From be212cedd84acc537bb699096940d2f38f2ed8bc Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 16 May 2022 15:54:24 -0600 Subject: [PATCH 001/115] POC - Start converting to monorepo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Completed work: * Copy a few modules to `packages/` * Upgrade Yarn to v3 * Add Yarn workspaces * Add Yarn constraints for `package.json` in root and package * Reconfigure TypeScript support new structure * Reconfigure Jest to support new structure Remaining work: * TypeDoc — it doesn't seem to support TypeScript project references, so we may have to generate docs for each package individually or figure out something else * ESLint — the `node` and `import` plugins are tripping up on imports which are aliases — we either need to disable the appropriate rules or get the plugins to recognize `tsconfig.json` appropriately --- .eslintrc.js | 11 + .gitignore | 94 +- .yarn/plugins/@yarnpkg/plugin-constraints.cjs | 52 + .../@yarnpkg/plugin-workspace-tools.cjs | 28 + .yarn/releases/yarn-3.2.1.cjs | 786 + .yarnrc | 1 - .yarnrc.yml | 16 + README.md | 297 +- contraints.pro | 59 + jest.config.js | 34 - jest.config.packages.ts | 209 + jest.config.ts | 10 + package.json | 93 +- packages/base-controller/CHANGELOG.md | 3 + packages/base-controller/README.md | 19 + packages/base-controller/jest.config.ts | 14 + packages/base-controller/package.json | 39 + .../src/BaseController.test.ts | 72 + .../base-controller/src/BaseController.ts | 183 + .../src/BaseControllerV2.test.ts | 801 + .../base-controller/src/BaseControllerV2.ts | 248 + .../src/ControllerMessenger.test.ts | 1099 ++ .../src/ControllerMessenger.ts | 627 + packages/base-controller/src/index.ts | 17 + packages/base-controller/tsconfig.build.json | 9 + packages/base-controller/tsconfig.json | 7 + packages/controller-utils/CHANGELOG.md | 3 + packages/controller-utils/README.md | 19 + packages/controller-utils/jest.config.ts | 14 + packages/controller-utils/package.json | 35 + packages/controller-utils/src/index.ts | 1 + packages/controller-utils/src/util.test.ts | 111 + packages/controller-utils/src/util.ts | 75 + packages/controller-utils/tsconfig.build.json | 10 + packages/controller-utils/tsconfig.json | 8 + packages/ens-controller/CHANGELOG.md | 3 + packages/ens-controller/README.md | 19 + packages/ens-controller/jest.config.ts | 22 + packages/ens-controller/package.json | 34 + .../ens-controller/src/EnsController.test.ts | 260 + packages/ens-controller/src/EnsController.ts | 166 + packages/ens-controller/src/index.ts | 1 + packages/ens-controller/tsconfig.build.json | 13 + packages/ens-controller/tsconfig.json | 11 + scripts/clean-build.sh | 3 + tsconfig.build.json | 15 +- tsconfig.json | 17 +- tsconfig.packages.build.json | 9 + tsconfig.packages.json | 16 + yarn.lock | 16197 ++++++++-------- 50 files changed, 12846 insertions(+), 9044 deletions(-) create mode 100644 .yarn/plugins/@yarnpkg/plugin-constraints.cjs create mode 100644 .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs create mode 100755 .yarn/releases/yarn-3.2.1.cjs delete mode 100644 .yarnrc create mode 100644 .yarnrc.yml create mode 100644 contraints.pro delete mode 100644 jest.config.js create mode 100644 jest.config.packages.ts create mode 100644 jest.config.ts create mode 100644 packages/base-controller/CHANGELOG.md create mode 100644 packages/base-controller/README.md create mode 100644 packages/base-controller/jest.config.ts create mode 100644 packages/base-controller/package.json create mode 100644 packages/base-controller/src/BaseController.test.ts create mode 100644 packages/base-controller/src/BaseController.ts create mode 100644 packages/base-controller/src/BaseControllerV2.test.ts create mode 100644 packages/base-controller/src/BaseControllerV2.ts create mode 100644 packages/base-controller/src/ControllerMessenger.test.ts create mode 100644 packages/base-controller/src/ControllerMessenger.ts create mode 100644 packages/base-controller/src/index.ts create mode 100644 packages/base-controller/tsconfig.build.json create mode 100644 packages/base-controller/tsconfig.json create mode 100644 packages/controller-utils/CHANGELOG.md create mode 100644 packages/controller-utils/README.md create mode 100644 packages/controller-utils/jest.config.ts create mode 100644 packages/controller-utils/package.json create mode 100644 packages/controller-utils/src/index.ts create mode 100644 packages/controller-utils/src/util.test.ts create mode 100644 packages/controller-utils/src/util.ts create mode 100644 packages/controller-utils/tsconfig.build.json create mode 100644 packages/controller-utils/tsconfig.json create mode 100644 packages/ens-controller/CHANGELOG.md create mode 100644 packages/ens-controller/README.md create mode 100644 packages/ens-controller/jest.config.ts create mode 100644 packages/ens-controller/package.json create mode 100644 packages/ens-controller/src/EnsController.test.ts create mode 100644 packages/ens-controller/src/EnsController.ts create mode 100644 packages/ens-controller/src/index.ts create mode 100644 packages/ens-controller/tsconfig.build.json create mode 100644 packages/ens-controller/tsconfig.json create mode 100755 scripts/clean-build.sh create mode 100644 tsconfig.packages.build.json create mode 100644 tsconfig.packages.json diff --git a/.eslintrc.js b/.eslintrc.js index 11892a73f5..3fdb79ef67 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -69,6 +69,17 @@ module.exports = { 'error', { matchDescription: '^[A-Z`\\d_][\\s\\S]*[.?!`>)}]$' }, ], + + // These options do not support our monorepo structure, which houses + // two levels of `package.json`'s instead of just one. + 'import/no-extraneous-import': 'off', + 'import/no-extraneous-dependencies': 'off', + 'node/no-extraneous-import': 'off', + 'node/no-extraneous-dependencies': 'off', + + // TODO: This isn't working for `jest.config.ts` (see first line). Look into + // why. + 'node/no-unpublished-import': 'off', }, settings: { 'import/resolver': { diff --git a/.gitignore b/.gitignore index 8c57c00a02..77cefdbd32 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,82 @@ -# node -npm-debug.log -yarn-error.log -npm-debug.log -yarn-error.log -node_modules -package-lock.json - -# tarball from `yarn pack` -*.tgz +.DS_Store +dist/ +coverage/ -# eslint cache -.eslintcache +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json -.DS_STORE +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Coverage directory used by tools like istanbul coverage -dist -docs +*.lcov + +# nyc test coverage +.nyc_output + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# ---- Additions/changes beyond the module template ---- + +# yarn v3 (w/o zero-install) +# See: +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions + +# Docs +docs/ diff --git a/.yarn/plugins/@yarnpkg/plugin-constraints.cjs b/.yarn/plugins/@yarnpkg/plugin-constraints.cjs new file mode 100644 index 0000000000..f3b0db0c02 --- /dev/null +++ b/.yarn/plugins/@yarnpkg/plugin-constraints.cjs @@ -0,0 +1,52 @@ +/* eslint-disable */ +//prettier-ignore +module.exports = { +name: "@yarnpkg/plugin-constraints", +factory: function (require) { +var plugin=(()=>{var Li=Object.create,Je=Object.defineProperty;var Hi=Object.getOwnPropertyDescriptor;var Gi=Object.getOwnPropertyNames;var Yi=Object.getPrototypeOf,Ui=Object.prototype.hasOwnProperty;var Zi=r=>Je(r,"__esModule",{value:!0});var I=(r,u)=>()=>(u||r((u={exports:{}}).exports,u),u.exports),Qi=(r,u)=>{for(var p in u)Je(r,p,{get:u[p],enumerable:!0})},Ji=(r,u,p)=>{if(u&&typeof u=="object"||typeof u=="function")for(let c of Gi(u))!Ui.call(r,c)&&c!=="default"&&Je(r,c,{get:()=>u[c],enumerable:!(p=Hi(u,c))||p.enumerable});return r},G=r=>Ji(Zi(Je(r!=null?Li(Yi(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);var Xr=I((Nu,_r)=>{var Ki;(function(r){var u=function(){return{"append/2":[new r.type.Rule(new r.type.Term("append",[new r.type.Var("X"),new r.type.Var("L")]),new r.type.Term("foldl",[new r.type.Term("append",[]),new r.type.Var("X"),new r.type.Term("[]",[]),new r.type.Var("L")]))],"append/3":[new r.type.Rule(new r.type.Term("append",[new r.type.Term("[]",[]),new r.type.Var("X"),new r.type.Var("X")]),null),new r.type.Rule(new r.type.Term("append",[new r.type.Term(".",[new r.type.Var("H"),new r.type.Var("T")]),new r.type.Var("X"),new r.type.Term(".",[new r.type.Var("H"),new r.type.Var("S")])]),new r.type.Term("append",[new r.type.Var("T"),new r.type.Var("X"),new r.type.Var("S")]))],"member/2":[new r.type.Rule(new r.type.Term("member",[new r.type.Var("X"),new r.type.Term(".",[new r.type.Var("X"),new r.type.Var("_")])]),null),new r.type.Rule(new r.type.Term("member",[new r.type.Var("X"),new r.type.Term(".",[new r.type.Var("_"),new r.type.Var("Xs")])]),new r.type.Term("member",[new r.type.Var("X"),new r.type.Var("Xs")]))],"permutation/2":[new r.type.Rule(new r.type.Term("permutation",[new r.type.Term("[]",[]),new r.type.Term("[]",[])]),null),new r.type.Rule(new r.type.Term("permutation",[new r.type.Term(".",[new r.type.Var("H"),new r.type.Var("T")]),new r.type.Var("S")]),new r.type.Term(",",[new r.type.Term("permutation",[new r.type.Var("T"),new r.type.Var("P")]),new r.type.Term(",",[new r.type.Term("append",[new r.type.Var("X"),new r.type.Var("Y"),new r.type.Var("P")]),new r.type.Term("append",[new r.type.Var("X"),new r.type.Term(".",[new r.type.Var("H"),new r.type.Var("Y")]),new r.type.Var("S")])])]))],"maplist/2":[new r.type.Rule(new r.type.Term("maplist",[new r.type.Var("_"),new r.type.Term("[]",[])]),null),new r.type.Rule(new r.type.Term("maplist",[new r.type.Var("P"),new r.type.Term(".",[new r.type.Var("X"),new r.type.Var("Xs")])]),new r.type.Term(",",[new r.type.Term("call",[new r.type.Var("P"),new r.type.Var("X")]),new r.type.Term("maplist",[new r.type.Var("P"),new r.type.Var("Xs")])]))],"maplist/3":[new r.type.Rule(new r.type.Term("maplist",[new r.type.Var("_"),new r.type.Term("[]",[]),new r.type.Term("[]",[])]),null),new r.type.Rule(new r.type.Term("maplist",[new r.type.Var("P"),new r.type.Term(".",[new r.type.Var("A"),new r.type.Var("As")]),new r.type.Term(".",[new r.type.Var("B"),new r.type.Var("Bs")])]),new r.type.Term(",",[new r.type.Term("call",[new r.type.Var("P"),new r.type.Var("A"),new r.type.Var("B")]),new r.type.Term("maplist",[new r.type.Var("P"),new r.type.Var("As"),new r.type.Var("Bs")])]))],"maplist/4":[new r.type.Rule(new r.type.Term("maplist",[new r.type.Var("_"),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[])]),null),new r.type.Rule(new r.type.Term("maplist",[new r.type.Var("P"),new r.type.Term(".",[new r.type.Var("A"),new r.type.Var("As")]),new r.type.Term(".",[new r.type.Var("B"),new r.type.Var("Bs")]),new r.type.Term(".",[new r.type.Var("C"),new r.type.Var("Cs")])]),new r.type.Term(",",[new r.type.Term("call",[new r.type.Var("P"),new r.type.Var("A"),new r.type.Var("B"),new r.type.Var("C")]),new r.type.Term("maplist",[new r.type.Var("P"),new r.type.Var("As"),new r.type.Var("Bs"),new r.type.Var("Cs")])]))],"maplist/5":[new r.type.Rule(new r.type.Term("maplist",[new r.type.Var("_"),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[])]),null),new r.type.Rule(new r.type.Term("maplist",[new r.type.Var("P"),new r.type.Term(".",[new r.type.Var("A"),new r.type.Var("As")]),new r.type.Term(".",[new r.type.Var("B"),new r.type.Var("Bs")]),new r.type.Term(".",[new r.type.Var("C"),new r.type.Var("Cs")]),new r.type.Term(".",[new r.type.Var("D"),new r.type.Var("Ds")])]),new r.type.Term(",",[new r.type.Term("call",[new r.type.Var("P"),new r.type.Var("A"),new r.type.Var("B"),new r.type.Var("C"),new r.type.Var("D")]),new r.type.Term("maplist",[new r.type.Var("P"),new r.type.Var("As"),new r.type.Var("Bs"),new r.type.Var("Cs"),new r.type.Var("Ds")])]))],"maplist/6":[new r.type.Rule(new r.type.Term("maplist",[new r.type.Var("_"),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[])]),null),new r.type.Rule(new r.type.Term("maplist",[new r.type.Var("P"),new r.type.Term(".",[new r.type.Var("A"),new r.type.Var("As")]),new r.type.Term(".",[new r.type.Var("B"),new r.type.Var("Bs")]),new r.type.Term(".",[new r.type.Var("C"),new r.type.Var("Cs")]),new r.type.Term(".",[new r.type.Var("D"),new r.type.Var("Ds")]),new r.type.Term(".",[new r.type.Var("E"),new r.type.Var("Es")])]),new r.type.Term(",",[new r.type.Term("call",[new r.type.Var("P"),new r.type.Var("A"),new r.type.Var("B"),new r.type.Var("C"),new r.type.Var("D"),new r.type.Var("E")]),new r.type.Term("maplist",[new r.type.Var("P"),new r.type.Var("As"),new r.type.Var("Bs"),new r.type.Var("Cs"),new r.type.Var("Ds"),new r.type.Var("Es")])]))],"maplist/7":[new r.type.Rule(new r.type.Term("maplist",[new r.type.Var("_"),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[])]),null),new r.type.Rule(new r.type.Term("maplist",[new r.type.Var("P"),new r.type.Term(".",[new r.type.Var("A"),new r.type.Var("As")]),new r.type.Term(".",[new r.type.Var("B"),new r.type.Var("Bs")]),new r.type.Term(".",[new r.type.Var("C"),new r.type.Var("Cs")]),new r.type.Term(".",[new r.type.Var("D"),new r.type.Var("Ds")]),new r.type.Term(".",[new r.type.Var("E"),new r.type.Var("Es")]),new r.type.Term(".",[new r.type.Var("F"),new r.type.Var("Fs")])]),new r.type.Term(",",[new r.type.Term("call",[new r.type.Var("P"),new r.type.Var("A"),new r.type.Var("B"),new r.type.Var("C"),new r.type.Var("D"),new r.type.Var("E"),new r.type.Var("F")]),new r.type.Term("maplist",[new r.type.Var("P"),new r.type.Var("As"),new r.type.Var("Bs"),new r.type.Var("Cs"),new r.type.Var("Ds"),new r.type.Var("Es"),new r.type.Var("Fs")])]))],"maplist/8":[new r.type.Rule(new r.type.Term("maplist",[new r.type.Var("_"),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[]),new r.type.Term("[]",[])]),null),new r.type.Rule(new r.type.Term("maplist",[new r.type.Var("P"),new r.type.Term(".",[new r.type.Var("A"),new r.type.Var("As")]),new r.type.Term(".",[new r.type.Var("B"),new r.type.Var("Bs")]),new r.type.Term(".",[new r.type.Var("C"),new r.type.Var("Cs")]),new r.type.Term(".",[new r.type.Var("D"),new r.type.Var("Ds")]),new r.type.Term(".",[new r.type.Var("E"),new r.type.Var("Es")]),new r.type.Term(".",[new r.type.Var("F"),new r.type.Var("Fs")]),new r.type.Term(".",[new r.type.Var("G"),new r.type.Var("Gs")])]),new r.type.Term(",",[new r.type.Term("call",[new r.type.Var("P"),new r.type.Var("A"),new r.type.Var("B"),new r.type.Var("C"),new r.type.Var("D"),new r.type.Var("E"),new r.type.Var("F"),new r.type.Var("G")]),new r.type.Term("maplist",[new r.type.Var("P"),new r.type.Var("As"),new r.type.Var("Bs"),new r.type.Var("Cs"),new r.type.Var("Ds"),new r.type.Var("Es"),new r.type.Var("Fs"),new r.type.Var("Gs")])]))],"include/3":[new r.type.Rule(new r.type.Term("include",[new r.type.Var("_"),new r.type.Term("[]",[]),new r.type.Term("[]",[])]),null),new r.type.Rule(new r.type.Term("include",[new r.type.Var("P"),new r.type.Term(".",[new r.type.Var("H"),new r.type.Var("T")]),new r.type.Var("L")]),new r.type.Term(",",[new r.type.Term("=..",[new r.type.Var("P"),new r.type.Var("A")]),new r.type.Term(",",[new r.type.Term("append",[new r.type.Var("A"),new r.type.Term(".",[new r.type.Var("H"),new r.type.Term("[]",[])]),new r.type.Var("B")]),new r.type.Term(",",[new r.type.Term("=..",[new r.type.Var("F"),new r.type.Var("B")]),new r.type.Term(",",[new r.type.Term(";",[new r.type.Term(",",[new r.type.Term("call",[new r.type.Var("F")]),new r.type.Term(",",[new r.type.Term("=",[new r.type.Var("L"),new r.type.Term(".",[new r.type.Var("H"),new r.type.Var("S")])]),new r.type.Term("!",[])])]),new r.type.Term("=",[new r.type.Var("L"),new r.type.Var("S")])]),new r.type.Term("include",[new r.type.Var("P"),new r.type.Var("T"),new r.type.Var("S")])])])])]))],"exclude/3":[new r.type.Rule(new r.type.Term("exclude",[new r.type.Var("_"),new r.type.Term("[]",[]),new r.type.Term("[]",[])]),null),new r.type.Rule(new r.type.Term("exclude",[new r.type.Var("P"),new r.type.Term(".",[new r.type.Var("H"),new r.type.Var("T")]),new r.type.Var("S")]),new r.type.Term(",",[new r.type.Term("exclude",[new r.type.Var("P"),new r.type.Var("T"),new r.type.Var("E")]),new r.type.Term(",",[new r.type.Term("=..",[new r.type.Var("P"),new r.type.Var("L")]),new r.type.Term(",",[new r.type.Term("append",[new r.type.Var("L"),new r.type.Term(".",[new r.type.Var("H"),new r.type.Term("[]",[])]),new r.type.Var("Q")]),new r.type.Term(",",[new r.type.Term("=..",[new r.type.Var("R"),new r.type.Var("Q")]),new r.type.Term(";",[new r.type.Term(",",[new r.type.Term("call",[new r.type.Var("R")]),new r.type.Term(",",[new r.type.Term("!",[]),new r.type.Term("=",[new r.type.Var("S"),new r.type.Var("E")])])]),new r.type.Term("=",[new r.type.Var("S"),new r.type.Term(".",[new r.type.Var("H"),new r.type.Var("E")])])])])])])]))],"foldl/4":[new r.type.Rule(new r.type.Term("foldl",[new r.type.Var("_"),new r.type.Term("[]",[]),new r.type.Var("I"),new r.type.Var("I")]),null),new r.type.Rule(new r.type.Term("foldl",[new r.type.Var("P"),new r.type.Term(".",[new r.type.Var("H"),new r.type.Var("T")]),new r.type.Var("I"),new r.type.Var("R")]),new r.type.Term(",",[new r.type.Term("=..",[new r.type.Var("P"),new r.type.Var("L")]),new r.type.Term(",",[new r.type.Term("append",[new r.type.Var("L"),new r.type.Term(".",[new r.type.Var("I"),new r.type.Term(".",[new r.type.Var("H"),new r.type.Term(".",[new r.type.Var("X"),new r.type.Term("[]",[])])])]),new r.type.Var("L2")]),new r.type.Term(",",[new r.type.Term("=..",[new r.type.Var("P2"),new r.type.Var("L2")]),new r.type.Term(",",[new r.type.Term("call",[new r.type.Var("P2")]),new r.type.Term("foldl",[new r.type.Var("P"),new r.type.Var("T"),new r.type.Var("X"),new r.type.Var("R")])])])])]))],"select/3":[new r.type.Rule(new r.type.Term("select",[new r.type.Var("E"),new r.type.Term(".",[new r.type.Var("E"),new r.type.Var("Xs")]),new r.type.Var("Xs")]),null),new r.type.Rule(new r.type.Term("select",[new r.type.Var("E"),new r.type.Term(".",[new r.type.Var("X"),new r.type.Var("Xs")]),new r.type.Term(".",[new r.type.Var("X"),new r.type.Var("Ys")])]),new r.type.Term("select",[new r.type.Var("E"),new r.type.Var("Xs"),new r.type.Var("Ys")]))],"sum_list/2":[new r.type.Rule(new r.type.Term("sum_list",[new r.type.Term("[]",[]),new r.type.Num(0,!1)]),null),new r.type.Rule(new r.type.Term("sum_list",[new r.type.Term(".",[new r.type.Var("X"),new r.type.Var("Xs")]),new r.type.Var("S")]),new r.type.Term(",",[new r.type.Term("sum_list",[new r.type.Var("Xs"),new r.type.Var("Y")]),new r.type.Term("is",[new r.type.Var("S"),new r.type.Term("+",[new r.type.Var("X"),new r.type.Var("Y")])])]))],"max_list/2":[new r.type.Rule(new r.type.Term("max_list",[new r.type.Term(".",[new r.type.Var("X"),new r.type.Term("[]",[])]),new r.type.Var("X")]),null),new r.type.Rule(new r.type.Term("max_list",[new r.type.Term(".",[new r.type.Var("X"),new r.type.Var("Xs")]),new r.type.Var("S")]),new r.type.Term(",",[new r.type.Term("max_list",[new r.type.Var("Xs"),new r.type.Var("Y")]),new r.type.Term(";",[new r.type.Term(",",[new r.type.Term(">=",[new r.type.Var("X"),new r.type.Var("Y")]),new r.type.Term(",",[new r.type.Term("=",[new r.type.Var("S"),new r.type.Var("X")]),new r.type.Term("!",[])])]),new r.type.Term("=",[new r.type.Var("S"),new r.type.Var("Y")])])]))],"min_list/2":[new r.type.Rule(new r.type.Term("min_list",[new r.type.Term(".",[new r.type.Var("X"),new r.type.Term("[]",[])]),new r.type.Var("X")]),null),new r.type.Rule(new r.type.Term("min_list",[new r.type.Term(".",[new r.type.Var("X"),new r.type.Var("Xs")]),new r.type.Var("S")]),new r.type.Term(",",[new r.type.Term("min_list",[new r.type.Var("Xs"),new r.type.Var("Y")]),new r.type.Term(";",[new r.type.Term(",",[new r.type.Term("=<",[new r.type.Var("X"),new r.type.Var("Y")]),new r.type.Term(",",[new r.type.Term("=",[new r.type.Var("S"),new r.type.Var("X")]),new r.type.Term("!",[])])]),new r.type.Term("=",[new r.type.Var("S"),new r.type.Var("Y")])])]))],"prod_list/2":[new r.type.Rule(new r.type.Term("prod_list",[new r.type.Term("[]",[]),new r.type.Num(1,!1)]),null),new r.type.Rule(new r.type.Term("prod_list",[new r.type.Term(".",[new r.type.Var("X"),new r.type.Var("Xs")]),new r.type.Var("S")]),new r.type.Term(",",[new r.type.Term("prod_list",[new r.type.Var("Xs"),new r.type.Var("Y")]),new r.type.Term("is",[new r.type.Var("S"),new r.type.Term("*",[new r.type.Var("X"),new r.type.Var("Y")])])]))],"last/2":[new r.type.Rule(new r.type.Term("last",[new r.type.Term(".",[new r.type.Var("X"),new r.type.Term("[]",[])]),new r.type.Var("X")]),null),new r.type.Rule(new r.type.Term("last",[new r.type.Term(".",[new r.type.Var("_"),new r.type.Var("Xs")]),new r.type.Var("X")]),new r.type.Term("last",[new r.type.Var("Xs"),new r.type.Var("X")]))],"prefix/2":[new r.type.Rule(new r.type.Term("prefix",[new r.type.Var("Part"),new r.type.Var("Whole")]),new r.type.Term("append",[new r.type.Var("Part"),new r.type.Var("_"),new r.type.Var("Whole")]))],"nth0/3":[new r.type.Rule(new r.type.Term("nth0",[new r.type.Var("X"),new r.type.Var("Y"),new r.type.Var("Z")]),new r.type.Term(";",[new r.type.Term("->",[new r.type.Term("var",[new r.type.Var("X")]),new r.type.Term("nth",[new r.type.Num(0,!1),new r.type.Var("X"),new r.type.Var("Y"),new r.type.Var("Z"),new r.type.Var("_")])]),new r.type.Term(",",[new r.type.Term(">=",[new r.type.Var("X"),new r.type.Num(0,!1)]),new r.type.Term(",",[new r.type.Term("nth",[new r.type.Num(0,!1),new r.type.Var("X"),new r.type.Var("Y"),new r.type.Var("Z"),new r.type.Var("_")]),new r.type.Term("!",[])])])]))],"nth1/3":[new r.type.Rule(new r.type.Term("nth1",[new r.type.Var("X"),new r.type.Var("Y"),new r.type.Var("Z")]),new r.type.Term(";",[new r.type.Term("->",[new r.type.Term("var",[new r.type.Var("X")]),new r.type.Term("nth",[new r.type.Num(1,!1),new r.type.Var("X"),new r.type.Var("Y"),new r.type.Var("Z"),new r.type.Var("_")])]),new r.type.Term(",",[new r.type.Term(">",[new r.type.Var("X"),new r.type.Num(0,!1)]),new r.type.Term(",",[new r.type.Term("nth",[new r.type.Num(1,!1),new r.type.Var("X"),new r.type.Var("Y"),new r.type.Var("Z"),new r.type.Var("_")]),new r.type.Term("!",[])])])]))],"nth0/4":[new r.type.Rule(new r.type.Term("nth0",[new r.type.Var("X"),new r.type.Var("Y"),new r.type.Var("Z"),new r.type.Var("W")]),new r.type.Term(";",[new r.type.Term("->",[new r.type.Term("var",[new r.type.Var("X")]),new r.type.Term("nth",[new r.type.Num(0,!1),new r.type.Var("X"),new r.type.Var("Y"),new r.type.Var("Z"),new r.type.Var("W")])]),new r.type.Term(",",[new r.type.Term(">=",[new r.type.Var("X"),new r.type.Num(0,!1)]),new r.type.Term(",",[new r.type.Term("nth",[new r.type.Num(0,!1),new r.type.Var("X"),new r.type.Var("Y"),new r.type.Var("Z"),new r.type.Var("W")]),new r.type.Term("!",[])])])]))],"nth1/4":[new r.type.Rule(new r.type.Term("nth1",[new r.type.Var("X"),new r.type.Var("Y"),new r.type.Var("Z"),new r.type.Var("W")]),new r.type.Term(";",[new r.type.Term("->",[new r.type.Term("var",[new r.type.Var("X")]),new r.type.Term("nth",[new r.type.Num(1,!1),new r.type.Var("X"),new r.type.Var("Y"),new r.type.Var("Z"),new r.type.Var("W")])]),new r.type.Term(",",[new r.type.Term(">",[new r.type.Var("X"),new r.type.Num(0,!1)]),new r.type.Term(",",[new r.type.Term("nth",[new r.type.Num(1,!1),new r.type.Var("X"),new r.type.Var("Y"),new r.type.Var("Z"),new r.type.Var("W")]),new r.type.Term("!",[])])])]))],"nth/5":[new r.type.Rule(new r.type.Term("nth",[new r.type.Var("N"),new r.type.Var("N"),new r.type.Term(".",[new r.type.Var("X"),new r.type.Var("Xs")]),new r.type.Var("X"),new r.type.Var("Xs")]),null),new r.type.Rule(new r.type.Term("nth",[new r.type.Var("N"),new r.type.Var("O"),new r.type.Term(".",[new r.type.Var("X"),new r.type.Var("Xs")]),new r.type.Var("Y"),new r.type.Term(".",[new r.type.Var("X"),new r.type.Var("Ys")])]),new r.type.Term(",",[new r.type.Term("is",[new r.type.Var("M"),new r.type.Term("+",[new r.type.Var("N"),new r.type.Num(1,!1)])]),new r.type.Term("nth",[new r.type.Var("M"),new r.type.Var("O"),new r.type.Var("Xs"),new r.type.Var("Y"),new r.type.Var("Ys")])]))],"length/2":function(c,w,_){var v=_.args[0],g=_.args[1];if(!r.type.is_variable(g)&&!r.type.is_integer(g))c.throw_error(r.error.type("integer",g,_.indicator));else if(r.type.is_integer(g)&&g.value<0)c.throw_error(r.error.domain("not_less_than_zero",g,_.indicator));else{var h=new r.type.Term("length",[v,new r.type.Num(0,!1),g]);r.type.is_integer(g)&&(h=new r.type.Term(",",[h,new r.type.Term("!",[])])),c.prepend([new r.type.State(w.goal.replace(h),w.substitution,w)])}},"length/3":[new r.type.Rule(new r.type.Term("length",[new r.type.Term("[]",[]),new r.type.Var("N"),new r.type.Var("N")]),null),new r.type.Rule(new r.type.Term("length",[new r.type.Term(".",[new r.type.Var("_"),new r.type.Var("X")]),new r.type.Var("A"),new r.type.Var("N")]),new r.type.Term(",",[new r.type.Term("succ",[new r.type.Var("A"),new r.type.Var("B")]),new r.type.Term("length",[new r.type.Var("X"),new r.type.Var("B"),new r.type.Var("N")])]))],"replicate/3":function(c,w,_){var v=_.args[0],g=_.args[1],h=_.args[2];if(r.type.is_variable(g))c.throw_error(r.error.instantiation(_.indicator));else if(!r.type.is_integer(g))c.throw_error(r.error.type("integer",g,_.indicator));else if(g.value<0)c.throw_error(r.error.domain("not_less_than_zero",g,_.indicator));else if(!r.type.is_variable(h)&&!r.type.is_list(h))c.throw_error(r.error.type("list",h,_.indicator));else{for(var x=new r.type.Term("[]"),T=0;T0;b--)T[b].equals(T[b-1])&&T.splice(b,1);for(var C=new r.type.Term("[]"),b=T.length-1;b>=0;b--)C=new r.type.Term(".",[T[b],C]);c.prepend([new r.type.State(w.goal.replace(new r.type.Term("=",[C,g])),w.substitution,w)])}}},"msort/2":function(c,w,_){var v=_.args[0],g=_.args[1];if(r.type.is_variable(v))c.throw_error(r.error.instantiation(_.indicator));else if(!r.type.is_variable(g)&&!r.type.is_fully_list(g))c.throw_error(r.error.type("list",g,_.indicator));else{for(var h=[],x=v;x.indicator==="./2";)h.push(x.args[0]),x=x.args[1];if(r.type.is_variable(x))c.throw_error(r.error.instantiation(_.indicator));else if(!r.type.is_empty_list(x))c.throw_error(r.error.type("list",v,_.indicator));else{for(var T=h.sort(r.compare),b=new r.type.Term("[]"),C=T.length-1;C>=0;C--)b=new r.type.Term(".",[T[C],b]);c.prepend([new r.type.State(w.goal.replace(new r.type.Term("=",[b,g])),w.substitution,w)])}}},"keysort/2":function(c,w,_){var v=_.args[0],g=_.args[1];if(r.type.is_variable(v))c.throw_error(r.error.instantiation(_.indicator));else if(!r.type.is_variable(g)&&!r.type.is_fully_list(g))c.throw_error(r.error.type("list",g,_.indicator));else{for(var h=[],x,T=v;T.indicator==="./2";){if(x=T.args[0],r.type.is_variable(x)){c.throw_error(r.error.instantiation(_.indicator));return}else if(!r.type.is_term(x)||x.indicator!=="-/2"){c.throw_error(r.error.type("pair",x,_.indicator));return}x.args[0].pair=x.args[1],h.push(x.args[0]),T=T.args[1]}if(r.type.is_variable(T))c.throw_error(r.error.instantiation(_.indicator));else if(!r.type.is_empty_list(T))c.throw_error(r.error.type("list",v,_.indicator));else{for(var b=h.sort(r.compare),C=new r.type.Term("[]"),N=b.length-1;N>=0;N--)C=new r.type.Term(".",[new r.type.Term("-",[b[N],b[N].pair]),C]),delete b[N].pair;c.prepend([new r.type.State(w.goal.replace(new r.type.Term("=",[C,g])),w.substitution,w)])}}},"take/3":function(c,w,_){var v=_.args[0],g=_.args[1],h=_.args[2];if(r.type.is_variable(g)||r.type.is_variable(v))c.throw_error(r.error.instantiation(_.indicator));else if(!r.type.is_list(g))c.throw_error(r.error.type("list",g,_.indicator));else if(!r.type.is_integer(v))c.throw_error(r.error.type("integer",v,_.indicator));else if(!r.type.is_variable(h)&&!r.type.is_list(h))c.throw_error(r.error.type("list",h,_.indicator));else{for(var x=v.value,T=[],b=g;x>0&&b.indicator==="./2";)T.push(b.args[0]),b=b.args[1],x--;if(x===0){for(var C=new r.type.Term("[]"),x=T.length-1;x>=0;x--)C=new r.type.Term(".",[T[x],C]);c.prepend([new r.type.State(w.goal.replace(new r.type.Term("=",[C,h])),w.substitution,w)])}}},"drop/3":function(c,w,_){var v=_.args[0],g=_.args[1],h=_.args[2];if(r.type.is_variable(g)||r.type.is_variable(v))c.throw_error(r.error.instantiation(_.indicator));else if(!r.type.is_list(g))c.throw_error(r.error.type("list",g,_.indicator));else if(!r.type.is_integer(v))c.throw_error(r.error.type("integer",v,_.indicator));else if(!r.type.is_variable(h)&&!r.type.is_list(h))c.throw_error(r.error.type("list",h,_.indicator));else{for(var x=v.value,T=[],b=g;x>0&&b.indicator==="./2";)T.push(b.args[0]),b=b.args[1],x--;x===0&&c.prepend([new r.type.State(w.goal.replace(new r.type.Term("=",[b,h])),w.substitution,w)])}},"reverse/2":function(c,w,_){var v=_.args[0],g=_.args[1],h=r.type.is_instantiated_list(v),x=r.type.is_instantiated_list(g);if(r.type.is_variable(v)&&r.type.is_variable(g))c.throw_error(r.error.instantiation(_.indicator));else if(!r.type.is_variable(v)&&!r.type.is_fully_list(v))c.throw_error(r.error.type("list",v,_.indicator));else if(!r.type.is_variable(g)&&!r.type.is_fully_list(g))c.throw_error(r.error.type("list",g,_.indicator));else if(!h&&!x)c.throw_error(r.error.instantiation(_.indicator));else{for(var T=h?v:g,b=new r.type.Term("[]",[]);T.indicator==="./2";)b=new r.type.Term(".",[T.args[0],b]),T=T.args[1];c.prepend([new r.type.State(w.goal.replace(new r.type.Term("=",[b,h?g:v])),w.substitution,w)])}},"list_to_set/2":function(c,w,_){var v=_.args[0],g=_.args[1];if(r.type.is_variable(v))c.throw_error(r.error.instantiation(_.indicator));else{for(var h=v,x=[];h.indicator==="./2";)x.push(h.args[0]),h=h.args[1];if(r.type.is_variable(h))c.throw_error(r.error.instantiation(_.indicator));else if(!r.type.is_term(h)||h.indicator!=="[]/0")c.throw_error(r.error.type("list",v,_.indicator));else{for(var T=[],b=new r.type.Term("[]",[]),C,N=0;N=0;N--)b=new r.type.Term(".",[T[N],b]);c.prepend([new r.type.State(w.goal.replace(new r.type.Term("=",[g,b])),w.substitution,w)])}}}}},p=["append/2","append/3","member/2","permutation/2","maplist/2","maplist/3","maplist/4","maplist/5","maplist/6","maplist/7","maplist/8","include/3","exclude/3","foldl/4","sum_list/2","max_list/2","min_list/2","prod_list/2","last/2","prefix/2","nth0/3","nth1/3","nth0/4","nth1/4","length/2","replicate/3","select/3","sort/2","msort/2","keysort/2","take/3","drop/3","reverse/2","list_to_set/2"];typeof _r!="undefined"?_r.exports=function(c){r=c,new r.type.Module("lists",u(),p)}:new r.type.Module("lists",u(),p)})(Ki)});var et=I(M=>{"use strict";var Ve=process.platform==="win32",wr="aes-256-cbc",ji="sha256",Br="The current environment doesn't support interactive reading from TTY.",z=require("fs"),Fr=process.binding("tty_wrap").TTY,gr=require("child_process"),_e=require("path"),dr={prompt:"> ",hideEchoBack:!1,mask:"*",limit:[],limitMessage:"Input another, please.$<( [)limit(])>",defaultInput:"",trueValue:[],falseValue:[],caseSensitive:!1,keepWhitespace:!1,encoding:"utf8",bufferSize:1024,print:void 0,history:!0,cd:!1,phContent:void 0,preCheck:void 0},fe="none",oe,Ce,zr=!1,we,Ke,vr,es=0,hr="",Se=[],je,Wr=!1,mr=!1,$e=!1;function Lr(r){function u(p){return p.replace(/[^\w\u0080-\uFFFF]/g,function(c){return"#"+c.charCodeAt(0)+";"})}return Ke.concat(function(p){var c=[];return Object.keys(p).forEach(function(w){p[w]==="boolean"?r[w]&&c.push("--"+w):p[w]==="string"&&r[w]&&c.push("--"+w,u(r[w]))}),c}({display:"string",displayOnly:"boolean",keyIn:"boolean",hideEchoBack:"boolean",mask:"string",limit:"string",caseSensitive:"boolean"}))}function rs(r,u){function p(j){var U,Ue="",Ze;for(vr=vr||require("os").tmpdir();;){U=_e.join(vr,j+Ue);try{Ze=z.openSync(U,"wx")}catch(Qe){if(Qe.code==="EEXIST"){Ue++;continue}else throw Qe}z.closeSync(Ze);break}return U}var c,w,_,v={},g,h,x=p("readline-sync.stdout"),T=p("readline-sync.stderr"),b=p("readline-sync.exit"),C=p("readline-sync.done"),N=require("crypto"),W,ee,te;W=N.createHash(ji),W.update(""+process.pid+es+++Math.random()),te=W.digest("hex"),ee=N.createDecipher(wr,te),c=Lr(r),Ve?(w=process.env.ComSpec||"cmd.exe",process.env.Q='"',_=["/V:ON","/S","/C","(%Q%"+w+"%Q% /V:ON /S /C %Q%%Q%"+we+"%Q%"+c.map(function(j){return" %Q%"+j+"%Q%"}).join("")+" & (echo !ERRORLEVEL!)>%Q%"+b+"%Q%%Q%) 2>%Q%"+T+"%Q% |%Q%"+process.execPath+"%Q% %Q%"+__dirname+"\\encrypt.js%Q% %Q%"+wr+"%Q% %Q%"+te+"%Q% >%Q%"+x+"%Q% & (echo 1)>%Q%"+C+"%Q%"]):(w="/bin/sh",_=["-c",'("'+we+'"'+c.map(function(j){return" '"+j.replace(/'/g,"'\\''")+"'"}).join("")+'; echo $?>"'+b+'") 2>"'+T+'" |"'+process.execPath+'" "'+__dirname+'/encrypt.js" "'+wr+'" "'+te+'" >"'+x+'"; echo 1 >"'+C+'"']),$e&&$e("_execFileSync",c);try{gr.spawn(w,_,u)}catch(j){v.error=new Error(j.message),v.error.method="_execFileSync - spawn",v.error.program=w,v.error.args=_}for(;z.readFileSync(C,{encoding:r.encoding}).trim()!=="1";);return(g=z.readFileSync(b,{encoding:r.encoding}).trim())==="0"?v.input=ee.update(z.readFileSync(x,{encoding:"binary"}),"hex",r.encoding)+ee.final(r.encoding):(h=z.readFileSync(T,{encoding:r.encoding}).trim(),v.error=new Error(Br+(h?` +`+h:"")),v.error.method="_execFileSync",v.error.program=w,v.error.args=_,v.error.extMessage=h,v.error.exitCode=+g),z.unlinkSync(x),z.unlinkSync(T),z.unlinkSync(b),z.unlinkSync(C),v}function ts(r){var u,p={},c,w={env:process.env,encoding:r.encoding};if(we||(Ve?process.env.PSModulePath?(we="powershell.exe",Ke=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(we="cscript.exe",Ke=["//nologo",__dirname+"\\read.cs.js"]):(we="/bin/sh",Ke=[__dirname+"/read.sh"])),Ve&&!process.env.PSModulePath&&(w.stdio=[process.stdin]),gr.execFileSync){u=Lr(r),$e&&$e("execFileSync",u);try{p.input=gr.execFileSync(we,u,w)}catch(_){c=_.stderr?(_.stderr+"").trim():"",p.error=new Error(Br+(c?` +`+c:"")),p.error.method="execFileSync",p.error.program=we,p.error.args=u,p.error.extMessage=c,p.error.exitCode=_.status,p.error.code=_.code,p.error.signal=_.signal}}else p=rs(r,w);return p.error||(p.input=p.input.replace(/^\s*'|'\s*$/g,""),r.display=""),p}function br(r){var u="",p=r.display,c=!r.display&&r.keyIn&&r.hideEchoBack&&!r.mask;function w(){var _=ts(r);if(_.error)throw _.error;return _.input}return mr&&mr(r),function(){var _,v,g;function h(){return _||(_=process.binding("fs"),v=process.binding("constants")),_}if(typeof fe=="string")if(fe=null,Ve){if(g=function(x){var T=x.replace(/^\D+/,"").split("."),b=0;return(T[0]=+T[0])&&(b+=T[0]*1e4),(T[1]=+T[1])&&(b+=T[1]*100),(T[2]=+T[2])&&(b+=T[2]),b}(process.version),!(g>=20302&&g<40204||g>=5e4&&g<50100||g>=50600&&g<60200)&&process.stdin.isTTY)process.stdin.pause(),fe=process.stdin.fd,Ce=process.stdin._handle;else try{fe=h().open("CONIN$",v.O_RDWR,parseInt("0666",8)),Ce=new Fr(fe,!0)}catch(x){}if(process.stdout.isTTY)oe=process.stdout.fd;else{try{oe=z.openSync("\\\\.\\CON","w")}catch(x){}if(typeof oe!="number")try{oe=h().open("CONOUT$",v.O_RDWR,parseInt("0666",8))}catch(x){}}}else{if(process.stdin.isTTY){process.stdin.pause();try{fe=z.openSync("/dev/tty","r"),Ce=process.stdin._handle}catch(x){}}else try{fe=z.openSync("/dev/tty","r"),Ce=new Fr(fe,!1)}catch(x){}if(process.stdout.isTTY)oe=process.stdout.fd;else try{oe=z.openSync("/dev/tty","w")}catch(x){}}}(),function(){var _,v,g=!r.hideEchoBack&&!r.keyIn,h,x,T,b,C;je="";function N(W){return W===zr?!0:Ce.setRawMode(W)!==0?!1:(zr=W,!0)}if(Wr||!Ce||typeof oe!="number"&&(r.display||!g)){u=w();return}if(r.display&&(z.writeSync(oe,r.display),r.display=""),!r.displayOnly){if(!N(!g)){u=w();return}for(x=r.keyIn?1:r.bufferSize,h=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(x):new Buffer(x),r.keyIn&&r.limit&&(v=new RegExp("[^"+r.limit+"]","g"+(r.caseSensitive?"":"i")));;){T=0;try{T=z.readSync(fe,h,0,x)}catch(W){if(W.code!=="EOF"){N(!1),u+=w();return}}if(T>0?(b=h.toString(r.encoding,0,T),je+=b):(b=` +`,je+=String.fromCharCode(0)),b&&typeof(C=(b.match(/^(.*?)[\r\n]/)||[])[1])=="string"&&(b=C,_=!0),b&&(b=b.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),b&&v&&(b=b.replace(v,"")),b&&(g||(r.hideEchoBack?r.mask&&z.writeSync(oe,new Array(b.length+1).join(r.mask)):z.writeSync(oe,b)),u+=b),!r.keyIn&&_||r.keyIn&&u.length>=x)break}!g&&!c&&z.writeSync(oe,` +`),N(!1)}}(),r.print&&!c&&r.print(p+(r.displayOnly?"":(r.hideEchoBack?new Array(u.length+1).join(r.mask):u)+` +`),r.encoding),r.displayOnly?"":hr=r.keepWhitespace||r.keyIn?u:u.trim()}function ns(r,u){var p=[];function c(w){w!=null&&(Array.isArray(w)?w.forEach(c):(!u||u(w))&&p.push(w))}return c(r),p}function Tr(r){return r.replace(/[\x00-\x7f]/g,function(u){return"\\x"+("00"+u.charCodeAt().toString(16)).substr(-2)})}function Z(){var r=Array.prototype.slice.call(arguments),u,p;return r.length&&typeof r[0]=="boolean"&&(p=r.shift(),p&&(u=Object.keys(dr),r.unshift(dr))),r.reduce(function(c,w){return w==null||(w.hasOwnProperty("noEchoBack")&&!w.hasOwnProperty("hideEchoBack")&&(w.hideEchoBack=w.noEchoBack,delete w.noEchoBack),w.hasOwnProperty("noTrim")&&!w.hasOwnProperty("keepWhitespace")&&(w.keepWhitespace=w.noTrim,delete w.noTrim),p||(u=Object.keys(w)),u.forEach(function(_){var v;if(!!w.hasOwnProperty(_))switch(v=w[_],_){case"mask":case"limitMessage":case"defaultInput":case"encoding":v=v!=null?v+"":"",v&&_!=="limitMessage"&&(v=v.replace(/[\r\n]/g,"")),c[_]=v;break;case"bufferSize":!isNaN(v=parseInt(v,10))&&typeof v=="number"&&(c[_]=v);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":c[_]=!!v;break;case"limit":case"trueValue":case"falseValue":c[_]=ns(v,function(g){var h=typeof g;return h==="string"||h==="number"||h==="function"||g instanceof RegExp}).map(function(g){return typeof g=="string"?g.replace(/[\r\n]/g,""):g});break;case"print":case"phContent":case"preCheck":c[_]=typeof v=="function"?v:void 0;break;case"prompt":case"display":c[_]=v!=null?v:"";break}})),c},{})}function xr(r,u,p){return u.some(function(c){var w=typeof c;return w==="string"?p?r===c:r.toLowerCase()===c.toLowerCase():w==="number"?parseFloat(r)===c:w==="function"?c(r):c instanceof RegExp?c.test(r):!1})}function Vr(r,u){var p=_e.normalize(Ve?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[\/\\]+$/,"");return r=_e.normalize(r),u?r.replace(/^~(?=\/|\\|$)/,p):r.replace(new RegExp("^"+Tr(p)+"(?=\\/|\\\\|$)",Ve?"i":""),"~")}function Oe(r,u){var p="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",c=new RegExp("(\\$)?(\\$<"+p+">)","g"),w=new RegExp("(\\$)?(\\$\\{"+p+"\\})","g");function _(v,g,h,x,T,b){var C;return g||typeof(C=u(T))!="string"?h:C?(x||"")+C+(b||""):""}return r.replace(c,_).replace(w,_)}function Hr(r,u,p){var c,w=[],_=-1,v=0,g="",h;function x(T,b){return b.length>3?(T.push(b[0]+"..."+b[b.length-1]),h=!0):b.length&&(T=T.concat(b)),T}return c=r.reduce(function(T,b){return T.concat((b+"").split(""))},[]).reduce(function(T,b){var C,N;return u||(b=b.toLowerCase()),C=/^\d$/.test(b)?1:/^[A-Z]$/.test(b)?2:/^[a-z]$/.test(b)?3:0,p&&C===0?g+=b:(N=b.charCodeAt(0),C&&C===_&&N===v+1?w.push(b):(T=x(T,w),w=[b],_=C),v=N),T},[]),c=x(c,w),g&&(c.push(g),h=!0),{values:c,suppressed:h}}function Gr(r,u){return r.join(r.length>2?", ":u?" / ":"/")}function Yr(r,u){var p,c,w={},_;if(u.phContent&&(p=u.phContent(r,u)),typeof p!="string")switch(r){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":p=u.hasOwnProperty(r)?typeof u[r]=="boolean"?u[r]?"on":"off":u[r]+"":"";break;case"limit":case"trueValue":case"falseValue":c=u[u.hasOwnProperty(r+"Src")?r+"Src":r],u.keyIn?(w=Hr(c,u.caseSensitive),c=w.values):c=c.filter(function(v){var g=typeof v;return g==="string"||g==="number"}),p=Gr(c,w.suppressed);break;case"limitCount":case"limitCountNotZero":p=u[u.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length,p=p||r!=="limitCountNotZero"?p+"":"";break;case"lastInput":p=hr;break;case"cwd":case"CWD":case"cwdHome":p=process.cwd(),r==="CWD"?p=_e.basename(p):r==="cwdHome"&&(p=Vr(p));break;case"date":case"time":case"localeDate":case"localeTime":p=new Date()["to"+r.replace(/^./,function(v){return v.toUpperCase()})+"String"]();break;default:typeof(_=(r.match(/^history_m(\d+)$/)||[])[1])=="string"&&(p=Se[Se.length-_]||"")}return p}function Ur(r){var u=/^(.)-(.)$/.exec(r),p="",c,w,_,v;if(!u)return null;for(c=u[1].charCodeAt(0),w=u[2].charCodeAt(0),v=c +And the length must be: $`,trueValue:null,falseValue:null,caseSensitive:!0},u,{history:!1,cd:!1,phContent:function(N){return N==="charlist"?p.text:N==="length"?c+"..."+w:null}}),v,g,h,x,T,b,C;for(u=u||{},v=Oe(u.charlist?u.charlist+"":"$",Ur),(isNaN(c=parseInt(u.min,10))||typeof c!="number")&&(c=12),(isNaN(w=parseInt(u.max,10))||typeof w!="number")&&(w=24),x=new RegExp("^["+Tr(v)+"]{"+c+","+w+"}$"),p=Hr([v],_.caseSensitive,!0),p.text=Gr(p.values,p.suppressed),g=u.confirmMessage!=null?u.confirmMessage:"Reinput a same one to confirm it: ",h=u.unmatchMessage!=null?u.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",r==null&&(r="Input new password: "),T=_.limitMessage;!C;)_.limit=x,_.limitMessage=T,b=M.question(r,_),_.limit=[b,""],_.limitMessage=h,C=M.question(g,_);return b};function Jr(r,u,p){var c;function w(_){return c=p(_),!isNaN(c)&&typeof c=="number"}return M.question(r,Z({limitMessage:"Input valid number, please."},u,{limit:w,cd:!1})),c}M.questionInt=function(r,u){return Jr(r,u,function(p){return parseInt(p,10)})};M.questionFloat=function(r,u){return Jr(r,u,parseFloat)};M.questionPath=function(r,u){var p,c="",w=Z({hideEchoBack:!1,limitMessage:`$Input valid path, please.$<( Min:)min>$<( Max:)max>`,history:!0,cd:!0},u,{keepWhitespace:!1,limit:function(_){var v,g,h;_=Vr(_,!0),c="";function x(T){T.split(/\/|\\/).reduce(function(b,C){var N=_e.resolve(b+=C+_e.sep);if(!z.existsSync(N))z.mkdirSync(N);else if(!z.statSync(N).isDirectory())throw new Error("Non directory already exists: "+N);return b},"")}try{if(v=z.existsSync(_),p=v?z.realpathSync(_):_e.resolve(_),!u.hasOwnProperty("exists")&&!v||typeof u.exists=="boolean"&&u.exists!==v)return c=(v?"Already exists":"No such file or directory")+": "+p,!1;if(!v&&u.create&&(u.isDirectory?x(p):(x(_e.dirname(p)),z.closeSync(z.openSync(p,"w"))),p=z.realpathSync(p)),v&&(u.min||u.max||u.isFile||u.isDirectory)){if(g=z.statSync(p),u.isFile&&!g.isFile())return c="Not file: "+p,!1;if(u.isDirectory&&!g.isDirectory())return c="Not directory: "+p,!1;if(u.min&&g.size<+u.min||u.max&&g.size>+u.max)return c="Size "+g.size+" is out of range: "+p,!1}if(typeof u.validate=="function"&&(h=u.validate(p))!==!0)return typeof h=="string"&&(c=h),!1}catch(T){return c=T+"",!1}return!0},phContent:function(_){return _==="error"?c:_!=="min"&&_!=="max"?null:u.hasOwnProperty(_)?u[_]+"":""}});return u=u||{},r==null&&(r='Input path (you can "cd" and "pwd"): '),M.question(r,w),p};function Kr(r,u){var p={},c={};return typeof r=="object"?(Object.keys(r).forEach(function(w){typeof r[w]=="function"&&(c[u.caseSensitive?w:w.toLowerCase()]=r[w])}),p.preCheck=function(w){var _;return p.args=Sr(w),_=p.args[0]||"",u.caseSensitive||(_=_.toLowerCase()),p.hRes=_!=="_"&&c.hasOwnProperty(_)?c[_].apply(w,p.args.slice(1)):c.hasOwnProperty("_")?c._.apply(w,p.args):null,{res:w,forceNext:!1}},c.hasOwnProperty("_")||(p.limit=function(){var w=p.args[0]||"";return u.caseSensitive||(w=w.toLowerCase()),c.hasOwnProperty(w)})):p.preCheck=function(w){return p.args=Sr(w),p.hRes=typeof r=="function"?r.apply(w,p.args):!0,{res:w,forceNext:!1}},p}M.promptCL=function(r,u){var p=Z({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},u),c=Kr(r,p);return p.limit=c.limit,p.preCheck=c.preCheck,M.prompt(p),c.args};M.promptLoop=function(r,u){for(var p=Z({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},u);!r(M.prompt(p)););};M.promptCLLoop=function(r,u){var p=Z({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},u),c=Kr(r,p);for(p.limit=c.limit,p.preCheck=c.preCheck;M.prompt(p),!c.hRes;);};M.promptSimShell=function(r){return M.prompt(Z({hideEchoBack:!1,history:!0},r,{prompt:function(){return Ve?"$>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$$ "}()}))};function jr(r,u,p){var c;return r==null&&(r="Are you sure? "),(!u||u.guide!==!1)&&(r+="")&&(r=r.replace(/\s*:?\s*$/,"")+" [y/n]: "),c=M.keyIn(r,Z(u,{hideEchoBack:!1,limit:p,trueValue:"y",falseValue:"n",caseSensitive:!1})),typeof c=="boolean"?c:""}M.keyInYN=function(r,u){return jr(r,u)};M.keyInYNStrict=function(r,u){return jr(r,u,"yn")};M.keyInPause=function(r,u){r==null&&(r="Continue..."),(!u||u.guide!==!1)&&(r+="")&&(r=r.replace(/\s+$/,"")+" (Hit any key)"),M.keyIn(r,Z({limit:null},u,{hideEchoBack:!0,mask:""}))};M.keyInSelect=function(r,u,p){var c=Z({hideEchoBack:!1},p,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(h){return h==="itemsCount"?r.length+"":h==="firstItem"?(r[0]+"").trim():h==="lastItem"?(r[r.length-1]+"").trim():null}}),w="",_={},v=49,g=` +`;if(!Array.isArray(r)||!r.length||r.length>35)throw"`items` must be Array (max length: 35).";return r.forEach(function(h,x){var T=String.fromCharCode(v);w+=T,_[T]=x,g+="["+T+"] "+(h+"").trim()+` +`,v=v===57?97:v+1}),(!p||p.cancel!==!1)&&(w+="0",_["0"]=-1,g+="[0] "+(p&&p.cancel!=null&&typeof p.cancel!="boolean"?(p.cancel+"").trim():"CANCEL")+` +`),c.limit=w,g+=` +`,u==null&&(u="Choose one from list: "),(u+="")&&((!p||p.guide!==!1)&&(u=u.replace(/\s*:?\s*$/,"")+" [$]: "),g+=u),_[M.keyIn(g,c).toLowerCase()]};M.getRawInput=function(){return je};function De(r,u){var p;return u.length&&(p={},p[r]=u[0]),M.setDefaultOptions(p)[r]}M.setPrint=function(){return De("print",arguments)};M.setPrompt=function(){return De("prompt",arguments)};M.setEncoding=function(){return De("encoding",arguments)};M.setMask=function(){return De("mask",arguments)};M.setBufferSize=function(){return De("bufferSize",arguments)}});var kr=I((Mu,ie)=>{(function(){var r={major:0,minor:2,patch:66,status:"beta"};tau_file_system={files:{},open:function(e,n,t){var s=tau_file_system.files[e];if(!s){if(t==="read")return null;s={path:e,text:"",type:n,get:function(a,l){return l===this.text.length||l>this.text.length?"end_of_file":this.text.substring(l,l+a)},put:function(a,l){return l==="end_of_file"?(this.text+=a,!0):l==="past_end_of_file"?null:(this.text=this.text.substring(0,l)+a+this.text.substring(l+a.length),!0)},get_byte:function(a){if(a==="end_of_stream")return-1;var l=Math.floor(a/2);if(this.text.length<=l)return-1;var f=_(this.text[Math.floor(a/2)],0);return a%2==0?f&255:f/256>>>0},put_byte:function(a,l){var f=l==="end_of_stream"?this.text.length:Math.floor(l/2);if(this.text.length>>0,y=(y&255)<<8|a&255):(y=y&255,y=(a&255)<<8|y&255),this.text.length===f?this.text+=v(y):this.text=this.text.substring(0,f)+v(y)+this.text.substring(f+1),!0},flush:function(){return!0},close:function(){var a=tau_file_system.files[this.path];return a?!0:null}},tau_file_system.files[e]=s}return t==="write"&&(s.text=""),s}},tau_user_input={buffer:"",get:function(e,n){for(var t;tau_user_input.buffer.length\?\@\^\~\\]+|'(?:[^']*?(?:\\(?:x?\d+)?\\)*(?:'')*(?:\\')*)*')/,number:/^(?:0o[0-7]+|0x[0-9a-fA-F]+|0b[01]+|0'(?:''|\\[abfnrtv\\'"`]|\\x?\d+\\|[^\\])|\d+(?:\.\d+(?:[eE][+-]?\d+)?)?)/,string:/^(?:"([^"]|""|\\")*"|`([^`]|``|\\`)*`)/,l_brace:/^(?:\[)/,r_brace:/^(?:\])/,l_bracket:/^(?:\{)/,r_bracket:/^(?:\})/,bar:/^(?:\|)/,l_paren:/^(?:\()/,r_paren:/^(?:\))/};function te(e,n){return e.get_flag("char_conversion").id==="on"?n.replace(/./g,function(t){return e.get_char_conversion(t)}):n}function j(e){this.thread=e,this.text="",this.tokens=[]}j.prototype.set_last_tokens=function(e){return this.tokens=e},j.prototype.new_text=function(e){this.text=e,this.tokens=[]},j.prototype.get_tokens=function(e){var n,t=0,s=0,a=0,l=[],f=!1;if(e){var y=this.tokens[e-1];t=y.len,n=te(this.thread,this.text.substr(y.len)),s=y.line,a=y.start}else n=this.text;if(/^\s*$/.test(n))return null;for(;n!=="";){var d=[],m=!1;if(/^\n/.exec(n)!==null){s++,a=0,t++,n=n.replace(/\n/,""),f=!0;continue}for(var S in ee)if(ee.hasOwnProperty(S)){var P=ee[S].exec(n);P&&d.push({value:P[0],name:S,matches:P})}if(!d.length)return this.set_last_tokens([{value:n,matches:[],name:"lexical",line:s,start:a}]);var y=p(d,function(B,q){return B.value.length>=q.value.length?B:q});switch(y.start=a,y.line=s,n=n.replace(y.value,""),a+=y.value.length,t+=y.value.length,y.name){case"atom":y.raw=y.value,y.value.charAt(0)==="'"&&(y.value=C(y.value.substr(1,y.value.length-2),"'"),y.value===null&&(y.name="lexical",y.value="unknown escape sequence"));break;case"number":y.float=y.value.substring(0,2)!=="0x"&&y.value.match(/[.eE]/)!==null&&y.value!=="0'.",y.value=W(y.value),y.blank=m;break;case"string":var A=y.value.charAt(0);y.value=C(y.value.substr(1,y.value.length-2),A),y.value===null&&(y.name="lexical",y.value="unknown escape sequence");break;case"whitespace":var R=l[l.length-1];R&&(R.space=!0),m=!0;continue;case"r_bracket":l.length>0&&l[l.length-1].name==="l_bracket"&&(y=l.pop(),y.name="atom",y.value="{}",y.raw="{}",y.space=!1);break;case"r_brace":l.length>0&&l[l.length-1].name==="l_brace"&&(y=l.pop(),y.name="atom",y.value="[]",y.raw="[]",y.space=!1);break}y.len=t,l.push(y),m=!1}var k=this.set_last_tokens(l);return k.length===0?null:k};function U(e,n,t,s,a){if(!n[t])return{type:g,value:i.error.syntax(n[t-1],"expression expected",!0)};var l;if(s==="0"){var f=n[t];switch(f.name){case"number":return{type:h,len:t+1,value:new i.type.Num(f.value,f.float)};case"variable":return{type:h,len:t+1,value:new i.type.Var(f.value)};case"string":var y;switch(e.get_flag("double_quotes").id){case"atom":y=new o(f.value,[]);break;case"codes":y=new o("[]",[]);for(var d=f.value.length-1;d>=0;d--)y=new o(".",[new i.type.Num(_(f.value,d),!1),y]);break;case"chars":y=new o("[]",[]);for(var d=f.value.length-1;d>=0;d--)y=new o(".",[new i.type.Term(f.value.charAt(d),[]),y]);break}return{type:h,len:t+1,value:y};case"l_paren":var k=U(e,n,t+1,e.__get_max_priority(),!0);return k.type!==h?k:n[k.len]&&n[k.len].name==="r_paren"?(k.len++,k):{type:g,derived:!0,value:i.error.syntax(n[k.len]?n[k.len]:n[k.len-1],") or operator expected",!n[k.len])};case"l_bracket":var k=U(e,n,t+1,e.__get_max_priority(),!0);return k.type!==h?k:n[k.len]&&n[k.len].name==="r_bracket"?(k.len++,k.value=new o("{}",[k.value]),k):{type:g,derived:!0,value:i.error.syntax(n[k.len]?n[k.len]:n[k.len-1],"} or operator expected",!n[k.len])}}var m=Ue(e,n,t,a);return m.type===h||m.derived||(m=Ze(e,n,t),m.type===h||m.derived)?m:{type:g,derived:!1,value:i.error.syntax(n[t],"unexpected token")}}var S=e.__get_max_priority(),P=e.__get_next_priority(s),A=t;if(n[t].name==="atom"&&n[t+1]&&(n[t].space||n[t+1].name!=="l_paren")){var f=n[t++],R=e.__lookup_operator_classes(s,f.value);if(R&&R.indexOf("fy")>-1){var k=U(e,n,t,s,a);if(k.type!==g)return f.value==="-"&&!f.space&&i.type.is_number(k.value)?{value:new i.type.Num(-k.value.value,k.value.is_float),len:k.len,type:h}:{value:new i.type.Term(f.value,[k.value]),len:k.len,type:h};l=k}else if(R&&R.indexOf("fx")>-1){var k=U(e,n,t,P,a);if(k.type!==g)return{value:new i.type.Term(f.value,[k.value]),len:k.len,type:h};l=k}}t=A;var k=U(e,n,t,P,a);if(k.type===h){t=k.len;var f=n[t];if(n[t]&&(n[t].name==="atom"&&e.__lookup_operator_classes(s,f.value)||n[t].name==="bar"&&e.__lookup_operator_classes(s,"|"))){var L=P,B=s,R=e.__lookup_operator_classes(s,f.value);if(R.indexOf("xf")>-1)return{value:new i.type.Term(f.value,[k.value]),len:++k.len,type:h};if(R.indexOf("xfx")>-1){var q=U(e,n,t+1,L,a);return q.type===h?{value:new i.type.Term(f.value,[k.value,q.value]),len:q.len,type:h}:(q.derived=!0,q)}else if(R.indexOf("xfy")>-1){var q=U(e,n,t+1,B,a);return q.type===h?{value:new i.type.Term(f.value,[k.value,q.value]),len:q.len,type:h}:(q.derived=!0,q)}else if(k.type!==g)for(;;){t=k.len;var f=n[t];if(f&&f.name==="atom"&&e.__lookup_operator_classes(s,f.value)){var R=e.__lookup_operator_classes(s,f.value);if(R.indexOf("yf")>-1)k={value:new i.type.Term(f.value,[k.value]),len:++t,type:h};else if(R.indexOf("yfx")>-1){var q=U(e,n,++t,L,a);if(q.type===g)return q.derived=!0,q;t=q.len,k={value:new i.type.Term(f.value,[k.value,q.value]),len:t,type:h}}else break}else break}}else l={type:g,value:i.error.syntax(n[k.len-1],"operator expected")};return k}return k}function Ue(e,n,t,s){if(!n[t]||n[t].name==="atom"&&n[t].raw==="."&&!s&&(n[t].space||!n[t+1]||n[t+1].name!=="l_paren"))return{type:g,derived:!1,value:i.error.syntax(n[t-1],"unfounded token")};var a=n[t],l=[];if(n[t].name==="atom"&&n[t].raw!==","){if(t++,n[t-1].space)return{type:h,len:t,value:new i.type.Term(a.value,l)};if(n[t]&&n[t].name==="l_paren"){if(n[t+1]&&n[t+1].name==="r_paren")return{type:g,derived:!0,value:i.error.syntax(n[t+1],"argument expected")};var f=U(e,n,++t,"999",!0);if(f.type===g)return f.derived?f:{type:g,derived:!0,value:i.error.syntax(n[t]?n[t]:n[t-1],"argument expected",!n[t])};for(l.push(f.value),t=f.len;n[t]&&n[t].name==="atom"&&n[t].value===",";){if(f=U(e,n,t+1,"999",!0),f.type===g)return f.derived?f:{type:g,derived:!0,value:i.error.syntax(n[t+1]?n[t+1]:n[t],"argument expected",!n[t+1])};l.push(f.value),t=f.len}if(n[t]&&n[t].name==="r_paren")t++;else return{type:g,derived:!0,value:i.error.syntax(n[t]?n[t]:n[t-1],", or ) expected",!n[t])}}return{type:h,len:t,value:new i.type.Term(a.value,l)}}return{type:g,derived:!1,value:i.error.syntax(n[t],"term expected")}}function Ze(e,n,t){if(!n[t])return{type:g,derived:!1,value:i.error.syntax(n[t-1],"[ expected")};if(n[t]&&n[t].name==="l_brace"){var s=U(e,n,++t,"999",!0),a=[s.value],l=void 0;if(s.type===g)return n[t]&&n[t].name==="r_brace"?{type:h,len:t+1,value:new i.type.Term("[]",[])}:{type:g,derived:!0,value:i.error.syntax(n[t],"] expected")};for(t=s.len;n[t]&&n[t].name==="atom"&&n[t].value===",";){if(s=U(e,n,t+1,"999",!0),s.type===g)return s.derived?s:{type:g,derived:!0,value:i.error.syntax(n[t+1]?n[t+1]:n[t],"argument expected",!n[t+1])};a.push(s.value),t=s.len}var f=!1;if(n[t]&&n[t].name==="bar"){if(f=!0,s=U(e,n,t+1,"999",!0),s.type===g)return s.derived?s:{type:g,derived:!0,value:i.error.syntax(n[t+1]?n[t+1]:n[t],"argument expected",!n[t+1])};l=s.value,t=s.len}return n[t]&&n[t].name==="r_brace"?{type:h,len:t+1,value:he(a,l)}:{type:g,derived:!0,value:i.error.syntax(n[t]?n[t]:n[t-1],f?"] expected":", or | or ] expected",!n[t])}}return{type:g,derived:!1,value:i.error.syntax(n[t],"list expected")}}function Qe(e,n,t){var s=n[t].line,a=U(e,n,t,e.__get_max_priority(),!1),l=null,f;if(a.type!==g)if(t=a.len,n[t]&&n[t].name==="atom"&&n[t].raw===".")if(t++,i.type.is_term(a.value)){if(a.value.indicator===":-/2"?(l=new i.type.Rule(a.value.args[0],ve(a.value.args[1])),f={value:l,len:t,type:h}):a.value.indicator==="-->/2"?(l=Bi(new i.type.Rule(a.value.args[0],a.value.args[1]),e),l.body=ve(l.body),f={value:l,len:t,type:i.type.is_rule(l)?h:g}):(l=new i.type.Rule(a.value,null),f={value:l,len:t,type:h}),l){var y=l.singleton_variables();y.length>0&&e.throw_warning(i.warning.singleton(y,l.head.indicator,s))}return f}else return{type:g,value:i.error.syntax(n[t],"callable expected")};else return{type:g,value:i.error.syntax(n[t]?n[t]:n[t-1],". or operator expected")};return a}function Di(e,n,t){t=t||{},t.from=t.from?t.from:"$tau-js",t.reconsult=t.reconsult!==void 0?t.reconsult:!0;var s=new j(e),a={},l;s.new_text(n);var f=0,y=s.get_tokens(f);do{if(y===null||!y[f])break;var d=Qe(e,y,f);if(d.type===g)return new o("throw",[d.value]);if(d.value.body===null&&d.value.head.indicator==="?-/1"){var m=new X(e.session);m.add_goal(d.value.head.args[0]),m.answer(function(P){i.type.is_error(P)?e.throw_warning(P.args[0]):(P===!1||P===null)&&e.throw_warning(i.warning.failed_goal(d.value.head.args[0],d.len))}),f=d.len;var S=!0}else if(d.value.body===null&&d.value.head.indicator===":-/1"){var S=e.run_directive(d.value.head.args[0]);f=d.len,d.value.head.args[0].indicator==="char_conversion/2"&&(y=s.get_tokens(f),f=0)}else{l=d.value.head.indicator,t.reconsult!==!1&&a[l]!==!0&&!e.is_multifile_predicate(l)&&(e.session.rules[l]=w(e.session.rules[l]||[],function(A){return A.dynamic}),a[l]=!0);var S=e.add_rule(d.value,t);f=d.len}if(!S)return S}while(!0);return!0}function Xi(e,n){var t=new j(e);t.new_text(n);var s=0;do{var a=t.get_tokens(s);if(a===null)break;var l=U(e,a,0,e.__get_max_priority(),!1);if(l.type!==g){var f=l.len,y=f;if(a[f]&&a[f].name==="atom"&&a[f].raw===".")e.add_goal(ve(l.value));else{var d=a[f];return new o("throw",[i.error.syntax(d||a[f-1],". or operator expected",!d)])}s=l.len+1}else return new o("throw",[l.value])}while(!0);return!0}function Bi(e,n){e=e.rename(n);var t=n.next_free_variable(),s=pr(e.body,t,n);return s.error?s.value:(e.body=s.value,e.head.args=e.head.args.concat([t,s.variable]),e.head=new o(e.head.id,e.head.args),e)}function pr(e,n,t){var s;if(i.type.is_term(e)&&e.indicator==="!/0")return{value:e,variable:n,error:!1};if(i.type.is_term(e)&&e.indicator===",/2"){var a=pr(e.args[0],n,t);if(a.error)return a;var l=pr(e.args[1],a.variable,t);return l.error?l:{value:new o(",",[a.value,l.value]),variable:l.variable,error:!1}}else{if(i.type.is_term(e)&&e.indicator==="{}/1")return{value:e.args[0],variable:n,error:!1};if(i.type.is_empty_list(e))return{value:new o("true",[]),variable:n,error:!1};if(i.type.is_list(e)){s=t.next_free_variable();for(var f=e,y;f.indicator==="./2";)y=f,f=f.args[1];return i.type.is_variable(f)?{value:i.error.instantiation("DCG"),variable:n,error:!0}:i.type.is_empty_list(f)?(y.args[1]=s,{value:new o("=",[n,e]),variable:s,error:!1}):{value:i.error.type("list",e,"DCG"),variable:n,error:!0}}else return i.type.is_callable(e)?(s=t.next_free_variable(),e.args=e.args.concat([n,s]),e=new o(e.id,e.args),{value:e,variable:s,error:!1}):{value:i.error.type("callable",e,"DCG"),variable:n,error:!0}}}function ve(e){return i.type.is_variable(e)?new o("call",[e]):i.type.is_term(e)&&[",/2",";/2","->/2"].indexOf(e.indicator)!==-1?new o(e.id,[ve(e.args[0]),ve(e.args[1])]):e}function he(e,n){for(var t=n||new i.type.Term("[]",[]),s=e.length-1;s>=0;s--)t=new i.type.Term(".",[e[s],t]);return t}function Fi(e,n){for(var t=e.length-1;t>=0;t--)e[t]===n&&e.splice(t,1)}function yr(e){for(var n={},t=[],s=0;s=0;n--)if(e.charAt(n)==="/")return new o("/",[new o(e.substring(0,n)),new E(parseInt(e.substring(n+1)),!1)])}function O(e){this.id=e}function E(e,n){this.is_float=n!==void 0?n:parseInt(e)!==e,this.value=this.is_float?e:parseInt(e)}var $r=0;function o(e,n,t){this.ref=t||++$r,this.id=e,this.args=n||[],this.indicator=e+"/"+this.args.length}var Wi=0;function ne(e,n,t,s,a,l){this.id=Wi++,this.stream=e,this.mode=n,this.alias=t,this.type=s!==void 0?s:"text",this.reposition=a!==void 0?a:!0,this.eof_action=l!==void 0?l:"eof_code",this.position=this.mode==="append"?"end_of_stream":0,this.output=this.mode==="write"||this.mode==="append",this.input=this.mode==="read"}function Y(e){e=e||{},this.links=e}function V(e,n,t){n=n||new Y,t=t||null,this.goal=e,this.substitution=n,this.parent=t}function Q(e,n,t){this.head=e,this.body=n,this.dynamic=t||!1}function D(e){e=e===void 0||e<=0?1e3:e,this.rules={},this.src_predicates={},this.rename=0,this.modules=[],this.thread=new X(this),this.total_threads=1,this.renamed_variables={},this.public_predicates={},this.multifile_predicates={},this.limit=e,this.streams={user_input:new ne(typeof ie!="undefined"&&ie.exports?nodejs_user_input:tau_user_input,"read","user_input","text",!1,"reset"),user_output:new ne(typeof ie!="undefined"&&ie.exports?nodejs_user_output:tau_user_output,"write","user_output","text",!1,"eof_code")},this.file_system=typeof ie!="undefined"&&ie.exports?nodejs_file_system:tau_file_system,this.standard_input=this.streams.user_input,this.standard_output=this.streams.user_output,this.current_input=this.streams.user_input,this.current_output=this.streams.user_output,this.format_success=function(n){return n.substitution},this.format_error=function(n){return n.goal},this.flag={bounded:i.flag.bounded.value,max_integer:i.flag.max_integer.value,min_integer:i.flag.min_integer.value,integer_rounding_function:i.flag.integer_rounding_function.value,char_conversion:i.flag.char_conversion.value,debug:i.flag.debug.value,max_arity:i.flag.max_arity.value,unknown:i.flag.unknown.value,double_quotes:i.flag.double_quotes.value,occurs_check:i.flag.occurs_check.value,dialect:i.flag.dialect.value,version_data:i.flag.version_data.value,nodejs:i.flag.nodejs.value},this.__loaded_modules=[],this.__char_conversion={},this.__operators={1200:{":-":["fx","xfx"],"-->":["xfx"],"?-":["fx"]},1100:{";":["xfy"]},1050:{"->":["xfy"]},1e3:{",":["xfy"]},900:{"\\+":["fy"]},700:{"=":["xfx"],"\\=":["xfx"],"==":["xfx"],"\\==":["xfx"],"@<":["xfx"],"@=<":["xfx"],"@>":["xfx"],"@>=":["xfx"],"=..":["xfx"],is:["xfx"],"=:=":["xfx"],"=\\=":["xfx"],"<":["xfx"],"=<":["xfx"],">":["xfx"],">=":["xfx"]},600:{":":["xfy"]},500:{"+":["yfx"],"-":["yfx"],"/\\":["yfx"],"\\/":["yfx"]},400:{"*":["yfx"],"/":["yfx"],"//":["yfx"],rem:["yfx"],mod:["yfx"],"<<":["yfx"],">>":["yfx"]},200:{"**":["xfx"],"^":["xfy"],"-":["fy"],"+":["fy"],"\\":["fy"]}}}function X(e){this.epoch=Date.now(),this.session=e,this.session.total_threads++,this.total_steps=0,this.cpu_time=0,this.cpu_time_last=0,this.points=[],this.debugger=!1,this.debugger_states=[],this.level="top_level/0",this.__calls=[],this.current_limit=this.session.limit,this.warnings=[]}function Dr(e,n,t){this.id=e,this.rules=n,this.exports=t,i.module[e]=this}Dr.prototype.exports_predicate=function(e){return this.exports.indexOf(e)!==-1},O.prototype.unify=function(e,n){if(n&&u(e.variables(),this.id)!==-1&&!i.type.is_variable(e))return null;var t={};return t[this.id]=e,new Y(t)},E.prototype.unify=function(e,n){return i.type.is_number(e)&&this.value===e.value&&this.is_float===e.is_float?new Y:null},o.prototype.unify=function(e,n){if(i.type.is_term(e)&&this.indicator===e.indicator){for(var t=new Y,s=0;s=0){var s=this.args[0].value,a=Math.floor(s/26),l=s%26;return"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[l]+(a!==0?a:"")}switch(this.indicator){case"[]/0":case"{}/0":case"!/0":return this.id;case"{}/1":return"{"+this.args[0].toString(e)+"}";case"./2":for(var f="["+this.args[0].toString(e),y=this.args[1];y.indicator==="./2";)f+=", "+y.args[0].toString(e),y=y.args[1];return y.indicator!=="[]/0"&&(f+="|"+y.toString(e)),f+="]",f;case",/2":return"("+this.args[0].toString(e)+", "+this.args[1].toString(e)+")";default:var d=this.id,m=e.session?e.session.lookup_operator(this.id,this.args.length):null;if(e.session===void 0||e.ignore_ops||m===null)return e.quoted&&!/^(!|,|;|[a-z][0-9a-zA-Z_]*)$/.test(d)&&d!=="{}"&&d!=="[]"&&(d="'"+N(d)+"'"),d+(this.args.length?"("+c(this.args,function(R){return R.toString(e)}).join(", ")+")":"");var S=m.priority>n.priority||m.priority===n.priority&&(m.class==="xfy"&&this.indicator!==n.indicator||m.class==="yfx"&&this.indicator!==n.indicator||this.indicator===n.indicator&&m.class==="yfx"&&t==="right"||this.indicator===n.indicator&&m.class==="xfy"&&t==="left");m.indicator=this.indicator;var P=S?"(":"",A=S?")":"";return this.args.length===0?"("+this.id+")":["fy","fx"].indexOf(m.class)!==-1?P+d+" "+this.args[0].toString(e,m)+A:["yf","xf"].indexOf(m.class)!==-1?P+this.args[0].toString(e,m)+" "+d+A:P+this.args[0].toString(e,m,"left")+" "+this.id+" "+this.args[1].toString(e,m,"right")+A}},ne.prototype.toString=function(e){return"("+this.id+")"},Y.prototype.toString=function(e){var n="{";for(var t in this.links)!this.links.hasOwnProperty(t)||(n!=="{"&&(n+=", "),n+=t+"/"+this.links[t].toString(e));return n+="}",n},V.prototype.toString=function(e){return this.goal===null?"<"+this.substitution.toString(e)+">":"<"+this.goal.toString(e)+", "+this.substitution.toString(e)+">"},Q.prototype.toString=function(e){return this.body?this.head.toString(e)+" :- "+this.body.toString(e)+".":this.head.toString(e)+"."},D.prototype.toString=function(e){for(var n="",t=0;t=0;a--)s=new o(".",[n[a],s]);return s}return new o(this.id,c(this.args,function(l){return l.apply(e)}),this.ref)},ne.prototype.apply=function(e){return this},Q.prototype.apply=function(e){return new Q(this.head.apply(e),this.body!==null?this.body.apply(e):null)},Y.prototype.apply=function(e){var n,t={};for(n in this.links)!this.links.hasOwnProperty(n)||(t[n]=this.links[n].apply(e));return new Y(t)},o.prototype.select=function(){for(var e=this;e.indicator===",/2";)e=e.args[0];return e},o.prototype.replace=function(e){return this.indicator===",/2"?this.args[0].indicator===",/2"?new o(",",[this.args[0].replace(e),this.args[1]]):e===null?this.args[1]:new o(",",[e,this.args[1]]):e},o.prototype.search=function(e){if(i.type.is_term(e)&&e.ref!==void 0&&this.ref===e.ref)return!0;for(var n=0;nn&&s0&&(n=this.head_point().substitution.domain());u(n,i.format_variable(this.session.rename))!==-1;)this.session.rename++;if(e.id==="_")return new O(i.format_variable(this.session.rename));this.session.renamed_variables[e.id]=i.format_variable(this.session.rename)}return new O(this.session.renamed_variables[e.id])},D.prototype.next_free_variable=function(){return this.thread.next_free_variable()},X.prototype.next_free_variable=function(){this.session.rename++;var e=[];for(this.points.length>0&&(e=this.head_point().substitution.domain());u(e,i.format_variable(this.session.rename))!==-1;)this.session.rename++;return new O(i.format_variable(this.session.rename))},D.prototype.is_public_predicate=function(e){return!this.public_predicates.hasOwnProperty(e)||this.public_predicates[e]===!0},X.prototype.is_public_predicate=function(e){return this.session.is_public_predicate(e)},D.prototype.is_multifile_predicate=function(e){return this.multifile_predicates.hasOwnProperty(e)&&this.multifile_predicates[e]===!0},X.prototype.is_multifile_predicate=function(e){return this.session.is_multifile_predicate(e)},D.prototype.prepend=function(e){return this.thread.prepend(e)},X.prototype.prepend=function(e){for(var n=e.length-1;n>=0;n--)this.points.push(e[n])},D.prototype.success=function(e,n){return this.thread.success(e,n)},X.prototype.success=function(e,n){var n=typeof n=="undefined"?e:n;this.prepend([new V(e.goal.replace(null),e.substitution,n)])},D.prototype.throw_error=function(e){return this.thread.throw_error(e)},X.prototype.throw_error=function(e){this.prepend([new V(new o("throw",[e]),new Y,null,null)])},D.prototype.step_rule=function(e,n){return this.thread.step_rule(e,n)},X.prototype.step_rule=function(e,n){var t=n.indicator;if(e==="user"&&(e=null),e===null&&this.session.rules.hasOwnProperty(t))return this.session.rules[t];for(var s=e===null?this.session.modules:u(this.session.modules,e)===-1?[]:[e],a=0;a1)&&this.again()},D.prototype.answers=function(e,n,t){return this.thread.answers(e,n,t)},X.prototype.answers=function(e,n,t){var s=n||1e3,a=this;if(n<=0){t&&t();return}this.answer(function(l){e(l),l!==!1?setTimeout(function(){a.answers(e,n-1,t)},1):t&&t()})},D.prototype.again=function(e){return this.thread.again(e)},X.prototype.again=function(e){for(var n,t=Date.now();this.__calls.length>0;){for(this.warnings=[],e!==!1&&(this.current_limit=this.session.limit);this.current_limit>0&&this.points.length>0&&this.head_point().goal!==null&&!i.type.is_error(this.head_point().goal);)if(this.current_limit--,this.step()===!0)return;var s=Date.now();this.cpu_time_last=s-t,this.cpu_time+=this.cpu_time_last;var a=this.__calls.shift();this.current_limit<=0?a(null):this.points.length===0?a(!1):i.type.is_error(this.head_point().goal)?(n=this.session.format_error(this.points.pop()),this.points=[],a(n)):(this.debugger&&this.debugger_states.push(this.head_point()),n=this.session.format_success(this.points.pop()),a(n))}},D.prototype.unfold=function(e){if(e.body===null)return!1;var n=e.head,t=e.body,s=t.select(),a=new X(this),l=[];a.add_goal(s),a.step();for(var f=a.points.length-1;f>=0;f--){var y=a.points[f],d=n.apply(y.substitution),m=t.replace(y.goal);m!==null&&(m=m.apply(y.substitution)),l.push(new Q(d,m))}var S=this.rules[n.indicator],P=u(S,e);return l.length>0&&P!==-1?(S.splice.apply(S,[P,1].concat(l)),!0):!1},X.prototype.unfold=function(e){return this.session.unfold(e)},O.prototype.interpret=function(e){return i.error.instantiation(e.level)},E.prototype.interpret=function(e){return this},o.prototype.interpret=function(e){return i.type.is_unitary_list(this)?this.args[0].interpret(e):i.operate(e,this)},O.prototype.compare=function(e){return this.ide.id?1:0},E.prototype.compare=function(e){if(this.value===e.value&&this.is_float===e.is_float)return 0;if(this.valuee.value)return 1},o.prototype.compare=function(e){if(this.args.lengthe.args.length||this.args.length===e.args.length&&this.id>e.id)return 1;for(var n=0;ns)return 1;if(e.constructor===E){if(e.is_float&&n.is_float)return 0;if(e.is_float)return-1;if(n.is_float)return 1}return 0},is_substitution:function(e){return e instanceof Y},is_state:function(e){return e instanceof V},is_rule:function(e){return e instanceof Q},is_variable:function(e){return e instanceof O},is_stream:function(e){return e instanceof ne},is_anonymous_var:function(e){return e instanceof O&&e.id==="_"},is_callable:function(e){return e instanceof o},is_number:function(e){return e instanceof E},is_integer:function(e){return e instanceof E&&!e.is_float},is_float:function(e){return e instanceof E&&e.is_float},is_term:function(e){return e instanceof o},is_atom:function(e){return e instanceof o&&e.args.length===0},is_ground:function(e){if(e instanceof O)return!1;if(e instanceof o){for(var n=0;n0},is_list:function(e){return e instanceof o&&(e.indicator==="[]/0"||e.indicator==="./2")},is_empty_list:function(e){return e instanceof o&&e.indicator==="[]/0"},is_non_empty_list:function(e){return e instanceof o&&e.indicator==="./2"},is_fully_list:function(e){for(;e instanceof o&&e.indicator==="./2";)e=e.args[1];return e instanceof O||e instanceof o&&e.indicator==="[]/0"},is_instantiated_list:function(e){for(;e instanceof o&&e.indicator==="./2";)e=e.args[1];return e instanceof o&&e.indicator==="[]/0"},is_unitary_list:function(e){return e instanceof o&&e.indicator==="./2"&&e.args[1]instanceof o&&e.args[1].indicator==="[]/0"},is_character:function(e){return e instanceof o&&(e.id.length===1||e.id.length>0&&e.id.length<=2&&_(e.id,0)>=65536)},is_character_code:function(e){return e instanceof E&&!e.is_float&&e.value>=0&&e.value<=1114111},is_byte:function(e){return e instanceof E&&!e.is_float&&e.value>=0&&e.value<=255},is_operator:function(e){return e instanceof o&&i.arithmetic.evaluation[e.indicator]},is_directive:function(e){return e instanceof o&&i.directive[e.indicator]!==void 0},is_builtin:function(e){return e instanceof o&&i.predicate[e.indicator]!==void 0},is_error:function(e){return e instanceof o&&e.indicator==="throw/1"},is_predicate_indicator:function(e){return e instanceof o&&e.indicator==="//2"&&e.args[0]instanceof o&&e.args[0].args.length===0&&e.args[1]instanceof E&&e.args[1].is_float===!1},is_flag:function(e){return e instanceof o&&e.args.length===0&&i.flag[e.id]!==void 0},is_value_flag:function(e,n){if(!i.type.is_flag(e))return!1;for(var t in i.flag[e.id].allowed)if(!!i.flag[e.id].allowed.hasOwnProperty(t)&&i.flag[e.id].allowed[t].equals(n))return!0;return!1},is_io_mode:function(e){return i.type.is_atom(e)&&["read","write","append"].indexOf(e.id)!==-1},is_stream_option:function(e){return i.type.is_term(e)&&(e.indicator==="alias/1"&&i.type.is_atom(e.args[0])||e.indicator==="reposition/1"&&i.type.is_atom(e.args[0])&&(e.args[0].id==="true"||e.args[0].id==="false")||e.indicator==="type/1"&&i.type.is_atom(e.args[0])&&(e.args[0].id==="text"||e.args[0].id==="binary")||e.indicator==="eof_action/1"&&i.type.is_atom(e.args[0])&&(e.args[0].id==="error"||e.args[0].id==="eof_code"||e.args[0].id==="reset"))},is_stream_position:function(e){return i.type.is_integer(e)&&e.value>=0||i.type.is_atom(e)&&(e.id==="end_of_stream"||e.id==="past_end_of_stream")},is_stream_property:function(e){return i.type.is_term(e)&&(e.indicator==="input/0"||e.indicator==="output/0"||e.indicator==="alias/1"&&(i.type.is_variable(e.args[0])||i.type.is_atom(e.args[0]))||e.indicator==="file_name/1"&&(i.type.is_variable(e.args[0])||i.type.is_atom(e.args[0]))||e.indicator==="position/1"&&(i.type.is_variable(e.args[0])||i.type.is_stream_position(e.args[0]))||e.indicator==="reposition/1"&&(i.type.is_variable(e.args[0])||i.type.is_atom(e.args[0])&&(e.args[0].id==="true"||e.args[0].id==="false"))||e.indicator==="type/1"&&(i.type.is_variable(e.args[0])||i.type.is_atom(e.args[0])&&(e.args[0].id==="text"||e.args[0].id==="binary"))||e.indicator==="mode/1"&&(i.type.is_variable(e.args[0])||i.type.is_atom(e.args[0])&&(e.args[0].id==="read"||e.args[0].id==="write"||e.args[0].id==="append"))||e.indicator==="eof_action/1"&&(i.type.is_variable(e.args[0])||i.type.is_atom(e.args[0])&&(e.args[0].id==="error"||e.args[0].id==="eof_code"||e.args[0].id==="reset"))||e.indicator==="end_of_stream/1"&&(i.type.is_variable(e.args[0])||i.type.is_atom(e.args[0])&&(e.args[0].id==="at"||e.args[0].id==="past"||e.args[0].id==="not")))},is_streamable:function(e){return e.__proto__.stream!==void 0},is_read_option:function(e){return i.type.is_term(e)&&["variables/1","variable_names/1","singletons/1"].indexOf(e.indicator)!==-1},is_write_option:function(e){return i.type.is_term(e)&&(e.indicator==="quoted/1"&&i.type.is_atom(e.args[0])&&(e.args[0].id==="true"||e.args[0].id==="false")||e.indicator==="ignore_ops/1"&&i.type.is_atom(e.args[0])&&(e.args[0].id==="true"||e.args[0].id==="false")||e.indicator==="numbervars/1"&&i.type.is_atom(e.args[0])&&(e.args[0].id==="true"||e.args[0].id==="false"))},is_close_option:function(e){return i.type.is_term(e)&&e.indicator==="force/1"&&i.type.is_atom(e.args[0])&&(e.args[0].id==="true"||e.args[0].id==="false")},is_modifiable_flag:function(e){return i.type.is_flag(e)&&i.flag[e.id].changeable},is_module:function(e){return e instanceof o&&e.indicator==="library/1"&&e.args[0]instanceof o&&e.args[0].args.length===0&&i.module[e.args[0].id]!==void 0}},arithmetic:{evaluation:{"e/0":{type_args:null,type_result:!0,fn:function(e){return Math.E}},"pi/0":{type_args:null,type_result:!0,fn:function(e){return Math.PI}},"tau/0":{type_args:null,type_result:!0,fn:function(e){return 2*Math.PI}},"epsilon/0":{type_args:null,type_result:!0,fn:function(e){return Number.EPSILON}},"+/1":{type_args:null,type_result:null,fn:function(e,n){return e}},"-/1":{type_args:null,type_result:null,fn:function(e,n){return-e}},"\\/1":{type_args:!1,type_result:!1,fn:function(e,n){return~e}},"abs/1":{type_args:null,type_result:null,fn:function(e,n){return Math.abs(e)}},"sign/1":{type_args:null,type_result:null,fn:function(e,n){return Math.sign(e)}},"float_integer_part/1":{type_args:!0,type_result:!1,fn:function(e,n){return parseInt(e)}},"float_fractional_part/1":{type_args:!0,type_result:!0,fn:function(e,n){return e-parseInt(e)}},"float/1":{type_args:null,type_result:!0,fn:function(e,n){return parseFloat(e)}},"floor/1":{type_args:!0,type_result:!1,fn:function(e,n){return Math.floor(e)}},"truncate/1":{type_args:!0,type_result:!1,fn:function(e,n){return parseInt(e)}},"round/1":{type_args:!0,type_result:!1,fn:function(e,n){return Math.round(e)}},"ceiling/1":{type_args:!0,type_result:!1,fn:function(e,n){return Math.ceil(e)}},"sin/1":{type_args:null,type_result:!0,fn:function(e,n){return Math.sin(e)}},"cos/1":{type_args:null,type_result:!0,fn:function(e,n){return Math.cos(e)}},"tan/1":{type_args:null,type_result:!0,fn:function(e,n){return Math.tan(e)}},"asin/1":{type_args:null,type_result:!0,fn:function(e,n){return Math.asin(e)}},"acos/1":{type_args:null,type_result:!0,fn:function(e,n){return Math.acos(e)}},"atan/1":{type_args:null,type_result:!0,fn:function(e,n){return Math.atan(e)}},"atan2/2":{type_args:null,type_result:!0,fn:function(e,n,t){return Math.atan2(e,n)}},"exp/1":{type_args:null,type_result:!0,fn:function(e,n){return Math.exp(e)}},"sqrt/1":{type_args:null,type_result:!0,fn:function(e,n){return Math.sqrt(e)}},"log/1":{type_args:null,type_result:!0,fn:function(e,n){return e>0?Math.log(e):i.error.evaluation("undefined",n.__call_indicator)}},"+/2":{type_args:null,type_result:null,fn:function(e,n,t){return e+n}},"-/2":{type_args:null,type_result:null,fn:function(e,n,t){return e-n}},"*/2":{type_args:null,type_result:null,fn:function(e,n,t){return e*n}},"//2":{type_args:null,type_result:!0,fn:function(e,n,t){return n?e/n:i.error.evaluation("zero_division",t.__call_indicator)}},"///2":{type_args:!1,type_result:!1,fn:function(e,n,t){return n?parseInt(e/n):i.error.evaluation("zero_division",t.__call_indicator)}},"**/2":{type_args:null,type_result:!0,fn:function(e,n,t){return Math.pow(e,n)}},"^/2":{type_args:null,type_result:null,fn:function(e,n,t){return Math.pow(e,n)}},"<>/2":{type_args:!1,type_result:!1,fn:function(e,n,t){return e>>n}},"/\\/2":{type_args:!1,type_result:!1,fn:function(e,n,t){return e&n}},"\\//2":{type_args:!1,type_result:!1,fn:function(e,n,t){return e|n}},"xor/2":{type_args:!1,type_result:!1,fn:function(e,n,t){return e^n}},"rem/2":{type_args:!1,type_result:!1,fn:function(e,n,t){return n?e%n:i.error.evaluation("zero_division",t.__call_indicator)}},"mod/2":{type_args:!1,type_result:!1,fn:function(e,n,t){return n?e-parseInt(e/n)*n:i.error.evaluation("zero_division",t.__call_indicator)}},"max/2":{type_args:null,type_result:null,fn:function(e,n,t){return Math.max(e,n)}},"min/2":{type_args:null,type_result:null,fn:function(e,n,t){return Math.min(e,n)}}}},directive:{"dynamic/1":function(e,n){var t=n.args[0];if(i.type.is_variable(t))e.throw_error(i.error.instantiation(n.indicator));else if(!i.type.is_compound(t)||t.indicator!=="//2")e.throw_error(i.error.type("predicate_indicator",t,n.indicator));else if(i.type.is_variable(t.args[0])||i.type.is_variable(t.args[1]))e.throw_error(i.error.instantiation(n.indicator));else if(!i.type.is_atom(t.args[0]))e.throw_error(i.error.type("atom",t.args[0],n.indicator));else if(!i.type.is_integer(t.args[1]))e.throw_error(i.error.type("integer",t.args[1],n.indicator));else{var s=n.args[0].args[0].id+"/"+n.args[0].args[1].value;e.session.public_predicates[s]=!0,e.session.rules[s]||(e.session.rules[s]=[])}},"multifile/1":function(e,n){var t=n.args[0];i.type.is_variable(t)?e.throw_error(i.error.instantiation(n.indicator)):!i.type.is_compound(t)||t.indicator!=="//2"?e.throw_error(i.error.type("predicate_indicator",t,n.indicator)):i.type.is_variable(t.args[0])||i.type.is_variable(t.args[1])?e.throw_error(i.error.instantiation(n.indicator)):i.type.is_atom(t.args[0])?i.type.is_integer(t.args[1])?e.session.multifile_predicates[n.args[0].args[0].id+"/"+n.args[0].args[1].value]=!0:e.throw_error(i.error.type("integer",t.args[1],n.indicator)):e.throw_error(i.error.type("atom",t.args[0],n.indicator))},"set_prolog_flag/2":function(e,n){var t=n.args[0],s=n.args[1];i.type.is_variable(t)||i.type.is_variable(s)?e.throw_error(i.error.instantiation(n.indicator)):i.type.is_atom(t)?i.type.is_flag(t)?i.type.is_value_flag(t,s)?i.type.is_modifiable_flag(t)?e.session.flag[t.id]=s:e.throw_error(i.error.permission("modify","flag",t)):e.throw_error(i.error.domain("flag_value",new o("+",[t,s]),n.indicator)):e.throw_error(i.error.domain("prolog_flag",t,n.indicator)):e.throw_error(i.error.type("atom",t,n.indicator))},"use_module/1":function(e,n){var t=n.args[0];if(i.type.is_variable(t))e.throw_error(i.error.instantiation(n.indicator));else if(!i.type.is_term(t))e.throw_error(i.error.type("term",t,n.indicator));else if(i.type.is_module(t)){var s=t.args[0].id;u(e.session.modules,s)===-1&&e.session.modules.push(s)}},"char_conversion/2":function(e,n){var t=n.args[0],s=n.args[1];i.type.is_variable(t)||i.type.is_variable(s)?e.throw_error(i.error.instantiation(n.indicator)):i.type.is_character(t)?i.type.is_character(s)?t.id===s.id?delete e.session.__char_conversion[t.id]:e.session.__char_conversion[t.id]=s.id:e.throw_error(i.error.type("character",s,n.indicator)):e.throw_error(i.error.type("character",t,n.indicator))},"op/3":function(e,n){var t=n.args[0],s=n.args[1],a=n.args[2];if(i.type.is_variable(t)||i.type.is_variable(s)||i.type.is_variable(a))e.throw_error(i.error.instantiation(n.indicator));else if(!i.type.is_integer(t))e.throw_error(i.error.type("integer",t,n.indicator));else if(!i.type.is_atom(s))e.throw_error(i.error.type("atom",s,n.indicator));else if(!i.type.is_atom(a))e.throw_error(i.error.type("atom",a,n.indicator));else if(t.value<0||t.value>1200)e.throw_error(i.error.domain("operator_priority",t,n.indicator));else if(a.id===",")e.throw_error(i.error.permission("modify","operator",a,n.indicator));else if(a.id==="|"&&(t.value<1001||s.id.length!==3))e.throw_error(i.error.permission("modify","operator",a,n.indicator));else if(["fy","fx","yf","xf","xfx","yfx","xfy"].indexOf(s.id)===-1)e.throw_error(i.error.domain("operator_specifier",s,n.indicator));else{var l={prefix:null,infix:null,postfix:null};for(var f in e.session.__operators)if(!!e.session.__operators.hasOwnProperty(f)){var y=e.session.__operators[f][a.id];y&&(u(y,"fx")!==-1&&(l.prefix={priority:f,type:"fx"}),u(y,"fy")!==-1&&(l.prefix={priority:f,type:"fy"}),u(y,"xf")!==-1&&(l.postfix={priority:f,type:"xf"}),u(y,"yf")!==-1&&(l.postfix={priority:f,type:"yf"}),u(y,"xfx")!==-1&&(l.infix={priority:f,type:"xfx"}),u(y,"xfy")!==-1&&(l.infix={priority:f,type:"xfy"}),u(y,"yfx")!==-1&&(l.infix={priority:f,type:"yfx"}))}var d;switch(s.id){case"fy":case"fx":d="prefix";break;case"yf":case"xf":d="postfix";break;default:d="infix";break}if(((l.prefix&&d==="prefix"||l.postfix&&d==="postfix"||l.infix&&d==="infix")&&l[d].type!==s.id||l.infix&&d==="postfix"||l.postfix&&d==="infix")&&t.value!==0)e.throw_error(i.error.permission("create","operator",a,n.indicator));else return l[d]&&(Fi(e.session.__operators[l[d].priority][a.id],s.id),e.session.__operators[l[d].priority][a.id].length===0&&delete e.session.__operators[l[d].priority][a.id]),t.value>0&&(e.session.__operators[t.value]||(e.session.__operators[t.value.toString()]={}),e.session.__operators[t.value][a.id]||(e.session.__operators[t.value][a.id]=[]),e.session.__operators[t.value][a.id].push(s.id)),!0}}},predicate:{"op/3":function(e,n,t){i.directive["op/3"](e,t)&&e.success(n)},"current_op/3":function(e,n,t){var s=t.args[0],a=t.args[1],l=t.args[2],f=[];for(var y in e.session.__operators)for(var d in e.session.__operators[y])for(var m=0;m/2"){var s=e.points,a=e.session.format_success,l=e.session.format_error;e.session.format_success=function(m){return m.substitution},e.session.format_error=function(m){return m.goal},e.points=[new V(t.args[0].args[0],n.substitution,n)];var f=function(m){e.points=s,e.session.format_success=a,e.session.format_error=l,m===!1?e.prepend([new V(n.goal.replace(t.args[1]),n.substitution,n)]):i.type.is_error(m)?e.throw_error(m.args[0]):m===null?(e.prepend([n]),e.__calls.shift()(null)):e.prepend([new V(n.goal.replace(t.args[0].args[1]).apply(m),n.substitution.apply(m),n)])};e.__calls.unshift(f)}else{var y=new V(n.goal.replace(t.args[0]),n.substitution,n),d=new V(n.goal.replace(t.args[1]),n.substitution,n);e.prepend([y,d])}},"!/0":function(e,n,t){var s,a,l=[];for(s=n,a=null;s.parent!==null&&s.parent.goal.search(t);)if(a=s,s=s.parent,s.goal!==null){var f=s.goal.select();if(f&&f.id==="call"&&f.search(t)){s=a;break}}for(var y=e.points.length-1;y>=0;y--){for(var d=e.points[y],m=d.parent;m!==null&&m!==s.parent;)m=m.parent;m===null&&m!==s.parent&&l.push(d)}e.points=l.reverse(),e.success(n)},"\\+/1":function(e,n,t){var s=t.args[0];i.type.is_variable(s)?e.throw_error(i.error.instantiation(e.level)):i.type.is_callable(s)?e.prepend([new V(n.goal.replace(new o(",",[new o(",",[new o("call",[s]),new o("!",[])]),new o("fail",[])])),n.substitution,n),new V(n.goal.replace(null),n.substitution,n)]):e.throw_error(i.error.type("callable",s,e.level))},"->/2":function(e,n,t){var s=n.goal.replace(new o(",",[t.args[0],new o(",",[new o("!"),t.args[1]])]));e.prepend([new V(s,n.substitution,n)])},"fail/0":function(e,n,t){},"false/0":function(e,n,t){},"true/0":function(e,n,t){e.success(n)},"call/1":ye(1),"call/2":ye(2),"call/3":ye(3),"call/4":ye(4),"call/5":ye(5),"call/6":ye(6),"call/7":ye(7),"call/8":ye(8),"once/1":function(e,n,t){var s=t.args[0];e.prepend([new V(n.goal.replace(new o(",",[new o("call",[s]),new o("!",[])])),n.substitution,n)])},"forall/2":function(e,n,t){var s=t.args[0],a=t.args[1];e.prepend([new V(n.goal.replace(new o("\\+",[new o(",",[new o("call",[s]),new o("\\+",[new o("call",[a])])])])),n.substitution,n)])},"repeat/0":function(e,n,t){e.prepend([new V(n.goal.replace(null),n.substitution,n),n])},"throw/1":function(e,n,t){i.type.is_variable(t.args[0])?e.throw_error(i.error.instantiation(e.level)):e.throw_error(t.args[0])},"catch/3":function(e,n,t){var s=e.points;e.points=[],e.prepend([new V(t.args[0],n.substitution,n)]);var a=e.session.format_success,l=e.session.format_error;e.session.format_success=function(y){return y.substitution},e.session.format_error=function(y){return y.goal};var f=function(y){var d=e.points;if(e.points=s,e.session.format_success=a,e.session.format_error=l,i.type.is_error(y)){for(var m=[],S=e.points.length-1;S>=0;S--){for(var R=e.points[S],P=R.parent;P!==null&&P!==n.parent;)P=P.parent;P===null&&P!==n.parent&&m.push(R)}e.points=m;var A=e.get_flag("occurs_check").indicator==="true/0",R=new V,k=i.unify(y.args[0],t.args[1],A);k!==null?(R.substitution=n.substitution.apply(k),R.goal=n.goal.replace(t.args[2]).apply(k),R.parent=n,e.prepend([R])):e.throw_error(y.args[0])}else if(y!==!1){for(var L=y===null?[]:[new V(n.goal.apply(y).replace(null),n.substitution.apply(y),n)],B=[],S=d.length-1;S>=0;S--){B.push(d[S]);var q=d[S].goal!==null?d[S].goal.select():null;if(i.type.is_term(q)&&q.indicator==="!/0")break}var F=c(B,function(H){return H.goal===null&&(H.goal=new o("true",[])),H=new V(n.goal.replace(new o("catch",[H.goal,t.args[1],t.args[2]])),n.substitution.apply(H.substitution),H.parent),H.exclude=t.args[0].variables(),H}).reverse();e.prepend(F),e.prepend(L),y===null&&(this.current_limit=0,e.__calls.shift()(null))}};e.__calls.unshift(f)},"=/2":function(e,n,t){var s=e.get_flag("occurs_check").indicator==="true/0",a=new V,l=i.unify(t.args[0],t.args[1],s);l!==null&&(a.goal=n.goal.apply(l).replace(null),a.substitution=n.substitution.apply(l),a.parent=n,e.prepend([a]))},"unify_with_occurs_check/2":function(e,n,t){var s=new V,a=i.unify(t.args[0],t.args[1],!0);a!==null&&(s.goal=n.goal.apply(a).replace(null),s.substitution=n.substitution.apply(a),s.parent=n,e.prepend([s]))},"\\=/2":function(e,n,t){var s=e.get_flag("occurs_check").indicator==="true/0",a=i.unify(t.args[0],t.args[1],s);a===null&&e.success(n)},"subsumes_term/2":function(e,n,t){var s=e.get_flag("occurs_check").indicator==="true/0",a=i.unify(t.args[1],t.args[0],s);a!==null&&t.args[1].apply(a).equals(t.args[1])&&e.success(n)},"findall/3":function(e,n,t){var s=t.args[0],a=t.args[1],l=t.args[2];if(i.type.is_variable(a))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_callable(a))e.throw_error(i.error.type("callable",a,t.indicator));else if(!i.type.is_variable(l)&&!i.type.is_list(l))e.throw_error(i.error.type("list",l,t.indicator));else{var f=e.next_free_variable(),y=new o(",",[a,new o("=",[f,s])]),d=e.points,m=e.session.limit,S=e.session.format_success;e.session.format_success=function(R){return R.substitution},e.add_goal(y,!0,n);var P=[],A=function(R){if(R!==!1&&R!==null&&!i.type.is_error(R))e.__calls.unshift(A),P.push(R.links[f.id]),e.session.limit=e.current_limit;else if(e.points=d,e.session.limit=m,e.session.format_success=S,i.type.is_error(R))e.throw_error(R.args[0]);else if(e.current_limit>0){for(var k=new o("[]"),L=P.length-1;L>=0;L--)k=new o(".",[P[L],k]);e.prepend([new V(n.goal.replace(new o("=",[l,k])),n.substitution,n)])}};e.__calls.unshift(A)}},"bagof/3":function(e,n,t){var s,a=t.args[0],l=t.args[1],f=t.args[2];if(i.type.is_variable(l))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_callable(l))e.throw_error(i.error.type("callable",l,t.indicator));else if(!i.type.is_variable(f)&&!i.type.is_list(f))e.throw_error(i.error.type("list",f,t.indicator));else{var y=e.next_free_variable(),d;l.indicator==="^/2"?(d=l.args[0].variables(),l=l.args[1]):d=[],d=d.concat(a.variables());for(var m=l.variables().filter(function(F){return u(d,F)===-1}),S=new o("[]"),P=m.length-1;P>=0;P--)S=new o(".",[new O(m[P]),S]);var A=new o(",",[l,new o("=",[y,new o(",",[S,a])])]),R=e.points,k=e.session.limit,L=e.session.format_success;e.session.format_success=function(F){return F.substitution},e.add_goal(A,!0,n);var B=[],q=function(F){if(F!==!1&&F!==null&&!i.type.is_error(F)){e.__calls.unshift(q);var H=!1,J=F.links[y.id].args[0],me=F.links[y.id].args[1];for(var be in B)if(!!B.hasOwnProperty(be)){var Me=B[be];if(Me.variables.equals(J)){Me.answers.push(me),H=!0;break}}H||B.push({variables:J,answers:[me]}),e.session.limit=e.current_limit}else if(e.points=R,e.session.limit=k,e.session.format_success=L,i.type.is_error(F))e.throw_error(F.args[0]);else if(e.current_limit>0){for(var qe=[],ce=0;ce=0;xe--)Te=new o(".",[F[xe],Te]);qe.push(new V(n.goal.replace(new o(",",[new o("=",[S,B[ce].variables]),new o("=",[f,Te])])),n.substitution,n))}e.prepend(qe)}};e.__calls.unshift(q)}},"setof/3":function(e,n,t){var s,a=t.args[0],l=t.args[1],f=t.args[2];if(i.type.is_variable(l))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_callable(l))e.throw_error(i.error.type("callable",l,t.indicator));else if(!i.type.is_variable(f)&&!i.type.is_list(f))e.throw_error(i.error.type("list",f,t.indicator));else{var y=e.next_free_variable(),d;l.indicator==="^/2"?(d=l.args[0].variables(),l=l.args[1]):d=[],d=d.concat(a.variables());for(var m=l.variables().filter(function(F){return u(d,F)===-1}),S=new o("[]"),P=m.length-1;P>=0;P--)S=new o(".",[new O(m[P]),S]);var A=new o(",",[l,new o("=",[y,new o(",",[S,a])])]),R=e.points,k=e.session.limit,L=e.session.format_success;e.session.format_success=function(F){return F.substitution},e.add_goal(A,!0,n);var B=[],q=function(F){if(F!==!1&&F!==null&&!i.type.is_error(F)){e.__calls.unshift(q);var H=!1,J=F.links[y.id].args[0],me=F.links[y.id].args[1];for(var be in B)if(!!B.hasOwnProperty(be)){var Me=B[be];if(Me.variables.equals(J)){Me.answers.push(me),H=!0;break}}H||B.push({variables:J,answers:[me]}),e.session.limit=e.current_limit}else if(e.points=R,e.session.limit=k,e.session.format_success=L,i.type.is_error(F))e.throw_error(F.args[0]);else if(e.current_limit>0){for(var qe=[],ce=0;ce=0;xe--)Te=new o(".",[F[xe],Te]);qe.push(new V(n.goal.replace(new o(",",[new o("=",[S,B[ce].variables]),new o("=",[f,Te])])),n.substitution,n))}e.prepend(qe)}};e.__calls.unshift(q)}},"functor/3":function(e,n,t){var s,a=t.args[0],l=t.args[1],f=t.args[2];if(i.type.is_variable(a)&&(i.type.is_variable(l)||i.type.is_variable(f)))e.throw_error(i.error.instantiation("functor/3"));else if(!i.type.is_variable(f)&&!i.type.is_integer(f))e.throw_error(i.error.type("integer",t.args[2],"functor/3"));else if(!i.type.is_variable(l)&&!i.type.is_atomic(l))e.throw_error(i.error.type("atomic",t.args[1],"functor/3"));else if(i.type.is_integer(l)&&i.type.is_integer(f)&&f.value!==0)e.throw_error(i.error.type("atom",t.args[1],"functor/3"));else if(i.type.is_variable(a)){if(t.args[2].value>=0){for(var y=[],d=0;d0&&s<=t.args[1].args.length){var a=new o("=",[t.args[1].args[s-1],t.args[2]]);e.prepend([new V(n.goal.replace(a),n.substitution,n)])}}},"=../2":function(e,n,t){var s;if(i.type.is_variable(t.args[0])&&(i.type.is_variable(t.args[1])||i.type.is_non_empty_list(t.args[1])&&i.type.is_variable(t.args[1].args[0])))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_fully_list(t.args[1]))e.throw_error(i.error.type("list",t.args[1],t.indicator));else if(i.type.is_variable(t.args[0])){if(!i.type.is_variable(t.args[1])){var l=[];for(s=t.args[1].args[1];s.indicator==="./2";)l.push(s.args[0]),s=s.args[1];i.type.is_variable(t.args[0])&&i.type.is_variable(s)?e.throw_error(i.error.instantiation(t.indicator)):l.length===0&&i.type.is_compound(t.args[1].args[0])?e.throw_error(i.error.type("atomic",t.args[1].args[0],t.indicator)):l.length>0&&(i.type.is_compound(t.args[1].args[0])||i.type.is_number(t.args[1].args[0]))?e.throw_error(i.error.type("atom",t.args[1].args[0],t.indicator)):l.length===0?e.prepend([new V(n.goal.replace(new o("=",[t.args[1].args[0],t.args[0]],n)),n.substitution,n)]):e.prepend([new V(n.goal.replace(new o("=",[new o(t.args[1].args[0].id,l),t.args[0]])),n.substitution,n)])}}else{if(i.type.is_atomic(t.args[0]))s=new o(".",[t.args[0],new o("[]")]);else{s=new o("[]");for(var a=t.args[0].args.length-1;a>=0;a--)s=new o(".",[t.args[0].args[a],s]);s=new o(".",[new o(t.args[0].id),s])}e.prepend([new V(n.goal.replace(new o("=",[s,t.args[1]])),n.substitution,n)])}},"copy_term/2":function(e,n,t){var s=t.args[0].rename(e);e.prepend([new V(n.goal.replace(new o("=",[s,t.args[1]])),n.substitution,n.parent)])},"term_variables/2":function(e,n,t){var s=t.args[0],a=t.args[1];if(!i.type.is_fully_list(a))e.throw_error(i.error.type("list",a,t.indicator));else{var l=he(c(yr(s.variables()),function(f){return new O(f)}));e.prepend([new V(n.goal.replace(new o("=",[a,l])),n.substitution,n)])}},"clause/2":function(e,n,t){if(i.type.is_variable(t.args[0]))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_callable(t.args[0]))e.throw_error(i.error.type("callable",t.args[0],t.indicator));else if(!i.type.is_variable(t.args[1])&&!i.type.is_callable(t.args[1]))e.throw_error(i.error.type("callable",t.args[1],t.indicator));else if(e.session.rules[t.args[0].indicator]!==void 0)if(e.is_public_predicate(t.args[0].indicator)){var s=[];for(var a in e.session.rules[t.args[0].indicator])if(!!e.session.rules[t.args[0].indicator].hasOwnProperty(a)){var l=e.session.rules[t.args[0].indicator][a];e.session.renamed_variables={},l=l.rename(e),l.body===null&&(l.body=new o("true"));var f=new o(",",[new o("=",[l.head,t.args[0]]),new o("=",[l.body,t.args[1]])]);s.push(new V(n.goal.replace(f),n.substitution,n))}e.prepend(s)}else e.throw_error(i.error.permission("access","private_procedure",t.args[0].indicator,t.indicator))},"current_predicate/1":function(e,n,t){var s=t.args[0];if(!i.type.is_variable(s)&&(!i.type.is_compound(s)||s.indicator!=="//2"))e.throw_error(i.error.type("predicate_indicator",s,t.indicator));else if(!i.type.is_variable(s)&&!i.type.is_variable(s.args[0])&&!i.type.is_atom(s.args[0]))e.throw_error(i.error.type("atom",s.args[0],t.indicator));else if(!i.type.is_variable(s)&&!i.type.is_variable(s.args[1])&&!i.type.is_integer(s.args[1]))e.throw_error(i.error.type("integer",s.args[1],t.indicator));else{var a=[];for(var l in e.session.rules)if(!!e.session.rules.hasOwnProperty(l)){var f=l.lastIndexOf("/"),y=l.substr(0,f),d=parseInt(l.substr(f+1,l.length-(f+1))),m=new o("/",[new o(y),new E(d,!1)]),S=new o("=",[m,s]);a.push(new V(n.goal.replace(S),n.substitution,n))}e.prepend(a)}},"asserta/1":function(e,n,t){if(i.type.is_variable(t.args[0]))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_callable(t.args[0]))e.throw_error(i.error.type("callable",t.args[0],t.indicator));else{var s,a;t.args[0].indicator===":-/2"?(s=t.args[0].args[0],a=ve(t.args[0].args[1])):(s=t.args[0],a=null),i.type.is_callable(s)?a!==null&&!i.type.is_callable(a)?e.throw_error(i.error.type("callable",a,t.indicator)):e.is_public_predicate(s.indicator)?(e.session.rules[s.indicator]===void 0&&(e.session.rules[s.indicator]=[]),e.session.public_predicates[s.indicator]=!0,e.session.rules[s.indicator]=[new Q(s,a,!0)].concat(e.session.rules[s.indicator]),e.success(n)):e.throw_error(i.error.permission("modify","static_procedure",s.indicator,t.indicator)):e.throw_error(i.error.type("callable",s,t.indicator))}},"assertz/1":function(e,n,t){if(i.type.is_variable(t.args[0]))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_callable(t.args[0]))e.throw_error(i.error.type("callable",t.args[0],t.indicator));else{var s,a;t.args[0].indicator===":-/2"?(s=t.args[0].args[0],a=ve(t.args[0].args[1])):(s=t.args[0],a=null),i.type.is_callable(s)?a!==null&&!i.type.is_callable(a)?e.throw_error(i.error.type("callable",a,t.indicator)):e.is_public_predicate(s.indicator)?(e.session.rules[s.indicator]===void 0&&(e.session.rules[s.indicator]=[]),e.session.public_predicates[s.indicator]=!0,e.session.rules[s.indicator].push(new Q(s,a,!0)),e.success(n)):e.throw_error(i.error.permission("modify","static_procedure",s.indicator,t.indicator)):e.throw_error(i.error.type("callable",s,t.indicator))}},"retract/1":function(e,n,t){if(i.type.is_variable(t.args[0]))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_callable(t.args[0]))e.throw_error(i.error.type("callable",t.args[0],t.indicator));else{var s,a;if(t.args[0].indicator===":-/2"?(s=t.args[0].args[0],a=t.args[0].args[1]):(s=t.args[0],a=new o("true")),typeof n.retract=="undefined")if(e.is_public_predicate(s.indicator)){if(e.session.rules[s.indicator]!==void 0){for(var l=[],f=0;fe.get_flag("max_arity").value)e.throw_error(i.error.representation("max_arity",t.indicator));else{var s=t.args[0].args[0].id+"/"+t.args[0].args[1].value;e.is_public_predicate(s)?(delete e.session.rules[s],e.success(n)):e.throw_error(i.error.permission("modify","static_procedure",s,t.indicator))}},"atom_length/2":function(e,n,t){if(i.type.is_variable(t.args[0]))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_atom(t.args[0]))e.throw_error(i.error.type("atom",t.args[0],t.indicator));else if(!i.type.is_variable(t.args[1])&&!i.type.is_integer(t.args[1]))e.throw_error(i.error.type("integer",t.args[1],t.indicator));else if(i.type.is_integer(t.args[1])&&t.args[1].value<0)e.throw_error(i.error.domain("not_less_than_zero",t.args[1],t.indicator));else{var s=new E(t.args[0].id.length,!1);e.prepend([new V(n.goal.replace(new o("=",[s,t.args[1]])),n.substitution,n)])}},"atom_concat/3":function(e,n,t){var s,a,l=t.args[0],f=t.args[1],y=t.args[2];if(i.type.is_variable(y)&&(i.type.is_variable(l)||i.type.is_variable(f)))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_variable(l)&&!i.type.is_atom(l))e.throw_error(i.error.type("atom",l,t.indicator));else if(!i.type.is_variable(f)&&!i.type.is_atom(f))e.throw_error(i.error.type("atom",f,t.indicator));else if(!i.type.is_variable(y)&&!i.type.is_atom(y))e.throw_error(i.error.type("atom",y,t.indicator));else{var d=i.type.is_variable(l),m=i.type.is_variable(f);if(!d&&!m)a=new o("=",[y,new o(l.id+f.id)]),e.prepend([new V(n.goal.replace(a),n.substitution,n)]);else if(d&&!m)s=y.id.substr(0,y.id.length-f.id.length),s+f.id===y.id&&(a=new o("=",[l,new o(s)]),e.prepend([new V(n.goal.replace(a),n.substitution,n)]));else if(m&&!d)s=y.id.substr(l.id.length),l.id+s===y.id&&(a=new o("=",[f,new o(s)]),e.prepend([new V(n.goal.replace(a),n.substitution,n)]));else{for(var S=[],P=0;P<=y.id.length;P++){var A=new o(y.id.substr(0,P)),R=new o(y.id.substr(P));a=new o(",",[new o("=",[A,l]),new o("=",[R,f])]),S.push(new V(n.goal.replace(a),n.substitution,n))}e.prepend(S)}}},"sub_atom/5":function(e,n,t){var s,a=t.args[0],l=t.args[1],f=t.args[2],y=t.args[3],d=t.args[4];if(i.type.is_variable(a))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_variable(l)&&!i.type.is_integer(l))e.throw_error(i.error.type("integer",l,t.indicator));else if(!i.type.is_variable(f)&&!i.type.is_integer(f))e.throw_error(i.error.type("integer",f,t.indicator));else if(!i.type.is_variable(y)&&!i.type.is_integer(y))e.throw_error(i.error.type("integer",y,t.indicator));else if(i.type.is_integer(l)&&l.value<0)e.throw_error(i.error.domain("not_less_than_zero",l,t.indicator));else if(i.type.is_integer(f)&&f.value<0)e.throw_error(i.error.domain("not_less_than_zero",f,t.indicator));else if(i.type.is_integer(y)&&y.value<0)e.throw_error(i.error.domain("not_less_than_zero",y,t.indicator));else{var m=[],S=[],P=[];if(i.type.is_variable(l))for(s=0;s<=a.id.length;s++)m.push(s);else m.push(l.value);if(i.type.is_variable(f))for(s=0;s<=a.id.length;s++)S.push(s);else S.push(f.value);if(i.type.is_variable(y))for(s=0;s<=a.id.length;s++)P.push(s);else P.push(y.value);var A=[];for(var R in m)if(!!m.hasOwnProperty(R)){s=m[R];for(var k in S)if(!!S.hasOwnProperty(k)){var L=S[k],B=a.id.length-s-L;if(u(P,B)!==-1&&s+L+B===a.id.length){var q=a.id.substr(s,L);if(a.id===a.id.substr(0,s)+q+a.id.substr(s+L,B)){var F=new o("=",[new o(q),d]),H=new o("=",[l,new E(s)]),J=new o("=",[f,new E(L)]),me=new o("=",[y,new E(B)]),be=new o(",",[new o(",",[new o(",",[H,J]),me]),F]);A.push(new V(n.goal.replace(be),n.substitution,n))}}}}e.prepend(A)}},"atom_chars/2":function(e,n,t){var s=t.args[0],a=t.args[1];if(i.type.is_variable(s)&&i.type.is_variable(a))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_variable(s)&&!i.type.is_atom(s))e.throw_error(i.error.type("atom",s,t.indicator));else if(i.type.is_variable(s)){for(var y=a,d=i.type.is_variable(s),m="";y.indicator==="./2";){if(i.type.is_character(y.args[0]))m+=y.args[0].id;else if(i.type.is_variable(y.args[0])&&d){e.throw_error(i.error.instantiation(t.indicator));return}else if(!i.type.is_variable(y.args[0])){e.throw_error(i.error.type("character",y.args[0],t.indicator));return}y=y.args[1]}i.type.is_variable(y)&&d?e.throw_error(i.error.instantiation(t.indicator)):!i.type.is_empty_list(y)&&!i.type.is_variable(y)?e.throw_error(i.error.type("list",a,t.indicator)):e.prepend([new V(n.goal.replace(new o("=",[new o(m),s])),n.substitution,n)])}else{for(var l=new o("[]"),f=s.id.length-1;f>=0;f--)l=new o(".",[new o(s.id.charAt(f)),l]);e.prepend([new V(n.goal.replace(new o("=",[a,l])),n.substitution,n)])}},"atom_codes/2":function(e,n,t){var s=t.args[0],a=t.args[1];if(i.type.is_variable(s)&&i.type.is_variable(a))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_variable(s)&&!i.type.is_atom(s))e.throw_error(i.error.type("atom",s,t.indicator));else if(i.type.is_variable(s)){for(var y=a,d=i.type.is_variable(s),m="";y.indicator==="./2";){if(i.type.is_character_code(y.args[0]))m+=v(y.args[0].value);else if(i.type.is_variable(y.args[0])&&d){e.throw_error(i.error.instantiation(t.indicator));return}else if(!i.type.is_variable(y.args[0])){e.throw_error(i.error.representation("character_code",t.indicator));return}y=y.args[1]}i.type.is_variable(y)&&d?e.throw_error(i.error.instantiation(t.indicator)):!i.type.is_empty_list(y)&&!i.type.is_variable(y)?e.throw_error(i.error.type("list",a,t.indicator)):e.prepend([new V(n.goal.replace(new o("=",[new o(m),s])),n.substitution,n)])}else{for(var l=new o("[]"),f=s.id.length-1;f>=0;f--)l=new o(".",[new E(_(s.id,f),!1),l]);e.prepend([new V(n.goal.replace(new o("=",[a,l])),n.substitution,n)])}},"char_code/2":function(e,n,t){var s=t.args[0],a=t.args[1];if(i.type.is_variable(s)&&i.type.is_variable(a))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_variable(s)&&!i.type.is_character(s))e.throw_error(i.error.type("character",s,t.indicator));else if(!i.type.is_variable(a)&&!i.type.is_integer(a))e.throw_error(i.error.type("integer",a,t.indicator));else if(!i.type.is_variable(a)&&!i.type.is_character_code(a))e.throw_error(i.error.representation("character_code",t.indicator));else if(i.type.is_variable(a)){var l=new E(_(s.id,0),!1);e.prepend([new V(n.goal.replace(new o("=",[l,a])),n.substitution,n)])}else{var f=new o(v(a.value));e.prepend([new V(n.goal.replace(new o("=",[f,s])),n.substitution,n)])}},"number_chars/2":function(e,n,t){var s,a=t.args[0],l=t.args[1];if(i.type.is_variable(a)&&i.type.is_variable(l))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_variable(a)&&!i.type.is_number(a))e.throw_error(i.error.type("number",a,t.indicator));else if(!i.type.is_variable(l)&&!i.type.is_list(l))e.throw_error(i.error.type("list",l,t.indicator));else{var f=i.type.is_variable(a);if(!i.type.is_variable(l)){var y=l,d=!0;for(s="";y.indicator==="./2";){if(i.type.is_character(y.args[0]))s+=y.args[0].id;else if(i.type.is_variable(y.args[0]))d=!1;else if(!i.type.is_variable(y.args[0])){e.throw_error(i.error.type("character",y.args[0],t.indicator));return}y=y.args[1]}if(d=d&&i.type.is_empty_list(y),!i.type.is_empty_list(y)&&!i.type.is_variable(y)){e.throw_error(i.error.type("list",l,t.indicator));return}if(!d&&f){e.throw_error(i.error.instantiation(t.indicator));return}else if(d)if(i.type.is_variable(y)&&f){e.throw_error(i.error.instantiation(t.indicator));return}else{var m=e.parse(s),S=m.value;!i.type.is_number(S)||m.tokens[m.tokens.length-1].space?e.throw_error(i.error.syntax_by_predicate("parseable_number",t.indicator)):e.prepend([new V(n.goal.replace(new o("=",[a,S])),n.substitution,n)]);return}}if(!f){s=a.toString();for(var P=new o("[]"),A=s.length-1;A>=0;A--)P=new o(".",[new o(s.charAt(A)),P]);e.prepend([new V(n.goal.replace(new o("=",[l,P])),n.substitution,n)])}}},"number_codes/2":function(e,n,t){var s,a=t.args[0],l=t.args[1];if(i.type.is_variable(a)&&i.type.is_variable(l))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_variable(a)&&!i.type.is_number(a))e.throw_error(i.error.type("number",a,t.indicator));else if(!i.type.is_variable(l)&&!i.type.is_list(l))e.throw_error(i.error.type("list",l,t.indicator));else{var f=i.type.is_variable(a);if(!i.type.is_variable(l)){var y=l,d=!0;for(s="";y.indicator==="./2";){if(i.type.is_character_code(y.args[0]))s+=v(y.args[0].value);else if(i.type.is_variable(y.args[0]))d=!1;else if(!i.type.is_variable(y.args[0])){e.throw_error(i.error.type("character_code",y.args[0],t.indicator));return}y=y.args[1]}if(d=d&&i.type.is_empty_list(y),!i.type.is_empty_list(y)&&!i.type.is_variable(y)){e.throw_error(i.error.type("list",l,t.indicator));return}if(!d&&f){e.throw_error(i.error.instantiation(t.indicator));return}else if(d)if(i.type.is_variable(y)&&f){e.throw_error(i.error.instantiation(t.indicator));return}else{var m=e.parse(s),S=m.value;!i.type.is_number(S)||m.tokens[m.tokens.length-1].space?e.throw_error(i.error.syntax_by_predicate("parseable_number",t.indicator)):e.prepend([new V(n.goal.replace(new o("=",[a,S])),n.substitution,n)]);return}}if(!f){s=a.toString();for(var P=new o("[]"),A=s.length-1;A>=0;A--)P=new o(".",[new E(_(s,A),!1),P]);e.prepend([new V(n.goal.replace(new o("=",[l,P])),n.substitution,n)])}}},"upcase_atom/2":function(e,n,t){var s=t.args[0],a=t.args[1];i.type.is_variable(s)?e.throw_error(i.error.instantiation(t.indicator)):i.type.is_atom(s)?!i.type.is_variable(a)&&!i.type.is_atom(a)?e.throw_error(i.error.type("atom",a,t.indicator)):e.prepend([new V(n.goal.replace(new o("=",[a,new o(s.id.toUpperCase(),[])])),n.substitution,n)]):e.throw_error(i.error.type("atom",s,t.indicator))},"downcase_atom/2":function(e,n,t){var s=t.args[0],a=t.args[1];i.type.is_variable(s)?e.throw_error(i.error.instantiation(t.indicator)):i.type.is_atom(s)?!i.type.is_variable(a)&&!i.type.is_atom(a)?e.throw_error(i.error.type("atom",a,t.indicator)):e.prepend([new V(n.goal.replace(new o("=",[a,new o(s.id.toLowerCase(),[])])),n.substitution,n)]):e.throw_error(i.error.type("atom",s,t.indicator))},"atomic_list_concat/2":function(e,n,t){var s=t.args[0],a=t.args[1];e.prepend([new V(n.goal.replace(new o("atomic_list_concat",[s,new o("",[]),a])),n.substitution,n)])},"atomic_list_concat/3":function(e,n,t){var s=t.args[0],a=t.args[1],l=t.args[2];if(i.type.is_variable(a)||i.type.is_variable(s)&&i.type.is_variable(l))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_variable(s)&&!i.type.is_list(s))e.throw_error(i.error.type("list",s,t.indicator));else if(!i.type.is_variable(l)&&!i.type.is_atom(l))e.throw_error(i.error.type("atom",l,t.indicator));else if(i.type.is_variable(l)){for(var y="",d=s;i.type.is_term(d)&&d.indicator==="./2";){if(!i.type.is_atom(d.args[0])&&!i.type.is_number(d.args[0])){e.throw_error(i.error.type("atomic",d.args[0],t.indicator));return}y!==""&&(y+=a.id),i.type.is_atom(d.args[0])?y+=d.args[0].id:y+=""+d.args[0].value,d=d.args[1]}y=new o(y,[]),i.type.is_variable(d)?e.throw_error(i.error.instantiation(t.indicator)):!i.type.is_term(d)||d.indicator!=="[]/0"?e.throw_error(i.error.type("list",s,t.indicator)):e.prepend([new V(n.goal.replace(new o("=",[y,l])),n.substitution,n)])}else{var f=he(c(l.id.split(a.id),function(m){return new o(m,[])}));e.prepend([new V(n.goal.replace(new o("=",[f,s])),n.substitution,n)])}},"@=/2":function(e,n,t){i.compare(t.args[0],t.args[1])>0&&e.success(n)},"@>=/2":function(e,n,t){i.compare(t.args[0],t.args[1])>=0&&e.success(n)},"compare/3":function(e,n,t){var s=t.args[0],a=t.args[1],l=t.args[2];if(!i.type.is_variable(s)&&!i.type.is_atom(s))e.throw_error(i.error.type("atom",s,t.indicator));else if(i.type.is_atom(s)&&["<",">","="].indexOf(s.id)===-1)e.throw_error(i.type.domain("order",s,t.indicator));else{var f=i.compare(a,l);f=f===0?"=":f===-1?"<":">",e.prepend([new V(n.goal.replace(new o("=",[s,new o(f,[])])),n.substitution,n)])}},"is/2":function(e,n,t){var s=t.args[1].interpret(e);i.type.is_number(s)?e.prepend([new V(n.goal.replace(new o("=",[t.args[0],s],e.level)),n.substitution,n)]):e.throw_error(s)},"between/3":function(e,n,t){var s=t.args[0],a=t.args[1],l=t.args[2];if(i.type.is_variable(s)||i.type.is_variable(a))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_integer(s))e.throw_error(i.error.type("integer",s,t.indicator));else if(!i.type.is_integer(a))e.throw_error(i.error.type("integer",a,t.indicator));else if(!i.type.is_variable(l)&&!i.type.is_integer(l))e.throw_error(i.error.type("integer",l,t.indicator));else if(i.type.is_variable(l)){var f=[new V(n.goal.replace(new o("=",[l,s])),n.substitution,n)];s.value=l.value&&e.success(n)},"succ/2":function(e,n,t){var s=t.args[0],a=t.args[1];i.type.is_variable(s)&&i.type.is_variable(a)?e.throw_error(i.error.instantiation(t.indicator)):!i.type.is_variable(s)&&!i.type.is_integer(s)?e.throw_error(i.error.type("integer",s,t.indicator)):!i.type.is_variable(a)&&!i.type.is_integer(a)?e.throw_error(i.error.type("integer",a,t.indicator)):!i.type.is_variable(s)&&s.value<0?e.throw_error(i.error.domain("not_less_than_zero",s,t.indicator)):!i.type.is_variable(a)&&a.value<0?e.throw_error(i.error.domain("not_less_than_zero",a,t.indicator)):(i.type.is_variable(a)||a.value>0)&&(i.type.is_variable(s)?e.prepend([new V(n.goal.replace(new o("=",[s,new E(a.value-1,!1)])),n.substitution,n)]):e.prepend([new V(n.goal.replace(new o("=",[a,new E(s.value+1,!1)])),n.substitution,n)]))},"=:=/2":function(e,n,t){var s=i.arithmetic_compare(e,t.args[0],t.args[1]);i.type.is_term(s)?e.throw_error(s):s===0&&e.success(n)},"=\\=/2":function(e,n,t){var s=i.arithmetic_compare(e,t.args[0],t.args[1]);i.type.is_term(s)?e.throw_error(s):s!==0&&e.success(n)},"/2":function(e,n,t){var s=i.arithmetic_compare(e,t.args[0],t.args[1]);i.type.is_term(s)?e.throw_error(s):s>0&&e.success(n)},">=/2":function(e,n,t){var s=i.arithmetic_compare(e,t.args[0],t.args[1]);i.type.is_term(s)?e.throw_error(s):s>=0&&e.success(n)},"var/1":function(e,n,t){i.type.is_variable(t.args[0])&&e.success(n)},"atom/1":function(e,n,t){i.type.is_atom(t.args[0])&&e.success(n)},"atomic/1":function(e,n,t){i.type.is_atomic(t.args[0])&&e.success(n)},"compound/1":function(e,n,t){i.type.is_compound(t.args[0])&&e.success(n)},"integer/1":function(e,n,t){i.type.is_integer(t.args[0])&&e.success(n)},"float/1":function(e,n,t){i.type.is_float(t.args[0])&&e.success(n)},"number/1":function(e,n,t){i.type.is_number(t.args[0])&&e.success(n)},"nonvar/1":function(e,n,t){i.type.is_variable(t.args[0])||e.success(n)},"ground/1":function(e,n,t){t.variables().length===0&&e.success(n)},"acyclic_term/1":function(e,n,t){for(var s=n.substitution.apply(n.substitution),a=t.args[0].variables(),l=0;l0?k[k.length-1]:null,k!==null&&(A=U(e,k,0,e.__get_max_priority(),!1))}if(A.type===h&&A.len===k.length-1&&L.value==="."){A=A.value.rename(e);var B=new o("=",[a,A]);if(y.variables){var q=he(c(yr(A.variables()),function(F){return new O(F)}));B=new o(",",[B,new o("=",[y.variables,q])])}if(y.variable_names){var q=he(c(yr(A.variables()),function(H){var J;for(J in e.session.renamed_variables)if(e.session.renamed_variables.hasOwnProperty(J)&&e.session.renamed_variables[J]===H)break;return new o("=",[new o(J,[]),new O(H)])}));B=new o(",",[B,new o("=",[y.variable_names,q])])}if(y.singletons){var q=he(c(new Q(A,null).singleton_variables(),function(H){var J;for(J in e.session.renamed_variables)if(e.session.renamed_variables.hasOwnProperty(J)&&e.session.renamed_variables[J]===H)break;return new o("=",[new o(J,[]),new O(H)])}));B=new o(",",[B,new o("=",[y.singletons,q])])}e.prepend([new V(n.goal.replace(B),n.substitution,n)])}else A.type===h?e.throw_error(i.error.syntax(k[A.len],"unexpected token",!1)):e.throw_error(A.value)}}},"write/1":function(e,n,t){var s=t.args[0];e.prepend([new V(n.goal.replace(new o(",",[new o("current_output",[new O("S")]),new o("write",[new O("S"),s])])),n.substitution,n)])},"write/2":function(e,n,t){var s=t.args[0],a=t.args[1];e.prepend([new V(n.goal.replace(new o("write_term",[s,a,new o(".",[new o("quoted",[new o("false",[])]),new o(".",[new o("ignore_ops",[new o("false")]),new o(".",[new o("numbervars",[new o("true")]),new o("[]",[])])])])])),n.substitution,n)])},"writeq/1":function(e,n,t){var s=t.args[0];e.prepend([new V(n.goal.replace(new o(",",[new o("current_output",[new O("S")]),new o("writeq",[new O("S"),s])])),n.substitution,n)])},"writeq/2":function(e,n,t){var s=t.args[0],a=t.args[1];e.prepend([new V(n.goal.replace(new o("write_term",[s,a,new o(".",[new o("quoted",[new o("true",[])]),new o(".",[new o("ignore_ops",[new o("false")]),new o(".",[new o("numbervars",[new o("true")]),new o("[]",[])])])])])),n.substitution,n)])},"write_canonical/1":function(e,n,t){var s=t.args[0];e.prepend([new V(n.goal.replace(new o(",",[new o("current_output",[new O("S")]),new o("write_canonical",[new O("S"),s])])),n.substitution,n)])},"write_canonical/2":function(e,n,t){var s=t.args[0],a=t.args[1];e.prepend([new V(n.goal.replace(new o("write_term",[s,a,new o(".",[new o("quoted",[new o("true",[])]),new o(".",[new o("ignore_ops",[new o("true")]),new o(".",[new o("numbervars",[new o("false")]),new o("[]",[])])])])])),n.substitution,n)])},"write_term/2":function(e,n,t){var s=t.args[0],a=t.args[1];e.prepend([new V(n.goal.replace(new o(",",[new o("current_output",[new O("S")]),new o("write_term",[new O("S"),s,a])])),n.substitution,n)])},"write_term/3":function(e,n,t){var s=t.args[0],a=t.args[1],l=t.args[2],f=i.type.is_stream(s)?s:e.get_stream_by_alias(s.id);if(i.type.is_variable(s)||i.type.is_variable(l))e.throw_error(i.error.instantiation(t.indicator));else if(!i.type.is_list(l))e.throw_error(i.error.type("list",l,t.indicator));else if(!i.type.is_stream(s)&&!i.type.is_atom(s))e.throw_error(i.error.domain("stream_or_alias",s,t.indicator));else if(!i.type.is_stream(f)||f.stream===null)e.throw_error(i.error.existence("stream",s,t.indicator));else if(f.input)e.throw_error(i.error.permission("output","stream",s,t.indicator));else if(f.type==="binary")e.throw_error(i.error.permission("output","binary_stream",s,t.indicator));else if(f.position==="past_end_of_stream"&&f.eof_action==="error")e.throw_error(i.error.permission("output","past_end_of_stream",s,t.indicator));else{for(var y={},d=l,m;i.type.is_term(d)&&d.indicator==="./2";){if(m=d.args[0],i.type.is_variable(m)){e.throw_error(i.error.instantiation(t.indicator));return}else if(!i.type.is_write_option(m)){e.throw_error(i.error.domain("write_option",m,t.indicator));return}y[m.id]=m.args[0].id==="true",d=d.args[1]}if(d.indicator!=="[]/0"){i.type.is_variable(d)?e.throw_error(i.error.instantiation(t.indicator)):e.throw_error(i.error.type("list",l,t.indicator));return}else{y.session=e.session;var S=a.toString(y);f.stream.put(S,f.position),typeof f.position=="number"&&(f.position+=S.length),e.success(n)}}},"halt/0":function(e,n,t){e.points=[]},"halt/1":function(e,n,t){var s=t.args[0];i.type.is_variable(s)?e.throw_error(i.error.instantiation(t.indicator)):i.type.is_integer(s)?e.points=[]:e.throw_error(i.error.type("integer",s,t.indicator))},"current_prolog_flag/2":function(e,n,t){var s=t.args[0],a=t.args[1];if(!i.type.is_variable(s)&&!i.type.is_atom(s))e.throw_error(i.error.type("atom",s,t.indicator));else if(!i.type.is_variable(s)&&!i.type.is_flag(s))e.throw_error(i.error.domain("prolog_flag",s,t.indicator));else{var l=[];for(var f in i.flag)if(!!i.flag.hasOwnProperty(f)){var y=new o(",",[new o("=",[new o(f),s]),new o("=",[e.get_flag(f),a])]);l.push(new V(n.goal.replace(y),n.substitution,n))}e.prepend(l)}},"set_prolog_flag/2":function(e,n,t){var s=t.args[0],a=t.args[1];i.type.is_variable(s)||i.type.is_variable(a)?e.throw_error(i.error.instantiation(t.indicator)):i.type.is_atom(s)?i.type.is_flag(s)?i.type.is_value_flag(s,a)?i.type.is_modifiable_flag(s)?(e.session.flag[s.id]=a,e.success(n)):e.throw_error(i.error.permission("modify","flag",s)):e.throw_error(i.error.domain("flag_value",new o("+",[s,a]),t.indicator)):e.throw_error(i.error.domain("prolog_flag",s,t.indicator)):e.throw_error(i.error.type("atom",s,t.indicator))}},flag:{bounded:{allowed:[new o("true"),new o("false")],value:new o("true"),changeable:!1},max_integer:{allowed:[new E(Number.MAX_SAFE_INTEGER)],value:new E(Number.MAX_SAFE_INTEGER),changeable:!1},min_integer:{allowed:[new E(Number.MIN_SAFE_INTEGER)],value:new E(Number.MIN_SAFE_INTEGER),changeable:!1},integer_rounding_function:{allowed:[new o("down"),new o("toward_zero")],value:new o("toward_zero"),changeable:!1},char_conversion:{allowed:[new o("on"),new o("off")],value:new o("on"),changeable:!0},debug:{allowed:[new o("on"),new o("off")],value:new o("off"),changeable:!0},max_arity:{allowed:[new o("unbounded")],value:new o("unbounded"),changeable:!1},unknown:{allowed:[new o("error"),new o("fail"),new o("warning")],value:new o("error"),changeable:!0},double_quotes:{allowed:[new o("chars"),new o("codes"),new o("atom")],value:new o("codes"),changeable:!0},occurs_check:{allowed:[new o("false"),new o("true")],value:new o("false"),changeable:!0},dialect:{allowed:[new o("tau")],value:new o("tau"),changeable:!1},version_data:{allowed:[new o("tau",[new E(r.major,!1),new E(r.minor,!1),new E(r.patch,!1),new o(r.status)])],value:new o("tau",[new E(r.major,!1),new E(r.minor,!1),new E(r.patch,!1),new o(r.status)]),changeable:!1},nodejs:{allowed:[new o("yes"),new o("no")],value:new o(typeof ie!="undefined"&&ie.exports?"yes":"no"),changeable:!1}},unify:function(e,n,t){t=t===void 0?!1:t;for(var s=[{left:e,right:n}],a={};s.length!==0;){var l=s.pop();if(e=l.left,n=l.right,i.type.is_term(e)&&i.type.is_term(n)){if(e.indicator!==n.indicator)return null;for(var f=0;fa.value?1:0:a}else return s},operate:function(e,n){if(i.type.is_operator(n)){for(var t=i.type.is_operator(n),s=[],a,l=!1,f=0;fe.get_flag("max_integer").value||a0?e.start+e.matches[0].length:e.start,a=t?new o("token_not_found"):new o("found",[new o(e.value.toString())]),l=new o(".",[new o("line",[new E(e.line+1)]),new o(".",[new o("column",[new E(s+1)]),new o(".",[a,new o("[]",[])])])]);return new o("error",[new o("syntax_error",[new o(n)]),l])},syntax_by_predicate:function(e,n){return new o("error",[new o("syntax_error",[new o(e)]),ae(n)])}},warning:{singleton:function(e,n,t){for(var s=new o("[]"),a=e.length-1;a>=0;a--)s=new o(".",[new O(e[a]),s]);return new o("warning",[new o("singleton_variables",[s,ae(n)]),new o(".",[new o("line",[new E(t,!1)]),new o("[]")])])},failed_goal:function(e,n){return new o("warning",[new o("failed_goal",[e]),new o(".",[new o("line",[new E(n,!1)]),new o("[]")])])}},format_variable:function(e){return"_"+e},format_answer:function(e,n,t){n instanceof D&&(n=n.thread);var t=t||{};if(t.session=n?n.session:void 0,i.type.is_error(e))return"uncaught exception: "+e.args[0].toString();if(e===!1)return"false.";if(e===null)return"limit exceeded ;";var s=0,a="";if(i.type.is_substitution(e)){var l=e.domain(!0);e=e.filter(function(d,m){return!i.type.is_variable(m)||l.indexOf(m.id)!==-1&&d!==m.id})}for(var f in e.links)!e.links.hasOwnProperty(f)||(s++,a!==""&&(a+=", "),a+=f.toString(t)+" = "+e.links[f].toString(t));var y=typeof n=="undefined"||n.points.length>0?" ;":".";return s===0?"true"+y:a+y},flatten_error:function(e){if(!i.type.is_error(e))return null;e=e.args[0];var n={};return n.type=e.args[0].id,n.thrown=n.type==="syntax_error"?null:e.args[1].id,n.expected=null,n.found=null,n.representation=null,n.existence=null,n.existence_type=null,n.line=null,n.column=null,n.permission_operation=null,n.permission_type=null,n.evaluation_type=null,n.type==="type_error"||n.type==="domain_error"?(n.expected=e.args[0].args[0].id,n.found=e.args[0].args[1].toString()):n.type==="syntax_error"?e.args[1].indicator==="./2"?(n.expected=e.args[0].args[0].id,n.found=e.args[1].args[1].args[1].args[0],n.found=n.found.id==="token_not_found"?n.found.id:n.found.args[0].id,n.line=e.args[1].args[0].args[0].value,n.column=e.args[1].args[1].args[0].args[0].value):n.thrown=e.args[1].id:n.type==="permission_error"?(n.found=e.args[0].args[2].toString(),n.permission_operation=e.args[0].args[0].id,n.permission_type=e.args[0].args[1].id):n.type==="evaluation_error"?n.evaluation_type=e.args[0].args[0].id:n.type==="representation_error"?n.representation=e.args[0].args[0].id:n.type==="existence_error"&&(n.existence=e.args[0].args[1].toString(),n.existence_type=e.args[0].args[0].id),n},create:function(e){return new i.type.Session(e)}};typeof ie!="undefined"?ie.exports=i:window.pl=i})()});var er=I((qu,rt)=>{var is=Array.isArray;rt.exports=is});var nt=I(($u,tt)=>{var ss=typeof global=="object"&&global&&global.Object===Object&&global;tt.exports=ss});var rr=I((Du,it)=>{var as=nt(),os=typeof self=="object"&&self&&self.Object===Object&&self,us=as||os||Function("return this")();it.exports=us});var tr=I((Xu,st)=>{var ls=rr(),cs=ls.Symbol;st.exports=cs});var lt=I((Bu,at)=>{var ot=tr(),ut=Object.prototype,fs=ut.hasOwnProperty,ps=ut.toString,Xe=ot?ot.toStringTag:void 0;function ys(r){var u=fs.call(r,Xe),p=r[Xe];try{r[Xe]=void 0;var c=!0}catch(_){}var w=ps.call(r);return c&&(u?r[Xe]=p:delete r[Xe]),w}at.exports=ys});var ft=I((Fu,ct)=>{var _s=Object.prototype,ws=_s.toString;function gs(r){return ws.call(r)}ct.exports=gs});var Pr=I((zu,pt)=>{var yt=tr(),ds=lt(),vs=ft(),hs="[object Null]",ms="[object Undefined]",_t=yt?yt.toStringTag:void 0;function bs(r){return r==null?r===void 0?ms:hs:_t&&_t in Object(r)?ds(r):vs(r)}pt.exports=bs});var gt=I((Wu,wt)=>{function Ts(r){return r!=null&&typeof r=="object"}wt.exports=Ts});var nr=I((Lu,dt)=>{var xs=Pr(),Vs=gt(),Ss="[object Symbol]";function ks(r){return typeof r=="symbol"||Vs(r)&&xs(r)==Ss}dt.exports=ks});var ht=I((Hu,vt)=>{var Ps=er(),Cs=nr(),Os=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Is=/^\w*$/;function Es(r,u){if(Ps(r))return!1;var p=typeof r;return p=="number"||p=="symbol"||p=="boolean"||r==null||Cs(r)?!0:Is.test(r)||!Os.test(r)||u!=null&&r in Object(u)}vt.exports=Es});var ir=I((Gu,mt)=>{function As(r){var u=typeof r;return r!=null&&(u=="object"||u=="function")}mt.exports=As});var Tt=I((Yu,bt)=>{var Ns=Pr(),Rs=ir(),Ms="[object AsyncFunction]",qs="[object Function]",$s="[object GeneratorFunction]",Ds="[object Proxy]";function Xs(r){if(!Rs(r))return!1;var u=Ns(r);return u==qs||u==$s||u==Ms||u==Ds}bt.exports=Xs});var Vt=I((Uu,xt)=>{var Bs=rr(),Fs=Bs["__core-js_shared__"];xt.exports=Fs});var Pt=I((Zu,St)=>{var Cr=Vt(),kt=function(){var r=/[^.]+$/.exec(Cr&&Cr.keys&&Cr.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function zs(r){return!!kt&&kt in r}St.exports=zs});var Ot=I((Qu,Ct)=>{var Ws=Function.prototype,Ls=Ws.toString;function Hs(r){if(r!=null){try{return Ls.call(r)}catch(u){}try{return r+""}catch(u){}}return""}Ct.exports=Hs});var Et=I((Ju,It)=>{var Gs=Tt(),Ys=Pt(),Us=ir(),Zs=Ot(),Qs=/[\\^$.*+?()[\]{}|]/g,Js=/^\[object .+?Constructor\]$/,Ks=Function.prototype,js=Object.prototype,ea=Ks.toString,ra=js.hasOwnProperty,ta=RegExp("^"+ea.call(ra).replace(Qs,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function na(r){if(!Us(r)||Ys(r))return!1;var u=Gs(r)?ta:Js;return u.test(Zs(r))}It.exports=na});var Nt=I((Ku,At)=>{function ia(r,u){return r==null?void 0:r[u]}At.exports=ia});var sr=I((ju,Rt)=>{var sa=Et(),aa=Nt();function oa(r,u){var p=aa(r,u);return sa(p)?p:void 0}Rt.exports=oa});var Be=I((el,Mt)=>{var ua=sr(),la=ua(Object,"create");Mt.exports=la});var Dt=I((rl,qt)=>{var $t=Be();function ca(){this.__data__=$t?$t(null):{},this.size=0}qt.exports=ca});var Bt=I((tl,Xt)=>{function fa(r){var u=this.has(r)&&delete this.__data__[r];return this.size-=u?1:0,u}Xt.exports=fa});var zt=I((nl,Ft)=>{var pa=Be(),ya="__lodash_hash_undefined__",_a=Object.prototype,wa=_a.hasOwnProperty;function ga(r){var u=this.__data__;if(pa){var p=u[r];return p===ya?void 0:p}return wa.call(u,r)?u[r]:void 0}Ft.exports=ga});var Lt=I((il,Wt)=>{var da=Be(),va=Object.prototype,ha=va.hasOwnProperty;function ma(r){var u=this.__data__;return da?u[r]!==void 0:ha.call(u,r)}Wt.exports=ma});var Gt=I((sl,Ht)=>{var ba=Be(),Ta="__lodash_hash_undefined__";function xa(r,u){var p=this.__data__;return this.size+=this.has(r)?0:1,p[r]=ba&&u===void 0?Ta:u,this}Ht.exports=xa});var Ut=I((al,Yt)=>{var Va=Dt(),Sa=Bt(),ka=zt(),Pa=Lt(),Ca=Gt();function Ie(r){var u=-1,p=r==null?0:r.length;for(this.clear();++u{function Oa(){this.__data__=[],this.size=0}Zt.exports=Oa});var Or=I((ul,Jt)=>{function Ia(r,u){return r===u||r!==r&&u!==u}Jt.exports=Ia});var Fe=I((ll,Kt)=>{var Ea=Or();function Aa(r,u){for(var p=r.length;p--;)if(Ea(r[p][0],u))return p;return-1}Kt.exports=Aa});var en=I((cl,jt)=>{var Na=Fe(),Ra=Array.prototype,Ma=Ra.splice;function qa(r){var u=this.__data__,p=Na(u,r);if(p<0)return!1;var c=u.length-1;return p==c?u.pop():Ma.call(u,p,1),--this.size,!0}jt.exports=qa});var tn=I((fl,rn)=>{var $a=Fe();function Da(r){var u=this.__data__,p=$a(u,r);return p<0?void 0:u[p][1]}rn.exports=Da});var sn=I((pl,nn)=>{var Xa=Fe();function Ba(r){return Xa(this.__data__,r)>-1}nn.exports=Ba});var on=I((yl,an)=>{var Fa=Fe();function za(r,u){var p=this.__data__,c=Fa(p,r);return c<0?(++this.size,p.push([r,u])):p[c][1]=u,this}an.exports=za});var ln=I((_l,un)=>{var Wa=Qt(),La=en(),Ha=tn(),Ga=sn(),Ya=on();function Ee(r){var u=-1,p=r==null?0:r.length;for(this.clear();++u{var Ua=sr(),Za=rr(),Qa=Ua(Za,"Map");cn.exports=Qa});var _n=I((gl,pn)=>{var yn=Ut(),Ja=ln(),Ka=fn();function ja(){this.size=0,this.__data__={hash:new yn,map:new(Ka||Ja),string:new yn}}pn.exports=ja});var gn=I((dl,wn)=>{function eo(r){var u=typeof r;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?r!=="__proto__":r===null}wn.exports=eo});var ze=I((vl,dn)=>{var ro=gn();function to(r,u){var p=r.__data__;return ro(u)?p[typeof u=="string"?"string":"hash"]:p.map}dn.exports=to});var hn=I((hl,vn)=>{var no=ze();function io(r){var u=no(this,r).delete(r);return this.size-=u?1:0,u}vn.exports=io});var bn=I((ml,mn)=>{var so=ze();function ao(r){return so(this,r).get(r)}mn.exports=ao});var xn=I((bl,Tn)=>{var oo=ze();function uo(r){return oo(this,r).has(r)}Tn.exports=uo});var Sn=I((Tl,Vn)=>{var lo=ze();function co(r,u){var p=lo(this,r),c=p.size;return p.set(r,u),this.size+=p.size==c?0:1,this}Vn.exports=co});var Pn=I((xl,kn)=>{var fo=_n(),po=hn(),yo=bn(),_o=xn(),wo=Sn();function Ae(r){var u=-1,p=r==null?0:r.length;for(this.clear();++u{var On=Pn(),go="Expected a function";function Ir(r,u){if(typeof r!="function"||u!=null&&typeof u!="function")throw new TypeError(go);var p=function(){var c=arguments,w=u?u.apply(this,c):c[0],_=p.cache;if(_.has(w))return _.get(w);var v=r.apply(this,c);return p.cache=_.set(w,v)||_,v};return p.cache=new(Ir.Cache||On),p}Ir.Cache=On;Cn.exports=Ir});var An=I((Sl,En)=>{var vo=In(),ho=500;function mo(r){var u=vo(r,function(c){return p.size===ho&&p.clear(),c}),p=u.cache;return u}En.exports=mo});var Rn=I((kl,Nn)=>{var bo=An(),To=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,xo=/\\(\\)?/g,Vo=bo(function(r){var u=[];return r.charCodeAt(0)===46&&u.push(""),r.replace(To,function(p,c,w,_){u.push(w?_.replace(xo,"$1"):c||p)}),u});Nn.exports=Vo});var qn=I((Pl,Mn)=>{function So(r,u){for(var p=-1,c=r==null?0:r.length,w=Array(c);++p{var Dn=tr(),ko=qn(),Po=er(),Co=nr(),Oo=1/0,Xn=Dn?Dn.prototype:void 0,Bn=Xn?Xn.toString:void 0;function Fn(r){if(typeof r=="string")return r;if(Po(r))return ko(r,Fn)+"";if(Co(r))return Bn?Bn.call(r):"";var u=r+"";return u=="0"&&1/r==-Oo?"-0":u}$n.exports=Fn});var Ln=I((Ol,Wn)=>{var Io=zn();function Eo(r){return r==null?"":Io(r)}Wn.exports=Eo});var ar=I((Il,Hn)=>{var Ao=er(),No=ht(),Ro=Rn(),Mo=Ln();function qo(r,u){return Ao(r)?r:No(r,u)?[r]:Ro(Mo(r))}Hn.exports=qo});var or=I((El,Gn)=>{var $o=nr(),Do=1/0;function Xo(r){if(typeof r=="string"||$o(r))return r;var u=r+"";return u=="0"&&1/r==-Do?"-0":u}Gn.exports=Xo});var Er=I((Al,Yn)=>{var Bo=ar(),Fo=or();function zo(r,u){u=Bo(u,r);for(var p=0,c=u.length;r!=null&&p{var Wo=Er();function Lo(r,u,p){var c=r==null?void 0:Wo(r,u);return c===void 0?p:c}Un.exports=Lo});var li=I((Ul,ui)=>{var Jo=sr(),Ko=function(){try{var r=Jo(Object,"defineProperty");return r({},"",{}),r}catch(u){}}();ui.exports=Ko});var pi=I((Zl,ci)=>{var fi=li();function jo(r,u,p){u=="__proto__"&&fi?fi(r,u,{configurable:!0,enumerable:!0,value:p,writable:!0}):r[u]=p}ci.exports=jo});var _i=I((Ql,yi)=>{var eu=pi(),ru=Or(),tu=Object.prototype,nu=tu.hasOwnProperty;function iu(r,u,p){var c=r[u];(!(nu.call(r,u)&&ru(c,p))||p===void 0&&!(u in r))&&eu(r,u,p)}yi.exports=iu});var gi=I((Jl,wi)=>{var su=9007199254740991,au=/^(?:0|[1-9]\d*)$/;function ou(r,u){var p=typeof r;return u=u==null?su:u,!!u&&(p=="number"||p!="symbol"&&au.test(r))&&r>-1&&r%1==0&&r{var uu=_i(),lu=ar(),cu=gi(),vi=ir(),fu=or();function pu(r,u,p,c){if(!vi(r))return r;u=lu(u,r);for(var w=-1,_=u.length,v=_-1,g=r;g!=null&&++w<_;){var h=fu(u[w]),x=p;if(h==="__proto__"||h==="constructor"||h==="prototype")return r;if(w!=v){var T=g[h];x=c?c(T,h,g):void 0,x===void 0&&(x=vi(T)?T:cu(u[w+1])?[]:{})}uu(g,h,x),g=g[h]}return r}di.exports=pu});var bi=I((jl,mi)=>{var yu=hi();function _u(r,u,p){return r==null?r:yu(r,u,p)}mi.exports=_u});var xi=I((ec,Ti)=>{function wu(r){var u=r==null?0:r.length;return u?r[u-1]:void 0}Ti.exports=wu});var Si=I((rc,Vi)=>{function gu(r,u,p){var c=-1,w=r.length;u<0&&(u=-u>w?0:w+u),p=p>w?w:p,p<0&&(p+=w),w=u>p?0:p-u>>>0,u>>>=0;for(var _=Array(w);++c{var du=Er(),vu=Si();function hu(r,u){return u.length<2?r:du(r,vu(u,0,-1))}ki.exports=hu});var Oi=I((nc,Ci)=>{var mu=ar(),bu=xi(),Tu=Pi(),xu=or();function Vu(r,u){return u=mu(u,r),r=Tu(r,u),r==null||delete r[xu(bu(u))]}Ci.exports=Vu});var Ei=I((ic,Ii)=>{var Su=Oi();function ku(r,u){return r==null?!0:Su(r,u)}Ii.exports=ku});var Ou={};Qi(Ou,{default:()=>Eu});var $i=G(require("@yarnpkg/core"));var ni=G(require("@yarnpkg/cli")),ur=G(require("@yarnpkg/core")),ii=G(require("@yarnpkg/core")),Le=G(require("clipanion"));var ue=G(require("@yarnpkg/core")),le=G(require("@yarnpkg/core")),Ne=G(require("@yarnpkg/fslib")),jn=G(Xr()),Re=G(kr());var Nr=G(require("@yarnpkg/core")),Rr=G(Ar()),re=G(kr()),Zn=G(require("vm")),{is_atom:ge,is_variable:Ho,is_instantiated_list:Go}=re.default.type;function Qn(r,u,p){r.prepend(p.map(c=>new re.default.type.State(u.goal.replace(c),u.substitution,u)))}var Jn=new WeakMap;function Mr(r){let u=Jn.get(r.session);if(u==null)throw new Error("Assertion failed: A project should have been registered for the active session");return u}var Yo=new re.default.type.Module("constraints",{["project_workspaces_by_descriptor/3"]:(r,u,p)=>{let[c,w,_]=p.args;if(!ge(c)||!ge(w)){r.throw_error(re.default.error.instantiation(p.indicator));return}let v=Nr.structUtils.parseIdent(c.id),g=Nr.structUtils.makeDescriptor(v,w.id),x=Mr(r).tryWorkspaceByDescriptor(g);Ho(_)&&x!==null&&Qn(r,u,[new re.default.type.Term("=",[_,new re.default.type.Term(String(x.relativeCwd))])]),ge(_)&&x!==null&&x.relativeCwd===_.id&&r.success(u)},["workspace_field/3"]:(r,u,p)=>{let[c,w,_]=p.args;if(!ge(c)||!ge(w)){r.throw_error(re.default.error.instantiation(p.indicator));return}let g=Mr(r).tryWorkspaceByCwd(c.id);if(g==null)return;let h=(0,Rr.default)(g.manifest.raw,w.id);typeof h!="undefined"&&Qn(r,u,[new re.default.type.Term("=",[_,new re.default.type.Term(typeof h=="object"?JSON.stringify(h):h)])])},["workspace_field_test/3"]:(r,u,p)=>{let[c,w,_]=p.args;r.prepend([new re.default.type.State(u.goal.replace(new re.default.type.Term("workspace_field_test",[c,w,_,new re.default.type.Term("[]",[])])),u.substitution,u)])},["workspace_field_test/4"]:(r,u,p)=>{let[c,w,_,v]=p.args;if(!ge(c)||!ge(w)||!ge(_)||!Go(v)){r.throw_error(re.default.error.instantiation(p.indicator));return}let h=Mr(r).tryWorkspaceByCwd(c.id);if(h==null)return;let x=(0,Rr.default)(h.manifest.raw,w.id);if(typeof x=="undefined")return;let T={$$:x};for(let[C,N]of v.toJavaScript().entries())T[`$${C}`]=N;Zn.default.runInNewContext(_.id,T)&&r.success(u)}},["project_workspaces_by_descriptor/3","workspace_field/3","workspace_field_test/3","workspace_field_test/4"]);function Kn(r,u){Jn.set(r,u),r.consult(`:- use_module(library(${Yo.id})).`)}(0,jn.default)(Re.default);var We;(function(c){c.Dependencies="dependencies",c.DevDependencies="devDependencies",c.PeerDependencies="peerDependencies"})(We||(We={}));var ei=[We.Dependencies,We.DevDependencies,We.PeerDependencies];function K(r){if(r instanceof Re.default.type.Num)return r.value;if(r instanceof Re.default.type.Term)switch(r.indicator){case"throw/1":return K(r.args[0]);case"error/1":return K(r.args[0]);case"error/2":if(r.args[0]instanceof Re.default.type.Term&&r.args[0].indicator==="syntax_error/1")return Object.assign(K(r.args[0]),...K(r.args[1]));{let u=K(r.args[0]);return u.message+=` (in ${K(r.args[1])})`,u}case"syntax_error/1":return new ue.ReportError(ue.MessageName.PROLOG_SYNTAX_ERROR,`Syntax error: ${K(r.args[0])}`);case"existence_error/2":return new ue.ReportError(ue.MessageName.PROLOG_EXISTENCE_ERROR,`Existence error: ${K(r.args[0])} ${K(r.args[1])} not found`);case"instantiation_error/0":return new ue.ReportError(ue.MessageName.PROLOG_INSTANTIATION_ERROR,"Instantiation error: an argument is variable when an instantiated argument was expected");case"line/1":return{line:K(r.args[0])};case"column/1":return{column:K(r.args[0])};case"found/1":return{found:K(r.args[0])};case"./2":return[K(r.args[0])].concat(K(r.args[1]));case"//2":return`${K(r.args[0])}/${K(r.args[1])}`;default:return r.id}throw`couldn't pretty print because of unsupported node ${r}`}function ri(r){let u;try{u=K(r)}catch(p){throw typeof p=="string"?new ue.ReportError(ue.MessageName.PROLOG_UNKNOWN_ERROR,`Unknown error: ${r} (note: ${p})`):p}return typeof u.line!="undefined"&&typeof u.column!="undefined"&&(u.message+=` at line ${u.line}, column ${u.column}`),u}var ti=class{constructor(u,p){this.session=Re.default.create(),Kn(this.session,u),this.session.consult(":- use_module(library(lists))."),this.session.consult(p)}fetchNextAnswer(){return new Promise(u=>{this.session.answer(p=>{u(p)})})}async*makeQuery(u){let p=this.session.query(u);if(p!==!0)throw ri(p);for(;;){let c=await this.fetchNextAnswer();if(!c)break;if(c.id==="throw")throw ri(c);yield c}}};function ke(r){return r.id==="null"?null:`${r.toJavaScript()}`}function Uo(r){if(r.id==="null")return null;{let u=r.toJavaScript();if(typeof u!="string")return JSON.stringify(u);try{return JSON.stringify(JSON.parse(u))}catch{return JSON.stringify(u)}}}var pe=class{constructor(u){this.source="";this.project=u;let p=u.configuration.get("constraintsPath");Ne.xfs.existsSync(p)&&(this.source=Ne.xfs.readFileSync(p,"utf8"))}static async find(u){return new pe(u)}getProjectDatabase(){let u="";for(let p of ei)u+=`dependency_type(${p}). +`;for(let p of this.project.workspacesByCwd.values()){let c=p.relativeCwd;u+=`workspace(${de(c)}). +`,u+=`workspace_ident(${de(c)}, ${de(le.structUtils.stringifyIdent(p.locator))}). +`,u+=`workspace_version(${de(c)}, ${de(p.manifest.version)}). +`;for(let w of ei)for(let _ of p.manifest[w].values())u+=`workspace_has_dependency(${de(c)}, ${de(le.structUtils.stringifyIdent(_))}, ${de(_.range)}, ${w}). +`}return u+=`workspace(_) :- false. +`,u+=`workspace_ident(_, _) :- false. +`,u+=`workspace_version(_, _) :- false. +`,u+=`workspace_has_dependency(_, _, _, _) :- false. +`,u}getDeclarations(){let u="";return u+=`gen_enforced_dependency(_, _, _, _) :- false. +`,u+=`gen_enforced_field(_, _, _) :- false. +`,u}get fullSource(){return`${this.getProjectDatabase()} +${this.source} +${this.getDeclarations()}`}createSession(){return new ti(this.project,this.fullSource)}async process(){let u=this.createSession();return{enforcedDependencies:await this.genEnforcedDependencies(u),enforcedFields:await this.genEnforcedFields(u)}}async genEnforcedDependencies(u){let p=[];for await(let c of u.makeQuery("workspace(WorkspaceCwd), dependency_type(DependencyType), gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType).")){let w=Ne.ppath.resolve(this.project.cwd,ke(c.links.WorkspaceCwd)),_=ke(c.links.DependencyIdent),v=ke(c.links.DependencyRange),g=ke(c.links.DependencyType);if(w===null||_===null)throw new Error("Invalid rule");let h=this.project.getWorkspaceByCwd(w),x=le.structUtils.parseIdent(_);p.push({workspace:h,dependencyIdent:x,dependencyRange:v,dependencyType:g})}return le.miscUtils.sortMap(p,[({dependencyRange:c})=>c!==null?"0":"1",({workspace:c})=>le.structUtils.stringifyIdent(c.locator),({dependencyIdent:c})=>le.structUtils.stringifyIdent(c)])}async genEnforcedFields(u){let p=[];for await(let c of u.makeQuery("workspace(WorkspaceCwd), gen_enforced_field(WorkspaceCwd, FieldPath, FieldValue).")){let w=Ne.ppath.resolve(this.project.cwd,ke(c.links.WorkspaceCwd)),_=ke(c.links.FieldPath),v=Uo(c.links.FieldValue);if(w===null||_===null)throw new Error("Invalid rule");let g=this.project.getWorkspaceByCwd(w);p.push({workspace:g,fieldPath:_,fieldValue:v})}return le.miscUtils.sortMap(p,[({workspace:c})=>le.structUtils.stringifyIdent(c.locator),({fieldPath:c})=>c])}async*query(u){let p=this.createSession();for await(let c of p.makeQuery(u)){let w={};for(let[_,v]of Object.entries(c.links))_!=="_"&&(w[_]=ke(v));yield w}}};function de(r){return typeof r=="string"?`'${r}'`:"[]"}var He=class extends ni.BaseCommand{constructor(){super(...arguments);this.json=Le.Option.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.query=Le.Option.String()}async execute(){let u=await ur.Configuration.find(this.context.cwd,this.context.plugins),{project:p}=await ur.Project.find(u,this.context.cwd),c=await pe.find(p),w=this.query;return w.endsWith(".")||(w=`${w}.`),(await ii.StreamReport.start({configuration:u,json:this.json,stdout:this.context.stdout},async v=>{for await(let g of c.query(w)){let h=Array.from(Object.entries(g)),x=h.length,T=h.reduce((b,[C])=>Math.max(b,C.length),0);for(let b=0;b{let v=new Set,g=[];for(let h=0,x=this.fix?10:1;h{await h.persistManifest()}));for(let[h,x]of g)_.reportError(h,x)});return w.hasErrors()?w.exitCode():0}};Ye.paths=[["constraints"]],Ye.usage=fr.Command.Usage({category:"Constraints-related commands",description:"check that the project constraints are met",details:` + This command will run constraints on your project and emit errors for each one that is found but isn't met. If any error is emitted the process will exit with a non-zero exit code. + + If the \`--fix\` flag is used, Yarn will attempt to automatically fix the issues the best it can, following a multi-pass process (with a maximum of 10 iterations). Some ambiguous patterns cannot be autofixed, in which case you'll have to manually specify the right resolution. + + For more information as to how to write constraints, please consult our dedicated page on our website: https://yarnpkg.com/features/constraints. + `,examples:[["Check that all constraints are satisfied","yarn constraints"],["Autofix all unmet constraints","yarn constraints --fix"]]});var qi=Ye;async function Pu(r,u,p,{configuration:c,fix:w}){let _=new Map,v=new Map;for(let{workspace:g,dependencyIdent:h,dependencyRange:x,dependencyType:T}of p){let b=v.get(g);typeof b=="undefined"&&v.set(g,b=new Map);let C=b.get(h.identHash);typeof C=="undefined"&&b.set(h.identHash,C=new Map);let N=C.get(T);typeof N=="undefined"&&C.set(T,N=new Set),_.set(h.identHash,h),N.add(x)}for(let[g,h]of v)for(let[x,T]of h){let b=_.get(x);if(typeof b=="undefined")throw new Error("Assertion failed: The ident should have been registered");for(let[C,N]of T){let W=N.has(null)?[null]:[...N];if(W.length>2)u.push([se.MessageName.CONSTRAINTS_AMBIGUITY,`${$.structUtils.prettyWorkspace(c,g)} must depend on ${$.structUtils.prettyIdent(c,b)} via conflicting ranges ${W.slice(0,-1).map(ee=>$.structUtils.prettyRange(c,String(ee))).join(", ")}, and ${$.structUtils.prettyRange(c,String(W[W.length-1]))} (in ${C})`]);else if(W.length>1)u.push([se.MessageName.CONSTRAINTS_AMBIGUITY,`${$.structUtils.prettyWorkspace(c,g)} must depend on ${$.structUtils.prettyIdent(c,b)} via conflicting ranges ${$.structUtils.prettyRange(c,String(W[0]))} and ${$.structUtils.prettyRange(c,String(W[1]))} (in ${C})`]);else{let ee=g.manifest[C].get(b.identHash),[te]=W;te!==null?ee?ee.range!==te&&(w?(g.manifest[C].set(b.identHash,$.structUtils.makeDescriptor(b,te)),r.add(g)):u.push([se.MessageName.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY,`${$.structUtils.prettyWorkspace(c,g)} must depend on ${$.structUtils.prettyIdent(c,b)} via ${$.structUtils.prettyRange(c,te)}, but uses ${$.structUtils.prettyRange(c,ee.range)} instead (in ${C})`])):w?(g.manifest[C].set(b.identHash,$.structUtils.makeDescriptor(b,te)),r.add(g)):u.push([se.MessageName.CONSTRAINTS_MISSING_DEPENDENCY,`${$.structUtils.prettyWorkspace(c,g)} must depend on ${$.structUtils.prettyIdent(c,b)} (via ${$.structUtils.prettyRange(c,te)}), but doesn't (in ${C})`]):ee&&(w?(g.manifest[C].delete(b.identHash),r.add(g)):u.push([se.MessageName.CONSTRAINTS_EXTRANEOUS_DEPENDENCY,`${$.structUtils.prettyWorkspace(c,g)} has an extraneous dependency on ${$.structUtils.prettyIdent(c,b)} (in ${C})`]))}}}}async function Cu(r,u,p,{configuration:c,fix:w}){let _=new Map;for(let{workspace:v,fieldPath:g,fieldValue:h}of p){let x=Pe.miscUtils.getMapWithDefault(_,v);Pe.miscUtils.getSetWithDefault(x,g).add(h)}for(let[v,g]of _)for(let[h,x]of g){let T=[...x];if(T.length>2)u.push([se.MessageName.CONSTRAINTS_AMBIGUITY,`${$.structUtils.prettyWorkspace(c,v)} must have a field ${$.formatUtils.pretty(c,h,"cyan")} set to conflicting values ${T.slice(0,-1).map(b=>$.formatUtils.pretty(c,String(b),"magenta")).join(", ")}, or ${$.formatUtils.pretty(c,String(T[T.length-1]),"magenta")}`]);else if(T.length>1)u.push([se.MessageName.CONSTRAINTS_AMBIGUITY,`${$.structUtils.prettyWorkspace(c,v)} must have a field ${$.formatUtils.pretty(c,h,"cyan")} set to conflicting values ${$.formatUtils.pretty(c,String(T[0]),"magenta")} or ${$.formatUtils.pretty(c,String(T[1]),"magenta")}`]);else{let b=(0,Ni.default)(v.manifest.raw,h),[C]=T;C!==null?b===void 0?w?(await qr(v,h,C),r.add(v)):u.push([se.MessageName.CONSTRAINTS_MISSING_FIELD,`${$.structUtils.prettyWorkspace(c,v)} must have a field ${$.formatUtils.pretty(c,h,"cyan")} set to ${$.formatUtils.pretty(c,String(C),"magenta")}, but doesn't`]):JSON.stringify(b)!==C&&(w?(await qr(v,h,C),r.add(v)):u.push([se.MessageName.CONSTRAINTS_INCOMPATIBLE_FIELD,`${$.structUtils.prettyWorkspace(c,v)} must have a field ${$.formatUtils.pretty(c,h,"cyan")} set to ${$.formatUtils.pretty(c,String(C),"magenta")}, but is set to ${$.formatUtils.pretty(c,JSON.stringify(b),"magenta")} instead`])):b!=null&&(w?(await qr(v,h,null),r.add(v)):u.push([se.MessageName.CONSTRAINTS_EXTRANEOUS_FIELD,`${$.structUtils.prettyWorkspace(c,v)} has an extraneous field ${$.formatUtils.pretty(c,h,"cyan")} set to ${$.formatUtils.pretty(c,JSON.stringify(b),"magenta")}`]))}}}async function qr(r,u,p){p===null?(0,Mi.default)(r.manifest.raw,u):(0,Ri.default)(r.manifest.raw,u,JSON.parse(p))}var Iu={configuration:{constraintsPath:{description:"The path of the constraints file.",type:$i.SettingsType.ABSOLUTE_PATH,default:"./constraints.pro"}},commands:[si,oi,qi]},Eu=Iu;return Ou;})(); +return plugin; +} +}; diff --git a/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs b/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs new file mode 100644 index 0000000000..b9044a0144 --- /dev/null +++ b/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs @@ -0,0 +1,28 @@ +/* eslint-disable */ +//prettier-ignore +module.exports = { +name: "@yarnpkg/plugin-workspace-tools", +factory: function (require) { +var plugin=(()=>{var wr=Object.create,me=Object.defineProperty,Sr=Object.defineProperties,vr=Object.getOwnPropertyDescriptor,Hr=Object.getOwnPropertyDescriptors,$r=Object.getOwnPropertyNames,et=Object.getOwnPropertySymbols,kr=Object.getPrototypeOf,tt=Object.prototype.hasOwnProperty,Tr=Object.prototype.propertyIsEnumerable;var rt=(e,t,r)=>t in e?me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,B=(e,t)=>{for(var r in t||(t={}))tt.call(t,r)&&rt(e,r,t[r]);if(et)for(var r of et(t))Tr.call(t,r)&&rt(e,r,t[r]);return e},Q=(e,t)=>Sr(e,Hr(t)),Lr=e=>me(e,"__esModule",{value:!0});var K=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Or=(e,t)=>{for(var r in t)me(e,r,{get:t[r],enumerable:!0})},Nr=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of $r(t))!tt.call(e,n)&&n!=="default"&&me(e,n,{get:()=>t[n],enumerable:!(r=vr(t,n))||r.enumerable});return e},X=e=>Nr(Lr(me(e!=null?wr(kr(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var $e=K(te=>{"use strict";te.isInteger=e=>typeof e=="number"?Number.isInteger(e):typeof e=="string"&&e.trim()!==""?Number.isInteger(Number(e)):!1;te.find=(e,t)=>e.nodes.find(r=>r.type===t);te.exceedsLimit=(e,t,r=1,n)=>n===!1||!te.isInteger(e)||!te.isInteger(t)?!1:(Number(t)-Number(e))/Number(r)>=n;te.escapeNode=(e,t=0,r)=>{let n=e.nodes[t];!n||(r&&n.type===r||n.type==="open"||n.type==="close")&&n.escaped!==!0&&(n.value="\\"+n.value,n.escaped=!0)};te.encloseBrace=e=>e.type!=="brace"?!1:e.commas>>0+e.ranges>>0==0?(e.invalid=!0,!0):!1;te.isInvalidBrace=e=>e.type!=="brace"?!1:e.invalid===!0||e.dollar?!0:e.commas>>0+e.ranges>>0==0||e.open!==!0||e.close!==!0?(e.invalid=!0,!0):!1;te.isOpenOrClose=e=>e.type==="open"||e.type==="close"?!0:e.open===!0||e.close===!0;te.reduce=e=>e.reduce((t,r)=>(r.type==="text"&&t.push(r.value),r.type==="range"&&(r.type="text"),t),[]);te.flatten=(...e)=>{let t=[],r=n=>{for(let s=0;s{"use strict";var it=$e();at.exports=(e,t={})=>{let r=(n,s={})=>{let a=t.escapeInvalid&&it.isInvalidBrace(s),i=n.invalid===!0&&t.escapeInvalid===!0,o="";if(n.value)return(a||i)&&it.isOpenOrClose(n)?"\\"+n.value:n.value;if(n.value)return n.value;if(n.nodes)for(let h of n.nodes)o+=r(h);return o};return r(e)}});var ct=K((os,ot)=>{"use strict";ot.exports=function(e){return typeof e=="number"?e-e==0:typeof e=="string"&&e.trim()!==""?Number.isFinite?Number.isFinite(+e):isFinite(+e):!1}});var At=K((cs,ut)=>{"use strict";var lt=ct(),pe=(e,t,r)=>{if(lt(e)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(t===void 0||e===t)return String(e);if(lt(t)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let n=B({relaxZeros:!0},r);typeof n.strictZeros=="boolean"&&(n.relaxZeros=n.strictZeros===!1);let s=String(n.relaxZeros),a=String(n.shorthand),i=String(n.capture),o=String(n.wrap),h=e+":"+t+"="+s+a+i+o;if(pe.cache.hasOwnProperty(h))return pe.cache[h].result;let g=Math.min(e,t),f=Math.max(e,t);if(Math.abs(g-f)===1){let R=e+"|"+t;return n.capture?`(${R})`:n.wrap===!1?R:`(?:${R})`}let A=ft(e)||ft(t),p={min:e,max:t,a:g,b:f},k=[],y=[];if(A&&(p.isPadded=A,p.maxLen=String(p.max).length),g<0){let R=f<0?Math.abs(f):1;y=pt(R,Math.abs(g),p,n),g=p.a=0}return f>=0&&(k=pt(g,f,p,n)),p.negatives=y,p.positives=k,p.result=Ir(y,k,n),n.capture===!0?p.result=`(${p.result})`:n.wrap!==!1&&k.length+y.length>1&&(p.result=`(?:${p.result})`),pe.cache[h]=p,p.result};function Ir(e,t,r){let n=Pe(e,t,"-",!1,r)||[],s=Pe(t,e,"",!1,r)||[],a=Pe(e,t,"-?",!0,r)||[];return n.concat(a).concat(s).join("|")}function Mr(e,t){let r=1,n=1,s=ht(e,r),a=new Set([t]);for(;e<=s&&s<=t;)a.add(s),r+=1,s=ht(e,r);for(s=dt(t+1,n)-1;e1&&o.count.pop(),o.count.push(f.count[0]),o.string=o.pattern+gt(o.count),i=g+1;continue}r.isPadded&&(A=Gr(g,r,n)),f.string=A+f.pattern+gt(f.count),a.push(f),i=g+1,o=f}return a}function Pe(e,t,r,n,s){let a=[];for(let i of e){let{string:o}=i;!n&&!mt(t,"string",o)&&a.push(r+o),n&&mt(t,"string",o)&&a.push(r+o)}return a}function Pr(e,t){let r=[];for(let n=0;nt?1:t>e?-1:0}function mt(e,t,r){return e.some(n=>n[t]===r)}function ht(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function dt(e,t){return e-e%Math.pow(10,t)}function gt(e){let[t=0,r=""]=e;return r||t>1?`{${t+(r?","+r:"")}}`:""}function Dr(e,t,r){return`[${e}${t-e==1?"":"-"}${t}]`}function ft(e){return/^-?(0+)\d/.test(e)}function Gr(e,t,r){if(!t.isPadded)return e;let n=Math.abs(t.maxLen-String(e).length),s=r.relaxZeros!==!1;switch(n){case 0:return"";case 1:return s?"0?":"0";case 2:return s?"0{0,2}":"00";default:return s?`0{0,${n}}`:`0{${n}}`}}pe.cache={};pe.clearCache=()=>pe.cache={};ut.exports=pe});var Ge=K((us,Rt)=>{"use strict";var qr=require("util"),yt=At(),bt=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),Kr=e=>t=>e===!0?Number(t):String(t),De=e=>typeof e=="number"||typeof e=="string"&&e!=="",Re=e=>Number.isInteger(+e),Ue=e=>{let t=`${e}`,r=-1;if(t[0]==="-"&&(t=t.slice(1)),t==="0")return!1;for(;t[++r]==="0";);return r>0},Wr=(e,t,r)=>typeof e=="string"||typeof t=="string"?!0:r.stringify===!0,jr=(e,t,r)=>{if(t>0){let n=e[0]==="-"?"-":"";n&&(e=e.slice(1)),e=n+e.padStart(n?t-1:t,"0")}return r===!1?String(e):e},_t=(e,t)=>{let r=e[0]==="-"?"-":"";for(r&&(e=e.slice(1),t--);e.length{e.negatives.sort((i,o)=>io?1:0),e.positives.sort((i,o)=>io?1:0);let r=t.capture?"":"?:",n="",s="",a;return e.positives.length&&(n=e.positives.join("|")),e.negatives.length&&(s=`-(${r}${e.negatives.join("|")})`),n&&s?a=`${n}|${s}`:a=n||s,t.wrap?`(${r}${a})`:a},Et=(e,t,r,n)=>{if(r)return yt(e,t,B({wrap:!1},n));let s=String.fromCharCode(e);if(e===t)return s;let a=String.fromCharCode(t);return`[${s}-${a}]`},xt=(e,t,r)=>{if(Array.isArray(e)){let n=r.wrap===!0,s=r.capture?"":"?:";return n?`(${s}${e.join("|")})`:e.join("|")}return yt(e,t,r)},Ct=(...e)=>new RangeError("Invalid range arguments: "+qr.inspect(...e)),wt=(e,t,r)=>{if(r.strictRanges===!0)throw Ct([e,t]);return[]},Qr=(e,t)=>{if(t.strictRanges===!0)throw new TypeError(`Expected step "${e}" to be a number`);return[]},Xr=(e,t,r=1,n={})=>{let s=Number(e),a=Number(t);if(!Number.isInteger(s)||!Number.isInteger(a)){if(n.strictRanges===!0)throw Ct([e,t]);return[]}s===0&&(s=0),a===0&&(a=0);let i=s>a,o=String(e),h=String(t),g=String(r);r=Math.max(Math.abs(r),1);let f=Ue(o)||Ue(h)||Ue(g),A=f?Math.max(o.length,h.length,g.length):0,p=f===!1&&Wr(e,t,n)===!1,k=n.transform||Kr(p);if(n.toRegex&&r===1)return Et(_t(e,A),_t(t,A),!0,n);let y={negatives:[],positives:[]},R=T=>y[T<0?"negatives":"positives"].push(Math.abs(T)),_=[],x=0;for(;i?s>=a:s<=a;)n.toRegex===!0&&r>1?R(s):_.push(jr(k(s,x),A,p)),s=i?s-r:s+r,x++;return n.toRegex===!0?r>1?Fr(y,n):xt(_,null,B({wrap:!1},n)):_},Zr=(e,t,r=1,n={})=>{if(!Re(e)&&e.length>1||!Re(t)&&t.length>1)return wt(e,t,n);let s=n.transform||(p=>String.fromCharCode(p)),a=`${e}`.charCodeAt(0),i=`${t}`.charCodeAt(0),o=a>i,h=Math.min(a,i),g=Math.max(a,i);if(n.toRegex&&r===1)return Et(h,g,!1,n);let f=[],A=0;for(;o?a>=i:a<=i;)f.push(s(a,A)),a=o?a-r:a+r,A++;return n.toRegex===!0?xt(f,null,{wrap:!1,options:n}):f},Te=(e,t,r,n={})=>{if(t==null&&De(e))return[e];if(!De(e)||!De(t))return wt(e,t,n);if(typeof r=="function")return Te(e,t,1,{transform:r});if(bt(r))return Te(e,t,0,r);let s=B({},n);return s.capture===!0&&(s.wrap=!0),r=r||s.step||1,Re(r)?Re(e)&&Re(t)?Xr(e,t,r,s):Zr(e,t,Math.max(Math.abs(r),1),s):r!=null&&!bt(r)?Qr(r,s):Te(e,t,1,r)};Rt.exports=Te});var Ht=K((ls,St)=>{"use strict";var Yr=Ge(),vt=$e(),zr=(e,t={})=>{let r=(n,s={})=>{let a=vt.isInvalidBrace(s),i=n.invalid===!0&&t.escapeInvalid===!0,o=a===!0||i===!0,h=t.escapeInvalid===!0?"\\":"",g="";if(n.isOpen===!0||n.isClose===!0)return h+n.value;if(n.type==="open")return o?h+n.value:"(";if(n.type==="close")return o?h+n.value:")";if(n.type==="comma")return n.prev.type==="comma"?"":o?n.value:"|";if(n.value)return n.value;if(n.nodes&&n.ranges>0){let f=vt.reduce(n.nodes),A=Yr(...f,Q(B({},t),{wrap:!1,toRegex:!0}));if(A.length!==0)return f.length>1&&A.length>1?`(${A})`:A}if(n.nodes)for(let f of n.nodes)g+=r(f,n);return g};return r(e)};St.exports=zr});var Tt=K((ps,$t)=>{"use strict";var Vr=Ge(),kt=ke(),he=$e(),fe=(e="",t="",r=!1)=>{let n=[];if(e=[].concat(e),t=[].concat(t),!t.length)return e;if(!e.length)return r?he.flatten(t).map(s=>`{${s}}`):t;for(let s of e)if(Array.isArray(s))for(let a of s)n.push(fe(a,t,r));else for(let a of t)r===!0&&typeof a=="string"&&(a=`{${a}}`),n.push(Array.isArray(a)?fe(s,a,r):s+a);return he.flatten(n)},Jr=(e,t={})=>{let r=t.rangeLimit===void 0?1e3:t.rangeLimit,n=(s,a={})=>{s.queue=[];let i=a,o=a.queue;for(;i.type!=="brace"&&i.type!=="root"&&i.parent;)i=i.parent,o=i.queue;if(s.invalid||s.dollar){o.push(fe(o.pop(),kt(s,t)));return}if(s.type==="brace"&&s.invalid!==!0&&s.nodes.length===2){o.push(fe(o.pop(),["{}"]));return}if(s.nodes&&s.ranges>0){let A=he.reduce(s.nodes);if(he.exceedsLimit(...A,t.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let p=Vr(...A,t);p.length===0&&(p=kt(s,t)),o.push(fe(o.pop(),p)),s.nodes=[];return}let h=he.encloseBrace(s),g=s.queue,f=s;for(;f.type!=="brace"&&f.type!=="root"&&f.parent;)f=f.parent,g=f.queue;for(let A=0;A{"use strict";Lt.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var Pt=K((hs,Nt)=>{"use strict";var en=ke(),{MAX_LENGTH:It,CHAR_BACKSLASH:qe,CHAR_BACKTICK:tn,CHAR_COMMA:rn,CHAR_DOT:nn,CHAR_LEFT_PARENTHESES:sn,CHAR_RIGHT_PARENTHESES:an,CHAR_LEFT_CURLY_BRACE:on,CHAR_RIGHT_CURLY_BRACE:cn,CHAR_LEFT_SQUARE_BRACKET:Bt,CHAR_RIGHT_SQUARE_BRACKET:Mt,CHAR_DOUBLE_QUOTE:un,CHAR_SINGLE_QUOTE:ln,CHAR_NO_BREAK_SPACE:pn,CHAR_ZERO_WIDTH_NOBREAK_SPACE:fn}=Ot(),hn=(e,t={})=>{if(typeof e!="string")throw new TypeError("Expected a string");let r=t||{},n=typeof r.maxLength=="number"?Math.min(It,r.maxLength):It;if(e.length>n)throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${n})`);let s={type:"root",input:e,nodes:[]},a=[s],i=s,o=s,h=0,g=e.length,f=0,A=0,p,k={},y=()=>e[f++],R=_=>{if(_.type==="text"&&o.type==="dot"&&(o.type="text"),o&&o.type==="text"&&_.type==="text"){o.value+=_.value;return}return i.nodes.push(_),_.parent=i,_.prev=o,o=_,_};for(R({type:"bos"});f0){if(i.ranges>0){i.ranges=0;let _=i.nodes.shift();i.nodes=[_,{type:"text",value:en(i)}]}R({type:"comma",value:p}),i.commas++;continue}if(p===nn&&A>0&&i.commas===0){let _=i.nodes;if(A===0||_.length===0){R({type:"text",value:p});continue}if(o.type==="dot"){if(i.range=[],o.value+=p,o.type="range",i.nodes.length!==3&&i.nodes.length!==5){i.invalid=!0,i.ranges=0,o.type="text";continue}i.ranges++,i.args=[];continue}if(o.type==="range"){_.pop();let x=_[_.length-1];x.value+=o.value+p,o=x,i.ranges--;continue}R({type:"dot",value:p});continue}R({type:"text",value:p})}do if(i=a.pop(),i.type!=="root"){i.nodes.forEach(T=>{T.nodes||(T.type==="open"&&(T.isOpen=!0),T.type==="close"&&(T.isClose=!0),T.nodes||(T.type="text"),T.invalid=!0)});let _=a[a.length-1],x=_.nodes.indexOf(i);_.nodes.splice(x,1,...i.nodes)}while(a.length>0);return R({type:"eos"}),s};Nt.exports=hn});var Gt=K((ds,Dt)=>{"use strict";var Ut=ke(),dn=Ht(),gn=Tt(),mn=Pt(),V=(e,t={})=>{let r=[];if(Array.isArray(e))for(let n of e){let s=V.create(n,t);Array.isArray(s)?r.push(...s):r.push(s)}else r=[].concat(V.create(e,t));return t&&t.expand===!0&&t.nodupes===!0&&(r=[...new Set(r)]),r};V.parse=(e,t={})=>mn(e,t);V.stringify=(e,t={})=>typeof e=="string"?Ut(V.parse(e,t),t):Ut(e,t);V.compile=(e,t={})=>(typeof e=="string"&&(e=V.parse(e,t)),dn(e,t));V.expand=(e,t={})=>{typeof e=="string"&&(e=V.parse(e,t));let r=gn(e,t);return t.noempty===!0&&(r=r.filter(Boolean)),t.nodupes===!0&&(r=[...new Set(r)]),r};V.create=(e,t={})=>e===""||e.length<3?[e]:t.expand!==!0?V.compile(e,t):V.expand(e,t);Dt.exports=V});var ye=K((gs,qt)=>{"use strict";var An=require("path"),ie="\\\\/",Kt=`[^${ie}]`,ce="\\.",Rn="\\+",yn="\\?",Le="\\/",bn="(?=.)",Wt="[^/]",Ke=`(?:${Le}|$)`,jt=`(?:^|${Le})`,We=`${ce}{1,2}${Ke}`,_n=`(?!${ce})`,En=`(?!${jt}${We})`,xn=`(?!${ce}{0,1}${Ke})`,Cn=`(?!${We})`,wn=`[^.${Le}]`,Sn=`${Wt}*?`,Ft={DOT_LITERAL:ce,PLUS_LITERAL:Rn,QMARK_LITERAL:yn,SLASH_LITERAL:Le,ONE_CHAR:bn,QMARK:Wt,END_ANCHOR:Ke,DOTS_SLASH:We,NO_DOT:_n,NO_DOTS:En,NO_DOT_SLASH:xn,NO_DOTS_SLASH:Cn,QMARK_NO_DOT:wn,STAR:Sn,START_ANCHOR:jt},vn=Q(B({},Ft),{SLASH_LITERAL:`[${ie}]`,QMARK:Kt,STAR:`${Kt}*?`,DOTS_SLASH:`${ce}{1,2}(?:[${ie}]|$)`,NO_DOT:`(?!${ce})`,NO_DOTS:`(?!(?:^|[${ie}])${ce}{1,2}(?:[${ie}]|$))`,NO_DOT_SLASH:`(?!${ce}{0,1}(?:[${ie}]|$))`,NO_DOTS_SLASH:`(?!${ce}{1,2}(?:[${ie}]|$))`,QMARK_NO_DOT:`[^.${ie}]`,START_ANCHOR:`(?:^|[${ie}])`,END_ANCHOR:`(?:[${ie}]|$)`}),Hn={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};qt.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Hn,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:An.sep,extglobChars(e){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===!0?vn:Ft}}});var be=K(Z=>{"use strict";var $n=require("path"),kn=process.platform==="win32",{REGEX_BACKSLASH:Tn,REGEX_REMOVE_BACKSLASH:Ln,REGEX_SPECIAL_CHARS:On,REGEX_SPECIAL_CHARS_GLOBAL:Nn}=ye();Z.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);Z.hasRegexChars=e=>On.test(e);Z.isRegexChar=e=>e.length===1&&Z.hasRegexChars(e);Z.escapeRegex=e=>e.replace(Nn,"\\$1");Z.toPosixSlashes=e=>e.replace(Tn,"/");Z.removeBackslashes=e=>e.replace(Ln,t=>t==="\\"?"":t);Z.supportsLookbehinds=()=>{let e=process.version.slice(1).split(".").map(Number);return e.length===3&&e[0]>=9||e[0]===8&&e[1]>=10};Z.isWindows=e=>e&&typeof e.windows=="boolean"?e.windows:kn===!0||$n.sep==="\\";Z.escapeLast=(e,t,r)=>{let n=e.lastIndexOf(t,r);return n===-1?e:e[n-1]==="\\"?Z.escapeLast(e,t,n-1):`${e.slice(0,n)}\\${e.slice(n)}`};Z.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r};Z.wrapOutput=(e,t={},r={})=>{let n=r.contains?"":"^",s=r.contains?"":"$",a=`${n}(?:${e})${s}`;return t.negated===!0&&(a=`(?:^(?!${a}).*$)`),a}});var er=K((As,Qt)=>{"use strict";var Xt=be(),{CHAR_ASTERISK:je,CHAR_AT:In,CHAR_BACKWARD_SLASH:_e,CHAR_COMMA:Bn,CHAR_DOT:Fe,CHAR_EXCLAMATION_MARK:Qe,CHAR_FORWARD_SLASH:Zt,CHAR_LEFT_CURLY_BRACE:Xe,CHAR_LEFT_PARENTHESES:Ze,CHAR_LEFT_SQUARE_BRACKET:Mn,CHAR_PLUS:Pn,CHAR_QUESTION_MARK:Yt,CHAR_RIGHT_CURLY_BRACE:Dn,CHAR_RIGHT_PARENTHESES:zt,CHAR_RIGHT_SQUARE_BRACKET:Un}=ye(),Vt=e=>e===Zt||e===_e,Jt=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?Infinity:1)},Gn=(e,t)=>{let r=t||{},n=e.length-1,s=r.parts===!0||r.scanToEnd===!0,a=[],i=[],o=[],h=e,g=-1,f=0,A=0,p=!1,k=!1,y=!1,R=!1,_=!1,x=!1,T=!1,O=!1,W=!1,G=!1,ne=0,E,b,C={value:"",depth:0,isGlob:!1},M=()=>g>=n,l=()=>h.charCodeAt(g+1),H=()=>(E=b,h.charCodeAt(++g));for(;g0&&(j=h.slice(0,f),h=h.slice(f),A-=f),w&&y===!0&&A>0?(w=h.slice(0,A),c=h.slice(A)):y===!0?(w="",c=h):w=h,w&&w!==""&&w!=="/"&&w!==h&&Vt(w.charCodeAt(w.length-1))&&(w=w.slice(0,-1)),r.unescape===!0&&(c&&(c=Xt.removeBackslashes(c)),w&&T===!0&&(w=Xt.removeBackslashes(w)));let u={prefix:j,input:e,start:f,base:w,glob:c,isBrace:p,isBracket:k,isGlob:y,isExtglob:R,isGlobstar:_,negated:O,negatedExtglob:W};if(r.tokens===!0&&(u.maxDepth=0,Vt(b)||i.push(C),u.tokens=i),r.parts===!0||r.tokens===!0){let I;for(let $=0;${"use strict";var Oe=ye(),J=be(),{MAX_LENGTH:Ne,POSIX_REGEX_SOURCE:qn,REGEX_NON_SPECIAL_CHARS:Kn,REGEX_SPECIAL_CHARS_BACKREF:Wn,REPLACEMENTS:rr}=Oe,jn=(e,t)=>{if(typeof t.expandRange=="function")return t.expandRange(...e,t);e.sort();let r=`[${e.join("-")}]`;try{new RegExp(r)}catch(n){return e.map(s=>J.escapeRegex(s)).join("..")}return r},de=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,nr=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=rr[e]||e;let r=B({},t),n=typeof r.maxLength=="number"?Math.min(Ne,r.maxLength):Ne,s=e.length;if(s>n)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${n}`);let a={type:"bos",value:"",output:r.prepend||""},i=[a],o=r.capture?"":"?:",h=J.isWindows(t),g=Oe.globChars(h),f=Oe.extglobChars(g),{DOT_LITERAL:A,PLUS_LITERAL:p,SLASH_LITERAL:k,ONE_CHAR:y,DOTS_SLASH:R,NO_DOT:_,NO_DOT_SLASH:x,NO_DOTS_SLASH:T,QMARK:O,QMARK_NO_DOT:W,STAR:G,START_ANCHOR:ne}=g,E=m=>`(${o}(?:(?!${ne}${m.dot?R:A}).)*?)`,b=r.dot?"":_,C=r.dot?O:W,M=r.bash===!0?E(r):G;r.capture&&(M=`(${M})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let l={input:e,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:i};e=J.removePrefix(e,l),s=e.length;let H=[],w=[],j=[],c=a,u,I=()=>l.index===s-1,$=l.peek=(m=1)=>e[l.index+m],ee=l.advance=()=>e[++l.index]||"",se=()=>e.slice(l.index+1),z=(m="",L=0)=>{l.consumed+=m,l.index+=L},Ce=m=>{l.output+=m.output!=null?m.output:m.value,z(m.value)},xr=()=>{let m=1;for(;$()==="!"&&($(2)!=="("||$(3)==="?");)ee(),l.start++,m++;return m%2==0?!1:(l.negated=!0,l.start++,!0)},we=m=>{l[m]++,j.push(m)},ue=m=>{l[m]--,j.pop()},v=m=>{if(c.type==="globstar"){let L=l.braces>0&&(m.type==="comma"||m.type==="brace"),d=m.extglob===!0||H.length&&(m.type==="pipe"||m.type==="paren");m.type!=="slash"&&m.type!=="paren"&&!L&&!d&&(l.output=l.output.slice(0,-c.output.length),c.type="star",c.value="*",c.output=M,l.output+=c.output)}if(H.length&&m.type!=="paren"&&(H[H.length-1].inner+=m.value),(m.value||m.output)&&Ce(m),c&&c.type==="text"&&m.type==="text"){c.value+=m.value,c.output=(c.output||"")+m.value;return}m.prev=c,i.push(m),c=m},Se=(m,L)=>{let d=Q(B({},f[L]),{conditions:1,inner:""});d.prev=c,d.parens=l.parens,d.output=l.output;let S=(r.capture?"(":"")+d.open;we("parens"),v({type:m,value:L,output:l.output?"":y}),v({type:"paren",extglob:!0,value:ee(),output:S}),H.push(d)},Cr=m=>{let L=m.close+(r.capture?")":""),d;if(m.type==="negate"){let S=M;m.inner&&m.inner.length>1&&m.inner.includes("/")&&(S=E(r)),(S!==M||I()||/^\)+$/.test(se()))&&(L=m.close=`)$))${S}`),m.inner.includes("*")&&(d=se())&&/^\.[^\\/.]+$/.test(d)&&(L=m.close=`)${d})${S})`),m.prev.type==="bos"&&(l.negatedExtglob=!0)}v({type:"paren",extglob:!0,value:u,output:L}),ue("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let m=!1,L=e.replace(Wn,(d,S,P,F,q,Me)=>F==="\\"?(m=!0,d):F==="?"?S?S+F+(q?O.repeat(q.length):""):Me===0?C+(q?O.repeat(q.length):""):O.repeat(P.length):F==="."?A.repeat(P.length):F==="*"?S?S+F+(q?M:""):M:S?d:`\\${d}`);return m===!0&&(r.unescape===!0?L=L.replace(/\\/g,""):L=L.replace(/\\+/g,d=>d.length%2==0?"\\\\":d?"\\":"")),L===e&&r.contains===!0?(l.output=e,l):(l.output=J.wrapOutput(L,l,t),l)}for(;!I();){if(u=ee(),u==="\0")continue;if(u==="\\"){let d=$();if(d==="/"&&r.bash!==!0||d==="."||d===";")continue;if(!d){u+="\\",v({type:"text",value:u});continue}let S=/^\\+/.exec(se()),P=0;if(S&&S[0].length>2&&(P=S[0].length,l.index+=P,P%2!=0&&(u+="\\")),r.unescape===!0?u=ee():u+=ee(),l.brackets===0){v({type:"text",value:u});continue}}if(l.brackets>0&&(u!=="]"||c.value==="["||c.value==="[^")){if(r.posix!==!1&&u===":"){let d=c.value.slice(1);if(d.includes("[")&&(c.posix=!0,d.includes(":"))){let S=c.value.lastIndexOf("["),P=c.value.slice(0,S),F=c.value.slice(S+2),q=qn[F];if(q){c.value=P+q,l.backtrack=!0,ee(),!a.output&&i.indexOf(c)===1&&(a.output=y);continue}}}(u==="["&&$()!==":"||u==="-"&&$()==="]")&&(u=`\\${u}`),u==="]"&&(c.value==="["||c.value==="[^")&&(u=`\\${u}`),r.posix===!0&&u==="!"&&c.value==="["&&(u="^"),c.value+=u,Ce({value:u});continue}if(l.quotes===1&&u!=='"'){u=J.escapeRegex(u),c.value+=u,Ce({value:u});continue}if(u==='"'){l.quotes=l.quotes===1?0:1,r.keepQuotes===!0&&v({type:"text",value:u});continue}if(u==="("){we("parens"),v({type:"paren",value:u});continue}if(u===")"){if(l.parens===0&&r.strictBrackets===!0)throw new SyntaxError(de("opening","("));let d=H[H.length-1];if(d&&l.parens===d.parens+1){Cr(H.pop());continue}v({type:"paren",value:u,output:l.parens?")":"\\)"}),ue("parens");continue}if(u==="["){if(r.nobracket===!0||!se().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(de("closing","]"));u=`\\${u}`}else we("brackets");v({type:"bracket",value:u});continue}if(u==="]"){if(r.nobracket===!0||c&&c.type==="bracket"&&c.value.length===1){v({type:"text",value:u,output:`\\${u}`});continue}if(l.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(de("opening","["));v({type:"text",value:u,output:`\\${u}`});continue}ue("brackets");let d=c.value.slice(1);if(c.posix!==!0&&d[0]==="^"&&!d.includes("/")&&(u=`/${u}`),c.value+=u,Ce({value:u}),r.literalBrackets===!1||J.hasRegexChars(d))continue;let S=J.escapeRegex(c.value);if(l.output=l.output.slice(0,-c.value.length),r.literalBrackets===!0){l.output+=S,c.value=S;continue}c.value=`(${o}${S}|${c.value})`,l.output+=c.value;continue}if(u==="{"&&r.nobrace!==!0){we("braces");let d={type:"brace",value:u,output:"(",outputIndex:l.output.length,tokensIndex:l.tokens.length};w.push(d),v(d);continue}if(u==="}"){let d=w[w.length-1];if(r.nobrace===!0||!d){v({type:"text",value:u,output:u});continue}let S=")";if(d.dots===!0){let P=i.slice(),F=[];for(let q=P.length-1;q>=0&&(i.pop(),P[q].type!=="brace");q--)P[q].type!=="dots"&&F.unshift(P[q].value);S=jn(F,r),l.backtrack=!0}if(d.comma!==!0&&d.dots!==!0){let P=l.output.slice(0,d.outputIndex),F=l.tokens.slice(d.tokensIndex);d.value=d.output="\\{",u=S="\\}",l.output=P;for(let q of F)l.output+=q.output||q.value}v({type:"brace",value:u,output:S}),ue("braces"),w.pop();continue}if(u==="|"){H.length>0&&H[H.length-1].conditions++,v({type:"text",value:u});continue}if(u===","){let d=u,S=w[w.length-1];S&&j[j.length-1]==="braces"&&(S.comma=!0,d="|"),v({type:"comma",value:u,output:d});continue}if(u==="/"){if(c.type==="dot"&&l.index===l.start+1){l.start=l.index+1,l.consumed="",l.output="",i.pop(),c=a;continue}v({type:"slash",value:u,output:k});continue}if(u==="."){if(l.braces>0&&c.type==="dot"){c.value==="."&&(c.output=A);let d=w[w.length-1];c.type="dots",c.output+=u,c.value+=u,d.dots=!0;continue}if(l.braces+l.parens===0&&c.type!=="bos"&&c.type!=="slash"){v({type:"text",value:u,output:A});continue}v({type:"dot",value:u,output:A});continue}if(u==="?"){if(!(c&&c.value==="(")&&r.noextglob!==!0&&$()==="("&&$(2)!=="?"){Se("qmark",u);continue}if(c&&c.type==="paren"){let S=$(),P=u;if(S==="<"&&!J.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(c.value==="("&&!/[!=<:]/.test(S)||S==="<"&&!/<([!=]|\w+>)/.test(se()))&&(P=`\\${u}`),v({type:"text",value:u,output:P});continue}if(r.dot!==!0&&(c.type==="slash"||c.type==="bos")){v({type:"qmark",value:u,output:W});continue}v({type:"qmark",value:u,output:O});continue}if(u==="!"){if(r.noextglob!==!0&&$()==="("&&($(2)!=="?"||!/[!=<:]/.test($(3)))){Se("negate",u);continue}if(r.nonegate!==!0&&l.index===0){xr();continue}}if(u==="+"){if(r.noextglob!==!0&&$()==="("&&$(2)!=="?"){Se("plus",u);continue}if(c&&c.value==="("||r.regex===!1){v({type:"plus",value:u,output:p});continue}if(c&&(c.type==="bracket"||c.type==="paren"||c.type==="brace")||l.parens>0){v({type:"plus",value:u});continue}v({type:"plus",value:p});continue}if(u==="@"){if(r.noextglob!==!0&&$()==="("&&$(2)!=="?"){v({type:"at",extglob:!0,value:u,output:""});continue}v({type:"text",value:u});continue}if(u!=="*"){(u==="$"||u==="^")&&(u=`\\${u}`);let d=Kn.exec(se());d&&(u+=d[0],l.index+=d[0].length),v({type:"text",value:u});continue}if(c&&(c.type==="globstar"||c.star===!0)){c.type="star",c.star=!0,c.value+=u,c.output=M,l.backtrack=!0,l.globstar=!0,z(u);continue}let m=se();if(r.noextglob!==!0&&/^\([^?]/.test(m)){Se("star",u);continue}if(c.type==="star"){if(r.noglobstar===!0){z(u);continue}let d=c.prev,S=d.prev,P=d.type==="slash"||d.type==="bos",F=S&&(S.type==="star"||S.type==="globstar");if(r.bash===!0&&(!P||m[0]&&m[0]!=="/")){v({type:"star",value:u,output:""});continue}let q=l.braces>0&&(d.type==="comma"||d.type==="brace"),Me=H.length&&(d.type==="pipe"||d.type==="paren");if(!P&&d.type!=="paren"&&!q&&!Me){v({type:"star",value:u,output:""});continue}for(;m.slice(0,3)==="/**";){let ve=e[l.index+4];if(ve&&ve!=="/")break;m=m.slice(3),z("/**",3)}if(d.type==="bos"&&I()){c.type="globstar",c.value+=u,c.output=E(r),l.output=c.output,l.globstar=!0,z(u);continue}if(d.type==="slash"&&d.prev.type!=="bos"&&!F&&I()){l.output=l.output.slice(0,-(d.output+c.output).length),d.output=`(?:${d.output}`,c.type="globstar",c.output=E(r)+(r.strictSlashes?")":"|$)"),c.value+=u,l.globstar=!0,l.output+=d.output+c.output,z(u);continue}if(d.type==="slash"&&d.prev.type!=="bos"&&m[0]==="/"){let ve=m[1]!==void 0?"|$":"";l.output=l.output.slice(0,-(d.output+c.output).length),d.output=`(?:${d.output}`,c.type="globstar",c.output=`${E(r)}${k}|${k}${ve})`,c.value+=u,l.output+=d.output+c.output,l.globstar=!0,z(u+ee()),v({type:"slash",value:"/",output:""});continue}if(d.type==="bos"&&m[0]==="/"){c.type="globstar",c.value+=u,c.output=`(?:^|${k}|${E(r)}${k})`,l.output=c.output,l.globstar=!0,z(u+ee()),v({type:"slash",value:"/",output:""});continue}l.output=l.output.slice(0,-c.output.length),c.type="globstar",c.output=E(r),c.value+=u,l.output+=c.output,l.globstar=!0,z(u);continue}let L={type:"star",value:u,output:M};if(r.bash===!0){L.output=".*?",(c.type==="bos"||c.type==="slash")&&(L.output=b+L.output),v(L);continue}if(c&&(c.type==="bracket"||c.type==="paren")&&r.regex===!0){L.output=u,v(L);continue}(l.index===l.start||c.type==="slash"||c.type==="dot")&&(c.type==="dot"?(l.output+=x,c.output+=x):r.dot===!0?(l.output+=T,c.output+=T):(l.output+=b,c.output+=b),$()!=="*"&&(l.output+=y,c.output+=y)),v(L)}for(;l.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(de("closing","]"));l.output=J.escapeLast(l.output,"["),ue("brackets")}for(;l.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(de("closing",")"));l.output=J.escapeLast(l.output,"("),ue("parens")}for(;l.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(de("closing","}"));l.output=J.escapeLast(l.output,"{"),ue("braces")}if(r.strictSlashes!==!0&&(c.type==="star"||c.type==="bracket")&&v({type:"maybe_slash",value:"",output:`${k}?`}),l.backtrack===!0){l.output="";for(let m of l.tokens)l.output+=m.output!=null?m.output:m.value,m.suffix&&(l.output+=m.suffix)}return l};nr.fastpaths=(e,t)=>{let r=B({},t),n=typeof r.maxLength=="number"?Math.min(Ne,r.maxLength):Ne,s=e.length;if(s>n)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${n}`);e=rr[e]||e;let a=J.isWindows(t),{DOT_LITERAL:i,SLASH_LITERAL:o,ONE_CHAR:h,DOTS_SLASH:g,NO_DOT:f,NO_DOTS:A,NO_DOTS_SLASH:p,STAR:k,START_ANCHOR:y}=Oe.globChars(a),R=r.dot?A:f,_=r.dot?p:f,x=r.capture?"":"?:",T={negated:!1,prefix:""},O=r.bash===!0?".*?":k;r.capture&&(O=`(${O})`);let W=b=>b.noglobstar===!0?O:`(${x}(?:(?!${y}${b.dot?g:i}).)*?)`,G=b=>{switch(b){case"*":return`${R}${h}${O}`;case".*":return`${i}${h}${O}`;case"*.*":return`${R}${O}${i}${h}${O}`;case"*/*":return`${R}${O}${o}${h}${_}${O}`;case"**":return R+W(r);case"**/*":return`(?:${R}${W(r)}${o})?${_}${h}${O}`;case"**/*.*":return`(?:${R}${W(r)}${o})?${_}${O}${i}${h}${O}`;case"**/.*":return`(?:${R}${W(r)}${o})?${i}${h}${O}`;default:{let C=/^(.*?)\.(\w+)$/.exec(b);if(!C)return;let M=G(C[1]);return M?M+i+C[2]:void 0}}},ne=J.removePrefix(e,T),E=G(ne);return E&&r.strictSlashes!==!0&&(E+=`${o}?`),E};tr.exports=nr});var ir=K((ys,ar)=>{"use strict";var Fn=require("path"),Qn=er(),Ye=sr(),ze=be(),Xn=ye(),Zn=e=>e&&typeof e=="object"&&!Array.isArray(e),D=(e,t,r=!1)=>{if(Array.isArray(e)){let f=e.map(p=>D(p,t,r));return p=>{for(let k of f){let y=k(p);if(y)return y}return!1}}let n=Zn(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let s=t||{},a=ze.isWindows(t),i=n?D.compileRe(e,t):D.makeRe(e,t,!1,!0),o=i.state;delete i.state;let h=()=>!1;if(s.ignore){let f=Q(B({},t),{ignore:null,onMatch:null,onResult:null});h=D(s.ignore,f,r)}let g=(f,A=!1)=>{let{isMatch:p,match:k,output:y}=D.test(f,i,t,{glob:e,posix:a}),R={glob:e,state:o,regex:i,posix:a,input:f,output:y,match:k,isMatch:p};return typeof s.onResult=="function"&&s.onResult(R),p===!1?(R.isMatch=!1,A?R:!1):h(f)?(typeof s.onIgnore=="function"&&s.onIgnore(R),R.isMatch=!1,A?R:!1):(typeof s.onMatch=="function"&&s.onMatch(R),A?R:!0)};return r&&(g.state=o),g};D.test=(e,t,r,{glob:n,posix:s}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return{isMatch:!1,output:""};let a=r||{},i=a.format||(s?ze.toPosixSlashes:null),o=e===n,h=o&&i?i(e):e;return o===!1&&(h=i?i(e):e,o=h===n),(o===!1||a.capture===!0)&&(a.matchBase===!0||a.basename===!0?o=D.matchBase(e,t,r,s):o=t.exec(h)),{isMatch:Boolean(o),match:o,output:h}};D.matchBase=(e,t,r,n=ze.isWindows(r))=>(t instanceof RegExp?t:D.makeRe(t,r)).test(Fn.basename(e));D.isMatch=(e,t,r)=>D(t,r)(e);D.parse=(e,t)=>Array.isArray(e)?e.map(r=>D.parse(r,t)):Ye(e,Q(B({},t),{fastpaths:!1}));D.scan=(e,t)=>Qn(e,t);D.compileRe=(e,t,r=!1,n=!1)=>{if(r===!0)return e.output;let s=t||{},a=s.contains?"":"^",i=s.contains?"":"$",o=`${a}(?:${e.output})${i}`;e&&e.negated===!0&&(o=`^(?!${o}).*$`);let h=D.toRegex(o,t);return n===!0&&(h.state=e),h};D.makeRe=(e,t={},r=!1,n=!1)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let s={negated:!1,fastpaths:!0};return t.fastpaths!==!1&&(e[0]==="."||e[0]==="*")&&(s.output=Ye.fastpaths(e,t)),s.output||(s=Ye(e,t)),D.compileRe(s,t,r,n)};D.toRegex=(e,t)=>{try{let r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(r){if(t&&t.debug===!0)throw r;return/$^/}};D.constants=Xn;ar.exports=D});var cr=K((bs,or)=>{"use strict";or.exports=ir()});var hr=K((_s,ur)=>{"use strict";var lr=require("util"),pr=Gt(),oe=cr(),Ve=be(),fr=e=>e===""||e==="./",N=(e,t,r)=>{t=[].concat(t),e=[].concat(e);let n=new Set,s=new Set,a=new Set,i=0,o=f=>{a.add(f.output),r&&r.onResult&&r.onResult(f)};for(let f=0;f!n.has(f));if(r&&g.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${t.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?t.map(f=>f.replace(/\\/g,"")):t}return g};N.match=N;N.matcher=(e,t)=>oe(e,t);N.isMatch=(e,t,r)=>oe(t,r)(e);N.any=N.isMatch;N.not=(e,t,r={})=>{t=[].concat(t).map(String);let n=new Set,s=[],a=o=>{r.onResult&&r.onResult(o),s.push(o.output)},i=N(e,t,Q(B({},r),{onResult:a}));for(let o of s)i.includes(o)||n.add(o);return[...n]};N.contains=(e,t,r)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${lr.inspect(e)}"`);if(Array.isArray(t))return t.some(n=>N.contains(e,n,r));if(typeof t=="string"){if(fr(e)||fr(t))return!1;if(e.includes(t)||e.startsWith("./")&&e.slice(2).includes(t))return!0}return N.isMatch(e,t,Q(B({},r),{contains:!0}))};N.matchKeys=(e,t,r)=>{if(!Ve.isObject(e))throw new TypeError("Expected the first argument to be an object");let n=N(Object.keys(e),t,r),s={};for(let a of n)s[a]=e[a];return s};N.some=(e,t,r)=>{let n=[].concat(e);for(let s of[].concat(t)){let a=oe(String(s),r);if(n.some(i=>a(i)))return!0}return!1};N.every=(e,t,r)=>{let n=[].concat(e);for(let s of[].concat(t)){let a=oe(String(s),r);if(!n.every(i=>a(i)))return!1}return!0};N.all=(e,t,r)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${lr.inspect(e)}"`);return[].concat(t).every(n=>oe(n,r)(e))};N.capture=(e,t,r)=>{let n=Ve.isWindows(r),a=oe.makeRe(String(e),Q(B({},r),{capture:!0})).exec(n?Ve.toPosixSlashes(t):t);if(a)return a.slice(1).map(i=>i===void 0?"":i)};N.makeRe=(...e)=>oe.makeRe(...e);N.scan=(...e)=>oe.scan(...e);N.parse=(e,t)=>{let r=[];for(let n of[].concat(e||[]))for(let s of pr(String(n),t))r.push(oe.parse(s,t));return r};N.braces=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return t&&t.nobrace===!0||!/\{.*\}/.test(e)?[e]:pr(e,t)};N.braceExpand=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return N.braces(e,Q(B({},t),{expand:!0}))};ur.exports=N});var gr=K((Es,dr)=>{"use strict";dr.exports=(e,...t)=>new Promise(r=>{r(e(...t))})});var Ar=K((xs,Je)=>{"use strict";var Yn=gr(),mr=e=>{if(e<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let t=[],r=0,n=()=>{r--,t.length>0&&t.shift()()},s=(o,h,...g)=>{r++;let f=Yn(o,...g);h(f),f.then(n,n)},a=(o,h,...g)=>{rnew Promise(g=>a(o,g,...h));return Object.defineProperties(i,{activeCount:{get:()=>r},pendingCount:{get:()=>t.length}}),i};Je.exports=mr;Je.exports.default=mr});var Vn={};Or(Vn,{default:()=>es});var He=X(require("@yarnpkg/cli")),ae=X(require("@yarnpkg/core")),nt=X(require("@yarnpkg/core")),le=X(require("clipanion")),Ae=class extends He.BaseCommand{constructor(){super(...arguments);this.json=le.Option.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=le.Option.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=le.Option.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=le.Option.Rest()}async execute(){let t=await ae.Configuration.find(this.context.cwd,this.context.plugins),{project:r,workspace:n}=await ae.Project.find(t,this.context.cwd),s=await ae.Cache.find(t);await r.restoreInstallState({restoreResolutions:!1});let a;if(this.all)a=new Set(r.workspaces);else if(this.workspaces.length===0){if(!n)throw new He.WorkspaceRequiredError(r.cwd,this.context.cwd);a=new Set([n])}else a=new Set(this.workspaces.map(o=>r.getWorkspaceByIdent(nt.structUtils.parseIdent(o))));for(let o of a)for(let h of this.production?["dependencies"]:ae.Manifest.hardDependencies)for(let g of o.manifest.getForScope(h).values()){let f=r.tryWorkspaceByDescriptor(g);f!==null&&a.add(f)}for(let o of r.workspaces)a.has(o)?this.production&&o.manifest.devDependencies.clear():(o.manifest.installConfig=o.manifest.installConfig||{},o.manifest.installConfig.selfReferences=!1,o.manifest.dependencies.clear(),o.manifest.devDependencies.clear(),o.manifest.peerDependencies.clear(),o.manifest.scripts.clear());return(await ae.StreamReport.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!0},async o=>{await r.install({cache:s,report:o,persistProject:!1})})).exitCode()}};Ae.paths=[["workspaces","focus"]],Ae.usage=le.Command.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "});var st=Ae;var Ie=X(require("@yarnpkg/cli")),ge=X(require("@yarnpkg/core")),Ee=X(require("@yarnpkg/core")),Y=X(require("@yarnpkg/core")),Rr=X(require("@yarnpkg/plugin-git")),U=X(require("clipanion")),Be=X(hr()),yr=X(require("os")),br=X(Ar()),re=X(require("typanion")),xe=class extends Ie.BaseCommand{constructor(){super(...arguments);this.recursive=U.Option.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.from=U.Option.Array("--from",[],{description:"An array of glob pattern idents from which to base any recursion"});this.all=U.Option.Boolean("-A,--all",!1,{description:"Run the command on all workspaces of a project"});this.verbose=U.Option.Boolean("-v,--verbose",!1,{description:"Prefix each output line with the name of the originating workspace"});this.parallel=U.Option.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=U.Option.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=U.Option.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`",validator:re.isOneOf([re.isEnum(["unlimited"]),re.applyCascade(re.isNumber(),[re.isInteger(),re.isAtLeast(1)])])});this.topological=U.Option.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=U.Option.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=U.Option.Array("--include",[],{description:"An array of glob pattern idents; only matching workspaces will be traversed"});this.exclude=U.Option.Array("--exclude",[],{description:"An array of glob pattern idents; matching workspaces won't be traversed"});this.publicOnly=U.Option.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.since=U.Option.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.commandName=U.Option.String();this.args=U.Option.Proxy()}async execute(){let t=await ge.Configuration.find(this.context.cwd,this.context.plugins),{project:r,workspace:n}=await ge.Project.find(t,this.context.cwd);if(!this.all&&!n)throw new Ie.WorkspaceRequiredError(r.cwd,this.context.cwd);await r.restoreInstallState();let s=this.cli.process([this.commandName,...this.args]),a=s.path.length===1&&s.path[0]==="run"&&typeof s.scriptName!="undefined"?s.scriptName:null;if(s.path.length===0)throw new U.UsageError("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let i=this.all?r.topLevelWorkspace:n,o=this.since?Array.from(await Rr.gitUtils.fetchChangedWorkspaces({ref:this.since,project:r})):[i,...this.from.length>0?i.getRecursiveWorkspaceChildren():[]],h=E=>Be.default.isMatch(Y.structUtils.stringifyIdent(E.locator),this.from),g=this.from.length>0?o.filter(h):o,f=new Set([...g,...g.map(E=>[...this.recursive?this.since?E.getRecursiveWorkspaceDependents():E.getRecursiveWorkspaceDependencies():E.getRecursiveWorkspaceChildren()]).flat()]),A=[],p=!1;if(a==null?void 0:a.includes(":")){for(let E of r.workspaces)if(E.manifest.scripts.has(a)&&(p=!p,p===!1))break}for(let E of f)a&&!E.manifest.scripts.has(a)&&!p&&!(await ge.scriptUtils.getWorkspaceAccessibleBinaries(E)).has(a)||a===process.env.npm_lifecycle_event&&E.cwd===n.cwd||this.include.length>0&&!Be.default.isMatch(Y.structUtils.stringifyIdent(E.locator),this.include)||this.exclude.length>0&&Be.default.isMatch(Y.structUtils.stringifyIdent(E.locator),this.exclude)||this.publicOnly&&E.manifest.private===!0||A.push(E);let k=this.parallel?this.jobs==="unlimited"?Infinity:this.jobs||Math.max(1,(0,yr.cpus)().length/2):1,y=k===1?!1:this.parallel,R=y?this.interlaced:!0,_=(0,br.default)(k),x=new Map,T=new Set,O=0,W=null,G=!1,ne=await Ee.StreamReport.start({configuration:t,stdout:this.context.stdout},async E=>{let b=async(C,{commandIndex:M})=>{if(G)return-1;!y&&this.verbose&&M>1&&E.reportSeparator();let l=zn(C,{configuration:t,verbose:this.verbose,commandIndex:M}),[H,w]=_r(E,{prefix:l,interlaced:R}),[j,c]=_r(E,{prefix:l,interlaced:R});try{this.verbose&&E.reportInfo(null,`${l} Process started`);let u=Date.now(),I=await this.cli.run([this.commandName,...this.args],{cwd:C.cwd,stdout:H,stderr:j})||0;H.end(),j.end(),await w,await c;let $=Date.now();if(this.verbose){let ee=t.get("enableTimers")?`, completed in ${Y.formatUtils.pretty(t,$-u,Y.formatUtils.Type.DURATION)}`:"";E.reportInfo(null,`${l} Process exited (exit code ${I})${ee}`)}return I===130&&(G=!0,W=I),I}catch(u){throw H.end(),j.end(),await w,await c,u}};for(let C of A)x.set(C.anchoredLocator.locatorHash,C);for(;x.size>0&&!E.hasErrors();){let C=[];for(let[H,w]of x){if(T.has(w.anchoredDescriptor.descriptorHash))continue;let j=!0;if(this.topological||this.topologicalDev){let c=this.topologicalDev?new Map([...w.manifest.dependencies,...w.manifest.devDependencies]):w.manifest.dependencies;for(let u of c.values()){let I=r.tryWorkspaceByDescriptor(u);if(j=I===null||!x.has(I.anchoredLocator.locatorHash),!j)break}}if(!!j&&(T.add(w.anchoredDescriptor.descriptorHash),C.push(_(async()=>{let c=await b(w,{commandIndex:++O});return x.delete(H),T.delete(w.anchoredDescriptor.descriptorHash),c})),!y))break}if(C.length===0){let H=Array.from(x.values()).map(w=>Y.structUtils.prettyLocator(t,w.anchoredLocator)).join(", ");E.reportError(Ee.MessageName.CYCLIC_DEPENDENCIES,`Dependency cycle detected (${H})`);return}let l=(await Promise.all(C)).find(H=>H!==0);W===null&&(W=typeof l!="undefined"?1:W),(this.topological||this.topologicalDev)&&typeof l!="undefined"&&E.reportError(Ee.MessageName.UNNAMED,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return W!==null?W:ne.exitCode()}};xe.paths=[["workspaces","foreach"]],xe.usage=U.Command.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project. By default yarn runs the command only on current and all its descendant workspaces.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - If `--since` is set, Yarn will only run the command on workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n Adding the `-v,--verbose` flag will cause Yarn to print more information; in particular the name of the workspace that generated the output will be printed at the front of each line.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish current and all descendant packages","yarn workspaces foreach npm publish --tolerate-republish"],["Run build script on current and all descendant packages","yarn workspaces foreach run build"],["Run build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -pt run build"],["Run build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -ptR --from '{workspace-a,workspace-b}' run build"]]});var Er=xe;function _r(e,{prefix:t,interlaced:r}){let n=e.createStreamReporter(t),s=new Y.miscUtils.DefaultStream;s.pipe(n,{end:!1}),s.on("finish",()=>{n.end()});let a=new Promise(o=>{n.on("finish",()=>{o(s.active)})});if(r)return[s,a];let i=new Y.miscUtils.BufferStream;return i.pipe(s,{end:!1}),i.on("finish",()=>{s.end()}),[i,a]}function zn(e,{configuration:t,commandIndex:r,verbose:n}){if(!n)return null;let s=Y.structUtils.convertToIdent(e.locator),i=`[${Y.structUtils.stringifyIdent(s)}]:`,o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],h=o[r%o.length];return Y.formatUtils.pretty(t,i,h)}var Jn={commands:[st,Er]},es=Jn;return Vn;})(); +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ +return plugin; +} +}; diff --git a/.yarn/releases/yarn-3.2.1.cjs b/.yarn/releases/yarn-3.2.1.cjs new file mode 100755 index 0000000000..b3cadff6ef --- /dev/null +++ b/.yarn/releases/yarn-3.2.1.cjs @@ -0,0 +1,786 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var ofe=Object.create,Kh=Object.defineProperty,afe=Object.defineProperties,Afe=Object.getOwnPropertyDescriptor,lfe=Object.getOwnPropertyDescriptors,cfe=Object.getOwnPropertyNames,ME=Object.getOwnPropertySymbols,ufe=Object.getPrototypeOf,gQ=Object.prototype.hasOwnProperty,nM=Object.prototype.propertyIsEnumerable;var sM=(t,e,r)=>e in t?Kh(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,N=(t,e)=>{for(var r in e||(e={}))gQ.call(e,r)&&sM(t,r,e[r]);if(ME)for(var r of ME(e))nM.call(e,r)&&sM(t,r,e[r]);return t},ie=(t,e)=>afe(t,lfe(e)),gfe=t=>Kh(t,"__esModule",{value:!0});var Tr=(t,e)=>{var r={};for(var i in t)gQ.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&ME)for(var i of ME(t))e.indexOf(i)<0&&nM.call(t,i)&&(r[i]=t[i]);return r},ffe=(t,e)=>()=>(t&&(e=t(t=0)),e),w=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ft=(t,e)=>{for(var r in e)Kh(t,r,{get:e[r],enumerable:!0})},hfe=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of cfe(e))!gQ.call(t,i)&&i!=="default"&&Kh(t,i,{get:()=>e[i],enumerable:!(r=Afe(e,i))||r.enumerable});return t},ge=t=>hfe(gfe(Kh(t!=null?ofe(ufe(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var DM=w((ZXe,SM)=>{SM.exports=kM;kM.sync=Dfe;var xM=require("fs");function Rfe(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i{RM.exports=FM;FM.sync=Ffe;var NM=require("fs");function FM(t,e,r){NM.stat(t,function(i,n){r(i,i?!1:LM(n,e))})}function Ffe(t,e){return LM(NM.statSync(t),e)}function LM(t,e){return t.isFile()&&Nfe(t,e)}function Nfe(t,e){var r=t.mode,i=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=r&c||r&l&&n===o||r&a&&i===s||r&u&&s===0;return g}});var MM=w((tZe,OM)=>{var eZe=require("fs"),ZE;process.platform==="win32"||global.TESTING_WINDOWS?ZE=DM():ZE=TM();OM.exports=xQ;xQ.sync=Lfe;function xQ(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){xQ(t,e||{},function(s,o){s?n(s):i(o)})})}ZE(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function Lfe(t,e){try{return ZE.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var qM=w((rZe,KM)=>{var zu=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",UM=require("path"),Tfe=zu?";":":",HM=MM(),GM=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),jM=(t,e)=>{let r=e.colon||Tfe,i=t.match(/\//)||zu&&t.match(/\\/)?[""]:[...zu?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=zu?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=zu?n.split(r):[""];return zu&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},YM=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=jM(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(GM(t));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=UM.join(h,t),m=!h&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;u(l(m,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];HM(c+p,{pathExt:s},(m,y)=>{if(!m&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return r?a(0).then(c=>r(null,c),r):a(0)},Ofe=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=jM(t,e),s=[];for(let o=0;o{"use strict";var JM=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};PQ.exports=JM;PQ.exports.default=JM});var XM=w((nZe,zM)=>{"use strict";var _M=require("path"),Mfe=qM(),Kfe=WM();function VM(t,e){let r=t.options.env||process.env,i=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch(a){}let o;try{o=Mfe.sync(t.command,{path:r[Kfe({env:r})],pathExt:e?_M.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=_M.resolve(n?t.options.cwd:"",o)),o}function Ufe(t){return VM(t)||VM(t,!0)}zM.exports=Ufe});var ZM=w((sZe,DQ)=>{"use strict";var RQ=/([()\][%!^"`<>&|;, *?])/g;function Hfe(t){return t=t.replace(RQ,"^$1"),t}function Gfe(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(RQ,"^$1"),e&&(t=t.replace(RQ,"^$1")),t}DQ.exports.command=Hfe;DQ.exports.argument=Gfe});var eK=w((oZe,$M)=>{"use strict";$M.exports=/^#!(.*)/});var rK=w((aZe,tK)=>{"use strict";var jfe=eK();tK.exports=(t="")=>{let e=t.match(jfe);if(!e)return null;let[r,i]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var nK=w((AZe,iK)=>{"use strict";var FQ=require("fs"),Yfe=rK();function qfe(t){let e=150,r=Buffer.alloc(e),i;try{i=FQ.openSync(t,"r"),FQ.readSync(i,r,0,e,0),FQ.closeSync(i)}catch(n){}return Yfe(r.toString())}iK.exports=qfe});var AK=w((lZe,sK)=>{"use strict";var Jfe=require("path"),oK=XM(),aK=ZM(),Wfe=nK(),zfe=process.platform==="win32",_fe=/\.(?:com|exe)$/i,Vfe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Xfe(t){t.file=oK(t);let e=t.file&&Wfe(t.file);return e?(t.args.unshift(t.file),t.command=e,oK(t)):t.file}function Zfe(t){if(!zfe)return t;let e=Xfe(t),r=!_fe.test(e);if(t.options.forceShell||r){let i=Vfe.test(e);t.command=Jfe.normalize(t.command),t.command=aK.command(t.command),t.args=t.args.map(s=>aK.argument(s,i));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function $fe(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let i={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?i:Zfe(i)}sK.exports=$fe});var uK=w((cZe,lK)=>{"use strict";var NQ=process.platform==="win32";function LQ(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function ehe(t,e){if(!NQ)return;let r=t.emit;t.emit=function(i,n){if(i==="exit"){let s=cK(n,e,"spawn");if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function cK(t,e){return NQ&&t===1&&!e.file?LQ(e.original,"spawn"):null}function the(t,e){return NQ&&t===1&&!e.file?LQ(e.original,"spawnSync"):null}lK.exports={hookChildProcess:ehe,verifyENOENT:cK,verifyENOENTSync:the,notFoundError:LQ}});var MQ=w((uZe,_u)=>{"use strict";var gK=require("child_process"),TQ=AK(),OQ=uK();function fK(t,e,r){let i=TQ(t,e,r),n=gK.spawn(i.command,i.args,i.options);return OQ.hookChildProcess(n,i),n}function rhe(t,e,r){let i=TQ(t,e,r),n=gK.spawnSync(i.command,i.args,i.options);return n.error=n.error||OQ.verifyENOENTSync(n.status,i),n}_u.exports=fK;_u.exports.spawn=fK;_u.exports.sync=rhe;_u.exports._parse=TQ;_u.exports._enoent=OQ});var pK=w((gZe,hK)=>{"use strict";function ihe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function sc(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,sc)}ihe(sc,Error);sc.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ce=Ee(">>",!1),fe=">&",gt=Ee(">&",!1),Ht=">",Mt=Ee(">",!1),mi="<<<",Gt=Ee("<<<",!1),Qr="<&",Ti=Ee("<&",!1),Vs="<",Un=Ee("<",!1),Hn=function(C){return{type:"argument",segments:[].concat(...C)}},vr=function(C){return C},Gn="$'",gs=Ee("$'",!1),ya="'",kA=Ee("'",!1),Ru=function(C){return[{type:"text",text:C}]},fs='""',xA=Ee('""',!1),wa=function(){return{type:"text",text:""}},Fu='"',PA=Ee('"',!1),DA=function(C){return C},Sr=function(C){return{type:"arithmetic",arithmetic:C,quoted:!0}},jl=function(C){return{type:"shell",shell:C,quoted:!0}},Nu=function(C){return ie(N({type:"variable"},C),{quoted:!0})},So=function(C){return{type:"text",text:C}},Lu=function(C){return{type:"arithmetic",arithmetic:C,quoted:!1}},Sh=function(C){return{type:"shell",shell:C,quoted:!1}},kh=function(C){return ie(N({type:"variable"},C),{quoted:!1})},ae=function(C){return{type:"glob",pattern:C}},Oi=/^[^']/,ko=_e(["'"],!0,!1),jn=function(C){return C.join("")},Tu=/^[^$"]/,vt=_e(["$",'"'],!0,!1),Yl=`\\ +`,Yn=Ee(`\\ +`,!1),hs=function(){return""},ps="\\",pt=Ee("\\",!1),xo=/^[\\$"`]/,lt=_e(["\\","$",'"',"`"],!1,!1),mn=function(C){return C},v="\\a",Tt=Ee("\\a",!1),Ou=function(){return"a"},ql="\\b",xh=Ee("\\b",!1),Ph=function(){return"\b"},Dh=/^[Ee]/,Rh=_e(["E","e"],!1,!1),Fh=function(){return""},G="\\f",yt=Ee("\\f",!1),RA=function(){return"\f"},$i="\\n",Jl=Ee("\\n",!1),$e=function(){return` +`},Ba="\\r",Mu=Ee("\\r",!1),kE=function(){return"\r"},Nh="\\t",xE=Ee("\\t",!1),gr=function(){return" "},qn="\\v",Wl=Ee("\\v",!1),Lh=function(){return"\v"},Xs=/^[\\'"?]/,ba=_e(["\\","'",'"',"?"],!1,!1),En=function(C){return String.fromCharCode(parseInt(C,16))},Me="\\x",Ku=Ee("\\x",!1),zl="\\u",Zs=Ee("\\u",!1),_l="\\U",FA=Ee("\\U",!1),Uu=function(C){return String.fromCodePoint(parseInt(C,16))},Hu=/^[0-7]/,Qa=_e([["0","7"]],!1,!1),va=/^[0-9a-fA-f]/,it=_e([["0","9"],["a","f"],["A","f"]],!1,!1),Po=ot(),NA="-",Vl=Ee("-",!1),$s="+",Xl=Ee("+",!1),PE=".",Th=Ee(".",!1),Gu=function(C,Q,F){return{type:"number",value:(C==="-"?-1:1)*parseFloat(Q.join("")+"."+F.join(""))}},Oh=function(C,Q){return{type:"number",value:(C==="-"?-1:1)*parseInt(Q.join(""))}},DE=function(C){return N({type:"variable"},C)},Zl=function(C){return{type:"variable",name:C}},RE=function(C){return C},ju="*",LA=Ee("*",!1),Lr="/",FE=Ee("/",!1),eo=function(C,Q,F){return{type:Q==="*"?"multiplication":"division",right:F}},to=function(C,Q){return Q.reduce((F,U)=>N({left:F},U),C)},Yu=function(C,Q,F){return{type:Q==="+"?"addition":"subtraction",right:F}},TA="$((",R=Ee("$((",!1),q="))",me=Ee("))",!1),Ge=function(C){return C},Te="$(",Xe=Ee("$(",!1),Et=function(C){return C},Rt="${",Jn=Ee("${",!1),_b=":-",PO=Ee(":-",!1),DO=function(C,Q){return{name:C,defaultValue:Q}},Vb=":-}",RO=Ee(":-}",!1),FO=function(C){return{name:C,defaultValue:[]}},Xb=":+",NO=Ee(":+",!1),LO=function(C,Q){return{name:C,alternativeValue:Q}},Zb=":+}",TO=Ee(":+}",!1),OO=function(C){return{name:C,alternativeValue:[]}},$b=function(C){return{name:C}},MO="$",KO=Ee("$",!1),UO=function(C){return e.isGlobPattern(C)},HO=function(C){return C},eQ=/^[a-zA-Z0-9_]/,tQ=_e([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),rQ=function(){return M()},iQ=/^[$@*?#a-zA-Z0-9_\-]/,nQ=_e(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),GO=/^[(){}<>$|&; \t"']/,qu=_e(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),sQ=/^[<>&; \t"']/,oQ=_e(["<",">","&",";"," "," ",'"',"'"],!1,!1),NE=/^[ \t]/,LE=_e([" "," "],!1,!1),B=0,He=0,OA=[{line:1,column:1}],d=0,E=[],I=0,D;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function M(){return t.substring(He,B)}function _(){return It(He,B)}function ne(C,Q){throw Q=Q!==void 0?Q:It(He,B),Mi([ut(C)],t.substring(He,B),Q)}function Be(C,Q){throw Q=Q!==void 0?Q:It(He,B),Wn(C,Q)}function Ee(C,Q){return{type:"literal",text:C,ignoreCase:Q}}function _e(C,Q,F){return{type:"class",parts:C,inverted:Q,ignoreCase:F}}function ot(){return{type:"any"}}function wt(){return{type:"end"}}function ut(C){return{type:"other",description:C}}function nt(C){var Q=OA[C],F;if(Q)return Q;for(F=C-1;!OA[F];)F--;for(Q=OA[F],Q={line:Q.line,column:Q.column};Fd&&(d=B,E=[]),E.push(C))}function Wn(C,Q){return new sc(C,null,null,Q)}function Mi(C,Q,F){return new sc(sc.buildMessage(C,Q),C,Q,F)}function MA(){var C,Q;return C=B,Q=Yr(),Q===r&&(Q=null),Q!==r&&(He=C,Q=s(Q)),C=Q,C}function Yr(){var C,Q,F,U,ue;if(C=B,Q=qr(),Q!==r){for(F=[],U=je();U!==r;)F.push(U),U=je();F!==r?(U=Sa(),U!==r?(ue=ds(),ue===r&&(ue=null),ue!==r?(He=C,Q=o(Q,U,ue),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;if(C===r)if(C=B,Q=qr(),Q!==r){for(F=[],U=je();U!==r;)F.push(U),U=je();F!==r?(U=Sa(),U===r&&(U=null),U!==r?(He=C,Q=a(Q,U),C=Q):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;return C}function ds(){var C,Q,F,U,ue;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r)if(F=Yr(),F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();U!==r?(He=C,Q=l(F),C=Q):(B=C,C=r)}else B=C,C=r;else B=C,C=r;return C}function Sa(){var C;return t.charCodeAt(B)===59?(C=c,B++):(C=r,I===0&&ke(u)),C===r&&(t.charCodeAt(B)===38?(C=g,B++):(C=r,I===0&&ke(f))),C}function qr(){var C,Q,F;return C=B,Q=jO(),Q!==r?(F=jge(),F===r&&(F=null),F!==r?(He=C,Q=h(Q,F),C=Q):(B=C,C=r)):(B=C,C=r),C}function jge(){var C,Q,F,U,ue,De,Ct;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r)if(F=Yge(),F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();if(U!==r)if(ue=qr(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();De!==r?(He=C,Q=p(F,ue),C=Q):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;return C}function Yge(){var C;return t.substr(B,2)===m?(C=m,B+=2):(C=r,I===0&&ke(y)),C===r&&(t.substr(B,2)===b?(C=b,B+=2):(C=r,I===0&&ke(S))),C}function jO(){var C,Q,F;return C=B,Q=Wge(),Q!==r?(F=qge(),F===r&&(F=null),F!==r?(He=C,Q=k(Q,F),C=Q):(B=C,C=r)):(B=C,C=r),C}function qge(){var C,Q,F,U,ue,De,Ct;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r)if(F=Jge(),F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();if(U!==r)if(ue=jO(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();De!==r?(He=C,Q=T(F,ue),C=Q):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;return C}function Jge(){var C;return t.substr(B,2)===Y?(C=Y,B+=2):(C=r,I===0&&ke(j)),C===r&&(t.charCodeAt(B)===124?(C=Z,B++):(C=r,I===0&&ke(J))),C}function TE(){var C,Q,F,U,ue,De;if(C=B,Q=tM(),Q!==r)if(t.charCodeAt(B)===61?(F=re,B++):(F=r,I===0&&ke(ee)),F!==r)if(U=JO(),U!==r){for(ue=[],De=je();De!==r;)ue.push(De),De=je();ue!==r?(He=C,Q=A(Q,U),C=Q):(B=C,C=r)}else B=C,C=r;else B=C,C=r;else B=C,C=r;if(C===r)if(C=B,Q=tM(),Q!==r)if(t.charCodeAt(B)===61?(F=re,B++):(F=r,I===0&&ke(ee)),F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();U!==r?(He=C,Q=oe(Q),C=Q):(B=C,C=r)}else B=C,C=r;else B=C,C=r;return C}function Wge(){var C,Q,F,U,ue,De,Ct,bt,$r,Ei,Cs;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r)if(t.charCodeAt(B)===40?(F=le,B++):(F=r,I===0&&ke(X)),F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();if(U!==r)if(ue=Yr(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();if(De!==r)if(t.charCodeAt(B)===41?(Ct=O,B++):(Ct=r,I===0&&ke(L)),Ct!==r){for(bt=[],$r=je();$r!==r;)bt.push($r),$r=je();if(bt!==r){for($r=[],Ei=Mh();Ei!==r;)$r.push(Ei),Ei=Mh();if($r!==r){for(Ei=[],Cs=je();Cs!==r;)Ei.push(Cs),Cs=je();Ei!==r?(He=C,Q=pe(ue,$r),C=Q):(B=C,C=r)}else B=C,C=r}else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;if(C===r){for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r)if(t.charCodeAt(B)===123?(F=Ce,B++):(F=r,I===0&&ke(Oe)),F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();if(U!==r)if(ue=Yr(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();if(De!==r)if(t.charCodeAt(B)===125?(Ct=te,B++):(Ct=r,I===0&&ke(se)),Ct!==r){for(bt=[],$r=je();$r!==r;)bt.push($r),$r=je();if(bt!==r){for($r=[],Ei=Mh();Ei!==r;)$r.push(Ei),Ei=Mh();if($r!==r){for(Ei=[],Cs=je();Cs!==r;)Ei.push(Cs),Cs=je();Ei!==r?(He=C,Q=be(ue,$r),C=Q):(B=C,C=r)}else B=C,C=r}else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;if(C===r){for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r){for(F=[],U=TE();U!==r;)F.push(U),U=TE();if(F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();if(U!==r){if(ue=[],De=qO(),De!==r)for(;De!==r;)ue.push(De),De=qO();else ue=r;if(ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();De!==r?(He=C,Q=he(F,ue),C=Q):(B=C,C=r)}else B=C,C=r}else B=C,C=r}else B=C,C=r}else B=C,C=r;if(C===r){for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r){if(F=[],U=TE(),U!==r)for(;U!==r;)F.push(U),U=TE();else F=r;if(F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();U!==r?(He=C,Q=Fe(F),C=Q):(B=C,C=r)}else B=C,C=r}else B=C,C=r}}}return C}function YO(){var C,Q,F,U,ue;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r){if(F=[],U=OE(),U!==r)for(;U!==r;)F.push(U),U=OE();else F=r;if(F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();U!==r?(He=C,Q=Ue(F),C=Q):(B=C,C=r)}else B=C,C=r}else B=C,C=r;return C}function qO(){var C,Q,F;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r?(F=Mh(),F!==r?(He=C,Q=xe(F),C=Q):(B=C,C=r)):(B=C,C=r),C===r){for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();Q!==r?(F=OE(),F!==r?(He=C,Q=xe(F),C=Q):(B=C,C=r)):(B=C,C=r)}return C}function Mh(){var C,Q,F,U,ue;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();return Q!==r?(Se.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(de)),F===r&&(F=null),F!==r?(U=zge(),U!==r?(ue=OE(),ue!==r?(He=C,Q=V(F,U,ue),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function zge(){var C;return t.substr(B,2)===Qe?(C=Qe,B+=2):(C=r,I===0&&ke(ce)),C===r&&(t.substr(B,2)===fe?(C=fe,B+=2):(C=r,I===0&&ke(gt)),C===r&&(t.charCodeAt(B)===62?(C=Ht,B++):(C=r,I===0&&ke(Mt)),C===r&&(t.substr(B,3)===mi?(C=mi,B+=3):(C=r,I===0&&ke(Gt)),C===r&&(t.substr(B,2)===Qr?(C=Qr,B+=2):(C=r,I===0&&ke(Ti)),C===r&&(t.charCodeAt(B)===60?(C=Vs,B++):(C=r,I===0&&ke(Un))))))),C}function OE(){var C,Q,F;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();return Q!==r?(F=JO(),F!==r?(He=C,Q=xe(F),C=Q):(B=C,C=r)):(B=C,C=r),C}function JO(){var C,Q,F;if(C=B,Q=[],F=WO(),F!==r)for(;F!==r;)Q.push(F),F=WO();else Q=r;return Q!==r&&(He=C,Q=Hn(Q)),C=Q,C}function WO(){var C,Q;return C=B,Q=_ge(),Q!==r&&(He=C,Q=vr(Q)),C=Q,C===r&&(C=B,Q=Vge(),Q!==r&&(He=C,Q=vr(Q)),C=Q,C===r&&(C=B,Q=Xge(),Q!==r&&(He=C,Q=vr(Q)),C=Q,C===r&&(C=B,Q=Zge(),Q!==r&&(He=C,Q=vr(Q)),C=Q))),C}function _ge(){var C,Q,F,U;return C=B,t.substr(B,2)===Gn?(Q=Gn,B+=2):(Q=r,I===0&&ke(gs)),Q!==r?(F=tfe(),F!==r?(t.charCodeAt(B)===39?(U=ya,B++):(U=r,I===0&&ke(kA)),U!==r?(He=C,Q=Ru(F),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function Vge(){var C,Q,F,U;return C=B,t.charCodeAt(B)===39?(Q=ya,B++):(Q=r,I===0&&ke(kA)),Q!==r?(F=$ge(),F!==r?(t.charCodeAt(B)===39?(U=ya,B++):(U=r,I===0&&ke(kA)),U!==r?(He=C,Q=Ru(F),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function Xge(){var C,Q,F,U;if(C=B,t.substr(B,2)===fs?(Q=fs,B+=2):(Q=r,I===0&&ke(xA)),Q!==r&&(He=C,Q=wa()),C=Q,C===r)if(C=B,t.charCodeAt(B)===34?(Q=Fu,B++):(Q=r,I===0&&ke(PA)),Q!==r){for(F=[],U=zO();U!==r;)F.push(U),U=zO();F!==r?(t.charCodeAt(B)===34?(U=Fu,B++):(U=r,I===0&&ke(PA)),U!==r?(He=C,Q=DA(F),C=Q):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;return C}function Zge(){var C,Q,F;if(C=B,Q=[],F=_O(),F!==r)for(;F!==r;)Q.push(F),F=_O();else Q=r;return Q!==r&&(He=C,Q=DA(Q)),C=Q,C}function zO(){var C,Q;return C=B,Q=$O(),Q!==r&&(He=C,Q=Sr(Q)),C=Q,C===r&&(C=B,Q=eM(),Q!==r&&(He=C,Q=jl(Q)),C=Q,C===r&&(C=B,Q=cQ(),Q!==r&&(He=C,Q=Nu(Q)),C=Q,C===r&&(C=B,Q=efe(),Q!==r&&(He=C,Q=So(Q)),C=Q))),C}function _O(){var C,Q;return C=B,Q=$O(),Q!==r&&(He=C,Q=Lu(Q)),C=Q,C===r&&(C=B,Q=eM(),Q!==r&&(He=C,Q=Sh(Q)),C=Q,C===r&&(C=B,Q=cQ(),Q!==r&&(He=C,Q=kh(Q)),C=Q,C===r&&(C=B,Q=nfe(),Q!==r&&(He=C,Q=ae(Q)),C=Q,C===r&&(C=B,Q=ife(),Q!==r&&(He=C,Q=So(Q)),C=Q)))),C}function $ge(){var C,Q,F;for(C=B,Q=[],Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko));F!==r;)Q.push(F),Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko));return Q!==r&&(He=C,Q=jn(Q)),C=Q,C}function efe(){var C,Q,F;if(C=B,Q=[],F=VO(),F===r&&(Tu.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(vt))),F!==r)for(;F!==r;)Q.push(F),F=VO(),F===r&&(Tu.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(vt)));else Q=r;return Q!==r&&(He=C,Q=jn(Q)),C=Q,C}function VO(){var C,Q,F;return C=B,t.substr(B,2)===Yl?(Q=Yl,B+=2):(Q=r,I===0&&ke(Yn)),Q!==r&&(He=C,Q=hs()),C=Q,C===r&&(C=B,t.charCodeAt(B)===92?(Q=ps,B++):(Q=r,I===0&&ke(pt)),Q!==r?(xo.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(lt)),F!==r?(He=C,Q=mn(F),C=Q):(B=C,C=r)):(B=C,C=r)),C}function tfe(){var C,Q,F;for(C=B,Q=[],F=XO(),F===r&&(Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko)));F!==r;)Q.push(F),F=XO(),F===r&&(Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko)));return Q!==r&&(He=C,Q=jn(Q)),C=Q,C}function XO(){var C,Q,F;return C=B,t.substr(B,2)===v?(Q=v,B+=2):(Q=r,I===0&&ke(Tt)),Q!==r&&(He=C,Q=Ou()),C=Q,C===r&&(C=B,t.substr(B,2)===ql?(Q=ql,B+=2):(Q=r,I===0&&ke(xh)),Q!==r&&(He=C,Q=Ph()),C=Q,C===r&&(C=B,t.charCodeAt(B)===92?(Q=ps,B++):(Q=r,I===0&&ke(pt)),Q!==r?(Dh.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(Rh)),F!==r?(He=C,Q=Fh(),C=Q):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===G?(Q=G,B+=2):(Q=r,I===0&&ke(yt)),Q!==r&&(He=C,Q=RA()),C=Q,C===r&&(C=B,t.substr(B,2)===$i?(Q=$i,B+=2):(Q=r,I===0&&ke(Jl)),Q!==r&&(He=C,Q=$e()),C=Q,C===r&&(C=B,t.substr(B,2)===Ba?(Q=Ba,B+=2):(Q=r,I===0&&ke(Mu)),Q!==r&&(He=C,Q=kE()),C=Q,C===r&&(C=B,t.substr(B,2)===Nh?(Q=Nh,B+=2):(Q=r,I===0&&ke(xE)),Q!==r&&(He=C,Q=gr()),C=Q,C===r&&(C=B,t.substr(B,2)===qn?(Q=qn,B+=2):(Q=r,I===0&&ke(Wl)),Q!==r&&(He=C,Q=Lh()),C=Q,C===r&&(C=B,t.charCodeAt(B)===92?(Q=ps,B++):(Q=r,I===0&&ke(pt)),Q!==r?(Xs.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ba)),F!==r?(He=C,Q=mn(F),C=Q):(B=C,C=r)):(B=C,C=r),C===r&&(C=rfe()))))))))),C}function rfe(){var C,Q,F,U,ue,De,Ct,bt,$r,Ei,Cs,uQ;return C=B,t.charCodeAt(B)===92?(Q=ps,B++):(Q=r,I===0&&ke(pt)),Q!==r?(F=aQ(),F!==r?(He=C,Q=En(F),C=Q):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Me?(Q=Me,B+=2):(Q=r,I===0&&ke(Ku)),Q!==r?(F=B,U=B,ue=aQ(),ue!==r?(De=zn(),De!==r?(ue=[ue,De],U=ue):(B=U,U=r)):(B=U,U=r),U===r&&(U=aQ()),U!==r?F=t.substring(F,B):F=U,F!==r?(He=C,Q=En(F),C=Q):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===zl?(Q=zl,B+=2):(Q=r,I===0&&ke(Zs)),Q!==r?(F=B,U=B,ue=zn(),ue!==r?(De=zn(),De!==r?(Ct=zn(),Ct!==r?(bt=zn(),bt!==r?(ue=[ue,De,Ct,bt],U=ue):(B=U,U=r)):(B=U,U=r)):(B=U,U=r)):(B=U,U=r),U!==r?F=t.substring(F,B):F=U,F!==r?(He=C,Q=En(F),C=Q):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===_l?(Q=_l,B+=2):(Q=r,I===0&&ke(FA)),Q!==r?(F=B,U=B,ue=zn(),ue!==r?(De=zn(),De!==r?(Ct=zn(),Ct!==r?(bt=zn(),bt!==r?($r=zn(),$r!==r?(Ei=zn(),Ei!==r?(Cs=zn(),Cs!==r?(uQ=zn(),uQ!==r?(ue=[ue,De,Ct,bt,$r,Ei,Cs,uQ],U=ue):(B=U,U=r)):(B=U,U=r)):(B=U,U=r)):(B=U,U=r)):(B=U,U=r)):(B=U,U=r)):(B=U,U=r)):(B=U,U=r),U!==r?F=t.substring(F,B):F=U,F!==r?(He=C,Q=Uu(F),C=Q):(B=C,C=r)):(B=C,C=r)))),C}function aQ(){var C;return Hu.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(Qa)),C}function zn(){var C;return va.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(it)),C}function ife(){var C,Q,F,U,ue;if(C=B,Q=[],F=B,t.charCodeAt(B)===92?(U=ps,B++):(U=r,I===0&&ke(pt)),U!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(He=F,U=mn(ue),F=U):(B=F,F=r)):(B=F,F=r),F===r&&(F=B,U=B,I++,ue=rM(),I--,ue===r?U=void 0:(B=U,U=r),U!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(He=F,U=mn(ue),F=U):(B=F,F=r)):(B=F,F=r)),F!==r)for(;F!==r;)Q.push(F),F=B,t.charCodeAt(B)===92?(U=ps,B++):(U=r,I===0&&ke(pt)),U!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(He=F,U=mn(ue),F=U):(B=F,F=r)):(B=F,F=r),F===r&&(F=B,U=B,I++,ue=rM(),I--,ue===r?U=void 0:(B=U,U=r),U!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(He=F,U=mn(ue),F=U):(B=F,F=r)):(B=F,F=r));else Q=r;return Q!==r&&(He=C,Q=jn(Q)),C=Q,C}function AQ(){var C,Q,F,U,ue,De;if(C=B,t.charCodeAt(B)===45?(Q=NA,B++):(Q=r,I===0&&ke(Vl)),Q===r&&(t.charCodeAt(B)===43?(Q=$s,B++):(Q=r,I===0&&ke(Xl))),Q===r&&(Q=null),Q!==r){if(F=[],Se.test(t.charAt(B))?(U=t.charAt(B),B++):(U=r,I===0&&ke(de)),U!==r)for(;U!==r;)F.push(U),Se.test(t.charAt(B))?(U=t.charAt(B),B++):(U=r,I===0&&ke(de));else F=r;if(F!==r)if(t.charCodeAt(B)===46?(U=PE,B++):(U=r,I===0&&ke(Th)),U!==r){if(ue=[],Se.test(t.charAt(B))?(De=t.charAt(B),B++):(De=r,I===0&&ke(de)),De!==r)for(;De!==r;)ue.push(De),Se.test(t.charAt(B))?(De=t.charAt(B),B++):(De=r,I===0&&ke(de));else ue=r;ue!==r?(He=C,Q=Gu(Q,F,ue),C=Q):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;if(C===r){if(C=B,t.charCodeAt(B)===45?(Q=NA,B++):(Q=r,I===0&&ke(Vl)),Q===r&&(t.charCodeAt(B)===43?(Q=$s,B++):(Q=r,I===0&&ke(Xl))),Q===r&&(Q=null),Q!==r){if(F=[],Se.test(t.charAt(B))?(U=t.charAt(B),B++):(U=r,I===0&&ke(de)),U!==r)for(;U!==r;)F.push(U),Se.test(t.charAt(B))?(U=t.charAt(B),B++):(U=r,I===0&&ke(de));else F=r;F!==r?(He=C,Q=Oh(Q,F),C=Q):(B=C,C=r)}else B=C,C=r;if(C===r&&(C=B,Q=cQ(),Q!==r&&(He=C,Q=DE(Q)),C=Q,C===r&&(C=B,Q=$l(),Q!==r&&(He=C,Q=Zl(Q)),C=Q,C===r)))if(C=B,t.charCodeAt(B)===40?(Q=le,B++):(Q=r,I===0&&ke(X)),Q!==r){for(F=[],U=je();U!==r;)F.push(U),U=je();if(F!==r)if(U=ZO(),U!==r){for(ue=[],De=je();De!==r;)ue.push(De),De=je();ue!==r?(t.charCodeAt(B)===41?(De=O,B++):(De=r,I===0&&ke(L)),De!==r?(He=C,Q=RE(U),C=Q):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r}return C}function lQ(){var C,Q,F,U,ue,De,Ct,bt;if(C=B,Q=AQ(),Q!==r){for(F=[],U=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===42?(De=ju,B++):(De=r,I===0&&ke(LA)),De===r&&(t.charCodeAt(B)===47?(De=Lr,B++):(De=r,I===0&&ke(FE))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=AQ(),bt!==r?(He=U,ue=eo(Q,De,bt),U=ue):(B=U,U=r)):(B=U,U=r)}else B=U,U=r;else B=U,U=r;for(;U!==r;){for(F.push(U),U=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===42?(De=ju,B++):(De=r,I===0&&ke(LA)),De===r&&(t.charCodeAt(B)===47?(De=Lr,B++):(De=r,I===0&&ke(FE))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=AQ(),bt!==r?(He=U,ue=eo(Q,De,bt),U=ue):(B=U,U=r)):(B=U,U=r)}else B=U,U=r;else B=U,U=r}F!==r?(He=C,Q=to(Q,F),C=Q):(B=C,C=r)}else B=C,C=r;return C}function ZO(){var C,Q,F,U,ue,De,Ct,bt;if(C=B,Q=lQ(),Q!==r){for(F=[],U=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===43?(De=$s,B++):(De=r,I===0&&ke(Xl)),De===r&&(t.charCodeAt(B)===45?(De=NA,B++):(De=r,I===0&&ke(Vl))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=lQ(),bt!==r?(He=U,ue=Yu(Q,De,bt),U=ue):(B=U,U=r)):(B=U,U=r)}else B=U,U=r;else B=U,U=r;for(;U!==r;){for(F.push(U),U=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===43?(De=$s,B++):(De=r,I===0&&ke(Xl)),De===r&&(t.charCodeAt(B)===45?(De=NA,B++):(De=r,I===0&&ke(Vl))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=lQ(),bt!==r?(He=U,ue=Yu(Q,De,bt),U=ue):(B=U,U=r)):(B=U,U=r)}else B=U,U=r;else B=U,U=r}F!==r?(He=C,Q=to(Q,F),C=Q):(B=C,C=r)}else B=C,C=r;return C}function $O(){var C,Q,F,U,ue,De;if(C=B,t.substr(B,3)===TA?(Q=TA,B+=3):(Q=r,I===0&&ke(R)),Q!==r){for(F=[],U=je();U!==r;)F.push(U),U=je();if(F!==r)if(U=ZO(),U!==r){for(ue=[],De=je();De!==r;)ue.push(De),De=je();ue!==r?(t.substr(B,2)===q?(De=q,B+=2):(De=r,I===0&&ke(me)),De!==r?(He=C,Q=Ge(U),C=Q):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;return C}function eM(){var C,Q,F,U;return C=B,t.substr(B,2)===Te?(Q=Te,B+=2):(Q=r,I===0&&ke(Xe)),Q!==r?(F=Yr(),F!==r?(t.charCodeAt(B)===41?(U=O,B++):(U=r,I===0&&ke(L)),U!==r?(He=C,Q=Et(F),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function cQ(){var C,Q,F,U,ue,De;return C=B,t.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=r,I===0&&ke(Jn)),Q!==r?(F=$l(),F!==r?(t.substr(B,2)===_b?(U=_b,B+=2):(U=r,I===0&&ke(PO)),U!==r?(ue=YO(),ue!==r?(t.charCodeAt(B)===125?(De=te,B++):(De=r,I===0&&ke(se)),De!==r?(He=C,Q=DO(F,ue),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=r,I===0&&ke(Jn)),Q!==r?(F=$l(),F!==r?(t.substr(B,3)===Vb?(U=Vb,B+=3):(U=r,I===0&&ke(RO)),U!==r?(He=C,Q=FO(F),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=r,I===0&&ke(Jn)),Q!==r?(F=$l(),F!==r?(t.substr(B,2)===Xb?(U=Xb,B+=2):(U=r,I===0&&ke(NO)),U!==r?(ue=YO(),ue!==r?(t.charCodeAt(B)===125?(De=te,B++):(De=r,I===0&&ke(se)),De!==r?(He=C,Q=LO(F,ue),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=r,I===0&&ke(Jn)),Q!==r?(F=$l(),F!==r?(t.substr(B,3)===Zb?(U=Zb,B+=3):(U=r,I===0&&ke(TO)),U!==r?(He=C,Q=OO(F),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=r,I===0&&ke(Jn)),Q!==r?(F=$l(),F!==r?(t.charCodeAt(B)===125?(U=te,B++):(U=r,I===0&&ke(se)),U!==r?(He=C,Q=$b(F),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.charCodeAt(B)===36?(Q=MO,B++):(Q=r,I===0&&ke(KO)),Q!==r?(F=$l(),F!==r?(He=C,Q=$b(F),C=Q):(B=C,C=r)):(B=C,C=r)))))),C}function nfe(){var C,Q,F;return C=B,Q=sfe(),Q!==r?(He=B,F=UO(Q),F?F=void 0:F=r,F!==r?(He=C,Q=HO(Q),C=Q):(B=C,C=r)):(B=C,C=r),C}function sfe(){var C,Q,F,U,ue;if(C=B,Q=[],F=B,U=B,I++,ue=iM(),I--,ue===r?U=void 0:(B=U,U=r),U!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(He=F,U=mn(ue),F=U):(B=F,F=r)):(B=F,F=r),F!==r)for(;F!==r;)Q.push(F),F=B,U=B,I++,ue=iM(),I--,ue===r?U=void 0:(B=U,U=r),U!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(He=F,U=mn(ue),F=U):(B=F,F=r)):(B=F,F=r);else Q=r;return Q!==r&&(He=C,Q=jn(Q)),C=Q,C}function tM(){var C,Q,F;if(C=B,Q=[],eQ.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(tQ)),F!==r)for(;F!==r;)Q.push(F),eQ.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(tQ));else Q=r;return Q!==r&&(He=C,Q=rQ()),C=Q,C}function $l(){var C,Q,F;if(C=B,Q=[],iQ.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(nQ)),F!==r)for(;F!==r;)Q.push(F),iQ.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(nQ));else Q=r;return Q!==r&&(He=C,Q=rQ()),C=Q,C}function rM(){var C;return GO.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(qu)),C}function iM(){var C;return sQ.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(oQ)),C}function je(){var C,Q;if(C=[],NE.test(t.charAt(B))?(Q=t.charAt(B),B++):(Q=r,I===0&&ke(LE)),Q!==r)for(;Q!==r;)C.push(Q),NE.test(t.charAt(B))?(Q=t.charAt(B),B++):(Q=r,I===0&&ke(LE));else C=r;return C}if(D=n(),D!==r&&B===t.length)return D;throw D!==r&&B{"use strict";function she(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function ac(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ac)}she(ac,Error);ac.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gY&&(Y=S,j=[]),j.push(de))}function se(de,V){return new ac(de,null,null,V)}function be(de,V,Qe){return new ac(ac.buildMessage(de,V),de,V,Qe)}function he(){var de,V,Qe,ce;return de=S,V=Fe(),V!==r?(t.charCodeAt(S)===47?(Qe=s,S++):(Qe=r,Z===0&&te(o)),Qe!==r?(ce=Fe(),ce!==r?(k=de,V=a(V,ce),de=V):(S=de,de=r)):(S=de,de=r)):(S=de,de=r),de===r&&(de=S,V=Fe(),V!==r&&(k=de,V=l(V)),de=V),de}function Fe(){var de,V,Qe,ce;return de=S,V=Ue(),V!==r?(t.charCodeAt(S)===64?(Qe=c,S++):(Qe=r,Z===0&&te(u)),Qe!==r?(ce=Se(),ce!==r?(k=de,V=g(V,ce),de=V):(S=de,de=r)):(S=de,de=r)):(S=de,de=r),de===r&&(de=S,V=Ue(),V!==r&&(k=de,V=f(V)),de=V),de}function Ue(){var de,V,Qe,ce,fe;return de=S,t.charCodeAt(S)===64?(V=c,S++):(V=r,Z===0&&te(u)),V!==r?(Qe=xe(),Qe!==r?(t.charCodeAt(S)===47?(ce=s,S++):(ce=r,Z===0&&te(o)),ce!==r?(fe=xe(),fe!==r?(k=de,V=h(),de=V):(S=de,de=r)):(S=de,de=r)):(S=de,de=r)):(S=de,de=r),de===r&&(de=S,V=xe(),V!==r&&(k=de,V=h()),de=V),de}function xe(){var de,V,Qe;if(de=S,V=[],p.test(t.charAt(S))?(Qe=t.charAt(S),S++):(Qe=r,Z===0&&te(m)),Qe!==r)for(;Qe!==r;)V.push(Qe),p.test(t.charAt(S))?(Qe=t.charAt(S),S++):(Qe=r,Z===0&&te(m));else V=r;return V!==r&&(k=de,V=h()),de=V,de}function Se(){var de,V,Qe;if(de=S,V=[],y.test(t.charAt(S))?(Qe=t.charAt(S),S++):(Qe=r,Z===0&&te(b)),Qe!==r)for(;Qe!==r;)V.push(Qe),y.test(t.charAt(S))?(Qe=t.charAt(S),S++):(Qe=r,Z===0&&te(b));else V=r;return V!==r&&(k=de,V=h()),de=V,de}if(J=n(),J!==r&&S===t.length)return J;throw J!==r&&S{"use strict";function IK(t){return typeof t=="undefined"||t===null}function ahe(t){return typeof t=="object"&&t!==null}function Ahe(t){return Array.isArray(t)?t:IK(t)?[]:[t]}function lhe(t,e){var r,i,n,s;if(e)for(s=Object.keys(e),r=0,i=s.length;r{"use strict";function tp(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}tp.prototype=Object.create(Error.prototype);tp.prototype.constructor=tp;tp.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};yK.exports=tp});var bK=w((PZe,wK)=>{"use strict";var BK=lc();function YQ(t,e,r,i,n){this.name=t,this.buffer=e,this.position=r,this.line=i,this.column=n}YQ.prototype.getSnippet=function(e,r){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,r=r||75,i="",n=this.position;n>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>r/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;or/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),BK.repeat(" ",e)+i+a+s+` +`+BK.repeat(" ",e+this.position-n+i.length)+"^"};YQ.prototype.toString=function(e){var r,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(i+=`: +`+r)),i};wK.exports=YQ});var li=w((DZe,QK)=>{"use strict";var vK=Zu(),ghe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],fhe=["scalar","sequence","mapping"];function hhe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function phe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(ghe.indexOf(r)===-1)throw new vK('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=hhe(e.styleAliases||null),fhe.indexOf(this.kind)===-1)throw new vK('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}QK.exports=phe});var cc=w((RZe,SK)=>{"use strict";var kK=lc(),sI=Zu(),dhe=li();function qQ(t,e,r){var i=[];return t.include.forEach(function(n){r=qQ(n,e,r)}),t[e].forEach(function(n){r.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),r.push(n)}),r.filter(function(n,s){return i.indexOf(s)===-1})}function Che(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function i(n){t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,r=arguments.length;e{"use strict";var mhe=li();xK.exports=new mhe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var RK=w((NZe,DK)=>{"use strict";var Ehe=li();DK.exports=new Ehe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var NK=w((LZe,FK)=>{"use strict";var Ihe=li();FK.exports=new Ihe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var oI=w((TZe,LK)=>{"use strict";var yhe=cc();LK.exports=new yhe({explicit:[PK(),RK(),NK()]})});var OK=w((OZe,TK)=>{"use strict";var whe=li();function Bhe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function bhe(){return null}function Qhe(t){return t===null}TK.exports=new whe("tag:yaml.org,2002:null",{kind:"scalar",resolve:Bhe,construct:bhe,predicate:Qhe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var KK=w((MZe,MK)=>{"use strict";var vhe=li();function She(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function khe(t){return t==="true"||t==="True"||t==="TRUE"}function xhe(t){return Object.prototype.toString.call(t)==="[object Boolean]"}MK.exports=new vhe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:She,construct:khe,predicate:xhe,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var HK=w((KZe,UK)=>{"use strict";var Phe=lc(),Dhe=li();function Rhe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function Fhe(t){return 48<=t&&t<=55}function Nhe(t){return 48<=t&&t<=57}function Lhe(t){if(t===null)return!1;var e=t.length,r=0,i=!1,n;if(!e)return!1;if(n=t[r],(n==="-"||n==="+")&&(n=t[++r]),n==="0"){if(r+1===e)return!0;if(n=t[++r],n==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var YK=w((UZe,GK)=>{"use strict";var jK=lc(),Mhe=li(),Khe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Uhe(t){return!(t===null||!Khe.test(t)||t[t.length-1]==="_")}function Hhe(t){var e,r,i,n;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),r*e):r*parseFloat(e,10)}var Ghe=/^[-+]?[0-9]+e/;function jhe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(jK.isNegativeZero(t))return"-0.0";return r=t.toString(10),Ghe.test(r)?r.replace("e",".e"):r}function Yhe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!=0||jK.isNegativeZero(t))}GK.exports=new Mhe("tag:yaml.org,2002:float",{kind:"scalar",resolve:Uhe,construct:Hhe,predicate:Yhe,represent:jhe,defaultStyle:"lowercase"})});var JQ=w((HZe,qK)=>{"use strict";var qhe=cc();qK.exports=new qhe({include:[oI()],implicit:[OK(),KK(),HK(),YK()]})});var WQ=w((GZe,JK)=>{"use strict";var Jhe=cc();JK.exports=new Jhe({include:[JQ()]})});var VK=w((jZe,WK)=>{"use strict";var Whe=li(),zK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),_K=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function zhe(t){return t===null?!1:zK.exec(t)!==null||_K.exec(t)!==null}function _he(t){var e,r,i,n,s,o,a,l=0,c=null,u,g,f;if(e=zK.exec(t),e===null&&(e=_K.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(r,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function Vhe(t){return t.toISOString()}WK.exports=new Whe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:zhe,construct:_he,instanceOf:Date,represent:Vhe})});var ZK=w((YZe,XK)=>{"use strict";var Xhe=li();function Zhe(t){return t==="<<"||t===null}XK.exports=new Xhe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Zhe})});var t1=w((qZe,$K)=>{"use strict";var uc;try{e1=require,uc=e1("buffer").Buffer}catch(t){}var e1,$he=li(),zQ=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function epe(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=zQ;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8==0}function tpe(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=zQ,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return r=n%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),uc?uc.from?uc.from(a):new uc(a):a}function rpe(t){var e="",r=0,i,n,s=t.length,o=zQ;for(i=0;i>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[i];return n=s%3,n===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):n===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):n===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function ipe(t){return uc&&uc.isBuffer(t)}$K.exports=new $he("tag:yaml.org,2002:binary",{kind:"scalar",resolve:epe,construct:tpe,predicate:ipe,represent:rpe})});var i1=w((JZe,r1)=>{"use strict";var npe=li(),spe=Object.prototype.hasOwnProperty,ope=Object.prototype.toString;function ape(t){if(t===null)return!0;var e=[],r,i,n,s,o,a=t;for(r=0,i=a.length;r{"use strict";var lpe=li(),cpe=Object.prototype.toString;function upe(t){if(t===null)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e{"use strict";var fpe=li(),hpe=Object.prototype.hasOwnProperty;function ppe(t){if(t===null)return!0;var e,r=t;for(e in r)if(hpe.call(r,e)&&r[e]!==null)return!1;return!0}function dpe(t){return t!==null?t:{}}o1.exports=new fpe("tag:yaml.org,2002:set",{kind:"mapping",resolve:ppe,construct:dpe})});var eg=w((_Ze,A1)=>{"use strict";var Cpe=cc();A1.exports=new Cpe({include:[WQ()],implicit:[VK(),ZK()],explicit:[t1(),i1(),s1(),a1()]})});var c1=w((VZe,l1)=>{"use strict";var mpe=li();function Epe(){return!0}function Ipe(){}function ype(){return""}function wpe(t){return typeof t=="undefined"}l1.exports=new mpe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Epe,construct:Ipe,predicate:wpe,represent:ype})});var g1=w((XZe,u1)=>{"use strict";var Bpe=li();function bpe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),i="";return!(e[0]==="/"&&(r&&(i=r[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function Qpe(t){var e=t,r=/\/([gim]*)$/.exec(t),i="";return e[0]==="/"&&(r&&(i=r[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function vpe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function Spe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}u1.exports=new Bpe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:bpe,construct:Qpe,predicate:Spe,represent:vpe})});var p1=w((ZZe,f1)=>{"use strict";var aI;try{h1=require,aI=h1("esprima")}catch(t){typeof window!="undefined"&&(aI=window.esprima)}var h1,kpe=li();function xpe(t){if(t===null)return!1;try{var e="("+t+")",r=aI.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function Ppe(t){var e="("+t+")",r=aI.parse(e,{range:!0}),i=[],n;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function Dpe(t){return t.toString()}function Rpe(t){return Object.prototype.toString.call(t)==="[object Function]"}f1.exports=new kpe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:xpe,construct:Ppe,predicate:Rpe,represent:Dpe})});var rp=w(($Ze,d1)=>{"use strict";var C1=cc();d1.exports=C1.DEFAULT=new C1({include:[eg()],explicit:[c1(),g1(),p1()]})});var T1=w((e$e,ip)=>{"use strict";var Na=lc(),m1=Zu(),Fpe=bK(),E1=eg(),Npe=rp(),GA=Object.prototype.hasOwnProperty,AI=1,I1=2,y1=3,lI=4,_Q=1,Lpe=2,w1=3,Tpe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Ope=/[\x85\u2028\u2029]/,Mpe=/[,\[\]\{\}]/,B1=/^(?:!|!!|![a-z\-]+!)$/i,b1=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Q1(t){return Object.prototype.toString.call(t)}function Ro(t){return t===10||t===13}function gc(t){return t===9||t===32}function yn(t){return t===9||t===32||t===10||t===13}function tg(t){return t===44||t===91||t===93||t===123||t===125}function Kpe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function Upe(t){return t===120?2:t===117?4:t===85?8:0}function Hpe(t){return 48<=t&&t<=57?t-48:-1}function v1(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function Gpe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var S1=new Array(256),k1=new Array(256);for(var rg=0;rg<256;rg++)S1[rg]=v1(rg)?1:0,k1[rg]=v1(rg);function jpe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Npe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function x1(t,e){return new m1(e,new Fpe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function dt(t,e){throw x1(t,e)}function cI(t,e){t.onWarning&&t.onWarning.call(null,x1(t,e))}var P1={YAML:function(e,r,i){var n,s,o;e.version!==null&&dt(e,"duplication of %YAML directive"),i.length!==1&&dt(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&dt(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&dt(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&cI(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&dt(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],B1.test(n)||dt(e,"ill-formed tag handle (first argument) of the TAG directive"),GA.call(e.tagMap,n)&&dt(e,'there is a previously declared suffix for "'+n+'" tag handle'),b1.test(s)||dt(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function jA(t,e,r,i){var n,s,o,a;if(e1&&(t.result+=Na.repeat(` +`,e-1))}function Ype(t,e,r){var i,n,s,o,a,l,c,u,g=t.kind,f=t.result,h;if(h=t.input.charCodeAt(t.position),yn(h)||tg(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=t.input.charCodeAt(t.position+1),yn(n)||r&&tg(n)))return!1;for(t.kind="scalar",t.result="",s=o=t.position,a=!1;h!==0;){if(h===58){if(n=t.input.charCodeAt(t.position+1),yn(n)||r&&tg(n))break}else if(h===35){if(i=t.input.charCodeAt(t.position-1),yn(i))break}else{if(t.position===t.lineStart&&uI(t)||r&&tg(h))break;if(Ro(h))if(l=t.line,c=t.lineStart,u=t.lineIndent,ei(t,!1,-1),t.lineIndent>=e){a=!0,h=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=l,t.lineStart=c,t.lineIndent=u;break}}a&&(jA(t,s,o,!1),XQ(t,t.line-l),s=o=t.position,a=!1),gc(h)||(o=t.position+1),h=t.input.charCodeAt(++t.position)}return jA(t,s,o,!1),t.result?!0:(t.kind=g,t.result=f,!1)}function qpe(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(jA(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else Ro(r)?(jA(t,i,n,!0),XQ(t,ei(t,!1,e)),i=n=t.position):t.position===t.lineStart&&uI(t)?dt(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);dt(t,"unexpected end of the stream within a single quoted scalar")}function Jpe(t,e){var r,i,n,s,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return jA(t,r,t.position,!0),t.position++,!0;if(a===92){if(jA(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),Ro(a))ei(t,!1,e);else if(a<256&&S1[a])t.result+=k1[a],t.position++;else if((o=Upe(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=Kpe(a))>=0?s=(s<<4)+o:dt(t,"expected hexadecimal character");t.result+=Gpe(s),t.position++}else dt(t,"unknown escape sequence");r=i=t.position}else Ro(a)?(jA(t,r,i,!0),XQ(t,ei(t,!1,e)),r=i=t.position):t.position===t.lineStart&&uI(t)?dt(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}dt(t,"unexpected end of the stream within a double quoted scalar")}function Wpe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,f={},h,p,m,y;if(y=t.input.charCodeAt(t.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),y=t.input.charCodeAt(++t.position);y!==0;){if(ei(t,!0,e),y=t.input.charCodeAt(t.position),y===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||dt(t,"missed comma between flow collection entries"),p=h=m=null,c=u=!1,y===63&&(a=t.input.charCodeAt(t.position+1),yn(a)&&(c=u=!0,t.position++,ei(t,!0,e))),i=t.line,ng(t,e,AI,!1,!0),p=t.tag,h=t.result,ei(t,!0,e),y=t.input.charCodeAt(t.position),(u||t.line===i)&&y===58&&(c=!0,y=t.input.charCodeAt(++t.position),ei(t,!0,e),ng(t,e,AI,!1,!0),m=t.result),g?ig(t,s,f,p,h,m):c?s.push(ig(t,null,f,p,h,m)):s.push(h),ei(t,!0,e),y=t.input.charCodeAt(t.position),y===44?(r=!0,y=t.input.charCodeAt(++t.position)):r=!1}dt(t,"unexpected end of the stream within a flow collection")}function zpe(t,e){var r,i,n=_Q,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=t.input.charCodeAt(t.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(t.kind="scalar",t.result="";g!==0;)if(g=t.input.charCodeAt(++t.position),g===43||g===45)_Q===n?n=g===43?w1:Lpe:dt(t,"repeat of a chomping mode identifier");else if((u=Hpe(g))>=0)u===0?dt(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?dt(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(gc(g)){do g=t.input.charCodeAt(++t.position);while(gc(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!Ro(g)&&g!==0)}for(;g!==0;){for(VQ(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndenta&&(a=t.lineIndent),Ro(g)){l++;continue}if(t.lineIndente)&&l!==0)dt(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(ng(t,e,lI,!0,n)&&(p?f=t.result:h=t.result),p||(ig(t,c,u,g,f,h,s,o),g=f=h=null),ei(t,!0,-1),y=t.input.charCodeAt(t.position)),t.lineIndent>e&&y!==0)dt(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),g=0,f=t.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+t.kind+'"'),h.resolve(t.result)?(t.result=h.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):dt(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):dt(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function $pe(t){var e=t.position,r,i,n,s=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(o=t.input.charCodeAt(t.position))!==0&&(ei(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(s=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&dt(t,"directive name must not be less than one character in length");o!==0;){for(;gc(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!Ro(o));break}if(Ro(o))break;for(r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}o!==0&&VQ(t),GA.call(P1,i)?P1[i](t,i,n):cI(t,'unknown document directive "'+i+'"')}if(ei(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,ei(t,!0,-1)):s&&dt(t,"directives end mark is expected"),ng(t,t.lineIndent-1,lI,!1,!0),ei(t,!0,-1),t.checkLineBreaks&&Ope.test(t.input.slice(e,t.position))&&cI(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&uI(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,ei(t,!0,-1));return}if(t.position{"use strict";var np=lc(),sp=Zu(),rde=rp(),ide=eg(),O1=Object.prototype.toString,M1=Object.prototype.hasOwnProperty,nde=9,op=10,sde=13,ode=32,ade=33,Ade=34,K1=35,lde=37,cde=38,ude=39,gde=42,U1=44,fde=45,H1=58,hde=61,pde=62,dde=63,Cde=64,G1=91,j1=93,mde=96,Y1=123,Ede=124,q1=125,Ki={};Ki[0]="\\0";Ki[7]="\\a";Ki[8]="\\b";Ki[9]="\\t";Ki[10]="\\n";Ki[11]="\\v";Ki[12]="\\f";Ki[13]="\\r";Ki[27]="\\e";Ki[34]='\\"';Ki[92]="\\\\";Ki[133]="\\N";Ki[160]="\\_";Ki[8232]="\\L";Ki[8233]="\\P";var Ide=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function yde(t,e){var r,i,n,s,o,a,l;if(e===null)return{};for(r={},i=Object.keys(e),n=0,s=i.length;n0?t.charCodeAt(s-1):null,f=f&&z1(o,a)}else{for(s=0;si&&t[g+1]!==" ",g=s);else if(!sg(o))return gI;a=s>0?t.charCodeAt(s-1):null,f=f&&z1(o,a)}c=c||u&&s-g-1>i&&t[g+1]!==" "}return!l&&!c?f&&!n(t)?V1:X1:r>9&&_1(t)?gI:c?$1:Z1}function xde(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&Ide.indexOf(e)!==-1)return"'"+e+"'";var n=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),o=i||t.flowLevel>-1&&r>=t.flowLevel;function a(l){return Bde(t,l)}switch(vde(e,o,t.indent,s,a)){case V1:return e;case X1:return"'"+e.replace(/'/g,"''")+"'";case Z1:return"|"+eU(e,t.indent)+tU(W1(e,n));case $1:return">"+eU(e,t.indent)+tU(W1(Sde(e,s),n));case gI:return'"'+kde(e,s)+'"';default:throw new sp("impossible error: invalid scalar style")}}()}function eU(t,e){var r=_1(t)?String(e):"",i=t[t.length-1]===` +`,n=i&&(t[t.length-2]===` +`||t===` +`),s=n?"+":i?"":"-";return r+s+` +`}function tU(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function Sde(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(` +`);return c=c!==-1?c:t.length,r.lastIndex=c,rU(t.slice(0,c),e)}(),n=t[0]===` +`||t[0]===" ",s,o;o=r.exec(t);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` +`:"")+rU(l,e),n=s}return i}function rU(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=r.exec(t);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`+t.slice(n,s),n=s+1),o=a;return l+=` +`,t.length-n>e&&o>n?l+=t.slice(n,o)+` +`+t.slice(o+1):l+=t.slice(n),l.slice(1)}function kde(t){for(var e="",r,i,n,s=0;s=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=J1((r-55296)*1024+i-56320+65536),s++;continue}n=Ki[r],e+=!n&&sg(r)?t[s]:n||J1(r)}return e}function Pde(t,e,r){var i="",n=t.tag,s,o;for(s=0,o=r.length;s1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),!!fc(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function Fde(t,e,r,i){var n="",s=t.tag,o=Object.keys(r),a,l,c,u,g,f;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new sp("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(t.dump&&op===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,g&&(f+=$Q(t,e)),!!fc(t,e+1,u,!0,g)&&(t.dump&&op===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,n+=f));t.tag=s,t.dump=n||"{}"}function iU(t,e,r){var i,n,s,o,a,l;for(n=r?t.explicitTypes:t.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function fc(t,e,r,i,n,s){t.tag=null,t.dump=r,iU(t,r,!1)||iU(t,r,!0);var o=O1.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=t.duplicates.indexOf(r),c=l!==-1),(t.tag!==null&&t.tag!=="?"||c||t.indent!==2&&e>0)&&(n=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(a&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(t.dump).length!==0?(Fde(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(Rde(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if(o==="[object Array]"){var u=t.noArrayIndent&&e>0?e-1:e;i&&t.dump.length!==0?(Dde(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(Pde(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&xde(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new sp("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function Nde(t,e){var r=[],i=[],n,s;for(tv(t,r,i),n=0,s=i.length;n{"use strict";var fI=T1(),oU=sU();function hI(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Or.exports.Type=li();Or.exports.Schema=cc();Or.exports.FAILSAFE_SCHEMA=oI();Or.exports.JSON_SCHEMA=JQ();Or.exports.CORE_SCHEMA=WQ();Or.exports.DEFAULT_SAFE_SCHEMA=eg();Or.exports.DEFAULT_FULL_SCHEMA=rp();Or.exports.load=fI.load;Or.exports.loadAll=fI.loadAll;Or.exports.safeLoad=fI.safeLoad;Or.exports.safeLoadAll=fI.safeLoadAll;Or.exports.dump=oU.dump;Or.exports.safeDump=oU.safeDump;Or.exports.YAMLException=Zu();Or.exports.MINIMAL_SCHEMA=oI();Or.exports.SAFE_SCHEMA=eg();Or.exports.DEFAULT_SCHEMA=rp();Or.exports.scan=hI("scan");Or.exports.parse=hI("parse");Or.exports.compose=hI("compose");Or.exports.addConstructor=hI("addConstructor")});var lU=w((i$e,AU)=>{"use strict";var Tde=aU();AU.exports=Tde});var uU=w((n$e,cU)=>{"use strict";function Ode(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function hc(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,hc)}Ode(hc,Error);hc.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[Ge]:me})))},Y=function(R){return R},j=function(R){return R},Z=Xs("correct indentation"),J=" ",re=gr(" ",!1),ee=function(R){return R.length===TA*Yu},A=function(R){return R.length===(TA+1)*Yu},oe=function(){return TA++,!0},le=function(){return TA--,!0},X=function(){return Mu()},O=Xs("pseudostring"),L=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,pe=qn(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Ce=/^[^\r\n\t ,\][{}:#"']/,Oe=qn(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),te=function(){return Mu().replace(/^ *| *$/g,"")},se="--",be=gr("--",!1),he=/^[a-zA-Z\/0-9]/,Fe=qn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ue=/^[^\r\n\t :,]/,xe=qn(["\r",` +`," "," ",":",","],!0,!1),Se="null",de=gr("null",!1),V=function(){return null},Qe="true",ce=gr("true",!1),fe=function(){return!0},gt="false",Ht=gr("false",!1),Mt=function(){return!1},mi=Xs("string"),Gt='"',Qr=gr('"',!1),Ti=function(){return""},Vs=function(R){return R},Un=function(R){return R.join("")},Hn=/^[^"\\\0-\x1F\x7F]/,vr=qn(['"',"\\",["\0",""],"\x7F"],!0,!1),Gn='\\"',gs=gr('\\"',!1),ya=function(){return'"'},kA="\\\\",Ru=gr("\\\\",!1),fs=function(){return"\\"},xA="\\/",wa=gr("\\/",!1),Fu=function(){return"/"},PA="\\b",DA=gr("\\b",!1),Sr=function(){return"\b"},jl="\\f",Nu=gr("\\f",!1),So=function(){return"\f"},Lu="\\n",Sh=gr("\\n",!1),kh=function(){return` +`},ae="\\r",Oi=gr("\\r",!1),ko=function(){return"\r"},jn="\\t",Tu=gr("\\t",!1),vt=function(){return" "},Yl="\\u",Yn=gr("\\u",!1),hs=function(R,q,me,Ge){return String.fromCharCode(parseInt(`0x${R}${q}${me}${Ge}`))},ps=/^[0-9a-fA-F]/,pt=qn([["0","9"],["a","f"],["A","F"]],!1,!1),xo=Xs("blank space"),lt=/^[ \t]/,mn=qn([" "," "],!1,!1),v=Xs("white space"),Tt=/^[ \t\n\r]/,Ou=qn([" "," ",` +`,"\r"],!1,!1),ql=`\r +`,xh=gr(`\r +`,!1),Ph=` +`,Dh=gr(` +`,!1),Rh="\r",Fh=gr("\r",!1),G=0,yt=0,RA=[{line:1,column:1}],$i=0,Jl=[],$e=0,Ba;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function Mu(){return t.substring(yt,G)}function kE(){return En(yt,G)}function Nh(R,q){throw q=q!==void 0?q:En(yt,G),zl([Xs(R)],t.substring(yt,G),q)}function xE(R,q){throw q=q!==void 0?q:En(yt,G),Ku(R,q)}function gr(R,q){return{type:"literal",text:R,ignoreCase:q}}function qn(R,q,me){return{type:"class",parts:R,inverted:q,ignoreCase:me}}function Wl(){return{type:"any"}}function Lh(){return{type:"end"}}function Xs(R){return{type:"other",description:R}}function ba(R){var q=RA[R],me;if(q)return q;for(me=R-1;!RA[me];)me--;for(q=RA[me],q={line:q.line,column:q.column};me$i&&($i=G,Jl=[]),Jl.push(R))}function Ku(R,q){return new hc(R,null,null,q)}function zl(R,q,me){return new hc(hc.buildMessage(R,q),R,q,me)}function Zs(){var R;return R=Uu(),R}function _l(){var R,q,me;for(R=G,q=[],me=FA();me!==r;)q.push(me),me=FA();return q!==r&&(yt=R,q=s(q)),R=q,R}function FA(){var R,q,me,Ge,Te;return R=G,q=va(),q!==r?(t.charCodeAt(G)===45?(me=o,G++):(me=r,$e===0&&Me(a)),me!==r?(Ge=Lr(),Ge!==r?(Te=Qa(),Te!==r?(yt=R,q=l(Te),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R}function Uu(){var R,q,me;for(R=G,q=[],me=Hu();me!==r;)q.push(me),me=Hu();return q!==r&&(yt=R,q=c(q)),R=q,R}function Hu(){var R,q,me,Ge,Te,Xe,Et,Rt,Jn;if(R=G,q=Lr(),q===r&&(q=null),q!==r){if(me=G,t.charCodeAt(G)===35?(Ge=u,G++):(Ge=r,$e===0&&Me(g)),Ge!==r){if(Te=[],Xe=G,Et=G,$e++,Rt=to(),$e--,Rt===r?Et=void 0:(G=Et,Et=r),Et!==r?(t.length>G?(Rt=t.charAt(G),G++):(Rt=r,$e===0&&Me(f)),Rt!==r?(Et=[Et,Rt],Xe=Et):(G=Xe,Xe=r)):(G=Xe,Xe=r),Xe!==r)for(;Xe!==r;)Te.push(Xe),Xe=G,Et=G,$e++,Rt=to(),$e--,Rt===r?Et=void 0:(G=Et,Et=r),Et!==r?(t.length>G?(Rt=t.charAt(G),G++):(Rt=r,$e===0&&Me(f)),Rt!==r?(Et=[Et,Rt],Xe=Et):(G=Xe,Xe=r)):(G=Xe,Xe=r);else Te=r;Te!==r?(Ge=[Ge,Te],me=Ge):(G=me,me=r)}else G=me,me=r;if(me===r&&(me=null),me!==r){if(Ge=[],Te=eo(),Te!==r)for(;Te!==r;)Ge.push(Te),Te=eo();else Ge=r;Ge!==r?(yt=R,q=h(),R=q):(G=R,R=r)}else G=R,R=r}else G=R,R=r;if(R===r&&(R=G,q=va(),q!==r?(me=Vl(),me!==r?(Ge=Lr(),Ge===r&&(Ge=null),Ge!==r?(t.charCodeAt(G)===58?(Te=p,G++):(Te=r,$e===0&&Me(m)),Te!==r?(Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(Et=Qa(),Et!==r?(yt=R,q=y(me,Et),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r&&(R=G,q=va(),q!==r?(me=$s(),me!==r?(Ge=Lr(),Ge===r&&(Ge=null),Ge!==r?(t.charCodeAt(G)===58?(Te=p,G++):(Te=r,$e===0&&Me(m)),Te!==r?(Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(Et=Qa(),Et!==r?(yt=R,q=y(me,Et),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r))){if(R=G,q=va(),q!==r)if(me=$s(),me!==r)if(Ge=Lr(),Ge!==r)if(Te=PE(),Te!==r){if(Xe=[],Et=eo(),Et!==r)for(;Et!==r;)Xe.push(Et),Et=eo();else Xe=r;Xe!==r?(yt=R,q=y(me,Te),R=q):(G=R,R=r)}else G=R,R=r;else G=R,R=r;else G=R,R=r;else G=R,R=r;if(R===r)if(R=G,q=va(),q!==r)if(me=$s(),me!==r){if(Ge=[],Te=G,Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(t.charCodeAt(G)===44?(Et=b,G++):(Et=r,$e===0&&Me(S)),Et!==r?(Rt=Lr(),Rt===r&&(Rt=null),Rt!==r?(Jn=$s(),Jn!==r?(yt=Te,Xe=k(me,Jn),Te=Xe):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r),Te!==r)for(;Te!==r;)Ge.push(Te),Te=G,Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(t.charCodeAt(G)===44?(Et=b,G++):(Et=r,$e===0&&Me(S)),Et!==r?(Rt=Lr(),Rt===r&&(Rt=null),Rt!==r?(Jn=$s(),Jn!==r?(yt=Te,Xe=k(me,Jn),Te=Xe):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r);else Ge=r;Ge!==r?(Te=Lr(),Te===r&&(Te=null),Te!==r?(t.charCodeAt(G)===58?(Xe=p,G++):(Xe=r,$e===0&&Me(m)),Xe!==r?(Et=Lr(),Et===r&&(Et=null),Et!==r?(Rt=Qa(),Rt!==r?(yt=R,q=T(me,Ge,Rt),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)}else G=R,R=r;else G=R,R=r}return R}function Qa(){var R,q,me,Ge,Te,Xe,Et;if(R=G,q=G,$e++,me=G,Ge=to(),Ge!==r?(Te=it(),Te!==r?(t.charCodeAt(G)===45?(Xe=o,G++):(Xe=r,$e===0&&Me(a)),Xe!==r?(Et=Lr(),Et!==r?(Ge=[Ge,Te,Xe,Et],me=Ge):(G=me,me=r)):(G=me,me=r)):(G=me,me=r)):(G=me,me=r),$e--,me!==r?(G=q,q=void 0):q=r,q!==r?(me=eo(),me!==r?(Ge=Po(),Ge!==r?(Te=_l(),Te!==r?(Xe=NA(),Xe!==r?(yt=R,q=Y(Te),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r&&(R=G,q=to(),q!==r?(me=Po(),me!==r?(Ge=Uu(),Ge!==r?(Te=NA(),Te!==r?(yt=R,q=Y(Ge),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r))if(R=G,q=Xl(),q!==r){if(me=[],Ge=eo(),Ge!==r)for(;Ge!==r;)me.push(Ge),Ge=eo();else me=r;me!==r?(yt=R,q=j(q),R=q):(G=R,R=r)}else G=R,R=r;return R}function va(){var R,q,me;for($e++,R=G,q=[],t.charCodeAt(G)===32?(me=J,G++):(me=r,$e===0&&Me(re));me!==r;)q.push(me),t.charCodeAt(G)===32?(me=J,G++):(me=r,$e===0&&Me(re));return q!==r?(yt=G,me=ee(q),me?me=void 0:me=r,me!==r?(q=[q,me],R=q):(G=R,R=r)):(G=R,R=r),$e--,R===r&&(q=r,$e===0&&Me(Z)),R}function it(){var R,q,me;for(R=G,q=[],t.charCodeAt(G)===32?(me=J,G++):(me=r,$e===0&&Me(re));me!==r;)q.push(me),t.charCodeAt(G)===32?(me=J,G++):(me=r,$e===0&&Me(re));return q!==r?(yt=G,me=A(q),me?me=void 0:me=r,me!==r?(q=[q,me],R=q):(G=R,R=r)):(G=R,R=r),R}function Po(){var R;return yt=G,R=oe(),R?R=void 0:R=r,R}function NA(){var R;return yt=G,R=le(),R?R=void 0:R=r,R}function Vl(){var R;return R=Zl(),R===r&&(R=Th()),R}function $s(){var R,q,me;if(R=Zl(),R===r){if(R=G,q=[],me=Gu(),me!==r)for(;me!==r;)q.push(me),me=Gu();else q=r;q!==r&&(yt=R,q=X()),R=q}return R}function Xl(){var R;return R=Oh(),R===r&&(R=DE(),R===r&&(R=Zl(),R===r&&(R=Th()))),R}function PE(){var R;return R=Oh(),R===r&&(R=Zl(),R===r&&(R=Gu())),R}function Th(){var R,q,me,Ge,Te,Xe;if($e++,R=G,L.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Me(pe)),q!==r){for(me=[],Ge=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(Ce.test(t.charAt(G))?(Xe=t.charAt(G),G++):(Xe=r,$e===0&&Me(Oe)),Xe!==r?(Te=[Te,Xe],Ge=Te):(G=Ge,Ge=r)):(G=Ge,Ge=r);Ge!==r;)me.push(Ge),Ge=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(Ce.test(t.charAt(G))?(Xe=t.charAt(G),G++):(Xe=r,$e===0&&Me(Oe)),Xe!==r?(Te=[Te,Xe],Ge=Te):(G=Ge,Ge=r)):(G=Ge,Ge=r);me!==r?(yt=R,q=te(),R=q):(G=R,R=r)}else G=R,R=r;return $e--,R===r&&(q=r,$e===0&&Me(O)),R}function Gu(){var R,q,me,Ge,Te;if(R=G,t.substr(G,2)===se?(q=se,G+=2):(q=r,$e===0&&Me(be)),q===r&&(q=null),q!==r)if(he.test(t.charAt(G))?(me=t.charAt(G),G++):(me=r,$e===0&&Me(Fe)),me!==r){for(Ge=[],Ue.test(t.charAt(G))?(Te=t.charAt(G),G++):(Te=r,$e===0&&Me(xe));Te!==r;)Ge.push(Te),Ue.test(t.charAt(G))?(Te=t.charAt(G),G++):(Te=r,$e===0&&Me(xe));Ge!==r?(yt=R,q=te(),R=q):(G=R,R=r)}else G=R,R=r;else G=R,R=r;return R}function Oh(){var R,q;return R=G,t.substr(G,4)===Se?(q=Se,G+=4):(q=r,$e===0&&Me(de)),q!==r&&(yt=R,q=V()),R=q,R}function DE(){var R,q;return R=G,t.substr(G,4)===Qe?(q=Qe,G+=4):(q=r,$e===0&&Me(ce)),q!==r&&(yt=R,q=fe()),R=q,R===r&&(R=G,t.substr(G,5)===gt?(q=gt,G+=5):(q=r,$e===0&&Me(Ht)),q!==r&&(yt=R,q=Mt()),R=q),R}function Zl(){var R,q,me,Ge;return $e++,R=G,t.charCodeAt(G)===34?(q=Gt,G++):(q=r,$e===0&&Me(Qr)),q!==r?(t.charCodeAt(G)===34?(me=Gt,G++):(me=r,$e===0&&Me(Qr)),me!==r?(yt=R,q=Ti(),R=q):(G=R,R=r)):(G=R,R=r),R===r&&(R=G,t.charCodeAt(G)===34?(q=Gt,G++):(q=r,$e===0&&Me(Qr)),q!==r?(me=RE(),me!==r?(t.charCodeAt(G)===34?(Ge=Gt,G++):(Ge=r,$e===0&&Me(Qr)),Ge!==r?(yt=R,q=Vs(me),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)),$e--,R===r&&(q=r,$e===0&&Me(mi)),R}function RE(){var R,q,me;if(R=G,q=[],me=ju(),me!==r)for(;me!==r;)q.push(me),me=ju();else q=r;return q!==r&&(yt=R,q=Un(q)),R=q,R}function ju(){var R,q,me,Ge,Te,Xe;return Hn.test(t.charAt(G))?(R=t.charAt(G),G++):(R=r,$e===0&&Me(vr)),R===r&&(R=G,t.substr(G,2)===Gn?(q=Gn,G+=2):(q=r,$e===0&&Me(gs)),q!==r&&(yt=R,q=ya()),R=q,R===r&&(R=G,t.substr(G,2)===kA?(q=kA,G+=2):(q=r,$e===0&&Me(Ru)),q!==r&&(yt=R,q=fs()),R=q,R===r&&(R=G,t.substr(G,2)===xA?(q=xA,G+=2):(q=r,$e===0&&Me(wa)),q!==r&&(yt=R,q=Fu()),R=q,R===r&&(R=G,t.substr(G,2)===PA?(q=PA,G+=2):(q=r,$e===0&&Me(DA)),q!==r&&(yt=R,q=Sr()),R=q,R===r&&(R=G,t.substr(G,2)===jl?(q=jl,G+=2):(q=r,$e===0&&Me(Nu)),q!==r&&(yt=R,q=So()),R=q,R===r&&(R=G,t.substr(G,2)===Lu?(q=Lu,G+=2):(q=r,$e===0&&Me(Sh)),q!==r&&(yt=R,q=kh()),R=q,R===r&&(R=G,t.substr(G,2)===ae?(q=ae,G+=2):(q=r,$e===0&&Me(Oi)),q!==r&&(yt=R,q=ko()),R=q,R===r&&(R=G,t.substr(G,2)===jn?(q=jn,G+=2):(q=r,$e===0&&Me(Tu)),q!==r&&(yt=R,q=vt()),R=q,R===r&&(R=G,t.substr(G,2)===Yl?(q=Yl,G+=2):(q=r,$e===0&&Me(Yn)),q!==r?(me=LA(),me!==r?(Ge=LA(),Ge!==r?(Te=LA(),Te!==r?(Xe=LA(),Xe!==r?(yt=R,q=hs(me,Ge,Te,Xe),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)))))))))),R}function LA(){var R;return ps.test(t.charAt(G))?(R=t.charAt(G),G++):(R=r,$e===0&&Me(pt)),R}function Lr(){var R,q;if($e++,R=[],lt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Me(mn)),q!==r)for(;q!==r;)R.push(q),lt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Me(mn));else R=r;return $e--,R===r&&(q=r,$e===0&&Me(xo)),R}function FE(){var R,q;if($e++,R=[],Tt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Me(Ou)),q!==r)for(;q!==r;)R.push(q),Tt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Me(Ou));else R=r;return $e--,R===r&&(q=r,$e===0&&Me(v)),R}function eo(){var R,q,me,Ge,Te,Xe;if(R=G,q=to(),q!==r){for(me=[],Ge=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(Xe=to(),Xe!==r?(Te=[Te,Xe],Ge=Te):(G=Ge,Ge=r)):(G=Ge,Ge=r);Ge!==r;)me.push(Ge),Ge=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(Xe=to(),Xe!==r?(Te=[Te,Xe],Ge=Te):(G=Ge,Ge=r)):(G=Ge,Ge=r);me!==r?(q=[q,me],R=q):(G=R,R=r)}else G=R,R=r;return R}function to(){var R;return t.substr(G,2)===ql?(R=ql,G+=2):(R=r,$e===0&&Me(xh)),R===r&&(t.charCodeAt(G)===10?(R=Ph,G++):(R=r,$e===0&&Me(Dh)),R===r&&(t.charCodeAt(G)===13?(R=Rh,G++):(R=r,$e===0&&Me(Fh)))),R}let Yu=2,TA=0;if(Ba=n(),Ba!==r&&G===t.length)return Ba;throw Ba!==r&&G{"use strict";var jde=t=>{let e=!1,r=!1,i=!1;for(let n=0;n{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(t)?t=t.map(n=>n.trim()).filter(n=>n.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=jde(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};nv.exports=dU;nv.exports.default=dU});var EU=w((c$e,mU)=>{mU.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var pc=w(Vn=>{"use strict";var IU=EU(),Fo=process.env;Object.defineProperty(Vn,"_vendors",{value:IU.map(function(t){return t.constant})});Vn.name=null;Vn.isPR=null;IU.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(i){return yU(i)});if(Vn[t.constant]=r,r)switch(Vn.name=t.name,typeof t.pr){case"string":Vn.isPR=!!Fo[t.pr];break;case"object":"env"in t.pr?Vn.isPR=t.pr.env in Fo&&Fo[t.pr.env]!==t.pr.ne:"any"in t.pr?Vn.isPR=t.pr.any.some(function(i){return!!Fo[i]}):Vn.isPR=yU(t.pr);break;default:Vn.isPR=null}});Vn.isCI=!!(Fo.CI||Fo.CONTINUOUS_INTEGRATION||Fo.BUILD_NUMBER||Fo.RUN_ID||Vn.name);function yU(t){return typeof t=="string"?!!Fo[t]:Object.keys(t).every(function(e){return Fo[e]===t[e]})}});var ag={};ft(ag,{KeyRelationship:()=>mc,applyCascade:()=>hp,base64RegExp:()=>vU,colorStringAlphaRegExp:()=>QU,colorStringRegExp:()=>bU,computeKey:()=>YA,getPrintable:()=>ti,hasExactLength:()=>DU,hasForbiddenKeys:()=>yCe,hasKeyRelationship:()=>gv,hasMaxLength:()=>nCe,hasMinLength:()=>iCe,hasMutuallyExclusiveKeys:()=>wCe,hasRequiredKeys:()=>ICe,hasUniqueItems:()=>sCe,isArray:()=>_de,isAtLeast:()=>ACe,isAtMost:()=>lCe,isBase64:()=>mCe,isBoolean:()=>Jde,isDate:()=>zde,isDict:()=>Xde,isEnum:()=>nn,isHexColor:()=>CCe,isISO8601:()=>dCe,isInExclusiveRange:()=>uCe,isInInclusiveRange:()=>cCe,isInstanceOf:()=>$de,isInteger:()=>gCe,isJSON:()=>ECe,isLiteral:()=>Yde,isLowerCase:()=>fCe,isNegative:()=>oCe,isNullable:()=>rCe,isNumber:()=>Wde,isObject:()=>Zde,isOneOf:()=>eCe,isOptional:()=>tCe,isPositive:()=>aCe,isString:()=>fp,isTuple:()=>Vde,isUUID4:()=>pCe,isUnknown:()=>PU,isUpperCase:()=>hCe,iso8601RegExp:()=>uv,makeCoercionFn:()=>Cc,makeSetter:()=>xU,makeTrait:()=>kU,makeValidator:()=>St,matchesRegExp:()=>pp,plural:()=>mI,pushError:()=>mt,simpleKeyRegExp:()=>BU,uuid4RegExp:()=>SU});function St({test:t}){return kU(t)()}function ti(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function YA(t,e){var r,i,n;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:BU.test(e)?`${(i=t==null?void 0:t.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=t==null?void 0:t.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function Cc(t,e){return r=>{let i=t[e];return t[e]=r,Cc(t,e).bind(null,i)}}function xU(t,e){return r=>{t[e]=r}}function mI(t,e,r){return t===1?e:r}function mt({errors:t,p:e}={},r){return t==null||t.push(`${e!=null?e:"."}: ${r}`),!1}function Yde(t){return St({test:(e,r)=>e!==t?mt(r,`Expected a literal (got ${ti(t)})`):!0})}function nn(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return St({test:(i,n)=>r.has(i)?!0:mt(n,`Expected a valid enumeration value (got ${ti(i)})`)})}var BU,bU,QU,vU,SU,uv,kU,PU,fp,qde,Jde,Wde,zde,_de,Vde,Xde,Zde,$de,eCe,hp,tCe,rCe,iCe,nCe,DU,sCe,oCe,aCe,ACe,lCe,cCe,uCe,gCe,pp,fCe,hCe,pCe,dCe,CCe,mCe,ECe,ICe,yCe,wCe,mc,BCe,gv,Is=ffe(()=>{BU=/^[a-zA-Z_][a-zA-Z0-9_]*$/,bU=/^#[0-9a-f]{6}$/i,QU=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,vU=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,SU=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,uv=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,kU=t=>()=>t;PU=()=>St({test:(t,e)=>!0});fp=()=>St({test:(t,e)=>typeof t!="string"?mt(e,`Expected a string (got ${ti(t)})`):!0});qde=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),Jde=()=>St({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i=qde.get(t);if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a boolean (got ${ti(t)})`)}return!0}}),Wde=()=>St({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch(s){}if(typeof n=="number")if(JSON.stringify(n)===t)i=n;else return mt(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a number (got ${ti(t)})`)}return!0}}),zde=()=>St({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i;if(typeof t=="string"&&uv.test(t))i=new Date(t);else{let n;if(typeof t=="string"){let s;try{s=JSON.parse(t)}catch(o){}typeof s=="number"&&(n=s)}else typeof t=="number"&&(n=t);if(typeof n!="undefined")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return mt(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a date (got ${ti(t)})`)}return!0}}),_de=(t,{delimiter:e}={})=>St({test:(r,i)=>{var n;if(typeof r=="string"&&typeof e!="undefined"&&typeof(i==null?void 0:i.coercions)!="undefined"){if(typeof(i==null?void 0:i.coercion)=="undefined")return mt(i,"Unbound coercion result");r=r.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,r)])}if(!Array.isArray(r))return mt(i,`Expected an array (got ${ti(r)})`);let s=!0;for(let o=0,a=r.length;o{let r=DU(t.length);return St({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e!="undefined"&&typeof(n==null?void 0:n.coercions)!="undefined"){if(typeof(n==null?void 0:n.coercion)=="undefined")return mt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return mt(n,`Expected a tuple (got ${ti(i)})`);let o=r(i,Object.assign({},n));for(let a=0,l=i.length;aSt({test:(r,i)=>{if(typeof r!="object"||r===null)return mt(i,`Expected an object (got ${ti(r)})`);let n=Object.keys(r),s=!0;for(let o=0,a=n.length;o{let r=Object.keys(t);return St({test:(i,n)=>{if(typeof i!="object"||i===null)return mt(n,`Expected an object (got ${ti(i)})`);let s=new Set([...r,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=mt(Object.assign(Object.assign({},n),{p:YA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(t,l)?t[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!="undefined"?a=c(u,Object.assign(Object.assign({},n),{p:YA(n,l),coercion:Cc(i,l)}))&&a:e===null?a=mt(Object.assign(Object.assign({},n),{p:YA(n,l)}),`Extraneous property (got ${ti(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:xU(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},$de=t=>St({test:(e,r)=>e instanceof t?!0:mt(r,`Expected an instance of ${t.name} (got ${ti(e)})`)}),eCe=(t,{exclusive:e=!1}={})=>St({test:(r,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!="undefined"?[]:void 0;for(let c=0,u=t.length;c1?mt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),hp=(t,e)=>St({test:(r,i)=>{var n,s;let o={value:r},a=typeof(i==null?void 0:i.coercions)!="undefined"?Cc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)!="undefined"?[]:void 0;if(!t(r,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!="undefined")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!="undefined"){if(o.value!==r){if(typeof(i==null?void 0:i.coercion)=="undefined")return mt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),tCe=t=>St({test:(e,r)=>typeof e=="undefined"?!0:t(e,r)}),rCe=t=>St({test:(e,r)=>e===null?!0:t(e,r)}),iCe=t=>St({test:(e,r)=>e.length>=t?!0:mt(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),nCe=t=>St({test:(e,r)=>e.length<=t?!0:mt(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),DU=t=>St({test:(e,r)=>e.length!==t?mt(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),sCe=({map:t}={})=>St({test:(e,r)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sSt({test:(t,e)=>t<=0?!0:mt(e,`Expected to be negative (got ${t})`)}),aCe=()=>St({test:(t,e)=>t>=0?!0:mt(e,`Expected to be positive (got ${t})`)}),ACe=t=>St({test:(e,r)=>e>=t?!0:mt(r,`Expected to be at least ${t} (got ${e})`)}),lCe=t=>St({test:(e,r)=>e<=t?!0:mt(r,`Expected to be at most ${t} (got ${e})`)}),cCe=(t,e)=>St({test:(r,i)=>r>=t&&r<=e?!0:mt(i,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),uCe=(t,e)=>St({test:(r,i)=>r>=t&&rSt({test:(e,r)=>e!==Math.round(e)?mt(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:mt(r,`Expected to be a safe integer (got ${e})`)}),pp=t=>St({test:(e,r)=>t.test(e)?!0:mt(r,`Expected to match the pattern ${t.toString()} (got ${ti(e)})`)}),fCe=()=>St({test:(t,e)=>t!==t.toLowerCase()?mt(e,`Expected to be all-lowercase (got ${t})`):!0}),hCe=()=>St({test:(t,e)=>t!==t.toUpperCase()?mt(e,`Expected to be all-uppercase (got ${t})`):!0}),pCe=()=>St({test:(t,e)=>SU.test(t)?!0:mt(e,`Expected to be a valid UUID v4 (got ${ti(t)})`)}),dCe=()=>St({test:(t,e)=>uv.test(t)?!1:mt(e,`Expected to be a valid ISO 8601 date string (got ${ti(t)})`)}),CCe=({alpha:t=!1})=>St({test:(e,r)=>(t?bU.test(e):QU.test(e))?!0:mt(r,`Expected to be a valid hexadecimal color string (got ${ti(e)})`)}),mCe=()=>St({test:(t,e)=>vU.test(t)?!0:mt(e,`Expected to be a valid base 64 string (got ${ti(t)})`)}),ECe=(t=PU())=>St({test:(e,r)=>{let i;try{i=JSON.parse(e)}catch(n){return mt(r,`Expected to be a valid JSON string (got ${ti(e)})`)}return t(i,r)}}),ICe=t=>{let e=new Set(t);return St({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?mt(i,`Missing required ${mI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},yCe=t=>{let e=new Set(t);return St({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?mt(i,`Forbidden ${mI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},wCe=t=>{let e=new Set(t);return St({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?mt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(mc||(mc={}));BCe={[mc.Forbids]:{expect:!1,message:"forbids using"},[mc.Requires]:{expect:!0,message:"requires using"}},gv=(t,e,r,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(r),o=BCe[e];return St({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(t)||n.has(a[t]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?mt(l,`Property "${t}" ${o.message} ${mI(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var VU=w((get,_U)=>{"use strict";_U.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var lg=w((fet,Ev)=>{"use strict";var UCe=VU(),XU=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,i=()=>{r--,e.length>0&&e.shift()()},n=(a,l,...c)=>{r++;let u=UCe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{rnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),o};Ev.exports=XU;Ev.exports.default=XU});var Ep=w((pet,ZU)=>{var HCe="2.0.0",GCe=256,jCe=Number.MAX_SAFE_INTEGER||9007199254740991,YCe=16;ZU.exports={SEMVER_SPEC_VERSION:HCe,MAX_LENGTH:GCe,MAX_SAFE_INTEGER:jCe,MAX_SAFE_COMPONENT_LENGTH:YCe}});var Ip=w((det,$U)=>{var qCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};$U.exports=qCe});var Ec=w((JA,e2)=>{var{MAX_SAFE_COMPONENT_LENGTH:Iv}=Ep(),JCe=Ip();JA=e2.exports={};var WCe=JA.re=[],tt=JA.src=[],rt=JA.t={},zCe=0,kt=(t,e,r)=>{let i=zCe++;JCe(i,e),rt[t]=i,tt[i]=e,WCe[i]=new RegExp(e,r?"g":void 0)};kt("NUMERICIDENTIFIER","0|[1-9]\\d*");kt("NUMERICIDENTIFIERLOOSE","[0-9]+");kt("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");kt("MAINVERSION",`(${tt[rt.NUMERICIDENTIFIER]})\\.(${tt[rt.NUMERICIDENTIFIER]})\\.(${tt[rt.NUMERICIDENTIFIER]})`);kt("MAINVERSIONLOOSE",`(${tt[rt.NUMERICIDENTIFIERLOOSE]})\\.(${tt[rt.NUMERICIDENTIFIERLOOSE]})\\.(${tt[rt.NUMERICIDENTIFIERLOOSE]})`);kt("PRERELEASEIDENTIFIER",`(?:${tt[rt.NUMERICIDENTIFIER]}|${tt[rt.NONNUMERICIDENTIFIER]})`);kt("PRERELEASEIDENTIFIERLOOSE",`(?:${tt[rt.NUMERICIDENTIFIERLOOSE]}|${tt[rt.NONNUMERICIDENTIFIER]})`);kt("PRERELEASE",`(?:-(${tt[rt.PRERELEASEIDENTIFIER]}(?:\\.${tt[rt.PRERELEASEIDENTIFIER]})*))`);kt("PRERELEASELOOSE",`(?:-?(${tt[rt.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${tt[rt.PRERELEASEIDENTIFIERLOOSE]})*))`);kt("BUILDIDENTIFIER","[0-9A-Za-z-]+");kt("BUILD",`(?:\\+(${tt[rt.BUILDIDENTIFIER]}(?:\\.${tt[rt.BUILDIDENTIFIER]})*))`);kt("FULLPLAIN",`v?${tt[rt.MAINVERSION]}${tt[rt.PRERELEASE]}?${tt[rt.BUILD]}?`);kt("FULL",`^${tt[rt.FULLPLAIN]}$`);kt("LOOSEPLAIN",`[v=\\s]*${tt[rt.MAINVERSIONLOOSE]}${tt[rt.PRERELEASELOOSE]}?${tt[rt.BUILD]}?`);kt("LOOSE",`^${tt[rt.LOOSEPLAIN]}$`);kt("GTLT","((?:<|>)?=?)");kt("XRANGEIDENTIFIERLOOSE",`${tt[rt.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);kt("XRANGEIDENTIFIER",`${tt[rt.NUMERICIDENTIFIER]}|x|X|\\*`);kt("XRANGEPLAIN",`[v=\\s]*(${tt[rt.XRANGEIDENTIFIER]})(?:\\.(${tt[rt.XRANGEIDENTIFIER]})(?:\\.(${tt[rt.XRANGEIDENTIFIER]})(?:${tt[rt.PRERELEASE]})?${tt[rt.BUILD]}?)?)?`);kt("XRANGEPLAINLOOSE",`[v=\\s]*(${tt[rt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${tt[rt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${tt[rt.XRANGEIDENTIFIERLOOSE]})(?:${tt[rt.PRERELEASELOOSE]})?${tt[rt.BUILD]}?)?)?`);kt("XRANGE",`^${tt[rt.GTLT]}\\s*${tt[rt.XRANGEPLAIN]}$`);kt("XRANGELOOSE",`^${tt[rt.GTLT]}\\s*${tt[rt.XRANGEPLAINLOOSE]}$`);kt("COERCE",`(^|[^\\d])(\\d{1,${Iv}})(?:\\.(\\d{1,${Iv}}))?(?:\\.(\\d{1,${Iv}}))?(?:$|[^\\d])`);kt("COERCERTL",tt[rt.COERCE],!0);kt("LONETILDE","(?:~>?)");kt("TILDETRIM",`(\\s*)${tt[rt.LONETILDE]}\\s+`,!0);JA.tildeTrimReplace="$1~";kt("TILDE",`^${tt[rt.LONETILDE]}${tt[rt.XRANGEPLAIN]}$`);kt("TILDELOOSE",`^${tt[rt.LONETILDE]}${tt[rt.XRANGEPLAINLOOSE]}$`);kt("LONECARET","(?:\\^)");kt("CARETTRIM",`(\\s*)${tt[rt.LONECARET]}\\s+`,!0);JA.caretTrimReplace="$1^";kt("CARET",`^${tt[rt.LONECARET]}${tt[rt.XRANGEPLAIN]}$`);kt("CARETLOOSE",`^${tt[rt.LONECARET]}${tt[rt.XRANGEPLAINLOOSE]}$`);kt("COMPARATORLOOSE",`^${tt[rt.GTLT]}\\s*(${tt[rt.LOOSEPLAIN]})$|^$`);kt("COMPARATOR",`^${tt[rt.GTLT]}\\s*(${tt[rt.FULLPLAIN]})$|^$`);kt("COMPARATORTRIM",`(\\s*)${tt[rt.GTLT]}\\s*(${tt[rt.LOOSEPLAIN]}|${tt[rt.XRANGEPLAIN]})`,!0);JA.comparatorTrimReplace="$1$2$3";kt("HYPHENRANGE",`^\\s*(${tt[rt.XRANGEPLAIN]})\\s+-\\s+(${tt[rt.XRANGEPLAIN]})\\s*$`);kt("HYPHENRANGELOOSE",`^\\s*(${tt[rt.XRANGEPLAINLOOSE]})\\s+-\\s+(${tt[rt.XRANGEPLAINLOOSE]})\\s*$`);kt("STAR","(<|>)?=?\\s*\\*");kt("GTE0","^\\s*>=\\s*0.0.0\\s*$");kt("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var yp=w((Cet,t2)=>{var _Ce=["includePrerelease","loose","rtl"],VCe=t=>t?typeof t!="object"?{loose:!0}:_Ce.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};t2.exports=VCe});var QI=w((met,r2)=>{var i2=/^[0-9]+$/,n2=(t,e)=>{let r=i2.test(t),i=i2.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:tn2(e,t);r2.exports={compareIdentifiers:n2,rcompareIdentifiers:XCe}});var Hi=w((Eet,s2)=>{var vI=Ip(),{MAX_LENGTH:o2,MAX_SAFE_INTEGER:SI}=Ep(),{re:a2,t:A2}=Ec(),ZCe=yp(),{compareIdentifiers:wp}=QI(),ws=class{constructor(e,r){if(r=ZCe(r),e instanceof ws){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>o2)throw new TypeError(`version is longer than ${o2} characters`);vI("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=e.trim().match(r.loose?a2[A2.LOOSE]:a2[A2.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>SI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>SI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>SI||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}r&&(this.prerelease[0]===r?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};s2.exports=ws});var Ic=w((Iet,l2)=>{var{MAX_LENGTH:$Ce}=Ep(),{re:c2,t:u2}=Ec(),g2=Hi(),eme=yp(),tme=(t,e)=>{if(e=eme(e),t instanceof g2)return t;if(typeof t!="string"||t.length>$Ce||!(e.loose?c2[u2.LOOSE]:c2[u2.FULL]).test(t))return null;try{return new g2(t,e)}catch(i){return null}};l2.exports=tme});var h2=w((yet,f2)=>{var rme=Ic(),ime=(t,e)=>{let r=rme(t,e);return r?r.version:null};f2.exports=ime});var d2=w((wet,p2)=>{var nme=Ic(),sme=(t,e)=>{let r=nme(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};p2.exports=sme});var m2=w((Bet,C2)=>{var ome=Hi(),ame=(t,e,r,i)=>{typeof r=="string"&&(i=r,r=void 0);try{return new ome(t,r).inc(e,i).version}catch(n){return null}};C2.exports=ame});var Bs=w((bet,E2)=>{var I2=Hi(),Ame=(t,e,r)=>new I2(t,r).compare(new I2(e,r));E2.exports=Ame});var kI=w((Qet,y2)=>{var lme=Bs(),cme=(t,e,r)=>lme(t,e,r)===0;y2.exports=cme});var b2=w((vet,w2)=>{var B2=Ic(),ume=kI(),gme=(t,e)=>{if(ume(t,e))return null;{let r=B2(t),i=B2(e),n=r.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in r)if((a==="major"||a==="minor"||a==="patch")&&r[a]!==i[a])return s+a;return o}};w2.exports=gme});var v2=w((ket,Q2)=>{var fme=Hi(),hme=(t,e)=>new fme(t,e).major;Q2.exports=hme});var k2=w((xet,S2)=>{var pme=Hi(),dme=(t,e)=>new pme(t,e).minor;S2.exports=dme});var P2=w((Pet,x2)=>{var Cme=Hi(),mme=(t,e)=>new Cme(t,e).patch;x2.exports=mme});var R2=w((Det,D2)=>{var Eme=Ic(),Ime=(t,e)=>{let r=Eme(t,e);return r&&r.prerelease.length?r.prerelease:null};D2.exports=Ime});var N2=w((Ret,F2)=>{var yme=Bs(),wme=(t,e,r)=>yme(e,t,r);F2.exports=wme});var T2=w((Fet,L2)=>{var Bme=Bs(),bme=(t,e)=>Bme(t,e,!0);L2.exports=bme});var xI=w((Net,O2)=>{var M2=Hi(),Qme=(t,e,r)=>{let i=new M2(t,r),n=new M2(e,r);return i.compare(n)||i.compareBuild(n)};O2.exports=Qme});var U2=w((Let,K2)=>{var vme=xI(),Sme=(t,e)=>t.sort((r,i)=>vme(r,i,e));K2.exports=Sme});var G2=w((Tet,H2)=>{var kme=xI(),xme=(t,e)=>t.sort((r,i)=>kme(i,r,e));H2.exports=xme});var Bp=w((Oet,j2)=>{var Pme=Bs(),Dme=(t,e,r)=>Pme(t,e,r)>0;j2.exports=Dme});var PI=w((Met,Y2)=>{var Rme=Bs(),Fme=(t,e,r)=>Rme(t,e,r)<0;Y2.exports=Fme});var yv=w((Ket,q2)=>{var Nme=Bs(),Lme=(t,e,r)=>Nme(t,e,r)!==0;q2.exports=Lme});var DI=w((Uet,J2)=>{var Tme=Bs(),Ome=(t,e,r)=>Tme(t,e,r)>=0;J2.exports=Ome});var RI=w((Het,W2)=>{var Mme=Bs(),Kme=(t,e,r)=>Mme(t,e,r)<=0;W2.exports=Kme});var wv=w((Get,z2)=>{var Ume=kI(),Hme=yv(),Gme=Bp(),jme=DI(),Yme=PI(),qme=RI(),Jme=(t,e,r,i)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Ume(t,r,i);case"!=":return Hme(t,r,i);case">":return Gme(t,r,i);case">=":return jme(t,r,i);case"<":return Yme(t,r,i);case"<=":return qme(t,r,i);default:throw new TypeError(`Invalid operator: ${e}`)}};z2.exports=Jme});var V2=w((jet,_2)=>{var Wme=Hi(),zme=Ic(),{re:FI,t:NI}=Ec(),_me=(t,e)=>{if(t instanceof Wme)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(FI[NI.COERCE]);else{let i;for(;(i=FI[NI.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),FI[NI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;FI[NI.COERCERTL].lastIndex=-1}return r===null?null:zme(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};_2.exports=_me});var Z2=w((Yet,X2)=>{"use strict";X2.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var bp=w((qet,$2)=>{"use strict";$2.exports=jt;jt.Node=yc;jt.create=jt;function jt(t){var e=this;if(e instanceof jt||(e=new jt),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else if(this.head)i=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)r=t(r,i.value,n),i=i.next;return r};jt.prototype.reduceReverse=function(t,e){var r,i=this.tail;if(arguments.length>1)r=e;else if(this.tail)i=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)r=t(r,i.value,n),i=i.prev;return r};jt.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};jt.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};jt.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new jt;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>t;i--,n=n.prev)r.push(n.value);return r};jt.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,n=this.head;n!==null&&i{"use strict";var $me=bp(),wc=Symbol("max"),Oa=Symbol("length"),cg=Symbol("lengthCalculator"),Qp=Symbol("allowStale"),Bc=Symbol("maxAge"),Ma=Symbol("dispose"),tH=Symbol("noDisposeOnSet"),Ii=Symbol("lruList"),so=Symbol("cache"),rH=Symbol("updateAgeOnGet"),Bv=()=>1,iH=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[wc]=e.max||Infinity,i=e.length||Bv;if(this[cg]=typeof i!="function"?Bv:i,this[Qp]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[Bc]=e.maxAge||0,this[Ma]=e.dispose,this[tH]=e.noDisposeOnSet||!1,this[rH]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[wc]=e||Infinity,vp(this)}get max(){return this[wc]}set allowStale(e){this[Qp]=!!e}get allowStale(){return this[Qp]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[Bc]=e,vp(this)}get maxAge(){return this[Bc]}set lengthCalculator(e){typeof e!="function"&&(e=Bv),e!==this[cg]&&(this[cg]=e,this[Oa]=0,this[Ii].forEach(r=>{r.length=this[cg](r.value,r.key),this[Oa]+=r.length})),vp(this)}get lengthCalculator(){return this[cg]}get length(){return this[Oa]}get itemCount(){return this[Ii].length}rforEach(e,r){r=r||this;for(let i=this[Ii].tail;i!==null;){let n=i.prev;sH(this,e,i,r),i=n}}forEach(e,r){r=r||this;for(let i=this[Ii].head;i!==null;){let n=i.next;sH(this,e,i,r),i=n}}keys(){return this[Ii].toArray().map(e=>e.key)}values(){return this[Ii].toArray().map(e=>e.value)}reset(){this[Ma]&&this[Ii]&&this[Ii].length&&this[Ii].forEach(e=>this[Ma](e.key,e.value)),this[so]=new Map,this[Ii]=new $me,this[Oa]=0}dump(){return this[Ii].map(e=>LI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Ii]}set(e,r,i){if(i=i||this[Bc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[cg](r,e);if(this[so].has(e)){if(s>this[wc])return ug(this,this[so].get(e)),!1;let l=this[so].get(e).value;return this[Ma]&&(this[tH]||this[Ma](e,l.value)),l.now=n,l.maxAge=i,l.value=r,this[Oa]+=s-l.length,l.length=s,this.get(e),vp(this),!0}let o=new nH(e,r,s,n,i);return o.length>this[wc]?(this[Ma]&&this[Ma](e,r),!1):(this[Oa]+=o.length,this[Ii].unshift(o),this[so].set(e,this[Ii].head),vp(this),!0)}has(e){if(!this[so].has(e))return!1;let r=this[so].get(e).value;return!LI(this,r)}get(e){return bv(this,e,!0)}peek(e){return bv(this,e,!1)}pop(){let e=this[Ii].tail;return e?(ug(this,e),e.value):null}del(e){ug(this,this[so].get(e))}load(e){this.reset();let r=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-r;o>0&&this.set(n.k,n.v,o)}}}prune(){this[so].forEach((e,r)=>bv(this,r,!1))}},bv=(t,e,r)=>{let i=t[so].get(e);if(i){let n=i.value;if(LI(t,n)){if(ug(t,i),!t[Qp])return}else r&&(t[rH]&&(i.value.now=Date.now()),t[Ii].unshiftNode(i));return n.value}},LI=(t,e)=>{if(!e||!e.maxAge&&!t[Bc])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[Bc]&&r>t[Bc]},vp=t=>{if(t[Oa]>t[wc])for(let e=t[Ii].tail;t[Oa]>t[wc]&&e!==null;){let r=e.prev;ug(t,e),e=r}},ug=(t,e)=>{if(e){let r=e.value;t[Ma]&&t[Ma](r.key,r.value),t[Oa]-=r.length,t[so].delete(r.key),t[Ii].removeNode(e)}},nH=class{constructor(e,r,i,n,s){this.key=e,this.value=r,this.length=i,this.now=n,this.maxAge=s||0}},sH=(t,e,r,i)=>{let n=r.value;LI(t,n)&&(ug(t,r),t[Qp]||(n=void 0)),n&&e.call(i,n.value,n.key,t)};eH.exports=iH});var bs=w((Wet,aH)=>{var gg=class{constructor(e,r){if(r=eEe(r),e instanceof gg)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new gg(e.raw,r);if(e instanceof Qv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!lH(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&sEe(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=AH.get(i);if(n)return n;let s=this.options.loose,o=s?Gi[ki.HYPHENRANGELOOSE]:Gi[ki.HYPHENRANGE];e=e.replace(o,AEe(this.options.includePrerelease)),zr("hyphen replace",e),e=e.replace(Gi[ki.COMPARATORTRIM],rEe),zr("comparator trim",e,Gi[ki.COMPARATORTRIM]),e=e.replace(Gi[ki.TILDETRIM],iEe),e=e.replace(Gi[ki.CARETTRIM],nEe),e=e.split(/\s+/).join(" ");let a=s?Gi[ki.COMPARATORLOOSE]:Gi[ki.COMPARATOR],l=e.split(" ").map(f=>oEe(f,this.options)).join(" ").split(/\s+/).map(f=>aEe(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new Qv(f,this.options)),c=l.length,u=new Map;for(let f of l){if(lH(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return AH.set(i,g),g}intersects(e,r){if(!(e instanceof gg))throw new TypeError("a Range is required");return this.set.some(i=>cH(i,r)&&e.set.some(n=>cH(n,r)&&i.every(s=>n.every(o=>s.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new tEe(e,this.options)}catch(r){return!1}for(let r=0;rt.value==="<0.0.0-0",sEe=t=>t.value==="",cH=(t,e)=>{let r=!0,i=t.slice(),n=i.pop();for(;r&&i.length;)r=i.every(s=>n.intersects(s,e)),n=i.pop();return r},oEe=(t,e)=>(zr("comp",t,e),t=gEe(t,e),zr("caret",t),t=uEe(t,e),zr("tildes",t),t=fEe(t,e),zr("xrange",t),t=hEe(t,e),zr("stars",t),t),on=t=>!t||t.toLowerCase()==="x"||t==="*",uEe=(t,e)=>t.trim().split(/\s+/).map(r=>pEe(r,e)).join(" "),pEe=(t,e)=>{let r=e.loose?Gi[ki.TILDELOOSE]:Gi[ki.TILDE];return t.replace(r,(i,n,s,o,a)=>{zr("tilde",t,i,n,s,o,a);let l;return on(n)?l="":on(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:on(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(zr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,zr("tilde return",l),l})},gEe=(t,e)=>t.trim().split(/\s+/).map(r=>dEe(r,e)).join(" "),dEe=(t,e)=>{zr("caret",t,e);let r=e.loose?Gi[ki.CARETLOOSE]:Gi[ki.CARET],i=e.includePrerelease?"-0":"";return t.replace(r,(n,s,o,a,l)=>{zr("caret",t,n,s,o,a,l);let c;return on(s)?c="":on(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:on(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(zr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(zr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),zr("caret return",c),c})},fEe=(t,e)=>(zr("replaceXRanges",t,e),t.split(/\s+/).map(r=>CEe(r,e)).join(" ")),CEe=(t,e)=>{t=t.trim();let r=e.loose?Gi[ki.XRANGELOOSE]:Gi[ki.XRANGE];return t.replace(r,(i,n,s,o,a,l)=>{zr("xRange",t,i,n,s,o,a,l);let c=on(s),u=c||on(o),g=u||on(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),zr("xRange return",i),i})},hEe=(t,e)=>(zr("replaceStars",t,e),t.trim().replace(Gi[ki.STAR],"")),aEe=(t,e)=>(zr("replaceGTE0",t,e),t.trim().replace(Gi[e.includePrerelease?ki.GTE0PRE:ki.GTE0],"")),AEe=t=>(e,r,i,n,s,o,a,l,c,u,g,f,h)=>(on(i)?r="":on(n)?r=`>=${i}.0.0${t?"-0":""}`:on(s)?r=`>=${i}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,on(c)?l="":on(u)?l=`<${+c+1}.0.0-0`:on(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:t?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${r} ${l}`.trim()),lEe=(t,e,r)=>{for(let i=0;i0){let n=t[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Sp=w((zet,uH)=>{var kp=Symbol("SemVer ANY"),xp=class{static get ANY(){return kp}constructor(e,r){if(r=mEe(r),e instanceof xp){if(e.loose===!!r.loose)return e;e=e.value}Sv("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===kp?this.value="":this.value=this.operator+this.semver.version,Sv("comp",this)}parse(e){let r=this.options.loose?gH[fH.COMPARATORLOOSE]:gH[fH.COMPARATOR],i=e.match(r);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new hH(i[2],this.options.loose):this.semver=kp}toString(){return this.value}test(e){if(Sv("Comparator.test",e,this.options.loose),this.semver===kp||e===kp)return!0;if(typeof e=="string")try{e=new hH(e,this.options)}catch(r){return!1}return vv(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof xp))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new pH(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new pH(this.value,r).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=vv(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=vv(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};uH.exports=xp;var mEe=yp(),{re:gH,t:fH}=Ec(),vv=wv(),Sv=Ip(),hH=Hi(),pH=bs()});var Pp=w((_et,dH)=>{var EEe=bs(),IEe=(t,e,r)=>{try{e=new EEe(e,r)}catch(i){return!1}return e.test(t)};dH.exports=IEe});var mH=w((Vet,CH)=>{var yEe=bs(),wEe=(t,e)=>new yEe(t,e).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));CH.exports=wEe});var IH=w((Xet,EH)=>{var BEe=Hi(),bEe=bs(),QEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new bEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new BEe(i,r))}),i};EH.exports=QEe});var wH=w((Zet,yH)=>{var vEe=Hi(),SEe=bs(),kEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new SEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new vEe(i,r))}),i};yH.exports=kEe});var QH=w(($et,BH)=>{var kv=Hi(),xEe=bs(),bH=Bp(),PEe=(t,e)=>{t=new xEe(t,e);let r=new kv("0.0.0");if(t.test(r)||(r=new kv("0.0.0-0"),t.test(r)))return r;r=null;for(let i=0;i{let a=new kv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||bH(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!r||bH(r,s))&&(r=s)}return r&&t.test(r)?r:null};BH.exports=PEe});var SH=w((ett,vH)=>{var DEe=bs(),REe=(t,e)=>{try{return new DEe(t,e).range||"*"}catch(r){return null}};vH.exports=REe});var TI=w((ttt,kH)=>{var FEe=Hi(),xH=Sp(),{ANY:NEe}=xH,LEe=bs(),TEe=Pp(),PH=Bp(),DH=PI(),OEe=RI(),MEe=DI(),KEe=(t,e,r,i)=>{t=new FEe(t,i),e=new LEe(e,i);let n,s,o,a,l;switch(r){case">":n=PH,s=OEe,o=DH,a=">",l=">=";break;case"<":n=DH,s=MEe,o=PH,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(TEe(t,e,i))return!1;for(let c=0;c{h.semver===NEe&&(h=new xH(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(t,f.semver))return!1;if(f.operator===l&&o(t,f.semver))return!1}return!0};kH.exports=KEe});var FH=w((rtt,RH)=>{var UEe=TI(),HEe=(t,e,r)=>UEe(t,e,">",r);RH.exports=HEe});var LH=w((itt,NH)=>{var GEe=TI(),jEe=(t,e,r)=>GEe(t,e,"<",r);NH.exports=jEe});var MH=w((ntt,TH)=>{var OH=bs(),YEe=(t,e,r)=>(t=new OH(t,r),e=new OH(e,r),t.intersects(e));TH.exports=YEe});var UH=w((stt,KH)=>{var qEe=Pp(),JEe=Bs();KH.exports=(t,e,r)=>{let i=[],n=null,s=null,o=t.sort((u,g)=>JEe(u,g,r));for(let u of o)qEe(u,e,r)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var GH=bs(),OI=Sp(),{ANY:xv}=OI,Dp=Pp(),Pv=Bs(),zEe=(t,e,r={})=>{if(t===e)return!0;t=new GH(t,r),e=new GH(e,r);let i=!1;e:for(let n of t.set){for(let s of e.set){let o=WEe(n,s,r);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},WEe=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===xv){if(e.length===1&&e[0].semver===xv)return!0;r.includePrerelease?t=[new OI(">=0.0.0-0")]:t=[new OI(">=0.0.0")]}if(e.length===1&&e[0].semver===xv){if(r.includePrerelease)return!0;e=[new OI(">=0.0.0")]}let i=new Set,n,s;for(let h of t)h.operator===">"||h.operator===">="?n=jH(n,h,r):h.operator==="<"||h.operator==="<="?s=YH(s,h,r):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=Pv(n.semver,s.semver,r),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!Dp(h,String(n),r)||s&&!Dp(h,String(s),r))return null;for(let p of e)if(!Dp(h,String(p),r))return!1;return!0}let a,l,c,u,g=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=jH(n,h,r),a===h&&a!==n)return!1}else if(n.operator===">="&&!Dp(n.semver,String(h),r))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=YH(s,h,r),l===h&&l!==s)return!1}else if(s.operator==="<="&&!Dp(s.semver,String(h),r))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},jH=(t,e,r)=>{if(!t)return e;let i=Pv(t.semver,e.semver,r);return i>0?t:i<0||e.operator===">"&&t.operator===">="?e:t},YH=(t,e,r)=>{if(!t)return e;let i=Pv(t.semver,e.semver,r);return i<0?t:i>0||e.operator==="<"&&t.operator==="<="?e:t};HH.exports=zEe});var ri=w((att,JH)=>{var Dv=Ec();JH.exports={re:Dv.re,src:Dv.src,tokens:Dv.t,SEMVER_SPEC_VERSION:Ep().SEMVER_SPEC_VERSION,SemVer:Hi(),compareIdentifiers:QI().compareIdentifiers,rcompareIdentifiers:QI().rcompareIdentifiers,parse:Ic(),valid:h2(),clean:d2(),inc:m2(),diff:b2(),major:v2(),minor:k2(),patch:P2(),prerelease:R2(),compare:Bs(),rcompare:N2(),compareLoose:T2(),compareBuild:xI(),sort:U2(),rsort:G2(),gt:Bp(),lt:PI(),eq:kI(),neq:yv(),gte:DI(),lte:RI(),cmp:wv(),coerce:V2(),Comparator:Sp(),Range:bs(),satisfies:Pp(),toComparators:mH(),maxSatisfying:IH(),minSatisfying:wH(),minVersion:QH(),validRange:SH(),outside:TI(),gtr:FH(),ltr:LH(),intersects:MH(),simplifyRange:UH(),subset:qH()}});var Rv=w(MI=>{"use strict";Object.defineProperty(MI,"__esModule",{value:!0});MI.VERSION=void 0;MI.VERSION="9.1.0"});var Yt=w((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var i=0,n=e.length,s;i{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof KI=="object"&&KI.exports?KI.exports=e():t.regexpToAst=e()})(typeof self!="undefined"?self:WH,function(){function t(){}t.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},t.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},t.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var m=this.disjunction();this.consumeChar("/");for(var y={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(y,"global");break;case"i":o(y,"ignoreCase");break;case"m":o(y,"multiLine");break;case"u":o(y,"unicode");break;case"y":o(y,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:y,value:m,loc:this.loc(0)}},t.prototype.disjunction=function(){var p=[],m=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(m)}},t.prototype.alternative=function(){for(var p=[],m=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(m)}},t.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},t.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var m;switch(this.popChar()){case"=":m="Lookahead";break;case"!":m="NegativeLookahead";break}a(m);var y=this.disjunction();return this.consumeChar(")"),{type:m,value:y,loc:this.loc(p)}}l()},t.prototype.quantifier=function(p){var m,y=this.idx;switch(this.popChar()){case"*":m={atLeast:0,atMost:Infinity};break;case"+":m={atLeast:1,atMost:Infinity};break;case"?":m={atLeast:0,atMost:1};break;case"{":var b=this.integerIncludingZero();switch(this.popChar()){case"}":m={atLeast:b,atMost:b};break;case",":var S;this.isDigit()?(S=this.integerIncludingZero(),m={atLeast:b,atMost:S}):m={atLeast:b,atMost:Infinity},this.consumeChar("}");break}if(p===!0&&m===void 0)return;a(m);break}if(!(p===!0&&m===void 0))return a(m),this.peekChar(0)==="?"?(this.consumeChar("?"),m.greedy=!1):m.greedy=!0,m.type="Quantifier",m.loc=this.loc(y),m},t.prototype.atom=function(){var p,m=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(m),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},t.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` +`),n("\r"),n("\u2028"),n("\u2029")]}},t.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},t.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},t.prototype.characterClassEscape=function(){var p,m=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,m=!0;break;case"s":p=f;break;case"S":p=f,m=!0;break;case"w":p=g;break;case"W":p=g,m=!0;break}return a(p),{type:"Set",value:p,complement:m}},t.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` +`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},t.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var m=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:m}},t.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},t.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},t.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},t.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},t.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},t.prototype.characterClass=function(){var p=[],m=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),m=!0);this.isClassAtom();){var y=this.classAtom(),b=y.type==="Character";if(b&&this.isRangeDash()){this.consumeChar("-");var S=this.classAtom(),k=S.type==="Character";if(k){if(S.value=this.input.length)throw Error("Unexpected end of input");this.idx++},t.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,r=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,m){p.length!==void 0?p.forEach(function(y){m.push(y)}):m.push(p)}function o(p,m){if(p[m]===!0)throw"duplicate flag "+m;p[m]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` +`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var m in p){var y=p[m];p.hasOwnProperty(m)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(b){this.visit(b)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:t,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var GI=w(fg=>{"use strict";Object.defineProperty(fg,"__esModule",{value:!0});fg.clearRegExpParserCache=fg.getRegExpAst=void 0;var _Ee=UI(),HI={},VEe=new _Ee.RegExpParser;function XEe(t){var e=t.toString();if(HI.hasOwnProperty(e))return HI[e];var r=VEe.pattern(e);return HI[e]=r,r}fg.getRegExpAst=XEe;function ZEe(){HI={}}fg.clearRegExpParserCache=ZEe});var ZH=w(Bn=>{"use strict";var $Ee=Bn&&Bn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Bn,"__esModule",{value:!0});Bn.canMatchCharCode=Bn.firstCharOptimizedIndices=Bn.getOptimizedStartCodesIndices=Bn.failedOptimizationPrefixMsg=void 0;var zH=UI(),Qs=Yt(),_H=GI(),Ka=Fv(),VH="Complement Sets are not supported for first char optimization";Bn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: +`;function eIe(t,e){e===void 0&&(e=!1);try{var r=(0,_H.getRegExpAst)(t),i=jI(r.value,{},r.flags.ignoreCase);return i}catch(s){if(s.message===VH)e&&(0,Qs.PRINT_WARNING)(""+Bn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+t.toString()+` > +`)+` Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,Qs.PRINT_ERROR)(Bn.failedOptimizationPrefixMsg+` +`+(" Failed parsing: < "+t.toString()+` > +`)+(" Using the regexp-to-ast library version: "+zH.VERSION+` +`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}Bn.getOptimizedStartCodesIndices=eIe;function jI(t,e,r){switch(t.type){case"Disjunction":for(var i=0;i=Ka.minOptimizationVal)for(var f=u.from>=Ka.minOptimizationVal?u.from:Ka.minOptimizationVal,h=u.to,p=(0,Ka.charCodeToOptimizedIndex)(f),m=(0,Ka.charCodeToOptimizedIndex)(h),y=p;y<=m;y++)e[y]=y}}});break;case"Group":jI(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&Nv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,Qs.values)(e)}Bn.firstCharOptimizedIndices=jI;function YI(t,e,r){var i=(0,Ka.charCodeToOptimizedIndex)(t);e[i]=i,r===!0&&tIe(t,e)}function tIe(t,e){var r=String.fromCharCode(t),i=r.toUpperCase();if(i!==r){var n=(0,Ka.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=r.toLowerCase();if(s!==r){var n=(0,Ka.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function XH(t,e){return(0,Qs.find)(t.value,function(r){if(typeof r=="number")return(0,Qs.contains)(e,r);var i=r;return(0,Qs.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function Nv(t){return t.quantifier&&t.quantifier.atLeast===0?!0:t.value?(0,Qs.isArray)(t.value)?(0,Qs.every)(t.value,Nv):Nv(t.value):!1}var rIe=function(t){$Ee(e,t);function e(r){var i=t.call(this)||this;return i.targetCharCodes=r,i.found=!1,i}return e.prototype.visitChildren=function(r){if(this.found!==!0){switch(r.type){case"Lookahead":this.visitLookahead(r);return;case"NegativeLookahead":this.visitNegativeLookahead(r);return}t.prototype.visitChildren.call(this,r)}},e.prototype.visitCharacter=function(r){(0,Qs.contains)(this.targetCharCodes,r.value)&&(this.found=!0)},e.prototype.visitSet=function(r){r.complement?XH(r,this.targetCharCodes)===void 0&&(this.found=!0):XH(r,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(zH.BaseRegExpVisitor);function iIe(t,e){if(e instanceof RegExp){var r=(0,_H.getRegExpAst)(e),i=new rIe(t);return i.visit(r),i.found}else return(0,Qs.find)(e,function(n){return(0,Qs.contains)(t,n.charCodeAt(0))})!==void 0}Bn.canMatchCharCode=iIe});var Fv=w(Ze=>{"use strict";var $H=Ze&&Ze.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Ze,"__esModule",{value:!0});Ze.charCodeToOptimizedIndex=Ze.minOptimizationVal=Ze.buildLineBreakIssueMessage=Ze.LineTerminatorOptimizedTester=Ze.isShortPattern=Ze.isCustomPattern=Ze.cloneEmptyGroups=Ze.performWarningRuntimeChecks=Ze.performRuntimeChecks=Ze.addStickyFlag=Ze.addStartOfInput=Ze.findUnreachablePatterns=Ze.findModesThatDoNotExist=Ze.findInvalidGroupType=Ze.findDuplicatePatterns=Ze.findUnsupportedFlags=Ze.findStartOfInputAnchor=Ze.findEmptyMatchRegExps=Ze.findEndOfInputAnchor=Ze.findInvalidPatterns=Ze.findMissingPatterns=Ze.validatePatterns=Ze.analyzeTokenTypes=Ze.enableSticky=Ze.disableSticky=Ze.SUPPORT_STICKY=Ze.MODES=Ze.DEFAULT_MODE=void 0;var eG=UI(),Ar=Rp(),Ne=Yt(),hg=ZH(),tG=GI(),Lo="PATTERN";Ze.DEFAULT_MODE="defaultMode";Ze.MODES="modes";Ze.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function nIe(){Ze.SUPPORT_STICKY=!1}Ze.disableSticky=nIe;function sIe(){Ze.SUPPORT_STICKY=!0}Ze.enableSticky=sIe;function aIe(t,e){e=(0,Ne.defaults)(e,{useSticky:Ze.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:function(S,k){return k()}});var r=e.tracer;r("initCharCodeToOptimizedIndexMap",function(){oIe()});var i;r("Reject Lexer.NA",function(){i=(0,Ne.reject)(t,function(S){return S[Lo]===Ar.Lexer.NA})});var n=!1,s;r("Transform Patterns",function(){n=!1,s=(0,Ne.map)(i,function(S){var k=S[Lo];if((0,Ne.isRegExp)(k)){var T=k.source;return T.length===1&&T!=="^"&&T!=="$"&&T!=="."&&!k.ignoreCase?T:T.length===2&&T[0]==="\\"&&!(0,Ne.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],T[1])?T[1]:e.useSticky?Tv(k):Lv(k)}else{if((0,Ne.isFunction)(k))return n=!0,{exec:k};if((0,Ne.has)(k,"exec"))return n=!0,k;if(typeof k=="string"){if(k.length===1)return k;var Y=k.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(Y);return e.useSticky?Tv(j):Lv(j)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;r("misc mapping",function(){o=(0,Ne.map)(i,function(S){return S.tokenTypeIdx}),a=(0,Ne.map)(i,function(S){var k=S.GROUP;if(k!==Ar.Lexer.SKIPPED){if((0,Ne.isString)(k))return k;if((0,Ne.isUndefined)(k))return!1;throw Error("non exhaustive match")}}),l=(0,Ne.map)(i,function(S){var k=S.LONGER_ALT;if(k){var T=(0,Ne.isArray)(k)?(0,Ne.map)(k,function(Y){return(0,Ne.indexOf)(i,Y)}):[(0,Ne.indexOf)(i,k)];return T}}),c=(0,Ne.map)(i,function(S){return S.PUSH_MODE}),u=(0,Ne.map)(i,function(S){return(0,Ne.has)(S,"POP_MODE")})});var g;r("Line Terminator Handling",function(){var S=nG(e.lineTerminatorCharacters);g=(0,Ne.map)(i,function(k){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,Ne.map)(i,function(k){if((0,Ne.has)(k,"LINE_BREAKS"))return k.LINE_BREAKS;if(iG(k,S)===!1)return(0,hg.canMatchCharCode)(S,k.PATTERN)}))});var f,h,p,m;r("Misc Mapping #2",function(){f=(0,Ne.map)(i,Ov),h=(0,Ne.map)(s,rG),p=(0,Ne.reduce)(i,function(S,k){var T=k.GROUP;return(0,Ne.isString)(T)&&T!==Ar.Lexer.SKIPPED&&(S[T]=[]),S},{}),m=(0,Ne.map)(s,function(S,k){return{pattern:s[k],longerAlt:l[k],canLineTerminator:g[k],isCustom:f[k],short:h[k],group:a[k],push:c[k],pop:u[k],tokenTypeIdx:o[k],tokenType:i[k]}})});var y=!0,b=[];return e.safeMode||r("First Char Optimization",function(){b=(0,Ne.reduce)(i,function(S,k,T){if(typeof k.PATTERN=="string"){var Y=k.PATTERN.charCodeAt(0),j=Kv(Y);Mv(S,j,m[T])}else if((0,Ne.isArray)(k.START_CHARS_HINT)){var Z;(0,Ne.forEach)(k.START_CHARS_HINT,function(re){var ee=typeof re=="string"?re.charCodeAt(0):re,A=Kv(ee);Z!==A&&(Z=A,Mv(S,A,m[T]))})}else if((0,Ne.isRegExp)(k.PATTERN))if(k.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,Ne.PRINT_ERROR)(""+hg.failedOptimizationPrefixMsg+(" Unable to analyze < "+k.PATTERN.toString()+` > pattern. +`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var J=(0,hg.getOptimizedStartCodesIndices)(k.PATTERN,e.ensureOptimizations);(0,Ne.isEmpty)(J)&&(y=!1),(0,Ne.forEach)(J,function(re){Mv(S,re,m[T])})}else e.ensureOptimizations&&(0,Ne.PRINT_ERROR)(""+hg.failedOptimizationPrefixMsg+(" TokenType: <"+k.name+`> is using a custom token pattern without providing parameter. +`)+` This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return S},[])}),r("ArrayPacking",function(){b=(0,Ne.packArray)(b)}),{emptyGroups:p,patternIdxToConfig:m,charCodeToPatternIdxToConfig:b,hasCustom:n,canBeOptimized:y}}Ze.analyzeTokenTypes=aIe;function lIe(t,e){var r=[],i=sG(t);r=r.concat(i.errors);var n=oG(i.valid),s=n.valid;return r=r.concat(n.errors),r=r.concat(AIe(s)),r=r.concat(aG(s)),r=r.concat(AG(s,e)),r=r.concat(lG(s)),r}Ze.validatePatterns=lIe;function AIe(t){var e=[],r=(0,Ne.filter)(t,function(i){return(0,Ne.isRegExp)(i[Lo])});return e=e.concat(cG(r)),e=e.concat(gG(r)),e=e.concat(fG(r)),e=e.concat(hG(r)),e=e.concat(uG(r)),e}function sG(t){var e=(0,Ne.filter)(t,function(n){return!(0,Ne.has)(n,Lo)}),r=(0,Ne.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:Ar.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,Ne.difference)(t,e);return{errors:r,valid:i}}Ze.findMissingPatterns=sG;function oG(t){var e=(0,Ne.filter)(t,function(n){var s=n[Lo];return!(0,Ne.isRegExp)(s)&&!(0,Ne.isFunction)(s)&&!(0,Ne.has)(s,"exec")&&!(0,Ne.isString)(s)}),r=(0,Ne.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Ar.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,Ne.difference)(t,e);return{errors:r,valid:i}}Ze.findInvalidPatterns=oG;var cIe=/[^\\][\$]/;function cG(t){var e=function(n){$H(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(eG.BaseRegExpVisitor),r=(0,Ne.filter)(t,function(n){var s=n[Lo];try{var o=(0,tG.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return cIe.test(s.source)}}),i=(0,Ne.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ar.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ze.findEndOfInputAnchor=cG;function uG(t){var e=(0,Ne.filter)(t,function(i){var n=i[Lo];return n.test("")}),r=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:Ar.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return r}Ze.findEmptyMatchRegExps=uG;var uIe=/[^\\[][\^]|^\^/;function gG(t){var e=function(n){$H(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(eG.BaseRegExpVisitor),r=(0,Ne.filter)(t,function(n){var s=n[Lo];try{var o=(0,tG.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return uIe.test(s.source)}}),i=(0,Ne.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ar.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ze.findStartOfInputAnchor=gG;function fG(t){var e=(0,Ne.filter)(t,function(i){var n=i[Lo];return n instanceof RegExp&&(n.multiline||n.global)}),r=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Ar.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return r}Ze.findUnsupportedFlags=fG;function hG(t){var e=[],r=(0,Ne.map)(t,function(s){return(0,Ne.reduce)(t,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,Ne.contains)(e,a)&&a.PATTERN!==Ar.Lexer.NA&&(e.push(a),o.push(a)),o},[])});r=(0,Ne.compact)(r);var i=(0,Ne.filter)(r,function(s){return s.length>1}),n=(0,Ne.map)(i,function(s){var o=(0,Ne.map)(s,function(l){return l.name}),a=(0,Ne.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:Ar.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ze.findDuplicatePatterns=hG;function aG(t){var e=(0,Ne.filter)(t,function(i){if(!(0,Ne.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==Ar.Lexer.SKIPPED&&n!==Ar.Lexer.NA&&!(0,Ne.isString)(n)}),r=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Ar.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return r}Ze.findInvalidGroupType=aG;function AG(t,e){var r=(0,Ne.filter)(t,function(n){return n.PUSH_MODE!==void 0&&!(0,Ne.contains)(e,n.PUSH_MODE)}),i=(0,Ne.map)(r,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:Ar.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ze.findModesThatDoNotExist=AG;function lG(t){var e=[],r=(0,Ne.reduce)(t,function(i,n,s){var o=n.PATTERN;return o===Ar.Lexer.NA||((0,Ne.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,Ne.isRegExp)(o)&&fIe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,Ne.forEach)(t,function(i,n){(0,Ne.forEach)(r,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:Ar.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ze.findUnreachablePatterns=lG;function gIe(t,e){if((0,Ne.isRegExp)(e)){var r=e.exec(t);return r!==null&&r.index===0}else{if((0,Ne.isFunction)(e))return e(t,0,[],{});if((0,Ne.has)(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function fIe(t){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,Ne.find)(e,function(r){return t.source.indexOf(r)!==-1})===void 0}function Lv(t){var e=t.ignoreCase?"i":"";return new RegExp("^(?:"+t.source+")",e)}Ze.addStartOfInput=Lv;function Tv(t){var e=t.ignoreCase?"iy":"y";return new RegExp(""+t.source,e)}Ze.addStickyFlag=Tv;function hIe(t,e,r){var i=[];return(0,Ne.has)(t,Ze.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ze.DEFAULT_MODE+`> property in its definition +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,Ne.has)(t,Ze.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ze.MODES+`> property in its definition +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,Ne.has)(t,Ze.MODES)&&(0,Ne.has)(t,Ze.DEFAULT_MODE)&&!(0,Ne.has)(t.modes,t.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+Ze.DEFAULT_MODE+": <"+t.defaultMode+`>which does not exist +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,Ne.has)(t,Ze.MODES)&&(0,Ne.forEach)(t.modes,function(n,s){(0,Ne.forEach)(n,function(o,a){(0,Ne.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> +`),type:Ar.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ze.performRuntimeChecks=hIe;function pIe(t,e,r){var i=[],n=!1,s=(0,Ne.compact)((0,Ne.flatten)((0,Ne.mapValues)(t.modes,function(l){return l}))),o=(0,Ne.reject)(s,function(l){return l[Lo]===Ar.Lexer.NA}),a=nG(r);return e&&(0,Ne.forEach)(o,function(l){var c=iG(l,a);if(c!==!1){var u=pG(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,Ne.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,hg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`,type:Ar.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ze.performWarningRuntimeChecks=pIe;function dIe(t){var e={},r=(0,Ne.keys)(t);return(0,Ne.forEach)(r,function(i){var n=t[i];if((0,Ne.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Ze.cloneEmptyGroups=dIe;function Ov(t){var e=t.PATTERN;if((0,Ne.isRegExp)(e))return!1;if((0,Ne.isFunction)(e))return!0;if((0,Ne.has)(e,"exec"))return!0;if((0,Ne.isString)(e))return!1;throw Error("non exhaustive match")}Ze.isCustomPattern=Ov;function rG(t){return(0,Ne.isString)(t)&&t.length===1?t.charCodeAt(0):!1}Ze.isShortPattern=rG;Ze.LineTerminatorOptimizedTester={test:function(t){for(var e=t.length,r=this.lastIndex;r Token Type +`)+(" Root cause: "+e.errMsg+`. +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===Ar.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. +`+(" The problem is in the <"+t.name+`> Token Type +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ze.buildLineBreakIssueMessage=pG;function nG(t){var e=(0,Ne.map)(t,function(r){return(0,Ne.isString)(r)&&r.length>0?r.charCodeAt(0):r});return e}function Mv(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}Ze.minOptimizationVal=256;var qI=[];function Kv(t){return t255?255+~~(t/255):t}}});var pg=w(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.isTokenType=Ft.hasExtendingTokensTypesMapProperty=Ft.hasExtendingTokensTypesProperty=Ft.hasCategoriesProperty=Ft.hasShortKeyProperty=Ft.singleAssignCategoriesToksMap=Ft.assignCategoriesMapProp=Ft.assignCategoriesTokensProp=Ft.assignTokenDefaultProps=Ft.expandCategories=Ft.augmentTokenTypes=Ft.tokenIdxToClass=Ft.tokenShortNameIdx=Ft.tokenStructuredMatcherNoCategories=Ft.tokenStructuredMatcher=void 0;var ii=Yt();function CIe(t,e){var r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}Ft.tokenStructuredMatcher=CIe;function mIe(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}Ft.tokenStructuredMatcherNoCategories=mIe;Ft.tokenShortNameIdx=1;Ft.tokenIdxToClass={};function EIe(t){var e=dG(t);CG(e),EG(e),mG(e),(0,ii.forEach)(e,function(r){r.isParent=r.categoryMatches.length>0})}Ft.augmentTokenTypes=EIe;function dG(t){for(var e=(0,ii.cloneArr)(t),r=t,i=!0;i;){r=(0,ii.compact)((0,ii.flatten)((0,ii.map)(r,function(s){return s.CATEGORIES})));var n=(0,ii.difference)(r,e);e=e.concat(n),(0,ii.isEmpty)(n)?i=!1:r=n}return e}Ft.expandCategories=dG;function CG(t){(0,ii.forEach)(t,function(e){IG(e)||(Ft.tokenIdxToClass[Ft.tokenShortNameIdx]=e,e.tokenTypeIdx=Ft.tokenShortNameIdx++),Uv(e)&&!(0,ii.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Uv(e)||(e.CATEGORIES=[]),yG(e)||(e.categoryMatches=[]),wG(e)||(e.categoryMatchesMap={})})}Ft.assignTokenDefaultProps=CG;function mG(t){(0,ii.forEach)(t,function(e){e.categoryMatches=[],(0,ii.forEach)(e.categoryMatchesMap,function(r,i){e.categoryMatches.push(Ft.tokenIdxToClass[i].tokenTypeIdx)})})}Ft.assignCategoriesTokensProp=mG;function EG(t){(0,ii.forEach)(t,function(e){Hv([],e)})}Ft.assignCategoriesMapProp=EG;function Hv(t,e){(0,ii.forEach)(t,function(r){e.categoryMatchesMap[r.tokenTypeIdx]=!0}),(0,ii.forEach)(e.CATEGORIES,function(r){var i=t.concat(e);(0,ii.contains)(i,r)||Hv(i,r)})}Ft.singleAssignCategoriesToksMap=Hv;function IG(t){return(0,ii.has)(t,"tokenTypeIdx")}Ft.hasShortKeyProperty=IG;function Uv(t){return(0,ii.has)(t,"CATEGORIES")}Ft.hasCategoriesProperty=Uv;function yG(t){return(0,ii.has)(t,"categoryMatches")}Ft.hasExtendingTokensTypesProperty=yG;function wG(t){return(0,ii.has)(t,"categoryMatchesMap")}Ft.hasExtendingTokensTypesMapProperty=wG;function IIe(t){return(0,ii.has)(t,"tokenTypeIdx")}Ft.isTokenType=IIe});var Gv=w(JI=>{"use strict";Object.defineProperty(JI,"__esModule",{value:!0});JI.defaultLexerErrorProvider=void 0;JI.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(t){return"Unable to pop Lexer Mode after encountering Token ->"+t.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(t,e,r,i,n){return"unexpected character: ->"+t.charAt(e)+"<- at offset: "+e+","+(" skipped "+r+" characters.")}}});var Rp=w(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.Lexer=bc.LexerDefinitionErrorType=void 0;var oo=Fv(),lr=Yt(),yIe=pg(),wIe=Gv(),BIe=GI(),bIe;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(bIe=bc.LexerDefinitionErrorType||(bc.LexerDefinitionErrorType={}));var Fp={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:wIe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(Fp);var QIe=function(){function t(e,r){var i=this;if(r===void 0&&(r=Fp),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=(0,lr.merge)(Fp,r);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=Infinity,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===Fp.lineTerminatorsPattern)i.config.lineTerminatorsPattern=oo.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===Fp.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,lr.isArray)(e)?(s={modes:{}},s.modes[oo.DEFAULT_MODE]=(0,lr.cloneArr)(e),s[oo.DEFAULT_MODE]=oo.DEFAULT_MODE):(o=!1,s=(0,lr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,oo.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,oo.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,lr.forEach)(s.modes,function(u,g){s.modes[g]=(0,lr.reject)(u,function(f){return(0,lr.isUndefined)(f)})});var a=(0,lr.keys)(s.modes);if((0,lr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,oo.validatePatterns)(u,a))}),(0,lr.isEmpty)(i.lexerDefinitionErrors)){(0,yIe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,oo.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,lr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,lr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,lr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+c)}(0,lr.forEach)(i.lexerDefinitionWarning,function(u){(0,lr.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(oo.SUPPORT_STICKY?(i.chopInput=lr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=lr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=lr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=lr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=lr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,lr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(r.ensureOptimizations&&!(0,lr.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,BIe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,lr.toFastProperties)(i)})})}return t.prototype.tokenize=function(e,r){if(r===void 0&&(r=this.defaultMode),!(0,lr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,lr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+n)}var s=this.tokenizeInternal(e,r);return s},t.prototype.tokenizeInternal=function(e,r){var i=this,n,s,o,a,l,c,u,g,f,h,p,m,y,b,S,k,T=e,Y=T.length,j=0,Z=0,J=this.hasCustom?0:Math.floor(e.length/10),re=new Array(J),ee=[],A=this.trackStartLines?1:void 0,oe=this.trackStartLines?1:void 0,le=(0,oo.cloneEmptyGroups)(this.emptyGroups),X=this.trackStartLines,O=this.config.lineTerminatorsPattern,L=0,pe=[],Ce=[],Oe=[],te=[];Object.freeze(te);var se=void 0;function be(){return pe}function he(vr){var Gn=(0,oo.charCodeToOptimizedIndex)(vr),gs=Ce[Gn];return gs===void 0?te:gs}var Fe=function(vr){if(Oe.length===1&&vr.tokenType.PUSH_MODE===void 0){var Gn=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(vr);ee.push({offset:vr.startOffset,line:vr.startLine!==void 0?vr.startLine:void 0,column:vr.startColumn!==void 0?vr.startColumn:void 0,length:vr.image.length,message:Gn})}else{Oe.pop();var gs=(0,lr.last)(Oe);pe=i.patternIdxToConfig[gs],Ce=i.charCodeToPatternIdxToConfig[gs],L=pe.length;var ya=i.canModeBeOptimized[gs]&&i.config.safeMode===!1;Ce&&ya?se=he:se=be}};function Ue(vr){Oe.push(vr),Ce=this.charCodeToPatternIdxToConfig[vr],pe=this.patternIdxToConfig[vr],L=pe.length,L=pe.length;var Gn=this.canModeBeOptimized[vr]&&this.config.safeMode===!1;Ce&&Gn?se=he:se=be}Ue.call(this,r);for(var xe;jc.length){c=a,u=g,xe=gt;break}}}break}}if(c!==null){if(f=c.length,h=xe.group,h!==void 0&&(p=xe.tokenTypeIdx,m=this.createTokenInstance(c,j,p,xe.tokenType,A,oe,f),this.handlePayload(m,u),h===!1?Z=this.addToken(re,Z,m):le[h].push(m)),e=this.chopInput(e,f),j=j+f,oe=this.computeNewColumn(oe,f),X===!0&&xe.canLineTerminator===!0){var Mt=0,mi=void 0,Gt=void 0;O.lastIndex=0;do mi=O.test(c),mi===!0&&(Gt=O.lastIndex-1,Mt++);while(mi===!0);Mt!==0&&(A=A+Mt,oe=f-Gt,this.updateTokenEndLineColumnLocation(m,h,Gt,Mt,A,oe,f))}this.handleModes(xe,Fe,Ue,m)}else{for(var Qr=j,Ti=A,Vs=oe,Un=!1;!Un&&j <"+e+">");var n=(0,lr.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",t.NA=/NOT_APPLICABLE/,t}();bc.Lexer=QIe});var WA=w(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.tokenMatcher=xi.createTokenInstance=xi.EOF=xi.createToken=xi.hasTokenLabel=xi.tokenName=xi.tokenLabel=void 0;var ao=Yt(),vIe=Rp(),jv=pg();function SIe(t){return BG(t)?t.LABEL:t.name}xi.tokenLabel=SIe;function kIe(t){return t.name}xi.tokenName=kIe;function BG(t){return(0,ao.isString)(t.LABEL)&&t.LABEL!==""}xi.hasTokenLabel=BG;var xIe="parent",bG="categories",QG="label",vG="group",SG="push_mode",kG="pop_mode",xG="longer_alt",PG="line_breaks",DG="start_chars_hint";function RG(t){return PIe(t)}xi.createToken=RG;function PIe(t){var e=t.pattern,r={};if(r.name=t.name,(0,ao.isUndefined)(e)||(r.PATTERN=e),(0,ao.has)(t,xIe))throw`The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,ao.has)(t,bG)&&(r.CATEGORIES=t[bG]),(0,jv.augmentTokenTypes)([r]),(0,ao.has)(t,QG)&&(r.LABEL=t[QG]),(0,ao.has)(t,vG)&&(r.GROUP=t[vG]),(0,ao.has)(t,kG)&&(r.POP_MODE=t[kG]),(0,ao.has)(t,SG)&&(r.PUSH_MODE=t[SG]),(0,ao.has)(t,xG)&&(r.LONGER_ALT=t[xG]),(0,ao.has)(t,PG)&&(r.LINE_BREAKS=t[PG]),(0,ao.has)(t,DG)&&(r.START_CHARS_HINT=t[DG]),r}xi.EOF=RG({name:"EOF",pattern:vIe.Lexer.NA});(0,jv.augmentTokenTypes)([xi.EOF]);function DIe(t,e,r,i,n,s,o,a){return{image:e,startOffset:r,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}xi.createTokenInstance=DIe;function RIe(t,e){return(0,jv.tokenStructuredMatcher)(t,e)}xi.tokenMatcher=RIe});var bn=w(Vt=>{"use strict";var Ua=Vt&&Vt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Vt,"__esModule",{value:!0});Vt.serializeProduction=Vt.serializeGrammar=Vt.Terminal=Vt.Alternation=Vt.RepetitionWithSeparator=Vt.Repetition=Vt.RepetitionMandatoryWithSeparator=Vt.RepetitionMandatory=Vt.Option=Vt.Alternative=Vt.Rule=Vt.NonTerminal=Vt.AbstractProduction=void 0;var fr=Yt(),FIe=WA(),To=function(){function t(e){this._definition=e}return Object.defineProperty(t.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),t.prototype.accept=function(e){e.visit(this),(0,fr.forEach)(this.definition,function(r){r.accept(e)})},t}();Vt.AbstractProduction=To;var FG=function(t){Ua(e,t);function e(r){var i=t.call(this,[])||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(r){},enumerable:!1,configurable:!0}),e.prototype.accept=function(r){r.visit(this)},e}(To);Vt.NonTerminal=FG;var NG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.orgText="",(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Rule=NG;var LG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.ignoreAmbiguities=!1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Alternative=LG;var TG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Option=TG;var OG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.RepetitionMandatory=OG;var MG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.RepetitionMandatoryWithSeparator=MG;var KG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Repetition=KG;var UG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.RepetitionWithSeparator=UG;var HG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(r){this._definition=r},enumerable:!1,configurable:!0}),e}(To);Vt.Alternation=HG;var WI=function(){function t(e){this.idx=1,(0,fr.assign)(this,(0,fr.pick)(e,function(r){return r!==void 0}))}return t.prototype.accept=function(e){e.visit(this)},t}();Vt.Terminal=WI;function NIe(t){return(0,fr.map)(t,Np)}Vt.serializeGrammar=NIe;function Np(t){function e(s){return(0,fr.map)(s,Np)}if(t instanceof FG){var r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return(0,fr.isString)(t.label)&&(r.label=t.label),r}else{if(t instanceof LG)return{type:"Alternative",definition:e(t.definition)};if(t instanceof TG)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof OG)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof MG)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Np(new WI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof UG)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Np(new WI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof KG)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof HG)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof WI){var i={type:"Terminal",name:t.terminalType.name,label:(0,FIe.tokenLabel)(t.terminalType),idx:t.idx};(0,fr.isString)(t.label)&&(i.terminalLabel=t.label);var n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(i.pattern=(0,fr.isRegExp)(n)?n.source:n),i}else{if(t instanceof NG)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}Vt.serializeProduction=Np});var _I=w(zI=>{"use strict";Object.defineProperty(zI,"__esModule",{value:!0});zI.RestWalker=void 0;var Yv=Yt(),Qn=bn(),LIe=function(){function t(){}return t.prototype.walk=function(e,r){var i=this;r===void 0&&(r=[]),(0,Yv.forEach)(e.definition,function(n,s){var o=(0,Yv.drop)(e.definition,s+1);if(n instanceof Qn.NonTerminal)i.walkProdRef(n,o,r);else if(n instanceof Qn.Terminal)i.walkTerminal(n,o,r);else if(n instanceof Qn.Alternative)i.walkFlat(n,o,r);else if(n instanceof Qn.Option)i.walkOption(n,o,r);else if(n instanceof Qn.RepetitionMandatory)i.walkAtLeastOne(n,o,r);else if(n instanceof Qn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,r);else if(n instanceof Qn.RepetitionWithSeparator)i.walkManySep(n,o,r);else if(n instanceof Qn.Repetition)i.walkMany(n,o,r);else if(n instanceof Qn.Alternation)i.walkOr(n,o,r);else throw Error("non exhaustive match")})},t.prototype.walkTerminal=function(e,r,i){},t.prototype.walkProdRef=function(e,r,i){},t.prototype.walkFlat=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkOption=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkAtLeastOne=function(e,r,i){var n=[new Qn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkAtLeastOneSep=function(e,r,i){var n=GG(e,r,i);this.walk(e,n)},t.prototype.walkMany=function(e,r,i){var n=[new Qn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkManySep=function(e,r,i){var n=GG(e,r,i);this.walk(e,n)},t.prototype.walkOr=function(e,r,i){var n=this,s=r.concat(i);(0,Yv.forEach)(e.definition,function(o){var a=new Qn.Alternative({definition:[o]});n.walk(a,s)})},t}();zI.RestWalker=LIe;function GG(t,e,r){var i=[new Qn.Option({definition:[new Qn.Terminal({terminalType:t.separator})].concat(t.definition)})],n=i.concat(e,r);return n}});var dg=w(VI=>{"use strict";Object.defineProperty(VI,"__esModule",{value:!0});VI.GAstVisitor=void 0;var Oo=bn(),TIe=function(){function t(){}return t.prototype.visit=function(e){var r=e;switch(r.constructor){case Oo.NonTerminal:return this.visitNonTerminal(r);case Oo.Alternative:return this.visitAlternative(r);case Oo.Option:return this.visitOption(r);case Oo.RepetitionMandatory:return this.visitRepetitionMandatory(r);case Oo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(r);case Oo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(r);case Oo.Repetition:return this.visitRepetition(r);case Oo.Alternation:return this.visitAlternation(r);case Oo.Terminal:return this.visitTerminal(r);case Oo.Rule:return this.visitRule(r);default:throw Error("non exhaustive match")}},t.prototype.visitNonTerminal=function(e){},t.prototype.visitAlternative=function(e){},t.prototype.visitOption=function(e){},t.prototype.visitRepetition=function(e){},t.prototype.visitRepetitionMandatory=function(e){},t.prototype.visitRepetitionMandatoryWithSeparator=function(e){},t.prototype.visitRepetitionWithSeparator=function(e){},t.prototype.visitAlternation=function(e){},t.prototype.visitTerminal=function(e){},t.prototype.visitRule=function(e){},t}();VI.GAstVisitor=TIe});var Tp=w(ji=>{"use strict";var OIe=ji&&ji.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(ji,"__esModule",{value:!0});ji.collectMethods=ji.DslMethodsCollectorVisitor=ji.getProductionDslName=ji.isBranchingProd=ji.isOptionalProd=ji.isSequenceProd=void 0;var Lp=Yt(),kr=bn(),MIe=dg();function KIe(t){return t instanceof kr.Alternative||t instanceof kr.Option||t instanceof kr.Repetition||t instanceof kr.RepetitionMandatory||t instanceof kr.RepetitionMandatoryWithSeparator||t instanceof kr.RepetitionWithSeparator||t instanceof kr.Terminal||t instanceof kr.Rule}ji.isSequenceProd=KIe;function qv(t,e){e===void 0&&(e=[]);var r=t instanceof kr.Option||t instanceof kr.Repetition||t instanceof kr.RepetitionWithSeparator;return r?!0:t instanceof kr.Alternation?(0,Lp.some)(t.definition,function(i){return qv(i,e)}):t instanceof kr.NonTerminal&&(0,Lp.contains)(e,t)?!1:t instanceof kr.AbstractProduction?(t instanceof kr.NonTerminal&&e.push(t),(0,Lp.every)(t.definition,function(i){return qv(i,e)})):!1}ji.isOptionalProd=qv;function UIe(t){return t instanceof kr.Alternation}ji.isBranchingProd=UIe;function HIe(t){if(t instanceof kr.NonTerminal)return"SUBRULE";if(t instanceof kr.Option)return"OPTION";if(t instanceof kr.Alternation)return"OR";if(t instanceof kr.RepetitionMandatory)return"AT_LEAST_ONE";if(t instanceof kr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(t instanceof kr.RepetitionWithSeparator)return"MANY_SEP";if(t instanceof kr.Repetition)return"MANY";if(t instanceof kr.Terminal)return"CONSUME";throw Error("non exhaustive match")}ji.getProductionDslName=HIe;var jG=function(t){OIe(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.separator="-",r.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},r}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(r){var i=r.terminalType.name+this.separator+"Terminal";(0,Lp.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitNonTerminal=function(r){var i=r.nonTerminalName+this.separator+"Terminal";(0,Lp.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitOption=function(r){this.dslMethods.option.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.dslMethods.repetitionWithSeparator.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.dslMethods.repetitionMandatory.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.dslMethods.repetitionMandatoryWithSeparator.push(r)},e.prototype.visitRepetition=function(r){this.dslMethods.repetition.push(r)},e.prototype.visitAlternation=function(r){this.dslMethods.alternation.push(r)},e}(MIe.GAstVisitor);ji.DslMethodsCollectorVisitor=jG;var XI=new jG;function GIe(t){XI.reset(),t.accept(XI);var e=XI.dslMethods;return XI.reset(),e}ji.collectMethods=GIe});var Wv=w(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.firstForTerminal=Mo.firstForBranching=Mo.firstForSequence=Mo.first=void 0;var ZI=Yt(),YG=bn(),Jv=Tp();function $I(t){if(t instanceof YG.NonTerminal)return $I(t.referencedRule);if(t instanceof YG.Terminal)return WG(t);if((0,Jv.isSequenceProd)(t))return qG(t);if((0,Jv.isBranchingProd)(t))return JG(t);throw Error("non exhaustive match")}Mo.first=$I;function qG(t){for(var e=[],r=t.definition,i=0,n=r.length>i,s,o=!0;n&&o;)s=r[i],o=(0,Jv.isOptionalProd)(s),e=e.concat($I(s)),i=i+1,n=r.length>i;return(0,ZI.uniq)(e)}Mo.firstForSequence=qG;function JG(t){var e=(0,ZI.map)(t.definition,function(r){return $I(r)});return(0,ZI.uniq)((0,ZI.flatten)(e))}Mo.firstForBranching=JG;function WG(t){return[t.terminalType]}Mo.firstForTerminal=WG});var zv=w(ey=>{"use strict";Object.defineProperty(ey,"__esModule",{value:!0});ey.IN=void 0;ey.IN="_~IN~_"});var ZG=w(vs=>{"use strict";var jIe=vs&&vs.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(vs,"__esModule",{value:!0});vs.buildInProdFollowPrefix=vs.buildBetweenProdsFollowPrefix=vs.computeAllProdsFollows=vs.ResyncFollowsWalker=void 0;var YIe=_I(),qIe=Wv(),zG=Yt(),_G=zv(),JIe=bn(),XG=function(t){jIe(e,t);function e(r){var i=t.call(this)||this;return i.topProd=r,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(r,i,n){},e.prototype.walkProdRef=function(r,i,n){var s=VG(r.referencedRule,r.idx)+this.topProd.name,o=i.concat(n),a=new JIe.Alternative({definition:o}),l=(0,qIe.first)(a);this.follows[s]=l},e}(YIe.RestWalker);vs.ResyncFollowsWalker=XG;function WIe(t){var e={};return(0,zG.forEach)(t,function(r){var i=new XG(r).startWalking();(0,zG.assign)(e,i)}),e}vs.computeAllProdsFollows=WIe;function VG(t,e){return t.name+e+_G.IN}vs.buildBetweenProdsFollowPrefix=VG;function zIe(t){var e=t.terminalType.name;return e+t.idx+_G.IN}vs.buildInProdFollowPrefix=zIe});var Op=w(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.defaultGrammarValidatorErrorProvider=Ha.defaultGrammarResolverErrorProvider=Ha.defaultParserErrorProvider=void 0;var Cg=WA(),_Ie=Yt(),Ao=Yt(),_v=bn(),$G=Tp();Ha.defaultParserErrorProvider={buildMismatchTokenMessage:function(t){var e=t.expected,r=t.actual,i=t.previous,n=t.ruleName,s=(0,Cg.hasTokenLabel)(e),o=s?"--> "+(0,Cg.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+r.image+"' <--";return a},buildNotAllInputParsedMessage:function(t){var e=t.firstRedundant,r=t.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(t){var e=t.expectedPathsPerAlt,r=t.actual,i=t.previous,n=t.customUserDescription,s=t.ruleName,o="Expecting: ",a=(0,Ao.first)(r).image,l=` +but found: '`+a+"'";if(n)return o+n+l;var c=(0,Ao.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,Ao.map)(c,function(h){return"["+(0,Ao.map)(h,function(p){return(0,Cg.tokenLabel)(p)}).join(", ")+"]"}),g=(0,Ao.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: +`+g.join(` +`);return o+f+l},buildEarlyExitMessage:function(t){var e=t.expectedIterationPaths,r=t.actual,i=t.customUserDescription,n=t.ruleName,s="Expecting: ",o=(0,Ao.first)(r).image,a=` +but found: '`+o+"'";if(i)return s+i+a;var l=(0,Ao.map)(e,function(u){return"["+(0,Ao.map)(u,function(g){return(0,Cg.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: + `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(Ha.defaultParserErrorProvider);Ha.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(t,e){var r="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-";return r}};Ha.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(t,e){function r(u){return u instanceof _v.Terminal?u.terminalType.name:u instanceof _v.NonTerminal?u.nonTerminalName:""}var i=t.name,n=(0,Ao.first)(e),s=n.idx,o=(0,$G.getProductionDslName)(n),a=r(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` + appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` +`),c},buildNamespaceConflictError:function(t){var e=`Namespace conflict found in grammar. +`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+t.name+`>. +`)+`To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(t){var e=(0,Ao.map)(t.prefixPath,function(n){return(0,Cg.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous alternatives: <"+t.ambiguityIndices.join(" ,")+`> due to common lookahead prefix +`+("in inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`;return i},buildAlternationAmbiguityError:function(t){var e=(0,Ao.map)(t.prefixPath,function(n){return(0,Cg.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous Alternatives Detected: <"+t.ambiguityIndices.join(" ,")+"> in "+(" inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,i},buildEmptyRepetitionError:function(t){var e=(0,$G.getProductionDslName)(t.repetition);t.repetition.idx!==0&&(e+=t.repetition.idx);var r="The repetition <"+e+"> within Rule <"+t.topLevelRule.name+`> can never consume any tokens. +This could lead to an infinite loop.`;return r},buildTokenNameError:function(t){return"deprecated"},buildEmptyAlternationError:function(t){var e="Ambiguous empty alternative: <"+(t.emptyChoiceIdx+1)+">"+(" in inside <"+t.topLevelRule.name+`> Rule. +`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(t){var e=`An Alternation cannot have more than 256 alternatives: +`+(" inside <"+t.topLevelRule.name+`> Rule. + has `+(t.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(t){var e=t.topLevelRule.name,r=_Ie.map(t.leftRecursionPath,function(s){return s.name}),i=e+" --> "+r.concat([e]).join(" --> "),n=`Left Recursion found in grammar. +`+("rule: <"+e+`> can be invoked from itself (directly or indirectly) +`)+(`without consuming any Tokens. The grammar path that causes this is: + `+i+` +`)+` To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(t){return"deprecated"},buildDuplicateRuleNameError:function(t){var e;t.topLevelRule instanceof _v.Rule?e=t.topLevelRule.name:e=t.topLevelRule;var r="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+t.grammarName+"<-";return r}}});var rj=w(zA=>{"use strict";var VIe=zA&&zA.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(zA,"__esModule",{value:!0});zA.GastRefResolverVisitor=zA.resolveGrammar=void 0;var XIe=Zn(),ej=Yt(),ZIe=dg();function $Ie(t,e){var r=new tj(t,e);return r.resolveRefs(),r.errors}zA.resolveGrammar=$Ie;var tj=function(t){VIe(e,t);function e(r,i){var n=t.call(this)||this;return n.nameToTopRule=r,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var r=this;(0,ej.forEach)((0,ej.values)(this.nameToTopRule),function(i){r.currTopLevel=i,i.accept(r)})},e.prototype.visitNonTerminal=function(r){var i=this.nameToTopRule[r.nonTerminalName];if(i)r.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,r);this.errors.push({message:n,type:XIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:r.nonTerminalName})}},e}(ZIe.GAstVisitor);zA.GastRefResolverVisitor=tj});var Kp=w(Mr=>{"use strict";var Qc=Mr&&Mr.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Mr,"__esModule",{value:!0});Mr.nextPossibleTokensAfter=Mr.possiblePathsFrom=Mr.NextTerminalAfterAtLeastOneSepWalker=Mr.NextTerminalAfterAtLeastOneWalker=Mr.NextTerminalAfterManySepWalker=Mr.NextTerminalAfterManyWalker=Mr.AbstractNextTerminalAfterProductionWalker=Mr.NextAfterTokenWalker=Mr.AbstractNextPossibleTokensWalker=void 0;var ij=_I(),Kt=Yt(),eye=Wv(),Dt=bn(),nj=function(t){Qc(e,t);function e(r,i){var n=t.call(this)||this;return n.topProd=r,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Kt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Kt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(r,i){i===void 0&&(i=[]),this.found||t.prototype.walk.call(this,r,i)},e.prototype.walkProdRef=function(r,i,n){if(r.referencedRule.name===this.nextProductionName&&r.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(r.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Kt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(ij.RestWalker);Mr.AbstractNextPossibleTokensWalker=nj;var tye=function(t){Qc(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(r,i,n){if(this.isAtEndOfPath&&r.terminalType.name===this.nextTerminalName&&r.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new Dt.Alternative({definition:s});this.possibleTokTypes=(0,eye.first)(o),this.found=!0}},e}(nj);Mr.NextAfterTokenWalker=tye;var Mp=function(t){Qc(e,t);function e(r,i){var n=t.call(this)||this;return n.topRule=r,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(ij.RestWalker);Mr.AbstractNextTerminalAfterProductionWalker=Mp;var rye=function(t){Qc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkMany=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkMany.call(this,r,i,n)},e}(Mp);Mr.NextTerminalAfterManyWalker=rye;var iye=function(t){Qc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkManySep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkManySep.call(this,r,i,n)},e}(Mp);Mr.NextTerminalAfterManySepWalker=iye;var nye=function(t){Qc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOne.call(this,r,i,n)},e}(Mp);Mr.NextTerminalAfterAtLeastOneWalker=nye;var sye=function(t){Qc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOneSep.call(this,r,i,n)},e}(Mp);Mr.NextTerminalAfterAtLeastOneSepWalker=sye;function sj(t,e,r){r===void 0&&(r=[]),r=(0,Kt.cloneArr)(r);var i=[],n=0;function s(c){return c.concat((0,Kt.drop)(t,n+1))}function o(c){var u=sj(s(c),e,r);return i.concat(u)}for(;r.length=0;le--){var X=b.definition[le],O={idx:p,def:X.definition.concat((0,Kt.drop)(h)),ruleStack:m,occurrenceStack:y};g.push(O),g.push(o)}else if(b instanceof Dt.Alternative)g.push({idx:p,def:b.definition.concat((0,Kt.drop)(h)),ruleStack:m,occurrenceStack:y});else if(b instanceof Dt.Rule)g.push(oye(b,p,m,y));else throw Error("non exhaustive match")}}return u}Mr.nextPossibleTokensAfter=aye;function oye(t,e,r,i){var n=(0,Kt.cloneArr)(r);n.push(t.name);var s=(0,Kt.cloneArr)(i);return s.push(1),{idx:e,def:t.definition,ruleStack:n,occurrenceStack:s}}});var Up=w(tr=>{"use strict";var oj=tr&&tr.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(tr,"__esModule",{value:!0});tr.areTokenCategoriesNotUsed=tr.isStrictPrefixOfPath=tr.containsPath=tr.getLookaheadPathsForOptionalProd=tr.getLookaheadPathsForOr=tr.lookAheadSequenceFromAlternatives=tr.buildSingleAlternativeLookaheadFunction=tr.buildAlternativesLookAheadFunc=tr.buildLookaheadFuncForOptionalProd=tr.buildLookaheadFuncForOr=tr.getProdType=tr.PROD_TYPE=void 0;var cr=Yt(),aj=Kp(),Aye=_I(),ty=pg(),_A=bn(),lye=dg(),ci;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ci=tr.PROD_TYPE||(tr.PROD_TYPE={}));function cye(t){if(t instanceof _A.Option)return ci.OPTION;if(t instanceof _A.Repetition)return ci.REPETITION;if(t instanceof _A.RepetitionMandatory)return ci.REPETITION_MANDATORY;if(t instanceof _A.RepetitionMandatoryWithSeparator)return ci.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof _A.RepetitionWithSeparator)return ci.REPETITION_WITH_SEPARATOR;if(t instanceof _A.Alternation)return ci.ALTERNATION;throw Error("non exhaustive match")}tr.getProdType=cye;function uye(t,e,r,i,n,s){var o=Aj(t,e,r),a=Vv(o)?ty.tokenStructuredMatcherNoCategories:ty.tokenStructuredMatcher;return s(o,i,a,n)}tr.buildLookaheadFuncForOr=uye;function gye(t,e,r,i,n,s){var o=lj(t,e,n,r),a=Vv(o)?ty.tokenStructuredMatcherNoCategories:ty.tokenStructuredMatcher;return s(o[0],a,i)}tr.buildLookaheadFuncForOptionalProd=gye;function fye(t,e,r,i){var n=t.length,s=(0,cr.every)(t,function(l){return(0,cr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,cr.map)(l,function(k){return k.GATE}),u=0;u{"use strict";var $v=Xt&&Xt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Xt,"__esModule",{value:!0});Xt.checkPrefixAlternativesAmbiguities=Xt.validateSomeNonEmptyLookaheadPath=Xt.validateTooManyAlts=Xt.RepetionCollector=Xt.validateAmbiguousAlternationAlternatives=Xt.validateEmptyOrAlternative=Xt.getFirstNoneTerminal=Xt.validateNoLeftRecursion=Xt.validateRuleIsOverridden=Xt.validateRuleDoesNotAlreadyExist=Xt.OccurrenceValidationCollector=Xt.identifyProductionForDuplicates=Xt.validateGrammar=void 0;var nr=Yt(),xr=Yt(),Ko=Zn(),eS=Tp(),mg=Up(),mye=Kp(),lo=bn(),tS=dg();function yye(t,e,r,i,n){var s=nr.map(t,function(h){return Eye(h,i)}),o=nr.map(t,function(h){return rS(h,h,i)}),a=[],l=[],c=[];(0,xr.every)(o,xr.isEmpty)&&(a=(0,xr.map)(t,function(h){return hj(h,i)}),l=(0,xr.map)(t,function(h){return pj(h,e,i)}),c=Cj(t,e,i));var u=Iye(t,r,i),g=(0,xr.map)(t,function(h){return dj(h,i)}),f=(0,xr.map)(t,function(h){return fj(h,t,n,i)});return nr.flatten(s.concat(c,o,a,l,u,g,f))}Xt.validateGrammar=yye;function Eye(t,e){var r=new Ij;t.accept(r);var i=r.allProductions,n=nr.groupBy(i,mj),s=nr.pick(n,function(a){return a.length>1}),o=nr.map(nr.values(s),function(a){var l=nr.first(a),c=e.buildDuplicateFoundError(t,a),u=(0,eS.getProductionDslName)(l),g={message:c,type:Ko.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:l.idx},f=Ej(l);return f&&(g.parameter=f),g});return o}function mj(t){return(0,eS.getProductionDslName)(t)+"_#_"+t.idx+"_#_"+Ej(t)}Xt.identifyProductionForDuplicates=mj;function Ej(t){return t instanceof lo.Terminal?t.terminalType.name:t instanceof lo.NonTerminal?t.nonTerminalName:""}var Ij=function(t){$v(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitNonTerminal=function(r){this.allProductions.push(r)},e.prototype.visitOption=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e.prototype.visitAlternation=function(r){this.allProductions.push(r)},e.prototype.visitTerminal=function(r){this.allProductions.push(r)},e}(tS.GAstVisitor);Xt.OccurrenceValidationCollector=Ij;function fj(t,e,r,i){var n=[],s=(0,xr.reduce)(e,function(a,l){return l.name===t.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});n.push({message:o,type:Ko.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:t.name})}return n}Xt.validateRuleDoesNotAlreadyExist=fj;function wye(t,e,r){var i=[],n;return nr.contains(e,t)||(n="Invalid rule override, rule: ->"+t+"<- cannot be overridden in the grammar: ->"+r+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:Ko.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:t})),i}Xt.validateRuleIsOverridden=wye;function rS(t,e,r,i){i===void 0&&(i=[]);var n=[],s=Hp(e.definition);if(nr.isEmpty(s))return[];var o=t.name,a=nr.contains(s,t);a&&n.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:i}),type:Ko.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=nr.difference(s,i.concat([t])),c=nr.map(l,function(u){var g=nr.cloneArr(i);return g.push(u),rS(t,u,r,g)});return n.concat(nr.flatten(c))}Xt.validateNoLeftRecursion=rS;function Hp(t){var e=[];if(nr.isEmpty(t))return e;var r=nr.first(t);if(r instanceof lo.NonTerminal)e.push(r.referencedRule);else if(r instanceof lo.Alternative||r instanceof lo.Option||r instanceof lo.RepetitionMandatory||r instanceof lo.RepetitionMandatoryWithSeparator||r instanceof lo.RepetitionWithSeparator||r instanceof lo.Repetition)e=e.concat(Hp(r.definition));else if(r instanceof lo.Alternation)e=nr.flatten(nr.map(r.definition,function(o){return Hp(o.definition)}));else if(!(r instanceof lo.Terminal))throw Error("non exhaustive match");var i=(0,eS.isOptionalProd)(r),n=t.length>1;if(i&&n){var s=nr.drop(t);return e.concat(Hp(s))}else return e}Xt.getFirstNoneTerminal=Hp;var iS=function(t){$v(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.alternations=[],r}return e.prototype.visitAlternation=function(r){this.alternations.push(r)},e}(tS.GAstVisitor);function hj(t,e){var r=new iS;t.accept(r);var i=r.alternations,n=nr.reduce(i,function(s,o){var a=nr.dropRight(o.definition),l=nr.map(a,function(c,u){var g=(0,mye.nextPossibleTokensAfter)([c],[],null,1);return nr.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:u}),type:Ko.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(nr.compact(l))},[]);return n}Xt.validateEmptyOrAlternative=hj;function pj(t,e,r){var i=new iS;t.accept(i);var n=i.alternations;n=(0,xr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=nr.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,mg.getLookaheadPathsForOr)(l,t,c,a),g=Bye(u,a,t,r),f=yj(u,a,t,r);return o.concat(g,f)},[]);return s}Xt.validateAmbiguousAlternationAlternatives=pj;var wj=function(t){$v(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e}(tS.GAstVisitor);Xt.RepetionCollector=wj;function dj(t,e){var r=new iS;t.accept(r);var i=r.alternations,n=nr.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:Ko.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}),s},[]);return n}Xt.validateTooManyAlts=dj;function Cj(t,e,r){var i=[];return(0,xr.forEach)(t,function(n){var s=new wj;n.accept(s);var o=s.allProductions;(0,xr.forEach)(o,function(a){var l=(0,mg.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,mg.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,xr.isEmpty)((0,xr.flatten)(f))){var h=r.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:Ko.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Xt.validateSomeNonEmptyLookaheadPath=Cj;function Bye(t,e,r,i){var n=[],s=(0,xr.reduce)(t,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,xr.forEach)(l,function(u){var g=[c];(0,xr.forEach)(t,function(f,h){c!==h&&(0,mg.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,mg.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=nr.map(s,function(a){var l=(0,xr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:Ko.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function yj(t,e,r,i){var n=[],s=(0,xr.reduce)(t,function(o,a,l){var c=(0,xr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,xr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,xr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(Eg,"__esModule",{value:!0});Eg.validateGrammar=Eg.resolveGrammar=void 0;var sS=Yt(),bye=rj(),Qye=nS(),Bj=Op();function vye(t){t=(0,sS.defaults)(t,{errMsgProvider:Bj.defaultGrammarResolverErrorProvider});var e={};return(0,sS.forEach)(t.rules,function(r){e[r.name]=r}),(0,bye.resolveGrammar)(e,t.errMsgProvider)}Eg.resolveGrammar=vye;function Sye(t){return t=(0,sS.defaults)(t,{errMsgProvider:Bj.defaultGrammarValidatorErrorProvider}),(0,Qye.validateGrammar)(t.rules,t.maxLookahead,t.tokenTypes,t.errMsgProvider,t.grammarName)}Eg.validateGrammar=Sye});var Ig=w(vn=>{"use strict";var Gp=vn&&vn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(vn,"__esModule",{value:!0});vn.EarlyExitException=vn.NotAllInputParsedException=vn.NoViableAltException=vn.MismatchedTokenException=vn.isRecognitionException=void 0;var kye=Yt(),Qj="MismatchedTokenException",vj="NoViableAltException",Sj="EarlyExitException",kj="NotAllInputParsedException",xj=[Qj,vj,Sj,kj];Object.freeze(xj);function xye(t){return(0,kye.contains)(xj,t.name)}vn.isRecognitionException=xye;var ry=function(t){Gp(e,t);function e(r,i){var n=this.constructor,s=t.call(this,r)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),Pye=function(t){Gp(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=Qj,s}return e}(ry);vn.MismatchedTokenException=Pye;var Dye=function(t){Gp(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=vj,s}return e}(ry);vn.NoViableAltException=Dye;var Rye=function(t){Gp(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.name=kj,n}return e}(ry);vn.NotAllInputParsedException=Rye;var Fye=function(t){Gp(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=Sj,s}return e}(ry);vn.EarlyExitException=Fye});var aS=w(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.attemptInRepetitionRecovery=Yi.Recoverable=Yi.InRuleRecoveryException=Yi.IN_RULE_RECOVERY_EXCEPTION=Yi.EOF_FOLLOW_KEY=void 0;var iy=WA(),Ss=Yt(),Nye=Ig(),Lye=zv(),Tye=Zn();Yi.EOF_FOLLOW_KEY={};Yi.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function oS(t){this.name=Yi.IN_RULE_RECOVERY_EXCEPTION,this.message=t}Yi.InRuleRecoveryException=oS;oS.prototype=Error.prototype;var Oye=function(){function t(){}return t.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,Ss.has)(e,"recoveryEnabled")?e.recoveryEnabled:Tye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Pj)},t.prototype.getTokenToInsert=function(e){var r=(0,iy.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r},t.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},t.prototype.tryInRepetitionRecovery=function(e,r,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),m=new Nye.MismatchedTokenException(p,u,s.LA(0));m.resyncedTokens=(0,Ss.dropRight)(l),s.SAVE_ERROR(m)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},t.prototype.shouldInRepetitionRecoveryBeTried=function(e,r,i){return!(i===!1||e===void 0||r===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))},t.prototype.getFollowsForInRuleRecovery=function(e,r){var i=this.getCurrentGrammarPath(e,r),n=this.getNextPossibleTokenTypes(i);return n},t.prototype.tryInRuleRecovery=function(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new oS("sad sad panda")},t.prototype.canPerformInRuleRecovery=function(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)},t.prototype.canRecoverWithSingleTokenInsertion=function(e,r){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,Ss.isEmpty)(r))return!1;var n=this.LA(1),s=(0,Ss.find)(r,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},t.prototype.canRecoverWithSingleTokenDeletion=function(e){var r=this.tokenMatcher(this.LA(2),e);return r},t.prototype.isInCurrentRuleReSyncSet=function(e){var r=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(r);return(0,Ss.contains)(i,e)},t.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),r=this.LA(1),i=2;;){var n=r.tokenType;if((0,Ss.contains)(e,n))return n;r=this.LA(i),i++}},t.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Yi.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(i)}},t.prototype.buildFullFollowKeyStack=function(){var e=this,r=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,Ss.map)(r,function(n,s){return s===0?Yi.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(r[s-1])}})},t.prototype.flattenFollowSet=function(){var e=this,r=(0,Ss.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,Ss.flatten)(r)},t.prototype.getFollowSetFromFollowKey=function(e){if(e===Yi.EOF_FOLLOW_KEY)return[iy.EOF];var r=e.ruleName+e.idxInCallingRule+Lye.IN+e.inRule;return this.resyncFollows[r]},t.prototype.addToResyncTokens=function(e,r){return this.tokenMatcher(e,iy.EOF)||r.push(e),r},t.prototype.reSyncTo=function(e){for(var r=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,r);return(0,Ss.dropRight)(r)},t.prototype.attemptInRepetitionRecovery=function(e,r,i,n,s,o,a){},t.prototype.getCurrentGrammarPath=function(e,r){var i=this.getHumanReadableRuleStack(),n=(0,Ss.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:r};return s},t.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,Ss.map)(this.RULE_STACK,function(r){return e.shortRuleNameToFullName(r)})},t}();Yi.Recoverable=Oye;function Pj(t,e,r,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=iy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(t,e,r,f)}Yi.attemptInRepetitionRecovery=Pj});var ny=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.getKeyForAutomaticLookahead=Jt.AT_LEAST_ONE_SEP_IDX=Jt.MANY_SEP_IDX=Jt.AT_LEAST_ONE_IDX=Jt.MANY_IDX=Jt.OPTION_IDX=Jt.OR_IDX=Jt.BITS_FOR_ALT_IDX=Jt.BITS_FOR_RULE_IDX=Jt.BITS_FOR_OCCURRENCE_IDX=Jt.BITS_FOR_METHOD_TYPE=void 0;Jt.BITS_FOR_METHOD_TYPE=4;Jt.BITS_FOR_OCCURRENCE_IDX=8;Jt.BITS_FOR_RULE_IDX=12;Jt.BITS_FOR_ALT_IDX=8;Jt.OR_IDX=1<{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.LooksAhead=void 0;var Ga=Up(),co=Yt(),Dj=Zn(),ja=ny(),vc=Tp(),Kye=function(){function t(){}return t.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,co.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Dj.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,co.has)(e,"maxLookahead")?e.maxLookahead:Dj.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,co.isES2015MapSupported)()?new Map:[],(0,co.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},t.prototype.preComputeLookaheadFunctions=function(e){var r=this;(0,co.forEach)(e,function(i){r.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,vc.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,co.forEach)(s,function(g){var f=g.idx===0?"":g.idx;r.TRACE_INIT(""+(0,vc.getProductionDslName)(g)+f,function(){var h=(0,Ga.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||r.maxLookahead,g.hasPredicates,r.dynamicTokensEnabled,r.lookAheadBuilderForAlternatives),p=(0,ja.getKeyForAutomaticLookahead)(r.fullRuleNameToShort[i.name],ja.OR_IDX,g.idx);r.setLaFuncCache(p,h)})}),(0,co.forEach)(o,function(g){r.computeLookaheadFunc(i,g.idx,ja.MANY_IDX,Ga.PROD_TYPE.REPETITION,g.maxLookahead,(0,vc.getProductionDslName)(g))}),(0,co.forEach)(a,function(g){r.computeLookaheadFunc(i,g.idx,ja.OPTION_IDX,Ga.PROD_TYPE.OPTION,g.maxLookahead,(0,vc.getProductionDslName)(g))}),(0,co.forEach)(l,function(g){r.computeLookaheadFunc(i,g.idx,ja.AT_LEAST_ONE_IDX,Ga.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,vc.getProductionDslName)(g))}),(0,co.forEach)(c,function(g){r.computeLookaheadFunc(i,g.idx,ja.AT_LEAST_ONE_SEP_IDX,Ga.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,vc.getProductionDslName)(g))}),(0,co.forEach)(u,function(g){r.computeLookaheadFunc(i,g.idx,ja.MANY_SEP_IDX,Ga.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,vc.getProductionDslName)(g))})})})},t.prototype.computeLookaheadFunc=function(e,r,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(r===0?"":r),function(){var l=(0,Ga.buildLookaheadFuncForOptionalProd)(r,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,ja.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,r);a.setLaFuncCache(c,l)})},t.prototype.lookAheadBuilderForOptional=function(e,r,i){return(0,Ga.buildSingleAlternativeLookaheadFunction)(e,r,i)},t.prototype.lookAheadBuilderForAlternatives=function(e,r,i,n){return(0,Ga.buildAlternativesLookAheadFunc)(e,r,i,n)},t.prototype.getKeyForAutomaticLookahead=function(e,r){var i=this.getLastExplicitRuleShortName();return(0,ja.getKeyForAutomaticLookahead)(i,e,r)},t.prototype.getLaFuncFromCache=function(e){},t.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},t.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},t.prototype.setLaFuncCache=function(e,r){},t.prototype.setLaFuncCacheUsingMap=function(e,r){this.lookAheadFuncsCache.set(e,r)},t.prototype.setLaFuncUsingObj=function(e,r){this.lookAheadFuncsCache[e]=r},t}();sy.LooksAhead=Kye});var Fj=w(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.addNoneTerminalToCst=Uo.addTerminalToCst=Uo.setNodeLocationFull=Uo.setNodeLocationOnlyOffset=void 0;function Uye(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";Object.defineProperty(VA,"__esModule",{value:!0});VA.defineNameProp=VA.functionName=VA.classNameFromInstance=void 0;var Yye=Yt();function qye(t){return Nj(t.constructor)}VA.classNameFromInstance=qye;var Lj="name";function Nj(t){var e=t.name;return e||"anonymous"}VA.functionName=Nj;function Jye(t,e){var r=Object.getOwnPropertyDescriptor(t,Lj);return(0,Yye.isUndefined)(r)||r.configurable?(Object.defineProperty(t,Lj,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}VA.defineNameProp=Jye});var Uj=w(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});Pi.validateRedundantMethods=Pi.validateMissingCstMethods=Pi.validateVisitor=Pi.CstVisitorDefinitionError=Pi.createBaseVisitorConstructorWithDefaults=Pi.createBaseSemanticVisitorConstructor=Pi.defaultVisit=void 0;var ks=Yt(),jp=AS();function Tj(t,e){for(var r=(0,ks.keys)(t),i=r.length,n=0;n: + `+(""+s.join(` + +`).replace(/\n/g,` + `)))}}};return r.prototype=i,r.prototype.constructor=r,r._RULE_NAMES=e,r}Pi.createBaseSemanticVisitorConstructor=Wye;function zye(t,e,r){var i=function(){};(0,jp.defineNameProp)(i,t+"BaseSemanticsWithDefaults");var n=Object.create(r.prototype);return(0,ks.forEach)(e,function(s){n[s]=Tj}),i.prototype=n,i.prototype.constructor=i,i}Pi.createBaseVisitorConstructorWithDefaults=zye;var lS;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(lS=Pi.CstVisitorDefinitionError||(Pi.CstVisitorDefinitionError={}));function Oj(t,e){var r=Mj(t,e),i=Kj(t,e);return r.concat(i)}Pi.validateVisitor=Oj;function Mj(t,e){var r=(0,ks.map)(e,function(i){if(!(0,ks.isFunction)(t[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,jp.functionName)(t.constructor)+" CST Visitor.",type:lS.MISSING_METHOD,methodName:i}});return(0,ks.compact)(r)}Pi.validateMissingCstMethods=Mj;var _ye=["constructor","visit","validateVisitor"];function Kj(t,e){var r=[];for(var i in t)(0,ks.isFunction)(t[i])&&!(0,ks.contains)(_ye,i)&&!(0,ks.contains)(e,i)&&r.push({msg:"Redundant visitor method: <"+i+"> on "+(0,jp.functionName)(t.constructor)+` CST Visitor +There is no Grammar Rule corresponding to this method's name. +`,type:lS.REDUNDANT_METHOD,methodName:i});return r}Pi.validateRedundantMethods=Kj});var Gj=w(oy=>{"use strict";Object.defineProperty(oy,"__esModule",{value:!0});oy.TreeBuilder=void 0;var yg=Fj(),ni=Yt(),Hj=Uj(),Vye=Zn(),Xye=function(){function t(){}return t.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,ni.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:Vye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=ni.NOOP,this.cstFinallyStateUpdate=ni.NOOP,this.cstPostTerminal=ni.NOOP,this.cstPostNonTerminal=ni.NOOP,this.cstPostRule=ni.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=yg.setNodeLocationFull,this.setNodeLocationFromNode=yg.setNodeLocationFull,this.cstPostRule=ni.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ni.NOOP,this.setNodeLocationFromNode=ni.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=yg.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=yg.setNodeLocationOnlyOffset,this.cstPostRule=ni.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ni.NOOP,this.setNodeLocationFromNode=ni.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=ni.NOOP,this.setNodeLocationFromNode=ni.NOOP,this.cstPostRule=ni.NOOP,this.setInitialNodeLocation=ni.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},t.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},t.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},t.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.setInitialNodeLocationFullRegular=function(e){var r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.cstInvocationStateUpdate=function(e,r){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},t.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},t.prototype.cstPostRuleFull=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?(i.endOffset=r.endOffset,i.endLine=r.endLine,i.endColumn=r.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},t.prototype.cstPostRuleOnlyOffset=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?i.endOffset=r.endOffset:i.startOffset=NaN},t.prototype.cstPostTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,yg.addTerminalToCst)(i,r,e),this.setNodeLocationFromToken(i.location,r)},t.prototype.cstPostNonTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,yg.addNoneTerminalToCst)(i,r,e),this.setNodeLocationFromNode(i.location,e.location)},t.prototype.getBaseCstVisitorConstructor=function(){if((0,ni.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Hj.createBaseSemanticVisitorConstructor)(this.className,(0,ni.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},t.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,ni.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Hj.createBaseVisitorConstructorWithDefaults)(this.className,(0,ni.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},t.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},t.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},t.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},t}();oy.TreeBuilder=Xye});var Yj=w(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});ay.LexerAdapter=void 0;var jj=Zn(),Zye=function(){function t(){}return t.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(t.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),t.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):jj.END_OF_FILE},t.prototype.LA=function(e){var r=this.currIdx+e;return r<0||this.tokVectorLength<=r?jj.END_OF_FILE:this.tokVector[r]},t.prototype.consumeToken=function(){this.currIdx++},t.prototype.exportLexerState=function(){return this.currIdx},t.prototype.importLexerState=function(e){this.currIdx=e},t.prototype.resetLexerState=function(){this.currIdx=-1},t.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},t.prototype.getLexerPosition=function(){return this.exportLexerState()},t}();ay.LexerAdapter=Zye});var Jj=w(Ay=>{"use strict";Object.defineProperty(Ay,"__esModule",{value:!0});Ay.RecognizerApi=void 0;var qj=Yt(),$ye=Ig(),cS=Zn(),ewe=Op(),twe=nS(),rwe=bn(),iwe=function(){function t(){}return t.prototype.ACTION=function(e){return e.call(this)},t.prototype.consume=function(e,r,i){return this.consumeInternal(r,e,i)},t.prototype.subrule=function(e,r,i){return this.subruleInternal(r,e,i)},t.prototype.option=function(e,r){return this.optionInternal(r,e)},t.prototype.or=function(e,r){return this.orInternal(r,e)},t.prototype.many=function(e,r){return this.manyInternal(e,r)},t.prototype.atLeastOne=function(e,r){return this.atLeastOneInternal(e,r)},t.prototype.CONSUME=function(e,r){return this.consumeInternal(e,0,r)},t.prototype.CONSUME1=function(e,r){return this.consumeInternal(e,1,r)},t.prototype.CONSUME2=function(e,r){return this.consumeInternal(e,2,r)},t.prototype.CONSUME3=function(e,r){return this.consumeInternal(e,3,r)},t.prototype.CONSUME4=function(e,r){return this.consumeInternal(e,4,r)},t.prototype.CONSUME5=function(e,r){return this.consumeInternal(e,5,r)},t.prototype.CONSUME6=function(e,r){return this.consumeInternal(e,6,r)},t.prototype.CONSUME7=function(e,r){return this.consumeInternal(e,7,r)},t.prototype.CONSUME8=function(e,r){return this.consumeInternal(e,8,r)},t.prototype.CONSUME9=function(e,r){return this.consumeInternal(e,9,r)},t.prototype.SUBRULE=function(e,r){return this.subruleInternal(e,0,r)},t.prototype.SUBRULE1=function(e,r){return this.subruleInternal(e,1,r)},t.prototype.SUBRULE2=function(e,r){return this.subruleInternal(e,2,r)},t.prototype.SUBRULE3=function(e,r){return this.subruleInternal(e,3,r)},t.prototype.SUBRULE4=function(e,r){return this.subruleInternal(e,4,r)},t.prototype.SUBRULE5=function(e,r){return this.subruleInternal(e,5,r)},t.prototype.SUBRULE6=function(e,r){return this.subruleInternal(e,6,r)},t.prototype.SUBRULE7=function(e,r){return this.subruleInternal(e,7,r)},t.prototype.SUBRULE8=function(e,r){return this.subruleInternal(e,8,r)},t.prototype.SUBRULE9=function(e,r){return this.subruleInternal(e,9,r)},t.prototype.OPTION=function(e){return this.optionInternal(e,0)},t.prototype.OPTION1=function(e){return this.optionInternal(e,1)},t.prototype.OPTION2=function(e){return this.optionInternal(e,2)},t.prototype.OPTION3=function(e){return this.optionInternal(e,3)},t.prototype.OPTION4=function(e){return this.optionInternal(e,4)},t.prototype.OPTION5=function(e){return this.optionInternal(e,5)},t.prototype.OPTION6=function(e){return this.optionInternal(e,6)},t.prototype.OPTION7=function(e){return this.optionInternal(e,7)},t.prototype.OPTION8=function(e){return this.optionInternal(e,8)},t.prototype.OPTION9=function(e){return this.optionInternal(e,9)},t.prototype.OR=function(e){return this.orInternal(e,0)},t.prototype.OR1=function(e){return this.orInternal(e,1)},t.prototype.OR2=function(e){return this.orInternal(e,2)},t.prototype.OR3=function(e){return this.orInternal(e,3)},t.prototype.OR4=function(e){return this.orInternal(e,4)},t.prototype.OR5=function(e){return this.orInternal(e,5)},t.prototype.OR6=function(e){return this.orInternal(e,6)},t.prototype.OR7=function(e){return this.orInternal(e,7)},t.prototype.OR8=function(e){return this.orInternal(e,8)},t.prototype.OR9=function(e){return this.orInternal(e,9)},t.prototype.MANY=function(e){this.manyInternal(0,e)},t.prototype.MANY1=function(e){this.manyInternal(1,e)},t.prototype.MANY2=function(e){this.manyInternal(2,e)},t.prototype.MANY3=function(e){this.manyInternal(3,e)},t.prototype.MANY4=function(e){this.manyInternal(4,e)},t.prototype.MANY5=function(e){this.manyInternal(5,e)},t.prototype.MANY6=function(e){this.manyInternal(6,e)},t.prototype.MANY7=function(e){this.manyInternal(7,e)},t.prototype.MANY8=function(e){this.manyInternal(8,e)},t.prototype.MANY9=function(e){this.manyInternal(9,e)},t.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},t.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},t.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},t.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},t.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},t.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},t.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},t.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},t.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},t.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},t.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},t.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},t.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},t.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},t.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},t.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},t.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},t.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},t.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},t.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},t.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},t.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},t.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},t.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},t.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},t.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},t.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},t.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},t.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},t.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},t.prototype.RULE=function(e,r,i){if(i===void 0&&(i=cS.DEFAULT_RULE_CONFIG),(0,qj.contains)(this.definedRulesNames,e)){var n=ewe.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:cS.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,r,i);return this[e]=o,o},t.prototype.OVERRIDE_RULE=function(e,r,i){i===void 0&&(i=cS.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,twe.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,r,i);return this[e]=s,s},t.prototype.BACKTRACK=function(e,r){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,r),!0}catch(n){if((0,$ye.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},t.prototype.getGAstProductions=function(){return this.gastProductionsCache},t.prototype.getSerializedGastProductions=function(){return(0,rwe.serializeGrammar)((0,qj.values)(this.gastProductionsCache))},t}();Ay.RecognizerApi=iwe});var Vj=w(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});ly.RecognizerEngine=void 0;var Rr=Yt(),$n=ny(),cy=Ig(),Wj=Up(),wg=Kp(),zj=Zn(),nwe=aS(),_j=WA(),Yp=pg(),swe=AS(),owe=function(){function t(){}return t.prototype.initRecognizerEngine=function(e,r){if(this.className=(0,swe.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Yp.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Rr.has)(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if((0,Rr.isArray)(e)){if((0,Rr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`)}if((0,Rr.isArray)(e))this.tokensMap=(0,Rr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Rr.has)(e,"modes")&&(0,Rr.every)((0,Rr.flatten)((0,Rr.values)(e.modes)),Yp.isTokenType)){var i=(0,Rr.flatten)((0,Rr.values)(e.modes)),n=(0,Rr.uniq)(i);this.tokensMap=(0,Rr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Rr.isObject)(e))this.tokensMap=(0,Rr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=_j.EOF;var s=(0,Rr.every)((0,Rr.values)(e),function(o){return(0,Rr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Yp.tokenStructuredMatcherNoCategories:Yp.tokenStructuredMatcher,(0,Yp.augmentTokenTypes)((0,Rr.values)(this.tokensMap))},t.prototype.defineRule=function(e,r,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Rr.has)(i,"resyncEnabled")?i.resyncEnabled:zj.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Rr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:zj.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<<$n.BITS_FOR_METHOD_TYPE+$n.BITS_FOR_OCCURRENCE_IDX;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;function a(u){try{if(this.outputCst===!0){r.apply(this,u);var g=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(g),g}else return r.apply(this,u)}catch(f){return this.invokeRuleCatch(f,n,s)}finally{this.ruleFinallyStateUpdate()}}var l=function(u,g){return u===void 0&&(u=0),this.ruleInvocationStateUpdate(o,e,u),a.call(this,g)},c="ruleName";return l[c]=e,l.originalGrammarAction=r,l},t.prototype.invokeRuleCatch=function(e,r,i){var n=this.RULE_STACK.length===1,s=r&&!this.isBackTracking()&&this.recoveryEnabled;if((0,cy.isRecognitionException)(e)){var o=e;if(s){var a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(o.resyncedTokens=this.reSyncTo(a),this.outputCst){var l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return i();else{if(this.outputCst){var l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,o.partialCstResult=l}throw o}}else{if(n)return this.moveToTerminatedState(),i();throw o}}else throw e},t.prototype.optionInternal=function(e,r){var i=this.getKeyForAutomaticLookahead($n.OPTION_IDX,r);return this.optionInternalLogic(e,r,i)},t.prototype.optionInternalLogic=function(e,r,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(e.DEF!==void 0){if(o=e.DEF,a=e.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=e;if(s.call(this)===!0)return o.call(this)},t.prototype.atLeastOneInternal=function(e,r){var i=this.getKeyForAutomaticLookahead($n.AT_LEAST_ONE_IDX,e);return this.atLeastOneInternalLogic(e,r,i)},t.prototype.atLeastOneInternalLogic=function(e,r,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(r.DEF!==void 0){if(o=r.DEF,a=r.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=r;if(s.call(this)===!0)for(var c=this.doSingleRepetition(o);s.call(this)===!0&&c===!0;)c=this.doSingleRepetition(o);else throw this.raiseEarlyExitException(e,Wj.PROD_TYPE.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],s,$n.AT_LEAST_ONE_IDX,e,wg.NextTerminalAfterAtLeastOneWalker)},t.prototype.atLeastOneSepFirstInternal=function(e,r){var i=this.getKeyForAutomaticLookahead($n.AT_LEAST_ONE_SEP_IDX,e);this.atLeastOneSepFirstInternalLogic(e,r,i)},t.prototype.atLeastOneSepFirstInternalLogic=function(e,r,i){var n=this,s=r.DEF,o=r.SEP,a=this.getLaFuncFromCache(i);if(a.call(this)===!0){s.call(this);for(var l=function(){return n.tokenMatcher(n.LA(1),o)};this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),s.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,l,s,wg.NextTerminalAfterAtLeastOneSepWalker],l,$n.AT_LEAST_ONE_SEP_IDX,e,wg.NextTerminalAfterAtLeastOneSepWalker)}else throw this.raiseEarlyExitException(e,Wj.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)},t.prototype.manyInternal=function(e,r){var i=this.getKeyForAutomaticLookahead($n.MANY_IDX,e);return this.manyInternalLogic(e,r,i)},t.prototype.manyInternalLogic=function(e,r,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(r.DEF!==void 0){if(o=r.DEF,a=r.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=r;for(var c=!0;s.call(this)===!0&&c===!0;)c=this.doSingleRepetition(o);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],s,$n.MANY_IDX,e,wg.NextTerminalAfterManyWalker,c)},t.prototype.manySepFirstInternal=function(e,r){var i=this.getKeyForAutomaticLookahead($n.MANY_SEP_IDX,e);this.manySepFirstInternalLogic(e,r,i)},t.prototype.manySepFirstInternalLogic=function(e,r,i){var n=this,s=r.DEF,o=r.SEP,a=this.getLaFuncFromCache(i);if(a.call(this)===!0){s.call(this);for(var l=function(){return n.tokenMatcher(n.LA(1),o)};this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),s.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,l,s,wg.NextTerminalAfterManySepWalker],l,$n.MANY_SEP_IDX,e,wg.NextTerminalAfterManySepWalker)}},t.prototype.repetitionSepSecondInternal=function(e,r,i,n,s){for(;i();)this.CONSUME(r),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,i,n,s],i,$n.AT_LEAST_ONE_SEP_IDX,e,s)},t.prototype.doSingleRepetition=function(e){var r=this.getLexerPosition();e.call(this);var i=this.getLexerPosition();return i>r},t.prototype.orInternal=function(e,r){var i=this.getKeyForAutomaticLookahead($n.OR_IDX,r),n=(0,Rr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(r,e.ERR_MSG)},t.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new cy.NotAllInputParsedException(r,e))}},t.prototype.subruleInternal=function(e,r,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,r,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},t.prototype.subruleInternalError=function(e,r,i){throw(0,cy.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:i),delete e.partialCstResult),e},t.prototype.consumeInternal=function(e,r,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},t.prototype.consumeInternalError=function(e,r,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new cy.MismatchedTokenException(n,r,s))},t.prototype.consumeInternalRecovery=function(e,r,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===nwe.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},t.prototype.saveRecogState=function(){var e=this.errors,r=(0,Rr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}},t.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},t.prototype.ruleInvocationStateUpdate=function(e,r,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r,e)},t.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},t.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},t.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},t.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),_j.EOF)},t.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},t}();ly.RecognizerEngine=owe});var Zj=w(uy=>{"use strict";Object.defineProperty(uy,"__esModule",{value:!0});uy.ErrorHandler=void 0;var uS=Ig(),gS=Yt(),Xj=Up(),awe=Zn(),Awe=function(){function t(){}return t.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,gS.has)(e,"errorMessageProvider")?e.errorMessageProvider:awe.DEFAULT_PARSER_CONFIG.errorMessageProvider},t.prototype.SAVE_ERROR=function(e){if((0,uS.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,gS.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(t.prototype,"errors",{get:function(){return(0,gS.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),t.prototype.raiseEarlyExitException=function(e,r,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,Xj.getLookaheadPathsForOptionalProd)(e,s,r,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new uS.EarlyExitException(u,this.LA(1),this.LA(0)))},t.prototype.raiseNoAltException=function(e,r){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,Xj.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new uS.NoViableAltException(c,this.LA(1),l))},t}();uy.ErrorHandler=Awe});var tY=w(gy=>{"use strict";Object.defineProperty(gy,"__esModule",{value:!0});gy.ContentAssist=void 0;var $j=Kp(),eY=Yt(),lwe=function(){function t(){}return t.prototype.initContentAssist=function(){},t.prototype.computeContentAssist=function(e,r){var i=this.gastProductionsCache[e];if((0,eY.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,$j.nextPossibleTokensAfter)([i],r,this.tokenMatcher,this.maxLookahead)},t.prototype.getNextPossibleTokenTypes=function(e){var r=(0,eY.first)(e.ruleStack),i=this.getGAstProductions(),n=i[r],s=new $j.NextAfterTokenWalker(n,e).startWalking();return s},t}();gy.ContentAssist=lwe});var lY=w(fy=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});fy.GastRecorder=void 0;var Sn=Yt(),Ho=bn(),cwe=Rp(),rY=pg(),iY=WA(),uwe=Zn(),gwe=ny(),hy={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(hy);var nY=!0,sY=Math.pow(2,gwe.BITS_FOR_OCCURRENCE_IDX)-1,oY=(0,iY.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:cwe.Lexer.NA});(0,rY.augmentTokenTypes)([oY]);var aY=(0,iY.createTokenInstance)(oY,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(aY);var fwe={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},pwe=function(){function t(){}return t.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},t.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var r=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)r(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},t.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var r=0;r<10;r++){var i=r>0?r:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},t.prototype.ACTION_RECORD=function(e){},t.prototype.BACKTRACK_RECORD=function(e,r){return function(){return!0}},t.prototype.LA_RECORD=function(e){return uwe.END_OF_FILE},t.prototype.topLevelRuleRecord=function(e,r){try{var i=new Ho.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),r.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch(s){throw n}throw n}},t.prototype.optionInternalRecord=function(e,r){return qp.call(this,Ho.Option,e,r)},t.prototype.atLeastOneInternalRecord=function(e,r){qp.call(this,Ho.RepetitionMandatory,r,e)},t.prototype.atLeastOneSepFirstInternalRecord=function(e,r){qp.call(this,Ho.RepetitionMandatoryWithSeparator,r,e,nY)},t.prototype.manyInternalRecord=function(e,r){qp.call(this,Ho.Repetition,r,e)},t.prototype.manySepFirstInternalRecord=function(e,r){qp.call(this,Ho.RepetitionWithSeparator,r,e,nY)},t.prototype.orInternalRecord=function(e,r){return hwe.call(this,e,r)},t.prototype.subruleInternalRecord=function(e,r,i){if(py(r),!e||(0,Sn.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Sn.peek)(this.recordingProdStack),o=e.ruleName,a=new Ho.NonTerminal({idx:r,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?fwe:hy},t.prototype.consumeInternalRecord=function(e,r,i){if(py(r),!(0,rY.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Sn.peek)(this.recordingProdStack),o=new Ho.Terminal({idx:r,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),aY},t}();fy.GastRecorder=pwe;function qp(t,e,r,i){i===void 0&&(i=!1),py(r);var n=(0,Sn.peek)(this.recordingProdStack),s=(0,Sn.isFunction)(e)?e:e.DEF,o=new t({definition:[],idx:r});return i&&(o.separator=e.SEP),(0,Sn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),hy}function hwe(t,e){var r=this;py(e);var i=(0,Sn.peek)(this.recordingProdStack),n=(0,Sn.isArray)(t)===!1,s=n===!1?t:t.DEF,o=new Ho.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});(0,Sn.has)(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);var a=(0,Sn.some)(s,function(l){return(0,Sn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,Sn.forEach)(s,function(l){var c=new Ho.Alternative({definition:[]});o.definition.push(c),(0,Sn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,Sn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),r.recordingProdStack.push(c),l.ALT.call(r),r.recordingProdStack.pop()}),hy}function AY(t){return t===0?"":""+t}function py(t){if(t<0||t>sY){var e=new Error("Invalid DSL Method idx value: <"+t+`> + `+("Idx value must be a none negative value smaller than "+(sY+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var uY=w(dy=>{"use strict";Object.defineProperty(dy,"__esModule",{value:!0});dy.PerformanceTracer=void 0;var cY=Yt(),dwe=Zn(),Cwe=function(){function t(){}return t.prototype.initPerformanceTracer=function(e){if((0,cY.has)(e,"traceInitPerf")){var r=e.traceInitPerf,i=typeof r=="number";this.traceInitMaxIdent=i?r:Infinity,this.traceInitPerf=i?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=dwe.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},t.prototype.TRACE_INIT=function(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,cY.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t}();dy.PerformanceTracer=Cwe});var gY=w(Cy=>{"use strict";Object.defineProperty(Cy,"__esModule",{value:!0});Cy.applyMixins=void 0;function mwe(t,e){e.forEach(function(r){var i=r.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(t.prototype,n,s):t.prototype[n]=r.prototype[n]}})})}Cy.applyMixins=mwe});var Zn=w(Er=>{"use strict";var fY=Er&&Er.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Er,"__esModule",{value:!0});Er.EmbeddedActionsParser=Er.CstParser=Er.Parser=Er.EMPTY_ALT=Er.ParserDefinitionErrorType=Er.DEFAULT_RULE_CONFIG=Er.DEFAULT_PARSER_CONFIG=Er.END_OF_FILE=void 0;var an=Yt(),Ewe=ZG(),hY=WA(),pY=Op(),dY=bj(),Iwe=aS(),ywe=Rj(),wwe=Gj(),Bwe=Yj(),bwe=Jj(),Qwe=Vj(),vwe=Zj(),Swe=tY(),kwe=lY(),xwe=uY(),Pwe=gY();Er.END_OF_FILE=(0,hY.createTokenInstance)(hY.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Er.END_OF_FILE);Er.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:pY.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});Er.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var Dwe;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(Dwe=Er.ParserDefinitionErrorType||(Er.ParserDefinitionErrorType={}));function Rwe(t){return t===void 0&&(t=void 0),function(){return t}}Er.EMPTY_ALT=Rwe;var my=function(){function t(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(r),i.initLexerAdapter(),i.initLooksAhead(r),i.initRecognizerEngine(e,r),i.initRecoverable(r),i.initTreeBuilder(r),i.initContentAssist(),i.initGastRecorder(r),i.initPerformanceTracer(r),(0,an.has)(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=(0,an.has)(r,"skipValidations")?r.skipValidations:Er.DEFAULT_PARSER_CONFIG.skipValidations}return t.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},t.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var r;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,an.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,an.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,dY.resolveGrammar)({rules:(0,an.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,an.isEmpty)(n)&&e.skipValidations===!1){var s=(0,dY.validateGrammar)({rules:(0,an.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,an.values)(e.tokensMap),errMsgProvider:pY.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,an.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,Ewe.computeAllProdsFollows)((0,an.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,an.values)(e.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,an.isEmpty)(e.definitionErrors))throw r=(0,an.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: + `+r.join(` +------------------------------- +`))})},t.DEFER_DEFINITION_ERRORS_HANDLING=!1,t}();Er.Parser=my;(0,Pwe.applyMixins)(my,[Iwe.Recoverable,ywe.LooksAhead,wwe.TreeBuilder,Bwe.LexerAdapter,Qwe.RecognizerEngine,bwe.RecognizerApi,vwe.ErrorHandler,Swe.ContentAssist,kwe.GastRecorder,xwe.PerformanceTracer]);var Fwe=function(t){fY(e,t);function e(r,i){i===void 0&&(i=Er.DEFAULT_PARSER_CONFIG);var n=this,s=(0,an.cloneObj)(i);return s.outputCst=!0,n=t.call(this,r,s)||this,n}return e}(my);Er.CstParser=Fwe;var Nwe=function(t){fY(e,t);function e(r,i){i===void 0&&(i=Er.DEFAULT_PARSER_CONFIG);var n=this,s=(0,an.cloneObj)(i);return s.outputCst=!1,n=t.call(this,r,s)||this,n}return e}(my);Er.EmbeddedActionsParser=Nwe});var mY=w(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.createSyntaxDiagramsCode=void 0;var CY=Rv();function Lwe(t,e){var r=e===void 0?{}:e,i=r.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+CY.VERSION+"/diagrams/":i,s=r.css,o=s===void 0?"https://unpkg.com/chevrotain@"+CY.VERSION+"/diagrams/diagrams.css":s,a=` + + + + + +`,l=` + +`,c=` + + + + +`,u=` +
+`,g=` + +`,f=` + +`;return a+l+c+u+g+f}Ey.createSyntaxDiagramsCode=Lwe});var yY=w(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.Parser=Ve.createSyntaxDiagramsCode=Ve.clearCache=Ve.GAstVisitor=Ve.serializeProduction=Ve.serializeGrammar=Ve.Terminal=Ve.Rule=Ve.RepetitionWithSeparator=Ve.RepetitionMandatoryWithSeparator=Ve.RepetitionMandatory=Ve.Repetition=Ve.Option=Ve.NonTerminal=Ve.Alternative=Ve.Alternation=Ve.defaultLexerErrorProvider=Ve.NoViableAltException=Ve.NotAllInputParsedException=Ve.MismatchedTokenException=Ve.isRecognitionException=Ve.EarlyExitException=Ve.defaultParserErrorProvider=Ve.tokenName=Ve.tokenMatcher=Ve.tokenLabel=Ve.EOF=Ve.createTokenInstance=Ve.createToken=Ve.LexerDefinitionErrorType=Ve.Lexer=Ve.EMPTY_ALT=Ve.ParserDefinitionErrorType=Ve.EmbeddedActionsParser=Ve.CstParser=Ve.VERSION=void 0;var Twe=Rv();Object.defineProperty(Ve,"VERSION",{enumerable:!0,get:function(){return Twe.VERSION}});var Iy=Zn();Object.defineProperty(Ve,"CstParser",{enumerable:!0,get:function(){return Iy.CstParser}});Object.defineProperty(Ve,"EmbeddedActionsParser",{enumerable:!0,get:function(){return Iy.EmbeddedActionsParser}});Object.defineProperty(Ve,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return Iy.ParserDefinitionErrorType}});Object.defineProperty(Ve,"EMPTY_ALT",{enumerable:!0,get:function(){return Iy.EMPTY_ALT}});var EY=Rp();Object.defineProperty(Ve,"Lexer",{enumerable:!0,get:function(){return EY.Lexer}});Object.defineProperty(Ve,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return EY.LexerDefinitionErrorType}});var Bg=WA();Object.defineProperty(Ve,"createToken",{enumerable:!0,get:function(){return Bg.createToken}});Object.defineProperty(Ve,"createTokenInstance",{enumerable:!0,get:function(){return Bg.createTokenInstance}});Object.defineProperty(Ve,"EOF",{enumerable:!0,get:function(){return Bg.EOF}});Object.defineProperty(Ve,"tokenLabel",{enumerable:!0,get:function(){return Bg.tokenLabel}});Object.defineProperty(Ve,"tokenMatcher",{enumerable:!0,get:function(){return Bg.tokenMatcher}});Object.defineProperty(Ve,"tokenName",{enumerable:!0,get:function(){return Bg.tokenName}});var Owe=Op();Object.defineProperty(Ve,"defaultParserErrorProvider",{enumerable:!0,get:function(){return Owe.defaultParserErrorProvider}});var Jp=Ig();Object.defineProperty(Ve,"EarlyExitException",{enumerable:!0,get:function(){return Jp.EarlyExitException}});Object.defineProperty(Ve,"isRecognitionException",{enumerable:!0,get:function(){return Jp.isRecognitionException}});Object.defineProperty(Ve,"MismatchedTokenException",{enumerable:!0,get:function(){return Jp.MismatchedTokenException}});Object.defineProperty(Ve,"NotAllInputParsedException",{enumerable:!0,get:function(){return Jp.NotAllInputParsedException}});Object.defineProperty(Ve,"NoViableAltException",{enumerable:!0,get:function(){return Jp.NoViableAltException}});var Mwe=Gv();Object.defineProperty(Ve,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return Mwe.defaultLexerErrorProvider}});var Go=bn();Object.defineProperty(Ve,"Alternation",{enumerable:!0,get:function(){return Go.Alternation}});Object.defineProperty(Ve,"Alternative",{enumerable:!0,get:function(){return Go.Alternative}});Object.defineProperty(Ve,"NonTerminal",{enumerable:!0,get:function(){return Go.NonTerminal}});Object.defineProperty(Ve,"Option",{enumerable:!0,get:function(){return Go.Option}});Object.defineProperty(Ve,"Repetition",{enumerable:!0,get:function(){return Go.Repetition}});Object.defineProperty(Ve,"RepetitionMandatory",{enumerable:!0,get:function(){return Go.RepetitionMandatory}});Object.defineProperty(Ve,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return Go.RepetitionMandatoryWithSeparator}});Object.defineProperty(Ve,"RepetitionWithSeparator",{enumerable:!0,get:function(){return Go.RepetitionWithSeparator}});Object.defineProperty(Ve,"Rule",{enumerable:!0,get:function(){return Go.Rule}});Object.defineProperty(Ve,"Terminal",{enumerable:!0,get:function(){return Go.Terminal}});var IY=bn();Object.defineProperty(Ve,"serializeGrammar",{enumerable:!0,get:function(){return IY.serializeGrammar}});Object.defineProperty(Ve,"serializeProduction",{enumerable:!0,get:function(){return IY.serializeProduction}});var Kwe=dg();Object.defineProperty(Ve,"GAstVisitor",{enumerable:!0,get:function(){return Kwe.GAstVisitor}});function Uwe(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. + It performs no action other than printing this message. + Please avoid using it as it will be completely removed in the future`)}Ve.clearCache=Uwe;var Hwe=mY();Object.defineProperty(Ve,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return Hwe.createSyntaxDiagramsCode}});var Gwe=function(){function t(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead. +See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return t}();Ve.Parser=Gwe});var bY=w((_tt,wY)=>{var yy=yY(),Ya=yy.createToken,BY=yy.tokenMatcher,fS=yy.Lexer,jwe=yy.EmbeddedActionsParser;wY.exports=t=>{let e=Ya({name:"LogicalOperator",pattern:fS.NA}),r=Ya({name:"Or",pattern:/\|/,categories:e}),i=Ya({name:"Xor",pattern:/\^/,categories:e}),n=Ya({name:"And",pattern:/&/,categories:e}),s=Ya({name:"Not",pattern:/!/}),o=Ya({name:"LParen",pattern:/\(/}),a=Ya({name:"RParen",pattern:/\)/}),l=Ya({name:"Query",pattern:t}),u=[Ya({name:"WhiteSpace",pattern:/\s+/,group:fS.SKIPPED}),r,i,n,o,a,s,e,l],g=new fS(u);class f extends jwe{constructor(p){super(u);this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let b=y,S=this.CONSUME(e),k=this.SUBRULE2(this.atomicExpression);BY(S,r)?y=T=>b(T)||k(T):BY(S,i)?y=T=>!!(b(T)^k(T)):y=T=>b(T)&&k(T)}),y}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:m}=this.CONSUME(l);return y=>y(m)}},{ALT:()=>{this.CONSUME(s);let m=this.SUBRULE(this.atomicExpression);return y=>!m(y)}}])),this.RULE("parenthesisExpression",()=>{let m;return this.CONSUME(o),m=this.SUBRULE(this.expression),this.CONSUME(a),m}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var QY=w(wy=>{var Ywe=bY();wy.makeParser=(t=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:r}=Ywe(t),i=new r;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};wy.parse=wy.makeParser()});var SY=w((Xtt,vY)=>{"use strict";vY.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var hS=w((Ztt,kY)=>{var Wp=SY(),xY={};for(let t of Object.keys(Wp))xY[Wp[t]]=t;var at={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};kY.exports=at;for(let t of Object.keys(at)){if(!("channels"in at[t]))throw new Error("missing channels property: "+t);if(!("labels"in at[t]))throw new Error("missing channel labels property: "+t);if(at[t].labels.length!==at[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=at[t];delete at[t].channels,delete at[t].labels,Object.defineProperty(at[t],"channels",{value:e}),Object.defineProperty(at[t],"labels",{value:r})}at.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(e,r,i),s=Math.max(e,r,i),o=s-n,a,l;s===n?a=0:e===s?a=(r-i)/o:r===s?a=2+(i-e)/o:i===s&&(a=4+(e-r)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};at.rgb.hsv=function(t){let e,r,i,n,s,o=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),r=g(a),i=g(l),o===c?n=i-r:a===c?n=1/3+e-i:l===c&&(n=2/3+r-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};at.rgb.hwb=function(t){let e=t[0],r=t[1],i=t[2],n=at.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,i));return i=1-1/255*Math.max(e,Math.max(r,i)),[n,s*100,i*100]};at.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(1-e,1-r,1-i),s=(1-e-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function qwe(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}at.rgb.keyword=function(t){let e=xY[t];if(e)return e;let r=Infinity,i;for(let n of Object.keys(Wp)){let s=Wp[n],o=qwe(t,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+r*.3576+i*.1805,s=e*.2126+r*.7152+i*.0722,o=e*.0193+r*.1192+i*.9505;return[n*100,s*100,o*100]};at.rgb.lab=function(t){let e=at.rgb.xyz(t),r=e[0],i=e[1],n=e[2];r/=95.047,i/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(r-i),a=200*(i-n);return[s,o,a]};at.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n,s,o;if(r===0)return o=i*255,[o,o,o];i<.5?n=i*(1+r):n=i+r-i*r;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};at.hsl.hsv=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=r,s=Math.max(i,.01);i*=2,r*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+r)/2,a=i===0?2*n/(s+n):2*r/(i+r);return[e,a*100,o*100]};at.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,i=t[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-r),a=255*i*(1-r*s),l=255*i*(1-r*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};at.hsv.hsl=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=Math.max(i,.01),s,o;o=(2-r)*i;let a=(2-r)*n;return s=r*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};at.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n=r+i,s;n>1&&(r/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=r+s*(a-r),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=r;break;case 1:c=l,u=a,g=r;break;case 2:c=r,u=a,g=l;break;case 3:c=r,u=l,g=a;break;case 4:c=l,u=r,g=a;break;case 5:c=a,u=r,g=l;break}return[c*255,u*255,g*255]};at.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n=t[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};at.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n,s,o;return n=e*3.2406+r*-1.5372+i*-.4986,s=e*-.9689+r*1.8758+i*.0415,o=e*.0557+r*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};at.xyz.lab=function(t){let e=t[0],r=t[1],i=t[2];e/=95.047,r/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*r-16,s=500*(e-r),o=200*(r-i);return[n,s,o]};at.lab.xyz=function(t){let e=t[0],r=t[1],i=t[2],n,s,o;s=(e+16)/116,n=r/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};at.lab.lch=function(t){let e=t[0],r=t[1],i=t[2],n;n=Math.atan2(i,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+i*i);return[e,o,n]};at.lch.lab=function(t){let e=t[0],r=t[1],n=t[2]/360*2*Math.PI,s=r*Math.cos(n),o=r*Math.sin(n);return[e,s,o]};at.rgb.ansi16=function(t,e=null){let[r,i,n]=t,s=e===null?at.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(r/255));return s===2&&(o+=60),o};at.hsv.ansi16=function(t){return at.rgb.ansi16(at.hsv.rgb(t),t[2])};at.rgb.ansi256=function(t){let e=t[0],r=t[1],i=t[2];return e===r&&r===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5)};at.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,i=(e&1)*r*255,n=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[i,n,s]};at.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,r=Math.floor(t/36)/5*255,i=Math.floor((e=t%36)/6)/5*255,n=e%6/5*255;return[r,i,n]};at.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};at.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(a=>a+a).join(""));let i=parseInt(r,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};at.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.max(Math.max(e,r),i),s=Math.min(Math.min(e,r),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(r-i)/o%6:n===r?l=2+(i-e)/o:l=4+(e-r)/o,l/=6,l%=1,[l*360,o*100,a*100]};at.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=r<.5?2*e*r:2*e*(1-r),n=0;return i<1&&(n=(r-.5*i)/(1-i)),[t[0],i*100,n*100]};at.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=e*r,n=0;return i<1&&(n=(r-i)/(1-i)),[t[0],i*100,n*100]};at.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100;if(r===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-r)*i,[(r*n[0]+l)*255,(r*n[1]+l)*255,(r*n[2]+l)*255]};at.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e),n=0;return i>0&&(n=e/i),[t[0],n*100,i*100]};at.hcg.hsl=function(t){let e=t[1]/100,i=t[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[t[0],n*100,i*100]};at.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e);return[t[0],(i-e)*100,(1-i)*100]};at.hwb.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=1-r,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[t[0],n*100,s*100]};at.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};at.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};at.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};at.gray.hsl=function(t){return[0,0,t[0]]};at.gray.hsv=at.gray.hsl;at.gray.hwb=function(t){return[0,100,t[0]]};at.gray.cmyk=function(t){return[0,0,0,t[0]]};at.gray.lab=function(t){return[t[0],0,0]};at.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};at.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var DY=w(($tt,PY)=>{var By=hS();function Jwe(){let t={},e=Object.keys(By);for(let r=e.length,i=0;i{var pS=hS(),Vwe=DY(),bg={},Xwe=Object.keys(pS);function Zwe(t){let e=function(...r){let i=r[0];return i==null?i:(i.length>1&&(r=i),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function $we(t){let e=function(...r){let i=r[0];if(i==null)return i;i.length>1&&(r=i);let n=t(r);if(typeof n=="object")for(let s=n.length,o=0;o{bg[t]={},Object.defineProperty(bg[t],"channels",{value:pS[t].channels}),Object.defineProperty(bg[t],"labels",{value:pS[t].labels});let e=Vwe(t);Object.keys(e).forEach(i=>{let n=e[i];bg[t][i]=$we(n),bg[t][i].raw=Zwe(n)})});RY.exports=bg});var KY=w((trt,NY)=>{"use strict";var LY=(t,e)=>(...r)=>`[${t(...r)+e}m`,TY=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};5;${i}m`},OY=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},by=t=>t,MY=(t,e,r)=>[t,e,r],Qg=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let i=r();return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},dS,vg=(t,e,r,i)=>{dS===void 0&&(dS=FY());let n=i?10:0,s={};for(let[o,a]of Object.entries(dS)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=t(r,n):typeof a=="object"&&(s[l]=t(a[e],n))}return s};function eBe(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],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]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],t.set(s[0],s[1]);Object.defineProperty(e,r,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="",e.bgColor.close="",Qg(e.color,"ansi",()=>vg(LY,"ansi16",by,!1)),Qg(e.color,"ansi256",()=>vg(TY,"ansi256",by,!1)),Qg(e.color,"ansi16m",()=>vg(OY,"rgb",MY,!1)),Qg(e.bgColor,"ansi",()=>vg(LY,"ansi16",by,!0)),Qg(e.bgColor,"ansi256",()=>vg(TY,"ansi256",by,!0)),Qg(e.bgColor,"ansi16m",()=>vg(OY,"rgb",MY,!0)),e}Object.defineProperty(NY,"exports",{enumerable:!0,get:eBe})});var HY=w((rrt,UY)=>{"use strict";UY.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(r+t),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var tBe=require("os"),jY=require("tty"),xs=HY(),{env:ui}=process,XA;xs("no-color")||xs("no-colors")||xs("color=false")||xs("color=never")?XA=0:(xs("color")||xs("colors")||xs("color=true")||xs("color=always"))&&(XA=1);"FORCE_COLOR"in ui&&(ui.FORCE_COLOR==="true"?XA=1:ui.FORCE_COLOR==="false"?XA=0:XA=ui.FORCE_COLOR.length===0?1:Math.min(parseInt(ui.FORCE_COLOR,10),3));function CS(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function mS(t,e){if(XA===0)return 0;if(xs("color=16m")||xs("color=full")||xs("color=truecolor"))return 3;if(xs("color=256"))return 2;if(t&&!e&&XA===void 0)return 0;let r=XA||0;if(ui.TERM==="dumb")return r;if(process.platform==="win32"){let i=tBe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in ui)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in ui)||ui.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in ui)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ui.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ui)return 1;if(ui.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ui){let i=parseInt((ui.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ui.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ui.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ui.TERM)||"COLORTERM"in ui?1:r}function rBe(t){let e=mS(t,t&&t.isTTY);return CS(e)}GY.exports={supportsColor:rBe,stdout:CS(mS(!0,jY.isatty(1))),stderr:CS(mS(!0,jY.isatty(2)))}});var JY=w((nrt,qY)=>{"use strict";var iBe=(t,e,r)=>{let i=t.indexOf(e);if(i===-1)return t;let n=e.length,s=0,o="";do o+=t.substr(s,i-s)+e+r,s=i+n,i=t.indexOf(e,s);while(i!==-1);return o+=t.substr(s),o},nBe=(t,e,r,i)=>{let n=0,s="";do{let o=t[i-1]==="\r";s+=t.substr(n,(o?i-1:i)-n)+e+(o?`\r +`:` +`)+r,n=i+1,i=t.indexOf(` +`,n)}while(i!==-1);return s+=t.substr(n),s};qY.exports={stringReplaceAll:iBe,stringEncaseCRLFWithFirstIndex:nBe}});var XY=w((srt,WY)=>{"use strict";var sBe=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,zY=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,oBe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,aBe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,ABe=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function _Y(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):ABe.get(t)||t}function lBe(t,e){let r=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))r.push(o);else if(n=s.match(oBe))r.push(n[2].replace(aBe,(a,l,c)=>l?_Y(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function cBe(t){zY.lastIndex=0;let e=[],r;for(;(r=zY.exec(t))!==null;){let i=r[1];if(r[2]){let n=lBe(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function VY(t,e){let r={};for(let n of e)for(let s of n.styles)r[s[0]]=n.inverse?null:s.slice(1);let i=t;for(let[n,s]of Object.entries(r))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}WY.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(sBe,(s,o,a,l,c,u)=>{if(o)n.push(_Y(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:VY(t,r)(g)),r.push({inverse:a,styles:cBe(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(VY(t,r)(n.join(""))),n=[],r.pop()}else n.push(u)}),i.push(n.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var BS=w((ort,ZY)=>{"use strict";var zp=KY(),{stdout:ES,stderr:IS}=YY(),{stringReplaceAll:uBe,stringEncaseCRLFWithFirstIndex:gBe}=JY(),$Y=["ansi","ansi","ansi256","ansi16m"],Sg=Object.create(null),fBe=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=ES?ES.level:0;t.level=e.level===void 0?r:e.level},eq=class{constructor(e){return tq(e)}},tq=t=>{let e={};return fBe(e,t),e.template=(...r)=>hBe(e.template,...r),Object.setPrototypeOf(e,Qy.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=eq,e.template};function Qy(t){return tq(t)}for(let[t,e]of Object.entries(zp))Sg[t]={get(){let r=vy(this,yS(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Sg.visible={get(){let t=vy(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var rq=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of rq)Sg[t]={get(){let{level:e}=this;return function(...r){let i=yS(zp.color[$Y[e]][t](...r),zp.color.close,this._styler);return vy(this,i,this._isEmpty)}}};for(let t of rq){let e="bg"+t[0].toUpperCase()+t.slice(1);Sg[e]={get(){let{level:r}=this;return function(...i){let n=yS(zp.bgColor[$Y[r]][t](...i),zp.bgColor.close,this._styler);return vy(this,n,this._isEmpty)}}}}var pBe=Object.defineProperties(()=>{},ie(N({},Sg),{level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}})),yS=(t,e,r)=>{let i,n;return r===void 0?(i=t,n=e):(i=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:n,parent:r}},vy=(t,e,r)=>{let i=(...n)=>dBe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=pBe,i._generator=t,i._styler=e,i._isEmpty=r,i},dBe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:i,closeAll:n}=r;if(e.indexOf("")!==-1)for(;r!==void 0;)e=uBe(e,r.close,r.open),r=r.parent;let s=e.indexOf(` +`);return s!==-1&&(e=gBe(e,n,i,s)),i+e+n},wS,hBe=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let i=e.slice(1),n=[r.raw[0]];for(let s=1;s{"use strict";Ps.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;Ps.find=(t,e)=>t.nodes.find(r=>r.type===e);Ps.exceedsLimit=(t,e,r=1,i)=>i===!1||!Ps.isInteger(t)||!Ps.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;Ps.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};Ps.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;Ps.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;Ps.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;Ps.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);Ps.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n{"use strict";var nq=Sy();iq.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&nq.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&nq.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=r(l);return a};return r(t)}});var oq=w((lrt,sq)=>{"use strict";sq.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var pq=w((crt,aq)=>{"use strict";var Aq=oq(),Sc=(t,e,r)=>{if(Aq(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(Aq(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i=N({relaxZeros:!0},r);typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=t+":"+e+"="+n+s+o+a;if(Sc.cache.hasOwnProperty(l))return Sc.cache[l].result;let c=Math.min(t,e),u=Math.max(t,e);if(Math.abs(c-u)===1){let m=t+"|"+e;return i.capture?`(${m})`:i.wrap===!1?m:`(?:${m})`}let g=cq(t)||cq(e),f={min:t,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let m=u<0?Math.abs(u):1;p=lq(m,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=lq(c,u,f,i)),f.negatives=p,f.positives=h,f.result=CBe(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),Sc.cache[l]=f,f.result};function CBe(t,e,r){let i=bS(t,e,"-",!1,r)||[],n=bS(e,t,"",!1,r)||[],s=bS(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function EBe(t,e){let r=1,i=1,n=uq(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=uq(t,r);for(n=gq(e+1,i)-1;t1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+fq(a.count),o=c+1;continue}r.isPadded&&(g=BBe(c,r,i)),u.string=g+u.pattern+fq(u.count),s.push(u),o=c+1,a=u}return s}function bS(t,e,r,i,n){let s=[];for(let o of t){let{string:a}=o;!i&&!hq(e,"string",a)&&s.push(r+a),i&&hq(e,"string",a)&&s.push(r+a)}return s}function IBe(t,e){let r=[];for(let i=0;ie?1:e>t?-1:0}function hq(t,e,r){return t.some(i=>i[e]===r)}function uq(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function gq(t,e){return t-t%Math.pow(10,e)}function fq(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function yBe(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function cq(t){return/^-?(0+)\d/.test(t)}function BBe(t,e,r){if(!e.isPadded)return t;let i=Math.abs(e.maxLen-String(t).length),n=r.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}Sc.cache={};Sc.clearCache=()=>Sc.cache={};aq.exports=Sc});var SS=w((urt,dq)=>{"use strict";var bBe=require("util"),Cq=pq(),mq=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),QBe=t=>e=>t===!0?Number(e):String(e),QS=t=>typeof t=="number"||typeof t=="string"&&t!=="",Vp=t=>Number.isInteger(+t),vS=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},vBe=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,SBe=(t,e,r)=>{if(e>0){let i=t[0]==="-"?"-":"";i&&(t=t.slice(1)),t=i+t.padStart(i?e-1:e,"0")}return r===!1?String(t):t},Eq=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((o,a)=>oa?1:0),t.positives.sort((o,a)=>oa?1:0);let r=e.capture?"":"?:",i="",n="",s;return t.positives.length&&(i=t.positives.join("|")),t.negatives.length&&(n=`-(${r}${t.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${r}${s})`:s},Iq=(t,e,r,i)=>{if(r)return Cq(t,e,N({wrap:!1},i));let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},yq=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return Cq(t,e,r)},wq=(...t)=>new RangeError("Invalid range arguments: "+bBe.inspect(...t)),Bq=(t,e,r)=>{if(r.strictRanges===!0)throw wq([t,e]);return[]},xBe=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},PBe=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw wq([t,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(t),l=String(e),c=String(r);r=Math.max(Math.abs(r),1);let u=vS(a)||vS(l)||vS(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&vBe(t,e,i)===!1,h=i.transform||QBe(f);if(i.toRegex&&r===1)return Iq(Eq(t,g),Eq(e,g),!0,i);let p={negatives:[],positives:[]},m=S=>p[S<0?"negatives":"positives"].push(Math.abs(S)),y=[],b=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&r>1?m(n):y.push(SBe(h(n,b),g,f)),n=o?n-r:n+r,b++;return i.toRegex===!0?r>1?kBe(p,i):yq(y,null,N({wrap:!1},i)):y},DBe=(t,e,r=1,i={})=>{if(!Vp(t)&&t.length>1||!Vp(e)&&e.length>1)return Bq(t,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&r===1)return Iq(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-r:s+r,g++;return i.toRegex===!0?yq(u,null,{wrap:!1,options:i}):u},xy=(t,e,r,i={})=>{if(e==null&&QS(t))return[t];if(!QS(t)||!QS(e))return Bq(t,e,i);if(typeof r=="function")return xy(t,e,1,{transform:r});if(mq(r))return xy(t,e,0,r);let n=N({},i);return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,Vp(r)?Vp(t)&&Vp(e)?PBe(t,e,r,n):DBe(t,e,Math.max(Math.abs(r),1),n):r!=null&&!mq(r)?xBe(r,n):xy(t,e,1,r)};dq.exports=xy});var vq=w((grt,bq)=>{"use strict";var RBe=SS(),Qq=Sy(),FBe=(t,e={})=>{let r=(i,n={})=>{let s=Qq.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=Qq.reduce(i.nodes),g=RBe(...u,ie(N({},e),{wrap:!1,toRegex:!0}));if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=r(u,i);return c};return r(t)};bq.exports=FBe});var xq=w((frt,Sq)=>{"use strict";var NBe=SS(),kq=ky(),kg=Sy(),kc=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?kg.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(kc(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?kc(n,s,r):n+s);return kg.flatten(i)},LBe=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(kc(a.pop(),kq(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(kc(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=kg.reduce(n.nodes);if(kg.exceedsLimit(...g,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=NBe(...g,e);f.length===0&&(f=kq(n,e)),a.push(kc(a.pop(),f)),n.nodes=[];return}let l=kg.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";Pq.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var Tq=w((prt,Rq)=>{"use strict";var TBe=ky(),{MAX_LENGTH:Fq,CHAR_BACKSLASH:kS,CHAR_BACKTICK:OBe,CHAR_COMMA:MBe,CHAR_DOT:KBe,CHAR_LEFT_PARENTHESES:UBe,CHAR_RIGHT_PARENTHESES:HBe,CHAR_LEFT_CURLY_BRACE:GBe,CHAR_RIGHT_CURLY_BRACE:jBe,CHAR_LEFT_SQUARE_BRACKET:Nq,CHAR_RIGHT_SQUARE_BRACKET:Lq,CHAR_DOUBLE_QUOTE:YBe,CHAR_SINGLE_QUOTE:qBe,CHAR_NO_BREAK_SPACE:JBe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:WBe}=Dq(),zBe=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(Fq,r.maxLength):Fq;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],o=n,a=n,l=0,c=t.length,u=0,g=0,f,h={},p=()=>t[u++],m=y=>{if(y.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&y.type==="text"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(m({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:"text",value:TBe(o)}]}m({type:"comma",value:f}),o.commas++;continue}if(f===KBe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){m({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){y.pop();let b=y[y.length-1];b.value+=a.value+f,a=b,o.ranges--;continue}m({type:"dot",value:f});continue}m({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(S=>{S.nodes||(S.type==="open"&&(S.isOpen=!0),S.type==="close"&&(S.isClose=!0),S.nodes||(S.type="text"),S.invalid=!0)});let y=s[s.length-1],b=y.nodes.indexOf(o);y.nodes.splice(b,1,...o.nodes)}while(s.length>0);return m({type:"eos"}),n};Rq.exports=zBe});var Kq=w((drt,Oq)=>{"use strict";var Mq=ky(),_Be=vq(),VBe=xq(),XBe=Tq(),es=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=es.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat(es.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};es.parse=(t,e={})=>XBe(t,e);es.stringify=(t,e={})=>typeof t=="string"?Mq(es.parse(t,e),e):Mq(t,e);es.compile=(t,e={})=>(typeof t=="string"&&(t=es.parse(t,e)),_Be(t,e));es.expand=(t,e={})=>{typeof t=="string"&&(t=es.parse(t,e));let r=VBe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};es.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?es.compile(t,e):es.expand(t,e);Oq.exports=es});var Xp=w((Crt,Uq)=>{"use strict";var ZBe=require("path"),jo="\\\\/",Hq=`[^${jo}]`,qa="\\.",$Be="\\+",e0e="\\?",Py="\\/",t0e="(?=.)",Gq="[^/]",xS=`(?:${Py}|$)`,jq=`(?:^|${Py})`,PS=`${qa}{1,2}${xS}`,r0e=`(?!${qa})`,i0e=`(?!${jq}${PS})`,n0e=`(?!${qa}{0,1}${xS})`,s0e=`(?!${PS})`,o0e=`[^.${Py}]`,a0e=`${Gq}*?`,Yq={DOT_LITERAL:qa,PLUS_LITERAL:$Be,QMARK_LITERAL:e0e,SLASH_LITERAL:Py,ONE_CHAR:t0e,QMARK:Gq,END_ANCHOR:xS,DOTS_SLASH:PS,NO_DOT:r0e,NO_DOTS:i0e,NO_DOT_SLASH:n0e,NO_DOTS_SLASH:s0e,QMARK_NO_DOT:o0e,STAR:a0e,START_ANCHOR:jq},A0e=ie(N({},Yq),{SLASH_LITERAL:`[${jo}]`,QMARK:Hq,STAR:`${Hq}*?`,DOTS_SLASH:`${qa}{1,2}(?:[${jo}]|$)`,NO_DOT:`(?!${qa})`,NO_DOTS:`(?!(?:^|[${jo}])${qa}{1,2}(?:[${jo}]|$))`,NO_DOT_SLASH:`(?!${qa}{0,1}(?:[${jo}]|$))`,NO_DOTS_SLASH:`(?!${qa}{1,2}(?:[${jo}]|$))`,QMARK_NO_DOT:`[^.${jo}]`,START_ANCHOR:`(?:^|[${jo}])`,END_ANCHOR:`(?:[${jo}]|$)`}),l0e={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Uq.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:l0e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:ZBe.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?A0e:Yq}}});var Zp=w(kn=>{"use strict";var c0e=require("path"),u0e=process.platform==="win32",{REGEX_BACKSLASH:g0e,REGEX_REMOVE_BACKSLASH:f0e,REGEX_SPECIAL_CHARS:h0e,REGEX_SPECIAL_CHARS_GLOBAL:p0e}=Xp();kn.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);kn.hasRegexChars=t=>h0e.test(t);kn.isRegexChar=t=>t.length===1&&kn.hasRegexChars(t);kn.escapeRegex=t=>t.replace(p0e,"\\$1");kn.toPosixSlashes=t=>t.replace(g0e,"/");kn.removeBackslashes=t=>t.replace(f0e,e=>e==="\\"?"":e);kn.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};kn.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:u0e===!0||c0e.sep==="\\";kn.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?kn.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};kn.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};kn.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var Zq=w((Ert,qq)=>{"use strict";var Jq=Zp(),{CHAR_ASTERISK:DS,CHAR_AT:d0e,CHAR_BACKWARD_SLASH:$p,CHAR_COMMA:C0e,CHAR_DOT:RS,CHAR_EXCLAMATION_MARK:FS,CHAR_FORWARD_SLASH:Wq,CHAR_LEFT_CURLY_BRACE:NS,CHAR_LEFT_PARENTHESES:LS,CHAR_LEFT_SQUARE_BRACKET:m0e,CHAR_PLUS:E0e,CHAR_QUESTION_MARK:zq,CHAR_RIGHT_CURLY_BRACE:I0e,CHAR_RIGHT_PARENTHESES:_q,CHAR_RIGHT_SQUARE_BRACKET:y0e}=Xp(),Vq=t=>t===Wq||t===$p,Xq=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?Infinity:1)},w0e=(t,e)=>{let r=e||{},i=t.length-1,n=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],l=t,c=-1,u=0,g=0,f=!1,h=!1,p=!1,m=!1,y=!1,b=!1,S=!1,k=!1,T=!1,Y=!1,j=0,Z,J,re={value:"",depth:0,isGlob:!1},ee=()=>c>=i,A=()=>l.charCodeAt(c+1),oe=()=>(Z=J,l.charCodeAt(++c));for(;c0&&(X=l.slice(0,u),l=l.slice(u),g-=u),le&&p===!0&&g>0?(le=l.slice(0,g),O=l.slice(g)):p===!0?(le="",O=l):le=l,le&&le!==""&&le!=="/"&&le!==l&&Vq(le.charCodeAt(le.length-1))&&(le=le.slice(0,-1)),r.unescape===!0&&(O&&(O=Jq.removeBackslashes(O)),le&&S===!0&&(le=Jq.removeBackslashes(le)));let L={prefix:X,input:t,start:u,base:le,glob:O,isBrace:f,isBracket:h,isGlob:p,isExtglob:m,isGlobstar:y,negated:k,negatedExtglob:T};if(r.tokens===!0&&(L.maxDepth=0,Vq(J)||o.push(re),L.tokens=o),r.parts===!0||r.tokens===!0){let pe;for(let Ce=0;Ce{"use strict";var Dy=Xp(),ts=Zp(),{MAX_LENGTH:Ry,POSIX_REGEX_SOURCE:B0e,REGEX_NON_SPECIAL_CHARS:b0e,REGEX_SPECIAL_CHARS_BACKREF:Q0e,REPLACEMENTS:eJ}=Dy,v0e=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch(i){return t.map(n=>ts.escapeRegex(n)).join("..")}return r},xg=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,tJ=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=eJ[t]||t;let r=N({},e),i=typeof r.maxLength=="number"?Math.min(Ry,r.maxLength):Ry,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",l=ts.isWindows(e),c=Dy.globChars(l),u=Dy.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:m,NO_DOT:y,NO_DOT_SLASH:b,NO_DOTS_SLASH:S,QMARK:k,QMARK_NO_DOT:T,STAR:Y,START_ANCHOR:j}=c,Z=V=>`(${a}(?:(?!${j}${V.dot?m:g}).)*?)`,J=r.dot?"":y,re=r.dot?k:T,ee=r.bash===!0?Z(r):Y;r.capture&&(ee=`(${ee})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let A={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=ts.removePrefix(t,A),n=t.length;let oe=[],le=[],X=[],O=s,L,pe=()=>A.index===n-1,Ce=A.peek=(V=1)=>t[A.index+V],Oe=A.advance=()=>t[++A.index]||"",te=()=>t.slice(A.index+1),se=(V="",Qe=0)=>{A.consumed+=V,A.index+=Qe},be=V=>{A.output+=V.output!=null?V.output:V.value,se(V.value)},he=()=>{let V=1;for(;Ce()==="!"&&(Ce(2)!=="("||Ce(3)==="?");)Oe(),A.start++,V++;return V%2==0?!1:(A.negated=!0,A.start++,!0)},Fe=V=>{A[V]++,X.push(V)},Ue=V=>{A[V]--,X.pop()},xe=V=>{if(O.type==="globstar"){let Qe=A.braces>0&&(V.type==="comma"||V.type==="brace"),ce=V.extglob===!0||oe.length&&(V.type==="pipe"||V.type==="paren");V.type!=="slash"&&V.type!=="paren"&&!Qe&&!ce&&(A.output=A.output.slice(0,-O.output.length),O.type="star",O.value="*",O.output=ee,A.output+=O.output)}if(oe.length&&V.type!=="paren"&&(oe[oe.length-1].inner+=V.value),(V.value||V.output)&&be(V),O&&O.type==="text"&&V.type==="text"){O.value+=V.value,O.output=(O.output||"")+V.value;return}V.prev=O,o.push(V),O=V},Se=(V,Qe)=>{let ce=ie(N({},u[Qe]),{conditions:1,inner:""});ce.prev=O,ce.parens=A.parens,ce.output=A.output;let fe=(r.capture?"(":"")+ce.open;Fe("parens"),xe({type:V,value:Qe,output:A.output?"":p}),xe({type:"paren",extglob:!0,value:Oe(),output:fe}),oe.push(ce)},de=V=>{let Qe=V.close+(r.capture?")":""),ce;if(V.type==="negate"){let fe=ee;V.inner&&V.inner.length>1&&V.inner.includes("/")&&(fe=Z(r)),(fe!==ee||pe()||/^\)+$/.test(te()))&&(Qe=V.close=`)$))${fe}`),V.inner.includes("*")&&(ce=te())&&/^\.[^\\/.]+$/.test(ce)&&(Qe=V.close=`)${ce})${fe})`),V.prev.type==="bos"&&(A.negatedExtglob=!0)}xe({type:"paren",extglob:!0,value:L,output:Qe}),Ue("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let V=!1,Qe=t.replace(Q0e,(ce,fe,gt,Ht,Mt,mi)=>Ht==="\\"?(V=!0,ce):Ht==="?"?fe?fe+Ht+(Mt?k.repeat(Mt.length):""):mi===0?re+(Mt?k.repeat(Mt.length):""):k.repeat(gt.length):Ht==="."?g.repeat(gt.length):Ht==="*"?fe?fe+Ht+(Mt?ee:""):ee:fe?ce:`\\${ce}`);return V===!0&&(r.unescape===!0?Qe=Qe.replace(/\\/g,""):Qe=Qe.replace(/\\+/g,ce=>ce.length%2==0?"\\\\":ce?"\\":"")),Qe===t&&r.contains===!0?(A.output=t,A):(A.output=ts.wrapOutput(Qe,A,e),A)}for(;!pe();){if(L=Oe(),L==="\0")continue;if(L==="\\"){let ce=Ce();if(ce==="/"&&r.bash!==!0||ce==="."||ce===";")continue;if(!ce){L+="\\",xe({type:"text",value:L});continue}let fe=/^\\+/.exec(te()),gt=0;if(fe&&fe[0].length>2&&(gt=fe[0].length,A.index+=gt,gt%2!=0&&(L+="\\")),r.unescape===!0?L=Oe():L+=Oe(),A.brackets===0){xe({type:"text",value:L});continue}}if(A.brackets>0&&(L!=="]"||O.value==="["||O.value==="[^")){if(r.posix!==!1&&L===":"){let ce=O.value.slice(1);if(ce.includes("[")&&(O.posix=!0,ce.includes(":"))){let fe=O.value.lastIndexOf("["),gt=O.value.slice(0,fe),Ht=O.value.slice(fe+2),Mt=B0e[Ht];if(Mt){O.value=gt+Mt,A.backtrack=!0,Oe(),!s.output&&o.indexOf(O)===1&&(s.output=p);continue}}}(L==="["&&Ce()!==":"||L==="-"&&Ce()==="]")&&(L=`\\${L}`),L==="]"&&(O.value==="["||O.value==="[^")&&(L=`\\${L}`),r.posix===!0&&L==="!"&&O.value==="["&&(L="^"),O.value+=L,be({value:L});continue}if(A.quotes===1&&L!=='"'){L=ts.escapeRegex(L),O.value+=L,be({value:L});continue}if(L==='"'){A.quotes=A.quotes===1?0:1,r.keepQuotes===!0&&xe({type:"text",value:L});continue}if(L==="("){Fe("parens"),xe({type:"paren",value:L});continue}if(L===")"){if(A.parens===0&&r.strictBrackets===!0)throw new SyntaxError(xg("opening","("));let ce=oe[oe.length-1];if(ce&&A.parens===ce.parens+1){de(oe.pop());continue}xe({type:"paren",value:L,output:A.parens?")":"\\)"}),Ue("parens");continue}if(L==="["){if(r.nobracket===!0||!te().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(xg("closing","]"));L=`\\${L}`}else Fe("brackets");xe({type:"bracket",value:L});continue}if(L==="]"){if(r.nobracket===!0||O&&O.type==="bracket"&&O.value.length===1){xe({type:"text",value:L,output:`\\${L}`});continue}if(A.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(xg("opening","["));xe({type:"text",value:L,output:`\\${L}`});continue}Ue("brackets");let ce=O.value.slice(1);if(O.posix!==!0&&ce[0]==="^"&&!ce.includes("/")&&(L=`/${L}`),O.value+=L,be({value:L}),r.literalBrackets===!1||ts.hasRegexChars(ce))continue;let fe=ts.escapeRegex(O.value);if(A.output=A.output.slice(0,-O.value.length),r.literalBrackets===!0){A.output+=fe,O.value=fe;continue}O.value=`(${a}${fe}|${O.value})`,A.output+=O.value;continue}if(L==="{"&&r.nobrace!==!0){Fe("braces");let ce={type:"brace",value:L,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};le.push(ce),xe(ce);continue}if(L==="}"){let ce=le[le.length-1];if(r.nobrace===!0||!ce){xe({type:"text",value:L,output:L});continue}let fe=")";if(ce.dots===!0){let gt=o.slice(),Ht=[];for(let Mt=gt.length-1;Mt>=0&&(o.pop(),gt[Mt].type!=="brace");Mt--)gt[Mt].type!=="dots"&&Ht.unshift(gt[Mt].value);fe=v0e(Ht,r),A.backtrack=!0}if(ce.comma!==!0&&ce.dots!==!0){let gt=A.output.slice(0,ce.outputIndex),Ht=A.tokens.slice(ce.tokensIndex);ce.value=ce.output="\\{",L=fe="\\}",A.output=gt;for(let Mt of Ht)A.output+=Mt.output||Mt.value}xe({type:"brace",value:L,output:fe}),Ue("braces"),le.pop();continue}if(L==="|"){oe.length>0&&oe[oe.length-1].conditions++,xe({type:"text",value:L});continue}if(L===","){let ce=L,fe=le[le.length-1];fe&&X[X.length-1]==="braces"&&(fe.comma=!0,ce="|"),xe({type:"comma",value:L,output:ce});continue}if(L==="/"){if(O.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),O=s;continue}xe({type:"slash",value:L,output:h});continue}if(L==="."){if(A.braces>0&&O.type==="dot"){O.value==="."&&(O.output=g);let ce=le[le.length-1];O.type="dots",O.output+=L,O.value+=L,ce.dots=!0;continue}if(A.braces+A.parens===0&&O.type!=="bos"&&O.type!=="slash"){xe({type:"text",value:L,output:g});continue}xe({type:"dot",value:L,output:g});continue}if(L==="?"){if(!(O&&O.value==="(")&&r.noextglob!==!0&&Ce()==="("&&Ce(2)!=="?"){Se("qmark",L);continue}if(O&&O.type==="paren"){let fe=Ce(),gt=L;if(fe==="<"&&!ts.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(O.value==="("&&!/[!=<:]/.test(fe)||fe==="<"&&!/<([!=]|\w+>)/.test(te()))&&(gt=`\\${L}`),xe({type:"text",value:L,output:gt});continue}if(r.dot!==!0&&(O.type==="slash"||O.type==="bos")){xe({type:"qmark",value:L,output:T});continue}xe({type:"qmark",value:L,output:k});continue}if(L==="!"){if(r.noextglob!==!0&&Ce()==="("&&(Ce(2)!=="?"||!/[!=<:]/.test(Ce(3)))){Se("negate",L);continue}if(r.nonegate!==!0&&A.index===0){he();continue}}if(L==="+"){if(r.noextglob!==!0&&Ce()==="("&&Ce(2)!=="?"){Se("plus",L);continue}if(O&&O.value==="("||r.regex===!1){xe({type:"plus",value:L,output:f});continue}if(O&&(O.type==="bracket"||O.type==="paren"||O.type==="brace")||A.parens>0){xe({type:"plus",value:L});continue}xe({type:"plus",value:f});continue}if(L==="@"){if(r.noextglob!==!0&&Ce()==="("&&Ce(2)!=="?"){xe({type:"at",extglob:!0,value:L,output:""});continue}xe({type:"text",value:L});continue}if(L!=="*"){(L==="$"||L==="^")&&(L=`\\${L}`);let ce=b0e.exec(te());ce&&(L+=ce[0],A.index+=ce[0].length),xe({type:"text",value:L});continue}if(O&&(O.type==="globstar"||O.star===!0)){O.type="star",O.star=!0,O.value+=L,O.output=ee,A.backtrack=!0,A.globstar=!0,se(L);continue}let V=te();if(r.noextglob!==!0&&/^\([^?]/.test(V)){Se("star",L);continue}if(O.type==="star"){if(r.noglobstar===!0){se(L);continue}let ce=O.prev,fe=ce.prev,gt=ce.type==="slash"||ce.type==="bos",Ht=fe&&(fe.type==="star"||fe.type==="globstar");if(r.bash===!0&&(!gt||V[0]&&V[0]!=="/")){xe({type:"star",value:L,output:""});continue}let Mt=A.braces>0&&(ce.type==="comma"||ce.type==="brace"),mi=oe.length&&(ce.type==="pipe"||ce.type==="paren");if(!gt&&ce.type!=="paren"&&!Mt&&!mi){xe({type:"star",value:L,output:""});continue}for(;V.slice(0,3)==="/**";){let Gt=t[A.index+4];if(Gt&&Gt!=="/")break;V=V.slice(3),se("/**",3)}if(ce.type==="bos"&&pe()){O.type="globstar",O.value+=L,O.output=Z(r),A.output=O.output,A.globstar=!0,se(L);continue}if(ce.type==="slash"&&ce.prev.type!=="bos"&&!Ht&&pe()){A.output=A.output.slice(0,-(ce.output+O.output).length),ce.output=`(?:${ce.output}`,O.type="globstar",O.output=Z(r)+(r.strictSlashes?")":"|$)"),O.value+=L,A.globstar=!0,A.output+=ce.output+O.output,se(L);continue}if(ce.type==="slash"&&ce.prev.type!=="bos"&&V[0]==="/"){let Gt=V[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ce.output+O.output).length),ce.output=`(?:${ce.output}`,O.type="globstar",O.output=`${Z(r)}${h}|${h}${Gt})`,O.value+=L,A.output+=ce.output+O.output,A.globstar=!0,se(L+Oe()),xe({type:"slash",value:"/",output:""});continue}if(ce.type==="bos"&&V[0]==="/"){O.type="globstar",O.value+=L,O.output=`(?:^|${h}|${Z(r)}${h})`,A.output=O.output,A.globstar=!0,se(L+Oe()),xe({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-O.output.length),O.type="globstar",O.output=Z(r),O.value+=L,A.output+=O.output,A.globstar=!0,se(L);continue}let Qe={type:"star",value:L,output:ee};if(r.bash===!0){Qe.output=".*?",(O.type==="bos"||O.type==="slash")&&(Qe.output=J+Qe.output),xe(Qe);continue}if(O&&(O.type==="bracket"||O.type==="paren")&&r.regex===!0){Qe.output=L,xe(Qe);continue}(A.index===A.start||O.type==="slash"||O.type==="dot")&&(O.type==="dot"?(A.output+=b,O.output+=b):r.dot===!0?(A.output+=S,O.output+=S):(A.output+=J,O.output+=J),Ce()!=="*"&&(A.output+=p,O.output+=p)),xe(Qe)}for(;A.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(xg("closing","]"));A.output=ts.escapeLast(A.output,"["),Ue("brackets")}for(;A.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(xg("closing",")"));A.output=ts.escapeLast(A.output,"("),Ue("parens")}for(;A.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(xg("closing","}"));A.output=ts.escapeLast(A.output,"{"),Ue("braces")}if(r.strictSlashes!==!0&&(O.type==="star"||O.type==="bracket")&&xe({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let V of A.tokens)A.output+=V.output!=null?V.output:V.value,V.suffix&&(A.output+=V.suffix)}return A};tJ.fastpaths=(t,e)=>{let r=N({},e),i=typeof r.maxLength=="number"?Math.min(Ry,r.maxLength):Ry,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=eJ[t]||t;let s=ts.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=Dy.globChars(s),m=r.dot?g:u,y=r.dot?f:u,b=r.capture?"":"?:",S={negated:!1,prefix:""},k=r.bash===!0?".*?":h;r.capture&&(k=`(${k})`);let T=J=>J.noglobstar===!0?k:`(${b}(?:(?!${p}${J.dot?c:o}).)*?)`,Y=J=>{switch(J){case"*":return`${m}${l}${k}`;case".*":return`${o}${l}${k}`;case"*.*":return`${m}${k}${o}${l}${k}`;case"*/*":return`${m}${k}${a}${l}${y}${k}`;case"**":return m+T(r);case"**/*":return`(?:${m}${T(r)}${a})?${y}${l}${k}`;case"**/*.*":return`(?:${m}${T(r)}${a})?${y}${k}${o}${l}${k}`;case"**/.*":return`(?:${m}${T(r)}${a})?${o}${l}${k}`;default:{let re=/^(.*?)\.(\w+)$/.exec(J);if(!re)return;let ee=Y(re[1]);return ee?ee+o+re[2]:void 0}}},j=ts.removePrefix(t,S),Z=Y(j);return Z&&r.strictSlashes!==!0&&(Z+=`${a}?`),Z};$q.exports=tJ});var nJ=w((yrt,iJ)=>{"use strict";var S0e=require("path"),k0e=Zq(),TS=rJ(),OS=Zp(),x0e=Xp(),P0e=t=>t&&typeof t=="object"&&!Array.isArray(t),_r=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(f=>_r(f,e,r));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=P0e(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=OS.isWindows(e),o=i?_r.compileRe(t,e):_r.makeRe(t,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=ie(N({},e),{ignore:null,onMatch:null,onResult:null});l=_r(n.ignore,u,r)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=_r.test(u,o,e,{glob:t,posix:s}),m={glob:t,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(m),f===!1?(m.isMatch=!1,g?m:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(m),m.isMatch=!1,g?m:!1):(typeof n.onMatch=="function"&&n.onMatch(m),g?m:!0)};return r&&(c.state=a),c};_r.test=(t,e,r,{glob:i,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(n?OS.toPosixSlashes:null),a=t===i,l=a&&o?o(t):t;return a===!1&&(l=o?o(t):t,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=_r.matchBase(t,e,r,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};_r.matchBase=(t,e,r,i=OS.isWindows(r))=>(e instanceof RegExp?e:_r.makeRe(e,r)).test(S0e.basename(t));_r.isMatch=(t,e,r)=>_r(e,r)(t);_r.parse=(t,e)=>Array.isArray(t)?t.map(r=>_r.parse(r,e)):TS(t,ie(N({},e),{fastpaths:!1}));_r.scan=(t,e)=>k0e(t,e);_r.compileRe=(t,e,r=!1,i=!1)=>{if(r===!0)return t.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let l=_r.toRegex(a,e);return i===!0&&(l.state=t),l};_r.makeRe=(t,e={},r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(n.output=TS.fastpaths(t,e)),n.output||(n=TS(t,e)),_r.compileRe(n,e,r,i)};_r.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};_r.constants=x0e;iJ.exports=_r});var MS=w((wrt,sJ)=>{"use strict";sJ.exports=nJ()});var rs=w((Brt,oJ)=>{"use strict";var aJ=require("util"),AJ=Kq(),Yo=MS(),KS=Zp(),lJ=t=>t===""||t==="./",Pr=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),r&&r.onResult&&r.onResult(u)};for(let u=0;u!i.has(u));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Pr.match=Pr;Pr.matcher=(t,e)=>Yo(t,e);Pr.isMatch=(t,e,r)=>Yo(e,r)(t);Pr.any=Pr.isMatch;Pr.not=(t,e,r={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=a=>{r.onResult&&r.onResult(a),n.push(a.output)},o=Pr(t,e,ie(N({},r),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};Pr.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${aJ.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>Pr.contains(t,i,r));if(typeof e=="string"){if(lJ(t)||lJ(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return Pr.isMatch(t,e,ie(N({},r),{contains:!0}))};Pr.matchKeys=(t,e,r)=>{if(!KS.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=Pr(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};Pr.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=Yo(String(n),r);if(i.some(o=>s(o)))return!0}return!1};Pr.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=Yo(String(n),r);if(!i.every(o=>s(o)))return!1}return!0};Pr.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${aJ.inspect(t)}"`);return[].concat(e).every(i=>Yo(i,r)(t))};Pr.capture=(t,e,r)=>{let i=KS.isWindows(r),s=Yo.makeRe(String(t),ie(N({},r),{capture:!0})).exec(i?KS.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Pr.makeRe=(...t)=>Yo.makeRe(...t);Pr.scan=(...t)=>Yo.scan(...t);Pr.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of AJ(String(i),e))r.push(Yo.parse(n,e));return r};Pr.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:AJ(t,e)};Pr.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return Pr.braces(t,ie(N({},e),{expand:!0}))};oJ.exports=Pr});var uJ=w((brt,cJ)=>{"use strict";cJ.exports=({onlyFirst:t=!1}={})=>{let e=["[\\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(e,t?void 0:"g")}});var fJ=w((Qrt,gJ)=>{"use strict";var D0e=uJ();gJ.exports=t=>typeof t=="string"?t.replace(D0e(),""):t});var xJ=w((jrt,kJ)=>{"use strict";kJ.exports=(...t)=>[...new Set([].concat(...t))]});var ek=w((Yrt,PJ)=>{"use strict";var j0e=require("stream"),DJ=j0e.PassThrough,Y0e=Array.prototype.slice;PJ.exports=q0e;function q0e(){let t=[],e=!1,r=Y0e.call(arguments),i=r[r.length-1];i&&!Array.isArray(i)&&i.pipe==null?r.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=DJ(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(Oy,"__esModule",{value:!0});function J0e(t){return t.reduce((e,r)=>[].concat(e,r),[])}Oy.flatten=J0e;function W0e(t,e){let r=[[]],i=0;for(let n of t)e(n)?(i++,r[i]=[]):r[i].push(n);return r}Oy.splitWhen=W0e});var NJ=w(tk=>{"use strict";Object.defineProperty(tk,"__esModule",{value:!0});function z0e(t){return t.code==="ENOENT"}tk.isEnoentCodeError=z0e});var TJ=w(rk=>{"use strict";Object.defineProperty(rk,"__esModule",{value:!0});var LJ=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function _0e(t,e){return new LJ(t,e)}rk.createDirentFromStats=_0e});var OJ=w(Tg=>{"use strict";Object.defineProperty(Tg,"__esModule",{value:!0});var V0e=require("path"),X0e=2,Z0e=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function $0e(t){return t.replace(/\\/g,"/")}Tg.unixify=$0e;function ebe(t,e){return V0e.resolve(t,e)}Tg.makeAbsolute=ebe;function tbe(t){return t.replace(Z0e,"\\$2")}Tg.escape=tbe;function rbe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(X0e)}return t}Tg.removeLeadingDotSegment=rbe});var KJ=w((_rt,MJ)=>{MJ.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var GJ=w((Vrt,UJ)=>{var ibe=KJ(),HJ={"{":"}","(":")","[":"]"},nbe=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,i=-2,n=-2,s=-2,o=-2;ee&&(o===-1||o>i||(o=t.indexOf("\\",e),o===-1||o>i)))||n!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(n=t.indexOf("}",e),n>e&&(o=t.indexOf("\\",e),o===-1||o>n))||s!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(s=t.indexOf(")",e),s>e&&(o=t.indexOf("\\",e),o===-1||o>s))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(rr&&(o=t.indexOf("\\",r),o===-1||o>s))))return!0;if(t[e]==="\\"){var a=t[e+1];e+=2;var l=HJ[a];if(l){var c=t.indexOf(l,e);c!==-1&&(e=c+1)}if(t[e]==="!")return!0}else e++}return!1},sbe=function(t){if(t[0]==="!")return!0;for(var e=0;e{"use strict";var obe=GJ(),abe=require("path").posix.dirname,Abe=require("os").platform()==="win32",ik="/",lbe=/\\/g,cbe=/[\{\[].*[\}\]]$/,ube=/(^|[^\\])([\{\[]|\([^\)]+$)/,gbe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;jJ.exports=function(e,r){var i=Object.assign({flipBackslashes:!0},r);i.flipBackslashes&&Abe&&e.indexOf(ik)<0&&(e=e.replace(lbe,ik)),cbe.test(e)&&(e+=ik),e+="a";do e=abe(e);while(obe(e)||ube.test(e));return e.replace(gbe,"$1")}});var $J=w(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});var fbe=require("path"),hbe=YJ(),qJ=rs(),pbe=MS(),JJ="**",dbe="\\",Cbe=/[*?]|^!/,mbe=/\[.*]/,Ebe=/(?:^|[^!*+?@])\(.*\|.*\)/,Ibe=/[!*+?@]\(.*\)/,ybe=/{.*(?:,|\.\.).*}/;function zJ(t,e={}){return!WJ(t,e)}si.isStaticPattern=zJ;function WJ(t,e={}){return!!(e.caseSensitiveMatch===!1||t.includes(dbe)||Cbe.test(t)||mbe.test(t)||Ebe.test(t)||e.extglob!==!1&&Ibe.test(t)||e.braceExpansion!==!1&&ybe.test(t))}si.isDynamicPattern=WJ;function wbe(t){return My(t)?t.slice(1):t}si.convertToPositivePattern=wbe;function Bbe(t){return"!"+t}si.convertToNegativePattern=Bbe;function My(t){return t.startsWith("!")&&t[1]!=="("}si.isNegativePattern=My;function _J(t){return!My(t)}si.isPositivePattern=_J;function bbe(t){return t.filter(My)}si.getNegativePatterns=bbe;function Qbe(t){return t.filter(_J)}si.getPositivePatterns=Qbe;function vbe(t){return hbe(t,{flipBackslashes:!1})}si.getBaseDirectory=vbe;function Sbe(t){return t.includes(JJ)}si.hasGlobStar=Sbe;function VJ(t){return t.endsWith("/"+JJ)}si.endsWithSlashGlobStar=VJ;function kbe(t){let e=fbe.basename(t);return VJ(t)||zJ(e)}si.isAffectDepthOfReadingPattern=kbe;function xbe(t){return t.reduce((e,r)=>e.concat(XJ(r)),[])}si.expandPatternsWithBraceExpansion=xbe;function XJ(t){return qJ.braces(t,{expand:!0,nodupes:!0})}si.expandBraceExpansion=XJ;function Pbe(t,e){let r=pbe.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.parts.length===0?[t]:r.parts}si.getPatternParts=Pbe;function ZJ(t,e){return qJ.makeRe(t,e)}si.makeRe=ZJ;function Dbe(t,e){return t.map(r=>ZJ(r,e))}si.convertPatternsToRe=Dbe;function Rbe(t,e){return e.some(r=>r.test(t))}si.matchAny=Rbe});var t3=w(nk=>{"use strict";Object.defineProperty(nk,"__esModule",{value:!0});var Fbe=ek();function Nbe(t){let e=Fbe(t);return t.forEach(r=>{r.once("error",i=>e.emit("error",i))}),e.once("close",()=>e3(t)),e.once("end",()=>e3(t)),e}nk.merge=Nbe;function e3(t){t.forEach(e=>e.emit("close"))}});var r3=w(Ky=>{"use strict";Object.defineProperty(Ky,"__esModule",{value:!0});function Lbe(t){return typeof t=="string"}Ky.isString=Lbe;function Tbe(t){return t===""}Ky.isEmpty=Tbe});var za=w(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});var Obe=FJ();Wa.array=Obe;var Mbe=NJ();Wa.errno=Mbe;var Kbe=TJ();Wa.fs=Kbe;var Ube=OJ();Wa.path=Ube;var Hbe=$J();Wa.pattern=Hbe;var Gbe=t3();Wa.stream=Gbe;var jbe=r3();Wa.string=jbe});var a3=w(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});var Fc=za();function Ybe(t,e){let r=i3(t),i=n3(t,e.ignore),n=r.filter(l=>Fc.pattern.isStaticPattern(l,e)),s=r.filter(l=>Fc.pattern.isDynamicPattern(l,e)),o=sk(n,i,!1),a=sk(s,i,!0);return o.concat(a)}_a.generate=Ybe;function sk(t,e,r){let i=s3(t);return"."in i?[ok(".",t,e,r)]:o3(i,e,r)}_a.convertPatternsToTasks=sk;function i3(t){return Fc.pattern.getPositivePatterns(t)}_a.getPositivePatterns=i3;function n3(t,e){return Fc.pattern.getNegativePatterns(t).concat(e).map(Fc.pattern.convertToPositivePattern)}_a.getNegativePatternsAsPositive=n3;function s3(t){let e={};return t.reduce((r,i)=>{let n=Fc.pattern.getBaseDirectory(i);return n in r?r[n].push(i):r[n]=[i],r},e)}_a.groupPatternsByBaseDirectory=s3;function o3(t,e,r){return Object.keys(t).map(i=>ok(i,t[i],e,r))}_a.convertPatternGroupsToTasks=o3;function ok(t,e,r,i){return{dynamic:i,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Fc.pattern.convertToNegativePattern))}}_a.convertPatternGroupToTask=ok});var l3=w(Uy=>{"use strict";Object.defineProperty(Uy,"__esModule",{value:!0});Uy.read=void 0;function qbe(t,e,r){e.fs.lstat(t,(i,n)=>{if(i!==null){A3(r,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){ak(r,n);return}e.fs.stat(t,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){A3(r,s);return}ak(r,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),ak(r,o)})})}Uy.read=qbe;function A3(t,e){t(e)}function ak(t,e){t(null,e)}});var c3=w(Hy=>{"use strict";Object.defineProperty(Hy,"__esModule",{value:!0});Hy.read=void 0;function Jbe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let i=e.fs.statSync(t);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw i}}Hy.read=Jbe});var u3=w(ZA=>{"use strict";Object.defineProperty(ZA,"__esModule",{value:!0});ZA.createFileSystemAdapter=ZA.FILE_SYSTEM_ADAPTER=void 0;var Gy=require("fs");ZA.FILE_SYSTEM_ADAPTER={lstat:Gy.lstat,stat:Gy.stat,lstatSync:Gy.lstatSync,statSync:Gy.statSync};function Wbe(t){return t===void 0?ZA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},ZA.FILE_SYSTEM_ADAPTER),t)}ZA.createFileSystemAdapter=Wbe});var f3=w(Ak=>{"use strict";Object.defineProperty(Ak,"__esModule",{value:!0});var zbe=u3(),g3=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=zbe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e!=null?e:r}};Ak.default=g3});var Nc=w($A=>{"use strict";Object.defineProperty($A,"__esModule",{value:!0});$A.statSync=$A.stat=$A.Settings=void 0;var h3=l3(),_be=c3(),lk=f3();$A.Settings=lk.default;function Vbe(t,e,r){if(typeof e=="function"){h3.read(t,ck(),e);return}h3.read(t,ck(e),r)}$A.stat=Vbe;function Xbe(t,e){let r=ck(e);return _be.read(t,r)}$A.statSync=Xbe;function ck(t={}){return t instanceof lk.default?t:new lk.default(t)}});var d3=w((Ait,p3)=>{p3.exports=Zbe;function Zbe(t,e){var r,i,n,s=!0;Array.isArray(t)?(r=[],i=t.length):(n=Object.keys(t),r={},i=n.length);function o(l){function c(){e&&e(l,r),e=null}s?process.nextTick(c):c()}function a(l,c,u){r[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){t[l](function(c,u){a(l,c,u)})}):t.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var uk=w(jy=>{"use strict";Object.defineProperty(jy,"__esModule",{value:!0});jy.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var Yy=process.versions.node.split(".");if(Yy[0]===void 0||Yy[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var C3=Number.parseInt(Yy[0],10),$be=Number.parseInt(Yy[1],10),m3=10,eQe=10,tQe=C3>m3,rQe=C3===m3&&$be>=eQe;jy.IS_SUPPORT_READDIR_WITH_FILE_TYPES=tQe||rQe});var I3=w(qy=>{"use strict";Object.defineProperty(qy,"__esModule",{value:!0});qy.createDirentFromStats=void 0;var E3=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function iQe(t,e){return new E3(t,e)}qy.createDirentFromStats=iQe});var gk=w(Jy=>{"use strict";Object.defineProperty(Jy,"__esModule",{value:!0});Jy.fs=void 0;var nQe=I3();Jy.fs=nQe});var fk=w(Wy=>{"use strict";Object.defineProperty(Wy,"__esModule",{value:!0});Wy.joinPathSegments=void 0;function sQe(t,e,r){return t.endsWith(r)?t+e:t+r+e}Wy.joinPathSegments=sQe});var v3=w(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.readdir=el.readdirWithFileTypes=el.read=void 0;var oQe=Nc(),y3=d3(),aQe=uk(),w3=gk(),B3=fk();function AQe(t,e,r){if(!e.stats&&aQe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){b3(t,e,r);return}Q3(t,e,r)}el.read=AQe;function b3(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(i,n)=>{if(i!==null){zy(r,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:B3.joinPathSegments(t,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){hk(r,s);return}let o=s.map(a=>lQe(a,e));y3(o,(a,l)=>{if(a!==null){zy(r,a);return}hk(r,l)})})}el.readdirWithFileTypes=b3;function lQe(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){r(i);return}r(null,t);return}t.dirent=w3.fs.createDirentFromStats(t.name,n),r(null,t)})}}function Q3(t,e,r){e.fs.readdir(t,(i,n)=>{if(i!==null){zy(r,i);return}let s=n.map(o=>{let a=B3.joinPathSegments(t,o,e.pathSegmentSeparator);return l=>{oQe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:w3.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});y3(s,(o,a)=>{if(o!==null){zy(r,o);return}hk(r,a)})})}el.readdir=Q3;function zy(t,e){t(e)}function hk(t,e){t(null,e)}});var D3=w(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});tl.readdir=tl.readdirWithFileTypes=tl.read=void 0;var cQe=Nc(),uQe=uk(),S3=gk(),k3=fk();function gQe(t,e){return!e.stats&&uQe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?x3(t,e):P3(t,e)}tl.read=gQe;function x3(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:k3.joinPathSegments(t,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=S3.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}tl.readdirWithFileTypes=x3;function P3(t,e){return e.fs.readdirSync(t).map(i=>{let n=k3.joinPathSegments(t,i,e.pathSegmentSeparator),s=cQe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:S3.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}tl.readdir=P3});var R3=w(rl=>{"use strict";Object.defineProperty(rl,"__esModule",{value:!0});rl.createFileSystemAdapter=rl.FILE_SYSTEM_ADAPTER=void 0;var Og=require("fs");rl.FILE_SYSTEM_ADAPTER={lstat:Og.lstat,stat:Og.stat,lstatSync:Og.lstatSync,statSync:Og.statSync,readdir:Og.readdir,readdirSync:Og.readdirSync};function fQe(t){return t===void 0?rl.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},rl.FILE_SYSTEM_ADAPTER),t)}rl.createFileSystemAdapter=fQe});var N3=w(pk=>{"use strict";Object.defineProperty(pk,"__esModule",{value:!0});var hQe=require("path"),pQe=Nc(),dQe=R3(),F3=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=dQe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,hQe.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new pQe.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};pk.default=F3});var _y=w(il=>{"use strict";Object.defineProperty(il,"__esModule",{value:!0});il.Settings=il.scandirSync=il.scandir=void 0;var L3=v3(),CQe=D3(),dk=N3();il.Settings=dk.default;function mQe(t,e,r){if(typeof e=="function"){L3.read(t,Ck(),e);return}L3.read(t,Ck(e),r)}il.scandir=mQe;function EQe(t,e){let r=Ck(e);return CQe.read(t,r)}il.scandirSync=EQe;function Ck(t={}){return t instanceof dk.default?t:new dk.default(t)}});var O3=w((mit,T3)=>{"use strict";function IQe(t){var e=new t,r=e;function i(){var s=e;return s.next?e=s.next:(e=new t,r=e),s.next=null,s}function n(s){r.next=s,r=s}return{get:i,release:n}}T3.exports=IQe});var K3=w((Eit,mk)=>{"use strict";var yQe=O3();function M3(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var i=yQe(wQe),n=null,s=null,o=0,a=null,l={push:m,drain:Wo,saturated:Wo,pause:u,paused:!1,concurrency:r,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:y,empty:Wo,kill:S,killAndDrain:k,error:T};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var Y=n,j=0;Y;)Y=Y.next,j++;return j}function f(){for(var Y=n,j=[];Y;)j.push(Y.value),Y=Y.next;return j}function h(){if(!!l.paused){l.paused=!1;for(var Y=0;Y{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.joinPathSegments=zo.replacePathSegmentSeparator=zo.isAppliedFilter=zo.isFatalError=void 0;function bQe(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}zo.isFatalError=bQe;function QQe(t,e){return t===null||t(e)}zo.isAppliedFilter=QQe;function vQe(t,e){return t.split(/[/\\]/).join(e)}zo.replacePathSegmentSeparator=vQe;function SQe(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}zo.joinPathSegments=SQe});var Ik=w(Ek=>{"use strict";Object.defineProperty(Ek,"__esModule",{value:!0});var kQe=Vy(),U3=class{constructor(e,r){this._root=e,this._settings=r,this._root=kQe.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};Ek.default=U3});var wk=w(yk=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});var xQe=require("events"),PQe=_y(),DQe=K3(),Xy=Vy(),RQe=Ik(),H3=class extends RQe.default{constructor(e,r){super(e,r);this._settings=r,this._scandir=PQe.scandir,this._emitter=new xQe.EventEmitter,this._queue=DQe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let i={directory:e,base:r};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){r(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!Xy.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let i=e.path;r!==void 0&&(e.path=Xy.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Xy.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&Xy.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};yk.default=H3});var j3=w(Bk=>{"use strict";Object.defineProperty(Bk,"__esModule",{value:!0});var FQe=wk(),G3=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new FQe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{NQe(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{LQe(e,[...this._storage])}),this._reader.read()}};Bk.default=G3;function NQe(t,e){t(e)}function LQe(t,e){t(null,e)}});var q3=w(bk=>{"use strict";Object.defineProperty(bk,"__esModule",{value:!0});var TQe=require("stream"),OQe=wk(),Y3=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new OQe.default(this._root,this._settings),this._stream=new TQe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};bk.default=Y3});var W3=w(Qk=>{"use strict";Object.defineProperty(Qk,"__esModule",{value:!0});var MQe=_y(),Zy=Vy(),KQe=Ik(),J3=class extends KQe.default{constructor(){super(...arguments);this._scandir=MQe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,r)}catch(i){this._handleError(i)}}_handleError(e){if(!!Zy.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let i=e.path;r!==void 0&&(e.path=Zy.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Zy.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&Zy.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};Qk.default=J3});var _3=w(vk=>{"use strict";Object.defineProperty(vk,"__esModule",{value:!0});var UQe=W3(),z3=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new UQe.default(this._root,this._settings)}read(){return this._reader.read()}};vk.default=z3});var X3=w(Sk=>{"use strict";Object.defineProperty(Sk,"__esModule",{value:!0});var HQe=require("path"),GQe=_y(),V3=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,HQe.sep),this.fsScandirSettings=new GQe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};Sk.default=V3});var xk=w(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.Settings=_o.walkStream=_o.walkSync=_o.walk=void 0;var Z3=j3(),jQe=q3(),YQe=_3(),kk=X3();_o.Settings=kk.default;function qQe(t,e,r){if(typeof e=="function"){new Z3.default(t,$y()).read(e);return}new Z3.default(t,$y(e)).read(r)}_o.walk=qQe;function JQe(t,e){let r=$y(e);return new YQe.default(t,r).read()}_o.walkSync=JQe;function WQe(t,e){let r=$y(e);return new jQe.default(t,r).read()}_o.walkStream=WQe;function $y(t={}){return t instanceof kk.default?t:new kk.default(t)}});var Dk=w(Pk=>{"use strict";Object.defineProperty(Pk,"__esModule",{value:!0});var zQe=require("path"),_Qe=Nc(),$3=za(),eW=class{constructor(e){this._settings=e,this._fsStatSettings=new _Qe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return zQe.resolve(this._settings.cwd,e)}_makeEntry(e,r){let i={name:r,path:r,dirent:$3.fs.createDirentFromStats(r,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!$3.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};Pk.default=eW});var Fk=w(Rk=>{"use strict";Object.defineProperty(Rk,"__esModule",{value:!0});var VQe=require("stream"),XQe=Nc(),ZQe=xk(),$Qe=Dk(),tW=class extends $Qe.default{constructor(){super(...arguments);this._walkStream=ZQe.walkStream,this._stat=XQe.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let i=e.map(this._getFullEntryPath,this),n=new VQe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],r).then(l=>{l!==null&&r.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,r)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((r,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?r(s):i(n))})}};Rk.default=tW});var iW=w(Nk=>{"use strict";Object.defineProperty(Nk,"__esModule",{value:!0});var Mg=za(),rW=class{constructor(e,r,i){this._patterns=e,this._settings=r,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=Mg.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let i=this._getPatternSegments(r),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:r,segments:i,sections:n})}}_getPatternSegments(e){return Mg.pattern.getPatternParts(e,this._micromatchOptions).map(i=>Mg.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:Mg.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return Mg.array.splitWhen(e,r=>r.dynamic&&Mg.pattern.hasGlobStar(r.pattern))}};Nk.default=rW});var sW=w(Lk=>{"use strict";Object.defineProperty(Lk,"__esModule",{value:!0});var eve=iW(),nW=class extends eve.default{match(e){let r=e.split("/"),i=r.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||r.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};Lk.default=nW});var aW=w(Tk=>{"use strict";Object.defineProperty(Tk,"__esModule",{value:!0});var ew=za(),tve=sW(),oW=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,i){let n=this._getMatcher(r),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new tve.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(ew.pattern.isAffectDepthOfReadingPattern);return ew.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,i,n){let s=this._getEntryLevel(e,r.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(r))return!1;let o=ew.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,r){let i=e.split("/").length;return r.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!ew.pattern.matchAny(e,r)}};Tk.default=oW});var lW=w(Ok=>{"use strict";Object.defineProperty(Ok,"__esModule",{value:!0});var od=za(),AW=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let i=od.pattern.convertPatternsToRe(e,this._micromatchOptions),n=od.pattern.convertPatternsToRe(r,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,r,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,r)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let i=od.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,r)}_isMatchToPatterns(e,r){let i=od.path.removeLeadingDotSegment(e);return od.pattern.matchAny(i,r)}};Ok.default=AW});var uW=w(Mk=>{"use strict";Object.defineProperty(Mk,"__esModule",{value:!0});var rve=za(),cW=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return rve.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};Mk.default=cW});var hW=w(Kk=>{"use strict";Object.defineProperty(Kk,"__esModule",{value:!0});var gW=za(),fW=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=gW.path.makeAbsolute(this._settings.cwd,r),r=gW.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};Kk.default=fW});var tw=w(Uk=>{"use strict";Object.defineProperty(Uk,"__esModule",{value:!0});var ive=require("path"),nve=aW(),sve=lW(),ove=uW(),ave=hW(),pW=class{constructor(e){this._settings=e,this.errorFilter=new ove.default(this._settings),this.entryFilter=new sve.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new nve.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new ave.default(this._settings)}_getRootDirectory(e){return ive.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};Uk.default=pW});var CW=w(Hk=>{"use strict";Object.defineProperty(Hk,"__esModule",{value:!0});var Ave=Fk(),lve=tw(),dW=class extends lve.default{constructor(){super(...arguments);this._reader=new Ave.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(r,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};Hk.default=dW});var EW=w(Gk=>{"use strict";Object.defineProperty(Gk,"__esModule",{value:!0});var cve=require("stream"),uve=Fk(),gve=tw(),mW=class extends gve.default{constructor(){super(...arguments);this._reader=new uve.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(r,e,i),s=new cve.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};Gk.default=mW});var yW=w(jk=>{"use strict";Object.defineProperty(jk,"__esModule",{value:!0});var fve=Nc(),hve=xk(),pve=Dk(),IW=class extends pve.default{constructor(){super(...arguments);this._walkSync=hve.walkSync,this._statSync=fve.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,r);o===null||!r.entryFilter(o)||i.push(o)}return i}_getEntry(e,r,i){try{let n=this._getStat(e);return this._makeEntry(n,r)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};jk.default=IW});var BW=w(Yk=>{"use strict";Object.defineProperty(Yk,"__esModule",{value:!0});var dve=yW(),Cve=tw(),wW=class extends Cve.default{constructor(){super(...arguments);this._reader=new dve.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(r,e,i).map(i.transform)}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};Yk.default=wW});var QW=w(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var Kg=require("fs"),mve=require("os"),Eve=mve.cpus().length;ad.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:Kg.lstat,lstatSync:Kg.lstatSync,stat:Kg.stat,statSync:Kg.statSync,readdir:Kg.readdir,readdirSync:Kg.readdirSync};var bW=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,Eve),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},ad.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};ad.default=bW});var rw=w((jit,vW)=>{"use strict";var SW=a3(),Ive=CW(),yve=EW(),wve=BW(),qk=QW(),Lc=za();async function Wk(t,e){Ug(t);let r=Jk(t,Ive.default,e),i=await Promise.all(r);return Lc.array.flatten(i)}(function(t){function e(o,a){Ug(o);let l=Jk(o,wve.default,a);return Lc.array.flatten(l)}t.sync=e;function r(o,a){Ug(o);let l=Jk(o,yve.default,a);return Lc.stream.merge(l)}t.stream=r;function i(o,a){Ug(o);let l=[].concat(o),c=new qk.default(a);return SW.generate(l,c)}t.generateTasks=i;function n(o,a){Ug(o);let l=new qk.default(a);return Lc.pattern.isDynamicPattern(o,l)}t.isDynamicPattern=n;function s(o){return Ug(o),Lc.path.escape(o)}t.escapePath=s})(Wk||(Wk={}));function Jk(t,e,r){let i=[].concat(t),n=new qk.default(r),s=SW.generate(i,n),o=new e(n);return s.map(o.read,o)}function Ug(t){if(![].concat(t).every(i=>Lc.string.isString(i)&&!Lc.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}vW.exports=Wk});var xW=w(Tc=>{"use strict";var{promisify:Bve}=require("util"),kW=require("fs");async function zk(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await Bve(kW[t])(r))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function _k(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return kW[t](r)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}Tc.isFile=zk.bind(null,"stat","isFile");Tc.isDirectory=zk.bind(null,"stat","isDirectory");Tc.isSymlink=zk.bind(null,"lstat","isSymbolicLink");Tc.isFileSync=_k.bind(null,"statSync","isFile");Tc.isDirectorySync=_k.bind(null,"statSync","isDirectory");Tc.isSymlinkSync=_k.bind(null,"lstatSync","isSymbolicLink")});var NW=w((qit,Vk)=>{"use strict";var Oc=require("path"),PW=xW(),DW=t=>t.length>1?`{${t.join(",")}}`:t[0],RW=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return Oc.isAbsolute(r)?r:Oc.join(e,r)},bve=(t,e)=>Oc.extname(t)?`**/${t}`:`**/${t}.${DW(e)}`,FW=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>Oc.posix.join(t,bve(r,e.extensions))):e.files?e.files.map(r=>Oc.posix.join(t,`**/${r}`)):e.extensions?[Oc.posix.join(t,`**/*.${DW(e.extensions)}`)]:[Oc.posix.join(t,"**")]};Vk.exports=async(t,e)=>{if(e=N({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async i=>await PW.isDirectory(RW(i,e.cwd))?FW(i,e):i));return[].concat.apply([],r)};Vk.exports.sync=(t,e)=>{if(e=N({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(i=>PW.isDirectorySync(RW(i,e.cwd))?FW(i,e):i);return[].concat.apply([],r)}});var YW=w((Jit,LW)=>{function TW(t){return Array.isArray(t)?t:[t]}var OW="",MW=" ",Xk="\\",Qve=/^\s+$/,vve=/^\\!/,Sve=/^\\#/,kve=/\r?\n/g,xve=/^\.*\/|^\.+$/,Zk="/",KW=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",Pve=(t,e,r)=>Object.defineProperty(t,e,{value:r}),Dve=/([0-z])-([0-z])/g,Rve=t=>t.replace(Dve,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:OW),Fve=t=>{let{length:e}=t;return t.slice(0,e-e%2)},Nve=[[/\\?\s+$/,t=>t.indexOf("\\")===0?MW:OW],[/\\\s/g,()=>MW],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>Xk],[/\\\\/g,()=>Xk],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,r,i,n)=>e===Xk?`\\[${r}${Fve(i)}${n}`:n==="]"&&i.length%2==0?`[${Rve(r)}${i}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],UW=Object.create(null),Lve=(t,e)=>{let r=UW[t];return r||(r=Nve.reduce((i,n)=>i.replace(n[0],n[1].bind(t)),t),UW[t]=r),e?new RegExp(r,"i"):new RegExp(r)},$k=t=>typeof t=="string",Tve=t=>t&&$k(t)&&!Qve.test(t)&&t.indexOf("#")!==0,Ove=t=>t.split(kve),HW=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},Mve=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(vve,"!").replace(Sve,"#");let n=Lve(t,e);return new HW(r,t,i,n)},Kve=(t,e)=>{throw new e(t)},Va=(t,e,r)=>$k(t)?t?Va.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),GW=t=>xve.test(t);Va.isNotRelative=GW;Va.convert=t=>t;var jW=class{constructor({ignorecase:e=!0}={}){Pve(this,KW,!0),this._rules=[],this._ignorecase=e,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[KW]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(Tve(e)){let r=Mve(e,this._ignorecase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,TW($k(e)?Ove(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&Va.convert(e);return Va(s,e,Kve),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(Zk)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(Zk)+Zk,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return TW(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},iw=t=>new jW(t),Uve=()=>!1,Hve=t=>Va(t&&Va.convert(t),t,Uve);iw.isPathValid=Hve;iw.default=iw;LW.exports=iw;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");Va.convert=t;let e=/^[a-z]:\//i;Va.isNotRelative=r=>e.test(r)||GW(r)}});var JW=w((Wit,qW)=>{"use strict";qW.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var $W=w((zit,ex)=>{"use strict";var{promisify:Gve}=require("util"),WW=require("fs"),Xa=require("path"),zW=rw(),jve=YW(),Ad=JW(),_W=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],Yve=Gve(WW.readFile),qve=t=>e=>e.startsWith("!")?"!"+Xa.posix.join(t,e.slice(1)):Xa.posix.join(t,e),Jve=(t,e)=>{let r=Ad(Xa.relative(e.cwd,Xa.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(qve(r))},VW=t=>{let e=jve();for(let r of t)e.add(Jve(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},Wve=(t,e)=>{if(t=Ad(t),Xa.isAbsolute(e)){if(Ad(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return Xa.join(t,e)},XW=(t,e)=>r=>t.ignores(Ad(Xa.relative(e,Wve(e,r.path||r)))),zve=async(t,e)=>{let r=Xa.join(e,t),i=await Yve(r,"utf8");return{cwd:e,filePath:r,content:i}},_ve=(t,e)=>{let r=Xa.join(e,t),i=WW.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:i}},ZW=({ignore:t=[],cwd:e=Ad(process.cwd())}={})=>({ignore:t,cwd:e});ex.exports=async t=>{t=ZW(t);let e=await zW("**/.gitignore",{ignore:_W.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(n=>zve(n,t.cwd))),i=VW(r);return XW(i,t.cwd)};ex.exports.sync=t=>{t=ZW(t);let r=zW.sync("**/.gitignore",{ignore:_W.concat(t.ignore),cwd:t.cwd}).map(n=>_ve(n,t.cwd)),i=VW(r);return XW(i,t.cwd)}});var i8=w((_it,e8)=>{"use strict";var{Transform:Vve}=require("stream"),tx=class extends Vve{constructor(){super({objectMode:!0})}},t8=class extends tx{constructor(e){super();this._filter=e}_transform(e,r,i){this._filter(e)&&this.push(e),i()}},r8=class extends tx{constructor(){super();this._pushed=new Set}_transform(e,r,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};e8.exports={FilterStream:t8,UniqueStream:r8}});var sx=w((Vit,Mc)=>{"use strict";var n8=require("fs"),nw=xJ(),Xve=ek(),sw=rw(),ow=NW(),rx=$W(),{FilterStream:Zve,UniqueStream:$ve}=i8(),s8=()=>!1,o8=t=>t[0]==="!",eSe=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},tSe=(t={})=>{if(!t.cwd)return;let e;try{e=n8.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},rSe=t=>t.stats instanceof n8.Stats?t.path:t,aw=(t,e)=>{t=nw([].concat(t)),eSe(t),tSe(e);let r=[];e=N({ignore:[],expandDirectories:!0},e);for(let[i,n]of t.entries()){if(o8(n))continue;let s=t.slice(i).filter(a=>o8(a)).map(a=>a.slice(1)),o=ie(N({},e),{ignore:e.ignore.concat(s)});r.push({pattern:n,options:o})}return r},iSe=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r=ie(N({},r),{files:t.options.expandDirectories}):typeof t.options.expandDirectories=="object"&&(r=N(N({},r),t.options.expandDirectories)),e(t.pattern,r)},ix=(t,e)=>t.options.expandDirectories?iSe(t,e):[t.pattern],a8=t=>t&&t.gitignore?rx.sync({cwd:t.cwd,ignore:t.ignore}):s8,nx=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=ow.sync(r.ignore)),{pattern:e,options:r}};Mc.exports=async(t,e)=>{let r=aw(t,e),i=async()=>e&&e.gitignore?rx({cwd:e.cwd,ignore:e.ignore}):s8,n=async()=>{let l=await Promise.all(r.map(async c=>{let u=await ix(c,ow);return Promise.all(u.map(nx(c)))}));return nw(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>sw(l.pattern,l.options)));return nw(...a).filter(l=>!s(rSe(l)))};Mc.exports.sync=(t,e)=>{let r=aw(t,e),i=[];for(let o of r){let a=ix(o,ow.sync).map(nx(o));i.push(...a)}let n=a8(e),s=[];for(let o of i)s=nw(s,sw.sync(o.pattern,o.options));return s.filter(o=>!n(o))};Mc.exports.stream=(t,e)=>{let r=aw(t,e),i=[];for(let a of r){let l=ix(a,ow.sync).map(nx(a));i.push(...l)}let n=a8(e),s=new Zve(a=>!n(a)),o=new $ve;return Xve(i.map(a=>sw.stream(a.pattern,a.options))).pipe(s).pipe(o)};Mc.exports.generateGlobTasks=aw;Mc.exports.hasMagic=(t,e)=>[].concat(t).some(r=>sw.isDynamicPattern(r,e));Mc.exports.gitignore=rx});var Rn=w((Bnt,w8)=>{function dSe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}w8.exports=dSe});var hx=w((bnt,B8)=>{var CSe=typeof global=="object"&&global&&global.Object===Object&&global;B8.exports=CSe});var Fs=w((Qnt,b8)=>{var mSe=hx(),ESe=typeof self=="object"&&self&&self.Object===Object&&self,ISe=mSe||ESe||Function("return this")();b8.exports=ISe});var v8=w((vnt,Q8)=>{var ySe=Fs(),wSe=function(){return ySe.Date.now()};Q8.exports=wSe});var k8=w((Snt,S8)=>{var BSe=/\s/;function bSe(t){for(var e=t.length;e--&&BSe.test(t.charAt(e)););return e}S8.exports=bSe});var P8=w((knt,x8)=>{var QSe=k8(),vSe=/^\s+/;function SSe(t){return t&&t.slice(0,QSe(t)+1).replace(vSe,"")}x8.exports=SSe});var Hc=w((xnt,D8)=>{var kSe=Fs(),xSe=kSe.Symbol;D8.exports=xSe});var L8=w((Pnt,R8)=>{var F8=Hc(),N8=Object.prototype,PSe=N8.hasOwnProperty,DSe=N8.toString,Id=F8?F8.toStringTag:void 0;function RSe(t){var e=PSe.call(t,Id),r=t[Id];try{t[Id]=void 0;var i=!0}catch(s){}var n=DSe.call(t);return i&&(e?t[Id]=r:delete t[Id]),n}R8.exports=RSe});var O8=w((Dnt,T8)=>{var FSe=Object.prototype,NSe=FSe.toString;function LSe(t){return NSe.call(t)}T8.exports=LSe});var Gc=w((Rnt,M8)=>{var K8=Hc(),TSe=L8(),OSe=O8(),MSe="[object Null]",KSe="[object Undefined]",U8=K8?K8.toStringTag:void 0;function USe(t){return t==null?t===void 0?KSe:MSe:U8&&U8 in Object(t)?TSe(t):OSe(t)}M8.exports=USe});var Zo=w((Fnt,H8)=>{function HSe(t){return t!=null&&typeof t=="object"}H8.exports=HSe});var yd=w((Nnt,G8)=>{var GSe=Gc(),jSe=Zo(),YSe="[object Symbol]";function qSe(t){return typeof t=="symbol"||jSe(t)&&GSe(t)==YSe}G8.exports=qSe});var J8=w((Lnt,j8)=>{var JSe=P8(),Y8=Rn(),WSe=yd(),q8=0/0,zSe=/^[-+]0x[0-9a-f]+$/i,_Se=/^0b[01]+$/i,VSe=/^0o[0-7]+$/i,XSe=parseInt;function ZSe(t){if(typeof t=="number")return t;if(WSe(t))return q8;if(Y8(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Y8(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=JSe(t);var r=_Se.test(t);return r||VSe.test(t)?XSe(t.slice(2),r?2:8):zSe.test(t)?q8:+t}j8.exports=ZSe});var _8=w((Tnt,W8)=>{var $Se=Rn(),px=v8(),z8=J8(),eke="Expected a function",tke=Math.max,rke=Math.min;function ike(t,e,r){var i,n,s,o,a,l,c=0,u=!1,g=!1,f=!0;if(typeof t!="function")throw new TypeError(eke);e=z8(e)||0,$Se(r)&&(u=!!r.leading,g="maxWait"in r,s=g?tke(z8(r.maxWait)||0,e):s,f="trailing"in r?!!r.trailing:f);function h(j){var Z=i,J=n;return i=n=void 0,c=j,o=t.apply(J,Z),o}function p(j){return c=j,a=setTimeout(b,e),u?h(j):o}function m(j){var Z=j-l,J=j-c,re=e-Z;return g?rke(re,s-J):re}function y(j){var Z=j-l,J=j-c;return l===void 0||Z>=e||Z<0||g&&J>=s}function b(){var j=px();if(y(j))return S(j);a=setTimeout(b,m(j))}function S(j){return a=void 0,f&&i?h(j):(i=n=void 0,o)}function k(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function T(){return a===void 0?o:S(px())}function Y(){var j=px(),Z=y(j);if(i=arguments,n=this,l=j,Z){if(a===void 0)return p(l);if(g)return clearTimeout(a),a=setTimeout(b,e),h(l)}return a===void 0&&(a=setTimeout(b,e)),o}return Y.cancel=k,Y.flush=T,Y}W8.exports=ike});var X8=w((Ont,V8)=>{var nke=_8(),ske=Rn(),oke="Expected a function";function ake(t,e,r){var i=!0,n=!0;if(typeof t!="function")throw new TypeError(oke);return ske(r)&&(i="leading"in r?!!r.leading:i,n="trailing"in r?!!r.trailing:n),nke(t,e,{leading:i,maxWait:e,trailing:n})}V8.exports=ake});var eA=w(($a,Sw)=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});var s4=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Ike(t){return s4.includes(t)}var yke=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...s4];function wke(t){return yke.includes(t)}var Bke=["null","undefined","string","number","bigint","boolean","symbol"];function bke(t){return Bke.includes(t)}function zg(t){return e=>typeof e===t}var{toString:o4}=Object.prototype,kd=t=>{let e=o4.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&z.domElement(t))return"HTMLElement";if(wke(e))return e},hr=t=>e=>kd(e)===t;function z(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(z.observable(t))return"Observable";if(z.array(t))return"Array";if(z.buffer(t))return"Buffer";let e=kd(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}z.undefined=zg("undefined");z.string=zg("string");var Qke=zg("number");z.number=t=>Qke(t)&&!z.nan(t);z.bigint=zg("bigint");z.function_=zg("function");z.null_=t=>t===null;z.class_=t=>z.function_(t)&&t.toString().startsWith("class ");z.boolean=t=>t===!0||t===!1;z.symbol=zg("symbol");z.numericString=t=>z.string(t)&&!z.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));z.array=(t,e)=>Array.isArray(t)?z.function_(e)?t.every(e):!0:!1;z.buffer=t=>{var e,r,i,n;return(n=(i=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||i===void 0?void 0:i.call(r,t))!==null&&n!==void 0?n:!1};z.nullOrUndefined=t=>z.null_(t)||z.undefined(t);z.object=t=>!z.null_(t)&&(typeof t=="object"||z.function_(t));z.iterable=t=>{var e;return z.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};z.asyncIterable=t=>{var e;return z.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};z.generator=t=>z.iterable(t)&&z.function_(t.next)&&z.function_(t.throw);z.asyncGenerator=t=>z.asyncIterable(t)&&z.function_(t.next)&&z.function_(t.throw);z.nativePromise=t=>hr("Promise")(t);var vke=t=>{var e,r;return z.function_((e=t)===null||e===void 0?void 0:e.then)&&z.function_((r=t)===null||r===void 0?void 0:r.catch)};z.promise=t=>z.nativePromise(t)||vke(t);z.generatorFunction=hr("GeneratorFunction");z.asyncGeneratorFunction=t=>kd(t)==="AsyncGeneratorFunction";z.asyncFunction=t=>kd(t)==="AsyncFunction";z.boundFunction=t=>z.function_(t)&&!t.hasOwnProperty("prototype");z.regExp=hr("RegExp");z.date=hr("Date");z.error=hr("Error");z.map=t=>hr("Map")(t);z.set=t=>hr("Set")(t);z.weakMap=t=>hr("WeakMap")(t);z.weakSet=t=>hr("WeakSet")(t);z.int8Array=hr("Int8Array");z.uint8Array=hr("Uint8Array");z.uint8ClampedArray=hr("Uint8ClampedArray");z.int16Array=hr("Int16Array");z.uint16Array=hr("Uint16Array");z.int32Array=hr("Int32Array");z.uint32Array=hr("Uint32Array");z.float32Array=hr("Float32Array");z.float64Array=hr("Float64Array");z.bigInt64Array=hr("BigInt64Array");z.bigUint64Array=hr("BigUint64Array");z.arrayBuffer=hr("ArrayBuffer");z.sharedArrayBuffer=hr("SharedArrayBuffer");z.dataView=hr("DataView");z.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;z.urlInstance=t=>hr("URL")(t);z.urlString=t=>{if(!z.string(t))return!1;try{return new URL(t),!0}catch(e){return!1}};z.truthy=t=>Boolean(t);z.falsy=t=>!t;z.nan=t=>Number.isNaN(t);z.primitive=t=>z.null_(t)||bke(typeof t);z.integer=t=>Number.isInteger(t);z.safeInteger=t=>Number.isSafeInteger(t);z.plainObject=t=>{if(o4.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};z.typedArray=t=>Ike(kd(t));var Ske=t=>z.safeInteger(t)&&t>=0;z.arrayLike=t=>!z.nullOrUndefined(t)&&!z.function_(t)&&Ske(t.length);z.inRange=(t,e)=>{if(z.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(z.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var kke=1,xke=["innerHTML","ownerDocument","style","attributes","nodeValue"];z.domElement=t=>z.object(t)&&t.nodeType===kke&&z.string(t.nodeName)&&!z.plainObject(t)&&xke.every(e=>e in t);z.observable=t=>{var e,r,i,n;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((n=(i=t)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};z.nodeStream=t=>z.object(t)&&z.function_(t.pipe)&&!z.observable(t);z.infinite=t=>t===Infinity||t===-Infinity;var a4=t=>e=>z.integer(e)&&Math.abs(e%2)===t;z.evenInteger=a4(0);z.oddInteger=a4(1);z.emptyArray=t=>z.array(t)&&t.length===0;z.nonEmptyArray=t=>z.array(t)&&t.length>0;z.emptyString=t=>z.string(t)&&t.length===0;z.nonEmptyString=t=>z.string(t)&&t.length>0;var Pke=t=>z.string(t)&&!/\S/.test(t);z.emptyStringOrWhitespace=t=>z.emptyString(t)||Pke(t);z.emptyObject=t=>z.object(t)&&!z.map(t)&&!z.set(t)&&Object.keys(t).length===0;z.nonEmptyObject=t=>z.object(t)&&!z.map(t)&&!z.set(t)&&Object.keys(t).length>0;z.emptySet=t=>z.set(t)&&t.size===0;z.nonEmptySet=t=>z.set(t)&&t.size>0;z.emptyMap=t=>z.map(t)&&t.size===0;z.nonEmptyMap=t=>z.map(t)&&t.size>0;z.propertyKey=t=>z.any([z.string,z.number,z.symbol],t);z.formData=t=>hr("FormData")(t);z.urlSearchParams=t=>hr("URLSearchParams")(t);var A4=(t,e,r)=>{if(!z.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};z.any=(t,...e)=>(z.array(t)?t:[t]).some(i=>A4(Array.prototype.some,i,e));z.all=(t,...e)=>A4(Array.prototype.every,t,e);var We=(t,e,r,i={})=>{if(!t){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(r.map(o=>`\`${z(o)}\``))].join(", ")}`:`received value of type \`${z(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};$a.assert={undefined:t=>We(z.undefined(t),"undefined",t),string:t=>We(z.string(t),"string",t),number:t=>We(z.number(t),"number",t),bigint:t=>We(z.bigint(t),"bigint",t),function_:t=>We(z.function_(t),"Function",t),null_:t=>We(z.null_(t),"null",t),class_:t=>We(z.class_(t),"Class",t),boolean:t=>We(z.boolean(t),"boolean",t),symbol:t=>We(z.symbol(t),"symbol",t),numericString:t=>We(z.numericString(t),"string with a number",t),array:(t,e)=>{We(z.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>We(z.buffer(t),"Buffer",t),nullOrUndefined:t=>We(z.nullOrUndefined(t),"null or undefined",t),object:t=>We(z.object(t),"Object",t),iterable:t=>We(z.iterable(t),"Iterable",t),asyncIterable:t=>We(z.asyncIterable(t),"AsyncIterable",t),generator:t=>We(z.generator(t),"Generator",t),asyncGenerator:t=>We(z.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>We(z.nativePromise(t),"native Promise",t),promise:t=>We(z.promise(t),"Promise",t),generatorFunction:t=>We(z.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>We(z.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>We(z.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>We(z.boundFunction(t),"Function",t),regExp:t=>We(z.regExp(t),"RegExp",t),date:t=>We(z.date(t),"Date",t),error:t=>We(z.error(t),"Error",t),map:t=>We(z.map(t),"Map",t),set:t=>We(z.set(t),"Set",t),weakMap:t=>We(z.weakMap(t),"WeakMap",t),weakSet:t=>We(z.weakSet(t),"WeakSet",t),int8Array:t=>We(z.int8Array(t),"Int8Array",t),uint8Array:t=>We(z.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>We(z.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>We(z.int16Array(t),"Int16Array",t),uint16Array:t=>We(z.uint16Array(t),"Uint16Array",t),int32Array:t=>We(z.int32Array(t),"Int32Array",t),uint32Array:t=>We(z.uint32Array(t),"Uint32Array",t),float32Array:t=>We(z.float32Array(t),"Float32Array",t),float64Array:t=>We(z.float64Array(t),"Float64Array",t),bigInt64Array:t=>We(z.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>We(z.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>We(z.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>We(z.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>We(z.dataView(t),"DataView",t),urlInstance:t=>We(z.urlInstance(t),"URL",t),urlString:t=>We(z.urlString(t),"string with a URL",t),truthy:t=>We(z.truthy(t),"truthy",t),falsy:t=>We(z.falsy(t),"falsy",t),nan:t=>We(z.nan(t),"NaN",t),primitive:t=>We(z.primitive(t),"primitive",t),integer:t=>We(z.integer(t),"integer",t),safeInteger:t=>We(z.safeInteger(t),"integer",t),plainObject:t=>We(z.plainObject(t),"plain object",t),typedArray:t=>We(z.typedArray(t),"TypedArray",t),arrayLike:t=>We(z.arrayLike(t),"array-like",t),domElement:t=>We(z.domElement(t),"HTMLElement",t),observable:t=>We(z.observable(t),"Observable",t),nodeStream:t=>We(z.nodeStream(t),"Node.js Stream",t),infinite:t=>We(z.infinite(t),"infinite number",t),emptyArray:t=>We(z.emptyArray(t),"empty array",t),nonEmptyArray:t=>We(z.nonEmptyArray(t),"non-empty array",t),emptyString:t=>We(z.emptyString(t),"empty string",t),nonEmptyString:t=>We(z.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>We(z.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>We(z.emptyObject(t),"empty object",t),nonEmptyObject:t=>We(z.nonEmptyObject(t),"non-empty object",t),emptySet:t=>We(z.emptySet(t),"empty set",t),nonEmptySet:t=>We(z.nonEmptySet(t),"non-empty set",t),emptyMap:t=>We(z.emptyMap(t),"empty map",t),nonEmptyMap:t=>We(z.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>We(z.propertyKey(t),"PropertyKey",t),formData:t=>We(z.formData(t),"FormData",t),urlSearchParams:t=>We(z.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>We(z.evenInteger(t),"even integer",t),oddInteger:t=>We(z.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>We(z.directInstanceOf(t,e),"T",t),inRange:(t,e)=>We(z.inRange(t,e),"in range",t),any:(t,...e)=>We(z.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>We(z.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(z,{class:{value:z.class_},function:{value:z.function_},null:{value:z.null_}});Object.defineProperties($a.assert,{class:{value:$a.assert.class_},function:{value:$a.assert.function_},null:{value:$a.assert.null_}});$a.default=z;Sw.exports=z;Sw.exports.default=z;Sw.exports.assert=$a.assert});var l4=w((Gst,Lx)=>{"use strict";var Tx=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},xd=class{static fn(e){return(...r)=>new xd((i,n,s)=>{r.push(s),e(...r).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,i)=>{this._reject=i;let n=a=>{this._isPending=!1,r(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Tx(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(xd.prototype,Promise.prototype);Lx.exports=xd;Lx.exports.CancelError=Tx});var c4=w((Ox,Mx)=>{"use strict";Object.defineProperty(Ox,"__esModule",{value:!0});var Dke=require("tls"),Kx=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let i=typeof r.connect=="function",n=typeof r.secureConnect=="function",s=typeof r.close=="function",o=()=>{i&&r.connect(),t instanceof Dke.TLSSocket&&n&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),s&&t.once("close",r.close)};t.writable&&!t.connecting?o():t.connecting?t.once("connect",o):t.destroyed&&s&&r.close(t._hadError)};Ox.default=Kx;Mx.exports=Kx;Mx.exports.default=Kx});var u4=w((Ux,Hx)=>{"use strict";Object.defineProperty(Ux,"__esModule",{value:!0});var Rke=c4(),Fke=Number(process.versions.node.split(".")[0]),Gx=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||Fke>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),Rke.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?i(t.socket):t.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?n():t.prependOnceListener("finish",n),t.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,r(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};Ux.default=Gx;Hx.exports=Gx;Hx.exports.default=Gx});var m4=w((jst,jx)=>{"use strict";var{V4MAPPED:Nke,ADDRCONFIG:Lke,ALL:g4,promises:{Resolver:f4},lookup:Tke}=require("dns"),{promisify:Yx}=require("util"),Oke=require("os"),_g=Symbol("cacheableLookupCreateConnection"),qx=Symbol("cacheableLookupInstance"),h4=Symbol("expires"),Mke=typeof g4=="number",p4=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},Kke=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},d4=()=>{let t=!1,e=!1;for(let r of Object.values(Oke.networkInterfaces()))for(let i of r)if(!i.internal&&(i.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},Uke=t=>Symbol.iterator in t,C4={ttl:!0},Hke={all:!0},Jx=class{constructor({cache:e=new Map,maxTtl:r=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new f4,lookup:o=Tke}={}){if(this.maxTtl=r,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Yx(o),this._resolver instanceof f4?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Yx(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Yx(this._resolver.resolve6.bind(this._resolver))),this._iface=d4(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,i){if(typeof r=="function"?(i=r,r={}):typeof r=="number"&&(r={family:r}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(n=>{r.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let i=await this.query(e);if(r.family===6){let n=i.filter(s=>s.family===6);r.hints&Nke&&(Mke&&r.hints&g4||n.length===0)?Kke(i):i=n}else r.family===4&&(i=i.filter(n=>n.family===4));if(r.hints&Lke){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return r.all?i:i[0]}async query(e){let r=await this._cache.get(e);if(!r){let i=this._pending[e];if(i)r=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,r=await n}}return r=r.map(i=>N({},i)),r}async _resolve(e){let r=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,C4),this._resolve6(e,C4)].map(c=>r(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(r){return{entries:[],cacheTtl:0}}}async _set(e,r,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,r[h4]=Date.now()+i;try{await this._cache.set(e,r,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}Uke(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Hke);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let i=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,i),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[h4];n>=a?this._cache.delete(s):a("lookup"in r||(r.lookup=this.lookup),e[_g](r,i))}uninstall(e){if(p4(e),e[_g]){if(e[qx]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[_g],delete e[_g],delete e[qx]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=d4(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};jx.exports=Jx;jx.exports.default=Jx});var y4=w((Yst,Wx)=>{"use strict";var Gke=typeof URL=="undefined"?require("url").URL:URL,jke="text/plain",Yke="us-ascii",E4=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),qke=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let i=r[1].split(";"),n=r[2],s=e?"":r[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===Yke)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==jke)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},I4=(t,e)=>{if(e=N({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return qke(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new Gke(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];E4(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])E4(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};Wx.exports=I4;Wx.exports.default=I4});var b4=w((qst,w4)=>{w4.exports=B4;function B4(t,e){if(t&&e)return B4(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(i){r[i]=t[i]}),r;function r(){for(var i=new Array(arguments.length),n=0;n{var Q4=b4();zx.exports=Q4(kw);zx.exports.strict=Q4(v4);kw.proto=kw(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return kw(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return v4(this)},configurable:!0})});function kw(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function v4(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var Vx=w((Wst,S4)=>{var Jke=_x(),Wke=function(){},zke=function(t){return t.setHeader&&typeof t.abort=="function"},_ke=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},k4=function(t,e,r){if(typeof e=="function")return k4(t,null,e);e||(e={}),r=Jke(r||Wke);var i=t._writableState,n=t._readableState,s=e.readable||e.readable!==!1&&t.readable,o=e.writable||e.writable!==!1&&t.writable,a=function(){t.writable||l()},l=function(){o=!1,s||r.call(t)},c=function(){s=!1,o||r.call(t)},u=function(p){r.call(t,p?new Error("exited with error code: "+p):null)},g=function(p){r.call(t,p)},f=function(){if(s&&!(n&&n.ended))return r.call(t,new Error("premature close"));if(o&&!(i&&i.ended))return r.call(t,new Error("premature close"))},h=function(){t.req.on("finish",l)};return zke(t)?(t.on("complete",l),t.on("abort",f),t.req?h():t.on("request",h)):o&&!i&&(t.on("end",a),t.on("close",a)),_ke(t)&&t.on("exit",u),t.on("end",c),t.on("finish",l),e.error!==!1&&t.on("error",g),t.on("close",f),function(){t.removeListener("complete",l),t.removeListener("abort",f),t.removeListener("request",h),t.req&&t.req.removeListener("finish",l),t.removeListener("end",a),t.removeListener("close",a),t.removeListener("finish",l),t.removeListener("exit",u),t.removeListener("end",c),t.removeListener("error",g),t.removeListener("close",f)}};S4.exports=k4});var D4=w((zst,x4)=>{var Vke=_x(),Xke=Vx(),Xx=require("fs"),Pd=function(){},Zke=/^v?\.0/.test(process.version),xw=function(t){return typeof t=="function"},$ke=function(t){return!Zke||!Xx?!1:(t instanceof(Xx.ReadStream||Pd)||t instanceof(Xx.WriteStream||Pd))&&xw(t.close)},exe=function(t){return t.setHeader&&xw(t.abort)},txe=function(t,e,r,i){i=Vke(i);var n=!1;t.on("close",function(){n=!0}),Xke(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,$ke(t))return t.close(Pd);if(exe(t))return t.abort();if(xw(t.destroy))return t.destroy();i(o||new Error("stream was destroyed"))}}},P4=function(t){t()},rxe=function(t,e){return t.pipe(e)},ixe=function(){var t=Array.prototype.slice.call(arguments),e=xw(t[t.length-1]||Pd)&&t.pop()||Pd;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,i=t.map(function(n,s){var o=s0;return txe(n,o,a,function(l){r||(r=l),l&&i.forEach(P4),!o&&(i.forEach(P4),e(r))})});return t.reduce(rxe)};x4.exports=ixe});var F4=w((_st,R4)=>{"use strict";var{PassThrough:nxe}=require("stream");R4.exports=t=>{t=N({},t);let{array:e}=t,{encoding:r}=t,i=r==="buffer",n=!1;e?n=!(r||i):r=r||"utf8",i&&(r=null);let s=new nxe({objectMode:n});r&&s.setEncoding(r);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var N4=w((Vst,Vg)=>{"use strict";var sxe=D4(),oxe=F4(),Zx=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function Pw(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e=N({maxBuffer:Infinity},e);let{maxBuffer:r}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=sxe(t,oxe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>r&&o(new Zx)})}),i.getBufferedValue()}Vg.exports=Pw;Vg.exports.default=Pw;Vg.exports.buffer=(t,e)=>Pw(t,ie(N({},e),{encoding:"buffer"}));Vg.exports.array=(t,e)=>Pw(t,ie(N({},e),{array:!0}));Vg.exports.MaxBufferError=Zx});var T4=w((Zst,L4)=>{"use strict";var axe=[200,203,204,206,300,301,404,405,410,414,501],Axe=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],lxe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},cxe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function $x(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let i of r){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function uxe(t){let e=[];for(let r in t){let i=t[r];e.push(i===!0?r:r+"="+i)}if(!!e.length)return e.join(", ")}L4.exports=class{constructor(e,r,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=$x(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=$x(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":uxe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!r.headers["cache-control"]&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&Axe.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||axe.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=$x(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of r)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let i in e)lxe[i]||(r[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete r[n]}if(r.warning){let i=r.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?r.warning=i.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let r=8*3600*1e3;if(Math.abs(this._responseTime-e)e&&(e=i)}let r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(r-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let n=r["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?r["if-none-match"]=n.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),!r||!r.headers)throw Error("Response headers missing");let i=!1;if(r.status!==void 0&&r.status!=304?i=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in r.headers&&!cxe[o]?r.headers[o]:this._resHeaders[o];let s=Object.assign({},r,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Dw=w(($st,O4)=>{"use strict";O4.exports=t=>{let e={};for(let[r,i]of Object.entries(t))e[r.toLowerCase()]=i;return e}});var U4=w((eot,M4)=>{"use strict";var gxe=require("stream").Readable,fxe=Dw(),K4=class extends gxe{constructor(e,r,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super();this.statusCode=e,this.headers=fxe(r),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};M4.exports=K4});var G4=w((tot,H4)=>{"use strict";var hxe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];H4.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(hxe));for(let i of r)i in e||(e[i]=typeof t[i]=="function"?t[i].bind(t):t[i])}});var Y4=w((rot,j4)=>{"use strict";var pxe=require("stream").PassThrough,dxe=G4(),Cxe=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new pxe;return dxe(t,e),t.pipe(e)};j4.exports=Cxe});var q4=w(eP=>{eP.stringify=function t(e){if(typeof e=="undefined")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",i=Array.isArray(e);r=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]=="undefined";Object.hasOwnProperty.call(e,s)&&!o&&(n||(r+=","),n=!1,i?e[s]==null?r+="null":r+=t(e[s]):e[s]!==void 0&&(r+=t(s)+":"+t(e[s])))}return r+=i?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e=="undefined"?"null":JSON.stringify(e)};eP.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var _4=w((not,J4)=>{"use strict";var mxe=require("events"),W4=q4(),Exe=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(require(e[r]))(t)}return new Map},z4=class extends mxe{constructor(e,r){super();if(this.opts=Object.assign({namespace:"keyv",serialize:W4.stringify,deserialize:W4.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=Exe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return r&&r.raw?n:n.value}})}set(e,r,i){e=this._getKeyPrefix(e),typeof i=="undefined"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return r={value:r,expires:s},this.opts.serialize(r)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};J4.exports=z4});var Z4=w((sot,V4)=>{"use strict";var Ixe=require("events"),Rw=require("url"),yxe=y4(),wxe=N4(),tP=T4(),X4=U4(),Bxe=Dw(),bxe=Y4(),Qxe=_4(),ea=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Qxe({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,i)=>{let n;if(typeof r=="string")n=rP(Rw.parse(r)),r={};else if(r instanceof Rw.URL)n=rP(Rw.parse(r.toString())),r={};else{let[g,...f]=(r.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=rP(ie(N({},r),{pathname:g,search:h}))}r=N(N({headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1},r),vxe(n)),r.headers=Bxe(r.headers);let s=new Ixe,o=yxe(Rw.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${r.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(y=>{h=()=>{f||(f=!0,y())}}),m=y=>{if(l&&!g.forceRefresh){y.status=y.statusCode;let S=tP.fromObject(l.cachePolicy).revalidatedPolicy(g,y);if(!S.modified){let k=S.policy.responseHeaders();y=new X4(l.statusCode,k,l.body,l.url),y.cachePolicy=S.policy,y.fromCache=!0}}y.fromCache||(y.cachePolicy=new tP(g,y,g),y.fromCache=!1);let b;g.cache&&y.cachePolicy.storable()?(b=bxe(y),(async()=>{try{let S=wxe.buffer(y);if(await Promise.race([p,new Promise(j=>y.once("end",j))]),f)return;let k=await S,T={cachePolicy:y.cachePolicy.toObject(),url:y.url,statusCode:y.fromCache?l.statusCode:y.statusCode,body:k},Y=g.strictTtl?y.cachePolicy.timeToLive():void 0;g.maxTtl&&(Y=Y?Math.min(Y,g.maxTtl):g.maxTtl),await this.cache.set(a,T,Y)}catch(S){s.emit("error",new ea.CacheError(S))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(S){s.emit("error",new ea.CacheError(S))}})(),s.emit("response",b||y),typeof i=="function"&&i(b||y)};try{let y=e(g,m);y.once("error",h),y.once("abort",h),s.emit("request",y)}catch(y){s.emit("error",new ea.RequestError(y))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p=="undefined")return u(h);let m=tP.fromObject(p.cachePolicy);if(m.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let y=m.responseHeaders(),b=new X4(p.statusCode,y,p.body,p.url);b.cachePolicy=m,b.fromCache=!0,s.emit("response",b),typeof i=="function"&&i(b)}else l=p,h.headers=m.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new ea.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(r)}catch(h){r.automaticFailover&&!c&&u(r),s.emit("error",new ea.CacheError(h))}})(),s}}};function vxe(t){let e=N({},t);return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function rP(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}ea.RequestError=class extends Error{constructor(t){super(t.message);this.name="RequestError",Object.assign(this,t)}};ea.CacheError=class extends Error{constructor(t){super(t.message);this.name="CacheError",Object.assign(this,t)}};V4.exports=ea});var ez=w((oot,$4)=>{"use strict";var Sxe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];$4.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(Sxe)),i={};for(let n of r)n in e||(i[n]={get(){let s=t[n];return typeof s=="function"?s.bind(t):s},set(s){t[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var rz=w((aot,tz)=>{"use strict";var{Transform:kxe,PassThrough:xxe}=require("stream"),iP=require("zlib"),Pxe=ez();tz.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof iP.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let i=!0,n=new kxe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new xxe({autoDestroy:!1,destroy(a,l){t.destroy(),l(a)}}),o=r?iP.createBrotliDecompress():iP.createUnzip();return o.once("error",a=>{if(i&&!t.readable){s.end();return}s.destroy(a)}),Pxe(t,s),t.pipe(n).pipe(o).pipe(s),s}});var nP=w((Aot,iz)=>{"use strict";var nz=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};iz.exports=nz});var oP=w((lot,sz)=>{"use strict";var Dxe=require("events"),Rxe=require("tls"),Fxe=require("http2"),Nxe=nP(),gn=Symbol("currentStreamsCount"),oz=Symbol("request"),Ns=Symbol("cachedOriginSet"),Xg=Symbol("gracefullyClosing"),Lxe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],Txe=(t,e,r)=>{let i=0,n=t.length;for(;i>>1;r(t[s],e)?i=s+1:n=s}return i},Oxe=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,sP=(t,e)=>{for(let r of t)r[Ns].lengthe[Ns].includes(i))&&r[gn]+e[gn]<=e.remoteSettings.maxConcurrentStreams&&az(r)},Mxe=(t,e)=>{for(let r of t)e[Ns].lengthr[Ns].includes(i))&&e[gn]+r[gn]<=r.remoteSettings.maxConcurrentStreams&&az(e)},Az=({agent:t,isFree:e})=>{let r={};for(let i in t.sessions){let s=t.sessions[i].filter(o=>{let a=o[tA.kCurrentStreamsCount]{t[Xg]=!0,t[gn]===0&&t.close()},tA=class extends Dxe{constructor({timeout:e=6e4,maxSessions:r=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Nxe({maxSize:n})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let i of Lxe)e[i]&&(r+=`:${e[i]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let i=this.queue[e][r];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(r),a=tA.normalizeOrigin(e,r&&r.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let m=p.remoteSettings.maxConcurrentStreams;if(m=m||p[Xg]||p.destroyed)continue;h||(g=m),y>f&&(h=p,f=y)}}if(h){if(i.length!==1){for(let{reject:p}of i){let m=new Error(`Expected the length of listeners to be 1, got ${i.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);p(m)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=Fxe.connect(e,N({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},r));f[gn]=0,f[Xg]=!1;let h=()=>f[gn]{this.tlsSessionCache.set(u,y)}),f.once("error",y=>{for(let{reject:b}of i)b(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error("Session closed without receiving a SETTINGS frame");y.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:b}of i)b(y);l()}this._tryToCreateNewSession(o,a)});let m=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[Ns])if(y in this.queue[o]){let{listeners:b}=this.queue[o][y];for(;b.length!==0&&h();)b.shift().resolve(f);let S=this.queue[o];if(S[y].listeners.length===0&&(delete S[y],Object.keys(S).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[Ns]=f.originSet,!!h()&&(m(),sP(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error("Agent has been destroyed");for(let b of i)b.reject(y);f.destroy();return}f[Ns]=f.originSet;{let y=this.sessions;if(o in y){let b=y[o];b.splice(Txe(b,f,Oxe),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),m(),l(),f[gn]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),f.on("remoteSettings",()=>{m(),sP(this.sessions[o],f)})}),f[oz]=f.request,f.request=(y,b)=>{if(f[Xg])throw new Error("The session is gracefully closing. No new streams are allowed.");let S=f[oz](y,b);return f.ref(),++f[gn],f[gn]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,S.once("close",()=>{if(p=h(),--f[gn],!f.destroyed&&!f.closed&&(Mxe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let k=f[gn]===0;k&&f.unref(),k&&(this._freeSessionsCount>this.maxFreeSessions||f[Xg])?f.close():(sP(this.sessions[o],f),m())}}),S}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,r,i,n){return new Promise((s,o)=>{this.getSession(e,r,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,r){return tA.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof r.servername=="undefined"&&(r.servername=n),Rxe.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[gn]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let i of r)i.destroy(e);for(let r of Object.values(this.queue))for(let i of Object.values(r))i.destroyed=!0;this.queue={}}get freeSessions(){return Az({agent:this,isFree:!0})}get busySessions(){return Az({agent:this,isFree:!1})}};tA.kCurrentStreamsCount=gn;tA.kGracefullyClosing=Xg;sz.exports={Agent:tA,globalAgent:new tA}});var aP=w((cot,lz)=>{"use strict";var{Readable:Kxe}=require("stream"),cz=class extends Kxe{constructor(e,r){super({highWaterMark:r,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};lz.exports=cz});var AP=w((uot,uz)=>{"use strict";uz.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var fz=w((got,gz)=>{"use strict";gz.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var pz=w((fot,hz)=>{"use strict";hz.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var Cz=w((pot,dz)=>{"use strict";var Zg=(t,e,r)=>{dz.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n));this.name=`${super.name} [${e}]`,this.code=e}}};Zg(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],i=Array.isArray(r);return i&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${i?"one of":"of"} type ${r}. Received ${typeof t[2]}`});Zg(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);Zg(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);Zg(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);Zg(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);Zg(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var gP=w((dot,mz)=>{"use strict";var Uxe=require("http2"),{Writable:Hxe}=require("stream"),{Agent:Ez,globalAgent:Gxe}=oP(),jxe=aP(),Yxe=AP(),qxe=fz(),Jxe=pz(),{ERR_INVALID_ARG_TYPE:lP,ERR_INVALID_PROTOCOL:Wxe,ERR_HTTP_HEADERS_SENT:Iz,ERR_INVALID_HTTP_TOKEN:zxe,ERR_HTTP_INVALID_HEADER_VALUE:_xe,ERR_INVALID_CHAR:Vxe}=Cz(),{HTTP2_HEADER_STATUS:yz,HTTP2_HEADER_METHOD:wz,HTTP2_HEADER_PATH:Bz,HTTP2_METHOD_CONNECT:Xxe}=Uxe.constants,Wi=Symbol("headers"),cP=Symbol("origin"),uP=Symbol("session"),bz=Symbol("options"),Fw=Symbol("flushedHeaders"),Dd=Symbol("jobs"),Zxe=/^[\^`\-\w!#$%&*+.|~]+$/,$xe=/[^\t\u0020-\u007E\u0080-\u00FF]/,Qz=class extends Hxe{constructor(e,r,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=Yxe(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(i=r,r=n?e:N({},e)):r=N(N({},e),r),r.h2session)this[uP]=r.h2session;else if(r.agent===!1)this.agent=new Ez({maxFreeSessions:0});else if(typeof r.agent=="undefined"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new Ez({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=Gxe;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new lP("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Wxe(r.protocol,"https:");let s=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,o=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:a}=r;if(r.timeout=void 0,this[Wi]=Object.create(null),this[Dd]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[l,c]of Object.entries(r.headers))this.setHeader(l,c);r.auth&&!("authorization"in this[Wi])&&(this[Wi].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[bz]=r,s===443?(this[cP]=`https://${o}`,":authority"in this[Wi]||(this[Wi][":authority"]=o)):(this[cP]=`https://${o}:${s}`,":authority"in this[Wi]||(this[Wi][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[Fw]=!1}get method(){return this[Wi][wz]}set method(e){e&&(this[Wi][wz]=e.toUpperCase())}get path(){return this[Wi][Bz]}set path(e){e&&(this[Wi][Bz]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,r,i);this._request?n():this[Dd].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[Dd].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[Fw]||this.destroyed)return;this[Fw]=!0;let e=this.method===Xxe,r=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||qxe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new jxe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[yz],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[yz]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[Dd])o();this.emit("socket",this.socket)};if(this[uP])try{r(this[uP].request(this[Wi]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[cP],this[bz],this[Wi]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new lP("name","string",e);return this[Wi][e.toLowerCase()]}get headersSent(){return this[Fw]}removeHeader(e){if(typeof e!="string")throw new lP("name","string",e);if(this.headersSent)throw new Iz("remove");delete this[Wi][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new Iz("set");if(typeof e!="string"||!Zxe.test(e)&&!Jxe(e))throw new zxe("Header name",e);if(typeof r=="undefined")throw new _xe(r,e);if($xe.test(r))throw new Vxe("header content",e);this[Wi][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let i=()=>this._request.setTimeout(e,r);return this._request?i():this[Dd].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};mz.exports=Qz});var Sz=w((Cot,vz)=>{"use strict";var ePe=require("tls");vz.exports=(t={})=>new Promise((e,r)=>{let i=ePe.connect(t,()=>{t.resolveSocket?(i.off("error",r),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",r)})});var xz=w((mot,kz)=>{"use strict";var tPe=require("net");kz.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),tPe.isIP(e)?"":e}});var Rz=w((Eot,fP)=>{"use strict";var Pz=require("http"),hP=require("https"),rPe=Sz(),iPe=nP(),nPe=gP(),sPe=xz(),oPe=AP(),Nw=new iPe({maxSize:100}),Rd=new Map,Dz=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{t.emit("free",e,r)};e.on("free",i);let n=()=>{t.removeSocket(e,r)};e.on("close",n);let s=()=>{t.removeSocket(e,r),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),t.emit("free",e,r)},aPe=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!Nw.has(e)){if(Rd.has(e))return(await Rd.get(e)).alpnProtocol;let{path:r,agent:i}=t;t.path=t.socketPath;let n=rPe(t);Rd.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Nw.set(e,o),t.path=r,o==="h2")s.destroy();else{let{globalAgent:a}=hP,l=hP.Agent.prototype.createConnection;i?i.createConnection===l?Dz(i,s,t):s.destroy():a.createConnection===l?Dz(a,s,t):s.destroy()}return Rd.delete(e),o}catch(s){throw Rd.delete(e),s}}return Nw.get(e)};fP.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=oPe(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e=ie(N(N({ALPNProtocols:["h2","http/1.1"]},t),e),{resolveSocket:!0}),!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||sPe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?hP.globalAgent:Pz.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await aPe(e)==="h2"?(n&&(e.agent=n.http2),new nPe(e,r)):Pz.request(e,r)};fP.exports.protocolCache=Nw});var Nz=w((Iot,Fz)=>{"use strict";var APe=require("http2"),lPe=oP(),pP=gP(),cPe=aP(),uPe=Rz(),gPe=(t,e,r)=>new pP(t,e,r),fPe=(t,e,r)=>{let i=new pP(t,e,r);return i.end(),i};Fz.exports=ie(N(ie(N({},APe),{ClientRequest:pP,IncomingMessage:cPe}),lPe),{request:gPe,get:fPe,auto:uPe})});var CP=w(dP=>{"use strict";Object.defineProperty(dP,"__esModule",{value:!0});var Lz=eA();dP.default=t=>Lz.default.nodeStream(t)&&Lz.default.function_(t.getBoundary)});var Kz=w(mP=>{"use strict";Object.defineProperty(mP,"__esModule",{value:!0});var Tz=require("fs"),Oz=require("util"),Mz=eA(),hPe=CP(),pPe=Oz.promisify(Tz.stat);mP.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(Mz.default.string(t))return Buffer.byteLength(t);if(Mz.default.buffer(t))return t.length;if(hPe.default(t))return Oz.promisify(t.getLength.bind(t))();if(t instanceof Tz.ReadStream){let{size:r}=await pPe(t.path);return r===0?void 0:r}}});var IP=w(EP=>{"use strict";Object.defineProperty(EP,"__esModule",{value:!0});function dPe(t,e,r){let i={};for(let n of r)i[n]=(...s)=>{e.emit(n,...s)},t.on(n,i[n]);return()=>{for(let n of r)t.off(n,i[n])}}EP.default=dPe});var Uz=w(yP=>{"use strict";Object.defineProperty(yP,"__esModule",{value:!0});yP.default=()=>{let t=[];return{once(e,r,i){e.once(r,i),t.push({origin:e,event:r,fn:i})},unhandleAll(){for(let e of t){let{origin:r,event:i,fn:n}=e;r.removeListener(i,n)}t.length=0}}}});var Gz=w(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});Fd.TimeoutError=void 0;var CPe=require("net"),mPe=Uz(),Hz=Symbol("reentry"),EPe=()=>{},wP=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`);this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};Fd.TimeoutError=wP;Fd.default=(t,e,r)=>{if(Hz in t)return EPe;t[Hz]=!0;let i=[],{once:n,unhandleAll:s}=mPe.default(),o=(g,f,h)=>{var p;let m=setTimeout(f,g,g,h);(p=m.unref)===null||p===void 0||p.call(m);let y=()=>{clearTimeout(m)};return i.push(y),y},{host:a,hostname:l}=r,c=(g,f)=>{t.destroy(new wP(g,f))},u=()=>{for(let g of i)g();s()};if(t.once("error",g=>{if(u(),t.listenerCount("error")===0)throw g}),t.once("close",u),n(t,"response",g=>{n(g,"end",u)}),typeof e.request!="undefined"&&o(e.request,c,"request"),typeof e.socket!="undefined"){let g=()=>{c(e.socket,"socket")};t.setTimeout(e.socket,g),i.push(()=>{t.removeListener("timeout",g)})}return n(t,"socket",g=>{var f;let{socketPath:h}=t;if(g.connecting){let p=Boolean(h!=null?h:CPe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup!="undefined"&&!p&&typeof g.address().address=="undefined"){let m=o(e.lookup,c,"lookup");n(g,"lookup",m)}if(typeof e.connect!="undefined"){let m=()=>o(e.connect,c,"connect");p?n(g,"connect",m()):n(g,"lookup",y=>{y===null&&n(g,"connect",m())})}typeof e.secureConnect!="undefined"&&r.protocol==="https:"&&n(g,"connect",()=>{let m=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",m)})}if(typeof e.send!="undefined"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(t,"upload-complete",p())}):n(t,"upload-complete",p())}}),typeof e.response!="undefined"&&n(t,"upload-complete",()=>{let g=o(e.response,c,"response");n(t,"response",g)}),u}});var Yz=w(BP=>{"use strict";Object.defineProperty(BP,"__esModule",{value:!0});var jz=eA();BP.default=t=>{t=t;let e={protocol:t.protocol,hostname:jz.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return jz.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var qz=w(bP=>{"use strict";Object.defineProperty(bP,"__esModule",{value:!0});var IPe=require("url"),yPe=["protocol","host","hostname","port","pathname","search"];bP.default=(t,e)=>{var r,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(i=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&i!==void 0?i:""}`}let n=new IPe.URL(t);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of yPe)e[s]&&(n[s]=e[s].toString());return n}});var Wz=w(QP=>{"use strict";Object.defineProperty(QP,"__esModule",{value:!0});var Jz=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};QP.default=Jz});var SP=w(vP=>{"use strict";Object.defineProperty(vP,"__esModule",{value:!0});var wPe=async t=>{let e=[],r=0;for await(let i of t)e.push(i),r+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};vP.default=wPe});var _z=w(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.dnsLookupIpVersionToFamily=qc.isDnsLookupIpVersion=void 0;var zz={auto:0,ipv4:4,ipv6:6};qc.isDnsLookupIpVersion=t=>t in zz;qc.dnsLookupIpVersionToFamily=t=>{if(qc.isDnsLookupIpVersion(t))return zz[t];throw new Error("Invalid DNS lookup IP version")}});var kP=w(Lw=>{"use strict";Object.defineProperty(Lw,"__esModule",{value:!0});Lw.isResponseOk=void 0;Lw.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var Xz=w(xP=>{"use strict";Object.defineProperty(xP,"__esModule",{value:!0});var Vz=new Set;xP.default=t=>{Vz.has(t)||(Vz.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var Zz=w(PP=>{"use strict";Object.defineProperty(PP,"__esModule",{value:!0});var Ir=eA(),BPe=(t,e)=>{if(Ir.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Ir.assert.any([Ir.default.string,Ir.default.undefined],t.encoding),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],t.resolveBodyOnly),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],t.methodRewriting),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],t.isStream),Ir.assert.any([Ir.default.string,Ir.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry=N({},e.retry):t.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Ir.default.object(r)?(t.retry=N(N({},t.retry),r),t.retry.methods=[...new Set(t.retry.methods.map(i=>i.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):Ir.default.number(r)&&(t.retry.limit=r),Ir.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(Ir.default.number))),Ir.default.object(t.pagination)){e&&(t.pagination=N(N({},e.pagination),t.pagination));let{pagination:i}=t;if(!Ir.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Ir.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Ir.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Ir.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};PP.default=BPe});var $z=w(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});Nd.retryAfterStatusCodes=void 0;Nd.retryAfterStatusCodes=new Set([413,429,503]);var bPe=({attemptCount:t,retryOptions:e,error:r,retryAfter:i})=>{if(t>e.limit)return 0;let n=e.methods.includes(r.options.method),s=e.errorCodes.includes(r.code),o=r.response&&e.statusCodes.includes(r.response.statusCode);if(!n||!s&&!o)return 0;if(r.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(r.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(t-1)*1e3+a};Nd.default=bPe});var Td=w(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.UnsupportedProtocolError=qt.ReadError=qt.TimeoutError=qt.UploadError=qt.CacheError=qt.HTTPError=qt.MaxRedirectsError=qt.RequestError=qt.setNonEnumerableProperties=qt.knownHookEvents=qt.withoutBody=qt.kIsNormalizedAlready=void 0;var e5=require("util"),t5=require("stream"),QPe=require("fs"),Al=require("url"),r5=require("http"),DP=require("http"),vPe=require("https"),SPe=u4(),kPe=m4(),i5=Z4(),xPe=rz(),PPe=Nz(),DPe=Dw(),Ie=eA(),RPe=Kz(),n5=CP(),FPe=IP(),s5=Gz(),NPe=Yz(),o5=qz(),LPe=Wz(),TPe=SP(),a5=_z(),OPe=kP(),ll=Xz(),MPe=Zz(),KPe=$z(),RP,Ri=Symbol("request"),Tw=Symbol("response"),$g=Symbol("responseSize"),ef=Symbol("downloadedSize"),tf=Symbol("bodySize"),rf=Symbol("uploadedSize"),Ow=Symbol("serverResponsesPiped"),A5=Symbol("unproxyEvents"),l5=Symbol("isFromCache"),FP=Symbol("cancelTimeouts"),c5=Symbol("startedReading"),nf=Symbol("stopReading"),Mw=Symbol("triggerRead"),cl=Symbol("body"),Ld=Symbol("jobs"),u5=Symbol("originalResponse"),g5=Symbol("retryTimeout");qt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var UPe=Ie.default.string(process.versions.brotli);qt.withoutBody=new Set(["GET","HEAD"]);qt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function HPe(t){for(let e in t){let r=t[e];if(!Ie.default.string(r)&&!Ie.default.number(r)&&!Ie.default.boolean(r)&&!Ie.default.null_(r)&&!Ie.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function GPe(t){return Ie.default.object(t)&&!("statusCode"in t)}var NP=new LPe.default,jPe=async t=>new Promise((e,r)=>{let i=n=>{r(n)};t.pending||e(),t.once("error",i),t.once("ready",()=>{t.off("error",i),e()})}),YPe=new Set([300,301,302,303,304,307,308]),qPe=["context","body","json","form"];qt.setNonEnumerableProperties=(t,e)=>{let r={};for(let i of t)if(!!i)for(let n of qPe)n in i&&(r[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,r)};var fi=class extends Error{constructor(e,r,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,i instanceof LP?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[Tw]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,Ie.default.string(r.stack)&&Ie.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` +`).reverse(),a=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` +`)}${a.reverse().join(` +`)}`}}};qt.RequestError=fi;var TP=class extends fi{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};qt.MaxRedirectsError=TP;var OP=class extends fi{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};qt.HTTPError=OP;var MP=class extends fi{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};qt.CacheError=MP;var KP=class extends fi{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};qt.UploadError=KP;var UP=class extends fi{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};qt.TimeoutError=UP;var Kw=class extends fi{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};qt.ReadError=Kw;var HP=class extends fi{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};qt.UnsupportedProtocolError=HP;var JPe=["socket","connect","continue","information","upgrade","timeout"],LP=class extends t5.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[ef]=0,this[rf]=0,this.requestInitialized=!1,this[Ow]=new Set,this.redirects=[],this[nf]=!1,this[Mw]=!1,this[Ld]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof DP.IncomingMessage&&(this.options.headers=N(N({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),qt.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){Ie.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof QPe.ReadStream&&await jPe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Ri])===null||c===void 0||c.destroy();return}for(let g of this[Ld])g();this[Ld].length=0,this.requestInitialized=!0}catch(u){if(u instanceof fi){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(Ie.default.object(e)&&!Ie.default.urlInstance(e))r=N(N(N({},i),e),r);else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r=N(N({},i),r),e!==void 0&&(r.url=e),Ie.default.urlInstance(r.url)&&(r.url=new Al.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),Ie.assert.any([Ie.default.string,Ie.default.undefined],r.method),Ie.assert.any([Ie.default.object,Ie.default.undefined],r.headers),Ie.assert.any([Ie.default.string,Ie.default.urlInstance,Ie.default.undefined],r.prefixUrl),Ie.assert.any([Ie.default.object,Ie.default.undefined],r.cookieJar),Ie.assert.any([Ie.default.object,Ie.default.string,Ie.default.undefined],r.searchParams),Ie.assert.any([Ie.default.object,Ie.default.string,Ie.default.undefined],r.cache),Ie.assert.any([Ie.default.object,Ie.default.number,Ie.default.undefined],r.timeout),Ie.assert.any([Ie.default.object,Ie.default.undefined],r.context),Ie.assert.any([Ie.default.object,Ie.default.undefined],r.hooks),Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.decompress),Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.ignoreInvalidCookies),Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.followRedirect),Ie.assert.any([Ie.default.number,Ie.default.undefined],r.maxRedirects),Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.throwHttpErrors),Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.http2),Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.allowGetBody),Ie.assert.any([Ie.default.string,Ie.default.undefined],r.localAddress),Ie.assert.any([a5.isDnsLookupIpVersion,Ie.default.undefined],r.dnsLookupIpVersion),Ie.assert.any([Ie.default.object,Ie.default.undefined],r.https),Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.rejectUnauthorized),r.https&&(Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.https.rejectUnauthorized),Ie.assert.any([Ie.default.function_,Ie.default.undefined],r.https.checkServerIdentity),Ie.assert.any([Ie.default.string,Ie.default.object,Ie.default.array,Ie.default.undefined],r.https.certificateAuthority),Ie.assert.any([Ie.default.string,Ie.default.object,Ie.default.array,Ie.default.undefined],r.https.key),Ie.assert.any([Ie.default.string,Ie.default.object,Ie.default.array,Ie.default.undefined],r.https.certificate),Ie.assert.any([Ie.default.string,Ie.default.undefined],r.https.passphrase),Ie.assert.any([Ie.default.string,Ie.default.buffer,Ie.default.array,Ie.default.undefined],r.https.pfx)),Ie.assert.any([Ie.default.object,Ie.default.undefined],r.cacheOptions),Ie.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(i==null?void 0:i.headers)?r.headers=N({},r.headers):r.headers=DPe(N(N({},i==null?void 0:i.headers),r.headers)),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(i==null?void 0:i.searchParams)){let h;if(Ie.default.string(r.searchParams)||r.searchParams instanceof Al.URLSearchParams)h=new Al.URLSearchParams(r.searchParams);else{HPe(r.searchParams),h=new Al.URLSearchParams;for(let p in r.searchParams){let m=r.searchParams[p];m===null?h.append(p,""):m!==void 0&&h.append(p,m)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,m)=>{h.has(m)||h.append(m,p)}),r.searchParams=h}if(r.username=(s=r.username)!==null&&s!==void 0?s:"",r.password=(o=r.password)!==null&&o!==void 0?o:"",Ie.default.undefined(r.prefixUrl)?r.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),Ie.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=o5.default(r.prefixUrl+r.url,r)}else(Ie.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=o5.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:h}=r;Object.defineProperty(r,"prefixUrl",{set:m=>{let y=r.url;if(!y.href.startsWith(m))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${m}: ${y.href}`);r.url=new Al.URL(m+y.href.slice(h.length)),h=m},get:()=>h});let{protocol:p}=r.url;if(p==="unix:"&&(p="http:",r.url=new Al.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),p!=="http:"&&p!=="https:")throw new HP(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:u}=r;if(u){let{setCookie:h,getCookieString:p}=u;Ie.assert.function_(h),Ie.assert.function_(p),h.length===4&&p.length===0&&(h=e5.promisify(h.bind(r.cookieJar)),p=e5.promisify(p.bind(r.cookieJar)),r.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=r;if(g&&(NP.has(g)||NP.set(g,new i5((h,p)=>{let m=h[Ri](h,p);return Ie.default.promise(m)&&(m.once=(y,b)=>{if(y==="error")m.catch(b);else if(y==="abort")(async()=>{try{(await m).once("abort",b)}catch(S){}})();else throw new Error(`Unknown HTTP2 promise event: ${y}`);return m}),m},g))),r.cacheOptions=N({},r.cacheOptions),r.dnsCache===!0)RP||(RP=new kPe.default),r.dnsCache=RP;else if(!Ie.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${Ie.default(r.dnsCache)}`);Ie.default.number(r.timeout)?r.timeout={request:r.timeout}:i&&r.timeout!==i.timeout?r.timeout=N(N({},i.timeout),r.timeout):r.timeout=N({},r.timeout),r.context||(r.context={});let f=r.hooks===(i==null?void 0:i.hooks);r.hooks=N({},r.hooks);for(let h of qt.knownHookEvents)if(h in r.hooks)if(Ie.default.array(r.hooks[h]))r.hooks[h]=[...r.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${Ie.default(r.hooks[h])}`);else r.hooks[h]=[];if(i&&!f)for(let h of qt.knownHookEvents)i.hooks[h].length>0&&(r.hooks[h]=[...i.hooks[h],...r.hooks[h]]);if("family"in r&&ll.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(r.https=N(N({},i.https),r.https)),"rejectUnauthorized"in r&&ll.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&ll.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&ll.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&ll.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&ll.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&ll.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&ll.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let h in r.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return r.maxRedirects=(l=r.maxRedirects)!==null&&l!==void 0?l:0,qt.setNonEnumerableProperties([i,c],r),MPe.default(r,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,i=!Ie.default.undefined(e.form),n=!Ie.default.undefined(e.json),s=!Ie.default.undefined(e.body),o=i||n||s,a=qt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof t5.Readable)&&!Ie.default.string(e.body)&&!Ie.default.buffer(e.body)&&!n5.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!Ie.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!Ie.default.string(r["content-type"]);s?(n5.default(e.body)&&l&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[cl]=e.body):i?(l&&(r["content-type"]="application/x-www-form-urlencoded"),this[cl]=new Al.URLSearchParams(e.form).toString()):(l&&(r["content-type"]="application/json"),this[cl]=e.stringifyJson(e.json));let c=await RPe.default(this[cl],e.headers);Ie.default.undefined(r["content-length"])&&Ie.default.undefined(r["transfer-encoding"])&&!a&&!Ie.default.undefined(c)&&(r["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[tf]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:i}=r;this[u5]=e,r.decompress&&(e=xPe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:r5.STATUS_CODES[n],s.url=r.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[l5]=s.isFromCache,this[$g]=Number(e.headers["content-length"])||void 0,this[Tw]=e,e.once("end",()=>{this[$g]=this[ef],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new Kw(a,this))}),e.once("aborted",()=>{this._beforeError(new Kw({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(Ie.default.object(r.cookieJar)&&o){let a=o.map(async l=>r.cookieJar.setCookie(l,i.toString()));r.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(r.followRedirect&&e.headers.location&&YPe.has(n)){if(e.resume(),this[Ri]&&(this[FP](),delete this[Ri],this[A5]()),(n===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[cl]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new TP(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new Al.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(c.username=r.username,c.password=r.password),this.redirects.push(u),r.url=c;for(let g of r.hooks.beforeRedirect)await g(r,s);this.emit("redirect",s,r),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(r.isStream&&r.throwHttpErrors&&!OPe.isResponseOk(s)){this._beforeError(new OP(s));return}e.on("readable",()=>{this[Mw]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[Ow])if(!a.headersSent){for(let l in e.headers){let c=r.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:i,url:n}=r;SPe.default(e),this[FP]=s5.default(e,i,n);let s=r.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof s5.TimeoutError?new UP(l,this.timings,this):new fi(l.message,l,this),this._beforeError(l)}),this[A5]=FPe.default(e,this,JPe),this[Ri]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[cl],a=this.redirects.length===0?this:e;Ie.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new KP(l,this))})):(this._unlockWrite(),Ie.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((i,n)=>{Object.assign(r,NPe.default(e)),delete r.url;let s,o=NP.get(r.cache)(r,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});r.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,r,i,n,s;let{options:o}=this,{headers:a}=o;for(let b in a)if(Ie.default.undefined(a[b]))delete a[b];else if(Ie.default.null_(a[b]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${b}\` header`);if(o.decompress&&Ie.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=UPe?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let b=await o.cookieJar.getCookieString(o.url.toString());Ie.default.nonEmptyString(b)&&(o.headers.cookie=b)}for(let b of o.hooks.beforeRequest){let S=await b(o);if(!Ie.default.undefined(S)){o.request=()=>S;break}}o.body&&this[cl]!==o.body&&(this[cl]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let b=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(b==null?void 0:b.groups){let{socketPath:S,path:k}=b.groups;Object.assign(o,{socketPath:S,path:k,host:""})}}let f=g.protocol==="https:",h;o.http2?h=PPe.auto:h=f?vPe.request:r5.request;let p=(e=o.request)!==null&&e!==void 0?e:h,m=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Ri]=p,delete o.request,delete o.timeout;let y=o;if(y.shared=(r=o.cacheOptions)===null||r===void 0?void 0:r.shared,y.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,y.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,y.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{y.family=a5.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(b){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(y.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(y.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(y.ca=o.https.certificateAuthority),o.https.certificate&&(y.cert=o.https.certificate),o.https.key&&(y.key=o.https.key),o.https.passphrase&&(y.passphrase=o.https.passphrase),o.https.pfx&&(y.pfx=o.https.pfx));try{let b=await m(g,y);Ie.default.undefined(b)&&(b=h(g,y)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete y.rejectUnauthorized,o.https.checkServerIdentity&&delete y.checkServerIdentity,o.https.certificateAuthority&&delete y.ca,o.https.certificate&&delete y.cert,o.https.key&&delete y.key,o.https.passphrase&&delete y.passphrase,o.https.pfx&&delete y.pfx),GPe(b)?this._onRequest(b):this.writable?(this.once("finish",()=>{this._onResponse(b)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(b)}catch(b){throw b instanceof i5.CacheError?new MP(b,this):new fi(b.message,b,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new fi(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[nf])return;let{options:r}=this,i=this.retryCount+1;this[nf]=!0,e instanceof fi||(e=new fi(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await TPe.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await r.retry.calculateDelay({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:KPe.default({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new fi(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new fi(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[g5]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[Mw]=!0;let e=this[Tw];if(e&&!this[nf]){e.readableLength&&(this[Mw]=!1);let r;for(;(r=e.read())!==null;){this[ef]+=r.length,this[c5]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(r)}}}_write(e,r,i){let n=()=>{this._writeRequest(e,r,i)};this.requestInitialized?n():this[Ld].push(n)}_writeRequest(e,r,i){this[Ri].destroyed||(this._progressCallbacks.push(()=>{this[rf]+=Buffer.byteLength(e,r);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Ri].write(e,r,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Ri in this)){e();return}if(this[Ri].destroyed){e();return}this[Ri].end(i=>{i||(this[tf]=this[rf],this.emit("uploadProgress",this.uploadProgress),this[Ri].emit("upload-complete")),e(i)})};this.requestInitialized?r():this[Ld].push(r)}_destroy(e,r){var i;this[nf]=!0,clearTimeout(this[g5]),Ri in this&&(this[FP](),((i=this[Tw])===null||i===void 0?void 0:i.complete)||this[Ri].destroy()),e!==null&&!Ie.default.undefined(e)&&!(e instanceof fi)&&(e=new fi(e.message,e,this)),r(e)}get _isAboutToError(){return this[nf]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,i;return((r=(e=this[Ri])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!((i=this[u5])===null||i===void 0?void 0:i.complete)}get socket(){var e,r;return(r=(e=this[Ri])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[$g]?e=this[ef]/this[$g]:this[$g]===this[ef]?e=1:e=0,{percent:e,transferred:this[ef],total:this[$g]}}get uploadProgress(){let e;return this[tf]?e=this[rf]/this[tf]:this[tf]===this[rf]?e=1:e=0,{percent:e,transferred:this[rf],total:this[tf]}}get timings(){var e;return(e=this[Ri])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[l5]}pipe(e,r){if(this[c5])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof DP.ServerResponse&&this[Ow].add(e),super.pipe(e,r)}unpipe(e){return e instanceof DP.ServerResponse&&this[Ow].delete(e),super.unpipe(e),this}};qt.default=LP});var Od=w(po=>{"use strict";var WPe=po&&po.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),zPe=po&&po.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&WPe(e,t,r)};Object.defineProperty(po,"__esModule",{value:!0});po.CancelError=po.ParseError=void 0;var f5=Td(),h5=class extends f5.RequestError{constructor(e,r){let{options:i}=r.request;super(`${e.message} in "${i.url.toString()}"`,e,r.request);this.name="ParseError"}};po.ParseError=h5;var p5=class extends f5.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};po.CancelError=p5;zPe(Td(),po)});var C5=w(GP=>{"use strict";Object.defineProperty(GP,"__esModule",{value:!0});var d5=Od(),_Pe=(t,e,r,i)=>{let{rawBody:n}=t;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":r(n.toString());if(e==="buffer")return n;throw new d5.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(s){throw new d5.ParseError(s,t)}};GP.default=_Pe});var jP=w(ul=>{"use strict";var VPe=ul&&ul.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),XPe=ul&&ul.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&VPe(e,t,r)};Object.defineProperty(ul,"__esModule",{value:!0});var ZPe=require("events"),$Pe=eA(),eDe=l4(),Uw=Od(),m5=C5(),E5=Td(),tDe=IP(),rDe=SP(),I5=kP(),iDe=["request","response","redirect","uploadProgress","downloadProgress"];function y5(t){let e,r,i=new ZPe.EventEmitter,n=new eDe((o,a,l)=>{let c=u=>{let g=new E5.default(void 0,t);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new Uw.CancelError(g))),e=g,g.once("response",async p=>{var m;if(p.retryCount=u,p.request.aborted)return;let y;try{y=await rDe.default(g),p.rawBody=y}catch(T){return}if(g._isAboutToError)return;let b=((m=p.headers["content-encoding"])!==null&&m!==void 0?m:"").toLowerCase(),S=["gzip","deflate","br"].includes(b),{options:k}=g;if(S&&!k.decompress)p.body=y;else try{p.body=m5.default(p,k.responseType,k.parseJson,k.encoding)}catch(T){if(p.body=y.toString(),I5.isResponseOk(p)){g._beforeError(T);return}}try{for(let[T,Y]of k.hooks.afterResponse.entries())p=await Y(p,async j=>{let Z=E5.default.normalizeArguments(void 0,ie(N({},j),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),k);Z.hooks.afterResponse=Z.hooks.afterResponse.slice(0,T);for(let re of Z.hooks.beforeRetry)await re(Z);let J=y5(Z);return l(()=>{J.catch(()=>{}),J.cancel()}),J})}catch(T){g._beforeError(new Uw.RequestError(T.message,T,g));return}if(!I5.isResponseOk(p)){g._beforeError(new Uw.HTTPError(p));return}r=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:m}=g;if(p instanceof Uw.HTTPError&&!m.throwHttpErrors){let{response:y}=p;o(g.options.resolveBodyOnly?y.body:y);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,m)=>{var y,b;if(h===((y=m.request)===null||y===void 0?void 0:y.options.body)&&$Pe.default.nodeStream((b=m.request)===null||b===void 0?void 0:b.options.body)){f(m);return}c(p)}),tDe.default(g,i,iDe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=r.request;return m5.default(r,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}ul.default=y5;XPe(Od(),ul)});var w5=w(YP=>{"use strict";Object.defineProperty(YP,"__esModule",{value:!0});var nDe=Od();function sDe(t,...e){let r=(async()=>{if(t instanceof nDe.RequestError)try{for(let n of e)if(n)for(let s of n)t=await s(t)}catch(n){t=n}throw t})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}YP.default=sDe});var Q5=w(qP=>{"use strict";Object.defineProperty(qP,"__esModule",{value:!0});var B5=eA();function b5(t){for(let e of Object.values(t))(B5.default.plainObject(e)||B5.default.array(e))&&b5(e);return Object.freeze(t)}qP.default=b5});var S5=w(v5=>{"use strict";Object.defineProperty(v5,"__esModule",{value:!0})});var JP=w(Ls=>{"use strict";var oDe=Ls&&Ls.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),aDe=Ls&&Ls.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&oDe(e,t,r)};Object.defineProperty(Ls,"__esModule",{value:!0});Ls.defaultHandler=void 0;var k5=eA(),Ts=jP(),ADe=w5(),Hw=Td(),lDe=Q5(),cDe={RequestError:Ts.RequestError,CacheError:Ts.CacheError,ReadError:Ts.ReadError,HTTPError:Ts.HTTPError,MaxRedirectsError:Ts.MaxRedirectsError,TimeoutError:Ts.TimeoutError,ParseError:Ts.ParseError,CancelError:Ts.CancelError,UnsupportedProtocolError:Ts.UnsupportedProtocolError,UploadError:Ts.UploadError},uDe=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:Gw}=Hw.default,x5=(...t)=>{let e;for(let r of t)e=Gw(void 0,r,e);return e},gDe=t=>t.isStream?new Hw.default(void 0,t):Ts.default(t),fDe=t=>"defaults"in t&&"options"in t.defaults,hDe=["get","post","put","patch","head","delete"];Ls.defaultHandler=(t,e)=>e(t);var P5=(t,e)=>{if(t)for(let r of t)r(e)},D5=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>t.handlers[l++](u,l===t.handlers.length?gDe:c);if(k5.default.plainObject(i)){let u=N(N({},i),n);Hw.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{P5(t.options.hooks.init,n),P5((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=Gw(i,n,s!=null?s:t.options);if(g[Hw.kIsNormalizedAlready]=!0,u)throw new Ts.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return ADe.default(u,t.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[t.options],s=[...t._rawHandlers],o;for(let a of i)fDe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==Ls.defaultHandler),s.length===0&&s.push(Ls.defaultHandler),D5({options:x5(...n),handlers:s,mutableDefaults:Boolean(o)})};let r=async function*(i,n){let s=Gw(i,n,t.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!k5.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of r(i,n))s.push(o);return s},e.paginate.each=r,e.stream=(i,n)=>e(i,ie(N({},n),{isStream:!0}));for(let i of hDe)e[i]=(n,s)=>e(n,ie(N({},s),{method:i})),e.stream[i]=(n,s)=>e(n,ie(N({},s),{method:i,isStream:!0}));return Object.assign(e,cDe),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:lDe.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=x5,e};Ls.default=D5;aDe(S5(),Ls)});var Yw=w((rA,jw)=>{"use strict";var pDe=rA&&rA.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),R5=rA&&rA.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&pDe(e,t,r)};Object.defineProperty(rA,"__esModule",{value:!0});var dDe=require("url"),F5=JP(),CDe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let i of e){let n=i.split(";");if(n[1].includes("next")){r=n[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new dDe.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[F5.defaultHandler],mutableDefaults:!1},WP=F5.default(CDe);rA.default=WP;jw.exports=WP;jw.exports.default=WP;jw.exports.__esModule=!0;R5(JP(),rA);R5(jP(),rA)});var O5=w(sf=>{"use strict";var jot=require("net"),mDe=require("tls"),zP=require("http"),N5=require("https"),EDe=require("events"),Yot=require("assert"),IDe=require("util");sf.httpOverHttp=yDe;sf.httpsOverHttp=wDe;sf.httpOverHttps=BDe;sf.httpsOverHttps=bDe;function yDe(t){var e=new iA(t);return e.request=zP.request,e}function wDe(t){var e=new iA(t);return e.request=zP.request,e.createSocket=L5,e.defaultPort=443,e}function BDe(t){var e=new iA(t);return e.request=N5.request,e}function bDe(t){var e=new iA(t);return e.request=N5.request,e.createSocket=L5,e.defaultPort=443,e}function iA(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||zP.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=T5(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};iA.prototype.createSocket=function(e,r){var i=this,n={};i.sockets.push(n);var s=_P({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),gl("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){gl("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){gl("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return gl("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,r(f)}function u(g){o.removeAllListeners(),gl(`tunneling socket could not be established, cause=%s +`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};iA.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function L5(t,e){var r=this;iA.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=_P({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=mDe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function T5(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function _P(t){for(var e=1,r=arguments.length;e{M5.exports=O5()});var _5=w((Ww,eD)=>{var z5=Object.assign({},require("fs")),tD=function(){var t=typeof document!="undefined"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!="undefined"&&(t=t||__filename),function(e){e=e||{};var r=typeof e!="undefined"?e:{},i,n;r.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in r)r.hasOwnProperty(o)&&(s[o]=r[o]);var a=[],l="./this.program",c=function(d,E){throw E},u=!1,g=!0,f="";function h(d){return r.locateFile?r.locateFile(d,f):f+d}var p,m,y,b;g&&(u?f=require("path").dirname(f)+"/":f=__dirname+"/",p=function(E,I){var D=Qa(E);return D?I?D:D.toString():(y||(y=z5),b||(b=require("path")),E=b.normalize(E),y.readFileSync(E,I?null:"utf8"))},m=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),X(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),a=process.argv.slice(2),c=function(d){process.exit(d)},r.inspect=function(){return"[Emscripten Module object]"});var S=r.print||console.log.bind(console),k=r.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(r[o]=s[o]);s=null,r.arguments&&(a=r.arguments),r.thisProgram&&(l=r.thisProgram),r.quit&&(c=r.quit);var T=16;function Y(d,E){return E||(E=T),Math.ceil(d/E)*E}var j=0,Z=function(d){j=d},J;r.wasmBinary&&(J=r.wasmBinary);var re=r.noExitRuntime||!0;typeof WebAssembly!="object"&&Sr("no native wasm support detected");function ee(d,E,I){switch(E=E||"i8",E.charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":return de[d>>0];case"i8":return de[d>>0];case"i16":return Qe[d>>1];case"i32":return fe[d>>2];case"i64":return fe[d>>2];case"float":return Ht[d>>2];case"double":return Mt[d>>3];default:Sr("invalid type for getValue: "+E)}return null}var A,oe=!1,le;function X(d,E){d||Sr("Assertion failed: "+E)}function O(d){var E=r["_"+d];return X(E,"Cannot call unknown function "+d+", make sure it is exported"),E}function L(d,E,I,D,M){var _={string:function(nt){var It=0;if(nt!=null&&nt!==0){var ke=(nt.length<<2)+1;It=B(ke),be(nt,It,ke)}return It},array:function(nt){var It=B(nt.length);return Ue(nt,It),It}};function ne(nt){return E==="string"?te(nt):E==="boolean"?Boolean(nt):nt}var Be=O(d),Ee=[],_e=0;if(D)for(var ot=0;ot=D);)++M;if(M-E>16&&d.subarray&&Ce)return Ce.decode(d.subarray(E,M));for(var _="";E>10,56320|_e&1023)}}return _}function te(d,E){return d?Oe(V,d,E):""}function se(d,E,I,D){if(!(D>0))return 0;for(var M=I,_=I+D-1,ne=0;ne=55296&&Be<=57343){var Ee=d.charCodeAt(++ne);Be=65536+((Be&1023)<<10)|Ee&1023}if(Be<=127){if(I>=_)break;E[I++]=Be}else if(Be<=2047){if(I+1>=_)break;E[I++]=192|Be>>6,E[I++]=128|Be&63}else if(Be<=65535){if(I+2>=_)break;E[I++]=224|Be>>12,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}else{if(I+3>=_)break;E[I++]=240|Be>>18,E[I++]=128|Be>>12&63,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}}return E[I]=0,I-M}function be(d,E,I){return se(d,V,E,I)}function he(d){for(var E=0,I=0;I=55296&&D<=57343&&(D=65536+((D&1023)<<10)|d.charCodeAt(++I)&1023),D<=127?++E:D<=2047?E+=2:D<=65535?E+=3:E+=4}return E}function Fe(d){var E=he(d)+1,I=Et(E);return I&&se(d,de,I,E),I}function Ue(d,E){de.set(d,E)}function xe(d,E){return d%E>0&&(d+=E-d%E),d}var Se,de,V,Qe,ce,fe,gt,Ht,Mt;function mi(d){Se=d,r.HEAP8=de=new Int8Array(d),r.HEAP16=Qe=new Int16Array(d),r.HEAP32=fe=new Int32Array(d),r.HEAPU8=V=new Uint8Array(d),r.HEAPU16=ce=new Uint16Array(d),r.HEAPU32=gt=new Uint32Array(d),r.HEAPF32=Ht=new Float32Array(d),r.HEAPF64=Mt=new Float64Array(d)}var Gt=r.INITIAL_MEMORY||16777216,Qr,Ti=[],Vs=[],Un=[],Hn=!1;function vr(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)ya(r.preRun.shift());ko(Ti)}function Gn(){Hn=!0,!r.noFSInit&&!v.init.initialized&&v.init(),hs.init(),ko(Vs)}function gs(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Ru(r.postRun.shift());ko(Un)}function ya(d){Ti.unshift(d)}function kA(d){Vs.unshift(d)}function Ru(d){Un.unshift(d)}var fs=0,xA=null,wa=null;function Fu(d){return d}function PA(d){fs++,r.monitorRunDependencies&&r.monitorRunDependencies(fs)}function DA(d){if(fs--,r.monitorRunDependencies&&r.monitorRunDependencies(fs),fs==0&&(xA!==null&&(clearInterval(xA),xA=null),wa)){var E=wa;wa=null,E()}}r.preloadedImages={},r.preloadedAudios={};function Sr(d){r.onAbort&&r.onAbort(d),d+="",k(d),oe=!0,le=1,d="abort("+d+"). Build with -s ASSERTIONS=1 for more info.";var E=new WebAssembly.RuntimeError(d);throw n(E),E}var jl="data:application/octet-stream;base64,";function Nu(d){return d.startsWith(jl)}var So="data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIcKAJABEAgASgCCCgCKCABKAIIKAIcKAJAIAEoAggoAiQRBAALIAEoAggoAhwoAjgEQCABKAIIKAIoIAEoAggoAhwoAjggASgCCCgCJBEEAAsgASgCCCgCKCABKAIIKAIcIAEoAggoAiQRBAAgASgCCEEANgIcIAFBfUEAIAEoAgRB8QBGGzYCDAsgASgCDCEAIAFBEGokACAAC+sXAQJ/IwBB8ABrIgMgADYCbCADIAE2AmggAyACNgJkIANBfzYCXCADIAMoAmgvAQI2AlQgA0EANgJQIANBBzYCTCADQQQ2AkggAygCVEUEQCADQYoBNgJMIANBAzYCSAsgA0EANgJgA0AgAygCYCADKAJkSkUEQCADIAMoAlQ2AlggAyADKAJoIAMoAmBBAWpBAnRqLwECNgJUIAMgAygCUEEBaiIANgJQAkACQCADKAJMIABMDQAgAygCWCADKAJURw0ADAELAkAgAygCUCADKAJISARAA0AgAyADKAJsQfwUaiADKAJYQQJ0ai8BAjYCRAJAIAMoAmwoArwtQRAgAygCRGtKBEAgAyADKAJsQfwUaiADKAJYQQJ0ai8BADYCQCADKAJsIgAgAC8BuC0gAygCQEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAMoAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAJAQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCREEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJsQfwUaiADKAJYQQJ0ai8BACADKAJsKAK8LXRyOwG4LSADKAJsIgAgAygCRCAAKAK8LWo2ArwtCyADIAMoAlBBAWsiADYCUCAADQALDAELAkAgAygCWARAIAMoAlggAygCXEcEQCADIAMoAmxB/BRqIAMoAlhBAnRqLwECNgI8AkAgAygCbCgCvC1BECADKAI8a0oEQCADIAMoAmxB/BRqIAMoAlhBAnRqLwEANgI4IAMoAmwiACAALwG4LSADKAI4Qf//A3EgAygCbCgCvC10cjsBuC0gAygCbC8BuC1B/wFxIQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbC8BuC1BCHYhASADKAJsKAIIIQIgAygCbCIEKAIUIQAgBCAAQQFqNgIUIAAgAmogAToAACADKAJsIAMoAjhB//8DcUEQIAMoAmwoArwta3U7AbgtIAMoAmwiACAAKAK8LSADKAI8QRBrajYCvC0MAQsgAygCbCIAIAAvAbgtIAMoAmxB/BRqIAMoAlhBAnRqLwEAIAMoAmwoArwtdHI7AbgtIAMoAmwiACADKAI8IAAoArwtajYCvC0LIAMgAygCUEEBazYCUAsgAyADKAJsLwG+FTYCNAJAIAMoAmwoArwtQRAgAygCNGtKBEAgAyADKAJsLwG8FTYCMCADKAJsIgAgAC8BuC0gAygCMEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAMoAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAIwQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCNEEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJsLwG8FSADKAJsKAK8LXRyOwG4LSADKAJsIgAgAygCNCAAKAK8LWo2ArwtCyADQQI2AiwCQCADKAJsKAK8LUEQIAMoAixrSgRAIAMgAygCUEEDazYCKCADKAJsIgAgAC8BuC0gAygCKEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAMoAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAIoQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCLEEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJQQQNrQf//A3EgAygCbCgCvC10cjsBuC0gAygCbCIAIAMoAiwgACgCvC1qNgK8LQsMAQsCQCADKAJQQQpMBEAgAyADKAJsLwHCFTYCJAJAIAMoAmwoArwtQRAgAygCJGtKBEAgAyADKAJsLwHAFTYCICADKAJsIgAgAC8BuC0gAygCIEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAMoAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAIgQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCJEEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJsLwHAFSADKAJsKAK8LXRyOwG4LSADKAJsIgAgAygCJCAAKAK8LWo2ArwtCyADQQM2AhwCQCADKAJsKAK8LUEQIAMoAhxrSgRAIAMgAygCUEEDazYCGCADKAJsIgAgAC8BuC0gAygCGEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAMoAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAIYQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCHEEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJQQQNrQf//A3EgAygCbCgCvC10cjsBuC0gAygCbCIAIAMoAhwgACgCvC1qNgK8LQsMAQsgAyADKAJsLwHGFTYCFAJAIAMoAmwoArwtQRAgAygCFGtKBEAgAyADKAJsLwHEFTYCECADKAJsIgAgAC8BuC0gAygCEEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAMoAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAIQQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCFEEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJsLwHEFSADKAJsKAK8LXRyOwG4LSADKAJsIgAgAygCFCAAKAK8LWo2ArwtCyADQQc2AgwCQCADKAJsKAK8LUEQIAMoAgxrSgRAIAMgAygCUEELazYCCCADKAJsIgAgAC8BuC0gAygCCEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAMoAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAIIQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCDEEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJQQQtrQf//A3EgAygCbCgCvC10cjsBuC0gAygCbCIAIAMoAgwgACgCvC1qNgK8LQsLCwsgA0EANgJQIAMgAygCWDYCXAJAIAMoAlRFBEAgA0GKATYCTCADQQM2AkgMAQsCQCADKAJYIAMoAlRGBEAgA0EGNgJMIANBAzYCSAwBCyADQQc2AkwgA0EENgJICwsLIAMgAygCYEEBajYCYAwBCwsLkQQBAX8jAEEwayIDIAA2AiwgAyABNgIoIAMgAjYCJCADQX82AhwgAyADKAIoLwECNgIUIANBADYCECADQQc2AgwgA0EENgIIIAMoAhRFBEAgA0GKATYCDCADQQM2AggLIAMoAiggAygCJEEBakECdGpB//8DOwECIANBADYCIANAIAMoAiAgAygCJEpFBEAgAyADKAIUNgIYIAMgAygCKCADKAIgQQFqQQJ0ai8BAjYCFCADIAMoAhBBAWoiADYCEAJAAkAgAygCDCAATA0AIAMoAhggAygCFEcNAAwBCwJAIAMoAhAgAygCCEgEQCADKAIsQfwUaiADKAIYQQJ0aiIAIAMoAhAgAC8BAGo7AQAMAQsCQCADKAIYBEAgAygCGCADKAIcRwRAIAMoAiwgAygCGEECdGpB/BRqIgAgAC8BAEEBajsBAAsgAygCLCIAIABBvBVqLwEAQQFqOwG8FQwBCwJAIAMoAhBBCkwEQCADKAIsIgAgAEHAFWovAQBBAWo7AcAVDAELIAMoAiwiACAAQcQVai8BAEEBajsBxBULCwsgA0EANgIQIAMgAygCGDYCHAJAIAMoAhRFBEAgA0GKATYCDCADQQM2AggMAQsCQCADKAIYIAMoAhRGBEAgA0EGNgIMIANBAzYCCAwBCyADQQc2AgwgA0EENgIICwsLIAMgAygCIEEBajYCIAwBCwsLpxIBAn8jAEHQAGsiAyAANgJMIAMgATYCSCADIAI2AkQgA0EANgI4IAMoAkwoAqAtBEADQCADIAMoAkwoAqQtIAMoAjhBAXRqLwEANgJAIAMoAkwoApgtIQAgAyADKAI4IgFBAWo2AjggAyAAIAFqLQAANgI8AkAgAygCQEUEQCADIAMoAkggAygCPEECdGovAQI2AiwCQCADKAJMKAK8LUEQIAMoAixrSgRAIAMgAygCSCADKAI8QQJ0ai8BADYCKCADKAJMIgAgAC8BuC0gAygCKEH//wNxIAMoAkwoArwtdHI7AbgtIAMoAkwvAbgtQf8BcSEBIAMoAkwoAgghAiADKAJMIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAkwvAbgtQQh2IQEgAygCTCgCCCECIAMoAkwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCTCADKAIoQf//A3FBECADKAJMKAK8LWt1OwG4LSADKAJMIgAgACgCvC0gAygCLEEQa2o2ArwtDAELIAMoAkwiACAALwG4LSADKAJIIAMoAjxBAnRqLwEAIAMoAkwoArwtdHI7AbgtIAMoAkwiACADKAIsIAAoArwtajYCvC0LDAELIAMgAygCPC0A0F02AjQgAyADKAJIIAMoAjRBgQJqQQJ0ai8BAjYCJAJAIAMoAkwoArwtQRAgAygCJGtKBEAgAyADKAJIIAMoAjRBgQJqQQJ0ai8BADYCICADKAJMIgAgAC8BuC0gAygCIEH//wNxIAMoAkwoArwtdHI7AbgtIAMoAkwvAbgtQf8BcSEBIAMoAkwoAgghAiADKAJMIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAkwvAbgtQQh2IQEgAygCTCgCCCECIAMoAkwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCTCADKAIgQf//A3FBECADKAJMKAK8LWt1OwG4LSADKAJMIgAgACgCvC0gAygCJEEQa2o2ArwtDAELIAMoAkwiACAALwG4LSADKAJIIAMoAjRBgQJqQQJ0ai8BACADKAJMKAK8LXRyOwG4LSADKAJMIgAgAygCJCAAKAK8LWo2ArwtCyADIAMoAjRBAnRBkOoAaigCADYCMCADKAIwBEAgAyADKAI8IAMoAjRBAnRBgO0AaigCAGs2AjwgAyADKAIwNgIcAkAgAygCTCgCvC1BECADKAIca0oEQCADIAMoAjw2AhggAygCTCIAIAAvAbgtIAMoAhhB//8DcSADKAJMKAK8LXRyOwG4LSADKAJMLwG4LUH/AXEhASADKAJMKAIIIQIgAygCTCIEKAIUIQAgBCAAQQFqNgIUIAAgAmogAToAACADKAJMLwG4LUEIdiEBIAMoAkwoAgghAiADKAJMIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAkwgAygCGEH//wNxQRAgAygCTCgCvC1rdTsBuC0gAygCTCIAIAAoArwtIAMoAhxBEGtqNgK8LQwBCyADKAJMIgAgAC8BuC0gAygCPEH//wNxIAMoAkwoArwtdHI7AbgtIAMoAkwiACADKAIcIAAoArwtajYCvC0LCyADIAMoAkBBAWs2AkAgAwJ/IAMoAkBBgAJJBEAgAygCQC0A0FkMAQsgAygCQEEHdkGAAmotANBZCzYCNCADIAMoAkQgAygCNEECdGovAQI2AhQCQCADKAJMKAK8LUEQIAMoAhRrSgRAIAMgAygCRCADKAI0QQJ0ai8BADYCECADKAJMIgAgAC8BuC0gAygCEEH//wNxIAMoAkwoArwtdHI7AbgtIAMoAkwvAbgtQf8BcSEBIAMoAkwoAgghAiADKAJMIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAkwvAbgtQQh2IQEgAygCTCgCCCECIAMoAkwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCTCADKAIQQf//A3FBECADKAJMKAK8LWt1OwG4LSADKAJMIgAgACgCvC0gAygCFEEQa2o2ArwtDAELIAMoAkwiACAALwG4LSADKAJEIAMoAjRBAnRqLwEAIAMoAkwoArwtdHI7AbgtIAMoAkwiACADKAIUIAAoArwtajYCvC0LIAMgAygCNEECdEGQ6wBqKAIANgIwIAMoAjAEQCADIAMoAkAgAygCNEECdEGA7gBqKAIAazYCQCADIAMoAjA2AgwCQCADKAJMKAK8LUEQIAMoAgxrSgRAIAMgAygCQDYCCCADKAJMIgAgAC8BuC0gAygCCEH//wNxIAMoAkwoArwtdHI7AbgtIAMoAkwvAbgtQf8BcSEBIAMoAkwoAgghAiADKAJMIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAkwvAbgtQQh2IQEgAygCTCgCCCECIAMoAkwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCTCADKAIIQf//A3FBECADKAJMKAK8LWt1OwG4LSADKAJMIgAgACgCvC0gAygCDEEQa2o2ArwtDAELIAMoAkwiACAALwG4LSADKAJAQf//A3EgAygCTCgCvC10cjsBuC0gAygCTCIAIAMoAgwgACgCvC1qNgK8LQsLCyADKAI4IAMoAkwoAqAtSQ0ACwsgAyADKAJILwGCCDYCBAJAIAMoAkwoArwtQRAgAygCBGtKBEAgAyADKAJILwGACDYCACADKAJMIgAgAC8BuC0gAygCAEH//wNxIAMoAkwoArwtdHI7AbgtIAMoAkwvAbgtQf8BcSEBIAMoAkwoAgghAiADKAJMIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAkwvAbgtQQh2IQEgAygCTCgCCCECIAMoAkwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCTCADKAIAQf//A3FBECADKAJMKAK8LWt1OwG4LSADKAJMIgAgACgCvC0gAygCBEEQa2o2ArwtDAELIAMoAkwiACAALwG4LSADKAJILwGACCADKAJMKAK8LXRyOwG4LSADKAJMIgAgAygCBCAAKAK8LWo2ArwtCwuXAgEEfyMAQRBrIgEgADYCDAJAIAEoAgwoArwtQRBGBEAgASgCDC8BuC1B/wFxIQIgASgCDCgCCCEDIAEoAgwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAI6AAAgASgCDC8BuC1BCHYhAiABKAIMKAIIIQMgASgCDCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAjoAACABKAIMQQA7AbgtIAEoAgxBADYCvC0MAQsgASgCDCgCvC1BCE4EQCABKAIMLwG4LSECIAEoAgwoAgghAyABKAIMIgQoAhQhACAEIABBAWo2AhQgACADaiACOgAAIAEoAgwiACAALwG4LUEIdjsBuC0gASgCDCIAIAAoArwtQQhrNgK8LQsLC+8BAQR/IwBBEGsiASAANgIMAkAgASgCDCgCvC1BCEoEQCABKAIMLwG4LUH/AXEhAiABKAIMKAIIIQMgASgCDCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAjoAACABKAIMLwG4LUEIdiECIAEoAgwoAgghAyABKAIMIgQoAhQhACAEIABBAWo2AhQgACADaiACOgAADAELIAEoAgwoArwtQQBKBEAgASgCDC8BuC0hAiABKAIMKAIIIQMgASgCDCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAjoAAAsLIAEoAgxBADsBuC0gASgCDEEANgK8LQv8AQEBfyMAQRBrIgEgADYCDCABQQA2AggDQCABKAIIQZ4CTkUEQCABKAIMQZQBaiABKAIIQQJ0akEAOwEAIAEgASgCCEEBajYCCAwBCwsgAUEANgIIA0AgASgCCEEeTkUEQCABKAIMQYgTaiABKAIIQQJ0akEAOwEAIAEgASgCCEEBajYCCAwBCwsgAUEANgIIA0AgASgCCEETTkUEQCABKAIMQfwUaiABKAIIQQJ0akEAOwEAIAEgASgCCEEBajYCCAwBCwsgASgCDEEBOwGUCSABKAIMQQA2AqwtIAEoAgxBADYCqC0gASgCDEEANgKwLSABKAIMQQA2AqAtCyIBAX8jAEEQayIBJAAgASAANgIMIAEoAgwQFSABQRBqJAAL6QEBAX8jAEEwayICIAA2AiQgAiABNwMYIAJCADcDECACIAIoAiQpAwhCAX03AwgCQANAIAIpAxAgAikDCFQEQCACIAIpAxAgAikDCCACKQMQfUIBiHw3AwACQCACKAIkKAIEIAIpAwCnQQN0aikDACACKQMYVgRAIAIgAikDAEIBfTcDCAwBCwJAIAIpAwAgAigCJCkDCFIEQCACKAIkKAIEIAIpAwBCAXynQQN0aikDACACKQMYWA0BCyACIAIpAwA3AygMBAsgAiACKQMAQgF8NwMQCwwBCwsgAiACKQMQNwMoCyACKQMoC6cBAQF/IwBBMGsiBCQAIAQgADYCKCAEIAE2AiQgBCACNwMYIAQgAzYCFCAEIAQoAigpAzggBCgCKCkDMCAEKAIkIAQpAxggBCgCFBCIATcDCAJAIAQpAwhCAFMEQCAEQX82AiwMAQsgBCgCKCAEKQMINwM4IAQoAiggBCgCKCkDOBDAASECIAQoAiggAjcDQCAEQQA2AiwLIAQoAiwhACAEQTBqJAAgAAvrAQEBfyMAQSBrIgMkACADIAA2AhggAyABNwMQIAMgAjYCDAJAIAMpAxAgAygCGCkDEFQEQCADQQE6AB8MAQsgAyADKAIYKAIAIAMpAxBCBIanEE4iADYCCCAARQRAIAMoAgxBDkEAEBQgA0EAOgAfDAELIAMoAhggAygCCDYCACADIAMoAhgoAgQgAykDEEIBfEIDhqcQTiIANgIEIABFBEAgAygCDEEOQQAQFCADQQA6AB8MAQsgAygCGCADKAIENgIEIAMoAhggAykDEDcDECADQQE6AB8LIAMtAB9BAXEhACADQSBqJAAgAAvOAgEBfyMAQTBrIgQkACAEIAA2AiggBCABNwMgIAQgAjYCHCAEIAM2AhgCQAJAIAQoAigNACAEKQMgUA0AIAQoAhhBEkEAEBQgBEEANgIsDAELIAQgBCgCKCAEKQMgIAQoAhwgBCgCGBBMIgA2AgwgAEUEQCAEQQA2AiwMAQsgBEEYEBgiADYCFCAARQRAIAQoAhhBDkEAEBQgBCgCDBAyIARBADYCLAwBCyAEKAIUIAQoAgw2AhAgBCgCFEEANgIUQQAQASEAIAQoAhQgADYCDCMAQRBrIgAgBCgCFDYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCAEQQIgBCgCFCAEKAIYEIMBIgA2AhAgAEUEQCAEKAIUKAIQEDIgBCgCFBAVIARBADYCLAwBCyAEIAQoAhA2AiwLIAQoAiwhACAEQTBqJAAgAAupAQEBfyMAQTBrIgQkACAEIAA2AiggBCABNwMgIAQgAjYCHCAEIAM2AhgCQCAEKAIoRQRAIAQpAyBCAFIEQCAEKAIYQRJBABAUIARBADYCLAwCCyAEQQBCACAEKAIcIAQoAhgQwwE2AiwMAQsgBCAEKAIoNgIIIAQgBCkDIDcDECAEIARBCGpCASAEKAIcIAQoAhgQwwE2AiwLIAQoAiwhACAEQTBqJAAgAAtGAQF/IwBBIGsiAyQAIAMgADYCHCADIAE3AxAgAyACNgIMIAMoAhwgAykDECADKAIMIAMoAhxBCGoQTSEAIANBIGokACAAC4sMAQZ/IAAgAWohBQJAAkAgACgCBCICQQFxDQAgAkEDcUUNASAAKAIAIgIgAWohAQJAIAAgAmsiAEH4mwEoAgBHBEAgAkH/AU0EQCAAKAIIIgQgAkEDdiICQQN0QYycAWpGGiAAKAIMIgMgBEcNAkHkmwFB5JsBKAIAQX4gAndxNgIADAMLIAAoAhghBgJAIAAgACgCDCIDRwRAIAAoAggiAkH0mwEoAgBJGiACIAM2AgwgAyACNgIIDAELAkAgAEEUaiICKAIAIgQNACAAQRBqIgIoAgAiBA0AQQAhAwwBCwNAIAIhByAEIgNBFGoiAigCACIEDQAgA0EQaiECIAMoAhAiBA0ACyAHQQA2AgALIAZFDQICQCAAIAAoAhwiBEECdEGUngFqIgIoAgBGBEAgAiADNgIAIAMNAUHomwFB6JsBKAIAQX4gBHdxNgIADAQLIAZBEEEUIAYoAhAgAEYbaiADNgIAIANFDQMLIAMgBjYCGCAAKAIQIgIEQCADIAI2AhAgAiADNgIYCyAAKAIUIgJFDQIgAyACNgIUIAIgAzYCGAwCCyAFKAIEIgJBA3FBA0cNAUHsmwEgATYCACAFIAJBfnE2AgQgACABQQFyNgIEIAUgATYCAA8LIAQgAzYCDCADIAQ2AggLAkAgBSgCBCICQQJxRQRAIAVB/JsBKAIARgRAQfybASAANgIAQfCbAUHwmwEoAgAgAWoiATYCACAAIAFBAXI2AgQgAEH4mwEoAgBHDQNB7JsBQQA2AgBB+JsBQQA2AgAPCyAFQfibASgCAEYEQEH4mwEgADYCAEHsmwFB7JsBKAIAIAFqIgE2AgAgACABQQFyNgIEIAAgAWogATYCAA8LIAJBeHEgAWohAQJAIAJB/wFNBEAgBSgCCCIEIAJBA3YiAkEDdEGMnAFqRhogBCAFKAIMIgNGBEBB5JsBQeSbASgCAEF+IAJ3cTYCAAwCCyAEIAM2AgwgAyAENgIIDAELIAUoAhghBgJAIAUgBSgCDCIDRwRAIAUoAggiAkH0mwEoAgBJGiACIAM2AgwgAyACNgIIDAELAkAgBUEUaiIEKAIAIgINACAFQRBqIgQoAgAiAg0AQQAhAwwBCwNAIAQhByACIgNBFGoiBCgCACICDQAgA0EQaiEEIAMoAhAiAg0ACyAHQQA2AgALIAZFDQACQCAFIAUoAhwiBEECdEGUngFqIgIoAgBGBEAgAiADNgIAIAMNAUHomwFB6JsBKAIAQX4gBHdxNgIADAILIAZBEEEUIAYoAhAgBUYbaiADNgIAIANFDQELIAMgBjYCGCAFKAIQIgIEQCADIAI2AhAgAiADNgIYCyAFKAIUIgJFDQAgAyACNgIUIAIgAzYCGAsgACABQQFyNgIEIAAgAWogATYCACAAQfibASgCAEcNAUHsmwEgATYCAA8LIAUgAkF+cTYCBCAAIAFBAXI2AgQgACABaiABNgIACyABQf8BTQRAIAFBA3YiAkEDdEGMnAFqIQECf0HkmwEoAgAiA0EBIAJ0IgJxRQRAQeSbASACIANyNgIAIAEMAQsgASgCCAshAiABIAA2AgggAiAANgIMIAAgATYCDCAAIAI2AggPC0EfIQIgAEIANwIQIAFB////B00EQCABQQh2IgIgAkGA/j9qQRB2QQhxIgR0IgIgAkGA4B9qQRB2QQRxIgN0IgIgAkGAgA9qQRB2QQJxIgJ0QQ92IAMgBHIgAnJrIgJBAXQgASACQRVqdkEBcXJBHGohAgsgACACNgIcIAJBAnRBlJ4BaiEHAkACQEHomwEoAgAiBEEBIAJ0IgNxRQRAQeibASADIARyNgIAIAcgADYCACAAIAc2AhgMAQsgAUEAQRkgAkEBdmsgAkEfRht0IQIgBygCACEDA0AgAyIEKAIEQXhxIAFGDQIgAkEddiEDIAJBAXQhAiAEIANBBHFqIgdBEGooAgAiAw0ACyAHIAA2AhAgACAENgIYCyAAIAA2AgwgACAANgIIDwsgBCgCCCIBIAA2AgwgBCAANgIIIABBADYCGCAAIAQ2AgwgACABNgIICwsGAEG0mwELtQkBAX8jAEHgwABrIgUkACAFIAA2AtRAIAUgATYC0EAgBSACNgLMQCAFIAM3A8BAIAUgBDYCvEAgBSAFKALQQDYCuEACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBSgCvEAOEQMEAAYBAgUJCgoKCgoKCAoHCgsgBUIANwPYQAwKCyAFIAUoArhAQeQAaiAFKALMQCAFKQPAQBBDNwPYQAwJCyAFKAK4QBAVIAVCADcD2EAMCAsgBSgCuEAoAhAEQCAFIAUoArhAKAIQIAUoArhAKQMYIAUoArhAQeQAahBgIgM3A5hAIANQBEAgBUJ/NwPYQAwJCyAFKAK4QCkDCCAFKAK4QCkDCCAFKQOYQHxWBEAgBSgCuEBB5ABqQRVBABAUIAVCfzcD2EAMCQsgBSgCuEAiACAFKQOYQCAAKQMAfDcDACAFKAK4QCIAIAUpA5hAIAApAwh8NwMIIAUoArhAQQA2AhALIAUoArhALQB4QQFxRQRAIAVCADcDqEADQCAFKQOoQCAFKAK4QCkDAFQEQCAFIAUoArhAKQMAIAUpA6hAfUKAwABWBH5CgMAABSAFKAK4QCkDACAFKQOoQH0LNwOgQCAFIAUoAtRAIAVBEGogBSkDoEAQKyIDNwOwQCADQgBTBEAgBSgCuEBB5ABqIAUoAtRAEBcgBUJ/NwPYQAwLCyAFKQOwQFAEQCAFKAK4QEHkAGpBEUEAEBQgBUJ/NwPYQAwLBSAFIAUpA7BAIAUpA6hAfDcDqEAMAgsACwsLIAUoArhAIAUoArhAKQMANwMgIAVCADcD2EAMBwsgBSkDwEAgBSgCuEApAwggBSgCuEApAyB9VgRAIAUgBSgCuEApAwggBSgCuEApAyB9NwPAQAsgBSkDwEBQBEAgBUIANwPYQAwHCyAFKAK4QC0AeEEBcQRAIAUoAtRAIAUoArhAKQMgQQAQJ0EASARAIAUoArhAQeQAaiAFKALUQBAXIAVCfzcD2EAMCAsLIAUgBSgC1EAgBSgCzEAgBSkDwEAQKyIDNwOwQCADQgBTBEAgBSgCuEBB5ABqQRFBABAUIAVCfzcD2EAMBwsgBSgCuEAiACAFKQOwQCAAKQMgfDcDICAFKQOwQFAEQCAFKAK4QCkDICAFKAK4QCkDCFQEQCAFKAK4QEHkAGpBEUEAEBQgBUJ/NwPYQAwICwsgBSAFKQOwQDcD2EAMBgsgBSAFKAK4QCkDICAFKAK4QCkDAH0gBSgCuEApAwggBSgCuEApAwB9IAUoAsxAIAUpA8BAIAUoArhAQeQAahCIATcDCCAFKQMIQgBTBEAgBUJ/NwPYQAwGCyAFKAK4QCAFKQMIIAUoArhAKQMAfDcDICAFQgA3A9hADAULIAUgBSgCzEA2AgQgBSgCBCAFKAK4QEEoaiAFKAK4QEHkAGoQhAFBAEgEQCAFQn83A9hADAULIAVCADcD2EAMBAsgBSAFKAK4QCwAYKw3A9hADAMLIAUgBSgCuEApA3A3A9hADAILIAUgBSgCuEApAyAgBSgCuEApAwB9NwPYQAwBCyAFKAK4QEHkAGpBHEEAEBQgBUJ/NwPYQAsgBSkD2EAhAyAFQeDAAGokACADCwgAQQFBDBB/CyIBAX8jAEEQayIBIAA2AgwgASgCDCIAIAAoAjBBAWo2AjALBwAgACgCLAsHACAAKAIoCxgBAX8jAEEQayIBIAA2AgwgASgCDEEMagsHACAAKAIYCwcAIAAoAhALBwAgACgCCAtFAEGgmwFCADcDAEGYmwFCADcDAEGQmwFCADcDAEGImwFCADcDAEGAmwFCADcDAEH4mgFCADcDAEHwmgFCADcDAEHwmgELFAAgACABrSACrUIghoQgAyAEEH4LEwEBfiAAEEkiAUIgiKcQACABpwsVACAAIAGtIAKtQiCGhCADIAQQxAELFAAgACABIAKtIAOtQiCGhCAEEH0LrQQBAX8jAEEgayIFJAAgBSAANgIYIAUgAa0gAq1CIIaENwMQIAUgAzYCDCAFIAQ2AggCQAJAIAUpAxAgBSgCGCkDMFQEQCAFKAIIQQlNDQELIAUoAhhBCGpBEkEAEBQgBUF/NgIcDAELIAUoAhgoAhhBAnEEQCAFKAIYQQhqQRlBABAUIAVBfzYCHAwBCwJ/IAUoAgwhASMAQRBrIgAkACAAIAE2AgggAEEBOgAHAkAgACgCCEUEQCAAQQE6AA8MAQsgACAAKAIIIAAtAAdBAXEQswFBAEc6AA8LIAAtAA9BAXEhASAAQRBqJAAgAUULBEAgBSgCGEEIakEQQQAQFCAFQX82AhwMAQsgBSAFKAIYKAJAIAUpAxCnQQR0ajYCBCAFIAUoAgQoAgAEfyAFKAIEKAIAKAIQBUF/CzYCAAJAIAUoAgwgBSgCAEYEQCAFKAIEKAIEBEAgBSgCBCgCBCIAIAAoAgBBfnE2AgAgBSgCBCgCBEEAOwFQIAUoAgQoAgQoAgBFBEAgBSgCBCgCBBA3IAUoAgRBADYCBAsLDAELIAUoAgQoAgRFBEAgBSgCBCgCABBAIQAgBSgCBCAANgIEIABFBEAgBSgCGEEIakEOQQAQFCAFQX82AhwMAwsLIAUoAgQoAgQgBSgCDDYCECAFKAIEKAIEIAUoAgg7AVAgBSgCBCgCBCIAIAAoAgBBAXI2AgALIAVBADYCHAsgBSgCHCEAIAVBIGokACAACxcBAX4gACABIAIQciIDQiCIpxAAIAOnCx8BAX4gACABIAKtIAOtQiCGhBArIgRCIIinEAAgBKcLrgECAX8BfgJ/IwBBIGsiAiAANgIUIAIgATYCEAJAIAIoAhRFBEAgAkJ/NwMYDAELIAIoAhBBCHEEQCACIAIoAhQpAzA3AwgDQCACKQMIQgBSBH8gAigCFCgCQCACKQMIQgF9p0EEdGooAgAFQQELRQRAIAIgAikDCEIBfTcDCAwBCwsgAiACKQMINwMYDAELIAIgAigCFCkDMDcDGAsgAikDGCIDQiCIpwsQACADpwsTACAAIAGtIAKtQiCGhCADEMUBC4gCAgF/AX4CfyMAQSBrIgQkACAEIAA2AhQgBCABNgIQIAQgAq0gA61CIIaENwMIAkAgBCgCFEUEQCAEQn83AxgMAQsgBCgCFCgCBARAIARCfzcDGAwBCyAEKQMIQv///////////wBWBEAgBCgCFEEEakESQQAQFCAEQn83AxgMAQsCQCAEKAIULQAQQQFxRQRAIAQpAwhQRQ0BCyAEQgA3AxgMAQsgBCAEKAIUKAIUIAQoAhAgBCkDCBArIgU3AwAgBUIAUwRAIAQoAhRBBGogBCgCFCgCFBAXIARCfzcDGAwBCyAEIAQpAwA3AxgLIAQpAxghBSAEQSBqJAAgBUIgiKcLEAAgBacLTwEBfyMAQSBrIgQkACAEIAA2AhwgBCABrSACrUIghoQ3AxAgBCADNgIMIAQoAhwgBCkDECAEKAIMIAQoAhwoAhwQrQEhACAEQSBqJAAgAAvZAwEBfyMAQSBrIgUkACAFIAA2AhggBSABrSACrUIghoQ3AxAgBSADNgIMIAUgBDYCCAJAIAUoAhggBSkDEEEAQQAQP0UEQCAFQX82AhwMAQsgBSgCGCgCGEECcQRAIAUoAhhBCGpBGUEAEBQgBUF/NgIcDAELIAUoAhgoAkAgBSkDEKdBBHRqKAIIBEAgBSgCGCgCQCAFKQMQp0EEdGooAgggBSgCDBBnQQBIBEAgBSgCGEEIakEPQQAQFCAFQX82AhwMAgsgBUEANgIcDAELIAUgBSgCGCgCQCAFKQMQp0EEdGo2AgQgBSAFKAIEKAIABH8gBSgCDCAFKAIEKAIAKAIURwVBAQtBAXE2AgACQCAFKAIABEAgBSgCBCgCBEUEQCAFKAIEKAIAEEAhACAFKAIEIAA2AgQgAEUEQCAFKAIYQQhqQQ5BABAUIAVBfzYCHAwECwsgBSgCBCgCBCAFKAIMNgIUIAUoAgQoAgQiACAAKAIAQSByNgIADAELIAUoAgQoAgQEQCAFKAIEKAIEIgAgACgCAEFfcTYCACAFKAIEKAIEKAIARQRAIAUoAgQoAgQQNyAFKAIEQQA2AgQLCwsgBUEANgIcCyAFKAIcIQAgBUEgaiQAIAALFwAgACABrSACrUIghoQgAyAEIAUQmQELEgAgACABrSACrUIghoQgAxAnC48BAgF/AX4CfyMAQSBrIgQkACAEIAA2AhQgBCABNgIQIAQgAjYCDCAEIAM2AggCQAJAIAQoAhAEQCAEKAIMDQELIAQoAhRBCGpBEkEAEBQgBEJ/NwMYDAELIAQgBCgCFCAEKAIQIAQoAgwgBCgCCBCaATcDGAsgBCkDGCEFIARBIGokACAFQiCIpwsQACAFpwuFBQIBfwF+An8jAEEwayIDJAAgAyAANgIkIAMgATYCICADIAI2AhwCQCADKAIkKAIYQQJxBEAgAygCJEEIakEZQQAQFCADQn83AygMAQsgAygCIEUEQCADKAIkQQhqQRJBABAUIANCfzcDKAwBCyADQQA2AgwgAyADKAIgEC42AhggAygCICADKAIYQQFraiwAAEEvRwRAIAMgAygCGEECahAYIgA2AgwgAEUEQCADKAIkQQhqQQ5BABAUIANCfzcDKAwCCwJAAkAgAygCDCIBIAMoAiAiAHNBA3ENACAAQQNxBEADQCABIAAtAAAiAjoAACACRQ0DIAFBAWohASAAQQFqIgBBA3ENAAsLIAAoAgAiAkF/cyACQYGChAhrcUGAgYKEeHENAANAIAEgAjYCACAAKAIEIQIgAUEEaiEBIABBBGohACACQYGChAhrIAJBf3NxQYCBgoR4cUUNAAsLIAEgAC0AACICOgAAIAJFDQADQCABIAAtAAEiAjoAASABQQFqIQEgAEEBaiEAIAINAAsLIAMoAgwgAygCGGpBLzoAACADKAIMIAMoAhhBAWpqQQA6AAALIAMgAygCJEEAQgBBABB9IgA2AgggAEUEQCADKAIMEBUgA0J/NwMoDAELIAMgAygCJAJ/IAMoAgwEQCADKAIMDAELIAMoAiALIAMoAgggAygCHBCaATcDECADKAIMEBUCQCADKQMQQgBTBEAgAygCCBAbDAELIAMoAiQgAykDEEEAQQNBgID8jwQQmQFBAEgEQCADKAIkIAMpAxAQmAEaIANCfzcDKAwCCwsgAyADKQMQNwMoCyADKQMoIQQgA0EwaiQAIARCIIinCxAAIASnCxEAIAAgAa0gAq1CIIaEEJgBCxcAIAAgAa0gAq1CIIaEIAMgBCAFEIoBC38CAX8BfiMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCECADIAMoAhggAygCFCADKAIQEHIiBDcDCAJAIARCAFMEQCADQQA2AhwMAQsgAyADKAIYIAMpAwggAygCECADKAIYKAIcEK0BNgIcCyADKAIcIQAgA0EgaiQAIAALEAAjACAAa0FwcSIAJAAgAAsGACAAJAALBAAjAAuCAQIBfwF+IwBBIGsiBCQAIAQgADYCGCAEIAE2AhQgBCACNgIQIAQgAzYCDCAEIAQoAhggBCgCFCAEKAIQEHIiBTcDAAJAIAVCAFMEQCAEQX82AhwMAQsgBCAEKAIYIAQpAwAgBCgCECAEKAIMEH42AhwLIAQoAhwhACAEQSBqJAAgAAvQRQMGfwF+AnwjAEHgAGsiASQAIAEgADYCWAJAIAEoAlhFBEAgAUF/NgJcDAELIwBBIGsiACABKAJYNgIcIAAgAUFAazYCGCAAQQA2AhQgAEIANwMAAkAgACgCHC0AKEEBcUUEQCAAKAIcKAIYIAAoAhwoAhRGDQELIABBATYCFAsgAEIANwMIA0AgACkDCCAAKAIcKQMwVARAAkACQCAAKAIcKAJAIAApAwinQQR0aigCCA0AIAAoAhwoAkAgACkDCKdBBHRqLQAMQQFxDQAgACgCHCgCQCAAKQMIp0EEdGooAgRFDQEgACgCHCgCQCAAKQMIp0EEdGooAgQoAgBFDQELIABBATYCFAsgACgCHCgCQCAAKQMIp0EEdGotAAxBAXFFBEAgACAAKQMAQgF8NwMACyAAIAApAwhCAXw3AwgMAQsLIAAoAhgEQCAAKAIYIAApAwA3AwALIAEgACgCFDYCJCABKQNAUARAAkAgASgCWCgCBEEIcUUEQCABKAIkRQ0BCwJ/IAEoAlgoAgAhAiMAQRBrIgAkACAAIAI2AggCQCAAKAIIKAIkQQNGBEAgAEEANgIMDAELIAAoAggoAiAEQCAAKAIIEC9BAEgEQCAAQX82AgwMAgsLIAAoAggoAiQEQCAAKAIIEGILIAAoAghBAEIAQQ8QIEIAUwRAIABBfzYCDAwBCyAAKAIIQQM2AiQgAEEANgIMCyAAKAIMIQIgAEEQaiQAIAJBAEgLBEACQAJ/IwBBEGsiACABKAJYKAIANgIMIwBBEGsiAiAAKAIMQQxqNgIMIAIoAgwoAgBBFkYLBEAjAEEQayIAIAEoAlgoAgA2AgwjAEEQayICIAAoAgxBDGo2AgwgAigCDCgCBEEsRg0BCyABKAJYQQhqIAEoAlgoAgAQFyABQX82AlwMBAsLCyABKAJYEDwgAUEANgJcDAELIAEoAiRFBEAgASgCWBA8IAFBADYCXAwBCyABKQNAIAEoAlgpAzBWBEAgASgCWEEIakEUQQAQFCABQX82AlwMAQsgASABKQNAp0EDdBAYIgA2AiggAEUEQCABQX82AlwMAQsgAUJ/NwM4IAFCADcDSCABQgA3A1ADQCABKQNQIAEoAlgpAzBUBEACQCABKAJYKAJAIAEpA1CnQQR0aigCAEUNAAJAIAEoAlgoAkAgASkDUKdBBHRqKAIIDQAgASgCWCgCQCABKQNQp0EEdGotAAxBAXENACABKAJYKAJAIAEpA1CnQQR0aigCBEUNASABKAJYKAJAIAEpA1CnQQR0aigCBCgCAEUNAQsgAQJ+IAEpAzggASgCWCgCQCABKQNQp0EEdGooAgApA0hUBEAgASkDOAwBCyABKAJYKAJAIAEpA1CnQQR0aigCACkDSAs3AzgLIAEoAlgoAkAgASkDUKdBBHRqLQAMQQFxRQRAIAEpA0ggASkDQFoEQCABKAIoEBUgASgCWEEIakEUQQAQFCABQX82AlwMBAsgASgCKCABKQNIp0EDdGogASkDUDcDACABIAEpA0hCAXw3A0gLIAEgASkDUEIBfDcDUAwBCwsgASkDSCABKQNAVARAIAEoAigQFSABKAJYQQhqQRRBABAUIAFBfzYCXAwBCwJAAn8jAEEQayIAIAEoAlgoAgA2AgwgACgCDCkDGEKAgAiDUAsEQCABQgA3AzgMAQsgASkDOEJ/UQRAIAFCfzcDGCABQgA3AzggAUIANwNQA0AgASkDUCABKAJYKQMwVARAIAEoAlgoAkAgASkDUKdBBHRqKAIABEAgASgCWCgCQCABKQNQp0EEdGooAgApA0ggASkDOFoEQCABIAEoAlgoAkAgASkDUKdBBHRqKAIAKQNINwM4IAEgASkDUDcDGAsLIAEgASkDUEIBfDcDUAwBCwsgASkDGEJ/UgRAIAEoAlghAiABKQMYIQcgASgCWEEIaiEDIwBBMGsiACQAIAAgAjYCJCAAIAc3AxggACADNgIUIAAgACgCJCAAKQMYIAAoAhQQYCIHNwMIAkAgB1AEQCAAQgA3AygMAQsgACAAKAIkKAJAIAApAxinQQR0aigCADYCBAJAIAApAwggACkDCCAAKAIEKQMgfFgEQCAAKQMIIAAoAgQpAyB8Qv///////////wBYDQELIAAoAhRBBEEWEBQgAEIANwMoDAELIAAgACgCBCkDICAAKQMIfDcDCCAAKAIELwEMQQhxBEAgACgCJCgCACAAKQMIQQAQJ0EASARAIAAoAhQgACgCJCgCABAXIABCADcDKAwCCyAAKAIkKAIAIABCBBArQgRSBEAgACgCFCAAKAIkKAIAEBcgAEIANwMoDAILIAAoAABB0JadwABGBEAgACAAKQMIQgR8NwMICyAAIAApAwhCDHw3AwggACgCBEEAEGVBAXEEQCAAIAApAwhCCHw3AwgLIAApAwhC////////////AFYEQCAAKAIUQQRBFhAUIABCADcDKAwCCwsgACAAKQMINwMoCyAAKQMoIQcgAEEwaiQAIAEgBzcDOCAHUARAIAEoAigQFSABQX82AlwMBAsLCyABKQM4QgBSBEACfyABKAJYKAIAIQIgASkDOCEHIwBBEGsiACQAIAAgAjYCCCAAIAc3AwACQCAAKAIIKAIkQQFGBEAgACgCCEEMakESQQAQFCAAQX82AgwMAQsgACgCCEEAIAApAwBBERAgQgBTBEAgAEF/NgIMDAELIAAoAghBATYCJCAAQQA2AgwLIAAoAgwhAiAAQRBqJAAgAkEASAsEQCABQgA3AzgLCwsgASkDOFAEQAJ/IAEoAlgoAgAhAiMAQRBrIgAkACAAIAI2AggCQCAAKAIIKAIkQQFGBEAgACgCCEEMakESQQAQFCAAQX82AgwMAQsgACgCCEEAQgBBCBAgQgBTBEAgAEF/NgIMDAELIAAoAghBATYCJCAAQQA2AgwLIAAoAgwhAiAAQRBqJAAgAkEASAsEQCABKAJYQQhqIAEoAlgoAgAQFyABKAIoEBUgAUF/NgJcDAILCyABKAJYKAJUIQIjAEEQayIAJAAgACACNgIMIAAoAgwEQCAAKAIMRAAAAAAAAAAAOQMYIAAoAgwoAgBEAAAAAAAAAAAgACgCDCgCDCAAKAIMKAIEERYACyAAQRBqJAAgAUEANgIsIAFCADcDSANAAkAgASkDSCABKQNAWg0AIAEoAlgoAlQhAiABKQNIIge6IAEpA0C6IgijIQkjAEEgayIAJAAgACACNgIcIAAgCTkDECAAIAdCAXy6IAijOQMIIAAoAhwEQCAAKAIcIAArAxA5AyAgACgCHCAAKwMIOQMoIAAoAhxEAAAAAAAAAAAQVwsgAEEgaiQAIAEgASgCKCABKQNIp0EDdGopAwA3A1AgASABKAJYKAJAIAEpA1CnQQR0ajYCEAJAAkAgASgCECgCAEUNACABKAIQKAIAKQNIIAEpAzhaDQAMAQsgAQJ/QQEgASgCECgCCA0AGiABKAIQKAIEBEBBASABKAIQKAIEKAIAQQFxDQEaCyABKAIQKAIEBH8gASgCECgCBCgCAEHAAHFBAEcFQQALC0EBcTYCFCABKAIQKAIERQRAIAEoAhAoAgAQQCEAIAEoAhAgADYCBCAARQRAIAEoAlhBCGpBDkEAEBQgAUEBNgIsDAMLCyABIAEoAhAoAgQ2AgwCfyABKAJYIQIgASkDUCEHIwBBMGsiACQAIAAgAjYCKCAAIAc3AyACQCAAKQMgIAAoAigpAzBaBEAgACgCKEEIakESQQAQFCAAQX82AiwMAQsgACAAKAIoKAJAIAApAyCnQQR0ajYCHAJAIAAoAhwoAgAEQCAAKAIcKAIALQAEQQFxRQ0BCyAAQQA2AiwMAQsgACgCHCgCACkDSEIafEL///////////8AVgRAIAAoAihBCGpBBEEWEBQgAEF/NgIsDAELIAAoAigoAgAgACgCHCgCACkDSEIafEEAECdBAEgEQCAAKAIoQQhqIAAoAigoAgAQFyAAQX82AiwMAQsgACAAKAIoKAIAQgQgAEEYaiAAKAIoQQhqEEIiAjYCFCACRQRAIABBfzYCLAwBCyAAIAAoAhQQHTsBEiAAIAAoAhQQHTsBECAAKAIUEEdBAXFFBEAgACgCFBAWIAAoAihBCGpBFEEAEBQgAEF/NgIsDAELIAAoAhQQFiAALwEQBEAgACgCKCgCACAALwESrUEBECdBAEgEQCAAKAIoQQhqQQRBtJsBKAIAEBQgAEF/NgIsDAILIABBACAAKAIoKAIAIAAvARBBACAAKAIoQQhqEGM2AgggACgCCEUEQCAAQX82AiwMAgsgACgCCCAALwEQQYACIABBDGogACgCKEEIahCUAUEBcUUEQCAAKAIIEBUgAEF/NgIsDAILIAAoAggQFSAAKAIMBEAgACAAKAIMEJMBNgIMIAAoAhwoAgAoAjQgACgCDBCVASECIAAoAhwoAgAgAjYCNAsLIAAoAhwoAgBBAToABAJAIAAoAhwoAgRFDQAgACgCHCgCBC0ABEEBcQ0AIAAoAhwoAgQgACgCHCgCACgCNDYCNCAAKAIcKAIEQQE6AAQLIABBADYCLAsgACgCLCECIABBMGokACACQQBICwRAIAFBATYCLAwCCyABIAEoAlgoAgAQNSIHNwMwIAdCAFMEQCABQQE2AiwMAgsgASgCDCABKQMwNwNIAkAgASgCFARAIAFBADYCCCABKAIQKAIIRQRAIAEgASgCWCABKAJYIAEpA1BBCEEAEK4BIgA2AgggAEUEQCABQQE2AiwMBQsLAn8gASgCWCECAn8gASgCCARAIAEoAggMAQsgASgCECgCCAshAyABKAIMIQQjAEGgAWsiACQAIAAgAjYCmAEgACADNgKUASAAIAQ2ApABAkAgACgClAEgAEE4ahA5QQBIBEAgACgCmAFBCGogACgClAEQFyAAQX82ApwBDAELIAApAzhCwACDUARAIAAgACkDOELAAIQ3AzggAEEAOwFoCwJAAkAgACgCkAEoAhBBf0cEQCAAKAKQASgCEEF+Rw0BCyAALwFoRQ0AIAAoApABIAAvAWg2AhAMAQsCQAJAIAAoApABKAIQDQAgACkDOEIEg1ANACAAIAApAzhCCIQ3AzggACAAKQNQNwNYDAELIAAgACkDOEL3////D4M3AzgLCyAAKQM4QoABg1AEQCAAIAApAzhCgAGENwM4IABBADsBagsgAEGAAjYCJAJAIAApAzhCBINQBEAgACAAKAIkQYAIcjYCJCAAQn83A3AMAQsgACgCkAEgACkDUDcDKCAAIAApA1A3A3ACQCAAKQM4QgiDUARAAkACQAJAAkACQAJ/AkAgACgCkAEoAhBBf0cEQCAAKAKQASgCEEF+Rw0BC0EIDAELIAAoApABKAIQC0H//wNxDg0CAwMDAwMDAwEDAwMAAwsgAEKUwuTzDzcDEAwDCyAAQoODsP8PNwMQDAILIABC/////w83AxAMAQsgAEIANwMQCyAAKQNQIAApAxBWBEAgACAAKAIkQYAIcjYCJAsMAQsgACgCkAEgACkDWDcDIAsLIAAgACgCmAEoAgAQNSIHNwOIASAHQgBTBEAgACgCmAFBCGogACgCmAEoAgAQFyAAQX82ApwBDAELIAAoApABIgIgAi8BDEH3/wNxOwEMIAAgACgCmAEgACgCkAEgACgCJBBUIgI2AiggAkEASARAIABBfzYCnAEMAQsgACAALwFoAn8CQCAAKAKQASgCEEF/RwRAIAAoApABKAIQQX5HDQELQQgMAQsgACgCkAEoAhALQf//A3FHOgAiIAAgAC0AIkEBcQR/IAAvAWhBAEcFQQALQQFxOgAhIAAgAC8BaAR/IAAtACEFQQELQQFxOgAgIAAgAC0AIkEBcQR/IAAoApABKAIQQQBHBUEAC0EBcToAHyAAAn9BASAALQAiQQFxDQAaQQEgACgCkAEoAgBBgAFxDQAaIAAoApABLwFSIAAvAWpHC0EBcToAHiAAIAAtAB5BAXEEfyAALwFqQQBHBUEAC0EBcToAHSAAIAAtAB5BAXEEfyAAKAKQAS8BUkEARwVBAAtBAXE6ABwgACAAKAKUATYCNCMAQRBrIgIgACgCNDYCDCACKAIMIgIgAigCMEEBajYCMCAALQAdQQFxBEAgACAALwFqQQAQeyICNgIMIAJFBEAgACgCmAFBCGpBGEEAEBQgACgCNBAbIABBfzYCnAEMAgsgACAAKAKYASAAKAI0IAAvAWpBACAAKAKYASgCHCAAKAIMEQUAIgI2AjAgAkUEQCAAKAI0EBsgAEF/NgKcAQwCCyAAKAI0EBsgACAAKAIwNgI0CyAALQAhQQFxBEAgACAAKAKYASAAKAI0IAAvAWgQsAEiAjYCMCACRQRAIAAoAjQQGyAAQX82ApwBDAILIAAoAjQQGyAAIAAoAjA2AjQLIAAtACBBAXEEQCAAIAAoApgBIAAoAjRBABCvASICNgIwIAJFBEAgACgCNBAbIABBfzYCnAEMAgsgACgCNBAbIAAgACgCMDYCNAsgAC0AH0EBcQRAIAAoApgBIQMgACgCNCEEIAAoApABKAIQIQUgACgCkAEvAVAhBiMAQRBrIgIkACACIAM2AgwgAiAENgIIIAIgBTYCBCACIAY2AgAgAigCDCACKAIIIAIoAgRBASACKAIAELIBIQMgAkEQaiQAIAAgAyICNgIwIAJFBEAgACgCNBAbIABBfzYCnAEMAgsgACgCNBAbIAAgACgCMDYCNAsgAC0AHEEBcQRAIABBADYCBAJAIAAoApABKAJUBEAgACAAKAKQASgCVDYCBAwBCyAAKAKYASgCHARAIAAgACgCmAEoAhw2AgQLCyAAIAAoApABLwFSQQEQeyICNgIIIAJFBEAgACgCmAFBCGpBGEEAEBQgACgCNBAbIABBfzYCnAEMAgsgACAAKAKYASAAKAI0IAAoApABLwFSQQEgACgCBCAAKAIIEQUAIgI2AjAgAkUEQCAAKAI0EBsgAEF/NgKcAQwCCyAAKAI0EBsgACAAKAIwNgI0CyAAIAAoApgBKAIAEDUiBzcDgAEgB0IAUwRAIAAoApgBQQhqIAAoApgBKAIAEBcgAEF/NgKcAQwBCyAAKAKYASEDIAAoAjQhBCAAKQNwIQcjAEHAwABrIgIkACACIAM2ArhAIAIgBDYCtEAgAiAHNwOoQAJAIAIoArRAEEhBAEgEQCACKAK4QEEIaiACKAK0QBAXIAJBfzYCvEAMAQsgAkEANgIMIAJCADcDEANAAkAgAiACKAK0QCACQSBqQoDAABArIgc3AxggB0IAVw0AIAIoArhAIAJBIGogAikDGBA2QQBIBEAgAkF/NgIMBSACKQMYQoDAAFINAiACKAK4QCgCVEUNAiACKQOoQEIAVw0CIAIgAikDGCACKQMQfDcDECACKAK4QCgCVCACKQMQuSACKQOoQLmjEFcMAgsLCyACKQMYQgBTBEAgAigCuEBBCGogAigCtEAQFyACQX82AgwLIAIoArRAEC8aIAIgAigCDDYCvEALIAIoArxAIQMgAkHAwABqJAAgACADNgIsIAAoAjQgAEE4ahA5QQBIBEAgACgCmAFBCGogACgCNBAXIABBfzYCLAsgACgCNCEDIwBBEGsiAiQAIAIgAzYCCAJAA0AgAigCCARAIAIoAggpAxhCgIAEg0IAUgRAIAIgAigCCEEAQgBBEBAgNwMAIAIpAwBCAFMEQCACQf8BOgAPDAQLIAIpAwBCA1UEQCACKAIIQQxqQRRBABAUIAJB/wE6AA8MBAsgAiACKQMAPAAPDAMFIAIgAigCCCgCADYCCAwCCwALCyACQQA6AA8LIAIsAA8hAyACQRBqJAAgACADIgI6ACMgAkEYdEEYdUEASARAIAAoApgBQQhqIAAoAjQQFyAAQX82AiwLIAAoAjQQGyAAKAIsQQBIBEAgAEF/NgKcAQwBCyAAIAAoApgBKAIAEDUiBzcDeCAHQgBTBEAgACgCmAFBCGogACgCmAEoAgAQFyAAQX82ApwBDAELIAAoApgBKAIAIAApA4gBEJsBQQBIBEAgACgCmAFBCGogACgCmAEoAgAQFyAAQX82ApwBDAELIAApAzhC5ACDQuQAUgRAIAAoApgBQQhqQRRBABAUIABBfzYCnAEMAQsgACgCkAEoAgBBIHFFBEACQCAAKQM4QhCDQgBSBEAgACgCkAEgACgCYDYCFAwBCyAAKAKQAUEUahABGgsLIAAoApABIAAvAWg2AhAgACgCkAEgACgCZDYCGCAAKAKQASAAKQNQNwMoIAAoApABIAApA3ggACkDgAF9NwMgIAAoApABIAAoApABLwEMQfn/A3EgAC0AI0EBdHI7AQwgACgCkAEhAyAAKAIkQYAIcUEARyEEIwBBEGsiAiQAIAIgAzYCDCACIAQ6AAsCQCACKAIMKAIQQQ5GBEAgAigCDEE/OwEKDAELIAIoAgwoAhBBDEYEQCACKAIMQS47AQoMAQsCQCACLQALQQFxRQRAIAIoAgxBABBlQQFxRQ0BCyACKAIMQS07AQoMAQsCQCACKAIMKAIQQQhHBEAgAigCDC8BUkEBRw0BCyACKAIMQRQ7AQoMAQsgAiACKAIMKAIwEFEiAzsBCCADQf//A3EEQCACKAIMKAIwKAIAIAIvAQhBAWtqLQAAQS9GBEAgAigCDEEUOwEKDAILCyACKAIMQQo7AQoLIAJBEGokACAAIAAoApgBIAAoApABIAAoAiQQVCICNgIsIAJBAEgEQCAAQX82ApwBDAELIAAoAiggACgCLEcEQCAAKAKYAUEIakEUQQAQFCAAQX82ApwBDAELIAAoApgBKAIAIAApA3gQmwFBAEgEQCAAKAKYAUEIaiAAKAKYASgCABAXIABBfzYCnAEMAQsgAEEANgKcAQsgACgCnAEhAiAAQaABaiQAIAJBAEgLBEAgAUEBNgIsIAEoAggEQCABKAIIEBsLDAQLIAEoAggEQCABKAIIEBsLDAELIAEoAgwiACAALwEMQff/A3E7AQwgASgCWCABKAIMQYACEFRBAEgEQCABQQE2AiwMAwsgASABKAJYIAEpA1AgASgCWEEIahBgIgc3AwAgB1AEQCABQQE2AiwMAwsgASgCWCgCACABKQMAQQAQJ0EASARAIAEoAlhBCGogASgCWCgCABAXIAFBATYCLAwDCwJ/IAEoAlghAiABKAIMKQMgIQcjAEGgwABrIgAkACAAIAI2AphAIAAgBzcDkEAgACAAKQOQQLo5AwACQANAIAApA5BAUEUEQCAAIAApA5BAQoDAAFYEfkKAwAAFIAApA5BACz4CDCAAKAKYQCgCACAAQRBqIAAoAgytIAAoAphAQQhqEGRBAEgEQCAAQX82ApxADAMLIAAoAphAIABBEGogACgCDK0QNkEASARAIABBfzYCnEAMAwUgACAAKQOQQCAANQIMfTcDkEAgACgCmEAoAlQgACsDACAAKQOQQLqhIAArAwCjEFcMAgsACwsgAEEANgKcQAsgACgCnEAhAiAAQaDAAGokACACQQBICwRAIAFBATYCLAwDCwsLIAEgASkDSEIBfDcDSAwBCwsgASgCLEUEQAJ/IAEoAlghACABKAIoIQMgASkDQCEHIwBBMGsiAiQAIAIgADYCKCACIAM2AiQgAiAHNwMYIAIgAigCKCgCABA1Igc3AxACQCAHQgBTBEAgAkF/NgIsDAELIAIoAighAyACKAIkIQQgAikDGCEHIwBBwAFrIgAkACAAIAM2ArQBIAAgBDYCsAEgACAHNwOoASAAIAAoArQBKAIAEDUiBzcDIAJAIAdCAFMEQCAAKAK0AUEIaiAAKAK0ASgCABAXIABCfzcDuAEMAQsgACAAKQMgNwOgASAAQQA6ABcgAEIANwMYA0AgACkDGCAAKQOoAVQEQCAAIAAoArQBKAJAIAAoArABIAApAxinQQN0aikDAKdBBHRqNgIMIAAgACgCtAECfyAAKAIMKAIEBEAgACgCDCgCBAwBCyAAKAIMKAIAC0GABBBUIgM2AhAgA0EASARAIABCfzcDuAEMAwsgACgCEARAIABBAToAFwsgACAAKQMYQgF8NwMYDAELCyAAIAAoArQBKAIAEDUiBzcDICAHQgBTBEAgACgCtAFBCGogACgCtAEoAgAQFyAAQn83A7gBDAELIAAgACkDICAAKQOgAX03A5gBAkAgACkDoAFC/////w9YBEAgACkDqAFC//8DWA0BCyAAQQE6ABcLIAAgAEEwakLiABApIgM2AiwgA0UEQCAAKAK0AUEIakEOQQAQFCAAQn83A7gBDAELIAAtABdBAXEEQCAAKAIsQecSQQQQQSAAKAIsQiwQLSAAKAIsQS0QHyAAKAIsQS0QHyAAKAIsQQAQISAAKAIsQQAQISAAKAIsIAApA6gBEC0gACgCLCAAKQOoARAtIAAoAiwgACkDmAEQLSAAKAIsIAApA6ABEC0gACgCLEHiEkEEEEEgACgCLEEAECEgACgCLCAAKQOgASAAKQOYAXwQLSAAKAIsQQEQIQsgACgCLEHsEkEEEEEgACgCLEEAECEgACgCLCAAKQOoAUL//wNaBH5C//8DBSAAKQOoAQunQf//A3EQHyAAKAIsIAApA6gBQv//A1oEfkL//wMFIAApA6gBC6dB//8DcRAfIAAoAiwgACkDmAFC/////w9aBH9BfwUgACkDmAGnCxAhIAAoAiwgACkDoAFC/////w9aBH9BfwUgACkDoAGnCxAhIAACfyAAKAK0AS0AKEEBcQRAIAAoArQBKAIkDAELIAAoArQBKAIgCzYClAEgACgCLAJ/IAAoApQBBEAgACgClAEvAQQMAQtBAAtB//8DcRAfAn8jAEEQayIDIAAoAiw2AgwgAygCDC0AAEEBcUULBEAgACgCtAFBCGpBFEEAEBQgACgCLBAWIABCfzcDuAEMAQsgACgCtAECfyMAQRBrIgMgACgCLDYCDCADKAIMKAIECwJ+IwBBEGsiAyAAKAIsNgIMAn4gAygCDC0AAEEBcQRAIAMoAgwpAxAMAQtCAAsLEDZBAEgEQCAAKAIsEBYgAEJ/NwO4AQwBCyAAKAIsEBYgACgClAEEQCAAKAK0ASAAKAKUASgCACAAKAKUAS8BBK0QNkEASARAIABCfzcDuAEMAgsLIAAgACkDmAE3A7gBCyAAKQO4ASEHIABBwAFqJAAgAiAHNwMAIAdCAFMEQCACQX82AiwMAQsgAiACKAIoKAIAEDUiBzcDCCAHQgBTBEAgAkF/NgIsDAELIAJBADYCLAsgAigCLCEAIAJBMGokACAAQQBICwRAIAFBATYCLAsLIAEoAigQFSABKAIsRQRAAn8gASgCWCgCACECIwBBEGsiACQAIAAgAjYCCAJAIAAoAggoAiRBAUcEQCAAKAIIQQxqQRJBABAUIABBfzYCDAwBCyAAKAIIKAIgQQFLBEAgACgCCEEMakEdQQAQFCAAQX82AgwMAQsgACgCCCgCIARAIAAoAggQL0EASARAIABBfzYCDAwCCwsgACgCCEEAQgBBCRAgQgBTBEAgACgCCEECNgIkIABBfzYCDAwBCyAAKAIIQQA2AiQgAEEANgIMCyAAKAIMIQIgAEEQaiQAIAILBEAgASgCWEEIaiABKAJYKAIAEBcgAUEBNgIsCwsgASgCWCgCVCECIwBBEGsiACQAIAAgAjYCDCAAKAIMRAAAAAAAAPA/EFcgAEEQaiQAIAEoAiwEQCABKAJYKAIAEGIgAUF/NgJcDAELIAEoAlgQPCABQQA2AlwLIAEoAlwhACABQeAAaiQAIAAL0g4CB38CfiMAQTBrIgMkACADIAA2AiggAyABNgIkIAMgAjYCICMAQRBrIgAgA0EIajYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCADKAIoIQAjAEEgayIEJAAgBCAANgIYIARCADcDECAEQn83AwggBCADQQhqNgIEAkACQCAEKAIYBEAgBCkDCEJ/WQ0BCyAEKAIEQRJBABAUIARBADYCHAwBCyAEKAIYIQAgBCkDECEKIAQpAwghCyAEKAIEIQEjAEGgAWsiAiQAIAIgADYCmAEgAkEANgKUASACIAo3A4gBIAIgCzcDgAEgAkEANgJ8IAIgATYCeAJAAkAgAigClAENACACKAKYAQ0AIAIoAnhBEkEAEBQgAkEANgKcAQwBCyACKQOAAUIAUwRAIAJCADcDgAELAkAgAikDiAFC////////////AFgEQCACKQOIASACKQOIASACKQOAAXxYDQELIAIoAnhBEkEAEBQgAkEANgKcAQwBCyACQYgBEBgiADYCdCAARQRAIAIoAnhBDkEAEBQgAkEANgKcAQwBCyACKAJ0QQA2AhggAigCmAEEQCACKAKYASIAEC5BAWoiARAYIgUEfyAFIAAgARAZBUEACyEAIAIoAnQgADYCGCAARQRAIAIoAnhBDkEAEBQgAigCdBAVIAJBADYCnAEMAgsLIAIoAnQgAigClAE2AhwgAigCdCACKQOIATcDaCACKAJ0IAIpA4ABNwNwAkAgAigCfARAIAIoAnQiACACKAJ8IgEpAwA3AyAgACABKQMwNwNQIAAgASkDKDcDSCAAIAEpAyA3A0AgACABKQMYNwM4IAAgASkDEDcDMCAAIAEpAwg3AyggAigCdEEANgIoIAIoAnQiACAAKQMgQv7///8PgzcDIAwBCyACKAJ0QSBqEDsLIAIoAnQpA3BCAFIEQCACKAJ0IAIoAnQpA3A3AzggAigCdCIAIAApAyBCBIQ3AyALIwBBEGsiACACKAJ0QdgAajYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCACKAJ0QQA2AoABIAIoAnRBADYChAEjAEEQayIAIAIoAnQ2AgwgACgCDEEANgIAIAAoAgxBADYCBCAAKAIMQQA2AgggAkF/NgIEIAJBBzYCAEEOIAIQNEI/hCEKIAIoAnQgCjcDEAJAIAIoAnQoAhgEQCACIAIoAnQoAhggAkEYahCmAUEATjoAFyACLQAXQQFxRQRAAkAgAigCdCkDaFBFDQAgAigCdCkDcFBFDQAgAigCdEL//wM3AxALCwwBCwJAIAIoAnQoAhwiACgCTEEASA0ACyAAKAI8IQBBACEFIwBBIGsiBiQAAn8CQCAAIAJBGGoiCRAKIgFBeEYEQCMAQSBrIgckACAAIAdBCGoQCSIIBH9BtJsBIAg2AgBBAAVBAQshCCAHQSBqJAAgCA0BCyABQYFgTwR/QbSbAUEAIAFrNgIAQX8FIAELDAELA0AgBSAGaiIBIAVBxxJqLQAAOgAAIAVBDkchByAFQQFqIQUgBw0ACwJAIAAEQEEPIQUgACEBA0AgAUEKTwRAIAVBAWohBSABQQpuIQEMAQsLIAUgBmpBADoAAANAIAYgBUEBayIFaiAAIABBCm4iAUEKbGtBMHI6AAAgAEEJSyEHIAEhACAHDQALDAELIAFBMDoAACAGQQA6AA8LIAYgCRACIgBBgWBPBH9BtJsBQQAgAGs2AgBBfwUgAAsLIQAgBkEgaiQAIAIgAEEATjoAFwsCQCACLQAXQQFxRQRAIAIoAnRB2ABqQQVBtJsBKAIAEBQMAQsgAigCdCkDIEIQg1AEQCACKAJ0IAIoAlg2AkggAigCdCIAIAApAyBCEIQ3AyALIAIoAiRBgOADcUGAgAJGBEAgAigCdEL/gQE3AxAgAikDQCACKAJ0KQNoIAIoAnQpA3B8VARAIAIoAnhBEkEAEBQgAigCdCgCGBAVIAIoAnQQFSACQQA2ApwBDAMLIAIoAnQpA3BQBEAgAigCdCACKQNAIAIoAnQpA2h9NwM4IAIoAnQiACAAKQMgQgSENwMgAkAgAigCdCgCGEUNACACKQOIAVBFDQAgAigCdEL//wM3AxALCwsLIAIoAnQiACAAKQMQQoCAEIQ3AxAgAkEeIAIoAnQgAigCeBCDASIANgJwIABFBEAgAigCdCgCGBAVIAIoAnQQFSACQQA2ApwBDAELIAIgAigCcDYCnAELIAIoApwBIQAgAkGgAWokACAEIAA2AhwLIAQoAhwhACAEQSBqJAAgAyAANgIYAkAgAEUEQCADKAIgIANBCGoQnQEgA0EIahA4IANBADYCLAwBCyADIAMoAhggAygCJCADQQhqEJwBIgA2AhwgAEUEQCADKAIYEBsgAygCICADQQhqEJ0BIANBCGoQOCADQQA2AiwMAQsgA0EIahA4IAMgAygCHDYCLAsgAygCLCEAIANBMGokACAAC5IfAQZ/IwBB4ABrIgQkACAEIAA2AlQgBCABNgJQIAQgAjcDSCAEIAM2AkQgBCAEKAJUNgJAIAQgBCgCUDYCPAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQoAkQOEwYHAgwEBQoOAQMJEAsPDQgREQARCyAEQgA3A1gMEQsgBCgCQCgCGEUEQCAEKAJAQRxBABAUIARCfzcDWAwRCyAEKAJAIQAjAEGAAWsiASQAIAEgADYCeCABIAEoAngoAhgQLkEIahAYIgA2AnQCQCAARQRAIAEoAnhBDkEAEBQgAUF/NgJ8DAELAkAgASgCeCgCGCABQRBqEKYBRQRAIAEgASgCHDYCbAwBCyABQX82AmwLIAEoAnQhACABIAEoAngoAhg2AgAgAEGrEiABEG8gASgCdCEDIAEoAmwhByMAQTBrIgAkACAAIAM2AiggACAHNgIkIABBADYCECAAIAAoAiggACgCKBAuajYCGCAAIAAoAhhBAWs2AhwDQCAAKAIcIAAoAihPBH8gACgCHCwAAEHYAEYFQQALQQFxBEAgACAAKAIQQQFqNgIQIAAgACgCHEEBazYCHAwBCwsCQCAAKAIQRQRAQbSbAUEcNgIAIABBfzYCLAwBCyAAIAAoAhxBAWo2AhwDQCMAQRBrIgckAAJAAn8jAEEQayIDJAAgAyAHQQhqNgIIIANBBDsBBiADQegLQQBBABBsIgU2AgACQCAFQQBIBEAgA0EAOgAPDAELAn8gAygCACEGIAMoAgghCCADLwEGIQkjAEEQayIFJAAgBSAJNgIMIAUgCDYCCCAGIAVBCGpBASAFQQRqEAYiBgR/QbSbASAGNgIAQX8FQQALIQYgBSgCBCEIIAVBEGokACADLwEGQX8gCCAGG0cLBEAgAygCABBrIANBADoADwwBCyADKAIAEGsgA0EBOgAPCyADLQAPQQFxIQUgA0EQaiQAIAULBEAgByAHKAIINgIMDAELQcCgAS0AAEEBcUUEQEEAEAEhBgJAQciZASgCACIDRQRAQcyZASgCACAGNgIADAELQdCZAUEDQQNBASADQQdGGyADQR9GGzYCAEG8oAFBADYCAEHMmQEoAgAhBSADQQFOBEAgBq0hAkEAIQYDQCAFIAZBAnRqIAJCrf7V5NSF/ajYAH5CAXwiAkIgiD4CACAGQQFqIgYgA0cNAAsLIAUgBSgCAEEBcjYCAAsLQcyZASgCACEDAkBByJkBKAIAIgVFBEAgAyADKAIAQe2cmY4EbEG54ABqQf////8HcSIDNgIADAELIANB0JkBKAIAIgZBAnRqIgggCCgCACADQbygASgCACIIQQJ0aigCAGoiAzYCAEG8oAFBACAIQQFqIgggBSAIRhs2AgBB0JkBQQAgBkEBaiIGIAUgBkYbNgIAIANBAXYhAwsgByADNgIMCyAHKAIMIQMgB0EQaiQAIAAgAzYCDCAAIAAoAhw2AhQDQCAAKAIUIAAoAhhJBEAgACAAKAIMQSRwOgALAn8gACwAC0EKSARAIAAsAAtBMGoMAQsgACwAC0HXAGoLIQMgACAAKAIUIgdBAWo2AhQgByADOgAAIAAgACgCDEEkbjYCDAwBCwsgACgCKCEDIAAgACgCJEF/RgR/QbYDBSAAKAIkCzYCACAAIANBwoEgIAAQbCIDNgIgIANBAE4EQCAAKAIkQX9HBEAgACgCKCAAKAIkEA8iA0GBYE8Ef0G0mwFBACADazYCAEEABSADCxoLIAAgACgCIDYCLAwCC0G0mwEoAgBBFEYNAAsgAEF/NgIsCyAAKAIsIQMgAEEwaiQAIAEgAyIANgJwIABBf0YEQCABKAJ4QQxBtJsBKAIAEBQgASgCdBAVIAFBfzYCfAwBCyABIAEoAnBBoxIQoQEiADYCaCAARQRAIAEoAnhBDEG0mwEoAgAQFCABKAJwEGsgASgCdBBtGiABKAJ0EBUgAUF/NgJ8DAELIAEoAnggASgCaDYChAEgASgCeCABKAJ0NgKAASABQQA2AnwLIAEoAnwhACABQYABaiQAIAQgAKw3A1gMEAsgBCgCQCgCGARAIAQoAkAoAhwQVhogBCgCQEEANgIcCyAEQgA3A1gMDwsgBCgCQCgChAEQVkEASARAIAQoAkBBADYChAEgBCgCQEEGQbSbASgCABAUCyAEKAJAQQA2AoQBIAQoAkAoAoABIAQoAkAoAhgQCCIAQYFgTwR/QbSbAUEAIABrNgIAQX8FIAALQQBIBEAgBCgCQEECQbSbASgCABAUIARCfzcDWAwPCyAEKAJAKAKAARAVIAQoAkBBADYCgAEgBEIANwNYDA4LIAQgBCgCQCAEKAJQIAQpA0gQQzcDWAwNCyAEKAJAKAIYEBUgBCgCQCgCgAEQFSAEKAJAKAIcBEAgBCgCQCgCHBBWGgsgBCgCQBAVIARCADcDWAwMCyAEKAJAKAIYBEAgBCgCQCgCGCEBIwBBIGsiACQAIAAgATYCGCAAQQA6ABcgAEGAgCA2AgwCQCAALQAXQQFxBEAgACAAKAIMQQJyNgIMDAELIAAgACgCDDYCDAsgACgCGCEBIAAoAgwhAyAAQbYDNgIAIAAgASADIAAQbCIBNgIQAkAgAUEASARAIABBADYCHAwBCyAAIAAoAhBBoxJBoBIgAC0AF0EBcRsQoQEiATYCCCABRQRAIABBADYCHAwBCyAAIAAoAgg2AhwLIAAoAhwhASAAQSBqJAAgBCgCQCABNgIcIAFFBEAgBCgCQEELQbSbASgCABAUIARCfzcDWAwNCwsgBCgCQCkDaEIAUgRAIAQoAkAoAhwgBCgCQCkDaCAEKAJAEJ8BQQBIBEAgBEJ/NwNYDA0LCyAEKAJAQgA3A3ggBEIANwNYDAsLAkAgBCgCQCkDcEIAUgRAIAQgBCgCQCkDcCAEKAJAKQN4fTcDMCAEKQMwIAQpA0hWBEAgBCAEKQNINwMwCwwBCyAEIAQpA0g3AzALIAQpAzBC/////w9WBEAgBEL/////DzcDMAsgBAJ/IAQoAjwhByAEKQMwpyEAIAQoAkAoAhwiAygCTBogAyADLQBKIgFBAWsgAXI6AEogAygCCCADKAIEIgVrIgFBAUgEfyAABSAHIAUgASAAIAAgAUsbIgEQGRogAyADKAIEIAFqNgIEIAEgB2ohByAAIAFrCyIBBEADQAJAAn8gAyADLQBKIgVBAWsgBXI6AEogAygCFCADKAIcSwRAIANBAEEAIAMoAiQRAQAaCyADQQA2AhwgA0IANwMQIAMoAgAiBUEEcQRAIAMgBUEgcjYCAEF/DAELIAMgAygCLCADKAIwaiIGNgIIIAMgBjYCBCAFQRt0QR91C0UEQCADIAcgASADKAIgEQEAIgVBAWpBAUsNAQsgACABawwDCyAFIAdqIQcgASAFayIBDQALCyAACyIANgIsIABFBEACfyAEKAJAKAIcIgAoAkxBf0wEQCAAKAIADAELIAAoAgALQQV2QQFxBEAgBCgCQEEFQbSbASgCABAUIARCfzcDWAwMCwsgBCgCQCIAIAApA3ggBCgCLK18NwN4IAQgBCgCLK03A1gMCgsgBCgCQCgCGBBtQQBIBEAgBCgCQEEWQbSbASgCABAUIARCfzcDWAwKCyAEQgA3A1gMCQsgBCgCQCgChAEEQCAEKAJAKAKEARBWGiAEKAJAQQA2AoQBCyAEKAJAKAKAARBtGiAEKAJAKAKAARAVIAQoAkBBADYCgAEgBEIANwNYDAgLIAQCfyAEKQNIQhBUBEAgBCgCQEESQQAQFEEADAELIAQoAlALNgIYIAQoAhhFBEAgBEJ/NwNYDAgLIARBATYCHAJAAkACQAJAAkAgBCgCGCgCCA4DAAIBAwsgBCAEKAIYKQMANwMgDAMLAkAgBCgCQCkDcFAEQCAEKAJAKAIcIAQoAhgpAwBBAiAEKAJAEGpBAEgEQCAEQn83A1gMDQsgBCAEKAJAKAIcEKMBIgI3AyAgAkIAUwRAIAQoAkBBBEG0mwEoAgAQFCAEQn83A1gMDQsgBCAEKQMgIAQoAkApA2h9NwMgIARBADYCHAwBCyAEIAQoAkApA3AgBCgCGCkDAHw3AyALDAILIAQgBCgCQCkDeCAEKAIYKQMAfDcDIAwBCyAEKAJAQRJBABAUIARCfzcDWAwICwJAAkAgBCkDIEIAUw0AIAQoAkApA3BCAFIEQCAEKQMgIAQoAkApA3BWDQELIAQoAkApA2ggBCkDICAEKAJAKQNofFgNAQsgBCgCQEESQQAQFCAEQn83A1gMCAsgBCgCQCAEKQMgNwN4IAQoAhwEQCAEKAJAKAIcIAQoAkApA3ggBCgCQCkDaHwgBCgCQBCfAUEASARAIARCfzcDWAwJCwsgBEIANwNYDAcLIAQCfyAEKQNIQhBUBEAgBCgCQEESQQAQFEEADAELIAQoAlALNgIUIAQoAhRFBEAgBEJ/NwNYDAcLIAQoAkAoAoQBIAQoAhQpAwAgBCgCFCgCCCAEKAJAEGpBAEgEQCAEQn83A1gMBwsgBEIANwNYDAYLIAQpA0hCOFQEQCAEQn83A1gMBgsCfyMAQRBrIgAgBCgCQEHYAGo2AgwgACgCDCgCAAsEQCAEKAJAAn8jAEEQayIAIAQoAkBB2ABqNgIMIAAoAgwoAgALAn8jAEEQayIAIAQoAkBB2ABqNgIMIAAoAgwoAgQLEBQgBEJ/NwNYDAYLIAQoAlAiACAEKAJAIgEpACA3AAAgACABKQBQNwAwIAAgASkASDcAKCAAIAEpAEA3ACAgACABKQA4NwAYIAAgASkAMDcAECAAIAEpACg3AAggBEI4NwNYDAULIAQgBCgCQCkDEDcDWAwECyAEIAQoAkApA3g3A1gMAwsgBCAEKAJAKAKEARCjATcDCCAEKQMIQgBTBEAgBCgCQEEeQbSbASgCABAUIARCfzcDWAwDCyAEIAQpAwg3A1gMAgsgBCgCQCgChAEiACgCTEEAThogACAAKAIAQU9xNgIAIAQCfyAEKAJQIQEgBCkDSKciACAAAn8gBCgCQCgChAEiAygCTEF/TARAIAEgACADEHEMAQsgASAAIAMQcQsiAUYNABogAQs2AgQCQCAEKQNIIAQoAgStUQRAAn8gBCgCQCgChAEiACgCTEF/TARAIAAoAgAMAQsgACgCAAtBBXZBAXFFDQELIAQoAkBBBkG0mwEoAgAQFCAEQn83A1gMAgsgBCAEKAIErTcDWAwBCyAEKAJAQRxBABAUIARCfzcDWAsgBCkDWCECIARB4ABqJAAgAgsJACAAKAI8EAUL5AEBBH8jAEEgayIDJAAgAyABNgIQIAMgAiAAKAIwIgRBAEdrNgIUIAAoAiwhBSADIAQ2AhwgAyAFNgIYQX8hBAJAAkAgACgCPCADQRBqQQIgA0EMahAGIgUEf0G0mwEgBTYCAEF/BUEAC0UEQCADKAIMIgRBAEoNAQsgACAAKAIAIARBMHFBEHNyNgIADAELIAQgAygCFCIGTQ0AIAAgACgCLCIFNgIEIAAgBSAEIAZrajYCCCAAKAIwBEAgACAFQQFqNgIEIAEgAmpBAWsgBS0AADoAAAsgAiEECyADQSBqJAAgBAv0AgEHfyMAQSBrIgMkACADIAAoAhwiBTYCECAAKAIUIQQgAyACNgIcIAMgATYCGCADIAQgBWsiATYCFCABIAJqIQVBAiEHIANBEGohAQJ/AkACQCAAKAI8IANBEGpBAiADQQxqEAMiBAR/QbSbASAENgIAQX8FQQALRQRAA0AgBSADKAIMIgRGDQIgBEF/TA0DIAEgBCABKAIEIghLIgZBA3RqIgkgBCAIQQAgBhtrIgggCSgCAGo2AgAgAUEMQQQgBhtqIgkgCSgCACAIazYCACAFIARrIQUgACgCPCABQQhqIAEgBhsiASAHIAZrIgcgA0EMahADIgQEf0G0mwEgBDYCAEF/BUEAC0UNAAsLIAVBf0cNAQsgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCECACDAELIABBADYCHCAAQgA3AxAgACAAKAIAQSByNgIAQQAgB0ECRg0AGiACIAEoAgRrCyEAIANBIGokACAAC1IBAX8jAEEQayIDJAAgACgCPCABpyABQiCIpyACQf8BcSADQQhqEA0iAAR/QbSbASAANgIAQX8FQQALIQAgAykDCCEBIANBEGokAEJ/IAEgABsL1QQBBX8jAEGwAWsiASQAIAEgADYCqAEgASgCqAEQOAJAAkAgASgCqAEoAgBBAE4EQCABKAKoASgCAEGAFCgCAEgNAQsgASABKAKoASgCADYCECABQSBqQY8SIAFBEGoQbyABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEGAE2ooAgA2AqQBAkACQAJAAkAgASgCqAEoAgBBAnRBkBRqKAIAQQFrDgIAAQILIAEoAqgBKAIEIQJBkJkBKAIAIQRBACEAAkACQANAIAIgAEGgiAFqLQAARwRAQdcAIQMgAEEBaiIAQdcARw0BDAILCyAAIgMNAEGAiQEhAgwBC0GAiQEhAANAIAAtAAAhBSAAQQFqIgIhACAFDQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";Nu(So)||(So=h(So));function Lu(d){try{if(d==So&&J)return new Uint8Array(J);var E=Qa(d);if(E)return E;if(m)return m(d);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(I){Sr(I)}}function Sh(d,E){var I,D,M;try{M=Lu(d),D=new WebAssembly.Module(M),I=new WebAssembly.Instance(D,E)}catch(ne){var _=ne.toString();throw k("failed to compile wasm module: "+_),(_.includes("imported Memory")||_.includes("memory import"))&&k("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),ne}return[I,D]}function kh(){var d={a:va};function E(M,_){var ne=M.exports;r.asm=ne,A=r.asm.u,mi(A.buffer),Qr=r.asm.pa,kA(r.asm.v),DA("wasm-instantiate")}if(PA("wasm-instantiate"),r.instantiateWasm)try{var I=r.instantiateWasm(d,E);return I}catch(M){return k("Module.instantiateWasm callback failed with error: "+M),!1}var D=Sh(So,d);return E(D[0]),r.asm}var ae,Oi;function ko(d){for(;d.length>0;){var E=d.shift();if(typeof E=="function"){E(r);continue}var I=E.func;typeof I=="number"?E.arg===void 0?Qr.get(I)():Qr.get(I)(E.arg):I(E.arg===void 0?null:E.arg)}}function jn(d,E){var I=new Date(fe[d>>2]*1e3);fe[E>>2]=I.getUTCSeconds(),fe[E+4>>2]=I.getUTCMinutes(),fe[E+8>>2]=I.getUTCHours(),fe[E+12>>2]=I.getUTCDate(),fe[E+16>>2]=I.getUTCMonth(),fe[E+20>>2]=I.getUTCFullYear()-1900,fe[E+24>>2]=I.getUTCDay(),fe[E+36>>2]=0,fe[E+32>>2]=0;var D=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),M=(I.getTime()-D)/(1e3*60*60*24)|0;return fe[E+28>>2]=M,jn.GMTString||(jn.GMTString=Fe("GMT")),fe[E+40>>2]=jn.GMTString,E}function Tu(d,E){return jn(d,E)}var vt={splitPath:function(d){var E=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return E.exec(d).slice(1)},normalizeArray:function(d,E){for(var I=0,D=d.length-1;D>=0;D--){var M=d[D];M==="."?d.splice(D,1):M===".."?(d.splice(D,1),I++):I&&(d.splice(D,1),I--)}if(E)for(;I;I--)d.unshift("..");return d},normalize:function(d){var E=d.charAt(0)==="/",I=d.substr(-1)==="/";return d=vt.normalizeArray(d.split("/").filter(function(D){return!!D}),!E).join("/"),!d&&!E&&(d="."),d&&I&&(d+="/"),(E?"/":"")+d},dirname:function(d){var E=vt.splitPath(d),I=E[0],D=E[1];return!I&&!D?".":(D&&(D=D.substr(0,D.length-1)),I+D)},basename:function(d){if(d==="/")return"/";d=vt.normalize(d),d=d.replace(/\/$/,"");var E=d.lastIndexOf("/");return E===-1?d:d.substr(E+1)},extname:function(d){return vt.splitPath(d)[3]},join:function(){var d=Array.prototype.slice.call(arguments,0);return vt.normalize(d.join("/"))},join2:function(d,E){return vt.normalize(d+"/"+E)}};function Yl(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var d=new Uint8Array(1);return function(){return crypto.getRandomValues(d),d[0]}}else if(g)try{var E=require("crypto");return function(){return E.randomBytes(1)[0]}}catch(I){}return function(){Sr("randomDevice")}}var Yn={resolve:function(){for(var d="",E=!1,I=arguments.length-1;I>=-1&&!E;I--){var D=I>=0?arguments[I]:v.cwd();if(typeof D!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!D)return"";d=D+"/"+d,E=D.charAt(0)==="/"}return d=vt.normalizeArray(d.split("/").filter(function(M){return!!M}),!E).join("/"),(E?"/":"")+d||"."},relative:function(d,E){d=Yn.resolve(d).substr(1),E=Yn.resolve(E).substr(1);function I(_e){for(var ot=0;ot<_e.length&&_e[ot]==="";ot++);for(var wt=_e.length-1;wt>=0&&_e[wt]==="";wt--);return ot>wt?[]:_e.slice(ot,wt-ot+1)}for(var D=I(d.split("/")),M=I(E.split("/")),_=Math.min(D.length,M.length),ne=_,Be=0;Be<_;Be++)if(D[Be]!==M[Be]){ne=Be;break}for(var Ee=[],Be=ne;Be0?E=D.slice(0,M).toString("utf-8"):E=null}else typeof window!="undefined"&&typeof window.prompt=="function"?(E=window.prompt("Input: "),E!==null&&(E+=` +`)):typeof readline=="function"&&(E=readline(),E!==null&&(E+=` +`));if(!E)return null;d.input=FA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(S(Oe(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(S(Oe(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(k(Oe(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(k(Oe(d.output,0)),d.output=[])}}};function ps(d){for(var E=Y(d,65536),I=Et(E);d=E)){var D=1024*1024;E=Math.max(E,I*(I>>0),I!=0&&(E=Math.max(E,256));var M=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(M.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=v.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,v.isDir(d.mode)?E.size=4096:v.isFile(d.mode)?E.size=d.usedBytes:v.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&&pt.resizeFileStorage(d,E.size)},lookup:function(d,E){throw v.genericErrors[44]},mknod:function(d,E,I,D){return pt.createNode(d,E,I,D)},rename:function(d,E,I){if(v.isDir(d.mode)){var D;try{D=v.lookupNode(E,I)}catch(_){}if(D)for(var M in D.contents)throw new v.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=v.lookupNode(d,E);for(var D in I.contents)throw new v.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[".",".."];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var D=pt.createNode(d,E,511|40960,0);return D.link=I,D},readlink:function(d){if(!v.isLink(d.mode))throw new v.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,D,M){var _=d.node.contents;if(M>=d.node.usedBytes)return 0;var ne=Math.min(d.node.usedBytes-M,D);if(ne>8&&_.subarray)E.set(_.subarray(M,M+ne),I);else for(var Be=0;Be0||D+I>2)}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}return E.mode},realPath:function(d){for(var E=[];d.parent!==d;)E.push(d.name),d=d.parent;return E.push(d.mount.opts.root),E.reverse(),vt.join.apply(null,E)},flagsForNode:function(d){d&=~2097152,d&=~2048,d&=~32768,d&=~524288;var E=0;for(var I in lt.flagsForNodeMap)d&I&&(E|=lt.flagsForNodeMap[I],d^=I);if(d)throw new v.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=lt.realPath(d),I;try{I=Me.lstatSync(E)}catch(D){throw D.code?new v.ErrnoError(lt.convertNodeCode(D)):D}return lt.isWindows&&!I.blksize&&(I.blksize=4096),lt.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=lt.realPath(d);try{if(E.mode!==void 0&&(Me.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var D=new Date(E.timestamp);Me.utimesSync(I,D,D)}E.size!==void 0&&Me.truncateSync(I,E.size)}catch(M){throw M.code?new v.ErrnoError(lt.convertNodeCode(M)):M}},lookup:function(d,E){var I=vt.join2(lt.realPath(d),E),D=lt.getMode(I);return lt.createNode(d,E,D)},mknod:function(d,E,I,D){var M=lt.createNode(d,E,I,D),_=lt.realPath(M);try{v.isDir(M.mode)?Me.mkdirSync(_,M.mode):Me.writeFileSync(_,"",{mode:M.mode})}catch(ne){throw ne.code?new v.ErrnoError(lt.convertNodeCode(ne)):ne}return M},rename:function(d,E,I){var D=lt.realPath(d),M=vt.join2(lt.realPath(E),I);try{Me.renameSync(D,M)}catch(_){throw _.code?new v.ErrnoError(lt.convertNodeCode(_)):_}d.name=I},unlink:function(d,E){var I=vt.join2(lt.realPath(d),E);try{Me.unlinkSync(I)}catch(D){throw D.code?new v.ErrnoError(lt.convertNodeCode(D)):D}},rmdir:function(d,E){var I=vt.join2(lt.realPath(d),E);try{Me.rmdirSync(I)}catch(D){throw D.code?new v.ErrnoError(lt.convertNodeCode(D)):D}},readdir:function(d){var E=lt.realPath(d);try{return Me.readdirSync(E)}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}},symlink:function(d,E,I){var D=vt.join2(lt.realPath(d),E);try{Me.symlinkSync(I,D)}catch(M){throw M.code?new v.ErrnoError(lt.convertNodeCode(M)):M}},readlink:function(d){var E=lt.realPath(d);try{return E=Me.readlinkSync(E),E=Ku.relative(Ku.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=lt.realPath(d.node);try{v.isFile(d.node.mode)&&(d.nfd=Me.openSync(E,lt.flagsForNode(d.flags)))}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}},close:function(d){try{v.isFile(d.node.mode)&&d.nfd&&Me.closeSync(d.nfd)}catch(E){throw E.code?new v.ErrnoError(lt.convertNodeCode(E)):E}},read:function(d,E,I,D,M){if(D===0)return 0;try{return Me.readSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M)}catch(_){throw new v.ErrnoError(lt.convertNodeCode(_))}},write:function(d,E,I,D,M){try{return Me.writeSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M)}catch(_){throw new v.ErrnoError(lt.convertNodeCode(_))}},llseek:function(d,E,I){var D=E;if(I===1)D+=d.position;else if(I===2&&v.isFile(d.node.mode))try{var M=Me.fstatSync(d.nfd);D+=M.size}catch(_){throw new v.ErrnoError(lt.convertNodeCode(_))}if(D<0)throw new v.ErrnoError(28);return D},mmap:function(d,E,I,D,M,_){if(E!==0)throw new v.ErrnoError(28);if(!v.isFile(d.node.mode))throw new v.ErrnoError(43);var ne=ps(I);return lt.stream_ops.read(d,de,ne,I,D),{ptr:ne,allocated:!0}},msync:function(d,E,I,D,M){if(!v.isFile(d.node.mode))throw new v.ErrnoError(43);if(M&2)return 0;var _=lt.stream_ops.write(d,E,0,D,I,!1);return 0}}},mn={lookupPath:function(d){return{path:d,node:{mode:lt.getMode(d)}}},createStandardStreams:function(){v.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var d=1;d<3;d++)v.streams[d]={fd:d,nfd:d,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(d,E){v.isDir(d)?Me.mkdirSync(d,E):Me.writeFileSync(d,"",{mode:E})},mkdir:function(){Me.mkdirSync.apply(void 0,arguments)},symlink:function(){Me.symlinkSync.apply(void 0,arguments)},rename:function(){Me.renameSync.apply(void 0,arguments)},rmdir:function(){Me.rmdirSync.apply(void 0,arguments)},readdir:function(){Me.readdirSync.apply(void 0,arguments)},unlink:function(){Me.unlinkSync.apply(void 0,arguments)},readlink:function(){return Me.readlinkSync.apply(void 0,arguments)},stat:function(){return Me.statSync.apply(void 0,arguments)},lstat:function(){return Me.lstatSync.apply(void 0,arguments)},chmod:function(){Me.chmodSync.apply(void 0,arguments)},fchmod:function(){Me.fchmodSync.apply(void 0,arguments)},chown:function(){Me.chownSync.apply(void 0,arguments)},fchown:function(){Me.fchownSync.apply(void 0,arguments)},truncate:function(){Me.truncateSync.apply(void 0,arguments)},ftruncate:function(d,E){if(E<0)throw new v.ErrnoError(28);Me.ftruncateSync.apply(void 0,arguments)},utime:function(){Me.utimesSync.apply(void 0,arguments)},open:function(d,E,I,D){typeof E=="string"&&(E=Zs.modeStringToFlags(E));var M=Me.openSync(d,lt.flagsForNode(E),I),_=D!=null?D:v.nextfd(M),ne={fd:_,nfd:M,position:0,path:d,flags:E,seekable:!0};return v.streams[_]=ne,ne},close:function(d){d.stream_ops||Me.closeSync(d.nfd),v.closeStream(d.fd)},llseek:function(d,E,I){if(d.stream_ops)return Zs.llseek(d,E,I);var D=E;if(I===1)D+=d.position;else if(I===2)D+=Me.fstatSync(d.nfd).size;else if(I!==0)throw new v.ErrnoError(xo.EINVAL);if(D<0)throw new v.ErrnoError(xo.EINVAL);return d.position=D,D},read:function(d,E,I,D,M){if(d.stream_ops)return Zs.read(d,E,I,D,M);var _=typeof M!="undefined";!_&&d.seekable&&(M=d.position);var ne=Me.readSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M);return _||(d.position+=ne),ne},write:function(d,E,I,D,M){if(d.stream_ops)return Zs.write(d,E,I,D,M);d.flags&+"1024"&&v.llseek(d,0,+"2");var _=typeof M!="undefined";!_&&d.seekable&&(M=d.position);var ne=Me.writeSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M);return _||(d.position+=ne),ne},allocate:function(){throw new v.ErrnoError(xo.EOPNOTSUPP)},mmap:function(d,E,I,D,M,_){if(d.stream_ops)return Zs.mmap(d,E,I,D,M,_);if(E!==0)throw new v.ErrnoError(28);var ne=ps(I);return v.read(d,de,ne,I,D),{ptr:ne,allocated:!0}},msync:function(d,E,I,D,M){return d.stream_ops?Zs.msync(d,E,I,D,M):(M&2||v.write(d,E,0,D,I),0)},munmap:function(){return 0},ioctl:function(){throw new v.ErrnoError(xo.ENOTTY)}},v={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(d,E){if(d=Yn.resolve(v.cwd(),d),E=E||{},!d)return{path:"",node:null};var I={follow_mount:!0,recurse_count:0};for(var D in I)E[D]===void 0&&(E[D]=I[D]);if(E.recurse_count>8)throw new v.ErrnoError(32);for(var M=vt.normalizeArray(d.split("/").filter(function(ut){return!!ut}),!1),_=v.root,ne="/",Be=0;Be40)throw new v.ErrnoError(32)}}return{path:ne,node:_}},getPath:function(d){for(var E;;){if(v.isRoot(d)){var I=d.mount.mountpoint;return E?I[I.length-1]!=="/"?I+"/"+E:I+E:I}E=E?d.name+"/"+E:d.name,d=d.parent}},hashName:function(d,E){for(var I=0,D=0;D>>0)%v.nameTable.length},hashAddNode:function(d){var E=v.hashName(d.parent.id,d.name);d.name_next=v.nameTable[E],v.nameTable[E]=d},hashRemoveNode:function(d){var E=v.hashName(d.parent.id,d.name);if(v.nameTable[E]===d)v.nameTable[E]=d.name_next;else for(var I=v.nameTable[E];I;){if(I.name_next===d){I.name_next=d.name_next;break}I=I.name_next}},lookupNode:function(d,E){var I=v.mayLookup(d);if(I)throw new v.ErrnoError(I,d);for(var D=v.hashName(d.id,E),M=v.nameTable[D];M;M=M.name_next){var _=M.name;if(M.parent.id===d.id&&_===E)return M}return v.lookup(d,E)},createNode:function(d,E,I,D){var M=new v.FSNode(d,E,I,D);return v.hashAddNode(M),M},destroyNode:function(d){v.hashRemoveNode(d)},isRoot:function(d){return d===d.parent},isMountpoint:function(d){return!!d.mounted},isFile:function(d){return(d&61440)==32768},isDir:function(d){return(d&61440)==16384},isLink:function(d){return(d&61440)==40960},isChrdev:function(d){return(d&61440)==8192},isBlkdev:function(d){return(d&61440)==24576},isFIFO:function(d){return(d&61440)==4096},isSocket:function(d){return(d&49152)==49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(d){var E=v.flagModes[d];if(typeof E=="undefined")throw new Error("Unknown file open mode: "+d);return E},flagsToPermissionString:function(d){var E=["r","w","rw"][d&3];return d&512&&(E+="w"),E},nodePermissions:function(d,E){return v.ignorePermissions?0:E.includes("r")&&!(d.mode&292)||E.includes("w")&&!(d.mode&146)||E.includes("x")&&!(d.mode&73)?2:0},mayLookup:function(d){var E=v.nodePermissions(d,"x");return E||(d.node_ops.lookup?0:2)},mayCreate:function(d,E){try{var I=v.lookupNode(d,E);return 20}catch(D){}return v.nodePermissions(d,"wx")},mayDelete:function(d,E,I){var D;try{D=v.lookupNode(d,E)}catch(_){return _.errno}var M=v.nodePermissions(d,"wx");if(M)return M;if(I){if(!v.isDir(D.mode))return 54;if(v.isRoot(D)||v.getPath(D)===v.cwd())return 10}else if(v.isDir(D.mode))return 31;return 0},mayOpen:function(d,E){return d?v.isLink(d.mode)?32:v.isDir(d.mode)&&(v.flagsToPermissionString(E)!=="r"||E&512)?31:v.nodePermissions(d,v.flagsToPermissionString(E)):44},MAX_OPEN_FDS:4096,nextfd:function(d,E){d=d||0,E=E||v.MAX_OPEN_FDS;for(var I=d;I<=E;I++)if(!v.streams[I])return I;throw new v.ErrnoError(33)},getStream:function(d){return v.streams[d]},createStream:function(d,E,I){v.FSStream||(v.FSStream=function(){},v.FSStream.prototype={object:{get:function(){return this.node},set:function(ne){this.node=ne}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var D=new v.FSStream;for(var M in d)D[M]=d[M];d=D;var _=v.nextfd(E,I);return d.fd=_,v.streams[_]=d,d},closeStream:function(d){v.streams[d]=null},chrdev_stream_ops:{open:function(d){var E=v.getDevice(d.node.rdev);d.stream_ops=E.stream_ops,d.stream_ops.open&&d.stream_ops.open(d)},llseek:function(){throw new v.ErrnoError(70)}},major:function(d){return d>>8},minor:function(d){return d&255},makedev:function(d,E){return d<<8|E},registerDevice:function(d,E){v.devices[d]={stream_ops:E}},getDevice:function(d){return v.devices[d]},getMounts:function(d){for(var E=[],I=[d];I.length;){var D=I.pop();E.push(D),I.push.apply(I,D.mounts)}return E},syncfs:function(d,E){typeof d=="function"&&(E=d,d=!1),v.syncFSRequests++,v.syncFSRequests>1&&k("warning: "+v.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var I=v.getMounts(v.root.mount),D=0;function M(ne){return v.syncFSRequests--,E(ne)}function _(ne){if(ne)return _.errored?void 0:(_.errored=!0,M(ne));++D>=I.length&&M(null)}I.forEach(function(ne){if(!ne.type.syncfs)return _(null);ne.type.syncfs(ne,d,_)})},mount:function(d,E,I){var D=I==="/",M=!I,_;if(D&&v.root)throw new v.ErrnoError(10);if(!D&&!M){var ne=v.lookupPath(I,{follow_mount:!1});if(I=ne.path,_=ne.node,v.isMountpoint(_))throw new v.ErrnoError(10);if(!v.isDir(_.mode))throw new v.ErrnoError(54)}var Be={type:d,opts:E,mountpoint:I,mounts:[]},Ee=d.mount(Be);return Ee.mount=Be,Be.root=Ee,D?v.root=Ee:_&&(_.mounted=Be,_.mount&&_.mount.mounts.push(Be)),Ee},unmount:function(d){var E=v.lookupPath(d,{follow_mount:!1});if(!v.isMountpoint(E.node))throw new v.ErrnoError(28);var I=E.node,D=I.mounted,M=v.getMounts(D);Object.keys(v.nameTable).forEach(function(ne){for(var Be=v.nameTable[ne];Be;){var Ee=Be.name_next;M.includes(Be.mount)&&v.destroyNode(Be),Be=Ee}}),I.mounted=null;var _=I.mount.mounts.indexOf(D);I.mount.mounts.splice(_,1)},lookup:function(d,E){return d.node_ops.lookup(d,E)},mknod:function(d,E,I){var D=v.lookupPath(d,{parent:!0}),M=D.node,_=vt.basename(d);if(!_||_==="."||_==="..")throw new v.ErrnoError(28);var ne=v.mayCreate(M,_);if(ne)throw new v.ErrnoError(ne);if(!M.node_ops.mknod)throw new v.ErrnoError(63);return M.node_ops.mknod(M,_,E,I)},create:function(d,E){return E=E!==void 0?E:438,E&=4095,E|=32768,v.mknod(d,E,0)},mkdir:function(d,E){return E=E!==void 0?E:511,E&=511|512,E|=16384,v.mknod(d,E,0)},mkdirTree:function(d,E){for(var I=d.split("/"),D="",M=0;Mthis.length-1||ut<0)){var nt=ut%this.chunkSize,It=ut/this.chunkSize|0;return this.getter(It)[nt]}},_.prototype.setDataGetter=function(ut){this.getter=ut},_.prototype.cacheLength=function(){var ut=new XMLHttpRequest;if(ut.open("HEAD",I,!1),ut.send(null),!(ut.status>=200&&ut.status<300||ut.status===304))throw new Error("Couldn't load "+I+". Status: "+ut.status);var nt=Number(ut.getResponseHeader("Content-length")),It,ke=(It=ut.getResponseHeader("Accept-Ranges"))&&It==="bytes",Wn=(It=ut.getResponseHeader("Content-Encoding"))&&It==="gzip",Mi=1024*1024;ke||(Mi=nt);var MA=function(ds,Sa){if(ds>Sa)throw new Error("invalid range ("+ds+", "+Sa+") or no bytes requested!");if(Sa>nt-1)throw new Error("only "+nt+" bytes available! programmer error!");var qr=new XMLHttpRequest;if(qr.open("GET",I,!1),nt!==Mi&&qr.setRequestHeader("Range","bytes="+ds+"-"+Sa),typeof Uint8Array!="undefined"&&(qr.responseType="arraybuffer"),qr.overrideMimeType&&qr.overrideMimeType("text/plain; charset=x-user-defined"),qr.send(null),!(qr.status>=200&&qr.status<300||qr.status===304))throw new Error("Couldn't load "+I+". Status: "+qr.status);return qr.response!==void 0?new Uint8Array(qr.response||[]):FA(qr.responseText||"",!0)},Yr=this;Yr.setDataGetter(function(ds){var Sa=ds*Mi,qr=(ds+1)*Mi-1;if(qr=Math.min(qr,nt-1),typeof Yr.chunks[ds]=="undefined"&&(Yr.chunks[ds]=MA(Sa,qr)),typeof Yr.chunks[ds]=="undefined")throw new Error("doXHR failed!");return Yr.chunks[ds]}),(Wn||!nt)&&(Mi=nt=1,nt=this.getter(0).length,Mi=nt,S("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=nt,this._chunkSize=Mi,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var ne=new _;Object.defineProperties(ne,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var Be={isDevice:!1,contents:ne}}else var Be={isDevice:!1,url:I};var Ee=v.createFile(d,E,Be,D,M);Be.contents?Ee.contents=Be.contents:Be.url&&(Ee.contents=null,Ee.url=Be.url),Object.defineProperties(Ee,{usedBytes:{get:function(){return this.contents.length}}});var _e={},ot=Object.keys(Ee.stream_ops);return ot.forEach(function(wt){var ut=Ee.stream_ops[wt];_e[wt]=function(){return v.forceLoadFile(Ee),ut.apply(null,arguments)}}),_e.read=function(ut,nt,It,ke,Wn){v.forceLoadFile(Ee);var Mi=ut.node.contents;if(Wn>=Mi.length)return 0;var MA=Math.min(Mi.length-Wn,ke);if(Mi.slice)for(var Yr=0;Yr>2]=D.dev,fe[I+4>>2]=0,fe[I+8>>2]=D.ino,fe[I+12>>2]=D.mode,fe[I+16>>2]=D.nlink,fe[I+20>>2]=D.uid,fe[I+24>>2]=D.gid,fe[I+28>>2]=D.rdev,fe[I+32>>2]=0,Oi=[D.size>>>0,(ae=D.size,+Math.abs(ae)>=1?ae>0?(Math.min(+Math.floor(ae/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ae-+(~~ae>>>0))/4294967296)>>>0:0)],fe[I+40>>2]=Oi[0],fe[I+44>>2]=Oi[1],fe[I+48>>2]=4096,fe[I+52>>2]=D.blocks,fe[I+56>>2]=D.atime.getTime()/1e3|0,fe[I+60>>2]=0,fe[I+64>>2]=D.mtime.getTime()/1e3|0,fe[I+68>>2]=0,fe[I+72>>2]=D.ctime.getTime()/1e3|0,fe[I+76>>2]=0,Oi=[D.ino>>>0,(ae=D.ino,+Math.abs(ae)>=1?ae>0?(Math.min(+Math.floor(ae/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ae-+(~~ae>>>0))/4294967296)>>>0:0)],fe[I+80>>2]=Oi[0],fe[I+84>>2]=Oi[1],0},doMsync:function(d,E,I,D,M){var _=V.slice(d,d+I);v.msync(E,_,M,I,D)},doMkdir:function(d,E){return d=vt.normalize(d),d[d.length-1]==="/"&&(d=d.substr(0,d.length-1)),v.mkdir(d,E,0),0},doMknod:function(d,E,I){switch(E&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return v.mknod(d,E,I),0},doReadlink:function(d,E,I){if(I<=0)return-28;var D=v.readlink(d),M=Math.min(I,he(D)),_=de[E+M];return be(D,E,I+1),de[E+M]=_,M},doAccess:function(d,E){if(E&~7)return-28;var I,D=v.lookupPath(d,{follow:!0});if(I=D.node,!I)return-44;var M="";return E&4&&(M+="r"),E&2&&(M+="w"),E&1&&(M+="x"),M&&v.nodePermissions(I,M)?-2:0},doDup:function(d,E,I){var D=v.getStream(I);return D&&v.close(D),v.open(d,E,0,I,I).fd},doReadv:function(d,E,I,D){for(var M=0,_=0;_>2],Be=fe[E+(_*8+4)>>2],Ee=v.read(d,de,ne,Be,D);if(Ee<0)return-1;if(M+=Ee,Ee>2],Be=fe[E+(_*8+4)>>2],Ee=v.write(d,de,ne,Be,D);if(Ee<0)return-1;M+=Ee}return M},varargs:void 0,get:function(){Tt.varargs+=4;var d=fe[Tt.varargs-4>>2];return d},getStr:function(d){var E=te(d);return E},getStreamFromFD:function(d){var E=v.getStream(d);if(!E)throw new v.ErrnoError(8);return E},get64:function(d,E){return d}};function Ou(d,E){try{return d=Tt.getStr(d),v.chmod(d,E),0}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),-I.errno}}function ql(d){return fe[Rt()>>2]=d,d}function xh(d,E,I){Tt.varargs=I;try{var D=Tt.getStreamFromFD(d);switch(E){case 0:{var M=Tt.get();if(M<0)return-28;var _;return _=v.open(D.path,D.flags,0,M),_.fd}case 1:case 2:return 0;case 3:return D.flags;case 4:{var M=Tt.get();return D.flags|=M,0}case 12:{var M=Tt.get(),ne=0;return Qe[M+ne>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return ql(28),-1;default:return-28}}catch(Be){return(typeof v=="undefined"||!(Be instanceof v.ErrnoError))&&Sr(Be),-Be.errno}}function Ph(d,E){try{var I=Tt.getStreamFromFD(d);return Tt.doStat(v.stat,I.path,E)}catch(D){return(typeof v=="undefined"||!(D instanceof v.ErrnoError))&&Sr(D),-D.errno}}function Dh(d,E,I){Tt.varargs=I;try{var D=Tt.getStreamFromFD(d);switch(E){case 21509:case 21505:return D.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return D.tty?0:-59;case 21519:{if(!D.tty)return-59;var M=Tt.get();return fe[M>>2]=0,0}case 21520:return D.tty?-28:-59;case 21531:{var M=Tt.get();return v.ioctl(D,E,M)}case 21523:return D.tty?0:-59;case 21524:return D.tty?0:-59;default:Sr("bad ioctl syscall "+E)}}catch(_){return(typeof v=="undefined"||!(_ instanceof v.ErrnoError))&&Sr(_),-_.errno}}function Rh(d,E,I){Tt.varargs=I;try{var D=Tt.getStr(d),M=I?Tt.get():0,_=v.open(D,E,M);return _.fd}catch(ne){return(typeof v=="undefined"||!(ne instanceof v.ErrnoError))&&Sr(ne),-ne.errno}}function Fh(d,E){try{return d=Tt.getStr(d),E=Tt.getStr(E),v.rename(d,E),0}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),-I.errno}}function G(d){try{return d=Tt.getStr(d),v.rmdir(d),0}catch(E){return(typeof v=="undefined"||!(E instanceof v.ErrnoError))&&Sr(E),-E.errno}}function yt(d,E){try{return d=Tt.getStr(d),Tt.doStat(v.stat,d,E)}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),-I.errno}}function RA(d){try{return d=Tt.getStr(d),v.unlink(d),0}catch(E){return(typeof v=="undefined"||!(E instanceof v.ErrnoError))&&Sr(E),-E.errno}}function $i(d,E,I){V.copyWithin(d,E,E+I)}function Jl(d){try{return A.grow(d-Se.byteLength+65535>>>16),mi(A.buffer),1}catch(E){}}function $e(d){var E=V.length;d=d>>>0;var I=2147483648;if(d>I)return!1;for(var D=1;D<=4;D*=2){var M=E*(1+.2/D);M=Math.min(M,d+100663296);var _=Math.min(I,xe(Math.max(d,M),65536)),ne=Jl(_);if(ne)return!0}return!1}function Ba(d){try{var E=Tt.getStreamFromFD(d);return v.close(E),0}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),I.errno}}function Mu(d,E){try{var I=Tt.getStreamFromFD(d),D=I.tty?2:v.isDir(I.mode)?3:v.isLink(I.mode)?7:4;return de[E>>0]=D,0}catch(M){return(typeof v=="undefined"||!(M instanceof v.ErrnoError))&&Sr(M),M.errno}}function kE(d,E,I,D){try{var M=Tt.getStreamFromFD(d),_=Tt.doReadv(M,E,I);return fe[D>>2]=_,0}catch(ne){return(typeof v=="undefined"||!(ne instanceof v.ErrnoError))&&Sr(ne),ne.errno}}function Nh(d,E,I,D,M){try{var _=Tt.getStreamFromFD(d),ne=4294967296,Be=I*ne+(E>>>0),Ee=9007199254740992;return Be<=-Ee||Be>=Ee?-61:(v.llseek(_,Be,D),Oi=[_.position>>>0,(ae=_.position,+Math.abs(ae)>=1?ae>0?(Math.min(+Math.floor(ae/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ae-+(~~ae>>>0))/4294967296)>>>0:0)],fe[M>>2]=Oi[0],fe[M+4>>2]=Oi[1],_.getdents&&Be===0&&D===0&&(_.getdents=null),0)}catch(_e){return(typeof v=="undefined"||!(_e instanceof v.ErrnoError))&&Sr(_e),_e.errno}}function xE(d,E,I,D){try{var M=Tt.getStreamFromFD(d),_=Tt.doWritev(M,E,I);return fe[D>>2]=_,0}catch(ne){return(typeof v=="undefined"||!(ne instanceof v.ErrnoError))&&Sr(ne),ne.errno}}function gr(d){Z(d)}function qn(d){var E=Date.now()/1e3|0;return d&&(fe[d>>2]=E),E}function Wl(){if(Wl.called)return;Wl.called=!0;var d=new Date().getFullYear(),E=new Date(d,0,1),I=new Date(d,6,1),D=E.getTimezoneOffset(),M=I.getTimezoneOffset(),_=Math.max(D,M);fe[oQ()>>2]=_*60,fe[sQ()>>2]=Number(D!=M);function ne(wt){var ut=wt.toTimeString().match(/\(([A-Za-z ]+)\)$/);return ut?ut[1]:"GMT"}var Be=ne(E),Ee=ne(I),_e=Fe(Be),ot=Fe(Ee);M>2]=_e,fe[qu()+4>>2]=ot):(fe[qu()>>2]=ot,fe[qu()+4>>2]=_e)}function Lh(d){Wl();var E=Date.UTC(fe[d+20>>2]+1900,fe[d+16>>2],fe[d+12>>2],fe[d+8>>2],fe[d+4>>2],fe[d>>2],0),I=new Date(E);fe[d+24>>2]=I.getUTCDay();var D=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),M=(I.getTime()-D)/(1e3*60*60*24)|0;return fe[d+28>>2]=M,I.getTime()/1e3|0}var Xs=function(d,E,I,D){d||(d=this),this.parent=d,this.mount=d.mount,this.mounted=null,this.id=v.nextInode++,this.name=E,this.mode=I,this.node_ops={},this.stream_ops={},this.rdev=D},ba=292|73,En=146;if(Object.defineProperties(Xs.prototype,{read:{get:function(){return(this.mode&ba)===ba},set:function(d){d?this.mode|=ba:this.mode&=~ba}},write:{get:function(){return(this.mode&En)===En},set:function(d){d?this.mode|=En:this.mode&=~En}},isFolder:{get:function(){return v.isDir(this.mode)}},isDevice:{get:function(){return v.isChrdev(this.mode)}}}),v.FSNode=Xs,v.staticInit(),g){var Me=z5,Ku=require("path");lt.staticInit()}if(g){var zl=function(d){return function(){try{return d.apply(this,arguments)}catch(E){throw E.code?new v.ErrnoError(xo[E.code]):E}}},Zs=Object.assign({},v);for(var _l in mn)v[_l]=zl(mn[_l])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");function FA(d,E,I){var D=I>0?I:he(d)+1,M=new Array(D),_=se(d,M,0,M.length);return E&&(M.length=_),M}var Uu=typeof atob=="function"?atob:function(d){var E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",I="",D,M,_,ne,Be,Ee,_e,ot=0;d=d.replace(/[^A-Za-z0-9\+\/\=]/g,"");do ne=E.indexOf(d.charAt(ot++)),Be=E.indexOf(d.charAt(ot++)),Ee=E.indexOf(d.charAt(ot++)),_e=E.indexOf(d.charAt(ot++)),D=ne<<2|Be>>4,M=(Be&15)<<4|Ee>>2,_=(Ee&3)<<6|_e,I=I+String.fromCharCode(D),Ee!==64&&(I=I+String.fromCharCode(M)),_e!==64&&(I=I+String.fromCharCode(_));while(ot0||(vr(),fs>0))return;function E(){He||(He=!0,r.calledRun=!0,!oe&&(Gn(),i(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),gs()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),E()},1)):E()}if(r.run=OA,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return OA(),e}}();typeof Ww=="object"&&typeof eD=="object"?eD.exports=tD:typeof define=="function"&&define.amd?define([],function(){return tD}):typeof Ww=="object"&&(Ww.createModule=tD)});var I_=w((xat,E_)=>{function GDe(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{var jDe=Array.isArray;y_.exports=jDe});var S_=w((Dat,w_)=>{var B_=Hc(),YDe=I_(),qDe=Ms(),JDe=yd(),WDe=1/0,b_=B_?B_.prototype:void 0,Q_=b_?b_.toString:void 0;function v_(t){if(typeof t=="string")return t;if(qDe(t))return YDe(t,v_)+"";if(JDe(t))return Q_?Q_.call(t):"";var e=t+"";return e=="0"&&1/t==-WDe?"-0":e}w_.exports=v_});var of=w((Rat,k_)=>{var zDe=S_();function _De(t){return t==null?"":zDe(t)}k_.exports=_De});var AD=w((Fat,x_)=>{function VDe(t,e,r){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),r=r>n?n:r,r<0&&(r+=n),n=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(n);++i{var XDe=AD();function ZDe(t,e,r){var i=t.length;return r=r===void 0?i:r,!e&&r>=i?t:XDe(t,e,r)}P_.exports=ZDe});var lD=w((Lat,R_)=>{var $De="\\ud800-\\udfff",eRe="\\u0300-\\u036f",tRe="\\ufe20-\\ufe2f",rRe="\\u20d0-\\u20ff",iRe=eRe+tRe+rRe,nRe="\\ufe0e\\ufe0f",sRe="\\u200d",oRe=RegExp("["+sRe+$De+iRe+nRe+"]");function aRe(t){return oRe.test(t)}R_.exports=aRe});var N_=w((Tat,F_)=>{function ARe(t){return t.split("")}F_.exports=ARe});var G_=w((Oat,L_)=>{var T_="\\ud800-\\udfff",lRe="\\u0300-\\u036f",cRe="\\ufe20-\\ufe2f",uRe="\\u20d0-\\u20ff",gRe=lRe+cRe+uRe,fRe="\\ufe0e\\ufe0f",hRe="["+T_+"]",cD="["+gRe+"]",uD="\\ud83c[\\udffb-\\udfff]",pRe="(?:"+cD+"|"+uD+")",O_="[^"+T_+"]",M_="(?:\\ud83c[\\udde6-\\uddff]){2}",K_="[\\ud800-\\udbff][\\udc00-\\udfff]",dRe="\\u200d",U_=pRe+"?",H_="["+fRe+"]?",CRe="(?:"+dRe+"(?:"+[O_,M_,K_].join("|")+")"+H_+U_+")*",mRe=H_+U_+CRe,ERe="(?:"+[O_+cD+"?",cD,M_,K_,hRe].join("|")+")",IRe=RegExp(uD+"(?="+uD+")|"+ERe+mRe,"g");function yRe(t){return t.match(IRe)||[]}L_.exports=yRe});var Y_=w((Mat,j_)=>{var wRe=N_(),BRe=lD(),bRe=G_();function QRe(t){return BRe(t)?bRe(t):wRe(t)}j_.exports=QRe});var J_=w((Kat,q_)=>{var vRe=D_(),SRe=lD(),kRe=Y_(),xRe=of();function PRe(t){return function(e){e=xRe(e);var r=SRe(e)?kRe(e):void 0,i=r?r[0]:e.charAt(0),n=r?vRe(r,1).join(""):e.slice(1);return i[t]()+n}}q_.exports=PRe});var z_=w((Uat,W_)=>{var DRe=J_(),RRe=DRe("toUpperCase");W_.exports=RRe});var rB=w((Hat,__)=>{var FRe=of(),NRe=z_();function LRe(t){return NRe(FRe(t).toLowerCase())}__.exports=LRe});var V_=w((Gat,iB)=>{function TRe(){var t=0,e=1,r=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,m=15,y=16,b=17,S=0,k=1,T=2,Y=3,j=4;function Z(A,oe){return 55296<=A.charCodeAt(oe)&&A.charCodeAt(oe)<=56319&&56320<=A.charCodeAt(oe+1)&&A.charCodeAt(oe+1)<=57343}function J(A,oe){oe===void 0&&(oe=0);var le=A.charCodeAt(oe);if(55296<=le&&le<=56319&&oe=1){var X=A.charCodeAt(oe-1),O=le;return 55296<=X&&X<=56319?(X-55296)*1024+(O-56320)+65536:O}return le}function re(A,oe,le){var X=[A].concat(oe).concat([le]),O=X[X.length-2],L=le,pe=X.lastIndexOf(p);if(pe>1&&X.slice(1,pe).every(function(te){return te==i})&&[i,h,b].indexOf(A)==-1)return T;var Ce=X.lastIndexOf(n);if(Ce>0&&X.slice(1,Ce).every(function(te){return te==n})&&[f,n].indexOf(O)==-1)return X.filter(function(te){return te==n}).length%2==1?Y:j;if(O==t&&L==e)return S;if(O==r||O==t||O==e)return L==p&&oe.every(function(te){return te==i})?T:k;if(L==r||L==t||L==e)return k;if(O==o&&(L==o||L==a||L==c||L==u))return S;if((O==c||O==a)&&(L==a||L==l))return S;if((O==u||O==l)&&L==l)return S;if(L==i||L==m)return S;if(L==s)return S;if(O==f)return S;var Oe=X.indexOf(i)!=-1?X.lastIndexOf(i)-1:X.length-2;return[h,b].indexOf(X[Oe])!=-1&&X.slice(Oe+1,-1).every(function(te){return te==i})&&L==p||O==m&&[y,b].indexOf(L)!=-1?S:oe.indexOf(n)!=-1?T:O==n&&L==n?S:k}this.nextBreak=function(A,oe){if(oe===void 0&&(oe=0),oe<0)return 0;if(oe>=A.length-1)return A.length;for(var le=ee(J(A,oe)),X=[],O=oe+1;O{var ORe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,nB;function MRe(){if(nB)return nB;if(typeof Intl.Segmenter!="undefined"){let t=new Intl.Segmenter("en",{granularity:"grapheme"});return nB=e=>Array.from(t.segment(e),({segment:r})=>r)}else{let t=V_(),e=new t;return nB=r=>e.splitGraphemes(r)}}X_.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=r-e,n="",s=0,o=0;for(;t.length>0;){let a=t.match(ORe)||[t,t,void 0],l=MRe()(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]!="undefined"&&(n+=a[2]),t=t.slice(a[0].length)}return n}});var af=w((mAt,g6)=>{"use strict";var f6=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),CAt=g6.exports=t=>t?Object.keys(t).map(e=>[f6.has(e)?f6.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var Af=w((EAt,h6)=>{"use strict";var XRe=require("events"),p6=require("stream"),Jd=bp(),d6=require("string_decoder").StringDecoder,oA=Symbol("EOF"),Wd=Symbol("maybeEmitEnd"),pl=Symbol("emittedEnd"),cB=Symbol("emittingEnd"),uB=Symbol("closed"),C6=Symbol("read"),pD=Symbol("flush"),m6=Symbol("flushChunk"),Nn=Symbol("encoding"),aA=Symbol("decoder"),gB=Symbol("flowing"),zd=Symbol("paused"),_d=Symbol("resume"),pn=Symbol("bufferLength"),E6=Symbol("bufferPush"),dD=Symbol("bufferShift"),_i=Symbol("objectMode"),Vi=Symbol("destroyed"),I6=global._MP_NO_ITERATOR_SYMBOLS_!=="1",ZRe=I6&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),$Re=I6&&Symbol.iterator||Symbol("iterator not implemented"),y6=t=>t==="end"||t==="finish"||t==="prefinish",eFe=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,tFe=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);h6.exports=class w6 extends p6{constructor(e){super();this[gB]=!1,this[zd]=!1,this.pipes=new Jd,this.buffer=new Jd,this[_i]=e&&e.objectMode||!1,this[_i]?this[Nn]=null:this[Nn]=e&&e.encoding||null,this[Nn]==="buffer"&&(this[Nn]=null),this[aA]=this[Nn]?new d6(this[Nn]):null,this[oA]=!1,this[pl]=!1,this[cB]=!1,this[uB]=!1,this.writable=!0,this.readable=!0,this[pn]=0,this[Vi]=!1}get bufferLength(){return this[pn]}get encoding(){return this[Nn]}set encoding(e){if(this[_i])throw new Error("cannot set encoding in objectMode");if(this[Nn]&&e!==this[Nn]&&(this[aA]&&this[aA].lastNeed||this[pn]))throw new Error("cannot change encoding");this[Nn]!==e&&(this[aA]=e?new d6(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[aA].write(r)))),this[Nn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[_i]}set objectMode(e){this[_i]=this[_i]||!!e}write(e,r,i){if(this[oA])throw new Error("write after end");return this[Vi]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof r=="function"&&(i=r,r="utf8"),r||(r="utf8"),!this[_i]&&!Buffer.isBuffer(e)&&(tFe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):eFe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[pn]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[_i]&&!(r===this[Nn]&&!this[aA].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[Nn]&&(e=this[aA].write(e)),this.flowing?(this[pn]!==0&&this[pD](!0),this.emit("data",e)):this[E6](e),this[pn]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[Vi])return null;try{return this[pn]===0||e===0||e>this[pn]?null:(this[_i]&&(e=null),this.buffer.length>1&&!this[_i]&&(this.encoding?this.buffer=new Jd([Array.from(this.buffer).join("")]):this.buffer=new Jd([Buffer.concat(Array.from(this.buffer),this[pn])])),this[C6](e||null,this.buffer.head.value))}finally{this[Wd]()}}[C6](e,r){return e===r.length||e===null?this[dD]():(this.buffer.head.value=r.slice(e),r=r.slice(0,e),this[pn]-=e),this.emit("data",r),!this.buffer.length&&!this[oA]&&this.emit("drain"),r}end(e,r,i){return typeof e=="function"&&(i=e,e=null),typeof r=="function"&&(i=r,r="utf8"),e&&this.write(e,r),i&&this.once("end",i),this[oA]=!0,this.writable=!1,(this.flowing||!this[zd])&&this[Wd](),this}[_d](){this[Vi]||(this[zd]=!1,this[gB]=!0,this.emit("resume"),this.buffer.length?this[pD]():this[oA]?this[Wd]():this.emit("drain"))}resume(){return this[_d]()}pause(){this[gB]=!1,this[zd]=!0}get destroyed(){return this[Vi]}get flowing(){return this[gB]}get paused(){return this[zd]}[E6](e){return this[_i]?this[pn]+=1:this[pn]+=e.length,this.buffer.push(e)}[dD](){return this.buffer.length&&(this[_i]?this[pn]-=1:this[pn]-=this.buffer.head.value.length),this.buffer.shift()}[pD](e){do;while(this[m6](this[dD]()));!e&&!this.buffer.length&&!this[oA]&&this.emit("drain")}[m6](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Vi])return;let i=this[pl];r=r||{},e===process.stdout||e===process.stderr?r.end=!1:r.end=r.end!==!1;let n={dest:e,opts:r,ondrain:s=>this[_d]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[_d](),i&&n.opts.end&&n.dest.end(),e}addListener(e,r){return this.on(e,r)}on(e,r){try{return super.on(e,r)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[_d]():y6(e)&&this[pl]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[pl]}[Wd](){!this[cB]&&!this[pl]&&!this[Vi]&&this.buffer.length===0&&this[oA]&&(this[cB]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[uB]&&this.emit("close"),this[cB]=!1)}emit(e,r){if(e!=="error"&&e!=="close"&&e!==Vi&&this[Vi])return;if(e==="data"){if(!r)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(r)===!1&&this.pause())}else if(e==="end"){if(this[pl]===!0)return;this[pl]=!0,this.readable=!1,this[aA]&&(r=this[aA].end(),r&&(this.pipes.forEach(n=>n.dest.write(r)),super.emit("data",r))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[uB]=!0,!this[pl]&&!this[Vi]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=r,arguments.length>2)for(let n=2;n{e.push(i),this[_i]||(e.dataLength+=i.length)}),r.then(()=>e)}concat(){return this[_i]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[_i]?Promise.reject(new Error("cannot concat in objectMode")):this[Nn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Vi,()=>r(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>r(i))})}[ZRe](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[oA])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[oA]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Vi,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[$Re](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Vi]?(e?this.emit("error",e):this.emit(Vi),this):(this[Vi]=!0,this.buffer=new Jd,this[pn]=0,typeof this.close=="function"&&!this[uB]&&this.close(),e?this.emit("error",e):this.emit(Vi),this)}static isStream(e){return!!e&&(e instanceof w6||e instanceof p6||e instanceof XRe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var b6=w((IAt,B6)=>{var rFe=require("zlib").constants||{ZLIB_VERNUM:4736};B6.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},rFe))});var QD=w(os=>{"use strict";var CD=require("assert"),dl=require("buffer").Buffer,Q6=require("zlib"),zc=os.constants=b6(),iFe=Af(),v6=dl.concat,_c=Symbol("_superWrite"),Vd=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},nFe=Symbol("opts"),Xd=Symbol("flushFlag"),S6=Symbol("finishFlushFlag"),mD=Symbol("fullFlushFlag"),pr=Symbol("handle"),fB=Symbol("onError"),lf=Symbol("sawError"),ED=Symbol("level"),ID=Symbol("strategy"),yD=Symbol("ended"),yAt=Symbol("_defaultFullFlush"),wD=class extends iFe{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[lf]=!1,this[yD]=!1,this[nFe]=e,this[Xd]=e.flush,this[S6]=e.finishFlush;try{this[pr]=new Q6[r](e)}catch(i){throw new Vd(i)}this[fB]=i=>{this[lf]||(this[lf]=!0,this.close(),this.emit("error",i))},this[pr].on("error",i=>this[fB](new Vd(i))),this.once("end",()=>this.close)}close(){this[pr]&&(this[pr].close(),this[pr]=null,this.emit("close"))}reset(){if(!this[lf])return CD(this[pr],"zlib binding closed"),this[pr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[mD]),this.write(Object.assign(dl.alloc(0),{[Xd]:e})))}end(e,r,i){return e&&this.write(e,r),this.flush(this[S6]),this[yD]=!0,super.end(null,null,i)}get ended(){return this[yD]}write(e,r,i){if(typeof r=="function"&&(i=r,r="utf8"),typeof e=="string"&&(e=dl.from(e,r)),this[lf])return;CD(this[pr],"zlib binding closed");let n=this[pr]._handle,s=n.close;n.close=()=>{};let o=this[pr].close;this[pr].close=()=>{},dl.concat=c=>c;let a;try{let c=typeof e[Xd]=="number"?e[Xd]:this[Xd];a=this[pr]._processChunk(e,c),dl.concat=v6}catch(c){dl.concat=v6,this[fB](new Vd(c))}finally{this[pr]&&(this[pr]._handle=n,n.close=s,this[pr].close=o,this[pr].removeAllListeners("error"))}this[pr]&&this[pr].on("error",c=>this[fB](new Vd(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[_c](dl.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[pr].params(e,r)}finally{this[pr].flush=i}this[pr]&&(this[ED]=e,this[ID]=r)}}}},k6=class extends Cl{constructor(e){super(e,"Deflate")}},x6=class extends Cl{constructor(e){super(e,"Inflate")}},BD=Symbol("_portable"),P6=class extends Cl{constructor(e){super(e,"Gzip");this[BD]=e&&!!e.portable}[_c](e){return this[BD]?(this[BD]=!1,e[9]=255,super[_c](e)):super[_c](e)}},D6=class extends Cl{constructor(e){super(e,"Gunzip")}},R6=class extends Cl{constructor(e){super(e,"DeflateRaw")}},F6=class extends Cl{constructor(e){super(e,"InflateRaw")}},N6=class extends Cl{constructor(e){super(e,"Unzip")}},bD=class extends wD{constructor(e,r){e=e||{},e.flush=e.flush||zc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||zc.BROTLI_OPERATION_FINISH,super(e,r),this[mD]=zc.BROTLI_OPERATION_FLUSH}},L6=class extends bD{constructor(e){super(e,"BrotliCompress")}},T6=class extends bD{constructor(e){super(e,"BrotliDecompress")}};os.Deflate=k6;os.Inflate=x6;os.Gzip=P6;os.Gunzip=D6;os.DeflateRaw=R6;os.InflateRaw=F6;os.Unzip=N6;typeof Q6.BrotliCompress=="function"?(os.BrotliCompress=L6,os.BrotliDecompress=T6):os.BrotliCompress=os.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var Zd=w(hB=>{"use strict";hB.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);hB.code=new Map(Array.from(hB.name).map(t=>[t[1],t[0]]))});var $d=w((vAt,O6)=>{"use strict";var bAt=Zd(),sFe=Af(),vD=Symbol("slurp");O6.exports=class extends sFe{constructor(e,r,i){super();switch(this.pause(),this.extended=r,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,r&&this[vD](r),i&&this[vD](i,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-r),this.blockRemain=Math.max(0,n-r),this.ignore?!0:i>=r?super.write(e):super.write(e.slice(0,i))}[vD](e,r){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(r&&i==="path")&&(this[i]=e[i])}}});var U6=w(SD=>{"use strict";var SAt=SD.encode=(t,e)=>{if(Number.isSafeInteger(t))t<0?aFe(t,e):oFe(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},oFe=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},aFe=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var i=e.length;i>1;i--){var n=t&255;t=Math.floor(t/256),r?e[i-1]=M6(n):n===0?e[i-1]=0:(r=!0,e[i-1]=K6(n))}},kAt=SD.parse=t=>{var e=t[t.length-1],r=t[0],i;if(r===128)i=lFe(t.slice(1,t.length));else if(r===255)i=AFe(t);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},AFe=t=>{for(var e=t.length,r=0,i=!1,n=e-1;n>-1;n--){var s=t[n],o;i?o=M6(s):s===0?o=s:(i=!0,o=K6(s)),o!==0&&(r-=o*Math.pow(256,e-n-1))}return r},lFe=t=>{for(var e=t.length,r=0,i=e-1;i>-1;i--){var n=t[i];n!==0&&(r+=n*Math.pow(256,e-i-1))}return r},M6=t=>(255^t)&255,K6=t=>(255^t)+1&255});var uf=w((PAt,H6)=>{"use strict";var kD=Zd(),cf=require("path").posix,G6=U6(),xD=Symbol("slurp"),as=Symbol("type"),j6=class{constructor(e,r,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[as]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,i,n):e&&this.set(e)}decode(e,r,i,n){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=Vc(e,r,100),this.mode=ml(e,r+100,8),this.uid=ml(e,r+108,8),this.gid=ml(e,r+116,8),this.size=ml(e,r+124,12),this.mtime=PD(e,r+136,12),this.cksum=ml(e,r+148,12),this[xD](i),this[xD](n,!0),this[as]=Vc(e,r+156,1),this[as]===""&&(this[as]="0"),this[as]==="0"&&this.path.substr(-1)==="/"&&(this[as]="5"),this[as]==="5"&&(this.size=0),this.linkpath=Vc(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=Vc(e,r+265,32),this.gname=Vc(e,r+297,32),this.devmaj=ml(e,r+329,8),this.devmin=ml(e,r+337,8),e[r+475]!==0){let o=Vc(e,r+345,155);this.path=o+"/"+this.path}else{let o=Vc(e,r+345,130);o&&(this.path=o+"/"+this.path),this.atime=PD(e,r+476,12),this.ctime=PD(e,r+488,12)}let s=8*32;for(let o=r;o=r+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=cFe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=Xc(e,r,100,s)||this.needPax,this.needPax=El(e,r+100,8,this.mode)||this.needPax,this.needPax=El(e,r+108,8,this.uid)||this.needPax,this.needPax=El(e,r+116,8,this.gid)||this.needPax,this.needPax=El(e,r+124,12,this.size)||this.needPax,this.needPax=DD(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[as].charCodeAt(0),this.needPax=Xc(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=Xc(e,r+265,32,this.uname)||this.needPax,this.needPax=Xc(e,r+297,32,this.gname)||this.needPax,this.needPax=El(e,r+329,8,this.devmaj)||this.needPax,this.needPax=El(e,r+337,8,this.devmin)||this.needPax,this.needPax=Xc(e,r+345,i,o)||this.needPax,e[r+475]!==0?this.needPax=Xc(e,r+345,155,o)||this.needPax:(this.needPax=Xc(e,r+345,130,o)||this.needPax,this.needPax=DD(e,r+476,12,this.atime)||this.needPax,this.needPax=DD(e,r+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=r;l{let r=100,i=t,n="",s,o=cf.parse(t).root||".";if(Buffer.byteLength(i)r&&Buffer.byteLength(n)<=e?s=[i.substr(0,r-1),n,!0]:(i=cf.join(cf.basename(n),i),n=cf.dirname(n));while(n!==o&&!s);s||(s=[t.substr(0,r-1),"",!0])}return s},Vc=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),PD=(t,e,r)=>uFe(ml(t,e,r)),uFe=t=>t===null?null:new Date(t*1e3),ml=(t,e,r)=>t[e]&128?G6.parse(t.slice(e,e+r)):gFe(t,e,r),fFe=t=>isNaN(t)?null:t,gFe=(t,e,r)=>fFe(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),hFe={12:8589934591,8:2097151},El=(t,e,r,i)=>i===null?!1:i>hFe[r]||i<0?(G6.encode(i,t.slice(e,e+r)),!0):(pFe(t,e,r,i),!1),pFe=(t,e,r,i)=>t.write(dFe(i,r),e,r,"ascii"),dFe=(t,e)=>CFe(Math.floor(t).toString(8),e),CFe=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",DD=(t,e,r,i)=>i===null?!1:El(t,e,r,i.getTime()/1e3),mFe=new Array(156).join("\0"),Xc=(t,e,r,i)=>i===null?!1:(t.write(i+mFe,e,r,"utf8"),i.length!==Buffer.byteLength(i)||i.length>r);H6.exports=j6});var dB=w((DAt,Y6)=>{"use strict";var EFe=uf(),IFe=require("path"),pB=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),i=512*Math.ceil(1+r/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new EFe({path:("PaxHeader/"+IFe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,r,"utf8");for(let s=r+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};pB.parse=(t,e,r)=>new pB(yFe(wFe(t),e),r);var yFe=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,wFe=t=>t.replace(/\n$/,"").split(` +`).reduce(BFe,Object.create(null)),BFe=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return t;let s=i.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,t};Y6.exports=pB});var CB=w((RAt,q6)=>{"use strict";q6.exports=t=>class extends t{warn(e,r,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=r instanceof Error&&r.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(r instanceof Error&&(i=Object.assign(r,i),r=r.message),this.emit("warn",i.tarCode,r,i)):r instanceof Error?this.emit("error",Object.assign(r,i)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),i))}}});var FD=w((FAt,J6)=>{"use strict";var mB=["|","<",">","?",":"],RD=mB.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),bFe=new Map(mB.map((t,e)=>[t,RD[e]])),QFe=new Map(RD.map((t,e)=>[t,mB[e]]));J6.exports={encode:t=>mB.reduce((e,r)=>e.split(r).join(bFe.get(r)),t),decode:t=>RD.reduce((e,r)=>e.split(r).join(QFe.get(r)),t)}});var z6=w((NAt,W6)=>{"use strict";W6.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&~18),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var UD=w((KAt,_6)=>{"use strict";var V6=Af(),X6=dB(),Z6=uf(),LAt=$d(),ra=require("fs"),gf=require("path"),TAt=Zd(),vFe=16*1024*1024,$6=Symbol("process"),eV=Symbol("file"),tV=Symbol("directory"),ND=Symbol("symlink"),rV=Symbol("hardlink"),eC=Symbol("header"),EB=Symbol("read"),LD=Symbol("lstat"),IB=Symbol("onlstat"),TD=Symbol("onread"),OD=Symbol("onreadlink"),MD=Symbol("openfile"),KD=Symbol("onopenfile"),Zc=Symbol("close"),yB=Symbol("mode"),iV=CB(),SFe=FD(),nV=z6(),wB=iV(class extends V6{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||vFe,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=r.cwd||process.cwd(),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(!this.preservePaths&&gf.win32.isAbsolute(e)){let n=gf.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=SFe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||gf.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[IB](this.statCache.get(this.absolute)):this[LD]()}[LD](){ra.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[IB](r)})}[IB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=kFe(e),this.emit("stat",e),this[$6]()}[$6](){switch(this.type){case"File":return this[eV]();case"Directory":return this[tV]();case"SymbolicLink":return this[ND]();default:return this.end()}}[yB](e){return nV(e,this.type==="Directory",this.portable)}[eC](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new Z6({path:this.path,linkpath:this.linkpath,mode:this[yB](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new X6({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[tV](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[eC](),this.end()}[ND](){ra.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[OD](r)})}[OD](e){this.linkpath=e.replace(/\\/g,"/"),this[eC](),this.end()}[rV](e){this.type="Link",this.linkpath=gf.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[eC](),this.end()}[eV](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[rV](r)}this.linkCache.set(e,this.absolute)}if(this[eC](),this.stat.size===0)return this.end();this[MD]()}[MD](){ra.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[KD](r)})}[KD](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,this.maxReadSize),n=Buffer.allocUnsafe(i);this[EB](e,n,0,n.length,0,this.stat.size,r)}[EB](e,r,i,n,s,o,a){ra.read(e,r,i,n,s,(l,c)=>{if(l)return this[Zc](e,()=>this.emit("error",l));this[TD](e,r,i,n,s,o,a,c)})}[Zc](e,r){ra.close(e,r)}[TD](e,r,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[Zc](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[Zc](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(r=Buffer.allocUnsafe(n),i=0),n=r.length-i,this[EB](e,r,i,n,s,o,a)}}),sV=class extends wB{constructor(e,r){super(e,r)}[LD](){this[IB](ra.lstatSync(this.absolute))}[ND](){this[OD](ra.readlinkSync(this.absolute))}[MD](){this[KD](ra.openSync(this.absolute,"r"))}[EB](e,r,i,n,s,o,a){let l=!0;try{let c=ra.readSync(e,r,i,n,s);this[TD](e,r,i,n,s,o,a,c),l=!1}finally{if(l)try{this[Zc](e,()=>{})}catch(c){}}}[Zc](e,r){ra.closeSync(e),r()}},xFe=iV(class extends V6{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[yB](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(gf.isAbsolute(this.path)&&!this.preservePaths){let n=gf.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new Z6({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new X6({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[yB](e){return nV(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});wB.Sync=sV;wB.Tar=xFe;var kFe=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";_6.exports=wB});var PB=w((HAt,oV)=>{"use strict";var HD=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},PFe=Af(),DFe=QD(),RFe=$d(),GD=UD(),FFe=GD.Sync,NFe=GD.Tar,LFe=bp(),aV=Buffer.alloc(1024),BB=Symbol("onStat"),bB=Symbol("ended"),ia=Symbol("queue"),ff=Symbol("current"),$c=Symbol("process"),QB=Symbol("processing"),AV=Symbol("processJob"),na=Symbol("jobs"),jD=Symbol("jobDone"),vB=Symbol("addFSEntry"),lV=Symbol("addTarEntry"),YD=Symbol("stat"),qD=Symbol("readdir"),SB=Symbol("onreaddir"),kB=Symbol("pipe"),cV=Symbol("entry"),JD=Symbol("entryOpt"),WD=Symbol("writeEntryClass"),uV=Symbol("write"),zD=Symbol("ondrain"),xB=require("fs"),gV=require("path"),TFe=CB(),_D=TFe(class extends PFe{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[WD]=GD,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new DFe.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[zD]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[zD]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[ia]=new LFe,this[na]=0,this.jobs=+e.jobs||4,this[QB]=!1,this[bB]=!1}[uV](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[bB]=!0,this[$c](),this}write(e){if(this[bB])throw new Error("write after end");return e instanceof RFe?this[lV](e):this[vB](e),this.flowing}[lV](e){let r=gV.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new HD(e.path,r,!1);i.entry=new NFe(e,this[JD](i)),i.entry.on("end",n=>this[jD](i)),this[na]+=1,this[ia].push(i)}this[$c]()}[vB](e){let r=gV.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[ia].push(new HD(e,r)),this[$c]()}[YD](e){e.pending=!0,this[na]+=1;let r=this.follow?"stat":"lstat";xB[r](e.absolute,(i,n)=>{e.pending=!1,this[na]-=1,i?this.emit("error",i):this[BB](e,n)})}[BB](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[$c]()}[qD](e){e.pending=!0,this[na]+=1,xB.readdir(e.absolute,(r,i)=>{if(e.pending=!1,this[na]-=1,r)return this.emit("error",r);this[SB](e,i)})}[SB](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[$c]()}[$c](){if(!this[QB]){this[QB]=!0;for(let e=this[ia].head;e!==null&&this[na]this.warn(r,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[cV](e){this[na]+=1;try{return new this[WD](e.path,this[JD](e)).on("end",()=>this[jD](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[zD](){this[ff]&&this[ff].entry&&this[ff].entry.resume()}[kB](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[vB](o+n)});let r=e.entry,i=this.zip;i?r.on("data",n=>{i.write(n)||r.pause()}):r.on("data",n=>{super.write(n)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),fV=class extends _D{constructor(e){super(e);this[WD]=FFe}pause(){}resume(){}[YD](e){let r=this.follow?"statSync":"lstatSync";this[BB](e,xB[r](e.absolute))}[qD](e,r){this[SB](e,xB.readdirSync(e.absolute))}[kB](e){let r=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[vB](o+n)}),i?r.on("data",n=>{i.write(n)}):r.on("data",n=>{super[uV](n)})}};_D.Sync=fV;oV.exports=_D});var Ef=w(tC=>{"use strict";var OFe=Af(),MFe=require("events").EventEmitter,Ks=require("fs"),DB=process.binding("fs"),GAt=DB.writeBuffers,KFe=DB.FSReqWrap||DB.FSReqCallback,hf=Symbol("_autoClose"),sa=Symbol("_close"),rC=Symbol("_ended"),or=Symbol("_fd"),hV=Symbol("_finished"),eu=Symbol("_flags"),VD=Symbol("_flush"),XD=Symbol("_handleChunk"),ZD=Symbol("_makeBuf"),$D=Symbol("_mode"),RB=Symbol("_needDrain"),pf=Symbol("_onerror"),df=Symbol("_onopen"),eR=Symbol("_onread"),tu=Symbol("_onwrite"),Il=Symbol("_open"),yl=Symbol("_path"),ru=Symbol("_pos"),oa=Symbol("_queue"),Cf=Symbol("_read"),pV=Symbol("_readSize"),wl=Symbol("_reading"),FB=Symbol("_remain"),dV=Symbol("_size"),NB=Symbol("_write"),mf=Symbol("_writing"),LB=Symbol("_defaultFlag"),tR=class extends OFe{constructor(e,r){if(r=r||{},super(r),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[or]=typeof r.fd=="number"?r.fd:null,this[yl]=e,this[pV]=r.readSize||16*1024*1024,this[wl]=!1,this[dV]=typeof r.size=="number"?r.size:Infinity,this[FB]=this[dV],this[hf]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[or]=="number"?this[Cf]():this[Il]()}get fd(){return this[or]}get path(){return this[yl]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[Il](){Ks.open(this[yl],"r",(e,r)=>this[df](e,r))}[df](e,r){e?this[pf](e):(this[or]=r,this.emit("open",r),this[Cf]())}[ZD](){return Buffer.allocUnsafe(Math.min(this[pV],this[FB]))}[Cf](){if(!this[wl]){this[wl]=!0;let e=this[ZD]();if(e.length===0)return process.nextTick(()=>this[eR](null,0,e));Ks.read(this[or],e,0,e.length,null,(r,i,n)=>this[eR](r,i,n))}}[eR](e,r,i){this[wl]=!1,e?this[pf](e):this[XD](r,i)&&this[Cf]()}[sa](){this[hf]&&typeof this[or]=="number"&&(Ks.close(this[or],e=>this.emit("close")),this[or]=null)}[pf](e){this[wl]=!0,this[sa](),this.emit("error",e)}[XD](e,r){let i=!1;return this[FB]-=e,e>0&&(i=super.write(ethis[df](e,r))}[df](e,r){this[LB]&&this[eu]==="r+"&&e&&e.code==="ENOENT"?(this[eu]="w",this[Il]()):e?this[pf](e):(this[or]=r,this.emit("open",r),this[VD]())}end(e,r){e&&this.write(e,r),this[rC]=!0,!this[mf]&&!this[oa].length&&typeof this[or]=="number"&&this[tu](null,0)}write(e,r){return typeof e=="string"&&(e=new Buffer(e,r)),this[rC]?(this.emit("error",new Error("write() after end()")),!1):this[or]===null||this[mf]||this[oa].length?(this[oa].push(e),this[RB]=!0,!1):(this[mf]=!0,this[NB](e),!0)}[NB](e){Ks.write(this[or],e,0,e.length,this[ru],(r,i)=>this[tu](r,i))}[tu](e,r){e?this[pf](e):(this[ru]!==null&&(this[ru]+=r),this[oa].length?this[VD]():(this[mf]=!1,this[rC]&&!this[hV]?(this[hV]=!0,this[sa](),this.emit("finish")):this[RB]&&(this[RB]=!1,this.emit("drain"))))}[VD](){if(this[oa].length===0)this[rC]&&this[tu](null,0);else if(this[oa].length===1)this[NB](this[oa].pop());else{let e=this[oa];this[oa]=[],UFe(this[or],e,this[ru],(r,i)=>this[tu](r,i))}}[sa](){this[hf]&&typeof this[or]=="number"&&(Ks.close(this[or],e=>this.emit("close")),this[or]=null)}},mV=class extends rR{[Il](){let e;try{e=Ks.openSync(this[yl],this[eu],this[$D])}catch(r){if(this[LB]&&this[eu]==="r+"&&r&&r.code==="ENOENT")return this[eu]="w",this[Il]();throw r}this[df](null,e)}[sa](){if(this[hf]&&typeof this[or]=="number"){try{Ks.closeSync(this[or])}catch(e){}this[or]=null,this.emit("close")}}[NB](e){try{this[tu](null,Ks.writeSync(this[or],e,0,e.length,this[ru]))}catch(r){this[tu](r,0)}}},UFe=(t,e,r,i)=>{let n=(o,a)=>i(o,a,e),s=new KFe;s.oncomplete=n,DB.writeBuffers(t,e,r,s)};tC.ReadStream=tR;tC.ReadStreamSync=CV;tC.WriteStream=rR;tC.WriteStreamSync=mV});var sC=w((JAt,EV)=>{"use strict";var HFe=CB(),YAt=require("path"),GFe=uf(),jFe=require("events"),YFe=bp(),qFe=1024*1024,JFe=$d(),IV=dB(),WFe=QD(),iR=Buffer.from([31,139]),Us=Symbol("state"),iu=Symbol("writeEntry"),AA=Symbol("readEntry"),nR=Symbol("nextEntry"),yV=Symbol("processEntry"),Hs=Symbol("extendedHeader"),iC=Symbol("globalExtendedHeader"),Bl=Symbol("meta"),wV=Symbol("emitMeta"),yr=Symbol("buffer"),lA=Symbol("queue"),nu=Symbol("ended"),BV=Symbol("emittedEnd"),su=Symbol("emit"),Ln=Symbol("unzip"),TB=Symbol("consumeChunk"),OB=Symbol("consumeChunkSub"),sR=Symbol("consumeBody"),bV=Symbol("consumeMeta"),QV=Symbol("consumeHeader"),MB=Symbol("consuming"),oR=Symbol("bufferConcat"),aR=Symbol("maybeEnd"),nC=Symbol("writing"),bl=Symbol("aborted"),KB=Symbol("onDone"),ou=Symbol("sawValidEntry"),UB=Symbol("sawNullBlock"),HB=Symbol("sawEOF"),zFe=t=>!0;EV.exports=HFe(class extends jFe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[ou]=null,this.on(KB,r=>{(this[Us]==="begin"||this[ou]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(KB,e.ondone):this.on(KB,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||qFe,this.filter=typeof e.filter=="function"?e.filter:zFe,this.writable=!0,this.readable=!1,this[lA]=new YFe,this[yr]=null,this[AA]=null,this[iu]=null,this[Us]="begin",this[Bl]="",this[Hs]=null,this[iC]=null,this[nu]=!1,this[Ln]=null,this[bl]=!1,this[UB]=!1,this[HB]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[QV](e,r){this[ou]===null&&(this[ou]=!1);let i;try{i=new GFe(e,r,this[Hs],this[iC])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[UB]?(this[HB]=!0,this[Us]==="begin"&&(this[Us]="header"),this[su]("eof")):(this[UB]=!0,this[su]("nullBlock"));else if(this[UB]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[iu]=new JFe(i,this[Hs],this[iC]);if(!this[ou])if(s.remain){let o=()=>{s.invalid||(this[ou]=!0)};s.on("end",o)}else this[ou]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[su]("ignoredEntry",s),this[Us]="ignore",s.resume()):s.size>0&&(this[Bl]="",s.on("data",o=>this[Bl]+=o),this[Us]="meta"):(this[Hs]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[su]("ignoredEntry",s),this[Us]=s.remain?"ignore":"header",s.resume()):(s.remain?this[Us]="body":(this[Us]="header",s.end()),this[AA]?this[lA].push(s):(this[lA].push(s),this[nR]())))}}}[yV](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[AA]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[nR]()),r=!1)):(this[AA]=null,r=!1),r}[nR](){do;while(this[yV](this[lA].shift()));if(!this[lA].length){let e=this[AA];!e||e.flowing||e.size===e.remain?this[nC]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[sR](e,r){let i=this[iu],n=i.blockRemain,s=n>=e.length&&r===0?e:e.slice(r,r+n);return i.write(s),i.blockRemain||(this[Us]="header",this[iu]=null,i.end()),s.length}[bV](e,r){let i=this[iu],n=this[sR](e,r);return this[iu]||this[wV](i),n}[su](e,r,i){!this[lA].length&&!this[AA]?this.emit(e,r,i):this[lA].push([e,r,i])}[wV](e){switch(this[su]("meta",this[Bl]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[Hs]=IV.parse(this[Bl],this[Hs],!1);break;case"GlobalExtendedHeader":this[iC]=IV.parse(this[Bl],this[iC],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[Hs]=this[Hs]||Object.create(null),this[Hs].path=this[Bl].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[Hs]=this[Hs]||Object.create(null),this[Hs].linkpath=this[Bl].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[bl]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[bl])return;if(this[Ln]===null&&e){if(this[yr]&&(e=Buffer.concat([this[yr],e]),this[yr]=null),e.lengththis[TB](s)),this[Ln].on("error",s=>this.abort(s)),this[Ln].on("end",s=>{this[nu]=!0,this[TB]()}),this[nC]=!0;let n=this[Ln][i?"end":"write"](e);return this[nC]=!1,n}}this[nC]=!0,this[Ln]?this[Ln].write(e):this[TB](e),this[nC]=!1;let r=this[lA].length?!1:this[AA]?this[AA].flowing:!0;return!r&&!this[lA].length&&this[AA].once("drain",i=>this.emit("drain")),r}[oR](e){e&&!this[bl]&&(this[yr]=this[yr]?Buffer.concat([this[yr],e]):e)}[aR](){if(this[nu]&&!this[BV]&&!this[bl]&&!this[MB]){this[BV]=!0;let e=this[iu];if(e&&e.blockRemain){let r=this[yr]?this[yr].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[yr]&&e.write(this[yr]),e.end()}this[su](KB)}}[TB](e){if(this[MB])this[oR](e);else if(!e&&!this[yr])this[aR]();else{if(this[MB]=!0,this[yr]){this[oR](e);let r=this[yr];this[yr]=null,this[OB](r)}else this[OB](e);for(;this[yr]&&this[yr].length>=512&&!this[bl]&&!this[HB];){let r=this[yr];this[yr]=null,this[OB](r)}this[MB]=!1}(!this[yr]||this[nu])&&this[aR]()}[OB](e){let r=0,i=e.length;for(;r+512<=i&&!this[bl]&&!this[HB];)switch(this[Us]){case"begin":case"header":this[QV](e,r),r+=512;break;case"ignore":case"body":r+=this[sR](e,r);break;case"meta":r+=this[bV](e,r);break;default:throw new Error("invalid state: "+this[Us])}r{"use strict";var _Fe=af(),SV=sC(),If=require("fs"),VFe=Ef(),kV=require("path"),WAt=vV.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=_Fe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&ZFe(i,e),i.noResume||XFe(i),i.file&&i.sync?$Fe(i):i.file?eNe(i,r):xV(i)},XFe=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},ZFe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||kV.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(kV.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},$Fe=t=>{let e=xV(t),r=t.file,i=!0,n;try{let s=If.statSync(r),o=t.maxReadSize||16*1024*1024;if(s.size{let r=new SV(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("end",o),If.stat(n,(l,c)=>{if(l)a(l);else{let u=new VFe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},xV=t=>new SV(t)});var LV=w((XAt,PV)=>{"use strict";var tNe=af(),jB=PB(),_At=require("fs"),DV=Ef(),RV=GB(),FV=require("path"),VAt=PV.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=tNe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?rNe(i,e):i.file?iNe(i,e,r):i.sync?nNe(i,e):sNe(i,e)},rNe=(t,e)=>{let r=new jB.Sync(t),i=new DV.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(i),NV(r,e)},iNe=(t,e,r)=>{let i=new jB(t),n=new DV.WriteStream(t.file,{mode:t.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return AR(i,e),r?s.then(r,r):s},NV=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?RV({file:FV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},AR=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return RV({file:FV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>AR(t,e));t.add(r)}t.end()},nNe=(t,e)=>{let r=new jB.Sync(t);return NV(r,e),r},sNe=(t,e)=>{let r=new jB(t);return AR(r,e),r}});var lR=w((elt,TV)=>{"use strict";var oNe=af(),OV=PB(),ZAt=sC(),Gs=require("fs"),MV=Ef(),KV=GB(),UV=require("path"),HV=uf(),$At=TV.exports=(t,e,r)=>{let i=oNe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?aNe(i,e):ANe(i,e,r)},aNe=(t,e)=>{let r=new OV.Sync(t),i=!0,n,s;try{try{n=Gs.openSync(t.file,"r+")}catch(l){if(l.code==="ENOENT")n=Gs.openSync(t.file,"w+");else throw l}let o=Gs.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,t.mtimeCache&&t.mtimeCache.set(l.path,l.mtime)}i=!1,lNe(t,r,s,n,e)}finally{if(i)try{Gs.closeSync(n)}catch(o){}}},lNe=(t,e,r,i,n)=>{let s=new MV.WriteStreamSync(t.file,{fd:i,start:r});e.pipe(s),cNe(e,n)},ANe=(t,e,r)=>{e=Array.from(e);let i=new OV(t),n=(o,a,l)=>{let c=(p,m)=>{p?Gs.close(o,y=>l(p)):l(null,m)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,m)=>{if(p)return c(p);if(g+=m,g<512&&m)return Gs.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let y=new HV(f);if(!y.cksumValid)return c(null,u);let b=512*Math.ceil(y.size/512);if(u+b+512>a||(u+=b+512,u>=a))return c(null,u);t.mtimeCache&&t.mtimeCache.set(y.path,y.mtime),g=0,Gs.read(o,f,0,512,u,h)};Gs.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",Gs.open(t.file,l,c);if(u)return a(u);Gs.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,m)=>{if(p)return a(p);let y=new MV.WriteStream(t.file,{fd:g,start:m});i.pipe(y),y.on("error",a),y.on("close",o),GV(i,e)})})};Gs.open(t.file,l,c)});return r?s.then(r,r):s},cNe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?KV({file:UV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},GV=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return KV({file:UV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>GV(t,e));t.add(r)}t.end()}});var YV=w((rlt,jV)=>{"use strict";var uNe=af(),gNe=lR(),tlt=jV.exports=(t,e,r)=>{let i=uNe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),fNe(i),gNe(i,e,r)},fNe=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,i)=>e(r,i)&&!(t.mtimeCache.get(r)>i.mtime):(r,i)=>!(t.mtimeCache.get(r)>i.mtime)}});var WV=w((ilt,qV)=>{var{promisify:JV}=require("util"),Ql=require("fs"),hNe=t=>{if(!t)t={mode:511,fs:Ql};else if(typeof t=="object")t=N({mode:511,fs:Ql},t);else if(typeof t=="number")t={mode:t,fs:Ql};else if(typeof t=="string")t={mode:parseInt(t,8),fs:Ql};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||Ql.mkdir,t.mkdirAsync=JV(t.mkdir),t.stat=t.stat||t.fs.stat||Ql.stat,t.statAsync=JV(t.stat),t.statSync=t.statSync||t.fs.statSync||Ql.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||Ql.mkdirSync,t};qV.exports=hNe});var _V=w((nlt,zV)=>{var pNe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:dNe,parse:CNe}=require("path"),mNe=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=dNe(t),pNe==="win32"){let e=/[*|"<>?:]/,{root:r}=CNe(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};zV.exports=mNe});var e9=w((slt,VV)=>{var{dirname:XV}=require("path"),ZV=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(i=>i.isDirectory()?r:void 0,i=>i.code==="ENOENT"?ZV(t,XV(e),e):void 0),$V=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(i){return i.code==="ENOENT"?$V(t,XV(e),e):void 0}};VV.exports={findMade:ZV,findMadeSync:$V}});var gR=w((olt,t9)=>{var{dirname:r9}=require("path"),cR=(t,e,r)=>{e.recursive=!1;let i=r9(t);return i===t?e.mkdirAsync(t,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return cR(i,e).then(s=>cR(t,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(s=>{if(s.isDirectory())return r;throw n},()=>{throw n})})},uR=(t,e,r)=>{let i=r9(t);if(e.recursive=!1,i===t)try{return e.mkdirSync(t,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(t,e),r||t}catch(n){if(n.code==="ENOENT")return uR(t,e,uR(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(s){throw n}}};t9.exports={mkdirpManual:cR,mkdirpManualSync:uR}});var s9=w((alt,i9)=>{var{dirname:n9}=require("path"),{findMade:ENe,findMadeSync:INe}=e9(),{mkdirpManual:yNe,mkdirpManualSync:wNe}=gR(),BNe=(t,e)=>(e.recursive=!0,n9(t)===t?e.mkdirAsync(t,e):ENe(e,t).then(i=>e.mkdirAsync(t,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return yNe(t,e);throw n}))),bNe=(t,e)=>{if(e.recursive=!0,n9(t)===t)return e.mkdirSync(t,e);let i=INe(e,t);try{return e.mkdirSync(t,e),i}catch(n){if(n.code==="ENOENT")return wNe(t,e);throw n}};i9.exports={mkdirpNative:BNe,mkdirpNativeSync:bNe}});var l9=w((Alt,o9)=>{var a9=require("fs"),QNe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,fR=QNe.replace(/^v/,"").split("."),A9=+fR[0]>10||+fR[0]==10&&+fR[1]>=12,vNe=A9?t=>t.mkdir===a9.mkdir:()=>!1,SNe=A9?t=>t.mkdirSync===a9.mkdirSync:()=>!1;o9.exports={useNative:vNe,useNativeSync:SNe}});var p9=w((llt,c9)=>{var yf=WV(),wf=_V(),{mkdirpNative:u9,mkdirpNativeSync:g9}=s9(),{mkdirpManual:f9,mkdirpManualSync:h9}=gR(),{useNative:kNe,useNativeSync:xNe}=l9(),Bf=(t,e)=>(t=wf(t),e=yf(e),kNe(e)?u9(t,e):f9(t,e)),PNe=(t,e)=>(t=wf(t),e=yf(e),xNe(e)?g9(t,e):h9(t,e));Bf.sync=PNe;Bf.native=(t,e)=>u9(wf(t),yf(e));Bf.manual=(t,e)=>f9(wf(t),yf(e));Bf.nativeSync=(t,e)=>g9(wf(t),yf(e));Bf.manualSync=(t,e)=>h9(wf(t),yf(e));c9.exports=Bf});var w9=w((clt,d9)=>{"use strict";var js=require("fs"),au=require("path"),DNe=js.lchown?"lchown":"chown",RNe=js.lchownSync?"lchownSync":"chownSync",C9=js.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),m9=(t,e,r)=>{try{return js[RNe](t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},FNe=(t,e,r)=>{try{return js.chownSync(t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},NNe=C9?(t,e,r,i)=>n=>{!n||n.code!=="EISDIR"?i(n):js.chown(t,e,r,i)}:(t,e,r,i)=>i,hR=C9?(t,e,r)=>{try{return m9(t,e,r)}catch(i){if(i.code!=="EISDIR")throw i;FNe(t,e,r)}}:(t,e,r)=>m9(t,e,r),LNe=process.version,E9=(t,e,r)=>js.readdir(t,e,r),TNe=(t,e)=>js.readdirSync(t,e);/^v4\./.test(LNe)&&(E9=(t,e,r)=>js.readdir(t,r));var YB=(t,e,r,i)=>{js[DNe](t,e,r,NNe(t,e,r,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},I9=(t,e,r,i,n)=>{if(typeof e=="string")return js.lstat(au.resolve(t,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,I9(t,o,r,i,n)});if(e.isDirectory())pR(au.resolve(t,e.name),r,i,s=>{if(s)return n(s);let o=au.resolve(t,e.name);YB(o,r,i,n)});else{let s=au.resolve(t,e.name);YB(s,r,i,n)}},pR=(t,e,r,i)=>{E9(t,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return YB(t,e,r,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return YB(t,e,r,i)}};s.forEach(c=>I9(t,c,e,r,l))})},ONe=(t,e,r,i)=>{if(typeof e=="string")try{let n=js.lstatSync(au.resolve(t,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&y9(au.resolve(t,e.name),r,i),hR(au.resolve(t,e.name),r,i)},y9=(t,e,r)=>{let i;try{i=TNe(t,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return hR(t,e,r);throw n}return i&&i.length&&i.forEach(n=>ONe(t,n,e,r)),hR(t,e,r)};d9.exports=pR;pR.sync=y9});var v9=w((flt,dR)=>{"use strict";var B9=p9(),Ys=require("fs"),qB=require("path"),b9=w9(),CR=class extends Error{constructor(e,r){super("Cannot extract through symbolic link");this.path=r,this.symlink=e}get name(){return"SylinkError"}},oC=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'");this.path=e,this.code=r}get name(){return"CwdError"}},ult=dR.exports=(t,e,r)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=e.cwd,h=(y,b)=>{y?r(y):(g.set(t,!0),b&&l?b9(b,o,a,S=>h(S)):s?Ys.chmod(t,n,r):r())};if(g&&g.get(t)===!0)return h();if(t===f)return Ys.stat(t,(y,b)=>{(y||!b.isDirectory())&&(y=new oC(t,y&&y.code||"ENOTDIR")),h(y)});if(c)return B9(t,{mode:n}).then(y=>h(null,y),h);let m=qB.relative(f,t).split(/\/|\\/);JB(f,m,n,g,u,f,null,h)},JB=(t,e,r,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=t+"/"+l;if(i.get(c))return JB(c,e,r,i,n,s,o,a);Ys.mkdir(c,r,Q9(c,e,r,i,n,s,o,a))},Q9=(t,e,r,i,n,s,o,a)=>l=>{if(l){if(l.path&&qB.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new oC(s,l.code));Ys.lstat(t,(c,u)=>{if(c)a(c);else if(u.isDirectory())JB(t,e,r,i,n,s,o,a);else if(n)Ys.unlink(t,g=>{if(g)return a(g);Ys.mkdir(t,r,Q9(t,e,r,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new CR(t,t+"/"+e.join("/")));a(l)}})}else o=o||t,JB(t,e,r,i,n,s,o,a)},glt=dR.exports.sync=(t,e)=>{let r=e.umask,i=e.mode|448,n=(i&r)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,f=y=>{u.set(t,!0),y&&a&&b9.sync(y,s,o),n&&Ys.chmodSync(t,i)};if(u&&u.get(t)===!0)return f();if(t===g){let y=!1,b="ENOTDIR";try{y=Ys.statSync(t).isDirectory()}catch(S){b=S.code}finally{if(!y)throw new oC(t,b)}f();return}if(l)return f(B9.sync(t,i));let p=qB.relative(g,t).split(/\/|\\/),m=null;for(let y=p.shift(),b=g;y&&(b+="/"+y);y=p.shift())if(!u.get(b))try{Ys.mkdirSync(b,i),m=m||b,u.set(b,!0)}catch(S){if(S.path&&qB.dirname(S.path)===g&&(S.code==="ENOTDIR"||S.code==="ENOENT"))return new oC(g,S.code);let k=Ys.lstatSync(b);if(k.isDirectory()){u.set(b,!0);continue}else if(c){Ys.unlinkSync(b),Ys.mkdirSync(b,i),m=m||b,u.set(b,!0);continue}else if(k.isSymbolicLink())return new CR(b,b+"/"+p.join("/"))}return f(m)}});var x9=w((hlt,S9)=>{var k9=require("assert");S9.exports=()=>{let t=new Map,e=new Map,{join:r}=require("path"),i=u=>r(u).split(/[\\\/]/).slice(0,-1).reduce((g,f)=>g.length?g.concat(r(g[g.length-1],f)):[f],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(f=>t.get(f)),dirs:[...g.dirs].map(f=>t.get(f))}},o=u=>{let{paths:g,dirs:f}=s(u);return g.every(h=>h[0]===u)&&f.every(h=>h[0]instanceof Set&&h[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:f}=e.get(u),h=new Set;return g.forEach(p=>{let m=t.get(p);k9.equal(m[0],u),m.length===1?t.delete(p):(m.shift(),typeof m[0]=="function"?h.add(m[0]):m[0].forEach(y=>h.add(y)))}),f.forEach(p=>{let m=t.get(p);k9(m[0]instanceof Set),m[0].size===1&&m.length===1?t.delete(p):m[0].size===1?(m.shift(),h.add(m[0])):m[0].delete(u)}),n.delete(u),h.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let f=new Set(u.map(h=>i(h)).reduce((h,p)=>h.concat(p)));return e.set(g,{dirs:f,paths:u}),u.forEach(h=>{let p=t.get(h);p?p.push(g):t.set(h,[g])}),f.forEach(h=>{let p=t.get(h);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):t.set(h,[new Set([g])])}),a(g)}}}});var R9=w((plt,P9)=>{var MNe=process.env.__FAKE_PLATFORM__||process.platform,KNe=MNe==="win32",UNe=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:HNe,O_TRUNC:GNe,O_WRONLY:jNe,UV_FS_O_FILEMAP:D9=0}=UNe.constants,YNe=KNe&&!!D9,qNe=512*1024,JNe=D9|GNe|HNe|jNe;P9.exports=YNe?t=>t"w"});var vR=w((Elt,F9)=>{"use strict";var WNe=require("assert"),dlt=require("events").EventEmitter,zNe=sC(),$t=require("fs"),_Ne=Ef(),cA=require("path"),mR=v9(),Clt=mR.sync,N9=FD(),VNe=x9(),L9=Symbol("onEntry"),ER=Symbol("checkFs"),T9=Symbol("checkFs2"),IR=Symbol("isReusable"),uA=Symbol("makeFs"),yR=Symbol("file"),wR=Symbol("directory"),WB=Symbol("link"),O9=Symbol("symlink"),M9=Symbol("hardlink"),K9=Symbol("unsupported"),mlt=Symbol("unknown"),U9=Symbol("checkPath"),bf=Symbol("mkdir"),dn=Symbol("onError"),zB=Symbol("pending"),H9=Symbol("pend"),Qf=Symbol("unpend"),BR=Symbol("ended"),bR=Symbol("maybeClose"),QR=Symbol("skip"),aC=Symbol("doChown"),AC=Symbol("uid"),lC=Symbol("gid"),G9=require("crypto"),j9=R9(),_B=()=>{throw new Error("sync function called cb somehow?!?")},XNe=(t,e)=>{if(process.platform!=="win32")return $t.unlink(t,e);let r=t+".DELETE."+G9.randomBytes(16).toString("hex");$t.rename(t,r,i=>{if(i)return e(i);$t.unlink(r,e)})},ZNe=t=>{if(process.platform!=="win32")return $t.unlinkSync(t);let e=t+".DELETE."+G9.randomBytes(16).toString("hex");$t.renameSync(t,e),$t.unlinkSync(e)},Y9=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,VB=class extends zNe{constructor(e){if(e||(e={}),e.ondone=r=>{this[BR]=!0,this[bR]()},super(e),this.reservations=VNe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[zB]=0,this[BR]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=cA.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[L9](r))}warn(e,r,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,r,i)}[bR](){this[BR]&&this[zB]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[U9](e){if(this.strip){let r=e.path.split(/\/|\\/);if(r.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let r=e.path;if(r.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;if(cA.win32.isAbsolute(r)){let i=cA.win32.parse(r);e.path=r.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:r})}}if(this.win32){let r=cA.win32.parse(e.path);e.path=r.root===""?N9.encode(e.path):r.root+N9.encode(e.path.substr(r.root.length))}return cA.isAbsolute(e.path)?e.absolute=e.path:e.absolute=cA.resolve(this.cwd,e.path),!0}[L9](e){if(!this[U9](e))return e.resume();switch(WNe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[ER](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[K9](e)}}[dn](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[Qf](),r.resume())}[bf](e,r,i){mR(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[aC](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[AC](e){return Y9(this.uid,e.uid,this.processUid)}[lC](e){return Y9(this.gid,e.gid,this.processGid)}[yR](e,r){let i=e.mode&4095||this.fmode,n=new _Ne.WriteStream(e.absolute,{flags:j9(e.size),mode:i,autoClose:!1});n.on("error",l=>this[dn](l,e));let s=1,o=l=>{if(l)return this[dn](l,e);--s==0&&$t.close(n.fd,c=>{r(),c?this[dn](c,e):this[Qf]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;$t.futimes(u,g,f,h=>h?$t.utimes(c,g,f,p=>o(p&&h)):o())}if(this[aC](e)){s++;let g=this[AC](e),f=this[lC](e);$t.fchown(u,g,f,h=>h?$t.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[dn](l,e)),e.pipe(a)),a.pipe(n)}[wR](e,r){let i=e.mode&4095||this.dmode;this[bf](e.absolute,i,n=>{if(n)return r(),this[dn](n,e);let s=1,o=a=>{--s==0&&(r(),this[Qf](),e.resume())};e.mtime&&!this.noMtime&&(s++,$t.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[aC](e)&&(s++,$t.chown(e.absolute,this[AC](e),this[lC](e),o)),o()})}[K9](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[O9](e,r){this[WB](e,e.linkpath,"symlink",r)}[M9](e,r){this[WB](e,cA.resolve(this.cwd,e.linkpath),"link",r)}[H9](){this[zB]++}[Qf](){this[zB]--,this[bR]()}[QR](e){this[Qf](),e.resume()}[IR](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&process.platform!=="win32"}[ER](e){this[H9]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,i=>this[T9](e,i))}[T9](e,r){this[bf](cA.dirname(e.absolute),this.dmode,i=>{if(i)return r(),this[dn](i,e);$t.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[QR](e),r()):n||this[IR](e,s)?this[uA](null,e,r):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[uA](null,e,r):$t.chmod(e.absolute,e.mode,o=>this[uA](o,e,r)):$t.rmdir(e.absolute,o=>this[uA](o,e,r)):XNe(e.absolute,o=>this[uA](o,e,r))})})}[uA](e,r,i){if(e)return this[dn](e,r);switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[yR](r,i);case"Link":return this[M9](r,i);case"SymbolicLink":return this[O9](r,i);case"Directory":case"GNUDumpDir":return this[wR](r,i)}}[WB](e,r,i,n){$t[i](r,e.absolute,s=>{if(s)return this[dn](s,e);n(),this[Qf](),e.resume()})}},q9=class extends VB{constructor(e){super(e)}[ER](e){let r=this[bf](cA.dirname(e.absolute),this.dmode,_B);if(r)return this[dn](r,e);try{let i=$t.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[QR](e);if(this[IR](e,i))return this[uA](null,e,_B);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&$t.chmodSync(e.absolute,e.mode):$t.rmdirSync(e.absolute):ZNe(e.absolute),this[uA](null,e,_B)}catch(n){return this[dn](n,e)}}catch(i){return this[uA](null,e,_B)}}[yR](e,r){let i=e.mode&4095||this.fmode,n=l=>{let c;try{$t.closeSync(o)}catch(u){c=u}(l||c)&&this[dn](l||c,e)},s,o;try{o=$t.openSync(e.absolute,j9(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[dn](l,e)),e.pipe(a)),a.on("data",l=>{try{$t.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{$t.futimesSync(o,u,g)}catch(f){try{$t.utimesSync(e.absolute,u,g)}catch(h){c=f}}}if(this[aC](e)){let u=this[AC](e),g=this[lC](e);try{$t.fchownSync(o,u,g)}catch(f){try{$t.chownSync(e.absolute,u,g)}catch(h){c=c||f}}}n(c)})}[wR](e,r){let i=e.mode&4095||this.dmode,n=this[bf](e.absolute,i);if(n)return this[dn](n,e);if(e.mtime&&!this.noMtime)try{$t.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[aC](e))try{$t.chownSync(e.absolute,this[AC](e),this[lC](e))}catch(s){}e.resume()}[bf](e,r){try{return mR.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(i){return i}}[WB](e,r,i,n){try{$t[i+"Sync"](r,e.absolute),e.resume()}catch(s){return this[dn](s,e)}}};VB.Sync=q9;F9.exports=VB});var V9=w((ylt,J9)=>{"use strict";var $Ne=af(),XB=vR(),W9=require("fs"),z9=Ef(),_9=require("path"),Ilt=J9.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=$Ne(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&eLe(i,e),i.file&&i.sync?tLe(i):i.file?rLe(i,r):i.sync?iLe(i):nLe(i)},eLe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||_9.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(_9.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},tLe=t=>{let e=new XB.Sync(t),r=t.file,i=!0,n,s=W9.statSync(r),o=t.maxReadSize||16*1024*1024;new z9.ReadStreamSync(r,{readSize:o,size:s.size}).pipe(e)},rLe=(t,e)=>{let r=new XB(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("close",o),W9.stat(n,(l,c)=>{if(l)a(l);else{let u=new z9.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},iLe=t=>new XB.Sync(t),nLe=t=>new XB(t)});var X9=w(hi=>{"use strict";hi.c=hi.create=LV();hi.r=hi.replace=lR();hi.t=hi.list=GB();hi.u=hi.update=YV();hi.x=hi.extract=V9();hi.Pack=PB();hi.Unpack=vR();hi.Parse=sC();hi.ReadEntry=$d();hi.WriteEntry=UD();hi.Header=uf();hi.Pax=dB();hi.types=Zd()});var r7=w((blt,t7)=>{var kR;t7.exports.getContent=()=>(typeof kR=="undefined"&&(kR=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),kR)});var A7=w((xR,a7)=>{(function(t,e){typeof xR=="object"?a7.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(xR,function(){function t(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function r(n,s,o,a,l,c,u){var g="",f=0,h,p,m=a.slice(0);if(m.push([s,o])&&a.length>0&&(a.forEach(function(b,S){S>0&&(g+=(b[1]?" ":"\u2502")+" "),!p&&b[0]===s&&(p=!0)}),g+=t(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var y=e(s,c);y.forEach(function(b){h=++f===y.length,r(b,s[b],h,m,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;r(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return r(".",n,!1,[],s,o,function(l){a+=l+` +`}),a},i})});var fA=w(RR=>{"use strict";Object.defineProperty(RR,"__esModule",{value:!0});RR.default=h7;function h7(){}h7.prototype={diff:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(m){return n?(setTimeout(function(){n(void 0,m)},0),!0):m}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,l=e.length,c=1,u=a+l,g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],r,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(r),count:r.length}]);function h(){for(var m=-1*c;m<=c;m+=2){var y=void 0,b=g[m-1],S=g[m+1],k=(S?S.newPos:0)-m;b&&(g[m-1]=void 0);var T=b&&b.newPos+1=a&&k+1>=l)return o(gLe(s,y.components,r,e,s.useLongestToken));g[m]=y}c++}if(n)(function m(){setTimeout(function(){if(c>u)return n();h()||m()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,r,i){var n=e[e.length-1];n&&n.added===r&&n.removed===i?e[e.length-1]={count:n.count+1,added:r,removed:i}:e.push({count:1,added:r,removed:i})},extractCommon:function(e,r,i,n){for(var s=r.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?m:h}),c.value=t.join(u)}else c.value=t.join(r.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&t.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function fLe(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var d7=w(cC=>{"use strict";Object.defineProperty(cC,"__esModule",{value:!0});cC.diffChars=hLe;cC.characterDiff=void 0;var dLe=pLe(fA());function pLe(t){return t&&t.__esModule?t:{default:t}}var p7=new dLe.default;cC.characterDiff=p7;function hLe(t,e,r){return p7.diff(t,e,r)}});var NR=w(FR=>{"use strict";Object.defineProperty(FR,"__esModule",{value:!0});FR.generateOptions=CLe;function CLe(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}});var E7=w(vf=>{"use strict";Object.defineProperty(vf,"__esModule",{value:!0});vf.diffWords=mLe;vf.diffWordsWithSpace=ELe;vf.wordDiff=void 0;var yLe=ILe(fA()),wLe=NR();function ILe(t){return t&&t.__esModule?t:{default:t}}var C7=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,m7=/\S/,uC=new yLe.default;vf.wordDiff=uC;uC.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!m7.test(t)&&!m7.test(e)};uC.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r{"use strict";Object.defineProperty(Sf,"__esModule",{value:!0});Sf.diffLines=BLe;Sf.diffTrimmedLines=bLe;Sf.lineDiff=void 0;var vLe=QLe(fA()),SLe=NR();function QLe(t){return t&&t.__esModule?t:{default:t}}var ZB=new vLe.default;Sf.lineDiff=ZB;ZB.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var i=0;i{"use strict";Object.defineProperty(gC,"__esModule",{value:!0});gC.diffSentences=kLe;gC.sentenceDiff=void 0;var PLe=xLe(fA());function xLe(t){return t&&t.__esModule?t:{default:t}}var LR=new PLe.default;gC.sentenceDiff=LR;LR.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};function kLe(t,e,r){return LR.diff(t,e,r)}});var y7=w(fC=>{"use strict";Object.defineProperty(fC,"__esModule",{value:!0});fC.diffCss=DLe;fC.cssDiff=void 0;var FLe=RLe(fA());function RLe(t){return t&&t.__esModule?t:{default:t}}var TR=new FLe.default;fC.cssDiff=TR;TR.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function DLe(t,e,r){return TR.diff(t,e,r)}});var B7=w(kf=>{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});kf.diffJson=NLe;kf.canonicalize=e0;kf.jsonDiff=void 0;var w7=LLe(fA()),TLe=$B();function LLe(t){return t&&t.__esModule?t:{default:t}}function t0(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?t0=function(r){return typeof r}:t0=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},t0(t)}var OLe=Object.prototype.toString,Au=new w7.default;kf.jsonDiff=Au;Au.useLongestToken=!0;Au.tokenize=TLe.lineDiff.tokenize;Au.castInput=function(t){var e=this.options,r=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o=="undefined"?r:o}:i;return typeof t=="string"?t:JSON.stringify(e0(t,null,null,n),n," ")};Au.equals=function(t,e){return w7.default.prototype.equals.call(Au,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function NLe(t,e,r){return Au.diff(t,e,r)}function e0(t,e,r,i,n){e=e||[],r=r||[],i&&(t=i(n,t));var s;for(s=0;s{"use strict";Object.defineProperty(hC,"__esModule",{value:!0});hC.diffArrays=MLe;hC.arrayDiff=void 0;var ULe=KLe(fA());function KLe(t){return t&&t.__esModule?t:{default:t}}var pC=new ULe.default;hC.arrayDiff=pC;pC.tokenize=function(t){return t.slice()};pC.join=pC.removeEmpty=function(t){return t};function MLe(t,e,r){return pC.diff(t,e,r)}});var r0=w(OR=>{"use strict";Object.defineProperty(OR,"__esModule",{value:!0});OR.parsePatch=HLe;function HLe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.split(/\r\n|[\n\v\f\r\x85]/),i=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],n=[],s=0;function o(){var c={};for(n.push(c);s{"use strict";Object.defineProperty(MR,"__esModule",{value:!0});MR.default=GLe;function GLe(t,e,r){var i=!0,n=!1,s=!1,o=1;return function a(){if(i&&!s){if(n?o++:i=!1,t+o<=r)return o;s=!0}if(!n)return s||(i=!0),e<=t-o?-o++:(n=!0,a())}}});var k7=w(i0=>{"use strict";Object.defineProperty(i0,"__esModule",{value:!0});i0.applyPatch=v7;i0.applyPatches=jLe;var S7=r0(),qLe=YLe(Q7());function YLe(t){return t&&t.__esModule?t:{default:t}}function v7(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,S7.parsePatch)(e)),Array.isArray(e)){if(e.length>1)throw new Error("applyPatch only works with a single input.");e=e[0]}var i=t.split(/\r\n|[\n\v\f\r\x85]/),n=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=e.hunks,o=r.compareLine||function(O,L,pe,Ce){return L===Ce},a=0,l=r.fuzzFactor||0,c=0,u=0,g,f;function h(O,L){for(var pe=0;pe0?Ce[0]:" ",te=Ce.length>0?Ce.substr(1):Ce;if(Oe===" "||Oe==="-"){if(!o(L+1,i[L],Oe,te)&&(a++,a>l))return!1;L++}}return!0}for(var p=0;p0?re[0]:" ",A=re.length>0?re.substr(1):re,oe=j.linedelimiters[J];if(ee===" ")Z++;else if(ee==="-")i.splice(Z,1),n.splice(Z,1);else if(ee==="+")i.splice(Z,0,A),n.splice(Z,0,oe),Z++;else if(ee==="\\"){var le=j.lines[J-1]?j.lines[J-1][0]:null;le==="+"?g=!0:le==="-"&&(f=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else f&&(i.push(""),n.push(` +`));for(var X=0;X{"use strict";Object.defineProperty(dC,"__esModule",{value:!0});dC.structuredPatch=x7;dC.createTwoFilesPatch=P7;dC.createPatch=JLe;var WLe=$B();function KR(t){return VLe(t)||_Le(t)||zLe()}function zLe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _Le(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function VLe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e0?l(j.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(Y=f).push.apply(Y,KR(T.map(function(X){return(k.added?"+":"-")+X}))),k.added?p+=T.length:h+=T.length}else{if(u)if(T.length<=o.context*2&&S=a.length-2&&T.length<=o.context){var A=/\n$/.test(r),oe=/\n$/.test(i),le=T.length==0&&f.length>ee.oldLines;!A&&le&&f.splice(ee.oldLines,0,"\\ No newline at end of file"),(!A&&!le||!oe)&&f.push("\\ No newline at end of file")}c.push(ee),u=0,g=0,f=[]}h+=T.length,p+=T.length}},y=0;y{"use strict";Object.defineProperty(n0,"__esModule",{value:!0});n0.arrayEqual=XLe;n0.arrayStartsWith=D7;function XLe(t,e){return t.length!==e.length?!1:D7(t,e)}function D7(t,e){if(e.length>t.length)return!1;for(var r=0;r{"use strict";Object.defineProperty(s0,"__esModule",{value:!0});s0.calcLineCount=F7;s0.merge=ZLe;var $Le=UR(),eTe=r0(),HR=R7();function xf(t){return iTe(t)||rTe(t)||tTe()}function tTe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function rTe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function iTe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e{"use strict";Object.defineProperty(YR,"__esModule",{value:!0});YR.convertChangesToDMP=aTe;function aTe(t){for(var e=[],r,i,n=0;n{"use strict";Object.defineProperty(qR,"__esModule",{value:!0});qR.convertChangesToXML=ATe;function ATe(t){for(var e=[],r=0;r"):i.removed&&e.push(""),e.push(lTe(i.value)),i.added?e.push(""):i.removed&&e.push("")}return e.join("")}function lTe(t){var e=t;return e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e}});var V7=w(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Object.defineProperty(Ur,"Diff",{enumerable:!0,get:function(){return cTe.default}});Object.defineProperty(Ur,"diffChars",{enumerable:!0,get:function(){return uTe.diffChars}});Object.defineProperty(Ur,"diffWords",{enumerable:!0,get:function(){return J7.diffWords}});Object.defineProperty(Ur,"diffWordsWithSpace",{enumerable:!0,get:function(){return J7.diffWordsWithSpace}});Object.defineProperty(Ur,"diffLines",{enumerable:!0,get:function(){return W7.diffLines}});Object.defineProperty(Ur,"diffTrimmedLines",{enumerable:!0,get:function(){return W7.diffTrimmedLines}});Object.defineProperty(Ur,"diffSentences",{enumerable:!0,get:function(){return gTe.diffSentences}});Object.defineProperty(Ur,"diffCss",{enumerable:!0,get:function(){return fTe.diffCss}});Object.defineProperty(Ur,"diffJson",{enumerable:!0,get:function(){return z7.diffJson}});Object.defineProperty(Ur,"canonicalize",{enumerable:!0,get:function(){return z7.canonicalize}});Object.defineProperty(Ur,"diffArrays",{enumerable:!0,get:function(){return hTe.diffArrays}});Object.defineProperty(Ur,"applyPatch",{enumerable:!0,get:function(){return _7.applyPatch}});Object.defineProperty(Ur,"applyPatches",{enumerable:!0,get:function(){return _7.applyPatches}});Object.defineProperty(Ur,"parsePatch",{enumerable:!0,get:function(){return pTe.parsePatch}});Object.defineProperty(Ur,"merge",{enumerable:!0,get:function(){return dTe.merge}});Object.defineProperty(Ur,"structuredPatch",{enumerable:!0,get:function(){return JR.structuredPatch}});Object.defineProperty(Ur,"createTwoFilesPatch",{enumerable:!0,get:function(){return JR.createTwoFilesPatch}});Object.defineProperty(Ur,"createPatch",{enumerable:!0,get:function(){return JR.createPatch}});Object.defineProperty(Ur,"convertChangesToDMP",{enumerable:!0,get:function(){return CTe.convertChangesToDMP}});Object.defineProperty(Ur,"convertChangesToXML",{enumerable:!0,get:function(){return mTe.convertChangesToXML}});var cTe=ETe(fA()),uTe=d7(),J7=E7(),W7=$B(),gTe=I7(),fTe=y7(),z7=B7(),hTe=b7(),_7=k7(),pTe=r0(),dTe=j7(),JR=UR(),CTe=Y7(),mTe=q7();function ETe(t){return t&&t.__esModule?t:{default:t}}});var a0=w((dct,X7)=>{var ITe=Ms(),yTe=yd(),wTe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,BTe=/^\w*$/;function bTe(t,e){if(ITe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||yTe(t)?!0:BTe.test(t)||!wTe.test(t)||e!=null&&t in Object(e)}X7.exports=bTe});var A0=w((Cct,Z7)=>{var QTe=Gc(),vTe=Rn(),STe="[object AsyncFunction]",kTe="[object Function]",xTe="[object GeneratorFunction]",PTe="[object Proxy]";function DTe(t){if(!vTe(t))return!1;var e=QTe(t);return e==kTe||e==xTe||e==STe||e==PTe}Z7.exports=DTe});var eX=w((mct,$7)=>{var RTe=Fs(),FTe=RTe["__core-js_shared__"];$7.exports=FTe});var iX=w((Ect,tX)=>{var WR=eX(),rX=function(){var t=/[^.]+$/.exec(WR&&WR.keys&&WR.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function NTe(t){return!!rX&&rX in t}tX.exports=NTe});var zR=w((Ict,nX)=>{var LTe=Function.prototype,TTe=LTe.toString;function OTe(t){if(t!=null){try{return TTe.call(t)}catch(e){}try{return t+""}catch(e){}}return""}nX.exports=OTe});var oX=w((yct,sX)=>{var MTe=A0(),KTe=iX(),UTe=Rn(),HTe=zR(),GTe=/[\\^$.*+?()[\]{}|]/g,jTe=/^\[object .+?Constructor\]$/,YTe=Function.prototype,qTe=Object.prototype,JTe=YTe.toString,WTe=qTe.hasOwnProperty,zTe=RegExp("^"+JTe.call(WTe).replace(GTe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _Te(t){if(!UTe(t)||KTe(t))return!1;var e=MTe(t)?zTe:jTe;return e.test(HTe(t))}sX.exports=_Te});var AX=w((wct,aX)=>{function VTe(t,e){return t==null?void 0:t[e]}aX.exports=VTe});var Sl=w((Bct,lX)=>{var XTe=oX(),ZTe=AX();function $Te(t,e){var r=ZTe(t,e);return XTe(r)?r:void 0}lX.exports=$Te});var CC=w((bct,cX)=>{var eOe=Sl(),tOe=eOe(Object,"create");cX.exports=tOe});var fX=w((Qct,uX)=>{var gX=CC();function rOe(){this.__data__=gX?gX(null):{},this.size=0}uX.exports=rOe});var pX=w((vct,hX)=>{function iOe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}hX.exports=iOe});var CX=w((Sct,dX)=>{var nOe=CC(),sOe="__lodash_hash_undefined__",oOe=Object.prototype,aOe=oOe.hasOwnProperty;function AOe(t){var e=this.__data__;if(nOe){var r=e[t];return r===sOe?void 0:r}return aOe.call(e,t)?e[t]:void 0}dX.exports=AOe});var EX=w((kct,mX)=>{var lOe=CC(),cOe=Object.prototype,uOe=cOe.hasOwnProperty;function gOe(t){var e=this.__data__;return lOe?e[t]!==void 0:uOe.call(e,t)}mX.exports=gOe});var yX=w((xct,IX)=>{var fOe=CC(),hOe="__lodash_hash_undefined__";function pOe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=fOe&&e===void 0?hOe:e,this}IX.exports=pOe});var BX=w((Pct,wX)=>{var dOe=fX(),COe=pX(),mOe=CX(),EOe=EX(),IOe=yX();function Pf(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{function yOe(){this.__data__=[],this.size=0}bX.exports=yOe});var Df=w((Rct,vX)=>{function wOe(t,e){return t===e||t!==t&&e!==e}vX.exports=wOe});var mC=w((Fct,SX)=>{var BOe=Df();function bOe(t,e){for(var r=t.length;r--;)if(BOe(t[r][0],e))return r;return-1}SX.exports=bOe});var xX=w((Nct,kX)=>{var QOe=mC(),vOe=Array.prototype,SOe=vOe.splice;function kOe(t){var e=this.__data__,r=QOe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():SOe.call(e,r,1),--this.size,!0}kX.exports=kOe});var DX=w((Lct,PX)=>{var xOe=mC();function POe(t){var e=this.__data__,r=xOe(e,t);return r<0?void 0:e[r][1]}PX.exports=POe});var FX=w((Tct,RX)=>{var DOe=mC();function ROe(t){return DOe(this.__data__,t)>-1}RX.exports=ROe});var LX=w((Oct,NX)=>{var FOe=mC();function NOe(t,e){var r=this.__data__,i=FOe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}NX.exports=NOe});var EC=w((Mct,TX)=>{var LOe=QX(),TOe=xX(),OOe=DX(),MOe=FX(),KOe=LX();function Rf(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var UOe=Sl(),HOe=Fs(),GOe=UOe(HOe,"Map");OX.exports=GOe});var UX=w((Uct,MX)=>{var KX=BX(),jOe=EC(),YOe=l0();function qOe(){this.size=0,this.__data__={hash:new KX,map:new(YOe||jOe),string:new KX}}MX.exports=qOe});var GX=w((Hct,HX)=>{function JOe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}HX.exports=JOe});var IC=w((Gct,jX)=>{var WOe=GX();function zOe(t,e){var r=t.__data__;return WOe(e)?r[typeof e=="string"?"string":"hash"]:r.map}jX.exports=zOe});var qX=w((jct,YX)=>{var _Oe=IC();function VOe(t){var e=_Oe(this,t).delete(t);return this.size-=e?1:0,e}YX.exports=VOe});var WX=w((Yct,JX)=>{var XOe=IC();function ZOe(t){return XOe(this,t).get(t)}JX.exports=ZOe});var _X=w((qct,zX)=>{var $Oe=IC();function eMe(t){return $Oe(this,t).has(t)}zX.exports=eMe});var XX=w((Jct,VX)=>{var tMe=IC();function rMe(t,e){var r=tMe(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}VX.exports=rMe});var c0=w((Wct,ZX)=>{var iMe=UX(),nMe=qX(),sMe=WX(),oMe=_X(),aMe=XX();function Ff(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var eZ=c0(),AMe="Expected a function";function _R(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(AMe);var r=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=r.cache;if(s.has(n))return s.get(n);var o=t.apply(this,i);return r.cache=s.set(n,o)||s,o};return r.cache=new(_R.Cache||eZ),r}_R.Cache=eZ;$X.exports=_R});var iZ=w((_ct,rZ)=>{var lMe=tZ(),cMe=500;function uMe(t){var e=lMe(t,function(i){return r.size===cMe&&r.clear(),i}),r=e.cache;return e}rZ.exports=uMe});var sZ=w((Vct,nZ)=>{var gMe=iZ(),fMe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,hMe=/\\(\\)?/g,pMe=gMe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(fMe,function(r,i,n,s){e.push(n?s.replace(hMe,"$1"):i||r)}),e});nZ.exports=pMe});var Nf=w((Xct,oZ)=>{var dMe=Ms(),CMe=a0(),mMe=sZ(),EMe=of();function IMe(t,e){return dMe(t)?t:CMe(t,e)?[t]:mMe(EMe(t))}oZ.exports=IMe});var cu=w((Zct,aZ)=>{var yMe=yd(),wMe=1/0;function BMe(t){if(typeof t=="string"||yMe(t))return t;var e=t+"";return e=="0"&&1/t==-wMe?"-0":e}aZ.exports=BMe});var yC=w(($ct,AZ)=>{var bMe=Nf(),QMe=cu();function vMe(t,e){e=bMe(e,t);for(var r=0,i=e.length;t!=null&&r{var SMe=Sl(),kMe=function(){try{var t=SMe(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();lZ.exports=kMe});var Lf=w((tut,cZ)=>{var uZ=VR();function xMe(t,e,r){e=="__proto__"&&uZ?uZ(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}cZ.exports=xMe});var u0=w((rut,gZ)=>{var PMe=Lf(),DMe=Df(),RMe=Object.prototype,FMe=RMe.hasOwnProperty;function NMe(t,e,r){var i=t[e];(!(FMe.call(t,e)&&DMe(i,r))||r===void 0&&!(e in t))&&PMe(t,e,r)}gZ.exports=NMe});var wC=w((iut,fZ)=>{var LMe=9007199254740991,TMe=/^(?:0|[1-9]\d*)$/;function OMe(t,e){var r=typeof t;return e=e==null?LMe:e,!!e&&(r=="number"||r!="symbol"&&TMe.test(t))&&t>-1&&t%1==0&&t{var MMe=u0(),KMe=Nf(),UMe=wC(),pZ=Rn(),HMe=cu();function GMe(t,e,r,i){if(!pZ(t))return t;e=KMe(e,t);for(var n=-1,s=e.length,o=s-1,a=t;a!=null&&++n{var jMe=yC(),YMe=XR(),qMe=Nf();function JMe(t,e,r){for(var i=-1,n=e.length,s={};++i{function WMe(t,e){return t!=null&&e in Object(t)}mZ.exports=WMe});var yZ=w((aut,IZ)=>{var zMe=Gc(),_Me=Zo(),VMe="[object Arguments]";function XMe(t){return _Me(t)&&zMe(t)==VMe}IZ.exports=XMe});var BC=w((Aut,wZ)=>{var BZ=yZ(),ZMe=Zo(),bZ=Object.prototype,$Me=bZ.hasOwnProperty,eKe=bZ.propertyIsEnumerable,tKe=BZ(function(){return arguments}())?BZ:function(t){return ZMe(t)&&$Me.call(t,"callee")&&!eKe.call(t,"callee")};wZ.exports=tKe});var g0=w((lut,QZ)=>{var rKe=9007199254740991;function iKe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=rKe}QZ.exports=iKe});var ZR=w((cut,vZ)=>{var nKe=Nf(),sKe=BC(),oKe=Ms(),aKe=wC(),AKe=g0(),lKe=cu();function cKe(t,e,r){e=nKe(e,t);for(var i=-1,n=e.length,s=!1;++i{var uKe=EZ(),gKe=ZR();function fKe(t,e){return t!=null&&gKe(t,e,uKe)}SZ.exports=fKe});var xZ=w((gut,kZ)=>{var hKe=CZ(),pKe=$R();function dKe(t,e){return hKe(t,e,function(r,i){return pKe(t,i)})}kZ.exports=dKe});var f0=w((fut,PZ)=>{function CKe(t,e){for(var r=-1,i=e.length,n=t.length;++r{var RZ=Hc(),mKe=BC(),EKe=Ms(),FZ=RZ?RZ.isConcatSpreadable:void 0;function IKe(t){return EKe(t)||mKe(t)||!!(FZ&&t&&t[FZ])}DZ.exports=IKe});var OZ=w((put,LZ)=>{var yKe=f0(),wKe=NZ();function TZ(t,e,r,i,n){var s=-1,o=t.length;for(r||(r=wKe),n||(n=[]);++s0&&r(a)?e>1?TZ(a,e-1,r,i,n):yKe(n,a):i||(n[n.length]=a)}return n}LZ.exports=TZ});var KZ=w((dut,MZ)=>{var BKe=OZ();function bKe(t){var e=t==null?0:t.length;return e?BKe(t,1):[]}MZ.exports=bKe});var HZ=w((Cut,UZ)=>{function QKe(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}UZ.exports=QKe});var eF=w((mut,GZ)=>{var vKe=HZ(),jZ=Math.max;function SKe(t,e,r){return e=jZ(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=jZ(i.length-e,0),o=Array(s);++n{function kKe(t){return function(){return t}}YZ.exports=kKe});var h0=w((Iut,JZ)=>{function xKe(t){return t}JZ.exports=xKe});var _Z=w((yut,WZ)=>{var PKe=qZ(),zZ=VR(),DKe=h0(),RKe=zZ?function(t,e){return zZ(t,"toString",{configurable:!0,enumerable:!1,value:PKe(e),writable:!0})}:DKe;WZ.exports=RKe});var XZ=w((wut,VZ)=>{var FKe=800,NKe=16,LKe=Date.now;function TKe(t){var e=0,r=0;return function(){var i=LKe(),n=NKe-(i-r);if(r=i,n>0){if(++e>=FKe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}VZ.exports=TKe});var tF=w((But,ZZ)=>{var OKe=_Z(),MKe=XZ(),KKe=MKe(OKe);ZZ.exports=KKe});var e$=w((but,$Z)=>{var UKe=KZ(),HKe=eF(),GKe=tF();function jKe(t){return GKe(HKe(t,void 0,UKe),t+"")}$Z.exports=jKe});var r$=w((Qut,t$)=>{var YKe=xZ(),qKe=e$(),JKe=qKe(function(t,e){return t==null?{}:YKe(t,e)});t$.exports=JKe});var p$=w((yft,g$)=>{"use strict";var uF;try{uF=Map}catch(t){}var gF;try{gF=Set}catch(t){}function f$(t,e,r){if(!t||typeof t!="object"||typeof t=="function")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t);if(Array.isArray(t))return t.map(h$);if(uF&&t instanceof uF)return new Map(Array.from(t.entries()));if(gF&&t instanceof gF)return new Set(Array.from(t.values()));if(t instanceof Object){e.push(t);var i=Object.create(t);r.push(i);for(var n in t){var s=e.findIndex(function(o){return o===t[n]});i[n]=s>-1?r[s]:f$(t[n],e,r)}return i}return t}function h$(t){return f$(t,[],[])}g$.exports=h$});var SC=w(fF=>{"use strict";Object.defineProperty(fF,"__esModule",{value:!0});fF.default=t1e;var r1e=Object.prototype.toString,i1e=Error.prototype.toString,n1e=RegExp.prototype.toString,s1e=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",o1e=/^Symbol\((.*)\)(.*)$/;function a1e(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function d$(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let r=typeof t;if(r==="number")return a1e(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return s1e.call(t).replace(o1e,"Symbol($1)");let i=r1e.call(t).slice(8,-1);return i==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):i==="Error"||t instanceof Error?"["+i1e.call(t)+"]":i==="RegExp"?n1e.call(t):null}function t1e(t,e){let r=d$(t,e);return r!==null?r:JSON.stringify(t,function(i,n){let s=d$(this[i],e);return s!==null?s:n},2)}});var hA=w(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.default=Bi.array=Bi.object=Bi.boolean=Bi.date=Bi.number=Bi.string=Bi.mixed=void 0;var C$=A1e(SC());function A1e(t){return t&&t.__esModule?t:{default:t}}var m$={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:r,originalValue:i})=>{let n=i!=null&&i!==r,s=`${t} must be a \`${e}\` type, but the final value was: \`${(0,C$.default)(r,!0)}\``+(n?` (cast from the value \`${(0,C$.default)(i,!0)}\`).`:".");return r===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};Bi.mixed=m$;var E$={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};Bi.string=E$;var I$={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};Bi.number=I$;var y$={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};Bi.date=y$;var w$={isValue:"${path} field must be ${value}"};Bi.boolean=w$;var B$={noUnknown:"${path} field has unspecified keys: ${unknown}"};Bi.object=B$;var b$={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};Bi.array=b$;var l1e=Object.assign(Object.create(null),{mixed:m$,string:E$,number:I$,date:y$,object:B$,array:b$,boolean:w$});Bi.default=l1e});var v$=w((bft,Q$)=>{var c1e=Object.prototype,u1e=c1e.hasOwnProperty;function g1e(t,e){return t!=null&&u1e.call(t,e)}Q$.exports=g1e});var kC=w((Qft,S$)=>{var f1e=v$(),h1e=ZR();function p1e(t,e){return t!=null&&h1e(t,e,f1e)}S$.exports=p1e});var Of=w(m0=>{"use strict";Object.defineProperty(m0,"__esModule",{value:!0});m0.default=void 0;var d1e=t=>t&&t.__isYupSchema__;m0.default=d1e});var P$=w(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});E0.default=void 0;var C1e=k$(kC()),m1e=k$(Of());function k$(t){return t&&t.__esModule?t:{default:t}}var x$=class{constructor(e,r){if(this.refs=e,this.refs=e,typeof r=="function"){this.fn=r;return}if(!(0,C1e.default)(r,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=r,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,r){let i=this.refs.map(s=>s.getValue(r==null?void 0:r.value,r==null?void 0:r.parent,r==null?void 0:r.context)),n=this.fn.apply(e,i.concat(e,r));if(n===void 0||n===e)return e;if(!(0,m1e.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(r)}},E1e=x$;E0.default=E1e});var pF=w(hF=>{"use strict";Object.defineProperty(hF,"__esModule",{value:!0});hF.default=I1e;function I1e(t){return t==null?[]:[].concat(t)}});var uu=w(I0=>{"use strict";Object.defineProperty(I0,"__esModule",{value:!0});I0.default=void 0;var y1e=D$(SC()),w1e=D$(pF());function D$(t){return t&&t.__esModule?t:{default:t}}function dF(){return dF=Object.assign||function(t){for(var e=1;e(0,y1e.default)(r[s])):typeof e=="function"?e(r):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,r,i,n){super();this.name="ValidationError",this.value=r,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,w1e.default)(e).forEach(s=>{xC.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,xC)}};I0.default=xC});var y0=w(CF=>{"use strict";Object.defineProperty(CF,"__esModule",{value:!0});CF.default=b1e;var mF=Q1e(uu());function Q1e(t){return t&&t.__esModule?t:{default:t}}var v1e=t=>{let e=!1;return(...r)=>{e||(e=!0,t(...r))}};function b1e(t,e){let{endEarly:r,tests:i,args:n,value:s,errors:o,sort:a,path:l}=t,c=v1e(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new mF.default(o,s,l)):c(null,s);for(let f=0;f{function S1e(t){return function(e,r,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[t?a:++n];if(r(s[l],l,s)===!1)break}return e}}R$.exports=S1e});var EF=w((Rft,N$)=>{var k1e=F$(),x1e=k1e();N$.exports=x1e});var T$=w((Fft,L$)=>{function P1e(t,e){for(var r=-1,i=Array(t);++r{function D1e(){return!1}O$.exports=D1e});var DC=w((PC,Mf)=>{var R1e=Fs(),F1e=M$(),K$=typeof PC=="object"&&PC&&!PC.nodeType&&PC,U$=K$&&typeof Mf=="object"&&Mf&&!Mf.nodeType&&Mf,N1e=U$&&U$.exports===K$,H$=N1e?R1e.Buffer:void 0,L1e=H$?H$.isBuffer:void 0,T1e=L1e||F1e;Mf.exports=T1e});var j$=w((Lft,G$)=>{var O1e=Gc(),M1e=g0(),K1e=Zo(),U1e="[object Arguments]",H1e="[object Array]",G1e="[object Boolean]",j1e="[object Date]",Y1e="[object Error]",q1e="[object Function]",J1e="[object Map]",W1e="[object Number]",z1e="[object Object]",_1e="[object RegExp]",V1e="[object Set]",X1e="[object String]",Z1e="[object WeakMap]",$1e="[object ArrayBuffer]",eUe="[object DataView]",tUe="[object Float32Array]",rUe="[object Float64Array]",iUe="[object Int8Array]",nUe="[object Int16Array]",sUe="[object Int32Array]",oUe="[object Uint8Array]",aUe="[object Uint8ClampedArray]",AUe="[object Uint16Array]",lUe="[object Uint32Array]",wr={};wr[tUe]=wr[rUe]=wr[iUe]=wr[nUe]=wr[sUe]=wr[oUe]=wr[aUe]=wr[AUe]=wr[lUe]=!0;wr[U1e]=wr[H1e]=wr[$1e]=wr[G1e]=wr[eUe]=wr[j1e]=wr[Y1e]=wr[q1e]=wr[J1e]=wr[W1e]=wr[z1e]=wr[_1e]=wr[V1e]=wr[X1e]=wr[Z1e]=!1;function cUe(t){return K1e(t)&&M1e(t.length)&&!!wr[O1e(t)]}G$.exports=cUe});var w0=w((Tft,Y$)=>{function uUe(t){return function(e){return t(e)}}Y$.exports=uUe});var B0=w((RC,Kf)=>{var gUe=hx(),q$=typeof RC=="object"&&RC&&!RC.nodeType&&RC,FC=q$&&typeof Kf=="object"&&Kf&&!Kf.nodeType&&Kf,fUe=FC&&FC.exports===q$,IF=fUe&&gUe.process,hUe=function(){try{var t=FC&&FC.require&&FC.require("util").types;return t||IF&&IF.binding&&IF.binding("util")}catch(e){}}();Kf.exports=hUe});var b0=w((Oft,J$)=>{var pUe=j$(),dUe=w0(),W$=B0(),z$=W$&&W$.isTypedArray,CUe=z$?dUe(z$):pUe;J$.exports=CUe});var yF=w((Mft,_$)=>{var mUe=T$(),EUe=BC(),IUe=Ms(),yUe=DC(),wUe=wC(),BUe=b0(),bUe=Object.prototype,QUe=bUe.hasOwnProperty;function vUe(t,e){var r=IUe(t),i=!r&&EUe(t),n=!r&&!i&&yUe(t),s=!r&&!i&&!n&&BUe(t),o=r||i||n||s,a=o?mUe(t.length,String):[],l=a.length;for(var c in t)(e||QUe.call(t,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||wUe(c,l)))&&a.push(c);return a}_$.exports=vUe});var Q0=w((Kft,V$)=>{var SUe=Object.prototype;function kUe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||SUe;return t===r}V$.exports=kUe});var wF=w((Uft,X$)=>{function xUe(t,e){return function(r){return t(e(r))}}X$.exports=xUe});var $$=w((Hft,Z$)=>{var PUe=wF(),DUe=PUe(Object.keys,Object);Z$.exports=DUe});var tee=w((Gft,eee)=>{var RUe=Q0(),FUe=$$(),NUe=Object.prototype,LUe=NUe.hasOwnProperty;function TUe(t){if(!RUe(t))return FUe(t);var e=[];for(var r in Object(t))LUe.call(t,r)&&r!="constructor"&&e.push(r);return e}eee.exports=TUe});var NC=w((jft,ree)=>{var OUe=A0(),MUe=g0();function KUe(t){return t!=null&&MUe(t.length)&&!OUe(t)}ree.exports=KUe});var Uf=w((Yft,iee)=>{var UUe=yF(),HUe=tee(),GUe=NC();function jUe(t){return GUe(t)?UUe(t):HUe(t)}iee.exports=jUe});var BF=w((qft,nee)=>{var YUe=EF(),qUe=Uf();function JUe(t,e){return t&&YUe(t,e,qUe)}nee.exports=JUe});var oee=w((Jft,see)=>{var WUe=EC();function zUe(){this.__data__=new WUe,this.size=0}see.exports=zUe});var Aee=w((Wft,aee)=>{function _Ue(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}aee.exports=_Ue});var cee=w((zft,lee)=>{function VUe(t){return this.__data__.get(t)}lee.exports=VUe});var gee=w((_ft,uee)=>{function XUe(t){return this.__data__.has(t)}uee.exports=XUe});var hee=w((Vft,fee)=>{var ZUe=EC(),$Ue=l0(),e2e=c0(),t2e=200;function r2e(t,e){var r=this.__data__;if(r instanceof ZUe){var i=r.__data__;if(!$Ue||i.length{var i2e=EC(),n2e=oee(),s2e=Aee(),o2e=cee(),a2e=gee(),A2e=hee();function Hf(t){var e=this.__data__=new i2e(t);this.size=e.size}Hf.prototype.clear=n2e;Hf.prototype.delete=s2e;Hf.prototype.get=o2e;Hf.prototype.has=a2e;Hf.prototype.set=A2e;pee.exports=Hf});var Cee=w((Zft,dee)=>{var l2e="__lodash_hash_undefined__";function c2e(t){return this.__data__.set(t,l2e),this}dee.exports=c2e});var Eee=w(($ft,mee)=>{function u2e(t){return this.__data__.has(t)}mee.exports=u2e});var yee=w((eht,Iee)=>{var g2e=c0(),f2e=Cee(),h2e=Eee();function v0(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new g2e;++e{function p2e(t,e){for(var r=-1,i=t==null?0:t.length;++r{function d2e(t,e){return t.has(e)}bee.exports=d2e});var bF=w((iht,vee)=>{var C2e=yee(),m2e=Bee(),E2e=Qee(),I2e=1,y2e=2;function w2e(t,e,r,i,n,s){var o=r&I2e,a=t.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(t),u=s.get(e);if(c&&u)return c==e&&u==t;var g=-1,f=!0,h=r&y2e?new C2e:void 0;for(s.set(t,e),s.set(e,t);++g{var B2e=Fs(),b2e=B2e.Uint8Array;See.exports=b2e});var xee=w((sht,kee)=>{function Q2e(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}kee.exports=Q2e});var Dee=w((oht,Pee)=>{function v2e(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}Pee.exports=v2e});var Tee=w((aht,Ree)=>{var Fee=Hc(),Nee=QF(),S2e=Df(),k2e=bF(),x2e=xee(),P2e=Dee(),D2e=1,R2e=2,F2e="[object Boolean]",N2e="[object Date]",L2e="[object Error]",T2e="[object Map]",O2e="[object Number]",M2e="[object RegExp]",K2e="[object Set]",U2e="[object String]",H2e="[object Symbol]",G2e="[object ArrayBuffer]",j2e="[object DataView]",Lee=Fee?Fee.prototype:void 0,vF=Lee?Lee.valueOf:void 0;function Y2e(t,e,r,i,n,s,o){switch(r){case j2e:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case G2e:return!(t.byteLength!=e.byteLength||!s(new Nee(t),new Nee(e)));case F2e:case N2e:case O2e:return S2e(+t,+e);case L2e:return t.name==e.name&&t.message==e.message;case M2e:case U2e:return t==e+"";case T2e:var a=x2e;case K2e:var l=i&D2e;if(a||(a=P2e),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;i|=R2e,o.set(t,e);var u=k2e(a(t),a(e),i,n,s,o);return o.delete(t),u;case H2e:if(vF)return vF.call(t)==vF.call(e)}return!1}Ree.exports=Y2e});var SF=w((Aht,Oee)=>{var q2e=f0(),J2e=Ms();function W2e(t,e,r){var i=e(t);return J2e(t)?i:q2e(i,r(t))}Oee.exports=W2e});var Kee=w((lht,Mee)=>{function z2e(t,e){for(var r=-1,i=t==null?0:t.length,n=0,s=[];++r{function _2e(){return[]}Uee.exports=_2e});var S0=w((uht,Hee)=>{var V2e=Kee(),X2e=kF(),Z2e=Object.prototype,$2e=Z2e.propertyIsEnumerable,Gee=Object.getOwnPropertySymbols,eHe=Gee?function(t){return t==null?[]:(t=Object(t),V2e(Gee(t),function(e){return $2e.call(t,e)}))}:X2e;Hee.exports=eHe});var xF=w((ght,jee)=>{var tHe=SF(),rHe=S0(),iHe=Uf();function nHe(t){return tHe(t,iHe,rHe)}jee.exports=nHe});var Jee=w((fht,Yee)=>{var qee=xF(),sHe=1,oHe=Object.prototype,aHe=oHe.hasOwnProperty;function AHe(t,e,r,i,n,s){var o=r&sHe,a=qee(t),l=a.length,c=qee(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:aHe.call(e,f)))return!1}var h=s.get(t),p=s.get(e);if(h&&p)return h==e&&p==t;var m=!0;s.set(t,e),s.set(e,t);for(var y=o;++g{var lHe=Sl(),cHe=Fs(),uHe=lHe(cHe,"DataView");Wee.exports=uHe});var Vee=w((pht,_ee)=>{var gHe=Sl(),fHe=Fs(),hHe=gHe(fHe,"Promise");_ee.exports=hHe});var Zee=w((dht,Xee)=>{var pHe=Sl(),dHe=Fs(),CHe=pHe(dHe,"Set");Xee.exports=CHe});var ete=w((Cht,$ee)=>{var mHe=Sl(),EHe=Fs(),IHe=mHe(EHe,"WeakMap");$ee.exports=IHe});var TC=w((mht,tte)=>{var PF=zee(),DF=l0(),RF=Vee(),FF=Zee(),NF=ete(),rte=Gc(),Gf=zR(),ite="[object Map]",yHe="[object Object]",nte="[object Promise]",ste="[object Set]",ote="[object WeakMap]",ate="[object DataView]",wHe=Gf(PF),BHe=Gf(DF),bHe=Gf(RF),QHe=Gf(FF),vHe=Gf(NF),gu=rte;(PF&&gu(new PF(new ArrayBuffer(1)))!=ate||DF&&gu(new DF)!=ite||RF&&gu(RF.resolve())!=nte||FF&&gu(new FF)!=ste||NF&&gu(new NF)!=ote)&&(gu=function(t){var e=rte(t),r=e==yHe?t.constructor:void 0,i=r?Gf(r):"";if(i)switch(i){case wHe:return ate;case BHe:return ite;case bHe:return nte;case QHe:return ste;case vHe:return ote}return e});tte.exports=gu});var pte=w((Eht,Ate)=>{var LF=LC(),SHe=bF(),kHe=Tee(),xHe=Jee(),lte=TC(),cte=Ms(),ute=DC(),PHe=b0(),DHe=1,gte="[object Arguments]",fte="[object Array]",k0="[object Object]",RHe=Object.prototype,hte=RHe.hasOwnProperty;function FHe(t,e,r,i,n,s){var o=cte(t),a=cte(e),l=o?fte:lte(t),c=a?fte:lte(e);l=l==gte?k0:l,c=c==gte?k0:c;var u=l==k0,g=c==k0,f=l==c;if(f&&ute(t)){if(!ute(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new LF),o||PHe(t)?SHe(t,e,r,i,n,s):kHe(t,e,l,r,i,n,s);if(!(r&DHe)){var h=u&&hte.call(t,"__wrapped__"),p=g&&hte.call(e,"__wrapped__");if(h||p){var m=h?t.value():t,y=p?e.value():e;return s||(s=new LF),n(m,y,r,i,s)}}return f?(s||(s=new LF),xHe(t,e,r,i,n,s)):!1}Ate.exports=FHe});var TF=w((Iht,dte)=>{var NHe=pte(),Cte=Zo();function mte(t,e,r,i,n){return t===e?!0:t==null||e==null||!Cte(t)&&!Cte(e)?t!==t&&e!==e:NHe(t,e,r,i,mte,n)}dte.exports=mte});var Ite=w((yht,Ete)=>{var LHe=LC(),THe=TF(),OHe=1,MHe=2;function KHe(t,e,r,i){var n=r.length,s=n,o=!i;if(t==null)return!s;for(t=Object(t);n--;){var a=r[n];if(o&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++n{var UHe=Rn();function HHe(t){return t===t&&!UHe(t)}yte.exports=HHe});var Bte=w((Bht,wte)=>{var GHe=OF(),jHe=Uf();function YHe(t){for(var e=jHe(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,GHe(n)]}return e}wte.exports=YHe});var MF=w((bht,bte)=>{function qHe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}bte.exports=qHe});var vte=w((Qht,Qte)=>{var JHe=Ite(),WHe=Bte(),zHe=MF();function _He(t){var e=WHe(t);return e.length==1&&e[0][2]?zHe(e[0][0],e[0][1]):function(r){return r===t||JHe(r,t,e)}}Qte.exports=_He});var x0=w((vht,Ste)=>{var VHe=yC();function XHe(t,e,r){var i=t==null?void 0:VHe(t,e);return i===void 0?r:i}Ste.exports=XHe});var xte=w((Sht,kte)=>{var ZHe=TF(),$He=x0(),eGe=$R(),tGe=a0(),rGe=OF(),iGe=MF(),nGe=cu(),sGe=1,oGe=2;function aGe(t,e){return tGe(t)&&rGe(e)?iGe(nGe(t),e):function(r){var i=$He(r,t);return i===void 0&&i===e?eGe(r,t):ZHe(e,i,sGe|oGe)}}kte.exports=aGe});var Dte=w((kht,Pte)=>{function AGe(t){return function(e){return e==null?void 0:e[t]}}Pte.exports=AGe});var Fte=w((xht,Rte)=>{var lGe=yC();function cGe(t){return function(e){return lGe(e,t)}}Rte.exports=cGe});var Lte=w((Pht,Nte)=>{var uGe=Dte(),gGe=Fte(),fGe=a0(),hGe=cu();function pGe(t){return fGe(t)?uGe(hGe(t)):gGe(t)}Nte.exports=pGe});var KF=w((Dht,Tte)=>{var dGe=vte(),CGe=xte(),mGe=h0(),EGe=Ms(),IGe=Lte();function yGe(t){return typeof t=="function"?t:t==null?mGe:typeof t=="object"?EGe(t)?CGe(t[0],t[1]):dGe(t):IGe(t)}Tte.exports=yGe});var UF=w((Rht,Ote)=>{var wGe=Lf(),BGe=BF(),bGe=KF();function QGe(t,e){var r={};return e=bGe(e,3),BGe(t,function(i,n,s){wGe(r,n,e(i,n,s))}),r}Ote.exports=QGe});var OC=w((Fht,Mte)=>{"use strict";function fu(t){this._maxSize=t,this.clear()}fu.prototype.clear=function(){this._size=0,this._values=Object.create(null)};fu.prototype.get=function(t){return this._values[t]};fu.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var vGe=/[^.^\]^[]+|(?=\[\]|\.\.)/g,Kte=/^\d+$/,SGe=/^\d/,kGe=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,xGe=/^\s*(['"]?)(.*?)(\1)\s*$/,HF=512,Ute=new fu(HF),Hte=new fu(HF),Gte=new fu(HF);Mte.exports={Cache:fu,split:jF,normalizePath:GF,setter:function(t){var e=GF(t);return Hte.get(t)||Hte.set(t,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(MC,"__esModule",{value:!0});MC.create=NGe;MC.default=void 0;var LGe=OC(),P0={context:"$",value:"."};function NGe(t,e){return new D0(t,e)}var D0=class{constructor(e,r={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===P0.context,this.isValue=this.key[0]===P0.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?P0.context:this.isValue?P0.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,LGe.getter)(this.path,!0),this.map=r.map}getValue(e,r,i){let n=this.isContext?i:this.isValue?e:r;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,r){return this.getValue(e,r==null?void 0:r.parent,r==null?void 0:r.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};MC.default=D0;D0.prototype.__isYupRef=!0});var jte=w(qF=>{"use strict";Object.defineProperty(qF,"__esModule",{value:!0});qF.default=TGe;var OGe=JF(UF()),R0=JF(uu()),MGe=JF(hu());function JF(t){return t&&t.__esModule?t:{default:t}}function F0(){return F0=Object.assign||function(t){for(var e=1;e=0)&&(r[n]=t[n]);return r}function TGe(t){function e(r,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=r,u=KGe(r,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=t,{parent:m,context:y}=a;function b(j){return MGe.default.isRef(j)?j.getValue(n,m,y):j}function S(j={}){let Z=(0,OGe.default)(F0({value:n,originalValue:l,label:o,path:j.path||s},h,j.params),b),J=new R0.default(R0.default.formatError(j.message||p,Z),n,Z.path,j.type||g);return J.params=Z,J}let k=F0({path:s,parent:m,type:g,createError:S,resolve:b,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(k,n,k)).then(j=>{R0.default.isError(j)?i(j):j?i(null,j):i(S())})}catch(j){i(j)}return}let T;try{var Y;if(T=f.call(k,n,k),typeof((Y=T)==null?void 0:Y.then)=="function")throw new Error(`Validation test of type: "${k.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(j){i(j);return}R0.default.isError(T)?i(T):T?i(null,T):i(S())}return e.OPTIONS=t,e}});var WF=w(KC=>{"use strict";Object.defineProperty(KC,"__esModule",{value:!0});KC.getIn=Yte;KC.default=void 0;var UGe=OC(),HGe=t=>t.substr(0,t.length-1).substr(1);function Yte(t,e,r,i=r){let n,s,o;return e?((0,UGe.forEach)(e,(a,l,c)=>{let u=l?HGe(a):a;if(t=t.resolve({context:i,parent:n,value:r}),t.innerType){let g=c?parseInt(u,10):0;if(r&&g>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=r,r=r&&r[g],t=t.innerType}if(!c){if(!t.fields||!t.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${t._type}")`);n=r,r=r&&r[u],t=t.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:t,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:t}}var GGe=(t,e,r,i)=>Yte(t,e,r,i).schema,jGe=GGe;KC.default=jGe});var Jte=w(N0=>{"use strict";Object.defineProperty(N0,"__esModule",{value:!0});N0.default=void 0;var qte=YGe(hu());function YGe(t){return t&&t.__esModule?t:{default:t}}var L0=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let r of this.list)e.push(r);for(let[,r]of this.refs)e.push(r.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){qte.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){qte.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,r){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(r(i.value)===e)return!0;return!1}clone(){let e=new L0;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,r){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),r.list.forEach(n=>i.delete(n)),r.refs.forEach(n=>i.delete(n)),i}};N0.default=L0});var dA=w(T0=>{"use strict";Object.defineProperty(T0,"__esModule",{value:!0});T0.default=void 0;var Wte=pA(p$()),jf=hA(),qGe=pA(P$()),zte=pA(y0()),O0=pA(jte()),_te=pA(SC()),JGe=pA(hu()),WGe=WF(),zGe=pA(pF()),Vte=pA(uu()),Xte=pA(Jte());function pA(t){return t&&t.__esModule?t:{default:t}}function qs(){return qs=Object.assign||function(t){for(var e=1;e{this.typeError(jf.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=qs({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeError=this._typeError,r._whitelistError=this._whitelistError,r._blacklistError=this._blacklistError,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.exclusiveTests=qs({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,Wte.default)(qs({},this.spec,e)),r}label(e){var r=this.clone();return r.spec.label=e,r}meta(...e){if(e.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},e[0]),r}withMutation(e){let r=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=r,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let r=this,i=e.clone(),n=qs({},r.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=r._typeError),i._whitelistError||(i._whitelistError=r._whitelistError),i._blacklistError||(i._blacklistError=r._blacklistError),i._whitelist=r._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=r._blacklist.merge(e._blacklist,e._whitelist),i.tests=r.tests,i.exclusiveTests=r.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let r=this;if(r.conditions.length){let i=r.conditions;r=r.clone(),r.conditions=[],r=i.reduce((n,s)=>s.resolve(n,e),r),r=r.resolve(e)}return r}cast(e,r={}){let i=this.resolve(qs({value:e},r)),n=i._cast(e,r);if(e!==void 0&&r.assert!==!1&&i.isType(n)!==!0){let s=(0,_te.default)(e),o=(0,_te.default)(n);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". + +attempted value: ${s} +`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,r){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,r={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=r,u=e;l||(u=this._cast(u,qs({assert:!1},r)));let g={value:u,path:s,options:r,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,zte.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,zte.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(qs({},r,{value:e}));return typeof i=="function"?n._validate(e,r,i):new Promise((s,o)=>n._validate(e,r,(a,l)=>{a?o(a):s(l)}))}validateSync(e,r){let i=this.resolve(qs({},r,{value:e})),n;return i._validate(e,qs({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if(Vte.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if(Vte.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,Wte.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=jf.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=jf.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=jf.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,O0.default)(r),s=r.exclusive||r.name&&i.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(i.exclusiveTests[r.name]=!!r.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===r.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let i=this.clone(),n=(0,zGe.default)(e).map(s=>new JGe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new qGe.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,O0.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=jf.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,O0.default)({message:r,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,r=jf.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,O0.default)({message:r,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:i}=e.spec;return{meta:i,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};T0.default=Aa;Aa.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])Aa.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,WGe.getIn)(this,e,r,i.context);return o[t](n&&n[s],qs({},i,{parent:n,path:e}))};for(let t of["equals","is"])Aa.prototype[t]=Aa.prototype.oneOf;for(let t of["not","nope"])Aa.prototype[t]=Aa.prototype.notOneOf;Aa.prototype.optional=Aa.prototype.notRequired});var $te=w(UC=>{"use strict";Object.defineProperty(UC,"__esModule",{value:!0});UC.create=Zte;UC.default=void 0;var VGe=_Ge(dA());function _Ge(t){return t&&t.__esModule?t:{default:t}}var zF=VGe.default,XGe=zF;UC.default=XGe;function Zte(){return new zF}Zte.prototype=zF.prototype});var Yf=w(M0=>{"use strict";Object.defineProperty(M0,"__esModule",{value:!0});M0.default=void 0;var ZGe=t=>t==null;M0.default=ZGe});var nre=w(HC=>{"use strict";Object.defineProperty(HC,"__esModule",{value:!0});HC.create=ere;HC.default=void 0;var $Ge=tre(dA()),rre=hA(),ire=tre(Yf());function tre(t){return t&&t.__esModule?t:{default:t}}function ere(){return new K0}var K0=class extends $Ge.default{constructor(){super({type:"boolean"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=rre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,ire.default)(r)||r===!0}})}isFalse(e=rre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,ire.default)(r)||r===!1}})}};HC.default=K0;ere.prototype=K0.prototype});var are=w(GC=>{"use strict";Object.defineProperty(GC,"__esModule",{value:!0});GC.create=sre;GC.default=void 0;var la=hA(),CA=ore(Yf()),eje=ore(dA());function ore(t){return t&&t.__esModule?t:{default:t}}var tje=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,rje=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,ije=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,nje=t=>(0,CA.default)(t)||t===t.trim(),sje={}.toString();function sre(){return new U0}var U0=class extends eje.default{constructor(){super({type:"string"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===sje?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=la.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,CA.default)(i)||i.length===this.resolve(e)}})}min(e,r=la.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,CA.default)(i)||i.length>=this.resolve(e)}})}max(e,r=la.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(i){return(0,CA.default)(i)||i.length<=this.resolve(e)}})}matches(e,r){let i=!1,n,s;return r&&(typeof r=="object"?{excludeEmptyString:i=!1,message:n,name:s}=r:n=r),this.test({name:s||"matches",message:n||la.string.matches,params:{regex:e},test:o=>(0,CA.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=la.string.email){return this.matches(tje,{name:"email",message:e,excludeEmptyString:!0})}url(e=la.string.url){return this.matches(rje,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=la.string.uuid){return this.matches(ije,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=la.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:nje})}lowercase(e=la.string.lowercase){return this.transform(r=>(0,CA.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,CA.default)(r)||r===r.toLowerCase()})}uppercase(e=la.string.uppercase){return this.transform(r=>(0,CA.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,CA.default)(r)||r===r.toUpperCase()})}};GC.default=U0;sre.prototype=U0.prototype});var cre=w(jC=>{"use strict";Object.defineProperty(jC,"__esModule",{value:!0});jC.create=Are;jC.default=void 0;var pu=hA(),du=lre(Yf()),oje=lre(dA());function lre(t){return t&&t.__esModule?t:{default:t}}var aje=t=>t!=+t;function Are(){return new H0}var H0=class extends oje.default{constructor(){super({type:"number"});this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!aje(e)}min(e,r=pu.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,du.default)(i)||i>=this.resolve(e)}})}max(e,r=pu.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,du.default)(i)||i<=this.resolve(e)}})}lessThan(e,r=pu.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(i){return(0,du.default)(i)||ithis.resolve(e)}})}positive(e=pu.number.positive){return this.moreThan(0,e)}negative(e=pu.number.negative){return this.lessThan(0,e)}integer(e=pu.number.integer){return this.test({name:"integer",message:e,test:r=>(0,du.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,du.default)(e)?e:e|0)}round(e){var r,i=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,du.default)(n)?n:Math[e](n))}};jC.default=H0;Are.prototype=H0.prototype});var ure=w(_F=>{"use strict";Object.defineProperty(_F,"__esModule",{value:!0});_F.default=Aje;var lje=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function Aje(t){var e=[1,4,5,6,7,10,11],r=0,i,n;if(n=lje.exec(t)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(r=n[10]*60+n[11],n[9]==="+"&&(r=0-r)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7]))}else i=Date.parse?Date.parse(t):NaN;return i}});var hre=w(YC=>{"use strict";Object.defineProperty(YC,"__esModule",{value:!0});YC.create=VF;YC.default=void 0;var cje=G0(ure()),gre=hA(),fre=G0(Yf()),uje=G0(hu()),gje=G0(dA());function G0(t){return t&&t.__esModule?t:{default:t}}var XF=new Date(""),fje=t=>Object.prototype.toString.call(t)==="[object Date]";function VF(){return new qC}var qC=class extends gje.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,cje.default)(e),isNaN(e)?XF:new Date(e))})})}_typeCheck(e){return fje(e)&&!isNaN(e.getTime())}prepareParam(e,r){let i;if(uje.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,r=gre.date.min){let i=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,fre.default)(n)||n>=this.resolve(i)}})}max(e,r=gre.date.max){var i=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,fre.default)(n)||n<=this.resolve(i)}})}};YC.default=qC;qC.INVALID_DATE=XF;VF.prototype=qC.prototype;VF.INVALID_DATE=XF});var dre=w((Jht,pre)=>{function hje(t,e,r,i){var n=-1,s=t==null?0:t.length;for(i&&s&&(r=t[++n]);++n{function pje(t){return function(e){return t==null?void 0:t[e]}}Cre.exports=pje});var Ire=w((zht,Ere)=>{var dje=mre(),Cje={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},mje=dje(Cje);Ere.exports=mje});var wre=w((_ht,yre)=>{var Eje=Ire(),Ije=of(),yje=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,wje="\\u0300-\\u036f",Bje="\\ufe20-\\ufe2f",bje="\\u20d0-\\u20ff",Qje=wje+Bje+bje,vje="["+Qje+"]",Sje=RegExp(vje,"g");function kje(t){return t=Ije(t),t&&t.replace(yje,Eje).replace(Sje,"")}yre.exports=kje});var bre=w((Vht,Bre)=>{var xje=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Pje(t){return t.match(xje)||[]}Bre.exports=Pje});var vre=w((Xht,Qre)=>{var Dje=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function Rje(t){return Dje.test(t)}Qre.exports=Rje});var qre=w((Zht,Sre)=>{var kre="\\ud800-\\udfff",Fje="\\u0300-\\u036f",Nje="\\ufe20-\\ufe2f",Lje="\\u20d0-\\u20ff",Tje=Fje+Nje+Lje,xre="\\u2700-\\u27bf",Pre="a-z\\xdf-\\xf6\\xf8-\\xff",Oje="\\xac\\xb1\\xd7\\xf7",Mje="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Kje="\\u2000-\\u206f",Uje=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Dre="A-Z\\xc0-\\xd6\\xd8-\\xde",Hje="\\ufe0e\\ufe0f",Rre=Oje+Mje+Kje+Uje,Fre="['\u2019]",Nre="["+Rre+"]",Gje="["+Tje+"]",Lre="\\d+",jje="["+xre+"]",Tre="["+Pre+"]",Ore="[^"+kre+Rre+Lre+xre+Pre+Dre+"]",Yje="\\ud83c[\\udffb-\\udfff]",qje="(?:"+Gje+"|"+Yje+")",Jje="[^"+kre+"]",Mre="(?:\\ud83c[\\udde6-\\uddff]){2}",Kre="[\\ud800-\\udbff][\\udc00-\\udfff]",qf="["+Dre+"]",Wje="\\u200d",Ure="(?:"+Tre+"|"+Ore+")",zje="(?:"+qf+"|"+Ore+")",Hre="(?:"+Fre+"(?:d|ll|m|re|s|t|ve))?",Gre="(?:"+Fre+"(?:D|LL|M|RE|S|T|VE))?",jre=qje+"?",Yre="["+Hje+"]?",_je="(?:"+Wje+"(?:"+[Jje,Mre,Kre].join("|")+")"+Yre+jre+")*",Vje="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Xje="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Zje=Yre+jre+_je,$je="(?:"+[jje,Mre,Kre].join("|")+")"+Zje,eYe=RegExp([qf+"?"+Tre+"+"+Hre+"(?="+[Nre,qf,"$"].join("|")+")",zje+"+"+Gre+"(?="+[Nre,qf+Ure,"$"].join("|")+")",qf+"?"+Ure+"+"+Hre,qf+"+"+Gre,Xje,Vje,Lre,$je].join("|"),"g");function tYe(t){return t.match(eYe)||[]}Sre.exports=tYe});var Wre=w(($ht,Jre)=>{var rYe=bre(),iYe=vre(),nYe=of(),sYe=qre();function oYe(t,e,r){return t=nYe(t),e=r?void 0:e,e===void 0?iYe(t)?sYe(t):rYe(t):t.match(e)||[]}Jre.exports=oYe});var ZF=w((ept,zre)=>{var aYe=dre(),AYe=wre(),lYe=Wre(),cYe="['\u2019]",uYe=RegExp(cYe,"g");function gYe(t){return function(e){return aYe(lYe(AYe(e).replace(uYe,"")),t,"")}}zre.exports=gYe});var Vre=w((tpt,_re)=>{var fYe=ZF(),hYe=fYe(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});_re.exports=hYe});var Zre=w((rpt,Xre)=>{var pYe=rB(),dYe=ZF(),CYe=dYe(function(t,e,r){return e=e.toLowerCase(),t+(r?pYe(e):e)});Xre.exports=CYe});var eie=w((ipt,$re)=>{var mYe=Lf(),EYe=BF(),IYe=KF();function yYe(t,e){var r={};return e=IYe(e,3),EYe(t,function(i,n,s){mYe(r,e(i,n,s),i)}),r}$re.exports=yYe});var rie=w((npt,$F)=>{$F.exports=function(t){return tie(wYe(t),t)};$F.exports.array=tie;function tie(t,e){var r=t.length,i=new Array(r),n={},s=r,o=BYe(e),a=bYe(t);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(t[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch(m){f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--r]=c}}}function wYe(t){for(var e=new Set,r=0,i=t.length;r{"use strict";Object.defineProperty(eN,"__esModule",{value:!0});eN.default=QYe;var vYe=j0(kC()),SYe=j0(rie()),kYe=OC(),xYe=j0(hu()),PYe=j0(Of());function j0(t){return t&&t.__esModule?t:{default:t}}function QYe(t,e=[]){let r=[],i=[];function n(s,o){var a=(0,kYe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||r.push([o,a])}for(let s in t)if((0,vYe.default)(t,s)){let o=t[s];~i.indexOf(s)||i.push(s),xYe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,PYe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return SYe.default.array(i,r).reverse()}});var sie=w(tN=>{"use strict";Object.defineProperty(tN,"__esModule",{value:!0});tN.default=DYe;function nie(t,e){let r=Infinity;return t.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return r=n,!0}),r}function DYe(t){return(e,r)=>nie(t,e)-nie(t,r)}});var gie=w(JC=>{"use strict";Object.defineProperty(JC,"__esModule",{value:!0});JC.create=oie;JC.default=void 0;var aie=ca(kC()),Aie=ca(Vre()),RYe=ca(Zre()),FYe=ca(eie()),NYe=ca(UF()),LYe=OC(),lie=hA(),TYe=ca(iie()),cie=ca(sie()),OYe=ca(y0()),MYe=ca(uu()),rN=ca(dA());function ca(t){return t&&t.__esModule?t:{default:t}}function Jf(){return Jf=Object.assign||function(t){for(var e=1;eObject.prototype.toString.call(t)==="[object Object]";function KYe(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(i=>r.indexOf(i)===-1)}var UYe=(0,cie.default)([]),Y0=class extends rN.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=UYe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return uie(e)||typeof e=="function"}_cast(e,r={}){var i;let n=super._cast(e,r);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=r.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=Jf({},r,{parent:l,__validating:r.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,aie.default)(n,g);if(f){let p,m=n[g];c.path=(r.path?`${r.path}.`:"")+g,f=f.resolve({value:m,context:r.context,parent:l});let y="spec"in f?f.spec:void 0,b=y==null?void 0:y.strict;if(y==null?void 0:y.strip){u=u||g in n;continue}p=!r.__validating||!b?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,r={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=r;o=[{schema:this,value:a},...o],r.__validating=!0,r.originalValue=a,r.from=o,super._validate(e,r,(u,g)=>{if(u){if(!MYe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!uie(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,m)=>{let y=h.indexOf(".")===-1?(r.path?`${r.path}.`:"")+h:`${r.path||""}["${h}"]`,b=this.fields[h];if(b&&"validate"in b){b.validate(g[h],Jf({},r,{path:y,from:o,strict:!0,parent:g,originalValue:a[h]}),m);return}m(null)});(0,OYe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:r.path},i)})}clone(e){let r=super.clone(e);return r.fields=Jf({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),i=r.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof rN.default&&s instanceof rN.default&&(i[n]=s.concat(o))}return r.withMutation(()=>r.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let i=this.fields[r];e[r]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,cie.default)(Object.keys(n)),r.length){Array.isArray(r[0])||(r=[r]);let s=r.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,TYe.default)(n,i._excludedEdges),i}pick(e){let r={};for(let i of e)this.fields[i]&&(r[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(r)))}omit(e){let r=this.clone(),i=r.fields;r.fields={};for(let n of e)delete i[n];return r.withMutation(()=>r.shape(i))}from(e,r,i){let n=(0,LYe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,aie.default)(s,e)&&(o=Jf({},s),i||delete o[e],o[r]=n(s)),o})}noUnknown(e=!0,r=lie.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:r,test(n){if(n==null)return!0;let s=KYe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,r=lie.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,FYe.default)(r,(i,n)=>e(n)))}camelCase(){return this.transformKeys(RYe.default)}snakeCase(){return this.transformKeys(Aie.default)}constantCase(){return this.transformKeys(e=>(0,Aie.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,NYe.default)(this.fields,r=>r.describe()),e}};JC.default=Y0;function oie(t){return new Y0(t)}oie.prototype=Y0.prototype});var hie=w(WC=>{"use strict";Object.defineProperty(WC,"__esModule",{value:!0});WC.create=fie;WC.default=void 0;var iN=Wf(Yf()),HYe=Wf(Of()),GYe=Wf(SC()),nN=hA(),jYe=Wf(y0()),YYe=Wf(uu()),qYe=Wf(dA());function Wf(t){return t&&t.__esModule?t:{default:t}}function q0(){return q0=Object.assign||function(t){for(var e=1;e{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(i){r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let i=super._cast(e,r);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,q0({},r,{path:`${r.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,r={},i){var n,s;let o=[],a=r.sync,l=r.path,c=this.innerType,u=(n=r.abortEarly)!=null?n:this.spec.abortEarly,g=(s=r.recursive)!=null?s:this.spec.recursive,f=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(h,p)=>{if(h){if(!YYe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let m=new Array(p.length);for(let y=0;yc.validate(b,k,Y)}(0,jYe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:m},i)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,HYe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,GYe.default)(e));return r.innerType=e,r}length(e,r=nN.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,iN.default)(i)||i.length===this.resolve(e)}})}min(e,r){return r=r||nN.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,iN.default)(i)||i.length>=this.resolve(e)}})}max(e,r){return r=r||nN.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,iN.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(r):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};WC.default=J0;fie.prototype=J0.prototype});var pie=w(zC=>{"use strict";Object.defineProperty(zC,"__esModule",{value:!0});zC.create=JYe;zC.default=void 0;var zYe=WYe(Of());function WYe(t){return t&&t.__esModule?t:{default:t}}function JYe(t){return new sN(t)}var sN=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,i={})=>{let n=this.builder(r,i);if(!(0,zYe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,i){return this._resolve(e,r).validate(e,r,i)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,i){return this._resolve(r,i).validateAt(e,r,i)}validateSyncAt(e,r,i){return this._resolve(r,i).validateSyncAt(e,r,i)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},_Ye=sN;zC.default=_Ye});var die=w(oN=>{"use strict";Object.defineProperty(oN,"__esModule",{value:!0});oN.default=VYe;var ZYe=XYe(hA());function XYe(t){return t&&t.__esModule?t:{default:t}}function VYe(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{ZYe.default[e][r]=t[e][r]})})}});var AN=w(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.addMethod=$Ye;Object.defineProperty(Br,"MixedSchema",{enumerable:!0,get:function(){return Cie.default}});Object.defineProperty(Br,"mixed",{enumerable:!0,get:function(){return Cie.create}});Object.defineProperty(Br,"BooleanSchema",{enumerable:!0,get:function(){return aN.default}});Object.defineProperty(Br,"bool",{enumerable:!0,get:function(){return aN.create}});Object.defineProperty(Br,"boolean",{enumerable:!0,get:function(){return aN.create}});Object.defineProperty(Br,"StringSchema",{enumerable:!0,get:function(){return mie.default}});Object.defineProperty(Br,"string",{enumerable:!0,get:function(){return mie.create}});Object.defineProperty(Br,"NumberSchema",{enumerable:!0,get:function(){return Eie.default}});Object.defineProperty(Br,"number",{enumerable:!0,get:function(){return Eie.create}});Object.defineProperty(Br,"DateSchema",{enumerable:!0,get:function(){return Iie.default}});Object.defineProperty(Br,"date",{enumerable:!0,get:function(){return Iie.create}});Object.defineProperty(Br,"ObjectSchema",{enumerable:!0,get:function(){return yie.default}});Object.defineProperty(Br,"object",{enumerable:!0,get:function(){return yie.create}});Object.defineProperty(Br,"ArraySchema",{enumerable:!0,get:function(){return wie.default}});Object.defineProperty(Br,"array",{enumerable:!0,get:function(){return wie.create}});Object.defineProperty(Br,"ref",{enumerable:!0,get:function(){return eqe.create}});Object.defineProperty(Br,"lazy",{enumerable:!0,get:function(){return tqe.create}});Object.defineProperty(Br,"ValidationError",{enumerable:!0,get:function(){return rqe.default}});Object.defineProperty(Br,"reach",{enumerable:!0,get:function(){return iqe.default}});Object.defineProperty(Br,"isSchema",{enumerable:!0,get:function(){return Bie.default}});Object.defineProperty(Br,"setLocale",{enumerable:!0,get:function(){return nqe.default}});Object.defineProperty(Br,"BaseSchema",{enumerable:!0,get:function(){return sqe.default}});var Cie=Cu($te()),aN=Cu(nre()),mie=Cu(are()),Eie=Cu(cre()),Iie=Cu(hre()),yie=Cu(gie()),wie=Cu(hie()),eqe=hu(),tqe=pie(),rqe=_C(uu()),iqe=_C(WF()),Bie=_C(Of()),nqe=_C(die()),sqe=_C(dA());function _C(t){return t&&t.__esModule?t:{default:t}}function bie(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return bie=function(){return t},t}function Cu(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=bie();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function $Ye(t,e,r){if(!t||!(0,Bie.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}});var xie=w((bpt,XC)=>{"use strict";var Aqe=process.env.TERM_PROGRAM==="Hyper",lqe=process.platform==="win32",vie=process.platform==="linux",lN={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Sie=Object.assign({},lN,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),kie=Object.assign({},lN,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:vie?"\u25B8":"\u276F",pointerSmall:vie?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});XC.exports=lqe&&!Aqe?Sie:kie;Reflect.defineProperty(XC.exports,"common",{enumerable:!1,value:lN});Reflect.defineProperty(XC.exports,"windows",{enumerable:!1,value:Sie});Reflect.defineProperty(XC.exports,"other",{enumerable:!1,value:kie})});var mo=w((Qpt,cN)=>{"use strict";var cqe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),uqe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,Pie=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`[${s.codes[0]}m`,a=s.close=`[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},r=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(t.enabled===!1)return s;if(t.visible===!1)return"";let a=""+s,l=a.includes(` +`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=r(t.styles[o[c]],a,l);return a},n=(s,o,a)=>{t.styles[s]=e({name:s,codes:o}),(t.keys[a]||(t.keys[a]=[])).push(s),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(c){t.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,t),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=uqe,t.hasColor=t.hasAnsi=s=>(t.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&t.ansiRegex.test(s)),t.alias=(s,o)=>{let a=typeof o=="string"?t[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),t.styles[s]=a,a.stack=[s]),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(l){t.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,t),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},t.theme=s=>{if(!cqe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))t.alias(o,s[o]);return t},t.alias("unstyle",s=>typeof s=="string"&&s!==""?(t.ansiRegex.lastIndex=0,s.replace(t.ansiRegex,"")):""),t.alias("noop",s=>s),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=xie(),t.define=n,t};cN.exports=Pie();cN.exports.create=Pie});var Xi=w(Lt=>{"use strict";var gqe=Object.prototype.toString,Js=mo(),Die=!1,uN=[],Rie={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};Lt.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);Lt.hasColor=t=>!!t&&Js.hasColor(t);var z0=Lt.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Lt.nativeType=t=>gqe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");Lt.isAsyncFn=t=>Lt.nativeType(t)==="asyncfunction";Lt.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";Lt.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;Lt.scrollDown=(t=[])=>[...t.slice(1),t[0]];Lt.scrollUp=(t=[])=>[t.pop(),...t];Lt.reorder=(t=[])=>{let e=t.slice();return e.sort((r,i)=>r.index>i.index?1:r.index{let i=t.length,n=r===i?0:r<0?i-1:r,s=t[e];t[e]=t[n],t[n]=s};Lt.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};Lt.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};Lt.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:i=` +`+r,width:n=80}=e;n-=((i+r).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=t.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),r+c.join(i)};Lt.unmute=t=>{let e=t.stack.find(i=>Js.keys.color.includes(i));return e?Js[e]:t.stack.find(i=>i.slice(2)==="bg")?Js[e.slice(2)]:i=>i};Lt.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";Lt.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Js.keys.color.includes(i));if(e){let i=Js["bg"+Lt.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?Js[r.slice(2).toLowerCase()]||t:Js.none};Lt.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Js.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return Js[Rie[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=Rie[i];return n&&Js["bg"+Lt.pascal(n)]||t}return Js.none};Lt.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=r<10?"0"+r:r;return n+":"+s+" "+i};Lt.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!Lt.isObject(a)&&s{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};Lt.mixin=(t,e)=>{if(!z0(t))return e;if(!z0(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&z0(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);z0(n.value)?t[r]=Lt.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};Lt.merge=(...t)=>{let e={};for(let r of t)Lt.mixin(e,r);return e};Lt.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?Lt.define(t,i,n.bind(e)):Lt.define(t,i,n)}};Lt.onExit=t=>{let e=(r,i)=>{Die||(Die=!0,uN.forEach(n=>n()),r===!0&&process.exit(128+i))};uN.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),uN.push(t)};Lt.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};Lt.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var Fie=w(_f=>{"use strict";_f.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};_f.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};_f.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};_f.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};_f.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var Tie=w((kpt,Nie)=>{"use strict";var Lie=require("readline"),fqe=Fie(),hqe=/^(?:\x1b)([a-zA-Z0-9])$/,pqe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,dqe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function Cqe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function mqe(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var _0=(t="",e={})=>{let r,i=N({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t},e);if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t=""+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=i.sequence||""),i.sequence=i.sequence||t||i.name,t==="\r")i.raw=void 0,i.name="return";else if(t===` +`)i.name="enter";else if(t===" ")i.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x7F"||t==="\b")i.name="backspace",i.meta=t.charAt(0)==="";else if(t===""||t==="")i.name="escape",i.meta=t.length===2;else if(t===" "||t===" ")i.name="space",i.meta=t.length===2;else if(t<="")i.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")i.name="number";else if(t.length===1&&t>="a"&&t<="z")i.name=t;else if(t.length===1&&t>="A"&&t<="Z")i.name=t.toLowerCase(),i.shift=!0;else if(r=hqe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=pqe.exec(t)){let n=[...t];n[0]===""&&n[1]===""&&(i.option=!0);let s=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=dqe[s],i.shift=Cqe(s)||i.shift,i.ctrl=mqe(s)||i.ctrl}return i};_0.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=Lie.createInterface({terminal:!0,input:r});Lie.emitKeypressEvents(r,i);let n=(a,l)=>e(a,_0(a,l),i),s=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",n),i.resume(),()=>{r.isTTY&&r.setRawMode(s),r.removeListener("keypress",n),i.pause(),i.close()}};_0.action=(t,e,r)=>{let i=N(N({},fqe),r);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};Nie.exports=_0});var Mie=w((xpt,Oie)=>{"use strict";Oie.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let i=e[r];typeof i=="number"&&(i={interval:i}),Eqe(t,r,i)}};function Eqe(t,e,r={}){let i=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=r.interval||120;i.frames=r.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,t.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),t.once("close",()=>i.stop()),i.stop}});var Hie=w((Ppt,Kie)=>{"use strict";var{define:Iqe,width:yqe}=Xi(),Uie=class{constructor(e){let r=e.options;Iqe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=yqe(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=N({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};Kie.exports=Uie});var jie=w((Dpt,Gie)=>{"use strict";var gN=Xi(),Fi=mo(),fN={default:Fi.noop,noop:Fi.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||gN.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||gN.complement(this.primary)},primary:Fi.cyan,success:Fi.green,danger:Fi.magenta,strong:Fi.bold,warning:Fi.yellow,muted:Fi.dim,disabled:Fi.gray,dark:Fi.dim.gray,underline:Fi.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};fN.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Fi.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Fi.visible=t.styles.visible);let e=gN.merge({},fN,t.styles);delete e.merge;for(let r of Object.keys(Fi))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Fi[r]});for(let r of Object.keys(Fi.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Fi[r]});return e};Gie.exports=fN});var qie=w((Rpt,Yie)=>{"use strict";var hN=process.platform==="win32",mA=mo(),wqe=Xi(),pN=ie(N({},mA.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:mA.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:mA.symbols.question,submitted:mA.symbols.check,cancelled:mA.symbols.cross},separator:{pending:mA.symbols.pointerSmall,submitted:mA.symbols.middot,cancelled:mA.symbols.middot},radio:{off:hN?"( )":"\u25EF",on:hN?"(*)":"\u25C9",disabled:hN?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]});pN.merge=t=>{let e=wqe.merge({},mA.symbols,pN,t.symbols);return delete e.merge,e};Yie.exports=pN});var Wie=w((Fpt,Jie)=>{"use strict";var Bqe=jie(),bqe=qie(),Qqe=Xi();Jie.exports=t=>{t.options=Qqe.merge({},t.options.theme,t.options),t.symbols=bqe.merge(t.options),t.styles=Bqe.merge(t.options)}});var Zie=w((zie,_ie)=>{"use strict";var Vie=process.env.TERM_PROGRAM==="Apple_Terminal",vqe=mo(),dN=Xi(),Eo=_ie.exports=zie,Nr="[",Xie="\x07",CN=!1,kl=Eo.code={bell:Xie,beep:Xie,beginning:`${Nr}G`,down:`${Nr}J`,esc:Nr,getPosition:`${Nr}6n`,hide:`${Nr}?25l`,line:`${Nr}2K`,lineEnd:`${Nr}K`,lineStart:`${Nr}1K`,restorePosition:Nr+(Vie?"8":"u"),savePosition:Nr+(Vie?"7":"s"),screen:`${Nr}2J`,show:`${Nr}?25h`,up:`${Nr}1J`},mu=Eo.cursor={get hidden(){return CN},hide(){return CN=!0,kl.hide},show(){return CN=!1,kl.show},forward:(t=1)=>`${Nr}${t}C`,backward:(t=1)=>`${Nr}${t}D`,nextLine:(t=1)=>`${Nr}E`.repeat(t),prevLine:(t=1)=>`${Nr}F`.repeat(t),up:(t=1)=>t?`${Nr}${t}A`:"",down:(t=1)=>t?`${Nr}${t}B`:"",right:(t=1)=>t?`${Nr}${t}C`:"",left:(t=1)=>t?`${Nr}${t}D`:"",to(t,e){return e?`${Nr}${e+1};${t+1}H`:`${Nr}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?mu.left(-t):t>0?mu.right(t):"",r+=e<0?mu.up(-e):e>0?mu.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:i,input:n,prompt:s,size:o,value:a}=t;if(i=dN.isPrimitive(i)?String(i):"",n=dN.isPrimitive(n)?String(n):"",a=dN.isPrimitive(a)?String(a):"",o){let l=Eo.cursor.up(o)+Eo.cursor.to(s.length),c=n.length-r;return c>0&&(l+=Eo.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+r;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),Eo.cursor.move(l)}}},mN=Eo.erase={screen:kl.screen,up:kl.up,down:kl.down,line:kl.line,lineEnd:kl.lineEnd,lineStart:kl.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return mN.line+mu.to(0);let r=s=>[...vqe.unstyle(s)].length,i=t.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(r(s)-1,0)/e);return(mN.line+mu.prevLine()).repeat(n-1)+mN.line+mu.to(0)}});var Vf=w((Npt,$ie)=>{"use strict";var Sqe=require("events"),ene=mo(),EN=Tie(),kqe=Mie(),xqe=Hie(),Pqe=Wie(),Tn=Xi(),Eu=Zie(),V0=class extends Sqe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,Pqe(this),kqe(this),this.state=new xqe(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=Rqe(this.options.margin),this.setMaxListeners(0),Dqe(this)}async keypress(e,r={}){this.keypressed=!0;let i=EN.action(e,EN(e,r),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Eu.code.beep)}cursorHide(){this.stdout.write(Eu.cursor.hide()),Tn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Eu.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(Eu.cursor.down(e)+Eu.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:r,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=Eu.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:r,prompt:i}=this.state;i=ene.unstyle(i);let n=ene.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` +`),c=l[0],u=l[l.length-1],f=(i+(r?" "+r:"")).length,h=fe.call(this,this.value),this.result=()=>i.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let n=r.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=r&&r[e]!=null?r[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,r,i);return!g&&r&&r[e]?this.resolve(c,s,r,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,i=this.state;return i.timer=r,Tn.isObject(e)&&(e=e[i.status]||e.pending),Tn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Tn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,i=this.state;i.timer=r;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return Tn.isObject(s)&&(s=s[i.status]||s.pending),Tn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&Tn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===r,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=Tn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,r){let i=await this.element("indicator",e,r);if(typeof i=="string"&&Tn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return Tn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Tn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return Tn.resolve(this,e,...r)}get base(){return V0.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Tn.height(this.stdout,25)}get width(){return this.options.columns||Tn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,i=[r,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function Dqe(t){let e=n=>t[n]===void 0||typeof t[n]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(t.options)){if(r.includes(n)||/^on[A-Z]/.test(n))continue;let s=t.options[n];typeof s=="function"&&e(n)?i.includes(n)||(t[n]=s.bind(t)):typeof t[n]!="function"&&(t[n]=s)}}function Rqe(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=n=>n%2==0?` +`:" ",i=[];for(let n=0;n<4;n++){let s=r(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}$ie.exports=V0});var ine=w((Lpt,tne)=>{"use strict";var Fqe=Xi(),rne={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return rne.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};tne.exports=(t,e={})=>{let r=Fqe.merge({},rne,e.roles);return r[t]||r.default}});var ZC=w((Tpt,nne)=>{"use strict";var Nqe=mo(),Lqe=Vf(),Tqe=ine(),X0=Xi(),{reorder:IN,scrollUp:Oqe,scrollDown:Mqe,isObject:sne,swap:Kqe}=X0,one=class extends Lqe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");sne(r)&&(r=Object.keys(r)),Array.isArray(r)?(i!=null&&(this.index=this.findIndex(i)),r.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(r=i),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,r,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=Tqe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,X0.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,Nqe.unstyle(e.message).length));let o=N({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,i){let n=await this.toChoice(e,r,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,r,i){let n=N({name:"New choice name?",editable:!0,newChoice:!0},e),s=await this.addChoice(n,r,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(n=>this.toggle(n,r));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return ane(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=IN(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=r(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=IN(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=IN(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>r&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===r-1?this.alert():e>r&&i===r-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=Oqe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=Mqe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){Kqe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&r.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,r),i),{})}filter(e,r){let i=(a,l)=>[a.name,l].includes(e),n=typeof e=="function"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return r?o.map(a=>a[r]):o}find(e,r){if(sne(e))return r?e[r]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e=="function"?e:i,s=this.choices.find(n);if(s)return r?s[r]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:r,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&r!==!1&&i!==!0&&(s=X0.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(i=>i.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let i=this.find(r);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return ane(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:i}=this,n=e.limit||this._limit||r.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function ane(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(X0.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let i=r.choices.filter(n=>!t.isDisabled(n));r.enabled=i.every(n=>n.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}nne.exports=one});var xl=w((Opt,Ane)=>{"use strict";var Uqe=ZC(),yN=Xi(),lne=class extends Uqe{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let i=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!yN.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await this.indicator(e,r)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,r);o&&!yN.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,r),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(yN.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let i=this.margin[0]+r.join(` +`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(r),this.write([n,i,u,g].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Ane.exports=lne});var gne=w((Mpt,cne)=>{"use strict";var Hqe=xl(),Gqe=(t,e)=>{let r=t.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(r),o=e(i.slice(s,s+r.length));return s>=0?i.slice(0,s)+o+i.slice(s+r.length):i}},une=class extends Hqe{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:i}=this.state;return this.input=i.slice(0,r)+e+i.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let i=e.toLowerCase();return r.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=Gqe(this.input,e),i=this.choices;this.choices=i.map(n=>ie(N({},n),{message:r(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};cne.exports=une});var BN=w((Kpt,fne)=>{"use strict";var wN=Xi();fne.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=wN.inverse(t.styles.primary),c=m=>l(t.styles.black(m)),u=r,g=" ",f=c(g);if(t.blink&&t.blink.off===!0&&(c=m=>m,f=""),s&&n===0&&i===""&&r==="")return c(g);if(s&&n===0&&(r===i||r===""))return c(i[0])+a(i.slice(1));i=wN.isPrimitive(i)?`${i}`:"",r=wN.isPrimitive(r)?`${r}`:"";let h=i&&i.startsWith(r)&&i!==r,p=h?c(i[r.length]):f;if(n!==r.length&&s===!0&&(u=r.slice(0,n)+c(r[n])+r.slice(n+1),p=""),s===!1&&(p=""),h){let m=t.styles.unstyle(u+p);return u+p+a(i.slice(m.length))}return u+p}});var Z0=w((Upt,hne)=>{"use strict";var jqe=mo(),Yqe=xl(),qqe=BN(),pne=class extends Yqe{constructor(e){super(ie(N({},e),{multiple:!0}));this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:i,input:n}=r;return r.value=r.input=n.slice(0,i)+e+n.slice(i),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:i}=e;return e.value=e.input=i.slice(0,r-1)+i.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:i}=e;if(i[r]===void 0)return this.alert();let n=`${i}`.slice(0,r)+`${i}`.slice(r+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:i}=e;return r&&r.startsWith(i)&&i!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let i=await this.resolve(e.separator,this.state,e,r)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,m=this.index===r,y=e.validate||(()=>!0),b=await this.choiceSeparator(e,r),S=e.message;this.align==="right"&&(S=S.padStart(this.longest+1," ")),this.align==="left"&&(S=S.padEnd(this.longest+1," "));let k=this.values[a]=c||o,T=c?"success":"dark";await y.call(e,k,this.state)!==!0&&(T="danger");let j=n[T](await this.indicator(e,r))+(e.pad||""),Z=this.indent(e),J=()=>[Z,j,S+b,c,p].filter(Boolean).join(" ");if(i.submitted)return S=jqe.unstyle(S),c=g(c),p="",J();if(e.format)c=await e.format.call(this,c,e,r);else{let re=this.styles.muted;c=qqe(this,{input:c,initial:o,pos:s,showCursor:m,color:re})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,k,e,r)),m&&(S=f(S)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),J()}async submit(){return this.value=this.values,super.base.submit.call(this)}};hne.exports=pne});var bN=w((Hpt,dne)=>{"use strict";var Jqe=Z0(),Wqe=()=>{throw new Error("expected prompt to have a custom authenticate method")},Cne=(t=Wqe)=>{class e extends Jqe{constructor(i){super(i)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return Cne(i)}}return e};dne.exports=Cne()});var Ine=w((Gpt,mne)=>{"use strict";var zqe=bN();function _qe(t,e){return t.username===this.options.username&&t.password===this.options.password}var Ene=(t=_qe)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class r extends zqe.create(t){constructor(n){super(ie(N({},n),{choices:e}))}static create(n){return Ene(n)}}return r};mne.exports=Ene()});var $0=w((jpt,yne)=>{"use strict";var Vqe=Vf(),{isPrimitive:Xqe,hasColor:Zqe}=Xi(),wne=class extends Vqe{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:i}=this;return i.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return Xqe(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return Zqe(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(r),this.write([l,a,f].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};yne.exports=wne});var Qne=w((Ypt,Bne)=>{"use strict";var $qe=$0(),bne=class extends $qe{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};Bne.exports=bne});var kne=w((qpt,vne)=>{"use strict";var eJe=xl(),tJe=Z0(),Xf=tJe.prototype,Sne=class extends eJe{constructor(e){super(ie(N({},e),{multiple:!0}));this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():Xf.dispatch.call(this,e,r)}append(e,r){return Xf.append.call(this,e,r)}delete(e,r){return Xf.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?Xf.next.call(this):super.next()}prev(){return this.focused.editable?Xf.prev.call(this):super.prev()}async indicator(e,r){let i=e.indicator||"",n=e.editable?i:super.indicator(e,r);return await this.resolve(n,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?Xf.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let i=r.parent?this.value[r.parent.name]:this.value;if(r.editable?i=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(i=r.enabled===!0),e=await r.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};vne.exports=Sne});var Iu=w((Jpt,xne)=>{"use strict";var rJe=Vf(),iJe=BN(),{isPrimitive:nJe}=Xi(),Pne=class extends rJe{constructor(e){super(e);this.initial=nJe(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let i=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!i||i.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:i}=this.state;this.input=`${i}`.slice(0,r)+e+`${i}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),i=this.input.slice(e),n=r.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):iJe(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),i=await this.separator(),n=await this.message(),s=[r,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` +`)),this.restore()}};xne.exports=Pne});var Rne=w((Wpt,Dne)=>{"use strict";var sJe=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),eb=t=>sJe(t).filter(Boolean);Dne.exports=(t,e={},r="")=>{let{past:i=[],present:n=""}=e,s,o;switch(t){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:eb([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:eb([...s,r]),present:o};case"save":return{past:eb([...i,r]),present:""};case"remove":return o=eb(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var QN=w((zpt,Fne)=>{"use strict";var oJe=Iu(),Nne=Rne(),Lne=class extends oJe{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let i=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=Nne(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=Nne("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};Fne.exports=Lne});var Mne=w((_pt,Tne)=>{"use strict";var aJe=Iu(),One=class extends aJe{format(){return""}};Tne.exports=One});var Hne=w((Vpt,Kne)=>{"use strict";var AJe=Iu(),Une=class extends AJe{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Kne.exports=Une});var Yne=w((Xpt,Gne)=>{"use strict";var lJe=xl(),jne=class extends lJe{constructor(e){super(ie(N({},e),{multiple:!0}))}};Gne.exports=jne});var vN=w((Zpt,qne)=>{"use strict";var cJe=Iu(),Jne=class extends cJe{constructor(e={}){super(N({style:"number"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,i=this.toNumber(this.input);return i>this.max+r?this.alert():(this.input=`${i+r}`,this.render())}down(e){let r=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};qne.exports=Jne});var zne=w(($pt,Wne)=>{Wne.exports=vN()});var Xne=w((edt,_ne)=>{"use strict";var uJe=Iu(),Vne=class extends uJe{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};_ne.exports=Vne});var tse=w((tdt,Zne)=>{"use strict";var gJe=mo(),fJe=ZC(),$ne=Xi(),ese=class extends fJe{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` + `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(` +`)}renderScaleHeading(e){let r=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-r.join("").length,n=Math.round(i/(r.length-1)),o=r.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,r,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,i);let n=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let i=e.scale.map(s=>this.scaleIndicator(e,s,r)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await e.hint;s&&!$ne.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,r),u=await this.renderScale(e,r),g=this.margin[1]+this.margin[3];this.scaleLength=gJe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=$ne.wordWrap(c,{width:this.widths[0],newline:a}).split(` +`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),r=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...r.map(n=>n.join(" "))].join(` +`)}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(r),this.write([a,o,c,g,f].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};Zne.exports=ese});var sse=w((rdt,rse)=>{"use strict";var ise=mo(),hJe=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",nse=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=hJe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},pJe=async(t={},e={},r=i=>i)=>{let i=new Set,n=t.fields||[],s=t.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});uT.name===b.key);b.field=n.find(T=>T.name===b.key),k||(k=new nse(b),a.push(k)),k.lines.push(b.line-1);continue}let m=o[o.length-1];m.type==="text"&&m.line===c?m.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};rse.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i=N(N({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await pJe(e,i),a=SN("result",t,e),l=SN("format",t,e),c=SN("validate",t,e,!0),u=t.isValue.bind(t);return async(g={},f=!1)=>{let h=0;g.required=r,g.items=s,g.keys=o,g.output="";let p=async(S,k,T,Y)=>{let j=await c(S,k,T,Y);return j===!1?"Invalid field "+T.name:j};for(let S of n){let k=S.value,T=S.key;if(S.type!=="template"){k&&(g.output+=k);continue}if(S.type==="template"){let Y=s.find(ee=>ee.name===T);e.required===!0&&g.required.add(Y.name);let j=[Y.input,g.values[Y.value],Y.value,k].find(u),J=(Y.field||{}).message||S.inner;if(f){let ee=await p(g.values[T],g,Y,h);if(ee&&typeof ee=="string"||ee===!1){g.invalid.set(T,ee);continue}g.invalid.delete(T);let A=await a(g.values[T],g,Y,h);g.output+=ise.unstyle(A);continue}Y.placeholder=!1;let re=k;k=await l(k,g,Y,h),j!==k?(g.values[T]=j,k=t.styles.typing(j),g.missing.delete(J)):(g.values[T]=void 0,j=`<${J}>`,k=t.styles.primary(j),Y.placeholder=!0,g.required.has(T)&&g.missing.add(J)),g.missing.has(J)&&g.validating&&(k=t.styles.warning(j)),g.invalid.has(T)&&g.validating&&(k=t.styles.danger(j)),h===g.index&&(re!==k?k=t.styles.underline(k):k=t.styles.heading(ise.unstyle(k))),h++}k&&(g.output+=k)}let m=g.output.split(` +`).map(S=>" "+S),y=s.length,b=0;for(let S of s)g.invalid.has(S.name)&&S.lines.forEach(k=>{m[k][0]===" "&&(m[k]=g.styles.danger(g.symbols.bullet)+m[k].slice(1))}),t.isValue(g.values[S.name])&&b++;return g.completed=(b/y*100).toFixed(0),g.output=m.join(` +`),g.output}};function SN(t,e,r,i){return(n,s,o,a)=>typeof o.field[t]=="function"?o.field[t].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var Ase=w((idt,ose)=>{"use strict";var dJe=mo(),CJe=sse(),mJe=Vf(),ase=class extends mJe{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await CJe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:i,size:n}=this.state,s=[this.options.newline,` +`].find(S=>S!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=r[e]||"",m=await this.format(p),y=await this.footer();m&&(c+=" "+m),f&&!m&&this.state.completed===0&&(c+=" "+f),this.clear(n);let b=[u,c,h,y,g.trim()];this.write(b.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:r,keys:i,index:n}=this.state,s=r.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} +`;return this.state.error=a,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let o=dJe.unstyle(i).split(` +`).map(a=>a.slice(1)).join(` +`);return this.value={values:n,result:o},super.submit()}};ose.exports=ase});var use=w((ndt,lse)=>{"use strict";var EJe="(Use + to sort)",IJe=xl(),cse=class extends IJe{constructor(e){super(ie(N({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,EJe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let i=await super.renderChoice(e,r),n=this.symbols.identicalTo+" ",s=this.index===r&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${r+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};lse.exports=cse});var hse=w((sdt,gse)=>{"use strict";var yJe=ZC(),fse=class extends yJe{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(i=>this.styles.muted(i)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let i of r)i.scale=wJe(5,this.options),i.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],i=r.selected;return e.scale.forEach(n=>n.selected=!1),r.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=k=>(k?this.styles.success("\u25C9"):"\u25EF")+o,u=r+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,r),h=this.indent(e),p=h+e.scale.map((k,T)=>c(T===e.scaleIdx)).join(a),m=k=>k===e.scaleIdx?g(k):k,y=h+e.scale.map((k,T)=>m(T)).join(l),b=()=>[u,f].filter(Boolean).join(" "),S=()=>[b(),p,y," "].filter(Boolean).join(` +`);return i&&(p=this.styles.cyan(p),y=this.styles.cyan(y)),S()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([o,a,u,g].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function wJe(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>N({},i));let r=[];for(let i=1;i{pse.exports=QN()});var Ese=w((adt,Cse)=>{"use strict";var BJe=$0(),mse=class extends BJe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([r,c,l].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Cse.exports=mse});var wse=w((Adt,Ise)=>{"use strict";var bJe=xl(),yse=class extends bJe{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let i=await super.toChoices(e,r);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Ise.exports=yse});var bse=w(kN=>{"use strict";var Bse=Xi(),Ci=(t,e)=>{Bse.defineExport(kN,t,e),Bse.defineExport(kN,t.toLowerCase(),e)};Ci("AutoComplete",()=>gne());Ci("BasicAuth",()=>Ine());Ci("Confirm",()=>Qne());Ci("Editable",()=>kne());Ci("Form",()=>Z0());Ci("Input",()=>QN());Ci("Invisible",()=>Mne());Ci("List",()=>Hne());Ci("MultiSelect",()=>Yne());Ci("Numeral",()=>zne());Ci("Password",()=>Xne());Ci("Scale",()=>tse());Ci("Select",()=>xl());Ci("Snippet",()=>Ase());Ci("Sort",()=>use());Ci("Survey",()=>hse());Ci("Text",()=>dse());Ci("Toggle",()=>Ese());Ci("Quiz",()=>wse())});var vse=w((cdt,Qse)=>{Qse.exports={ArrayPrompt:ZC(),AuthPrompt:bN(),BooleanPrompt:$0(),NumberPrompt:vN(),StringPrompt:Iu()}});var em=w((udt,Sse)=>{"use strict";var kse=require("assert"),xN=require("events"),Pl=Xi(),ua=class extends xN{constructor(e,r){super();this.options=Pl.merge({},e),this.answers=N({},r)}register(e,r){if(Pl.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}kse.equal(typeof r,"function","expected a function");let i=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[i]=r:this.prompts[i]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(Pl.merge({},this.options,r))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=Pl.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=Pl;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];kse(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](r),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),r.autofill&&l!=null?(a.value=a.input=l,r.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||Vf()}static get prompts(){return bse()}static get types(){return vse()}static get prompt(){let e=(r,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(r)};return Pl.mixinEmitter(e,new xN),e}};Pl.mixinEmitter(ua,new xN);var PN=ua.prompts;for(let t of Object.keys(PN)){let e=t.toLowerCase(),r=i=>new PN[t](i).run();ua.prompt[e]=r,ua[e]=r,ua[t]||Reflect.defineProperty(ua,t,{get:()=>PN[t]})}var $C=t=>{Pl.defineExport(ua,t,()=>ua.types[t])};$C("ArrayPrompt");$C("AuthPrompt");$C("BooleanPrompt");$C("NumberPrompt");$C("StringPrompt");Sse.exports=ua});var Hse=w((eCt,Use)=>{function xJe(t,e){for(var r=-1,i=t==null?0:t.length;++r{var PJe=u0(),DJe=Lf();function RJe(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s{var FJe=$f(),NJe=Uf();function LJe(t,e){return t&&FJe(e,NJe(e),t)}jse.exports=LJe});var Jse=w((iCt,qse)=>{function TJe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}qse.exports=TJe});var zse=w((nCt,Wse)=>{var OJe=Rn(),MJe=Q0(),KJe=Jse(),UJe=Object.prototype,HJe=UJe.hasOwnProperty;function GJe(t){if(!OJe(t))return KJe(t);var e=MJe(t),r=[];for(var i in t)i=="constructor"&&(e||!HJe.call(t,i))||r.push(i);return r}Wse.exports=GJe});var eh=w((sCt,_se)=>{var jJe=yF(),YJe=zse(),qJe=NC();function JJe(t){return qJe(t)?jJe(t,!0):YJe(t)}_se.exports=JJe});var Xse=w((oCt,Vse)=>{var WJe=$f(),zJe=eh();function _Je(t,e){return t&&WJe(e,zJe(e),t)}Vse.exports=_Je});var TN=w((am,th)=>{var VJe=Fs(),Zse=typeof am=="object"&&am&&!am.nodeType&&am,$se=Zse&&typeof th=="object"&&th&&!th.nodeType&&th,XJe=$se&&$se.exports===Zse,eoe=XJe?VJe.Buffer:void 0,toe=eoe?eoe.allocUnsafe:void 0;function ZJe(t,e){if(e)return t.slice();var r=t.length,i=toe?toe(r):new t.constructor(r);return t.copy(i),i}th.exports=ZJe});var ON=w((aCt,roe)=>{function $Je(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{var e3e=$f(),t3e=S0();function r3e(t,e){return e3e(t,t3e(t),e)}ioe.exports=r3e});var tb=w((lCt,soe)=>{var i3e=wF(),n3e=i3e(Object.getPrototypeOf,Object);soe.exports=n3e});var MN=w((cCt,ooe)=>{var s3e=f0(),o3e=tb(),a3e=S0(),A3e=kF(),l3e=Object.getOwnPropertySymbols,c3e=l3e?function(t){for(var e=[];t;)s3e(e,a3e(t)),t=o3e(t);return e}:A3e;ooe.exports=c3e});var Aoe=w((uCt,aoe)=>{var u3e=$f(),g3e=MN();function f3e(t,e){return u3e(t,g3e(t),e)}aoe.exports=f3e});var coe=w((gCt,loe)=>{var h3e=SF(),p3e=MN(),d3e=eh();function C3e(t){return h3e(t,d3e,p3e)}loe.exports=C3e});var goe=w((fCt,uoe)=>{var m3e=Object.prototype,E3e=m3e.hasOwnProperty;function I3e(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&E3e.call(t,"index")&&(r.index=t.index,r.input=t.input),r}uoe.exports=I3e});var rb=w((hCt,foe)=>{var hoe=QF();function y3e(t){var e=new t.constructor(t.byteLength);return new hoe(e).set(new hoe(t)),e}foe.exports=y3e});var doe=w((pCt,poe)=>{var w3e=rb();function B3e(t,e){var r=e?w3e(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}poe.exports=B3e});var moe=w((dCt,Coe)=>{var b3e=/\w*$/;function Q3e(t){var e=new t.constructor(t.source,b3e.exec(t));return e.lastIndex=t.lastIndex,e}Coe.exports=Q3e});var Boe=w((CCt,Eoe)=>{var Ioe=Hc(),yoe=Ioe?Ioe.prototype:void 0,woe=yoe?yoe.valueOf:void 0;function v3e(t){return woe?Object(woe.call(t)):{}}Eoe.exports=v3e});var KN=w((mCt,boe)=>{var S3e=rb();function k3e(t,e){var r=e?S3e(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}boe.exports=k3e});var voe=w((ECt,Qoe)=>{var x3e=rb(),P3e=doe(),D3e=moe(),R3e=Boe(),F3e=KN(),N3e="[object Boolean]",L3e="[object Date]",T3e="[object Map]",O3e="[object Number]",M3e="[object RegExp]",K3e="[object Set]",U3e="[object String]",H3e="[object Symbol]",G3e="[object ArrayBuffer]",j3e="[object DataView]",Y3e="[object Float32Array]",q3e="[object Float64Array]",J3e="[object Int8Array]",W3e="[object Int16Array]",z3e="[object Int32Array]",_3e="[object Uint8Array]",V3e="[object Uint8ClampedArray]",X3e="[object Uint16Array]",Z3e="[object Uint32Array]";function $3e(t,e,r){var i=t.constructor;switch(e){case G3e:return x3e(t);case N3e:case L3e:return new i(+t);case j3e:return P3e(t,r);case Y3e:case q3e:case J3e:case W3e:case z3e:case _3e:case V3e:case X3e:case Z3e:return F3e(t,r);case T3e:return new i;case O3e:case U3e:return new i(t);case M3e:return D3e(t);case K3e:return new i;case H3e:return R3e(t)}}Qoe.exports=$3e});var xoe=w((ICt,Soe)=>{var eWe=Rn(),koe=Object.create,tWe=function(){function t(){}return function(e){if(!eWe(e))return{};if(koe)return koe(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();Soe.exports=tWe});var UN=w((yCt,Poe)=>{var rWe=xoe(),iWe=tb(),nWe=Q0();function sWe(t){return typeof t.constructor=="function"&&!nWe(t)?rWe(iWe(t)):{}}Poe.exports=sWe});var Roe=w((wCt,Doe)=>{var oWe=TC(),aWe=Zo(),AWe="[object Map]";function lWe(t){return aWe(t)&&oWe(t)==AWe}Doe.exports=lWe});var Toe=w((BCt,Foe)=>{var cWe=Roe(),uWe=w0(),Noe=B0(),Loe=Noe&&Noe.isMap,gWe=Loe?uWe(Loe):cWe;Foe.exports=gWe});var Moe=w((bCt,Ooe)=>{var fWe=TC(),hWe=Zo(),pWe="[object Set]";function dWe(t){return hWe(t)&&fWe(t)==pWe}Ooe.exports=dWe});var Goe=w((QCt,Koe)=>{var CWe=Moe(),mWe=w0(),Uoe=B0(),Hoe=Uoe&&Uoe.isSet,EWe=Hoe?mWe(Hoe):CWe;Koe.exports=EWe});var Woe=w((vCt,joe)=>{var IWe=LC(),yWe=Hse(),wWe=u0(),BWe=Yse(),bWe=Xse(),QWe=TN(),vWe=ON(),SWe=noe(),kWe=Aoe(),xWe=xF(),PWe=coe(),DWe=TC(),RWe=goe(),FWe=voe(),NWe=UN(),LWe=Ms(),TWe=DC(),OWe=Toe(),MWe=Rn(),KWe=Goe(),UWe=Uf(),HWe=eh(),GWe=1,jWe=2,YWe=4,Yoe="[object Arguments]",qWe="[object Array]",JWe="[object Boolean]",WWe="[object Date]",zWe="[object Error]",qoe="[object Function]",_We="[object GeneratorFunction]",VWe="[object Map]",XWe="[object Number]",Joe="[object Object]",ZWe="[object RegExp]",$We="[object Set]",e8e="[object String]",t8e="[object Symbol]",r8e="[object WeakMap]",i8e="[object ArrayBuffer]",n8e="[object DataView]",s8e="[object Float32Array]",o8e="[object Float64Array]",a8e="[object Int8Array]",A8e="[object Int16Array]",l8e="[object Int32Array]",c8e="[object Uint8Array]",u8e="[object Uint8ClampedArray]",g8e="[object Uint16Array]",f8e="[object Uint32Array]",dr={};dr[Yoe]=dr[qWe]=dr[i8e]=dr[n8e]=dr[JWe]=dr[WWe]=dr[s8e]=dr[o8e]=dr[a8e]=dr[A8e]=dr[l8e]=dr[VWe]=dr[XWe]=dr[Joe]=dr[ZWe]=dr[$We]=dr[e8e]=dr[t8e]=dr[c8e]=dr[u8e]=dr[g8e]=dr[f8e]=!0;dr[zWe]=dr[qoe]=dr[r8e]=!1;function ib(t,e,r,i,n,s){var o,a=e&GWe,l=e&jWe,c=e&YWe;if(r&&(o=n?r(t,i,n,s):r(t)),o!==void 0)return o;if(!MWe(t))return t;var u=LWe(t);if(u){if(o=RWe(t),!a)return vWe(t,o)}else{var g=DWe(t),f=g==qoe||g==_We;if(TWe(t))return QWe(t,a);if(g==Joe||g==Yoe||f&&!n){if(o=l||f?{}:NWe(t),!a)return l?kWe(t,bWe(o,t)):SWe(t,BWe(o,t))}else{if(!dr[g])return n?t:{};o=FWe(t,g,a)}}s||(s=new IWe);var h=s.get(t);if(h)return h;s.set(t,o),KWe(t)?t.forEach(function(y){o.add(ib(y,e,r,y,t,s))}):OWe(t)&&t.forEach(function(y,b){o.set(b,ib(y,e,r,b,t,s))});var p=c?l?PWe:xWe:l?HWe:UWe,m=u?void 0:p(t);return yWe(m||t,function(y,b){m&&(b=y,y=t[b]),wWe(o,b,ib(y,e,r,b,t,s))}),o}joe.exports=ib});var HN=w((SCt,zoe)=>{var h8e=Woe(),p8e=1,d8e=4;function C8e(t){return h8e(t,p8e|d8e)}zoe.exports=C8e});var Voe=w((kCt,_oe)=>{var m8e=XR();function E8e(t,e,r){return t==null?t:m8e(t,e,r)}_oe.exports=E8e});var rae=w((NCt,tae)=>{function I8e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}tae.exports=I8e});var nae=w((LCt,iae)=>{var y8e=yC(),w8e=AD();function B8e(t,e){return e.length<2?t:y8e(t,w8e(e,0,-1))}iae.exports=B8e});var oae=w((TCt,sae)=>{var b8e=Nf(),Q8e=rae(),v8e=nae(),S8e=cu();function k8e(t,e){return e=b8e(e,t),t=v8e(t,e),t==null||delete t[S8e(Q8e(e))]}sae.exports=k8e});var Aae=w((OCt,aae)=>{var x8e=oae();function P8e(t,e){return t==null?!0:x8e(t,e)}aae.exports=P8e});var Cae=w((fmt,dae)=>{dae.exports={name:"@yarnpkg/cli",version:"3.2.1",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"^3.2.0-rc.4",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var $N=w((qyt,iAe)=>{"use strict";iAe.exports=function(e,r){r===!0&&(r=0);var i=e.indexOf("://"),n=e.substring(0,i).split("+").filter(Boolean);return typeof r=="number"?n[r]:n}});var eL=w((Jyt,nAe)=>{"use strict";var X8e=$N();function sAe(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=X8e(t);return t=t.substring(t.indexOf("://")+3),sAe(e)?!0:t.indexOf("@"){"use strict";var Z8e=$N(),$8e=eL(),e4e=require("querystring");function t4e(t){t=(t||"").trim();var e={protocols:Z8e(t),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:t,query:Object.create(null)},r=t.indexOf("://"),i=-1,n=null,s=null;t.startsWith(".")&&(t.startsWith("./")&&(t=t.substring(2)),e.pathname=t,e.protocol="file");var o=t.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||($8e(t)?e.protocol="ssh":((o==="/"||o==="~")&&(t=t.substring(2)),e.protocol="file"))),r!==-1&&(t=t.substring(r+3)),s=t.split("/"),e.protocol!=="file"?e.resource=s.shift():e.resource="",n=e.resource.split("@"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(":"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol==="file"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!=="file"||e.href[0]==="/"?"/":"")+s.join("/"),n=e.pathname.split("#"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split("?"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=e4e.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}oAe.exports=t4e});var cAe=w((zyt,AAe)=>{"use strict";var r4e="text/plain",i4e="us-ascii",lAe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),n4e=(t,{stripHash:e})=>{let r=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(t);if(!r)throw new Error(`Invalid URL: ${t}`);let{type:i,data:n,hash:s}=r.groups,o=i.split(";");s=e?"":s;let a=!1;o[o.length-1]==="base64"&&(o.pop(),a=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(g=>{let[f,h=""]=g.split("=").map(p=>p.trim());return f==="charset"&&(h=h.toLowerCase(),h===i4e)?"":`${f}${h?`=${h}`:""}`}).filter(Boolean)];return a&&u.push("base64"),(u.length!==0||l&&l!==r4e)&&u.unshift(l),`data:${u.join(";")},${a?n.trim():n}${s?`#${s}`:""}`},s4e=(t,e)=>{if(e=N({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),t=t.trim(),/^data:/i.test(t))return n4e(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash?n.hash="":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,"")),n.pathname&&(n.pathname=n.pathname.replace(/(?0){let o=n.pathname.split("/"),a=o[o.length-1];lAe(a,e.removeDirectoryIndex)&&(o=o.slice(0,o.length-1),n.pathname=o.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)(?:[a-z\-\d]{1,63})\.(?:[a-z.\-\d]{2,63})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])lAe(o,e.removeQueryParameters)&&n.searchParams.delete(o);e.removeQueryParameters===!0&&(n.search=""),e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,""));let s=t;return t=n.toString(),!e.removeSingleSlash&&n.pathname==="/"&&!s.endsWith("/")&&n.hash===""&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};AAe.exports=s4e});var gAe=w((_yt,uAe)=>{"use strict";var o4e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a4e=aAe(),A4e=cAe();function l4e(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof t!="string"||!t.trim())throw new Error("Invalid url.");e&&((typeof e=="undefined"?"undefined":o4e(e))!=="object"&&(e={stripHash:!1}),t=A4e(t,e));var r=a4e(t);return r}uAe.exports=l4e});var pAe=w((Vyt,fAe)=>{"use strict";var c4e=gAe(),hAe=eL();function u4e(t){var e=c4e(t);e.token="";var r=e.user.split(":");return r.length===2&&(r[1]==="x-oauth-basic"?e.token=r[0]:r[0]==="x-token-auth"&&(e.token=r[1])),hAe(e.protocols)||hAe(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}fAe.exports=u4e});var CAe=w((Xyt,dAe)=>{"use strict";var g4e=pAe();function tL(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=g4e(t),r=e.resource.split("."),i=null;switch(e.toString=function(l){return tL.stringify(this,l)},e.source=r.length>2?r.slice(1-r.length).join("."):e.source=e.resource,e.git_suffix=/\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\//,"").replace(/\.git$/,"")),e.owner=decodeURIComponent(e.user),e.source){case"git.cloudforge.com":e.owner=e.user,e.organization=r[0],e.source="cloudforge.com";break;case"visualstudio.com":if(e.resource==="vs-ssh.visualstudio.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+"/"+i[3]);break}else{i=e.name.split("/"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}case"dev.azure.com":case"azure.com":if(e.resource==="ssh.dev.azure.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split("/"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}default:i=e.name.split("/");var n=i.length-1;if(i.length>=2){var s=i.indexOf("blob",2),o=i.indexOf("tree",2),a=i.indexOf("commit",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join("/"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref="",e.filepathtype="",e.filepath="",i.length>n+2&&["blob","tree"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join("/"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+="/"),e.full_name+=e.name)),e}tL.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",i=t.user||"git",n=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+i+"@"+t.resource+r+"/"+t.full_name+n:i+"@"+t.resource+":"+t.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+t.resource+r+"/"+t.full_name+n;case"http":case"https":var s=t.token?f4e(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+s+t.resource+r+"/"+t.full_name+n;default:return t.href}};function f4e(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}dAe.exports=tL});var DL=w((ibt,UAe)=>{var R4e=Lf(),F4e=Df();function N4e(t,e,r){(r!==void 0&&!F4e(t[e],r)||r===void 0&&!(e in t))&&R4e(t,e,r)}UAe.exports=N4e});var GAe=w((nbt,HAe)=>{var L4e=NC(),T4e=Zo();function O4e(t){return T4e(t)&&L4e(t)}HAe.exports=O4e});var qAe=w((sbt,jAe)=>{var M4e=Gc(),K4e=tb(),U4e=Zo(),H4e="[object Object]",G4e=Function.prototype,j4e=Object.prototype,YAe=G4e.toString,Y4e=j4e.hasOwnProperty,q4e=YAe.call(Object);function J4e(t){if(!U4e(t)||M4e(t)!=H4e)return!1;var e=K4e(t);if(e===null)return!0;var r=Y4e.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&YAe.call(r)==q4e}jAe.exports=J4e});var RL=w((obt,JAe)=>{function W4e(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}JAe.exports=W4e});var zAe=w((abt,WAe)=>{var z4e=$f(),_4e=eh();function V4e(t){return z4e(t,_4e(t))}WAe.exports=V4e});var ele=w((Abt,_Ae)=>{var VAe=DL(),X4e=TN(),Z4e=KN(),$4e=ON(),eze=UN(),XAe=BC(),ZAe=Ms(),tze=GAe(),rze=DC(),ize=A0(),nze=Rn(),sze=qAe(),oze=b0(),$Ae=RL(),aze=zAe();function Aze(t,e,r,i,n,s,o){var a=$Ae(t,r),l=$Ae(e,r),c=o.get(l);if(c){VAe(t,r,c);return}var u=s?s(a,l,r+"",t,e,o):void 0,g=u===void 0;if(g){var f=ZAe(l),h=!f&&rze(l),p=!f&&!h&&oze(l);u=l,f||h||p?ZAe(a)?u=a:tze(a)?u=$4e(a):h?(g=!1,u=X4e(l,!0)):p?(g=!1,u=Z4e(l,!0)):u=[]:sze(l)||XAe(l)?(u=a,XAe(a)?u=aze(a):(!nze(a)||ize(a))&&(u=eze(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),VAe(t,r,u)}_Ae.exports=Aze});var ile=w((lbt,tle)=>{var lze=LC(),cze=DL(),uze=EF(),gze=ele(),fze=Rn(),hze=eh(),pze=RL();function rle(t,e,r,i,n){t!==e&&uze(e,function(s,o){if(n||(n=new lze),fze(s))gze(t,e,o,r,rle,i,n);else{var a=i?i(pze(t,o),s,o+"",t,e,n):void 0;a===void 0&&(a=s),cze(t,o,a)}},hze)}tle.exports=rle});var sle=w((cbt,nle)=>{var dze=h0(),Cze=eF(),mze=tF();function Eze(t,e){return mze(Cze(t,e,dze),t+"")}nle.exports=Eze});var ale=w((ubt,ole)=>{var Ize=Df(),yze=NC(),wze=wC(),Bze=Rn();function bze(t,e,r){if(!Bze(r))return!1;var i=typeof e;return(i=="number"?yze(r)&&wze(e,r.length):i=="string"&&e in r)?Ize(r[e],t):!1}ole.exports=bze});var lle=w((gbt,Ale)=>{var Qze=sle(),vze=ale();function Sze(t){return Qze(function(e,r){var i=-1,n=r.length,s=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,o&&vze(r[0],r[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var kze=ile(),xze=lle(),Pze=xze(function(t,e,r){kze(t,e,r)});cle.exports=Pze});var Sle=w((mQt,vle)=>{var JL;vle.exports=()=>(typeof JL=="undefined"&&(JL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),JL)});var Mle=w((XQt,Ole)=>{var VL;Ole.exports=()=>(typeof VL=="undefined"&&(VL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),VL)});var Jle=w((iT,nT)=>{(function(t){iT&&typeof iT=="object"&&typeof nT!="undefined"?nT.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window!="undefined"?window.isWindows=t():typeof global!="undefined"?global.isWindows=t():typeof self!="undefined"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var Vle=w((iSt,Wle)=>{"use strict";sT.ifExists=m5e;var Ah=require("util"),Ws=require("path"),zle=Jle(),E5e=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,I5e={createPwshFile:!0,createCmdFile:zle(),fs:require("fs")},y5e=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function _le(t){let e=N(N({},I5e),t),r=e.fs;return e.fs_={chmod:r.chmod?Ah.promisify(r.chmod):async()=>{},mkdir:Ah.promisify(r.mkdir),readFile:Ah.promisify(r.readFile),stat:Ah.promisify(r.stat),unlink:Ah.promisify(r.unlink),writeFile:Ah.promisify(r.writeFile)},e}async function sT(t,e,r){let i=_le(r);await i.fs_.stat(t),await w5e(t,e,i)}function m5e(t,e,r){return sT(t,e,r).catch(()=>{})}function B5e(t,e){return e.fs_.unlink(t).catch(()=>{})}async function w5e(t,e,r){let i=await v5e(t,r);return await b5e(e,r),Q5e(t,e,i,r)}function b5e(t,e){return e.fs_.mkdir(Ws.dirname(t),{recursive:!0})}function Q5e(t,e,r,i){let n=_le(i),s=[{generator:x5e,extension:""}];return n.createCmdFile&&s.push({generator:k5e,extension:".cmd"}),n.createPwshFile&&s.push({generator:P5e,extension:".ps1"}),Promise.all(s.map(o=>S5e(t,e+o.extension,r,o.generator,n)))}function D5e(t,e){return B5e(t,e)}function F5e(t,e){return R5e(t,e)}async function v5e(t,e){let n=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(E5e);if(!n){let s=Ws.extname(t).toLowerCase();return{program:y5e.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function S5e(t,e,r,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[r.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:r.program,args:o}),await D5e(e,n),await n.fs_.writeFile(e,i(t,e,n),"utf8"),F5e(e,n)}function k5e(t,e,r){let n=Ws.relative(Ws.dirname(e),t).split("/").join("\\"),s=Ws.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=r.prog,l=r.args||"",c=oT(r.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=r.progArgs?`${r.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`:"";return o?g+=`@IF EXIST ${o} (\r + ${o} ${l} ${n} ${u}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${a} ${l} ${n} ${u}%*\r +)\r +`:g+=`@${a} ${l} ${n} ${u}%*\r +`,g}function x5e(t,e,r){let i=Ws.relative(Ws.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=Ws.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=oT(r.nodePath).posix;n?(s=`"$basedir/${r.prog}"`,i=o):(n=o,a="",i="");let c=r.progArgs?`${r.progArgs.join(" ")} `:"",u=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,g=r.nodePath?`export NODE_PATH="${l}" +`:"";return s?u+=`${g}if [ -x ${s} ]; then + exec ${s} ${a} ${i} ${c}"$@" +else + exec ${n} ${a} ${i} ${c}"$@" +fi +`:u+=`${g}${n} ${a} ${i} ${c}"$@" +exit $? +`,u}function P5e(t,e,r){let i=Ws.relative(Ws.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=Ws.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=oT(r.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${r.prog}$exe"`,i=a):(s=a,l="",i="");let f=r.progArgs?`${r.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${u}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(h+=` else { + $env:NODE_PATH="${g}" +}`),o?h+=` +$ret=0 +if (Test-Path ${o}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${o} ${l} ${i} ${f}$args + } else { + & ${o} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args + } else { + & ${s} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:h+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args +} else { + & ${s} ${l} ${i} ${f}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,h}function R5e(t,e){return e.fs_.chmod(t,493)}function oT(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(Ws.delimiter):Array.from(t),r={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];r.win32=r.win32?`${r.win32};${n}`:n,r.posix=r.posix?`${r.posix}:${s}`:s,r[i]={win32:n,posix:s}}return r}Wle.exports=sT});var yT=w((Kkt,dce)=>{dce.exports=require("stream")});var Ice=w((Ukt,Cce)=>{"use strict";function mce(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function $5e(t){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return yb.alloc(0);for(var i=yb.allocUnsafe(r>>>0),n=this.head,s=0;n;)s_e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return ro.length?o.length:r;if(a===o.length?s+=o:s+=o.slice(0,r),r-=a,r===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(r){var i=yb.allocUnsafe(r),n=this.head,s=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var o=n.data,a=r>o.length?o.length:r;if(o.copy(i,i.length-r,0,a),r-=a,r===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:n_e,value:function(r,i){return wT(this,$5e({},i,{depth:0,customInspect:!1}))}}]),t}()});var bT=w((Hkt,yce)=>{"use strict";function o_e(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(BT,this,t)):process.nextTick(BT,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!e&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(wb,r):(r._writableState.errorEmitted=!0,process.nextTick(wce,r,s)):process.nextTick(wce,r,s):e?(process.nextTick(wb,r),e(s)):process.nextTick(wb,r)}),this)}function wce(t,e){BT(t,e),wb(t)}function wb(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function a_e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function BT(t,e){t.emit("error",e)}function A_e(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}yce.exports={destroy:o_e,undestroy:a_e,errorOrDestroy:A_e}});var Ll=w((Gkt,Bce)=>{"use strict";var bce={};function zs(t,e,r){r||(r=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends r{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=r.name,n.prototype.code=t,bce[t]=n}function Qce(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(i=>String(i)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function l_e(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function c_e(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function u_e(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}zs("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);zs("ERR_INVALID_ARG_TYPE",function(t,e,r){let i;typeof e=="string"&&l_e(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(c_e(t," argument"))n=`The ${t} ${i} ${Qce(e,"type")}`;else{let s=u_e(t,".")?"property":"argument";n=`The "${t}" ${s} ${i} ${Qce(e,"type")}`}return n+=`. Received type ${typeof r}`,n},TypeError);zs("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");zs("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});zs("ERR_STREAM_PREMATURE_CLOSE","Premature close");zs("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});zs("ERR_MULTIPLE_CALLBACK","Callback called multiple times");zs("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");zs("ERR_STREAM_WRITE_AFTER_END","write after end");zs("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);zs("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);zs("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");Bce.exports.codes=bce});var QT=w((jkt,vce)=>{"use strict";var g_e=Ll().codes.ERR_INVALID_OPT_VALUE;function f_e(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function h_e(t,e,r,i){var n=f_e(e,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?r:"highWaterMark";throw new g_e(s,n)}return Math.floor(n)}return t.objectMode?16:16*1024}vce.exports={getHighWaterMark:h_e}});var Sce=w((Ykt,vT)=>{typeof Object.create=="function"?vT.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:vT.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var Tl=w((qkt,ST)=>{try{if(kT=require("util"),typeof kT.inherits!="function")throw"";ST.exports=kT.inherits}catch(t){ST.exports=Sce()}var kT});var xce=w((Jkt,kce)=>{kce.exports=require("util").deprecate});var DT=w((Wkt,Pce)=>{"use strict";Pce.exports=jr;function Dce(t){var e=this;this.next=null,this.entry=null,this.finish=function(){p_e(e,t)}}var uh;jr.WritableState=Vm;var d_e={deprecate:xce()},Rce=yT(),Bb=require("buffer").Buffer,C_e=global.Uint8Array||function(){};function m_e(t){return Bb.from(t)}function E_e(t){return Bb.isBuffer(t)||t instanceof C_e}var xT=bT(),I_e=QT(),y_e=I_e.getHighWaterMark,Ol=Ll().codes,w_e=Ol.ERR_INVALID_ARG_TYPE,B_e=Ol.ERR_METHOD_NOT_IMPLEMENTED,b_e=Ol.ERR_MULTIPLE_CALLBACK,Q_e=Ol.ERR_STREAM_CANNOT_PIPE,v_e=Ol.ERR_STREAM_DESTROYED,S_e=Ol.ERR_STREAM_NULL_VALUES,k_e=Ol.ERR_STREAM_WRITE_AFTER_END,x_e=Ol.ERR_UNKNOWN_ENCODING,gh=xT.errorOrDestroy;Tl()(jr,Rce);function P_e(){}function Vm(t,e,r){uh=uh||Su(),t=t||{},typeof r!="boolean"&&(r=e instanceof uh),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=y_e(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=t.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){D_e(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Dce(this)}Vm.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(Vm.prototype,"buffer",{get:d_e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}})();var bb;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(bb=Function.prototype[Symbol.hasInstance],Object.defineProperty(jr,Symbol.hasInstance,{value:function(e){return bb.call(this,e)?!0:this!==jr?!1:e&&e._writableState instanceof Vm}})):bb=function(e){return e instanceof this};function jr(t){uh=uh||Su();var e=this instanceof uh;if(!e&&!bb.call(jr,this))return new jr(t);this._writableState=new Vm(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),Rce.call(this)}jr.prototype.pipe=function(){gh(this,new Q_e)};function R_e(t,e){var r=new k_e;gh(t,r),process.nextTick(e,r)}function F_e(t,e,r,i){var n;return r===null?n=new S_e:typeof r!="string"&&!e.objectMode&&(n=new w_e("chunk",["string","Buffer"],r)),n?(gh(t,n),process.nextTick(i,n),!1):!0}jr.prototype.write=function(t,e,r){var i=this._writableState,n=!1,s=!i.objectMode&&E_e(t);return s&&!Bb.isBuffer(t)&&(t=m_e(t)),typeof e=="function"&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof r!="function"&&(r=P_e),i.ending?R_e(this,r):(s||F_e(this,i,t,r))&&(i.pendingcb++,n=N_e(this,i,s,t,e,r)),n};jr.prototype.cork=function(){this._writableState.corked++};jr.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Fce(this,t))};jr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new x_e(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(jr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function L_e(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=Bb.from(e,r)),e}Object.defineProperty(jr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function N_e(t,e,r,i,n,s){if(!r){var o=L_e(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var G_e=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};Tce.exports=da;var Oce=RT(),FT=DT();Tl()(da,Oce);for(NT=G_e(FT.prototype),Qb=0;Qb{var Sb=require("buffer"),bA=Sb.Buffer;function Kce(t,e){for(var r in t)e[r]=t[r]}bA.from&&bA.alloc&&bA.allocUnsafe&&bA.allocUnsafeSlow?Mce.exports=Sb:(Kce(Sb,LT),LT.Buffer=fh);function fh(t,e,r){return bA(t,e,r)}Kce(bA,fh);fh.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return bA(t,e,r)};fh.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=bA(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};fh.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return bA(t)};fh.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Sb.SlowBuffer(t)}});var MT=w(Hce=>{"use strict";var TT=Uce().Buffer,Gce=TT.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function q_e(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function J_e(t){var e=q_e(t);if(typeof e!="string"&&(TT.isEncoding===Gce||!Gce(t)))throw new Error("Unknown encoding: "+t);return e||t}Hce.StringDecoder=Zm;function Zm(t){this.encoding=J_e(t);var e;switch(this.encoding){case"utf16le":this.text=z_e,this.end=__e,e=4;break;case"utf8":this.fillLast=W_e,e=4;break;case"base64":this.text=V_e,this.end=X_e,e=3;break;default:this.write=Z_e,this.end=$_e;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=TT.allocUnsafe(e)}Zm.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function r6e(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:t.lastNeed=n-3),n):0))}function i6e(t,e,r){if((e[0]&192)!=128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return t.lastNeed=2,"\uFFFD"}}function W_e(t){var e=this.lastTotal-this.lastNeed,r=i6e(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function t6e(t,e){var r=r6e(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function e6e(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function z_e(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function __e(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function V_e(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function X_e(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function Z_e(t){return t.toString(this.encoding)}function $_e(t){return t&&t.length?this.write(t):""}});var kb=w((Vkt,jce)=>{"use strict";var Yce=Ll().codes.ERR_STREAM_PREMATURE_CLOSE;function n6e(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{"use strict";var xb;function Ml(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a6e=kb(),Kl=Symbol("lastResolve"),ku=Symbol("lastReject"),$m=Symbol("error"),Pb=Symbol("ended"),xu=Symbol("lastPromise"),KT=Symbol("handlePromise"),Pu=Symbol("stream");function Ul(t,e){return{value:t,done:e}}function A6e(t){var e=t[Kl];if(e!==null){var r=t[Pu].read();r!==null&&(t[xu]=null,t[Kl]=null,t[ku]=null,e(Ul(r,!1)))}}function l6e(t){process.nextTick(A6e,t)}function c6e(t,e){return function(r,i){t.then(function(){if(e[Pb]){r(Ul(void 0,!0));return}e[KT](r,i)},i)}}var u6e=Object.getPrototypeOf(function(){}),g6e=Object.setPrototypeOf((xb={get stream(){return this[Pu]},next:function(){var e=this,r=this[$m];if(r!==null)return Promise.reject(r);if(this[Pb])return Promise.resolve(Ul(void 0,!0));if(this[Pu].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[$m]?a(e[$m]):o(Ul(void 0,!0))})});var i=this[xu],n;if(i)n=new Promise(c6e(i,this));else{var s=this[Pu].read();if(s!==null)return Promise.resolve(Ul(s,!1));n=new Promise(this[KT])}return this[xu]=n,n}},Ml(xb,Symbol.asyncIterator,function(){return this}),Ml(xb,"return",function(){var e=this;return new Promise(function(r,i){e[Pu].destroy(null,function(n){if(n){i(n);return}r(Ul(void 0,!0))})})}),xb),u6e),f6e=function(e){var r,i=Object.create(g6e,(r={},Ml(r,Pu,{value:e,writable:!0}),Ml(r,Kl,{value:null,writable:!0}),Ml(r,ku,{value:null,writable:!0}),Ml(r,$m,{value:null,writable:!0}),Ml(r,Pb,{value:e._readableState.endEmitted,writable:!0}),Ml(r,KT,{value:function(s,o){var a=i[Pu].read();a?(i[xu]=null,i[Kl]=null,i[ku]=null,s(Ul(a,!1))):(i[Kl]=s,i[ku]=o)},writable:!0}),r));return i[xu]=null,a6e(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[ku];s!==null&&(i[xu]=null,i[Kl]=null,i[ku]=null,s(n)),i[$m]=n;return}var o=i[Kl];o!==null&&(i[xu]=null,i[Kl]=null,i[ku]=null,o(Ul(void 0,!0))),i[Pb]=!0}),e.on("readable",l6e.bind(null,i)),i};Jce.exports=f6e});var Xce=w((Zkt,zce)=>{"use strict";function _ce(t,e,r,i,n,s,o){try{var a=t[s](o),l=a.value}catch(c){r(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function h6e(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var s=t.apply(e,r);function o(l){_ce(s,i,n,o,a,"next",l)}function a(l){_ce(s,i,n,o,a,"throw",l)}o(void 0)})}}function Vce(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function d6e(t){for(var e=1;e{"use strict";Zce.exports=Ut;var hh;Ut.ReadableState=$ce;var $kt=require("events").EventEmitter,eue=function(e,r){return e.listeners(r).length},eE=yT(),Db=require("buffer").Buffer,E6e=global.Uint8Array||function(){};function I6e(t){return Db.from(t)}function y6e(t){return Db.isBuffer(t)||t instanceof E6e}var UT=require("util"),xt;UT&&UT.debuglog?xt=UT.debuglog("stream"):xt=function(){};var w6e=Ice(),HT=bT(),B6e=QT(),b6e=B6e.getHighWaterMark,Rb=Ll().codes,Q6e=Rb.ERR_INVALID_ARG_TYPE,v6e=Rb.ERR_STREAM_PUSH_AFTER_EOF,S6e=Rb.ERR_METHOD_NOT_IMPLEMENTED,k6e=Rb.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ph,GT,jT;Tl()(Ut,eE);var tE=HT.errorOrDestroy,YT=["error","close","destroy","pause","resume"];function x6e(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function $ce(t,e,r){hh=hh||Su(),t=t||{},typeof r!="boolean"&&(r=e instanceof hh),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=b6e(this,t,"readableHighWaterMark",r),this.buffer=new w6e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(ph||(ph=MT().StringDecoder),this.decoder=new ph(t.encoding),this.encoding=t.encoding)}function Ut(t){if(hh=hh||Su(),!(this instanceof Ut))return new Ut(t);var e=this instanceof hh;this._readableState=new $ce(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),eE.call(this)}Object.defineProperty(Ut.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ut.prototype.destroy=HT.destroy;Ut.prototype._undestroy=HT.undestroy;Ut.prototype._destroy=function(t,e){e(t)};Ut.prototype.push=function(t,e){var r=this._readableState,i;return r.objectMode?i=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=Db.from(t,e),e=""),i=!0),tue(this,t,e,!1,i)};Ut.prototype.unshift=function(t){return tue(this,t,null,!0,!1)};function tue(t,e,r,i,n){xt("readableAddChunk",e);var s=t._readableState;if(e===null)s.reading=!1,D6e(t,s);else{var o;if(n||(o=P6e(s,e)),o)tE(t,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==Db.prototype&&(e=I6e(e)),i)s.endEmitted?tE(t,new k6e):qT(t,s,e,!0);else if(s.ended)tE(t,new v6e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||e.length!==0?qT(t,s,e,!1):JT(t,s)):qT(t,s,e,!1)}else i||(s.reading=!1,JT(t,s))}return!s.ended&&(s.length=rue?t=rue:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function iue(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=R6e(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}Ut.prototype.read=function(t){xt("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return xt("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?WT(this):Fb(this),null;if(t=iue(t,e),t===0&&e.ended)return e.length===0&&WT(this),null;var i=e.needReadable;xt("need readable",i),(e.length===0||e.length-t0?n=nue(t,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&WT(this)),n!==null&&this.emit("data",n),n};function D6e(t,e){if(xt("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?Fb(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,sue(t)))}}function Fb(t){var e=t._readableState;xt("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(xt("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(sue,t))}function sue(t){var e=t._readableState;xt("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,zT(t)}function JT(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(F6e,t,e))}function F6e(t,e){for(;!e.reading&&!e.ended&&(e.length1&&oue(i.pipes,t)!==-1)&&!c&&(xt("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(y){xt("onerror",y),m(),t.removeListener("error",f),eue(t,"error")===0&&tE(t,y)}x6e(t,"error",f);function h(){t.removeListener("finish",p),m()}t.once("close",h);function p(){xt("onfinish"),t.removeListener("close",h),m()}t.once("finish",p);function m(){xt("unpipe"),r.unpipe(t)}return t.emit("pipe",r),i.flowing||(xt("pipe resume"),r.resume()),t};function N6e(t){return function(){var r=t._readableState;xt("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&eue(t,"data")&&(r.flowing=!0,zT(t))}}Ut.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):t==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,xt("on readable",i.length,i.reading),i.length?Fb(this):i.reading||process.nextTick(L6e,this)),r};Ut.prototype.addListener=Ut.prototype.on;Ut.prototype.removeListener=function(t,e){var r=eE.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(aue,this),r};Ut.prototype.removeAllListeners=function(t){var e=eE.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(aue,this),e};function aue(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function L6e(t){xt("readable nexttick read 0"),t.read(0)}Ut.prototype.resume=function(){var t=this._readableState;return t.flowing||(xt("resume"),t.flowing=!t.readableListening,T6e(this,t)),t.paused=!1,this};function T6e(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(O6e,t,e))}function O6e(t,e){xt("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),zT(t),e.flowing&&!e.reading&&t.read(0)}Ut.prototype.pause=function(){return xt("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(xt("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function zT(t){var e=t._readableState;for(xt("flow",e.flowing);e.flowing&&t.read()!==null;);}Ut.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;t.on("end",function(){if(xt("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),t.on("data",function(o){if(xt("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,t.pause())}});for(var n in t)this[n]===void 0&&typeof t[n]=="function"&&(this[n]=function(a){return function(){return t[a].apply(t,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function WT(t){var e=t._readableState;xt("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(M6e,e,t))}function M6e(t,e){if(xt("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(Ut.from=function(t,e){return jT===void 0&&(jT=Xce()),jT(Ut,t,e)});function oue(t,e){for(var r=0,i=t.length;r{"use strict";Aue.exports=QA;var Nb=Ll().codes,K6e=Nb.ERR_METHOD_NOT_IMPLEMENTED,U6e=Nb.ERR_MULTIPLE_CALLBACK,H6e=Nb.ERR_TRANSFORM_ALREADY_TRANSFORMING,G6e=Nb.ERR_TRANSFORM_WITH_LENGTH_0,Lb=Su();Tl()(QA,Lb);function j6e(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new U6e);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";cue.exports=rE;var uue=_T();Tl()(rE,uue);function rE(t){if(!(this instanceof rE))return new rE(t);uue.call(this,t)}rE.prototype._transform=function(t,e,r){r(null,t)}});var Cue=w((ixt,fue)=>{"use strict";var VT;function q6e(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var hue=Ll().codes,J6e=hue.ERR_MISSING_ARGS,W6e=hue.ERR_STREAM_DESTROYED;function pue(t){if(t)throw t}function z6e(t){return t.setHeader&&typeof t.abort=="function"}function _6e(t,e,r,i){i=q6e(i);var n=!1;t.on("close",function(){n=!0}),VT===void 0&&(VT=kb()),VT(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,z6e(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();i(o||new W6e("pipe"))}}}function due(t){t()}function V6e(t,e){return t.pipe(e)}function X6e(t){return!t.length||typeof t[t.length-1]!="function"?pue:t.pop()}function Z6e(){for(var t=arguments.length,e=new Array(t),r=0;r0;return _6e(o,l,c,function(u){n||(n=u),u&&s.forEach(due),!l&&(s.forEach(due),i(n))})});return e.reduce(V6e)}fue.exports=Z6e});var dh=w((_s,iE)=>{var nE=require("stream");process.env.READABLE_STREAM==="disable"&&nE?(iE.exports=nE.Readable,Object.assign(iE.exports,nE),iE.exports.Stream=nE):(_s=iE.exports=RT(),_s.Stream=nE||_s,_s.Readable=_s,_s.Writable=DT(),_s.Duplex=Su(),_s.Transform=_T(),_s.PassThrough=gue(),_s.finished=kb(),_s.pipeline=Cue())});var Iue=w((nxt,mue)=>{"use strict";var{Buffer:Qo}=require("buffer"),Eue=Symbol.for("BufferList");function mr(t){if(!(this instanceof mr))return new mr(t);mr._init.call(this,t)}mr._init=function(e){Object.defineProperty(this,Eue,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};mr.prototype._new=function(e){return new mr(e)};mr.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let i=0;ithis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};mr.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};mr.prototype.copy=function(e,r,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||Qo.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&r||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Qo.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};mr.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let i=this._offset(e),n=this._offset(r),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};mr.prototype.toString=function(e,r,i){return this.slice(r,i).toString(e)};mr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};mr.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=t.length){let l=o.indexOf(t,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-t.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,t))return l;s++}s=0}return-1};mr.prototype._match=function(t,e){if(this.length-t{"use strict";var XT=dh().Duplex,$6e=Tl(),sE=Iue();function Zi(t){if(!(this instanceof Zi))return new Zi(t);if(typeof t=="function"){this._callback=t;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),t=null}sE._init.call(this,t),XT.call(this)}$6e(Zi,XT);Object.assign(Zi.prototype,sE.prototype);Zi.prototype._new=function(e){return new Zi(e)};Zi.prototype._write=function(e,r,i){this._appendBuffer(e),typeof i=="function"&&i()};Zi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Zi.prototype.end=function(e){XT.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Zi.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Zi.prototype._isBufferList=function(e){return e instanceof Zi||e instanceof sE||Zi.isBufferList(e)};Zi.isBufferList=sE.isBufferList;Tb.exports=Zi;Tb.exports.BufferListStream=Zi;Tb.exports.BufferList=sE});var eO=w(Ch=>{var eVe=Buffer.alloc,tVe="0000000000000000000",rVe="7777777777777777777",wue="0".charCodeAt(0),Bue=Buffer.from("ustar\0","binary"),iVe=Buffer.from("00","binary"),nVe=Buffer.from("ustar ","binary"),sVe=Buffer.from(" \0","binary"),oVe=parseInt("7777",8),oE=257,ZT=263,aVe=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},AVe=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},lVe=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},bue=function(t,e,r,i){for(;re?rVe.slice(0,e)+" ":tVe.slice(0,e-t.length)+t+" "};function cVe(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],i=t.length-1;i>0;i--){var n=t[i];e?r.push(n):r.push(255-n)}var s=0,o=r.length;for(i=0;i=Math.pow(10,r)&&r++,e+r+t};Ch.decodeLongPath=function(t,e){return mh(t,0,t.length,e)};Ch.encodePax=function(t){var e="";t.name&&(e+=$T(" path="+t.name+` +`)),t.linkname&&(e+=$T(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var i in r)e+=$T(" "+i+"="+r[i]+` +`);return Buffer.from(e)};Ch.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var n=r.indexOf("/");if(n===-1)return null;i+=i?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(i)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(Hl(t.mode&oVe,6),100),e.write(Hl(t.uid,6),108),e.write(Hl(t.gid,6),116),e.write(Hl(t.size,11),124),e.write(Hl(t.mtime.getTime()/1e3|0,11),136),e[156]=wue+lVe(t.type),t.linkname&&e.write(t.linkname,157),Bue.copy(e,oE),iVe.copy(e,ZT),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(Hl(t.devmajor||0,6),329),e.write(Hl(t.devminor||0,6),337),i&&e.write(i,345),e.write(Hl(Que(e),6),148),e)};Ch.decode=function(t,e,r){var i=t[156]===0?0:t[156]-wue,n=mh(t,0,100,e),s=Gl(t,100,8),o=Gl(t,108,8),a=Gl(t,116,8),l=Gl(t,124,12),c=Gl(t,136,12),u=AVe(i),g=t[157]===0?null:mh(t,157,100,e),f=mh(t,265,32),h=mh(t,297,32),p=Gl(t,329,8),m=Gl(t,337,8),y=Que(t);if(y===8*32)return null;if(y!==Gl(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(Bue.compare(t,oE,oE+6)===0)t[345]&&(n=mh(t,345,155,e)+"/"+n);else if(!(nVe.compare(t,oE,oE+6)===0&&sVe.compare(t,ZT,ZT+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:m}}});var Rue=w((axt,vue)=>{var Sue=require("util"),uVe=yue(),aE=eO(),kue=dh().Writable,xue=dh().PassThrough,Pue=function(){},Due=function(t){return t&=511,t&&512-t},gVe=function(t,e){var r=new Ob(t,e);return r.end(),r},fVe=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},Ob=function(t,e){this._parent=t,this.offset=e,xue.call(this,{autoDestroy:!1})};Sue.inherits(Ob,xue);Ob.prototype.destroy=function(t){this._parent.destroy(t)};var vA=function(t){if(!(this instanceof vA))return new vA(t);kue.call(this,t),t=t||{},this._offset=0,this._buffer=uVe(),this._missing=0,this._partial=!1,this._onparse=Pue,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=Due(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Due(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=aE.decodePax(r.slice(0,f)),r.consume(f),s()},l=function(){var f=e._header.size;e._pax=aE.decodePax(r.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=aE.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=aE.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=aE.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(p){e.emit("error",p)}if(r.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=fVe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,gVe(e,f),n);return}e._stream=new Ob(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};Sue.inherits(vA,kue);vA.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};vA.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};vA.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=Pue,this._overflow?this._write(this._overflow,void 0,t):t()}};vA.prototype._write=function(t,e,r){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(t.length&&(this._partial=!0),t.lengths&&(o=t.slice(s),t=t.slice(0,s)),i?i.end(t):n.append(t),this._overflow=o,this._onparse()}};vA.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};vue.exports=vA});var Nue=w((Axt,Fue)=>{Fue.exports=require("fs").constants||require("constants")});var Kue=w((lxt,Lue)=>{var Eh=Nue(),Tue=Vx(),Mb=Tl(),hVe=Buffer.alloc,Oue=dh().Readable,Ih=dh().Writable,pVe=require("string_decoder").StringDecoder,Kb=eO(),dVe=parseInt("755",8),CVe=parseInt("644",8),Mue=hVe(1024),tO=function(){},rO=function(t,e){e&=511,e&&t.push(Mue.slice(0,512-e))};function mVe(t){switch(t&Eh.S_IFMT){case Eh.S_IFBLK:return"block-device";case Eh.S_IFCHR:return"character-device";case Eh.S_IFDIR:return"directory";case Eh.S_IFIFO:return"fifo";case Eh.S_IFLNK:return"symlink"}return"file"}var Ub=function(t){Ih.call(this),this.written=0,this._to=t,this._destroyed=!1};Mb(Ub,Ih);Ub.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};Ub.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Hb=function(){Ih.call(this),this.linkname="",this._decoder=new pVe("utf-8"),this._destroyed=!1};Mb(Hb,Ih);Hb.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};Hb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var AE=function(){Ih.call(this),this._destroyed=!1};Mb(AE,Ih);AE.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};AE.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Ca=function(t){if(!(this instanceof Ca))return new Ca(t);Oue.call(this,t),this._drain=tO,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Mb(Ca,Oue);Ca.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=tO);var i=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=mVe(t.mode)),t.mode||(t.mode=t.type==="directory"?dVe:CVe),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var n=this.push(e);return rO(i,t.size),n?process.nextTick(r):this._drain=r,new AE}if(t.type==="symlink"&&!t.linkname){var s=new Hb;return Tue(s,function(a){if(a)return i.destroy(),r(a);t.linkname=s.linkname,i._encode(t),r()}),s}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new AE;var o=new Ub(this);return this._stream=o,Tue(o,function(a){if(i._stream=null,a)return i.destroy(),r(a);if(o.written!==t.size)return i.destroy(),r(new Error("size mismatch"));rO(i,t.size),i._finalizing&&i.finalize(),r()}),o}};Ca.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(Mue),this.push(null))};Ca.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};Ca.prototype._encode=function(t){if(!t.pax){var e=Kb.encode(t);if(e){this.push(e);return}}this._encodePax(t)};Ca.prototype._encodePax=function(t){var e=Kb.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(Kb.encode(r)),this.push(e),rO(this,e.length),r.size=t.size,r.type=t.type,this.push(Kb.encode(r))};Ca.prototype._read=function(t){var e=this._drain;this._drain=tO,e()};Lue.exports=Ca});var Uue=w(iO=>{iO.extract=Rue();iO.pack=Kue()});var $ue=w((Rxt,_ue)=>{"use strict";var yh=class{constructor(e,r,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=r||{},this.__providers=Xue(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return lO(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[i,n]of this.entries())e.call(r,n,i,this)}toJSON(){let e={};return this.forEach((r,i)=>{e[i]=r}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let r=e||this.__opts.other;if(r){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(r):DVe(n);for(let[o,a]of s)r(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new yh(this.__specs,this.__opts,Xue(this.__providers).concat(e)),Vue)}};try{let t=require("util");yh.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch(t){}function RVe(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function lO(t,e,r){let i=t.__specs[e];if(r&&!i&&(!t.__opts.other||!t.__opts.other(e)))RVe(e);else{i||(i={});let n;for(let s of t.__providers){if(n=Zue(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=Zue(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(t):i.default:n}}function Zue(t,e){let r;return e.__isFiggyPudding?r=lO(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var Vue={has(t,e){return e in t.__specs&&lO(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in yh.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};_ue.exports=FVe;function FVe(t,e){function r(...i){return new Proxy(new yh(t,e,i),Vue)}return r}function Xue(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function DVe(t){return Object.keys(t).map(e=>[e,t[e]])}});var rge=w((Fxt,ma)=>{"use strict";var cE=require("crypto"),NVe=$ue(),LVe=require("stream").Transform,ege=["sha256","sha384","sha512"],TVe=/^[a-z0-9+/]+(?:=?=?)$/i,OVe=/^([^-]+)-([^?]+)([?\S*]*)$/,MVe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,KVe=/^[\x21-\x7E]+$/,Cn=NVe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>UVe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Du=class{get isHash(){return!0}constructor(e,r){r=Cn(r);let i=!!r.strict;this.source=e.trim();let n=this.source.match(i?MVe:OVe);if(!n||i&&!ege.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=Cn(e),e.strict&&!(ege.some(i=>i===this.algorithm)&&this.digest.match(TVe)&&(this.options||[]).every(i=>i.match(KVe))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},wh=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=Cn(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>Du.prototype.toString.call(n,e)).filter(n=>n.length).join(r)).filter(i=>i.length).join(r)}concat(e,r){r=Cn(r);let i=typeof e=="string"?e:uE(e,r);return Ea(`${this.toString(r)} ${i}`,r)}hexDigest(){return Ea(this,{single:!0}).hexDigest()}match(e,r){r=Cn(r);let i=Ea(e,r),n=i.pickAlgorithm(r);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=Cn(e);let r=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>r(n,s)||n)}};ma.exports.parse=Ea;function Ea(t,e){if(e=Cn(e),typeof t=="string")return cO(t,e);if(t.algorithm&&t.digest){let r=new wh;return r[t.algorithm]=[t],cO(uE(r,e),e)}else return cO(uE(t,e),e)}function cO(t,e){return e.single?new Du(t,e):t.trim().split(/\s+/).reduce((r,i)=>{let n=new Du(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;r[s]||(r[s]=[]),r[s].push(n)}return r},new wh)}ma.exports.stringify=uE;function uE(t,e){return e=Cn(e),t.algorithm&&t.digest?Du.prototype.toString.call(t,e):typeof t=="string"?uE(Ea(t,e),e):wh.prototype.toString.call(t,e)}ma.exports.fromHex=HVe;function HVe(t,e,r){r=Cn(r);let i=r.options&&r.options.length?`?${r.options.join("?")}`:"";return Ea(`${e}-${Buffer.from(t,"hex").toString("base64")}${i}`,r)}ma.exports.fromData=GVe;function GVe(t,e){e=Cn(e);let r=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((n,s)=>{let o=cE.createHash(s).update(t).digest("base64"),a=new Du(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new wh)}ma.exports.fromStream=jVe;function jVe(t,e){e=Cn(e);let r=e.Promise||Promise,i=uO(e);return new r((n,s)=>{t.pipe(i),t.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}ma.exports.checkData=YVe;function YVe(t,e,r){if(r=Cn(r),e=Ea(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(r),n=cE.createHash(i).update(t).digest("base64"),s=Ea({algorithm:i,digest:n}),o=s.match(e,r);if(o||!r.error)return o;if(typeof r.size=="number"&&t.length!==r.size){let a=new Error(`data size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}ma.exports.checkStream=qVe;function qVe(t,e,r){r=Cn(r);let i=r.Promise||Promise,n=uO(r.concat({integrity:e}));return new i((s,o)=>{t.pipe(n),t.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}ma.exports.integrityStream=uO;function uO(t){t=Cn(t);let e=t.integrity&&Ea(t.integrity,t),r=e&&Object.keys(e).length,i=r&&e.pickAlgorithm(t),n=r&&e[i],s=Array.from(new Set(t.algorithms.concat(i?[i]:[]))),o=s.map(cE.createHash),a=0,l=new LVe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=t.options&&t.options.length?`?${t.options.join("?")}`:"",u=Ea(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),t),g=r&&u.match(e,t);if(typeof t.size=="number"&&a!==t.size){let f=new Error(`stream size mismatch when checking ${e}. + Wanted: ${t.size} + Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=t.size,f.sri=e,l.emit("error",f)}else if(t.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}ma.exports.create=JVe;function JVe(t){t=Cn(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(cE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new Du(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new wh)}}}var WVe=new Set(cE.getHashes()),tge=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>WVe.has(t));function UVe(t,e){return tge.indexOf(t.toLowerCase())>=tge.indexOf(e.toLowerCase())?t:e}});var vC={};ft(vC,{BuildType:()=>ls,Cache:()=>Nt,Configuration:()=>we,DEFAULT_LOCK_FILENAME:()=>Qx,DEFAULT_RC_FILENAME:()=>bx,FormatType:()=>Di,InstallMode:()=>di,LightReport:()=>gA,LinkType:()=>Qt,Manifest:()=>At,MessageName:()=>$,MultiFetcher:()=>wd,PackageExtensionStatus:()=>qi,PackageExtensionType:()=>yi,Project:()=>ze,ProjectLookup:()=>al,Report:()=>Ji,ReportError:()=>ct,SettingsType:()=>ye,StreamReport:()=>Je,TAG_REGEXP:()=>qg,TelemetryManager:()=>QC,ThrowReport:()=>pi,VirtualFetcher:()=>bd,Workspace:()=>bC,WorkspaceFetcher:()=>Qd,WorkspaceResolver:()=>oi,YarnVersion:()=>Kr,execUtils:()=>Fr,folderUtils:()=>Cx,formatUtils:()=>Ae,hashUtils:()=>Dn,httpUtils:()=>ir,miscUtils:()=>ve,nodeUtils:()=>Wg,parseMessageName:()=>bI,scriptUtils:()=>Zt,semverUtils:()=>Wt,stringifyMessageName:()=>qA,structUtils:()=>P,tgzUtils:()=>wi,treeUtils:()=>As});var Fr={};ft(Fr,{EndStrategy:()=>ns,ExecError:()=>Rx,PipeError:()=>vw,execvp:()=>mke,pipevp:()=>$o});var $h={};ft($h,{AliasFS:()=>Da,CwdFS:()=>_t,DEFAULT_COMPRESSION_LEVEL:()=>nc,FakeFS:()=>HA,Filename:()=>Pt,JailFS:()=>Ra,LazyFS:()=>Vh,LinkStrategy:()=>Yh,NoFS:()=>_E,NodeFS:()=>ar,PortablePath:()=>Ke,PosixFS:()=>Xh,ProxiedFS:()=>bi,VirtualFS:()=>Wr,ZipFS:()=>Ai,ZipOpenFS:()=>Es,constants:()=>Dr,extendFs:()=>XE,normalizeLineEndings:()=>ec,npath:()=>H,opendir:()=>JE,patchFs:()=>SQ,ppath:()=>x,statUtils:()=>hQ,toFilename:()=>Jr,xfs:()=>K});var Dr={};ft(Dr,{SAFE_TIME:()=>fQ,S_IFDIR:()=>ka,S_IFLNK:()=>Pa,S_IFMT:()=>_n,S_IFREG:()=>xa});var _n=61440,ka=16384,xa=32768,Pa=40960,fQ=456789e3;var hQ={};ft(hQ,{BigIntStatsEntry:()=>Hh,DEFAULT_MODE:()=>Uh,DirEntry:()=>oM,StatEntry:()=>KA,areStatsEqual:()=>dQ,clearStats:()=>KE,convertToBigIntStats:()=>UE,makeDefaultStats:()=>Gh,makeEmptyStats:()=>pfe});var pQ=ge(require("util"));var Uh=xa|420,oM=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&_n)===ka}isFIFO(){return!1}isFile(){return(this.mode&_n)===xa}isSocket(){return!1}isSymbolicLink(){return(this.mode&_n)===Pa}},KA=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Uh;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&_n)===ka}isFIFO(){return!1}isFile(){return(this.mode&_n)===xa}isSocket(){return!1}isSymbolicLink(){return(this.mode&_n)===Pa}},Hh=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Uh);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(_n))===BigInt(ka)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(_n))===BigInt(xa)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(_n))===BigInt(Pa)}};function Gh(){return new KA}function pfe(){return KE(Gh())}function KE(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):pQ.types.isDate(r)&&(t[e]=new Date(0))}return t}function UE(t){let e=new Hh;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):pQ.types.isDate(i)&&(e[r]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function dQ(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,i=e;return!(r.atimeNs!==i.atimeNs||r.mtimeNs!==i.mtimeNs||r.ctimeNs!==i.ctimeNs||r.birthtimeNs!==i.birthtimeNs)}var GE=ge(require("fs"));var jh=ge(require("path")),aM;(function(i){i[i.File=0]="File",i[i.Portable=1]="Portable",i[i.Native=2]="Native"})(aM||(aM={}));var Ke={root:"/",dot:"."},Pt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},H=Object.create(jh.default),x=Object.create(jh.default.posix);H.cwd=()=>process.cwd();x.cwd=()=>CQ(process.cwd());x.resolve=(...t)=>t.length>0&&x.isAbsolute(t[0])?jh.default.posix.resolve(...t):jh.default.posix.resolve(x.cwd(),...t);var AM=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};H.fromPortablePath=lM;H.toPortablePath=CQ;H.contains=(t,e)=>AM(H,t,e);x.contains=(t,e)=>AM(x,t,e);var dfe=/^([a-zA-Z]:.*)$/,Cfe=/^\/\/(\.\/)?(.*)$/,mfe=/^\/([a-zA-Z]:.*)$/,Efe=/^\/unc\/(\.dot\/)?(.*)$/;function lM(t){if(process.platform!=="win32")return t;let e,r;if(e=t.match(mfe))t=e[1];else if(r=t.match(Efe))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function CQ(t){if(process.platform!=="win32")return t;t=t.replace(/\\/g,"/");let e,r;return(e=t.match(dfe))?t=`/${e[1]}`:(r=t.match(Cfe))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function HE(t,e){return t===H?lM(e):CQ(e)}function Jr(t){if(H.parse(t).dir!==""||x.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var jE=new Date(fQ*1e3),Yh;(function(r){r.Allow="allow",r.ReadOnly="readOnly"})(Yh||(Yh={}));async function cM(t,e,r,i,n){let s=t.pathUtils.normalize(e),o=r.pathUtils.normalize(i),a=[],l=[],{atime:c,mtime:u}=n.stableTime?{atime:jE,mtime:jE}:await r.lstatPromise(o);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[c,u]});let g=typeof t.lutimesPromise=="function"?t.lutimesPromise.bind(t):t.utimesPromise.bind(t);await mQ(a,l,g,t,s,r,o,ie(N({},n),{didParentExist:!0}));for(let f of a)await f();await Promise.all(l.map(f=>f()))}async function mQ(t,e,r,i,n,s,o,a){var h,p;let l=a.didParentExist?await Ife(i,n):null,c=await s.lstatPromise(o),{atime:u,mtime:g}=a.stableTime?{atime:jE,mtime:jE}:c,f;switch(!0){case c.isDirectory():f=await yfe(t,e,r,i,n,l,s,o,c,a);break;case c.isFile():f=await wfe(t,e,r,i,n,l,s,o,c,a);break;case c.isSymbolicLink():f=await Bfe(t,e,r,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(f||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==g.getTime()||((p=l==null?void 0:l.atime)==null?void 0:p.getTime())!==u.getTime())&&(e.push(()=>r(n,u,g)),f=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),f=!0),f}async function Ife(t,e){try{return await t.lstatPromise(e)}catch(r){return null}}async function yfe(t,e,r,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(t.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(h){if(h.code!=="EEXIST")throw h}}),u=!0);let g=await o.readdirPromise(a),f=c.didParentExist&&!s?ie(N({},c),{didParentExist:!1}):c;if(c.stableSort)for(let h of g.sort())await mQ(t,e,r,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),f)&&(u=!0);else(await Promise.all(g.map(async p=>{await mQ(t,e,r,i,i.pathUtils.join(n,p),o,o.pathUtils.join(a,p),f)}))).some(p=>p)&&(u=!0);return u}var EQ=new WeakMap;function IQ(t,e,r,i,n){return async()=>{await t.linkPromise(r,e),n===Yh.ReadOnly&&(i.mode&=~146,await t.chmodPromise(e,i.mode))}}function bfe(t,e,r,i,n){let s=EQ.get(t);return typeof s=="undefined"?async()=>{try{await t.copyFilePromise(r,e,GE.default.constants.COPYFILE_FICLONE_FORCE),EQ.set(t,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")EQ.set(t,!1),await IQ(t,e,r,i,n)();else throw o}}:s?async()=>t.copyFilePromise(r,e,GE.default.constants.COPYFILE_FICLONE_FORCE):IQ(t,e,r,i,n)}async function wfe(t,e,r,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?bfe(i,n,a,l,u):async()=>i.copyFilePromise(a,n,GE.default.constants.COPYFILE_FICLONE):u!==null?IQ(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return t.push(async()=>g()),!0}async function Bfe(t,e,r,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;return t.push(async()=>{await i.symlinkPromise(HE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function ms(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function YE(t){return ms("EBUSY",t)}function qh(t,e){return ms("ENOSYS",`${t}, ${e}`)}function UA(t){return ms("EINVAL",`invalid argument, ${t}`)}function en(t){return ms("EBADF",`bad file descriptor, ${t}`)}function ro(t){return ms("ENOENT",`no such file or directory, ${t}`)}function Do(t){return ms("ENOTDIR",`not a directory, ${t}`)}function Jh(t){return ms("EISDIR",`illegal operation on a directory, ${t}`)}function qE(t){return ms("EEXIST",`file already exists, ${t}`)}function In(t){return ms("EROFS",`read-only filesystem, ${t}`)}function uM(t){return ms("ENOTEMPTY",`directory not empty, ${t}`)}function gM(t){return ms("EOPNOTSUPP",`operation not supported, ${t}`)}function fM(){return ms("ERR_DIR_CLOSED","Directory handle was closed")}var yQ=class extends Error{constructor(e,r){super(e);this.name="Libzip Error",this.code=r}};var hM=class{constructor(e,r,i={}){this.path=e;this.nextDirent=r;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw fM()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e!="undefined"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!="undefined"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}};function JE(t,e,r,i){let n=()=>{let s=r.shift();return typeof s=="undefined"?null:Object.assign(t.statSync(t.pathUtils.join(e,s)),{name:s})};return new hM(e,n,i)}var pM=ge(require("os"));var HA=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(r)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:r=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(r){let s=await this.readdirPromise(e);await Promise.all(s.map(o=>this.removePromise(this.pathUtils.resolve(e,o))))}for(let s=0;s<=i;s++)try{await this.rmdirPromise(e);break}catch(o){if(o.code!=="EBUSY"&&o.code!=="ENOTEMPTY")throw o;ssetTimeout(a,s*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let i;try{i=this.lstatSync(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(i.isDirectory()){if(r)for(let n of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,n));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep);for(let s=2;s<=n.length;++s){let o=n.slice(0,s).join(this.pathUtils.sep);if(!this.existsSync(o)){try{await this.mkdirPromise(o)}catch(a){if(a.code==="EEXIST")continue;throw a}if(r!=null&&await this.chmodPromise(o,r),i!=null)await this.utimesPromise(o,i[0],i[1]);else{let a=await this.statPromise(this.pathUtils.dirname(o));await this.utimesPromise(o,a.atime,a.mtime)}}}}mkdirpSync(e,{chmod:r,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep);for(let s=2;s<=n.length;++s){let o=n.slice(0,s).join(this.pathUtils.sep);if(!this.existsSync(o)){try{this.mkdirSync(o)}catch(a){if(a.code==="EEXIST")continue;throw a}if(r!=null&&this.chmodSync(o,r),i!=null)this.utimesSync(o,i[0],i[1]);else{let a=this.statSync(this.pathUtils.dirname(o));this.utimesSync(o,a.atime,a.mtime)}}}}async copyPromise(e,r,{baseFs:i=this,overwrite:n=!0,stableSort:s=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await cM(this,e,i,r,{overwrite:n,stableSort:s,stableTime:o,linkStrategy:a})}copySync(e,r,{baseFs:i=this,overwrite:n=!0}={}){let s=i.lstatSync(r),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);let l=i.readdirSync(r);for(let c of l)this.copySync(this.pathUtils.join(e,c),i.pathUtils.join(r,c),{baseFs:i,overwrite:n})}else if(s.isFile()){if(!o||n){o&&this.removeSync(e);let l=i.readFileSync(r);this.writeFileSync(e,l)}}else if(s.isSymbolicLink()){if(!o||n){o&&this.removeSync(e);let l=i.readlinkSync(r);this.symlinkSync(HE(this.pathUtils,l),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${s.mode.toString(8).padStart(6,"0")})`);let a=s.mode&511;this.chmodSync(e,a)}async changeFilePromise(e,r,i={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,i):this.changeFileTextPromise(e,r,i)}async changeFileBufferPromise(e,r,{mode:i}={}){let n=Buffer.alloc(0);try{n=await this.readFilePromise(e)}catch(s){}Buffer.compare(n,r)!==0&&await this.writeFilePromise(e,r,{mode:i})}async changeFileTextPromise(e,r,{automaticNewlines:i,mode:n}={}){let s="";try{s=await this.readFilePromise(e,"utf8")}catch(a){}let o=i?ec(s,r):r;s!==o&&await this.writeFilePromise(e,o,{mode:n})}changeFileSync(e,r,i={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,i):this.changeFileTextSync(e,r,i)}changeFileBufferSync(e,r,{mode:i}={}){let n=Buffer.alloc(0);try{n=this.readFileSync(e)}catch(s){}Buffer.compare(n,r)!==0&&this.writeFileSync(e,r,{mode:i})}changeFileTextSync(e,r,{automaticNewlines:i=!1,mode:n}={}){let s="";try{s=this.readFileSync(e,"utf8")}catch(a){}let o=i?ec(s,r):r;s!==o&&this.writeFileSync(e,o,{mode:n})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(i){if(i.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw i}}moveSync(e,r){try{this.renameSync(e,r)}catch(i){if(i.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw i}}async lockPromise(e,r){let i=`${e}.flock`,n=1e3/60,s=Date.now(),o=null,a=async()=>{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} +`)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} +`)}async preserveTimePromise(e,r){let i=await this.lstatPromise(e),n=await r();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,r){let i=this.lstatSync(e),n=r();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},tc=class extends HA{constructor(){super(x)}};function Qfe(t){let e=t.match(/\r?\n/g);if(e===null)return pM.EOL;let r=e.filter(n=>n===`\r +`).length,i=e.length-r;return r>i?`\r +`:` +`}function ec(t,e){return e.replace(/\r?\n/g,Qfe(t))}var Ju=ge(require("fs")),wQ=ge(require("stream")),EM=ge(require("util")),BQ=ge(require("zlib"));var dM=ge(require("fs"));var ar=class extends tc{constructor(e=dM.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Ke.root}resolve(e){return x.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(H.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(H.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(H.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(H.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,r){let i=typeof r!="undefined"?this.realFs.opendirSync(H.fromPortablePath(e),r):this.realFs.opendirSync(H.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,r,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,r,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,r,i,n,s){return this.realFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return await new Promise((o,a)=>typeof r=="string"?this.realFs.write(e,r,i,this.makeCallback(o,a)):this.realFs.write(e,r,i,n,s,this.makeCallback(o,a)))}writeSync(e,r,i,n,s){return typeof r=="string"?this.realFs.writeSync(e,r,i):this.realFs.writeSync(e,r,i,n,s)}async closePromise(e){await new Promise((r,i)=>{this.realFs.close(e,this.makeCallback(r,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let i=e!==null?H.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?H.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(H.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>H.toPortablePath(r))}realpathSync(e){return H.toPortablePath(this.realFs.realpathSync(H.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(H.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(H.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(H.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(H.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(H.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(H.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(H.fromPortablePath(e),r):this.realFs.statSync(H.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.fstat(e,r,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.lstat(H.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(H.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(H.fromPortablePath(e),r):this.realFs.lstatSync(H.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(H.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(H.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(H.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(H.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(H.fromPortablePath(e),H.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(H.fromPortablePath(e),H.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(H.fromPortablePath(e),H.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(H.fromPortablePath(e),H.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?H.fromPortablePath(e):e;i?this.realFs.appendFile(o,r,i,this.makeCallback(n,s)):this.realFs.appendFile(o,r,this.makeCallback(n,s))})}appendFileSync(e,r,i){let n=typeof e=="string"?H.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,r,i):this.realFs.appendFileSync(n,r)}async writeFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?H.fromPortablePath(e):e;i?this.realFs.writeFile(o,r,i,this.makeCallback(n,s)):this.realFs.writeFile(o,r,this.makeCallback(n,s))})}writeFileSync(e,r,i){let n=typeof e=="string"?H.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,r,i):this.realFs.writeFileSync(n,r)}async unlinkPromise(e){return await new Promise((r,i)=>{this.realFs.unlink(H.fromPortablePath(e),this.makeCallback(r,i))})}unlinkSync(e){return this.realFs.unlinkSync(H.fromPortablePath(e))}async utimesPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.utimes(H.fromPortablePath(e),r,i,this.makeCallback(n,s))})}utimesSync(e,r,i){this.realFs.utimesSync(H.fromPortablePath(e),r,i)}async lutimesPromiseImpl(e,r,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw qh("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,H.fromPortablePath(e),r,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,r,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw qh("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,H.fromPortablePath(e),r,i)}async mkdirPromise(e,r){return await new Promise((i,n)=>{this.realFs.mkdir(H.fromPortablePath(e),r,this.makeCallback(i,n))})}mkdirSync(e,r){return this.realFs.mkdirSync(H.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.rmdir(H.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.rmdir(H.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,r){return this.realFs.rmdirSync(H.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((i,n)=>{this.realFs.link(H.fromPortablePath(e),H.fromPortablePath(r),this.makeCallback(i,n))})}linkSync(e,r){return this.realFs.linkSync(H.fromPortablePath(e),H.fromPortablePath(r))}async symlinkPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.symlink(H.fromPortablePath(e.replace(/\/+$/,"")),H.fromPortablePath(r),i,this.makeCallback(n,s))})}symlinkSync(e,r,i){return this.realFs.symlinkSync(H.fromPortablePath(e.replace(/\/+$/,"")),H.fromPortablePath(r),i)}async readFilePromise(e,r){return await new Promise((i,n)=>{let s=typeof e=="string"?H.fromPortablePath(e):e;this.realFs.readFile(s,r,this.makeCallback(i,n))})}readFileSync(e,r){let i=typeof e=="string"?H.fromPortablePath(e):e;return this.realFs.readFileSync(i,r)}async readdirPromise(e,r){return await new Promise((i,n)=>{(r==null?void 0:r.withFileTypes)?this.realFs.readdir(H.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(H.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,r){return(r==null?void 0:r.withFileTypes)?this.realFs.readdirSync(H.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(H.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,i)=>{this.realFs.readlink(H.fromPortablePath(e),this.makeCallback(r,i))}).then(r=>H.toPortablePath(r))}readlinkSync(e){return H.toPortablePath(this.realFs.readlinkSync(H.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((i,n)=>{this.realFs.truncate(H.fromPortablePath(e),r,this.makeCallback(i,n))})}truncateSync(e,r){return this.realFs.truncateSync(H.fromPortablePath(e),r)}watch(e,r,i){return this.realFs.watch(H.fromPortablePath(e),r,i)}watchFile(e,r,i){return this.realFs.watchFile(H.fromPortablePath(e),r,i)}unwatchFile(e,r){return this.realFs.unwatchFile(H.fromPortablePath(e),r)}makeCallback(e,r){return(i,n)=>{i?r(i):e(n)}}};var CM=ge(require("events"));var rc;(function(r){r.Change="change",r.Stop="stop"})(rc||(rc={}));var ic;(function(i){i.Ready="ready",i.Running="running",i.Stopped="stopped"})(ic||(ic={}));function mM(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var Wh=class extends CM.EventEmitter{constructor(e,r,{bigint:i=!1}={}){super();this.status=ic.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=r,this.bigint=i,this.lastStats=this.stat()}static create(e,r,i){let n=new Wh(e,r,i);return n.start(),n}start(){mM(this.status,ic.Ready),this.status=ic.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(rc.Change,this.lastStats,this.lastStats)},3)}stop(){mM(this.status,ic.Running),this.status=ic.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(rc.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){let r=this.bigint?new Hh:new KA;return KE(r)}}makeInterval(e){let r=setInterval(()=>{let i=this.stat(),n=this.lastStats;dQ(i,n)||(this.lastStats=i,this.emit(rc.Change,i,n))},e.interval);return e.persistent?r:r.unref()}registerChangeListener(e,r){this.addListener(rc.Change,e),this.changeListeners.set(e,this.makeInterval(r))}unregisterChangeListener(e){this.removeListener(rc.Change,e);let r=this.changeListeners.get(e);typeof r!="undefined"&&clearInterval(r),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var WE=new WeakMap;function zE(t,e,r,i){let n,s,o,a;switch(typeof r){case"function":n=!1,s=!0,o=5007,a=r;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=r),a=i;break}let l=WE.get(t);typeof l=="undefined"&&WE.set(t,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=Wh.create(t,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function zh(t,e,r){let i=WE.get(t);if(typeof i=="undefined")return;let n=i.get(e);typeof n!="undefined"&&(typeof r=="undefined"?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function _h(t){let e=WE.get(t);if(typeof e!="undefined")for(let r of e.keys())zh(t,r)}var nc="mixed";function vfe(t){if(typeof t=="string"&&String(+t)===t)return+t;if(Number.isFinite(t))return t<0?Date.now()/1e3:t;if(EM.types.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}function IM(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Ai=class extends tc{constructor(e,r){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=r.libzip;let i=r;if(this.level=typeof i.level!="undefined"?i.level:nc,e!=null||(e=IM()),typeof e=="string"){let{baseFs:o=new ar}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(r.stats)this.stats=r.stats;else if(typeof e=="string")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code==="ENOENT"&&i.create)this.stats=Gh();else throw o}else this.stats=Gh();let n=this.libzip.malloc(4);try{let o=0;if(typeof e=="string"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),r.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e=="string")this.zip=this.libzip.open(H.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,"i32")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(Ke.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;oe)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(r,r+e);return Buffer.from(n)}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw YE("archive closed, close");_h(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)||this.stats.mode===Uh?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,IM(),{mode:e});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof e!="undefined"&&this.baseFs.chmodSync(this.path,e)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return x.resolve(Ke.root,e)}async openPromise(e,r,i){return this.openSync(e,r,i)}openSync(e,r,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,r){return this.opendirSync(e,r)}opendirSync(e,r={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw ro(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw Do(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return JE(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,r,i,n,s){return this.readSync(e,r,i,n,s)}readSync(e,r,i=0,n=r.byteLength,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw en("read");let a=s===-1||s===null?o.cursor:s,l=this.readFileSync(o.p);l.copy(r,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,r,i,n,s){return typeof r=="string"?this.writeSync(e,r,s):this.writeSync(e,r,i,n,s)}writeSync(e,r,i,n,s){throw typeof this.fds.get(e)=="undefined"?en("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw en("read");this.fds.delete(e)}createReadStream(e,{encoding:r}={}){if(e===null)throw new Error("Unimplemented");let i=this.openSync(e,"r"),n=Object.assign(new wQ.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,r);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:r}={}){if(this.readOnly)throw In(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new wQ.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),r),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let r=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw ro(`lstat '${e}'`);return r}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw YE(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=x.resolve(Ke.root,e);return this.entries.has(i)||this.listings.has(i)}let r;try{r=this.resolveFilename(`stat '${e}'`,e)}catch(i){return!1}return this.entries.has(r)||this.listings.has(r)}async accessPromise(e,r){return this.accessSync(e,r)}accessSync(e,r=Ju.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw ro(`access '${e}'`);if(this.readOnly&&r&Ju.constants.W_OK)throw In(`access '${e}'`)}async statPromise(e,r){return this.statSync(e,r)}statSync(e,r){let i=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw ro(`stat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Do(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,r)}async fstatPromise(e,r){return this.fstatSync(e,r)}fstatSync(e,r){let i=this.fds.get(e);if(typeof i=="undefined")throw en("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw ro(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw Do(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,r)}async lstatPromise(e,r){return this.lstatSync(e,r)}lstatSync(e,r){let i=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw ro(`lstat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Do(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,r)}statImpl(e,r,i={}){let n=this.entries.get(r);if(typeof n!="undefined"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),f=(this.libzip.struct.statMtime(s)>>>0)*1e3,h=f,p=f,m=f,y=new Date(h),b=new Date(p),S=new Date(m),k=new Date(f),T=this.listings.has(r)?ka:this.isSymbolicLink(n)?Pa:xa,Y=T===ka?493:420,j=T|this.getUnixMode(n,Y)&511,Z=this.libzip.struct.statCrc(s),J=Object.assign(new KA,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:y,birthtime:b,ctime:S,mtime:k,atimeMs:h,birthtimeMs:p,ctimeMs:m,mtimeMs:f,mode:j,crc:Z});return i.bigint===!0?UE(J):J}if(this.listings.has(r)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=new Date(u),m=new Date(g),y=new Date(f),b=new Date(h),S=ka|493,k=0,T=Object.assign(new KA,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:m,ctime:y,mtime:b,atimeMs:u,birthtimeMs:g,ctimeMs:f,mtimeMs:h,mode:S,crc:k});return i.bigint===!0?UE(T):T}throw new Error("Unreachable")}getUnixMode(e,r){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?r:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let r=this.listings.get(e);if(r)return r;this.registerListing(x.dirname(e)).add(x.basename(e));let n=new Set;return this.listings.set(e,n),n}registerEntry(e,r){this.registerListing(x.dirname(e)).add(x.basename(e)),this.entries.set(e,r)}unregisterListing(e){this.listings.delete(e);let r=this.listings.get(x.dirname(e));r==null||r.delete(x.basename(e))}unregisterEntry(e){this.unregisterListing(e);let r=this.entries.get(e);this.entries.delete(e),typeof r!="undefined"&&(this.fileSources.delete(r),this.isSymbolicLink(r)&&this.symlinkCount--)}deleteEntry(e,r){if(this.unregisterEntry(e),this.libzip.delete(this.zip,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,r,i=!0){if(!this.ready)throw YE(`archive closed, ${e}`);let n=x.resolve(Ke.root,r);if(n==="/")return Ke.root;let s=this.entries.get(n);if(i&&s!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(s)){let o=this.getFileSource(s).toString();return this.resolveFilename(e,x.resolve(x.dirname(n),o),!0)}else return n;for(;;){let o=this.resolveFilename(e,x.dirname(n),!0),a=this.listings.has(o),l=this.entries.has(o);if(!a&&!l)throw ro(e);if(!a)throw Do(e);if(n=x.resolve(o,x.basename(n)),!i||this.symlinkCount===0)break;let c=this.libzip.name.locate(this.zip,n.slice(1));if(c===-1)break;if(this.isSymbolicLink(c)){let u=this.getFileSource(c).toString();n=x.resolve(x.dirname(n),u)}else break}return n}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libzip.malloc(e.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,e.byteLength).set(e),{buffer:r,byteLength:e.byteLength}}allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,r);if(s===0)throw this.libzip.free(r),this.makeLibzipError(r);return s}allocateSource(e){let{buffer:r,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,r,i,0,!0);if(n===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,r){let i=Buffer.isBuffer(r)?r:Buffer.from(r),n=x.relative(Ke.root,e),s=this.allocateSource(r);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let a=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&_n)===Pa}getFileSource(e,r={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!="undefined")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(uo)throw new Error("Overread");let g=this.libzip.HEAPU8.subarray(l,l+o),f=Buffer.from(g);if(a===0)return this.fileSources.set(e,f),f;if(r.asyncDecompress)return new Promise((h,p)=>{BQ.default.inflateRaw(f,(m,y)=>{m?p(m):(this.fileSources.set(e,y),h(y))})});{let h=BQ.default.inflateRawSync(f);return this.fileSources.set(e,h),h}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async chmodPromise(e,r){return this.chmodSync(e,r)}chmodSync(e,r){if(this.readOnly)throw In(`chmod '${e}'`);r&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n=="undefined")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,xa|0)&~511|r;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,r,i){return this.chownSync(e,r,i)}chownSync(e,r,i){throw new Error("Unimplemented")}async renamePromise(e,r){return this.renameSync(e,r)}renameSync(e,r){throw new Error("Unimplemented")}async copyFilePromise(e,r,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,r,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,r,i=0){if(this.readOnly)throw In(`copyfile '${e} -> '${r}'`);if((i&Ju.constants.COPYFILE_FICLONE_FORCE)!=0)throw qh("unsupported clone operation",`copyfile '${e}' -> ${r}'`);let n=this.resolveFilename(`copyfile '${e} -> ${r}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw UA(`copyfile '${e}' -> '${r}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${r}'`,r),a=this.entries.get(o);if((i&(Ju.constants.COPYFILE_EXCL|Ju.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw qE(`copyfile '${e}' -> '${r}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,r,i){if(this.readOnly)throw In(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=N({flag:"a"},i)),this.writeFilePromise(e,r,i)}appendFileSync(e,r,i={}){if(this.readOnly)throw In(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=N({flag:"a"},i)),this.writeFileSync(e,r,i)}fdToPath(e,r){var n;let i=(n=this.fds.get(e))==null?void 0:n.p;if(typeof i=="undefined")throw en(r);return i}async writeFilePromise(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([await this.getFileSource(o,{asyncDecompress:!0}),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&await this.chmodPromise(a,s)}writeFileSync(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([this.getFileSource(o),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&this.chmodSync(a,s)}prepareWriteFile(e,r){if(typeof e=="number"&&(e=this.fdToPath(e,"read")),this.readOnly)throw In(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw Jh(`open '${e}'`);let n=null,s=null;typeof r=="string"?n=r:typeof r=="object"&&({encoding:n=null,mode:s=null}=r);let o=this.entries.get(i);return{encoding:n,mode:s,resolvedP:i,index:o}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw In(`unlink '${e}'`);let r=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(r))throw Jh(`unlink '${e}'`);let i=this.entries.get(r);if(typeof i=="undefined")throw UA(`unlink '${e}'`);this.deleteEntry(r,i)}async utimesPromise(e,r,i){return this.utimesSync(e,r,i)}utimesSync(e,r,i){if(this.readOnly)throw In(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,r,i){return this.lutimesSync(e,r,i)}lutimesSync(e,r,i){if(this.readOnly)throw In(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,r){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,i,0,vfe(r),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,r){return this.mkdirSync(e,r)}mkdirSync(e,{mode:r=493,recursive:i=!1}={}){if(i){this.mkdirpSync(e,{chmod:r});return}if(this.readOnly)throw In(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw qE(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,r)}async rmdirPromise(e,r){return this.rmdirSync(e,r)}rmdirSync(e,{recursive:r=!1}={}){if(this.readOnly)throw In(`rmdir '${e}'`);if(r){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw Do(`rmdir '${e}'`);if(n.size>0)throw uM(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw UA(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let r=this.libzip.dir.add(this.zip,x.relative(Ke.root,e));if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,r),r}async linkPromise(e,r){return this.linkSync(e,r)}linkSync(e,r){throw gM(`link '${e}' -> '${r}'`)}async symlinkPromise(e,r){return this.symlinkSync(e,r)}symlinkSync(e,r){if(this.readOnly)throw In(`symlink '${e}' -> '${r}'`);let i=this.resolveFilename(`symlink '${e}' -> '${r}'`,r);if(this.listings.has(i))throw Jh(`symlink '${e}' -> '${r}'`);if(this.entries.has(i))throw qE(`symlink '${e}' -> '${r}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(Pa|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return r?i.toString(r):i}readFileSync(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=this.readFileBuffer(e);return r?i.toString(r):i}readFileBuffer(e,r={asyncDecompress:!1}){typeof e=="number"&&(e=this.fdToPath(e,"read"));let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw ro(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Do(`open '${e}'`);if(this.listings.has(i))throw Jh("read");let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,r)}async readdirPromise(e,r){return this.readdirSync(e,r)}readdirSync(e,r){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw ro(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw Do(`scandir '${e}'`);let s=[...n];return(r==null?void 0:r.withFileTypes)?s.map(o=>Object.assign(this.statImpl("lstat",x.join(e,o)),{name:o})):s}async readlinkPromise(e){let r=this.prepareReadlink(e);return(await this.getFileSource(r,{asyncDecompress:!0})).toString()}readlinkSync(e){let r=this.prepareReadlink(e);return this.getFileSource(r).toString()}prepareReadlink(e){let r=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(r)&&!this.listings.has(r))throw ro(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(r))throw Do(`open '${e}'`);if(this.listings.has(r))throw UA(`readlink '${e}'`);let i=this.entries.get(r);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw UA(`readlink '${e}'`);return i}async truncatePromise(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw UA(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(r,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw UA(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(r,0);return s.copy(o),this.writeFileSync(e,o)}watch(e,r,i){let n;switch(typeof r){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=r);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,r,i){let n=x.resolve(Ke.root,e);return zE(this,n,r,i)}unwatchFile(e,r){let i=x.resolve(Ke.root,e);return zh(this,i,r)}};var bi=class extends HA{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,i){return this.baseFs.openPromise(this.mapToBase(e),r,i)}openSync(e,r,i){return this.baseFs.openSync(this.mapToBase(e),r,i)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async chownPromise(e,r,i){return this.baseFs.chownPromise(this.mapToBase(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.mapToBase(e),r,i)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),i)}copyFileSync(e,r,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),i)}async appendFilePromise(e,r,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,i)}async writeFilePromise(e,r,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,i){return this.baseFs.utimesPromise(this.mapToBase(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.mapToBase(e),r,i)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,r){return r==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),r):this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return r==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),r):this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}watch(e,r,i){return this.baseFs.watch(this.mapToBase(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.mapToBase(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var Da=class extends bi{constructor(e,{baseFs:r,pathUtils:i}){super(i);this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var _t=class extends bi{constructor(e,{baseFs:r=new ar}={}){super(x);this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?x.normalize(e):this.baseFs.resolve(x.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var yM=Ke.root,Ra=class extends bi{constructor(e,{baseFs:r=new ar}={}){super(x);this.target=this.pathUtils.resolve(Ke.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Ke.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(yM,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(yM,this.pathUtils.relative(this.target,e))}};var Vh=class extends bi{constructor(e,r){super(r);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var st=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),bQ=class extends HA{constructor(){super(x)}getExtractHint(){throw st()}getRealPath(){throw st()}resolve(){throw st()}async openPromise(){throw st()}openSync(){throw st()}async opendirPromise(){throw st()}opendirSync(){throw st()}async readPromise(){throw st()}readSync(){throw st()}async writePromise(){throw st()}writeSync(){throw st()}async closePromise(){throw st()}closeSync(){throw st()}createWriteStream(){throw st()}createReadStream(){throw st()}async realpathPromise(){throw st()}realpathSync(){throw st()}async readdirPromise(){throw st()}readdirSync(){throw st()}async existsPromise(e){throw st()}existsSync(e){throw st()}async accessPromise(){throw st()}accessSync(){throw st()}async statPromise(){throw st()}statSync(){throw st()}async fstatPromise(e){throw st()}fstatSync(e){throw st()}async lstatPromise(e){throw st()}lstatSync(e){throw st()}async chmodPromise(){throw st()}chmodSync(){throw st()}async chownPromise(){throw st()}chownSync(){throw st()}async mkdirPromise(){throw st()}mkdirSync(){throw st()}async rmdirPromise(){throw st()}rmdirSync(){throw st()}async linkPromise(){throw st()}linkSync(){throw st()}async symlinkPromise(){throw st()}symlinkSync(){throw st()}async renamePromise(){throw st()}renameSync(){throw st()}async copyFilePromise(){throw st()}copyFileSync(){throw st()}async appendFilePromise(){throw st()}appendFileSync(){throw st()}async writeFilePromise(){throw st()}writeFileSync(){throw st()}async unlinkPromise(){throw st()}unlinkSync(){throw st()}async utimesPromise(){throw st()}utimesSync(){throw st()}async readFilePromise(){throw st()}readFileSync(){throw st()}async readlinkPromise(){throw st()}readlinkSync(){throw st()}async truncatePromise(){throw st()}truncateSync(){throw st()}watch(){throw st()}watchFile(){throw st()}unwatchFile(){throw st()}},_E=bQ;_E.instance=new bQ;var Xh=class extends bi{constructor(e){super(H);this.baseFs=e}mapFromBase(e){return H.fromPortablePath(e)}mapToBase(e){return H.toPortablePath(e)}};var Sfe=/^[0-9]+$/,QQ=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,kfe=/^([^/]+-)?[a-f0-9]+$/,Wr=class extends bi{static makeVirtualPath(e,r,i){if(x.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!x.basename(r).match(kfe))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=x.relative(x.dirname(e),i).split("/"),o=0;for(;o{let r=t.indexOf(e);if(r<=0)return null;let i=r;for(;r>=0&&(i=r+e.length,t[i]!==x.sep);){if(t[r-1]===x.sep)return null;r=t.indexOf(e,i)}return t.length>i&&t[i]!==x.sep?null:t.slice(0,i)},Es=class extends tc{constructor({libzip:e,baseFs:r=new ar,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3,fileExtensions:l=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof e!="function"?()=>e:e,this.baseFs=r,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a,this.fileExtensions=l}static async openPromise(e,r){let i=new Es(r);try{return await e(i)}finally{i.saveAndClose()}}get libzip(){return typeof this.libzipInstance=="undefined"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(_h(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(_h(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,r){let i=this.nextFd++|Fa;return this.fdMap.set(i,[e,r]),i}async openPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,r,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,r,i)))}openSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,r,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,r,i)))}async opendirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,r),async(i,{subPath:n})=>await i.opendirPromise(n,r),{requireSubpath:!1})}opendirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,r),(i,{subPath:n})=>i.opendirSync(n,r),{requireSubpath:!1})}async readPromise(e,r,i,n,s){if((e&Fa)==0)return await this.baseFs.readPromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("read");let[a,l]=o;return await a.readPromise(l,r,i,n,s)}readSync(e,r,i,n,s){if((e&Fa)==0)return this.baseFs.readSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("readSync");let[a,l]=o;return a.readSync(l,r,i,n,s)}async writePromise(e,r,i,n,s){if((e&Fa)==0)return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("write");let[a,l]=o;return typeof r=="string"?await a.writePromise(l,r,i):await a.writePromise(l,r,i,n,s)}writeSync(e,r,i,n,s){if((e&Fa)==0)return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("writeSync");let[a,l]=o;return typeof r=="string"?a.writeSync(l,r,i):a.writeSync(l,r,i,n,s)}async closePromise(e){if((e&Fa)==0)return await this.baseFs.closePromise(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw en("close");this.fdMap.delete(e);let[i,n]=r;return await i.closePromise(n)}closeSync(e){if((e&Fa)==0)return this.baseFs.closeSync(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw en("closeSync");this.fdMap.delete(e);let[i,n]=r;return i.closeSync(n)}createReadStream(e,r){return e===null?this.baseFs.createReadStream(e,r):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,r),(i,{archivePath:n,subPath:s})=>{let o=i.createReadStream(s,r);return o.path=H.fromPortablePath(this.pathUtils.join(n,s)),o})}createWriteStream(e,r){return e===null?this.baseFs.createWriteStream(e,r):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,r),(i,{subPath:n})=>i.createWriteStream(n,r))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Ke.root,await r.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Ke.root,r.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(r,{subPath:i})=>await r.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(r,{subPath:i})=>r.existsSync(i))}async accessPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,r),async(i,{subPath:n})=>await i.accessPromise(n,r))}accessSync(e,r){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,r),(i,{subPath:n})=>i.accessSync(n,r))}async statPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,r),async(i,{subPath:n})=>await i.statPromise(n,r))}statSync(e,r){return this.makeCallSync(e,()=>this.baseFs.statSync(e,r),(i,{subPath:n})=>i.statSync(n,r))}async fstatPromise(e,r){if((e&Fa)==0)return this.baseFs.fstatPromise(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw en("fstat");let[n,s]=i;return n.fstatPromise(s,r)}fstatSync(e,r){if((e&Fa)==0)return this.baseFs.fstatSync(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw en("fstatSync");let[n,s]=i;return n.fstatSync(s,r)}async lstatPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,r),async(i,{subPath:n})=>await i.lstatPromise(n,r))}lstatSync(e,r){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,r),(i,{subPath:n})=>i.lstatSync(n,r))}async chmodPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,r),async(i,{subPath:n})=>await i.chmodPromise(n,r))}chmodSync(e,r){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,r),(i,{subPath:n})=>i.chmodSync(n,r))}async chownPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,r,i),async(n,{subPath:s})=>await n.chownPromise(s,r,i))}chownSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,r,i),(n,{subPath:s})=>n.chownSync(s,r,i))}async renamePromise(e,r){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.renamePromise(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(i,{subPath:n})=>await this.makeCallPromise(r,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await i.renamePromise(n,o)}))}renameSync(e,r){return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.renameSync(e,r),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(i,{subPath:n})=>this.makeCallSync(r,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return i.renameSync(n,o)}))}async copyFilePromise(e,r,i=0){let n=async(s,o,a,l)=>{if((i&Zh.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Zh.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.copyFilePromise(e,r,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(r,async()=>await n(s,o,this.baseFs,r),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,r,i=0){let n=(s,o,a,l)=>{if((i&Zh.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Zh.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.copyFileSync(e,r,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(r,()=>n(s,o,this.baseFs,r),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,r,i),async(n,{subPath:s})=>await n.appendFilePromise(s,r,i))}appendFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,r,i),(n,{subPath:s})=>n.appendFileSync(s,r,i))}async writeFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,r,i),async(n,{subPath:s})=>await n.writeFilePromise(s,r,i))}writeFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,r,i),(n,{subPath:s})=>n.writeFileSync(s,r,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(r,{subPath:i})=>await r.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(r,{subPath:i})=>r.unlinkSync(i))}async utimesPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,r,i),async(n,{subPath:s})=>await n.utimesPromise(s,r,i))}utimesSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,r,i),(n,{subPath:s})=>n.utimesSync(s,r,i))}async mkdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,r),async(i,{subPath:n})=>await i.mkdirPromise(n,r))}mkdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,r),(i,{subPath:n})=>i.mkdirSync(n,r))}async rmdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,r),async(i,{subPath:n})=>await i.rmdirPromise(n,r))}rmdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,r),(i,{subPath:n})=>i.rmdirSync(n,r))}async linkPromise(e,r){return await this.makeCallPromise(r,async()=>await this.baseFs.linkPromise(e,r),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,r){return this.makeCallSync(r,()=>this.baseFs.linkSync(e,r),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,r,i){return await this.makeCallPromise(r,async()=>await this.baseFs.symlinkPromise(e,r,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,r,i){return this.makeCallSync(r,()=>this.baseFs.symlinkSync(e,r,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,r){return this.makeCallPromise(e,async()=>{switch(r){case"utf8":return await this.baseFs.readFilePromise(e,r);default:return await this.baseFs.readFilePromise(e,r)}},async(i,{subPath:n})=>await i.readFilePromise(n,r))}readFileSync(e,r){return this.makeCallSync(e,()=>{switch(r){case"utf8":return this.baseFs.readFileSync(e,r);default:return this.baseFs.readFileSync(e,r)}},(i,{subPath:n})=>i.readFileSync(n,r))}async readdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,r),async(i,{subPath:n})=>await i.readdirPromise(n,r),{requireSubpath:!1})}readdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,r),(i,{subPath:n})=>i.readdirSync(n,r),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(r,{subPath:i})=>await r.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(r,{subPath:i})=>r.readlinkSync(i))}async truncatePromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,r),async(i,{subPath:n})=>await i.truncatePromise(n,r))}truncateSync(e,r){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,r),(i,{subPath:n})=>i.truncateSync(n,r))}watch(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,r,i),(n,{subPath:s})=>n.watch(s,r,i))}watchFile(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,r,i),()=>zE(this,e,r,i))}unwatchFile(e,r){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,r),()=>zh(this,e,r))}async makeCallPromise(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return await r();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath==="/"?await r():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await r()}makeCallSync(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return r();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath==="/"?r():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let r="";for(;;){let i=e.substring(r.length),n;if(!this.fileExtensions)n=wM(i,".zip");else for(let s of this.fileExtensions)if(n=wM(i,s),n)break;if(!n)return null;if(r=this.pathUtils.join(r,n),this.isZip.has(r)===!1){if(this.notZip.has(r))continue;try{if(!this.baseFs.lstatSync(r).isFile()){this.notZip.add(r);continue}}catch{return null}this.isZip.add(r)}return{archivePath:r,subPath:this.pathUtils.join(Ke.root,e.substring(r.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let r=Date.now(),i=r+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(r>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-r).unref())}async getZipPromise(e,r){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new Ai(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await r(n.zipFs)}finally{n.refCount-=1}}else{let n=new Ai(e,await i());try{return await r(n)}finally{n.saveAndClose()}}}getZipSync(e,r){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new Ai(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,r(n.zipFs)}else{let n=new Ai(e,i());try{return r(n)}finally{n.saveAndClose()}}}};var Wu=ge(require("util"));var VE=ge(require("url"));var vQ=class extends bi{constructor(e){super(H);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof VE.URL?(0,VE.fileURLToPath)(e):e}};var xfe=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),BM=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),Pfe=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]);function SQ(t,e){e=new vQ(e);let r=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Wu.promisify.custom])!="undefined"&&(s[Wu.promisify.custom]=o[Wu.promisify.custom])};{r(t,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),r(t,"read",(...i)=>{let[n,s,o,a,l,c]=i;if(i.length<=3){let u={};i.length<3?c=i[1]:(u=i[1],c=i[2]),{buffer:s=Buffer.alloc(16384),offset:o=0,length:a=s.byteLength,position:l}=u}if(o==null&&(o=0),a|=0,a===0){process.nextTick(()=>{c(null,0,s)});return}l==null&&(l=-1),process.nextTick(()=>{e.readPromise(n,s,o,a,l).then(u=>{c(null,u,s)},u=>{c(u,0,s)})})});for(let i of BM){let n=i.replace(/Promise$/,"");if(typeof t[n]=="undefined")continue;let s=e[i];if(typeof s=="undefined")continue;r(t,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",i=>{try{return e.existsSync(i)}catch(n){return!1}}),r(t,"readSync",(...i)=>{let[n,s,o,a,l]=i;return i.length<=3&&({offset:o=0,length:a=s.byteLength,position:l}=i[2]||{}),o==null&&(o=0),a|=0,a===0?0:(l==null&&(l=-1),e.readSync(n,s,o,a,l))});for(let i of xfe){let n=i;if(typeof t[n]=="undefined")continue;let s=e[i];typeof s!="undefined"&&r(t,n,s.bind(e))}t.realpathSync.native=t.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=t.promises}finally{process.emitWarning=i}if(typeof n!="undefined"){for(let o of BM){let a=o.replace(/Promise$/,"");if(typeof n[a]=="undefined")continue;let l=e[o];typeof l!="undefined"&&o!=="open"&&r(n,a,l.bind(e))}class s{constructor(a){this.fd=a}}for(let o of Pfe){let a=o.replace(/Promise$/,""),l=e[o];typeof l!="undefined"&&r(s.prototype,a,function(...c){return l.call(e,this.fd,...c)})}r(n,"open",async(...o)=>{let a=await e.openPromise(...o);return new s(a)})}}t.read[Wu.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n}),t.write[Wu.promisify.custom]=async(i,n,...s)=>({bytesWritten:await e.writePromise(i,n,...s),buffer:n})}function XE(t,e){let r=Object.create(t);return SQ(r,e),r}var bM=ge(require("os"));function QM(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}var io=new Set,kQ=null;function vM(){if(kQ)return kQ;let t=H.toPortablePath(bM.default.tmpdir()),e=K.realpathSync(t);return process.once("exit",()=>{K.rmtempSync()}),kQ={tmpdir:t,realTmpdir:e}}var K=Object.assign(new ar,{detachTemp(t){io.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=vM();for(;;){let i=QM("xfs-");try{this.mkdirSync(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(r,i);if(io.add(n),typeof t=="undefined")return n;try{return t(n)}finally{if(io.has(n)){io.delete(n);try{this.removeSync(n)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=vM();for(;;){let i=QM("xfs-");try{await this.mkdirPromise(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(r,i);if(io.add(n),typeof t=="undefined")return n;try{return await t(n)}finally{if(io.has(n)){io.delete(n);try{await this.removePromise(n)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(io.values()).map(async t=>{try{await K.removePromise(t,{maxRetries:0}),io.delete(t)}catch{}}))},rmtempSync(){for(let t of io)try{K.removeSync(t),io.delete(t)}catch{}}});var Px=ge(MQ());var ap={};ft(ap,{parseResolution:()=>iI,parseShell:()=>$E,parseSyml:()=>Qi,stringifyArgument:()=>GQ,stringifyArgumentSegment:()=>jQ,stringifyArithmeticExpression:()=>rI,stringifyCommand:()=>HQ,stringifyCommandChain:()=>Xu,stringifyCommandChainThen:()=>UQ,stringifyCommandLine:()=>eI,stringifyCommandLineThen:()=>KQ,stringifyEnvSegment:()=>tI,stringifyRedirectArgument:()=>ep,stringifyResolution:()=>nI,stringifyShell:()=>Vu,stringifyShellLine:()=>Vu,stringifySyml:()=>La,stringifyValueArgument:()=>oc});var dK=ge(pK());function $E(t,e={isGlobPattern:()=>!1}){try{return(0,dK.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function Vu(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:i},n)=>`${eI(r)}${i===";"?n!==t.length-1||e?";":"":" &"}`).join(" ")}function eI(t){return`${Xu(t.chain)}${t.then?` ${KQ(t.then)}`:""}`}function KQ(t){return`${t.type} ${eI(t.line)}`}function Xu(t){return`${HQ(t)}${t.then?` ${UQ(t.then)}`:""}`}function UQ(t){return`${t.type} ${Xu(t.chain)}`}function HQ(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>tI(e)).join(" ")} `:""}${t.args.map(e=>GQ(e)).join(" ")}`;case"subshell":return`(${Vu(t.subshell)})${t.args.length>0?` ${t.args.map(e=>ep(e)).join(" ")}`:""}`;case"group":return`{ ${Vu(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>ep(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>tI(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function tI(t){return`${t.name}=${t.args[0]?oc(t.args[0]):""}`}function GQ(t){switch(t.type){case"redirection":return ep(t);case"argument":return oc(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function ep(t){return`${t.subtype} ${t.args.map(e=>oc(e)).join(" ")}`}function oc(t){return t.segments.map(e=>jQ(e)).join("")}function jQ(t){let e=(i,n)=>n?`"${i}"`:i,r=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${Vu(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue=="undefined"?typeof t.alternativeValue=="undefined"?`\${${t.name}}`:t.alternativeValue.length===0?`\${${t.name}:+}`:`\${${t.name}:+${t.alternativeValue.map(i=>oc(i)).join(" ")}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(i=>oc(i)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${rI(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function rI(t){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},r=(n,s)=>s?`( ${n} )`:n,i=n=>r(rI(n),!["number","variable"].includes(n.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${i(t.left)} ${e(t.type)} ${i(t.right)}`}}var EK=ge(mK());function iI(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,EK.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function nI(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var pI=ge(lU()),gU=ge(uU()),Kde=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,fU=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],rv=class{constructor(e){this.data=e}};function hU(t){return t.match(Kde)?t:JSON.stringify(t)}function pU(t){return typeof t=="undefined"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>pU(t[e])):!1}function iv(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${hU(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let i=" ".repeat(e);return` +${t.map(s=>`${i}- ${iv(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof rv?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=fU.indexOf(l),g=fU.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!pU(i[l])).map((l,c)=>{let u=i[l],g=hU(l),f=iv(u,e+1,!0),h=c>0||r?s:"",p=g.length>1024?`? ${g} +${h}:`:`${g}:`,m=f.startsWith(` +`)?f:` ${f}`;return`${h}${p}${m}`}).join(e===0?` +`:"")||` +`;return r?` +${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function La(t){try{let e=iv(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}La.PreserveOrdering=rv;function Ude(t){return t.endsWith(` +`)||(t+=` +`),(0,gU.parse)(t)}var Hde=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function Gde(t){if(Hde.test(t))return Ude(t);let e=(0,pI.safeLoad)(t,{schema:pI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Qi(t){return Gde(t)}var i4=ge(CU()),ww=ge(pc());var mp={};ft(mp,{Builtins:()=>mv,Cli:()=>ys,Command:()=>Re,Option:()=>W,UsageError:()=>Pe,formatMarkdownish:()=>Ui});var dc=0,Ap=1,tn=2,sv="",vi="\0",og=-1,ov=/^(-h|--help)(?:=([0-9]+))?$/,dI=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,wU=/^-[a-zA-Z]{2,}$/,av=/^([^=]+)=([\s\S]*)$/,Av=process.env.DEBUG_CLI==="1";var Pe=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},lp=class extends Error{constructor(e,r){super();if(this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===r[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} + +${this.candidates.map(({usage:n})=>`$ ${n}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${i} +${lv(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${lv(e)}`}},cv=class extends Error{constructor(e,r){super();this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${lv(e)}`}},lv=t=>`While running ${t.filter(e=>e!==vi).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var cp=Symbol("clipanion/isOption");function rn(t){return ie(N({},t),{[cp]:!0})}function No(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function CI(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function up(t,e){return e.length===1?new Pe(`${t}: ${CI(e[0],!0)}`):new Pe(`${t}: +${e.map(r=>` +- ${CI(r)}`).join("")}`)}function gp(t,e,r){if(typeof r=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!r(e,{errors:i,coercions:n,coercion:s}))throw up(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var Re=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(Is(),ag)),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw up("Invalid option schema",l);for(let[,g]of c)g()}else if(r!=null)throw new Error("Invalid command schema");let i=await this.execute();return typeof i!="undefined"?i:0}};Re.isOption=cp;Re.Default=[];var RU=80,fv=Array(RU).fill("\u2501");for(let t=0;t<=24;++t)fv[fv.length-t]=`[38;5;${232+t}m\u2501`;var hv={header:t=>`\u2501\u2501\u2501 ${t}${t.length`${t}`,error:t=>`${t}`,code:t=>`${t}`},FU={header:t=>t,bold:t=>t,error:t=>t,code:t=>t};function bCe(t){let e=t.split(` +`),r=e.filter(n=>n.match(/\S/)),i=r.length>0?r.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` +`)}function Ui(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=bCe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),t=t.replace(/\n(\n)?\n*/g,"$1"),r&&(t=t.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` +`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` +`)}).join(` + +`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),t?`${t} +`:""}var Cv=ge(require("tty"));function wn(t){Av&&console.log(t)}var NU={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:og};function LU(){return{nodes:[sn(),sn(),sn()]}}function vCe(t){let e=LU(),r=[],i=e.nodes.length;for(let n of t){r.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=t.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)r(a);for(let[,{to:o}]of n.dynamics)r(o);for(let{to:o}of n.shortcuts)r(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=t.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};r(dc)}function kCe(t,{prefix:e=""}={}){if(Av){wn(`${e}Nodes are:`);for(let r=0;rl!==tn).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===tn))throw new lp(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=xCe(a)}if(i.length>0){wn(" Results:");for(let s of i)wn(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else wn(" No results");return i}function PCe(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,vi)){for(let{to:r}of t.statics[vi])if(r===Ap)return!0}return!1}function RCe(t,e,r){let i=r&&e.length>0?[""]:[],n=OU(t,e,r),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let m=t.nodes[p],y=Object.keys(m.statics);for(let b of Object.keys(m.statics)){let S=y[0];for(let{to:k,reducer:T}of m.statics[S])T==="pushPath"&&(u||l.push(S),g.push(k))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=t.nodes[l],g=PCe(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==vi||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===tn)continue;let p=DCe(f,c);if(p!==null)for(let m of p)a([...i,m],l)}}return[...s].sort()}function NCe(t,e){let r=OU(t,[...e,vi]);return FCe(e,r.map(({state:i})=>i))}function xCe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function FCe(t,e){let r=e.filter(g=>g.selectedIndex!==null);if(r.length===0)throw new Error;let i=r.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new lp(t,r.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=LCe(c);if(u.length>1)throw new cv(t,u.map(g=>g.candidateUsage));return u[0]}function LCe(t){let e=[],r=[];for(let i of t)i.selectedIndex===og?r.push(i):e.push(i);return r.length>0&&e.push(ie(N({},NU),{path:MU(...r.map(i=>i.path)),options:r.reduce((i,n)=>i.concat(n.options),[])})),e}function MU(t,e,...r){return e===void 0?Array.from(t):MU(t.filter((i,n)=>i===e[n]),...r)}function sn(){return{dynamics:[],shortcuts:[],statics:{}}}function TU(t){return t===Ap||t===tn}function dv(t,e=0){return{to:TU(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function QCe(t,e=0){let r=sn();for(let[i,n]of t.dynamics)r.dynamics.push([i,dv(n,e)]);for(let i of t.shortcuts)r.shortcuts.push(dv(i,e));for(let[i,n]of Object.entries(t.statics))r.statics[i]=n.map(s=>dv(s,e));return r}function Si(t,e,r,i,n){t.nodes[e].dynamics.push([r,{to:i,reducer:n}])}function Ag(t,e,r,i){t.nodes[e].shortcuts.push({to:r,reducer:i})}function Ta(t,e,r,i,n){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:i,reducer:n})}function EI(t,e,r,i){if(Array.isArray(e)){let[n,...s]=e;return t[n](r,i,...s)}else return t[e](r,i)}function DCe(t,e){let r=Array.isArray(t)?II[t[0]]:II[t];if(typeof r.suggest=="undefined")return null;let i=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...i)}var II={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,i)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&wU.test(e)&&[...e.slice(1)].every(i=>r.includes(`-${i}`)),isBoundOption:(t,e,r,i)=>{let n=e.match(av);return!t.ignoreOptions&&!!n&&dI.test(n[1])&&r.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&ov.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&dI.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!dI.test(e)};II.isOption.suggest=(t,e,r=!0)=>r?null:[e];var pv={setCandidateState:(t,e,r)=>N(N({},t),r),setSelectedIndex:(t,e,r)=>ie(N({},t),{selectedIndex:r}),pushBatch:(t,e)=>ie(N({},t),{options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,i]=e.match(av);return ie(N({},t),{options:t.options.concat({name:r,value:i})})},pushPath:(t,e)=>ie(N({},t),{path:t.path.concat(e)}),pushPositional:(t,e)=>ie(N({},t),{positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>ie(N({},t),{positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>ie(N({},t),{positionals:t.positionals.concat({value:e,extra:Xn})}),pushTrue:(t,e,r=e)=>ie(N({},t),{options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>ie(N({},t),{options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>ie(N({},t),{options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let i=ie(N({},t),{options:[...t.options]}),n=t.options[t.options.length-1];return n.value=((r=n.value)!==null&&r!==void 0?r:[]).concat([e]),i},setStringValue:(t,e)=>{let r=ie(N({},t),{options:[...t.options]}),i=t.options[t.options.length-1];return i.value=e,r},inhibateOptions:t=>ie(N({},t),{ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,i]=e.match(ov);return typeof i!="undefined"?ie(N({},t),{options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}):ie(N({},t),{options:[{name:"-c",value:String(r)}]})},setError:(t,e,r)=>e===vi?ie(N({},t),{errorMessage:`${r}.`}):ie(N({},t),{errorMessage:`${r} ("${e}").`}),setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return ie(N({},t),{errorMessage:`Not enough arguments to option ${r.name}.`})}},Xn=Symbol(),KU=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:i,proxy:n})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===Xn)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==Xn?this.arity.extra.push(e):this.arity.extra!==Xn&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===Xn)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Xn?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context=="undefined")throw new Error("Assertion failed: No context attached");let e=LU(),r=dc,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);r=no(e,sn()),Ta(e,dc,sv,r,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=r;if(a.length>0){let f=no(e,sn());Ag(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=no(e,sn());Si(e,l,"isHelp",f,["useHelp",this.cliIndex]),Ta(e,f,vi,Ap,["setSelectedIndex",og]),this.registerOptions(e,l)}this.arity.leading.length>0&&Ta(e,l,vi,tn,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&Ta(e,h,vi,tn,["setError","Not enough positional arguments"]),Si(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Xn||this.arity.extra.length>0){let f=no(e,sn());if(Ag(e,c,f),this.arity.extra===Xn){let h=no(e,sn());this.arity.proxy||this.registerOptions(e,h),Si(e,c,s,h,"pushExtraNoLimits"),Si(e,h,s,h,"pushExtraNoLimits"),Ag(e,h,f)}else for(let h=0;h0&&Ta(e,u,vi,tn,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)Si(e,r,["isOption",s,i.hidden||s!==n],r,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Si(e,r,["isNegatedOption",s],r,["pushFalse",s]);else{let s=no(e,sn());for(let o of i.names)Si(e,r,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eNCe(i,n),suggest:(n,s)=>RCe(i,n,s)}}};var Cp=class extends Re{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new Cp(r);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}};var UU=Symbol("clipanion/errorCommand");function TCe(){return process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY?8:1}var ys=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new dp({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,r={}){let i=new ys(r);for(let n of e)i.register(n);return i}register(e){var r;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[Re.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(r=e.paths)!==null&&r!==void 0?r:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:r,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case og:return Cp.from(n,r);default:{let{commandClass:s}=r[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[UU]=a,l}}break}}async run(e,r){var i;let n,s=N(N({},ys.defaultContext),r),o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,N(N({},s),u)),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?OCe(s):HU,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:i}=this.builder.compile();return i(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?Ui(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?Ui(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?Ui(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([f,h])=>[Ui(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return r}usage(e=null,{colored:r,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage!="undefined";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof Re?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Ui(l,{format:this.format(r),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` +`),(c!==""||u.length>0)&&(a+=`${this.format(r).header("Usage")} +`,a+=` +`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(r).bold(n)}${g} +`,f.length>0){a+=` +`,a+=`${hv.header("Options")} +`;let h=f.reduce((p,m)=>Math.max(p,m.definition.length),0);a+=` +`;for(let{definition:p,description:m}of f)a+=` ${this.format(r).bold(p.padEnd(h))} ${Ui(m,{format:this.format(r),paragraphs:!1})}`}if(c!==""&&(a+=` +`,a+=`${this.format(r).header("Details")} +`,a+=` +`,a+=Ui(c,{format:this.format(r),paragraphs:!0})),u.length>0){a+=` +`,a+=`${this.format(r).header("Examples")} +`;for(let[h,p]of u)a+=` +`,a+=Ui(h,{format:this.format(r),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(r).bold(n)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(r).bold(n)}${l} +`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage=="undefined")continue;let p=typeof f.usage.category!="undefined"?Ui(f.usage.category,{format:this.format(r),paragraphs:!1}):null,m=l.get(p);typeof m=="undefined"&&l.set(p,m=[]);let{usage:y}=this.getUsageByIndex(h);m.push({commandClass:f,usage:y})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel!="undefined",g=typeof this.binaryVersion!="undefined";u||g?(u&&g?a+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:u?a+=`${this.format(r).header(`${this.binaryLabel}`)} +`:a+=`${this.format(r).header(`${this.binaryVersion}`)} +`,a+=` ${this.format(r).bold(n)}${this.binaryName} +`):a+=`${this.format(r).bold(n)}${this.binaryName} +`;for(let f of c){let h=l.get(f).slice().sort((m,y)=>m.usage.localeCompare(y.usage,"en",{usage:"sort",caseFirst:"upper"})),p=f!==null?f.trim():"General commands";a+=` +`,a+=`${this.format(r).header(`${p}`)} +`;for(let{commandClass:m,usage:y}of h){let b=m.usage.description||"undocumented";a+=` +`,a+=` ${this.format(r).bold(y)} +`,a+=` ${Ui(b,{format:this.format(r),paragraphs:!1})}`}}a+=` +`,a+=Ui("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return a}error(e,r){var i,{colored:n,command:s=(i=e[UU])!==null&&i!==void 0?i:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} +`;let l=e.clipanion;return typeof l!="undefined"?l.type==="usage"&&(o+=` +`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} +`),o}format(e){var r;return((r=e!=null?e:this.enableColors)!==null&&r!==void 0?r:ys.defaultContext.colorDepth>1)?hv:FU}getUsageByRegistration(e,r){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};ys.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:"getColorDepth"in Cv.default.WriteStream.prototype?Cv.default.WriteStream.prototype.getColorDepth():TCe()};var GU;function OCe(t){let e=GU;if(typeof e=="undefined"){if(t.stdout===process.stdout&&t.stderr===process.stderr)return HU;let{AsyncLocalStorage:r}=require("async_hooks");e=GU=new r;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l=="undefined"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l=="undefined"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return r=>e.run(t,r)}function HU(t){return t()}var mv={};ft(mv,{DefinitionsCommand:()=>yI,HelpCommand:()=>wI,VersionCommand:()=>BI});var yI=class extends Re{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};yI.paths=[["--clipanion=definitions"]];var wI=class extends Re{async execute(){this.context.stdout.write(this.cli.usage())}};wI.paths=[["-h"],["--help"]];var BI=class extends Re{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};BI.paths=[["-v"],["--version"]];var W={};ft(W,{Array:()=>jU,Boolean:()=>YU,Counter:()=>qU,Proxy:()=>JU,Rest:()=>WU,String:()=>zU,applyValidator:()=>gp,cleanValidationError:()=>CI,formatError:()=>up,isOptionSymbol:()=>cp,makeCommandOption:()=>rn,rerouteArguments:()=>No});function jU(t,e,r){let[i,n]=No(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return rn({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function YU(t,e,r){let[i,n]=No(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return rn({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function qU(t,e,r){let[i,n]=No(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return rn({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function JU(t={}){return rn({definition(e,r){var i;e.addProxy({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){return i.positionals.map(({value:n})=>n)}})}function WU(t={}){return rn({definition(e,r){var i;e.addRest({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){let n=o=>{let a=i.positionals[o];return a.extra===Xn||a.extra===!1&&oo)}})}function MCe(t,e,r){let[i,n]=No(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return rn({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?gp(g!=null?g:c,f,n.validator):f}})}function KCe(t={}){let{required:e=!0}=t;return rn({definition(r,i){var n;r.addPositional({name:(n=t.name)!==null&&n!==void 0?n:i,required:t.required})},transformer(r,i,n){var s;for(let o=0;ou8,areIdentsEqual:()=>hd,areLocatorsEqual:()=>pd,areVirtualPackagesEquivalent:()=>cSe,bindDescriptor:()=>ASe,bindLocator:()=>lSe,convertDescriptorToLocator:()=>gw,convertLocatorToDescriptor:()=>ax,convertPackageToLocator:()=>aSe,convertToIdent:()=>oSe,convertToManifestRange:()=>fSe,copyPackage:()=>ud,devirtualizeDescriptor:()=>gd,devirtualizeLocator:()=>fd,getIdentVendorPath:()=>gx,isPackageCompatible:()=>dw,isVirtualDescriptor:()=>nl,isVirtualLocator:()=>Xo,makeDescriptor:()=>rr,makeIdent:()=>Vo,makeLocator:()=>cn,makeRange:()=>hw,parseDescriptor:()=>sl,parseFileStyleRange:()=>uSe,parseIdent:()=>An,parseLocator:()=>Kc,parseRange:()=>Gg,prettyDependent:()=>WS,prettyDescriptor:()=>sr,prettyIdent:()=>gi,prettyLocator:()=>Bt,prettyLocatorNoColors:()=>ux,prettyRange:()=>uw,prettyReference:()=>Cd,prettyResolution:()=>zS,prettyWorkspace:()=>md,renamePackage:()=>cd,slugifyIdent:()=>cx,slugifyLocator:()=>jg,sortDescriptors:()=>Yg,stringifyDescriptor:()=>Pn,stringifyIdent:()=>Ot,stringifyLocator:()=>Ds,tryParseDescriptor:()=>dd,tryParseIdent:()=>g8,tryParseLocator:()=>fw,virtualizeDescriptor:()=>Ax,virtualizePackage:()=>lx});var Hg=ge(require("querystring")),A8=ge(ri()),l8=ge(QY());var Ae={};ft(Ae,{LogLevel:()=>fo,Style:()=>Dc,Type:()=>Ye,addLogFilterSupport:()=>sd,applyColor:()=>is,applyHyperlink:()=>Lg,applyStyle:()=>Ty,json:()=>Rc,jsonOrPretty:()=>G0e,mark:()=>$S,pretty:()=>et,prettyField:()=>Jo,prettyList:()=>ZS,supportsColor:()=>Ny,supportsHyperlinks:()=>VS,tuple:()=>go});var id=ge(BS()),nd=ge(pc());var vJ=ge(rs()),SJ=ge(fJ());var ve={};ft(ve,{AsyncActions:()=>IJ,BufferStream:()=>EJ,CachingStrategy:()=>Pc,DefaultStream:()=>yJ,allSettledSafe:()=>uo,assertNever:()=>GS,bufferStream:()=>Fg,buildIgnorePattern:()=>M0e,convertMapsToIndexableObjects:()=>Fy,dynamicRequire:()=>Ng,escapeRegExp:()=>F0e,getArrayWithDefault:()=>Pg,getFactoryWithDefault:()=>Ja,getMapWithDefault:()=>Dg,getSetWithDefault:()=>xc,isIndexableObject:()=>jS,isPathLike:()=>K0e,isTaggedYarnVersion:()=>R0e,mapAndFilter:()=>qo,mapAndFind:()=>ed,overrideType:()=>HS,parseBoolean:()=>rd,parseOptionalBoolean:()=>QJ,prettifyAsyncErrors:()=>Rg,prettifySyncErrors:()=>YS,releaseAfterUseAsync:()=>L0e,replaceEnvVariables:()=>qS,sortMap:()=>xn,tryParseOptionalBoolean:()=>JS,validateEnum:()=>N0e});var hJ=ge(rs()),pJ=ge(lg()),dJ=ge(ri()),US=ge(require("stream"));function R0e(t){return!!(dJ.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/))}function F0e(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function HS(t){}function GS(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function N0e(t,e){let r=Object.values(t);if(!r.includes(e))throw new Pe(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(i=>JSON.stringify(i)).join(", ")})`);return e}function qo(t,e){let r=[];for(let i of t){let n=e(i);n!==CJ&&r.push(n)}return r}var CJ=Symbol();qo.skip=CJ;function ed(t,e){for(let r of t){let i=e(r);if(i!==mJ)return i}}var mJ=Symbol();ed.skip=mJ;function jS(t){return typeof t=="object"&&t!==null}async function uo(t){let e=await Promise.allSettled(t),r=[];for(let i of e){if(i.status==="rejected")throw i.reason;r.push(i.value)}return r}function Fy(t){if(t instanceof Map&&(t=Object.fromEntries(t)),jS(t))for(let e of Object.keys(t)){let r=t[e];jS(r)&&(t[e]=Fy(r))}return t}function Ja(t,e,r){let i=t.get(e);return typeof i=="undefined"&&t.set(e,i=r()),i}function Pg(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=[]),r}function xc(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Set),r}function Dg(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Map),r}async function L0e(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function Rg(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function YS(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Fg(t){return await new Promise((e,r)=>{let i=[];t.on("error",n=>{r(n)}),t.on("data",n=>{i.push(n)}),t.on("end",()=>{e(Buffer.concat(i))})})}var EJ=class extends US.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}};function T0e(){let t,e;return{promise:new Promise((i,n)=>{t=i,e=n}),resolve:t,reject:e}}var IJ=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,pJ.default)(e)}set(e,r){let i=this.deferred.get(e);typeof i=="undefined"&&this.deferred.set(e,i=T0e());let n=this.limit(()=>r());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,r){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>r(i))}async wait(){await Promise.all(this.promises.values())}},yJ=class extends US.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},td=eval("require");function wJ(t){return td(H.fromPortablePath(t))}function BJ(path){let physicalPath=H.fromPortablePath(path),currentCacheEntry=td.cache[physicalPath];delete td.cache[physicalPath];let result;try{result=wJ(physicalPath);let freshCacheEntry=td.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{td.cache[physicalPath]=currentCacheEntry}return result}var bJ=new Map;function O0e(t){let e=bJ.get(t),r=K.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let i=BJ(t);return bJ.set(t,{mtime:r.mtimeMs,instance:i}),i}var Pc;(function(i){i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node"})(Pc||(Pc={}));function Ng(t,{cachingStrategy:e=2}={}){switch(e){case 0:return BJ(t);case 1:return O0e(t);case 2:return wJ(t);default:throw new Error("Unsupported caching strategy")}}function xn(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(r.map(o=>s(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function M0e(t){return t.length===0?null:t.map(e=>`(${hJ.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function qS(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new Pe(`Environment variable not found (${n})`)})}function rd(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function QJ(t){return typeof t=="undefined"?t:rd(t)}function JS(t){try{return QJ(t)}catch{return null}}function K0e(t){return!!(H.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}var Qt;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Qt||(Qt={}));var yi;(function(i){i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta"})(yi||(yi={}));var qi;(function(i){i.Inactive="inactive",i.Redundant="redundant",i.Active="active"})(qi||(qi={}));var Ye={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},Dc;(function(e){e[e.BOLD=2]="BOLD"})(Dc||(Dc={}));var _S=nd.default.GITHUB_ACTIONS?{level:2}:id.default.supportsColor?{level:id.default.supportsColor.level}:{level:0},Ny=_S.level!==0,VS=Ny&&!nd.default.GITHUB_ACTIONS&&!nd.default.CIRCLE&&!nd.default.GITLAB,XS=new id.default.Instance(_S),U0e=new Map([[Ye.NO_HINT,null],[Ye.NULL,["#a853b5",129]],[Ye.SCOPE,["#d75f00",166]],[Ye.NAME,["#d7875f",173]],[Ye.RANGE,["#00afaf",37]],[Ye.REFERENCE,["#87afff",111]],[Ye.NUMBER,["#ffd700",220]],[Ye.PATH,["#d75fd7",170]],[Ye.URL,["#d75fd7",170]],[Ye.ADDED,["#5faf00",70]],[Ye.REMOVED,["#d70000",160]],[Ye.CODE,["#87afff",111]],[Ye.SIZE,["#ffd700",220]]]),Rs=t=>t,Ly={[Ye.NUMBER]:Rs({pretty:(t,e)=>`${e}`,json:t=>t}),[Ye.IDENT]:Rs({pretty:(t,e)=>gi(t,e),json:t=>Ot(t)}),[Ye.LOCATOR]:Rs({pretty:(t,e)=>Bt(t,e),json:t=>Ds(t)}),[Ye.DESCRIPTOR]:Rs({pretty:(t,e)=>sr(t,e),json:t=>Pn(t)}),[Ye.RESOLUTION]:Rs({pretty:(t,{descriptor:e,locator:r})=>zS(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:Pn(t),locator:e!==null?Ds(e):null})}),[Ye.DEPENDENT]:Rs({pretty:(t,{locator:e,descriptor:r})=>WS(t,e,r),json:({locator:t,descriptor:e})=>({locator:Ds(t),descriptor:Pn(e)})}),[Ye.PACKAGE_EXTENSION]:Rs({pretty:(t,e)=>{switch(e.type){case yi.Dependency:return`${gi(t,e.parentDescriptor)} \u27A4 ${is(t,"dependencies",Ye.CODE)} \u27A4 ${gi(t,e.descriptor)}`;case yi.PeerDependency:return`${gi(t,e.parentDescriptor)} \u27A4 ${is(t,"peerDependencies",Ye.CODE)} \u27A4 ${gi(t,e.descriptor)}`;case yi.PeerDependencyMeta:return`${gi(t,e.parentDescriptor)} \u27A4 ${is(t,"peerDependenciesMeta",Ye.CODE)} \u27A4 ${gi(t,An(e.selector))} \u27A4 ${is(t,e.key,Ye.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case yi.Dependency:return`${Ot(t.parentDescriptor)} > ${Ot(t.descriptor)}`;case yi.PeerDependency:return`${Ot(t.parentDescriptor)} >> ${Ot(t.descriptor)}`;case yi.PeerDependencyMeta:return`${Ot(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Ye.SETTING]:Rs({pretty:(t,e)=>(t.get(e),Lg(t,is(t,e,Ye.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Ye.DURATION]:Rs({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),i=Math.ceil((e-r*60*1e3)/1e3);return i===0?`${r}m`:`${r}m ${i}s`}else{let r=Math.floor(e/1e3),i=e-r*1e3;return i===0?`${r}s`:`${r}s ${i}ms`}},json:t=>t}),[Ye.SIZE]:Rs({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],i=r.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return is(t,`${s} ${r[i-1]}`,Ye.NUMBER)},json:t=>t}),[Ye.PATH]:Rs({pretty:(t,e)=>is(t,H.fromPortablePath(e),Ye.PATH),json:t=>H.fromPortablePath(t)}),[Ye.MARKDOWN]:Rs({pretty:(t,{text:e,format:r,paragraphs:i})=>Ui(e,{format:r,paragraphs:i}),json:({text:t})=>t})};function go(t,e){return[e,t]}function Ty(t,e,r){return t.get("enableColors")&&r&2&&(e=id.default.bold(e)),e}function is(t,e,r){if(!t.get("enableColors"))return e;let i=U0e.get(r);if(i===null)return e;let n=typeof i=="undefined"?r:_S.level>=3?i[0]:i[1],s=typeof n=="number"?XS.ansi256(n):n.startsWith("#")?XS.hex(n):XS[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var H0e=!!process.env.KONSOLE_VERSION;function Lg(t,e,r){return t.get("enableHyperlinks")?H0e?`]8;;${r}\\${e}]8;;\\`:`]8;;${r}\x07${e}]8;;\x07`:e}function et(t,e,r){if(e===null)return is(t,"null",Ye.NULL);if(Object.prototype.hasOwnProperty.call(Ly,r))return Ly[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return is(t,e,r)}function ZS(t,e,r,{separator:i=", "}={}){return[...e].map(n=>et(t,n,r)).join(i)}function Rc(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(Ly,e))return HS(e),Ly[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function G0e(t,e,[r,i]){return t?Rc(r,i):et(e,r,i)}function $S(t){return{Check:is(t,"\u2713","green"),Cross:is(t,"\u2718","red"),Question:is(t,"?","cyan")}}function Jo(t,{label:e,value:[r,i]}){return`${et(t,e,Ye.CODE)}: ${et(t,r,i)}`}var fo;(function(n){n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard"})(fo||(fo={}));function sd(t,{configuration:e}){let r=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of r){let f=g.get("level");if(typeof f=="undefined")continue;let h=g.get("code");typeof h!="undefined"&&i.set(h,f);let p=g.get("text");typeof p!="undefined"&&n.set(p,f);let m=g.get("pattern");typeof m!="undefined"&&s.push([vJ.default.matcher(m,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===$.UNNAMED)return h;let p=n.size>0||s.length>0?(0,SJ.default)(f):f;if(n.size>0){let m=n.get(p);if(typeof m!="undefined")return m!=null?m:h}if(s.length>0){for(let[m,y]of s)if(m(p))return y!=null?y:h}if(i.size>0){let m=i.get(qA(g));if(typeof m!="undefined")return m!=null?m:h}return h},a=t.reportInfo,l=t.reportWarning,c=t.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case fo.Info:a.call(g,f,h);break;case fo.Warning:l.call(g,f!=null?f:$.UNNAMED,h);break;case fo.Error:c.call(g,f!=null?f:$.UNNAMED,h);break}};t.reportInfo=function(...g){return u(this,...g,fo.Info)},t.reportWarning=function(...g){return u(this,...g,fo.Warning)},t.reportError=function(...g){return u(this,...g,fo.Error)}}var Dn={};ft(Dn,{checksumFile:()=>lw,checksumPattern:()=>cw,makeHash:()=>ln});var Aw=ge(require("crypto")),ox=ge(sx());function ln(...t){let e=(0,Aw.createHash)("sha512"),r="";for(let i of t)typeof i=="string"?r+=i:i&&(r&&(e.update(r),r=""),e.update(i));return r&&e.update(r),e.digest("hex")}async function lw(t,{baseFs:e,algorithm:r}={baseFs:K,algorithm:"sha512"}){let i=await e.openPromise(t,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,Aw.createHash)(r),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function cw(t,{cwd:e}){let i=(await(0,ox.default)(t,{cwd:H.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,ox.default)([t,...i],{cwd:H.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=H.toPortablePath(a),u=await K.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await K.readlinkPromise(c))):u.isFile()&&l.push(await K.readFilePromise(c)),l.join("\0")})),o=(0,Aw.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var ld="virtual:",nSe=5,c8=/(os|cpu|libc)=([a-z0-9_-]+)/,sSe=(0,l8.makeParser)(c8);function Vo(t,e){if(t==null?void 0:t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:ln(t,e),scope:t,name:e}}function rr(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:ln(t.identHash,e),range:e}}function cn(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:ln(t.identHash,e),reference:e}}function oSe(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function gw(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function ax(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function aSe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function cd(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function ud(t){return cd(t,t)}function Ax(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return rr(t,`virtual:${e}#${t.range}`)}function lx(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return cd(t,cn(t,`virtual:${e}#${t.reference}`))}function nl(t){return t.range.startsWith(ld)}function Xo(t){return t.reference.startsWith(ld)}function gd(t){if(!nl(t))throw new Error("Not a virtual descriptor");return rr(t,t.range.replace(/^[^#]*#/,""))}function fd(t){if(!Xo(t))throw new Error("Not a virtual descriptor");return cn(t,t.reference.replace(/^[^#]*#/,""))}function ASe(t,e){return t.range.includes("::")?t:rr(t,`${t.range}::${Hg.default.stringify(e)}`)}function lSe(t,e){return t.reference.includes("::")?t:cn(t,`${t.reference}::${Hg.default.stringify(e)}`)}function hd(t,e){return t.identHash===e.identHash}function u8(t,e){return t.descriptorHash===e.descriptorHash}function pd(t,e){return t.locatorHash===e.locatorHash}function cSe(t,e){if(!Xo(t))throw new Error("Invalid package type");if(!Xo(e))throw new Error("Invalid package type");if(!hd(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let i=e.dependencies.get(r.identHash);if(!i||!u8(r,i))return!1}return!0}function An(t){let e=g8(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function g8(t){let e=t.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,r,i]=e,n=typeof r!="undefined"?r:null;return Vo(n,i)}function sl(t,e=!1){let r=dd(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function dd(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid range (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return rr(Vo(o,n),a)}function Kc(t,e=!1){let r=fw(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function fw(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid reference (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return cn(Vo(o,n),a)}function Gg(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let i=typeof r[1]!="undefined"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof r[3]!="undefined"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${t})`);let s=typeof r[3]!="undefined"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),o=(e==null?void 0:e.parseSelector)?Hg.default.parse(s):s,a=typeof r[4]!="undefined"?Hg.default.parse(r[4]):null;return{protocol:i,source:n,selector:o,params:a}}function uSe(t,{protocol:e}){let{selector:r,params:i}=Gg(t,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:Kc(i.locator,!0),path:r}}function f8(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function gSe(t){return t===null?!1:Object.entries(t).length>0}function hw({protocol:t,source:e,selector:r,params:i}){let n="";return t!==null&&(n+=`${t}`),e!==null&&(n+=`${f8(e)}#`),n+=f8(r),gSe(i)&&(n+=`::${Hg.default.stringify(i)}`),n}function fSe(t){let{params:e,protocol:r,source:i,selector:n}=Gg(t);for(let s in e)s.startsWith("__")&&delete e[s];return hw({protocol:r,source:i,params:e,selector:n})}function Ot(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function Pn(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function Ds(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function cx(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function jg(t){let{protocol:e,selector:r}=Gg(t.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=A8.default.valid(r),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=t.scope?`${cx(t)}-${s}-${t.locatorHash.slice(0,o)}`:`${cx(t)}-${s}-${t.locatorHash.slice(0,o)}`;return Jr(a)}function gi(t,e){return e.scope?`${et(t,`@${e.scope}/`,Ye.SCOPE)}${et(t,e.name,Ye.NAME)}`:`${et(t,e.name,Ye.NAME)}`}function pw(t){if(t.startsWith(ld)){let e=pw(t.substring(t.indexOf("#")+1)),r=t.substring(ld.length,ld.length+nSe);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function uw(t,e){return`${et(t,pw(e),Ye.RANGE)}`}function sr(t,e){return`${gi(t,e)}${et(t,"@",Ye.RANGE)}${uw(t,e.range)}`}function Cd(t,e){return`${et(t,pw(e),Ye.REFERENCE)}`}function Bt(t,e){return`${gi(t,e)}${et(t,"@",Ye.REFERENCE)}${Cd(t,e.reference)}`}function ux(t){return`${Ot(t)}@${pw(t.reference)}`}function Yg(t){return xn(t,[e=>Ot(e),e=>e.range])}function md(t,e){return gi(t,e.locator)}function zS(t,e,r){let i=nl(e)?gd(e):e;return r===null?`${sr(t,i)} \u2192 ${$S(t).Cross}`:i.identHash===r.identHash?`${sr(t,i)} \u2192 ${Cd(t,r.reference)}`:`${sr(t,i)} \u2192 ${Bt(t,r)}`}function WS(t,e,r){return r===null?`${Bt(t,e)}`:`${Bt(t,e)} (via ${uw(t,r.range)})`}function gx(t){return`node_modules/${Ot(t)}`}function dw(t,e){return t.conditions?sSe(t.conditions,r=>{let[,i,n]=r.match(c8),s=e[i];return s?s.includes(n):!0}):!0}var h8={hooks:{reduceDependency:(t,e,r,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==Ot(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==Ot(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(rr(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=md(t.configuration,r);await t.configuration.triggerHook(n=>n.validateWorkspace,r,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let i of r.errors)e.reportWarning($.INVALID_MANIFEST,i.message)}}};var m8=ge(ri());var Ed=class{supportsDescriptor(e,r){return!!(e.range.startsWith(Ed.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(Ed.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.getWorkspaceByCwd(e.reference.slice(Ed.protocol.length));return ie(N({},e),{version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:Qt.SOFT,conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin})}},oi=Ed;oi.protocol="workspace:";var Wt={};ft(Wt,{SemVer:()=>p8.SemVer,clean:()=>pSe,satisfiesWithPrereleases:()=>Uc,validRange:()=>ho});var Cw=ge(ri()),p8=ge(ri()),d8=new Map;function Uc(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=d8.get(i);if(typeof n=="undefined")try{n=new Cw.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{d8.set(i,n||null)}else if(n===null)return!1;let s;try{s=new Cw.default.SemVer(t,n)}catch(o){return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var C8=new Map;function ho(t){if(t.indexOf(":")!==-1)return null;let e=C8.get(t);if(typeof e!="undefined")return e;try{e=new Cw.default.Range(t)}catch{e=null}return C8.set(t,e),e}var hSe=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/;function pSe(t){let e=hSe.exec(t);return e?e[1]:null}var ol=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new ar}={}){let i=x.join(e,"package.json");try{return await ol.fromFile(i,{baseFs:r})}catch(n){if(n.code==="ENOENT")return null;throw n}}static async find(e,{baseFs:r}={}){let i=await ol.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new ar}={}){let i=new ol;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new ol;return r.loadFromText(e),r}static isManifestFieldCompatible(e,r){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,r===s.slice(1))return!1}else if(i=!1,s===r)return!0;return n&&i}loadFromText(e){let r;try{r=JSON.parse(I8(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=E8(e)}async loadFile(e,{baseFs:r=new ar}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse(I8(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=E8(i)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=An(e.name)}catch(s){i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(Array.isArray(e.libc)){let s=[];this.libc=s;for(let o of e.libc)typeof o!="string"?i.push(new Error("Parsing failed for the 'libc' field")):s.push(o)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=un(e.main):this.main=null,typeof e.module=="string"?this.module=un(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=un(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(un(s),typeof o=="string"?un(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,un(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}let a=An(s);this.bin.set(a.name,un(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(oi.protocol)&&!ho(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=rr(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=sl(s),l=this.ensureDependencyMeta(a),c=mw(o.built,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=mw(o.optional,{yamlCompatibilityMode:r});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=mw(o.unplugged,{yamlCompatibilityMode:r});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=sl(s),l=this.ensurePeerDependencyMeta(a),c=mw(o.optional,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:iI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=un(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=un(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=un(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(un(s),typeof o=="string"?un(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,un(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,un(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(un(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.dependencies.set(l.identHash,l);let c=rr(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(fx("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(fx("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(fx("libc",this.libc)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return ol.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return ol.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!m8.default.valid(e.range))throw new Error(`Invalid meta field range for '${Pn(e)}'`);let r=Ot(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(r);n||this.dependenciesMeta.set(r,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Pn(e)}'`);let r=Ot(e),i=this.peerDependenciesMeta.get(r);return i||this.peerDependenciesMeta.set(r,i={}),i}setRawField(e,r,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=r,a=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=Ot(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=ie(N({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:o})=>o)}):e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(Ot(o)),l=!1;if(r&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Yg(i).map(o=>({[Ot(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Yg(n).map(o=>({[Ot(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Yg(this.devDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Yg(this.peerDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of xn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of xn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?Pn(rr(An(o),l)):o,g=N({},c);r&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...xn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[nI(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},At=ol;At.fileName="package.json",At.allDependencies=["dependencies","devDependencies","peerDependencies"],At.hardDependencies=["dependencies","devDependencies"];function E8(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function I8(t){return t.charCodeAt(0)===65279?t.slice(1):t}function un(t){return t.replace(/\\/g,"/")}function mw(t,{yamlCompatibilityMode:e}){return e?JS(t):typeof t=="undefined"||typeof t=="boolean"?t:null}function y8(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let i=r%2==0?"":"!",n=e.slice(r);return`${i}${t}=${n}`}function fx(t,e){return e.length===1?y8(t,e[0]):`(${e.map(r=>y8(t,r)).join(" | ")})`}var Z8=ge(X8()),$8=ge(require("stream")),e4=ge(require("string_decoder"));var Ake=15,ct=class extends Error{constructor(e,r,i){super(r);this.reportExtra=i;this.reportCode=e}};function lke(t){return typeof t.reportCode!="undefined"}var Ji=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),r=l,c()},o=(l=0)=>{s(r+1)},a=async function*(){for(;r{r=o}),n=(0,Z8.default)(o=>{let a=r;i=new Promise(l=>{r=l}),e=o,a()},1e3/Ake),s=async function*(){for(;;)await i,yield{title:e}}();return{[Symbol.asyncIterator](){return s},hasProgress:!1,hasTitle:!0,setTitle:n}}async startProgressPromise(e,r){let i=this.reportProgress(e);try{return await r(e)}finally{i.stop()}}startProgressSync(e,r){let i=this.reportProgress(e);try{return r(e)}finally{i.stop()}}reportInfoOnce(e,r,i){var s;let n=i&&i.key?i.key:r;this.reportedInfos.has(n)||(this.reportedInfos.add(n),this.reportInfo(e,r),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportWarningOnce(e,r,i){var s;let n=i&&i.key?i.key:r;this.reportedWarnings.has(n)||(this.reportedWarnings.add(n),this.reportWarning(e,r),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportErrorOnce(e,r,i){var s;let n=i&&i.key?i.key:r;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,r),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportExceptionOnce(e){lke(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce($.EXCEPTION,e.stack||e.message,{key:e})}createStreamReporter(e=null){let r=new $8.PassThrough,i=new e4.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),r}};var wd=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));return i||null}getFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));if(!i)throw new ct($.FETCHER_NOT_FOUND,`${Bt(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var Bd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,r,i)}async getSatisfying(e,r,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,r,i)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));return i||null}getResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));if(!i)throw new Error(`${sr(r.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));return i||null}getResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));if(!i)throw new Error(`${Bt(r.project.configuration,e)} isn't supported by any available resolver`);return i}};var t4=ge(ri());var qg=/^(?!v)[a-z0-9._-]+$/i,dx=class{supportsDescriptor(e,r){return!!(ho(e.range)||qg.test(e.range))}supportsLocator(e,r){return!!(t4.default.valid(e.reference)||qg.test(e.reference))}shouldPersistResolution(e,r){return r.resolver.shouldPersistResolution(this.forwardLocator(e,r),r)}bindDescriptor(e,r,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),r,i)}getResolutionDependencies(e,r){return r.resolver.getResolutionDependencies(this.forwardDescriptor(e,r),r)}async getCandidates(e,r,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),r,i)}async getSatisfying(e,r,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),r,i)}async resolve(e,r){let i=await r.resolver.resolve(this.forwardLocator(e,r),r);return cd(i,e)}forwardDescriptor(e,r){return rr(e,`${r.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,r){return cn(e,`${r.project.configuration.get("defaultProtocol")}${e.reference}`)}};var bd=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=cn(e,n);return r.fetcher.getLocalPath(s,r)}async fetch(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=cn(e,n),o=await r.fetcher.fetch(s,r);return await this.ensureVirtualLink(e,o,r)}getLocatorFilename(e){return jg(e)}async ensureVirtualLink(e,r,i){let n=r.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Wr.makeVirtualPath(s,o,n),l=new Da(a,{baseFs:r.packageFs,pathUtils:x});return ie(N({},r),{packageFs:l})}};var Jg=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Jg.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Jg.protocol)}supportsDescriptor(e,r){return Jg.isVirtualDescriptor(e)}supportsLocator(e,r){return Jg.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},Ew=Jg;Ew.protocol="virtual:";var Qd=class{supports(e){return!!e.reference.startsWith(oi.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let i=this.getWorkspace(e,r).cwd;return{packageFs:new _t(i),prefixPath:Ke.dot,localPath:i}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(oi.protocol.length))}};var Cx={};ft(Cx,{getDefaultGlobalFolder:()=>Ex,getHomeFolder:()=>vd,isFolderInside:()=>Ix});var mx=ge(require("os"));function Ex(){if(process.platform==="win32"){let t=H.toPortablePath(process.env.LOCALAPPDATA||H.join((0,mx.homedir)(),"AppData","Local"));return x.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=H.toPortablePath(process.env.XDG_DATA_HOME);return x.resolve(t,"yarn/berry")}return x.resolve(vd(),".yarn/berry")}function vd(){return H.toPortablePath((0,mx.homedir)()||"/usr/local/share")}function Ix(t,e){let r=x.relative(e,t);return r&&!r.startsWith("..")&&!x.isAbsolute(r)}var Wg={};ft(Wg,{builtinModules:()=>yx,getArchitecture:()=>Sd,getArchitectureName:()=>uke,getArchitectureSet:()=>wx});var r4=ge(require("module"));function yx(){return new Set(r4.default.builtinModules||Object.keys(process.binding("natives")))}function cke(){var i,n,s,o;if(process.platform==="win32")return null;let e=(s=((n=(i=process.report)==null?void 0:i.getReport())!=null?n:{}).sharedObjects)!=null?s:[],r=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return(o=ed(e,a=>{let l=a.match(r);if(!l)return ed.skip;if(l[1])return"glibc";if(l[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")}))!=null?o:null}var Iw,yw;function Sd(){return Iw=Iw!=null?Iw:{os:process.platform,cpu:process.arch,libc:cke()}}function uke(t=Sd()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}-${t.cpu}`}function wx(){let t=Sd();return yw=yw!=null?yw:{os:[t.os],cpu:[t.cpu],libc:t.libc?[t.libc]:[]}}var gke=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),Bw="yarn_",bx=".yarnrc.yml",Qx="yarn.lock",fke="********",ye;(function(u){u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP"})(ye||(ye={}));var Di=Ye,vx={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:ye.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:ye.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:ye.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:ye.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:ye.STRING,default:null},globalFolder:{description:"Folder where all system-global files are stored",type:ye.ABSOLUTE_PATH,default:Ex()},cacheFolder:{description:"Folder where the cache files must be written",type:ye.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:ye.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:nc},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:ye.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:ye.STRING,default:Qx},installStatePath:{description:"Path of the file where the install state will be persisted",type:ye.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:ye.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:ye.STRING,default:bw()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:ye.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:ye.BOOLEAN,default:Ny,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:ye.BOOLEAN,default:VS,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:ye.BOOLEAN,default:ww.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:ye.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:ye.BOOLEAN,default:!ww.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:ye.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:ye.BOOLEAN,default:ww.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:ye.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:ye.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:ye.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:ye.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:ye.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:ye.BOOLEAN,default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:ye.SHAPE,properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:ye.STRING,isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:ye.STRING,isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:ye.STRING,isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:ye.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ye.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ye.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ye.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:ye.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:ye.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:ye.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:ye.NUMBER,default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:ye.MAP,valueDefinition:{description:"",type:ye.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:ye.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ye.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ye.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ye.STRING,default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:ye.ABSOLUTE_PATH,default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:ye.ABSOLUTE_PATH,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:ye.ABSOLUTE_PATH,default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:ye.ABSOLUTE_PATH,default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:ye.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:ye.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:ye.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:ye.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:ye.STRING,default:void 0},pattern:{description:"Code of the patterns covered by this override",type:ye.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:ye.STRING,values:Object.values(fo),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:ye.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:ye.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:ye.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:ye.BOOLEAN,default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:ye.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:ye.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:ye.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:ye.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:ye.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:ye.MAP,valueDefinition:{description:"A range",type:ye.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:ye.MAP,valueDefinition:{description:"A semver range",type:ye.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:ye.MAP,valueDefinition:{description:"The peerDependency meta",type:ye.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:ye.BOOLEAN,default:!1}}}}}}}};function kx(t,e,r,i,n){if(i.isArray||i.type===ye.ANY&&Array.isArray(r))return Array.isArray(r)?r.map((s,o)=>Sx(t,`${e}[${o}]`,s,i,n)):String(r).split(/,/).map(s=>Sx(t,e,s,i,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return Sx(t,e,r,i,n)}function Sx(t,e,r,i,n){var a;switch(i.type){case ye.ANY:return r;case ye.SHAPE:return hke(t,e,r,i,n);case ye.MAP:return pke(t,e,r,i,n)}if(r===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(r))return r;let o=(()=>{if(i.type===ye.BOOLEAN&&typeof r!="string")return rd(r);if(typeof r!="string")throw new Error(`Expected value (${r}) to be a string`);let l=qS(r,{env:process.env});switch(i.type){case ye.ABSOLUTE_PATH:return x.resolve(n,H.toPortablePath(l));case ye.LOCATOR_LOOSE:return Kc(l,!1);case ye.NUMBER:return parseInt(l);case ye.LOCATOR:return Kc(l);case ye.BOOLEAN:return rd(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function hke(t,e,r,i,n){if(typeof r!="object"||Array.isArray(r))throw new Pe(`Object configuration settings "${e}" must be an object`);let s=xx(t,i,{ignoreArrays:!0});if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=`${e}.${o}`;if(!i.properties[o])throw new Pe(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,kx(t,l,a,i.properties[o],n))}return s}function pke(t,e,r,i,n){let s=new Map;if(typeof r!="object"||Array.isArray(r))throw new Pe(`Map configuration settings "${e}" must be an object`);if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,kx(t,c,a,u,n))}return s}function xx(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case ye.SHAPE:{if(e.isArray&&!r)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,xx(t,s));return i}break;case ye.MAP:return e.isArray&&!r?[]:new Map;case ye.ABSOLUTE_PATH:return e.default===null?null:t.projectCwd===null?x.isAbsolute(e.default)?x.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>x.resolve(t.projectCwd,i)):x.resolve(t.projectCwd,e.default);default:return e.default}}function Qw(t,e,r){if(e.type===ye.SECRET&&typeof t=="string"&&r.hideSecrets)return fke;if(e.type===ye.ABSOLUTE_PATH&&typeof t=="string"&&r.getNativePaths)return H.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let i=[];for(let n of t)i.push(Qw(n,e,r));return i}if(e.type===ye.MAP&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries())i.set(n,Qw(s,e.valueDefinition,r));return i}if(e.type===ye.SHAPE&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries()){let o=e.properties[n];i.set(n,Qw(s,o,r))}return i}return t}function dke(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(Bw)&&(e=(0,i4.default)(e.slice(Bw.length)),t[e]=r);return t}function bw(){let t=`${Bw}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return bx}var al;(function(i){i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE"})(al||(al={}));var Za=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,i){let n=new Za(e);typeof r!="undefined"&&!(r instanceof Map)&&(n.projectCwd=r),n.importSettings(vx);let s=typeof i!="undefined"?i:r instanceof Map?r:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,r,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=dke();delete a.rcFilename;let l=await Za.findRcFiles(e),c=await Za.findHomeRcFile();if(c){let b=l.find(S=>S.path===c.path);b?b.strict=!1:l.push(ie(N({},c),{strict:!1}))}let u=({ignoreCwd:b,yarnPath:S,ignorePath:k,lockfileFilename:T})=>({ignoreCwd:b,yarnPath:S,ignorePath:k,lockfileFilename:T}),g=j=>{var Z=j,{ignoreCwd:b,yarnPath:S,ignorePath:k,lockfileFilename:T}=Z,Y=Tr(Z,["ignoreCwd","yarnPath","ignorePath","lockfileFilename"]);return Y},f=new Za(e);f.importSettings(u(vx)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:b,cwd:S,data:k}of l)f.useWithSource(b,u(k),S,{strict:!1});if(s){let b=f.get("yarnPath"),S=f.get("ignorePath");if(b!==null&&!S)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await Za.findProjectCwd(e,h);break;case 1:p=await Za.findProjectCwd(e,null);break;case 2:K.existsSync(x.join(e,"package.json"))?p=x.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(vx));let m=new Map([["@@core",h8]]),y=b=>"default"in b?b.default:b;if(r!==null){for(let T of r.plugins.keys())m.set(T,y(r.modules.get(T)));let b=new Map;for(let T of yx())b.set(T,()=>Ng(T));for(let[T,Y]of r.modules)b.set(T,()=>Y);let S=new Set,k=async(T,Y)=>{let{factory:j,name:Z}=Ng(T);if(S.has(Z))return;let J=new Map(b),re=A=>{if(J.has(A))return J.get(A)();throw new Pe(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},ee=await Rg(async()=>y(await j(re)),A=>`${A} (when initializing ${Z}, defined in ${Y})`);b.set(Z,()=>ee),S.add(Z),m.set(Z,ee)};if(a.plugins)for(let T of a.plugins.split(";")){let Y=x.resolve(e,H.toPortablePath(T));await k(Y,"")}for(let{path:T,cwd:Y,data:j}of l)if(!!o&&!!Array.isArray(j.plugins))for(let Z of j.plugins){let J=typeof Z!="string"?Z.path:Z,re=x.resolve(Y,H.toPortablePath(J));await k(re,T)}}for(let[b,S]of m)f.activatePlugin(b,S);f.useWithSource("",g(a),e,{strict:n});for(let{path:b,cwd:S,data:k,strict:T}of l)f.useWithSource(b,g(k),S,{strict:T!=null?T:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let r=bw(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=x.join(s,r);if(K.existsSync(o)){let a=await K.readFilePromise(o,"utf8"),l;try{l=Qi(a)}catch(c){let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new Pe(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=x.dirname(s)}return i}static async findHomeRcFile(){let e=bw(),r=vd(),i=x.join(r,e);if(K.existsSync(i)){let n=await K.readFilePromise(i,"utf8"),s=Qi(n);return{path:i,cwd:r,data:s}}return null}static async findProjectCwd(e,r){let i=null,n=e,s=null;for(;n!==s;){if(s=n,K.existsSync(x.join(s,"package.json"))&&(i=s),r!==null){if(K.existsSync(x.join(s,r))){i=s;break}}else if(i!==null)break;n=x.dirname(s)}return i}static async updateConfiguration(e,r){let i=bw(),n=x.join(e,i),s=K.existsSync(n)?Qi(await K.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof r=="function"){try{a=r(s)}catch{a=r({})}if(a===s)return}else{a=s;for(let l of Object.keys(r)){let c=s[l],u=r[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await K.changeFilePromise(n,La(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let r=vd();return await Za.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration!="undefined"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,i]of Object.entries(e))if(i!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,i),this.values.set(r,xx(this,i))}}useWithSource(e,r,i,n){try{this.use(e,r,i,n)}catch(s){throw s.message+=` (in ${et(this,e,Ye.PATH)})`,s}}use(e,r,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(r)]){if(typeof r[o]=="undefined"||o==="plugins"||e===""&&gke.has(o))continue;if(o==="rcFilename")throw new Pe(`The rcFilename settings can only be set via ${`${Bw}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new Pe(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===ye.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=kx(this,o,r[o],l,i)}catch(u){throw u.message+=` in ${et(this,e,Ye.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type===ye.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s=="undefined")throw new Pe(`Couldn't find a configuration settings named "${e}"`);return Qw(n,s,{hideSecrets:r,getNativePaths:i})}getSubprocessStreams(e,{header:r,prefix:i,report:n}){let s,o,a=K.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${et(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${et(this,"STDERR","red")}`);s=new Bx.PassThrough,s.pipe(l),s.pipe(a),o=new Bx.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof r!="undefined"&&s.write(`${r} +`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let i of r.resolvers||[])e.push(new i);return new Bd([new Ew,new oi,new dx,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new wd([new bd,new Qd,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=Sd(),r=this.get("supportedArchitectures"),i=r.get("os");i!==null&&(i=i.map(o=>o==="current"?e.os:o));let n=r.get("cpu");n!==null&&(n=n.map(o=>o==="current"?e.cpu:o));let s=r.get("libc");return s!==null&&(s=qo(s,o=>{var a;return o==="current"?(a=e.libc)!=null?a:qo.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!ho(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new At;o.load(n,{yamlCompatibilityMode:!0});let a=Pg(e,i.identHash),l=[];a.push([i.range,l]);let c={status:qi.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(ie(N({},c),{type:yi.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(ie(N({},c),{type:yi.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push(ie(N({},c),{type:yi.PeerDependencyMeta,selector:u,key:f,value:h}))};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(sl(i,!0),Fy(n),{userProvided:!0})}normalizePackage(e){let r=ud(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!Uc(s,o))for(let l of a)switch(l.status===qi.Inactive&&(l.status=qi.Redundant),l.type){case yi.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qi.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case yi.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qi.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case yi.PeerDependencyMeta:{let c=r.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=qi.Active,Ja(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:GS(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependenciesMeta.keys()){let o=An(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,rr(o,"*"))}for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Vo("types",o),l=Ot(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||(r.peerDependencies.set(a.identHash,rr(a,"*")),r.peerDependenciesMeta.set(l,{optional:!0}))}return r.dependencies=new Map(xn(r.dependencies,([,s])=>Pn(s))),r.peerDependencies=new Map(xn(r.peerDependencies,([,s])=>Pn(s))),r}getLimit(e){return Ja(this.limits,e,()=>(0,n4.default)(this.get(e)))}async triggerHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...r)}}async triggerMultipleHooks(e,r){for(let i of r)await this.triggerHook(e,...i)}async reduceHook(e,r,...i){let n=r;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...r);if(typeof o!="undefined")return o}return null}},we=Za;we.telemetry=null;var ns;(function(i){i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always"})(ns||(ns={}));var vw=class extends ct{constructor({fileName:e,code:r,signal:i}){let n=we.create(x.cwd()),s=et(n,e,Ye.PATH);super($.EXCEPTION,`Child ${s} reported an error`,o=>{Cke(r,i,{configuration:n,report:o})});this.code=Dx(r,i)}},Rx=class extends vw{constructor({fileName:e,code:r,signal:i,stdout:n,stderr:s}){super({fileName:e,code:r,signal:i});this.stdout=n,this.stderr=s}};function jc(t){return t!==null&&typeof t.fd=="number"}var Yc=new Set;function Fx(){}function Nx(){for(let t of Yc)t.kill()}async function $o(t,e,{cwd:r,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":jc(s)&&(c[0]=s),jc(o)&&(c[1]=o),jc(a)&&(c[2]=a);let u=(0,Px.default)(t,e,{cwd:H.fromPortablePath(r),env:ie(N({},i),{PWD:H.fromPortablePath(r)}),stdio:c});Yc.add(u),Yc.size===1&&(process.on("SIGINT",Fx),process.on("SIGTERM",Nx)),!jc(s)&&s!==null&&s.pipe(u.stdin),jc(o)||u.stdout.pipe(o,{end:!1}),jc(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))jc(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{Yc.delete(u),Yc.size===0&&(process.off("SIGINT",Fx),process.off("SIGTERM",Nx)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,m)=>{Yc.delete(u),Yc.size===0&&(process.off("SIGINT",Fx),process.off("SIGTERM",Nx)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:Dx(p,m)}):h(new vw({fileName:t,code:p,signal:m}))})})}async function mke(t,e,{cwd:r,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=H.fromPortablePath(r);typeof i.PWD!="undefined"&&(i=ie(N({},i),{PWD:c}));let u=(0,Px.default)(t,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",h=>{let p=we.create(r),m=et(p,t,Ye.PATH);f(new ct($.EXCEPTION,`Process ${m} failed to spawn`,y=>{y.reportError($.EXCEPTION,` ${Jo(p,{label:"Thrown Error",value:go(Ye.NO_HINT,h.message)})}`)}))}),u.on("close",(h,p)=>{let m=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),y=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:Dx(h,p),stdout:m,stderr:y}):f(new Rx({fileName:t,code:h,signal:p,stdout:m,stderr:y}))})})}var Eke=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function Dx(t,e){let r=Eke.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}function Cke(t,e,{configuration:r,report:i}){i.reportError($.EXCEPTION,` ${Jo(r,t!==null?{label:"Exit Code",value:go(Ye.NUMBER,t)}:{label:"Exit Signal",value:go(Ye.CODE,e)})}`)}var ir={};ft(ir,{Method:()=>fl,RequestError:()=>j5.RequestError,del:()=>DDe,get:()=>xDe,getNetworkSettings:()=>W5,post:()=>$P,put:()=>PDe,request:()=>Md});var U5=ge(Yw()),H5=ge(require("https")),G5=ge(require("http")),VP=ge(rs()),XP=ge(K5()),qw=ge(require("url"));var j5=ge(Yw()),Y5=new Map,q5=new Map,QDe=new G5.Agent({keepAlive:!0}),vDe=new H5.Agent({keepAlive:!0});function J5(t){let e=new qw.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function ZP(t){return Ja(q5,t,()=>K.readFilePromise(t).then(e=>(q5.set(t,e),e)))}function SDe({statusCode:t,statusMessage:e},r){let i=et(r,t,Ye.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Lg(r,`${i}${e?` (${e})`:""}`,n)}async function Jw(t,{configuration:e,customErrorMessage:r}){var i,n;try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=r==null?void 0:r(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof U5.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${et(e,"httpTimeout",Ye.SETTING)})`);let a=new ct($.NETWORK_ERROR,o,l=>{s.response&&l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Response Code",value:go(Ye.NO_HINT,SDe(s.response,e))})}`),s.request&&(l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request Method",value:go(Ye.NO_HINT,s.request.options.method)})}`),l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request URL",value:go(Ye.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request Redirects",value:go(Ye.NO_HINT,ZS(e,s.request.redirects,Ye.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request Retry Count",value:go(Ye.NO_HINT,`${et(e,s.request.retryCount,Ye.NUMBER)} (can be increased via ${et(e,"httpRetry",Ye.SETTING)})`)})}`)});throw a.originalError=s,a}}function W5(t,e){let r=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},n=Object.keys(i),s=typeof t=="string"?new qw.URL(t):t;for(let[o,a]of r)if(VP.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var fl;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(fl||(fl={}));async function Md(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=fl.GET}){let a=async()=>await kDe(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o});return await(await r.reduceHook(c=>c.wrapNetworkRequest,a,{target:t,body:e,configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o}))()}async function xDe(t,n){var s=n,{configuration:e,jsonResponse:r}=s,i=Tr(s,["configuration","jsonResponse"]);let o=Ja(Y5,t,()=>Jw(Md(t,null,N({configuration:e},i)),{configuration:e}).then(a=>(Y5.set(t,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),r?JSON.parse(o.toString()):o}async function PDe(t,e,n){var s=n,{customErrorMessage:r}=s,i=Tr(s,["customErrorMessage"]);return(await Jw(Md(t,e,ie(N({},i),{method:fl.PUT})),i)).body}async function $P(t,e,n){var s=n,{customErrorMessage:r}=s,i=Tr(s,["customErrorMessage"]);return(await Jw(Md(t,e,ie(N({},i),{method:fl.POST})),i)).body}async function DDe(t,i){var n=i,{customErrorMessage:e}=n,r=Tr(n,["customErrorMessage"]);return(await Jw(Md(t,null,ie(N({},r),{method:fl.DELETE})),r)).body}async function kDe(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=fl.GET}){let a=typeof t=="string"?new qw.URL(t):t,l=W5(a,{configuration:r});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!VP.default.isMatch(a.hostname,r.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?XP.default.httpOverHttp(J5(l.httpProxy)):QDe,https:l.httpsProxy?XP.default.httpsOverHttp(J5(l.httpsProxy)):vDe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=r.get("httpTimeout"),f=r.get("httpRetry"),h=r.get("enableStrictSsl"),p=l.caFilePath,m=l.httpsCertFilePath,y=l.httpsKeyFilePath,{default:b}=await Promise.resolve().then(()=>ge(Yw())),S=p?await ZP(p):void 0,k=m?await ZP(m):void 0,T=y?await ZP(y):void 0,Y=b.extend(N({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:S,certificate:k,key:T}},u));return r.getLimit("networkConcurrency")(()=>Y(a))}var Zt={};ft(Zt,{PackageManager:()=>hn,detectPackageManager:()=>o6,executePackageAccessibleBinary:()=>u6,executePackageScript:()=>AB,executePackageShellcode:()=>hD,executeWorkspaceAccessibleBinary:()=>VRe,executeWorkspaceLifecycleScript:()=>c6,executeWorkspaceScript:()=>l6,getPackageAccessibleBinaries:()=>lB,getWorkspaceAccessibleBinaries:()=>A6,hasPackageScript:()=>WRe,hasWorkspaceScript:()=>fD,makeScriptEnv:()=>qd,maybeExecuteWorkspaceLifecycleScript:()=>_Re,prepareExternalProject:()=>JRe});var Kd={};ft(Kd,{getLibzipPromise:()=>fn,getLibzipSync:()=>Z5});var X5=ge(_5());var hl=["number","number"],rD;(function(L){L[L.ZIP_ER_OK=0]="ZIP_ER_OK",L[L.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",L[L.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",L[L.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",L[L.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",L[L.ZIP_ER_READ=5]="ZIP_ER_READ",L[L.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",L[L.ZIP_ER_CRC=7]="ZIP_ER_CRC",L[L.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",L[L.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",L[L.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",L[L.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",L[L.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",L[L.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",L[L.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",L[L.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",L[L.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",L[L.ZIP_ER_EOF=17]="ZIP_ER_EOF",L[L.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",L[L.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",L[L.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",L[L.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",L[L.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",L[L.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",L[L.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",L[L.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",L[L.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",L[L.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",L[L.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",L[L.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",L[L.ZIP_ER_TELL=30]="ZIP_ER_TELL",L[L.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})(rD||(rD={}));var V5=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:rD,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,open:t.cwrap("zip_open","number",["string","number","number"]),openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...hl,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...hl,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...hl,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...hl,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...hl,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...hl,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...hl,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...hl,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}});var iD=null;function Z5(){return iD===null&&(iD=V5((0,X5.default)())),iD}async function fn(){return Z5()}var Hd={};ft(Hd,{ShellError:()=>Os,execute:()=>tB,globUtils:()=>zw});var c_=ge(BS()),u_=ge(require("os")),ss=ge(require("stream")),g_=ge(require("util"));var Os=class extends Error{constructor(e){super(e);this.name="ShellError"}};var zw={};ft(zw,{fastGlobOptions:()=>t_,isBraceExpansion:()=>r_,isGlobPattern:()=>RDe,match:()=>FDe,micromatchOptions:()=>Vw});var $5=ge(rw()),e_=ge(require("fs")),_w=ge(rs()),Vw={strictBrackets:!0},t_={onlyDirectories:!1,onlyFiles:!1};function RDe(t){if(!_w.default.scan(t,Vw).isGlob)return!1;try{_w.default.parse(t,Vw)}catch{return!1}return!0}function FDe(t,{cwd:e,baseFs:r}){return(0,$5.default)(t,ie(N({},t_),{cwd:H.fromPortablePath(e),fs:XE(e_.default,new Xh(r))}))}function r_(t){return _w.default.scan(t,Vw).isBrace}var i_=ge(MQ()),ta=ge(require("stream")),n_=ge(require("string_decoder")),Fn;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(Fn||(Fn={}));var Jc=new Set;function nD(){}function sD(){for(let t of Jc)t.kill()}function s_(t,e,r,i){return n=>{let s=n[0]instanceof ta.Transform?"pipe":n[0],o=n[1]instanceof ta.Transform?"pipe":n[1],a=n[2]instanceof ta.Transform?"pipe":n[2],l=(0,i_.default)(t,e,ie(N({},i),{stdio:[s,o,a]}));return Jc.add(l),Jc.size===1&&(process.on("SIGINT",nD),process.on("SIGTERM",sD)),n[0]instanceof ta.Transform&&n[0].pipe(l.stdin),n[1]instanceof ta.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof ta.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(Jc.delete(l),Jc.size===0&&(process.off("SIGINT",nD),process.off("SIGTERM",sD)),u.code){case"ENOENT":n[2].write(`command not found: ${t} +`),c(127);break;case"EACCES":n[2].write(`permission denied: ${t} +`),c(128);break;default:n[2].write(`uncaught error: ${u.message} +`),c(1);break}}),l.on("exit",u=>{Jc.delete(l),Jc.size===0&&(process.off("SIGINT",nD),process.off("SIGTERM",sD)),c(u!==null?u:129)})})}}}function o_(t){return e=>{let r=e[0]==="pipe"?new ta.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var Co=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},a_=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Ud=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:i,stderr:n}){let s=new Ud(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new Ud(this,e),n=new a_;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(r&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(r.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function Xw(t,e){return Ud.start(t,e)}function A_(t,e=null){let r=new ta.PassThrough,i=new n_.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",t(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&t(e!==null?`${e} ${s}`:s)}),r}function l_(t,{prefix:e}){return{stdout:A_(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:A_(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var NDe=(0,g_.promisify)(setTimeout);var zi;(function(r){r[r.Readable=1]="Readable",r[r.Writable=2]="Writable"})(zi||(zi={}));function f_(t,e,r){let i=new ss.PassThrough({autoDestroy:!0});switch(t){case Fn.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof ss.Writable&&i.pipe(r.stdin,{end:!1});break;case Fn.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case Fn.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new Os(`Bad file descriptor: "${t}"`)}return i}function Zw(t,e={}){let r=N(N({},t),e);return r.environment=N(N({},t.environment),e.environment),r.variables=N(N({},t.variables),e.variables),r}var LDe=new Map([["cd",async([t=(0,u_.homedir)(),...e],r,i)=>{let n=x.resolve(i.cwd,H.toPortablePath(t));if(!(await r.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new Os(`cd: no such file or directory: ${t}`):o})).isDirectory())throw new Os(`cd: not a directory: ${t}`);return i.cwd=n,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${H.fromPortablePath(r.cwd)} +`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,i)=>i.exitCode=parseInt(t!=null?t:i.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} +`),0)],["sleep",async([t],e,r)=>{if(typeof t=="undefined")throw new Os("sleep: missing operand");let i=Number(t);if(Number.isNaN(i))throw new Os(`sleep: invalid time interval '${t}'`);return await NDe(1e3*i,0)}],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await Xw(i,{stdin:new Co(r.stdin),stdout:new Co(r.stdout),stderr:new Co(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let i=r.stdin,n=r.stdout,s=r.stderr,o=[],a=[],l=[],c=0;for(;t[c]!=="--";){let g=t[c++],{type:f,fd:h}=JSON.parse(g),p=S=>{switch(h){case null:case 0:o.push(S);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},m=S=>{switch(h){case null:case 1:a.push(S);break;case 2:l.push(S);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},y=Number(t[c++]),b=c+y;for(let S=c;Se.baseFs.createReadStream(x.resolve(r.cwd,H.toPortablePath(t[S]))));break;case"<<<":p(()=>{let k=new ss.PassThrough;return process.nextTick(()=>{k.write(`${t[S]} +`),k.end()}),k});break;case"<&":p(()=>f_(Number(t[S]),1,r));break;case">":case">>":{let k=x.resolve(r.cwd,H.toPortablePath(t[S]));m(k==="/dev/null"?new ss.Writable({autoDestroy:!0,emitClose:!0,write(T,Y,j){setImmediate(j)}}):e.baseFs.createWriteStream(k,f===">>"?{flags:"a"}:void 0))}break;case">&":m(f_(Number(t[S]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new ss.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new ss.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new ss.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await Xw(Gd(t.slice(c+1),e,r),{stdin:new Co(i),stdout:new Co(n),stderr:new Co(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function TDe(t,e,r){let i=[],n=new ss.PassThrough;return n.on("data",s=>i.push(s)),await $w(t,e,Zw(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function h_(t,e,r){let i=t.map(async s=>{let o=await nA(s.args,e,r);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function eB(t){return t.match(/[^ \r\n\t]+/g)||[]}async function p_(t,e,r,i,n=i){switch(t.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(t.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=eB(s);for(let a=0;a=0&&st+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)};async function jd(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let i=[];await p_(ie(N({},t),{quoted:!0}),e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?jd({type:"variable",name:i.join(" ")},e,r):jd({type:"number",value:n},e,r)}else return ODe[t.type](await jd(t.left,e,r),await jd(t.right,e,r))}async function nA(t,e,r){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p=="undefined"&&i.set(h,p=[]),p.push(f)};for(let u of t){let g=!1;switch(u.type){case"redirection":{let f=await nA(u.args,e,r);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await TDe(f.shell,e,r);if(f.quoted)o(h);else{let p=eB(h);for(let m=0;m0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function Gd(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=H.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n=ie(N({},n),{PWD:i}));let[s,...o]=t;if(s==="command")return s_(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return o_(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=r;r.stdin=l,r.stdout=c,r.stderr=u;try{return await a(o,e,r)}finally{r.stdin=g,r.stdout=f,r.stderr=h}})}function MDe(t,e,r){return i=>{let n=new ss.PassThrough,s=$w(t,e,Zw(r,{stdin:n}));return{stdin:n,promise:s}}}function KDe(t,e,r){return i=>{let n=new ss.PassThrough,s=$w(t,e,r);return{stdin:n,promise:s}}}function d_(t,e,r,i){if(e.length===0)return t;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures=N({},i.procedures),i.procedures[n]=t,Gd([...e,"__ysh_run_procedure",n],r,i)}}async function C_(t,e,r){let i=t,n=null,s=null;for(;i;){let o=i.then?N({},r):r,a;switch(i.type){case"command":{let l=await nA(i.args,e,r),c=await h_(i.envs,e,r);a=i.envs.length?Gd(l,e,Zw(o,{environment:c})):Gd(l,e,o)}break;case"subshell":{let l=await nA(i.args,e,r),c=MDe(i.subshell,e,o);a=d_(c,l,e,o)}break;case"group":{let l=await nA(i.args,e,r),c=KDe(i.group,e,o);a=d_(c,l,e,o)}break;case"envs":{let l=await h_(i.envs,e,r);o.environment=N(N({},o.environment),l),a=Gd(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=Xw(a,{stdin:new Co(o.stdin),stdout:new Co(o.stdout),stderr:new Co(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,Fn.STDOUT);break;case"|&":s=s.pipeTo(a,Fn.STDOUT|Fn.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function UDe(t,e,r,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return c_.default.hex(a)}if(i){let s=r.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=l_(r,{prefix:l});return r.backgroundJobs.push(C_(t,e,Zw(r,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${l}, '${o(Xu(t))}' has ended +`)})),0}return await C_(t,e,r)}async function HDe(t,e,r,{background:i=!1}={}){let n,s=a=>{n=a,r.variables["?"]=String(a)},o=async a=>{try{return await UDe(a.chain,e,r,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof Os))throw l;return r.stderr.write(`${l.message} +`),1}};for(s(await o(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":n===0&&s(await o(t.then.line));break;case"||":n!==0&&s(await o(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return n}async function $w(t,e,r){let i=r.backgroundJobs;r.backgroundJobs=[];let n=0;for(let{command:s,type:o}of t){if(n=await HDe(s,e,r,{background:o==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(n)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=i,n}function m_(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>Yd(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>Yd(e));case"arithmetic":return oD(t.arithmetic);case"shell":return aD(t.shell);default:return!1}}function Yd(t){switch(t.type){case"redirection":return t.args.some(e=>Yd(e));case"argument":return t.segments.some(e=>m_(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function oD(t){switch(t.type){case"variable":return m_(t);case"number":return!1;default:return oD(t.left)||oD(t.right)}}function aD(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=aD(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>Yd(s)))||r.args.some(n=>Yd(n));break}if(i)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function tB(t,e=[],{baseFs:r=new ar,builtins:i={},cwd:n=H.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=zw}={}){let g={};for(let[p,m]of Object.entries(s))typeof m!="undefined"&&(g[p]=m);let f=new Map(LDe);for(let[p,m]of Object.entries(i))f.set(p,m);o===null&&(o=new ss.PassThrough,o.end());let h=$E(t,u);if(!aD(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let m=p.chain;for(;m.then;)m=m.then.chain;m.type==="command"&&(m.args=m.args.concat(e.map(y=>({type:"argument",segments:[{type:"text",text:y}]}))))}return await $w(h,{args:e,baseFs:r,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var n6=ge(rB()),s6=ge(lg()),Wc=ge(require("stream"));var $_=ge(Z_()),sB=ge(pc());var e6=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],t6=80,KRe=new Set([$.FETCH_NOT_CACHED,$.UNUSED_CACHE_ENTRY]),URe=5,oB=sB.default.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:sB.default.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:sB.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,r6=new Date,HRe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,GRe=t=>t,aB=GRe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),jRe=HRe&&Object.keys(aB).find(t=>{let e=aB[t];return!(e.date&&(e.date[0]!==r6.getDate()||e.date[1]!==r6.getMonth()+1))})||"default";function i6(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=qA(t===null?0:t);return!r&&t===null?et(e,n,"grey"):n}function gD(t,{configuration:e,json:r}){let i=i6(t,{configuration:e,json:r});if(!i||t===null||t===$.UNNAMED)return i;let n=$[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return Lg(e,i,s)}var Je=class extends Ji{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=URe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(sd(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...KRe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r,e.get("enableProgressBars")&&!i&&r.isTTY&&r.columns>22){let u=e.get("progressBarStyle")||jRe;if(!Object.prototype.hasOwnProperty.call(aB,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=aB[u];let g="\u27A4 YN0000: \u250C ".length,f=Math.max(0,Math.min(r.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*f/80)}}static async start(e,r){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning($.UNNAMED,a)};try{await r(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,r){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof r!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo($.FETCH_NOT_CACHED,r)}startSectionSync({reportHeader:e,reportFooter:r,skipIfEmpty:i},n){let s={committed:!1,action:()=>{e==null||e()}};i?this.uncommitted.add(s):(s.action(),s.committed=!0);let o=Date.now();try{return n()}catch(a){throw this.reportExceptionOnce(a),a}finally{let a=Date.now();this.uncommitted.delete(s),s.committed&&(r==null||r(a-o))}}async startSectionPromise({reportHeader:e,reportFooter:r,skipIfEmpty:i},n){let s={committed:!1,action:()=>{e==null||e()}};i?this.uncommitted.add(s):(s.action(),s.committed=!0);let o=Date.now();try{return await n()}catch(a){throw this.reportExceptionOnce(a),a}finally{let a=Date.now();this.uncommitted.delete(s),s.committed&&(r==null||r(a-o))}}startTimerImpl(e,r,i){let n=typeof r=="function"?{}:r;return{cb:typeof r=="function"?r:i,reportHeader:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,oB!==null&&!this.json&&this.includeInfos&&this.stdout.write(oB.start(e))},reportFooter:o=>{this.indent-=1,oB!==null&&!this.json&&this.includeInfos&&this.stdout.write(oB.end(e)),this.configuration.get("enableTimers")&&o>200?this.reportInfo(null,`\u2514 Completed in ${et(this.configuration,o,Ye.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:n.skipIfEmpty}}startTimerSync(e,r,i){let o=this.startTimerImpl(e,r,i),{cb:n}=o,s=Tr(o,["cb"]);return this.startSectionSync(s,n)}async startTimerPromise(e,r,i){let o=this.startTimerImpl(e,r,i),{cb:n}=o,s=Tr(o,["cb"]);return this.startSectionPromise(s,n)}async startCacheReport(e){let r=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{r!==null&&this.reportCacheChanges(r)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,r){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${et(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${r}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,r){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${et(this.configuration,"\u27A4","yellowBright")} ${n}${this.formatIndent()}${r}`)}reportError(e,r){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${et(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${r}`,{truncate:!1})}reportProgress(e){if(this.progressStyle===null)return ie(N({},Promise.resolve()),{stop:()=>{}});if(e.hasProgress&&e.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let r=!1,i=Promise.resolve().then(async()=>{let s={progress:e.hasProgress?0:void 0,title:e.hasTitle?"":void 0};this.progress.set(e,{definition:s,lastScaledSize:e.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:o,title:a}of e)r||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{r||(r=!0,this.progress.delete(e),this.refreshProgress({delta:1}))};return ie(N({},i),{stop:n})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";this.errorCount>0?e="Failed with errors":this.warningCount>0?e="Done with warnings":e="Done";let r=et(this.configuration,Date.now()-this.startTime,Ye.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${r}`:e;this.errorCount>0?this.reportError($.UNNAMED,i):this.warningCount>0?this.reportWarning($.UNNAMED,i):this.reportInfo($.UNNAMED,i)}writeLine(e,{truncate:r}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:r})} +`),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:r}={}){this.forgettableLines=[],this.writeLine(e,{truncate:r})}writeLines(e,{truncate:r}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:r})} +`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:r}){let i=this.cacheHitCount-e,n=this.cacheMissCount-r;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${Bt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${Bt(this.configuration,this.lastCacheMiss)})`),this.reportInfo($.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let r of e)r.committed=!0,r.action()}clearProgress({delta:e=0,clear:r=!1}){this.progressStyle!==null&&this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>t6&&(this.progressFrame=(this.progressFrame+1)%e6.length,this.progressTime=e);let r=e6[this.progressFrame];for(let i of this.progress.values()){let n="";if(typeof i.lastScaledSize!="undefined"){let l=this.progressStyle.chars[0].repeat(i.lastScaledSize),c=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize);n=` ${l}${c}`}let s=this.formatName(null),o=s?`${s}: `:"",a=i.definition.title?` ${i.definition.title}`:"";this.stdout.write(`${et(this.configuration,"\u27A4","blueBright")} ${o}${r}${n}${a} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},t6)}refreshProgress({delta:e=0,force:r=!1}={}){let i=!1,n=!1;if(r||this.progress.size===0)i=!0;else for(let s of this.progress.values()){let o=typeof s.definition.progress!="undefined"?Math.trunc(this.progressMaxScaledSize*s.definition.progress):void 0,a=s.lastScaledSize;s.lastScaledSize=o;let l=s.lastTitle;if(s.lastTitle=s.definition.title,o!==a||(n=l!==s.definition.title)){i=!0;break}}i&&(this.clearProgress({delta:e,clear:n}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.progressStyle===null&&(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=(0,$_.default)(e,0,this.stdout.columns-1)),e}formatName(e){return i6(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return gD(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Kr="3.2.1";var hn;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(hn||(hn={}));async function sA(t,e,r,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await K.writeFilePromise(x.format({dir:t,name:e,ext:".cmd"}),n)}await K.writeFilePromise(x.join(t,e),`#!/bin/sh +exec "${r}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function o6(t){let e=await At.tryFind(t);if(e==null?void 0:e.packageManager){let i=fw(e.packageManager);if(i==null?void 0:i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":return{packageManager:Number(s)===1?hn.Yarn1:hn.Yarn2,reason:n};case"npm":return{packageManager:hn.Npm,reason:n};case"pnpm":return{packageManager:hn.Pnpm,reason:n}}}}let r;try{r=await K.readFilePromise(x.join(t,Pt.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:hn.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:hn.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:K.existsSync(x.join(t,"package-lock.json"))?{packageManager:hn.Npm,reason:`found npm's "package-lock.json" lockfile`}:K.existsSync(x.join(t,"pnpm-lock.yaml"))?{packageManager:hn.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function qd({project:t,locator:e,binFolder:r,lifecycleScript:i}){var l,c;let n={};for(let[u,g]of Object.entries(process.env))typeof g!="undefined"&&(n[u.toLowerCase()!=="path"?u:"PATH"]=g);let s=H.fromPortablePath(r);n.BERRY_BIN_FOLDER=H.fromPortablePath(s);let o=process.env.COREPACK_ROOT?H.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([sA(r,"node",process.execPath),...Kr!==null?[sA(r,"run",process.execPath,[o,"run"]),sA(r,"yarn",process.execPath,[o]),sA(r,"yarnpkg",process.execPath,[o]),sA(r,"node-gyp",process.execPath,[o,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=H.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=H.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${H.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${H.sep}yarn`,n.npm_node_execpath=`${s}${H.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let u=t.tryWorkspaceByLocator(e),g=u?(l=u.manifest.version)!=null?l:"":(c=t.storedPackages.get(e.locatorHash).version)!=null?c:"";n.npm_package_name=Ot(e),n.npm_package_version=g}let a=Kr!==null?`yarn/${Kr}`:`yarn/${Ng("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${a} npm/? node/${process.version} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),t&&await t.configuration.triggerHook(u=>u.setupScriptEnvironment,t,n,async(u,g,f)=>await sA(r,Jr(u),g,f)),n}var YRe=2,qRe=(0,s6.default)(YRe);async function JRe(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await qRe(async()=>{await K.mktempPromise(async o=>{let a=x.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:H.fromPortablePath(t),report:i}),g=s&&Xo(s)?fd(s):s,f=g?Ds(g):"an external project";c.write(`Packing ${f} from sources +`);let h=await o6(t),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} + +`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn + +`),p=hn.Yarn2),await K.mktempPromise(async m=>{let y=await qd({binFolder:m}),S=new Map([[hn.Yarn1,async()=>{let T=n!==null?["workspace",n]:[],Y=await $o("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:y,stdin:l,stdout:c,stderr:u,end:ns.ErrorCode});if(Y.code!==0)return Y.code;await K.appendFilePromise(x.join(t,".npmignore"),`/.yarn +`),c.write(` +`),delete y.NODE_ENV;let j=await $o("yarn",["install"],{cwd:t,env:y,stdin:l,stdout:c,stderr:u,end:ns.ErrorCode});if(j.code!==0)return j.code;c.write(` +`);let Z=await $o("yarn",[...T,"pack","--filename",H.fromPortablePath(e)],{cwd:t,env:y,stdin:l,stdout:c,stderr:u});return Z.code!==0?Z.code:0}],[hn.Yarn2,async()=>{let T=n!==null?["workspace",n]:[];y.YARN_ENABLE_INLINE_BUILDS="1";let Y=x.join(t,Pt.lockfile);await K.existsPromise(Y)||await K.writeFilePromise(Y,"");let j=await $o("yarn",[...T,"pack","--install-if-needed","--filename",H.fromPortablePath(e)],{cwd:t,env:y,stdin:l,stdout:c,stderr:u});return j.code!==0?j.code:0}],[hn.Npm,async()=>{if(n!==null){let A=new Wc.PassThrough,oe=Fg(A);A.pipe(c,{end:!1});let le=await $o("npm",["--version"],{cwd:t,env:y,stdin:l,stdout:A,stderr:u,end:ns.Never});if(A.end(),le.code!==0)return c.end(),u.end(),le.code;let X=(await oe).toString().trim();if(!Uc(X,">=7.x")){let O=Vo(null,"npm"),L=rr(O,X),pe=rr(O,">=7.x");throw new Error(`Workspaces aren't supported by ${sr(r,L)}; please upgrade to ${sr(r,pe)} (npm has been detected as the primary package manager for ${et(r,t,Ye.PATH)})`)}}let T=n!==null?["--workspace",n]:[];delete y.npm_config_user_agent,delete y.npm_config_production,delete y.NPM_CONFIG_PRODUCTION,delete y.NODE_ENV;let Y=await $o("npm",["install"],{cwd:t,env:y,stdin:l,stdout:c,stderr:u,end:ns.ErrorCode});if(Y.code!==0)return Y.code;let j=new Wc.PassThrough,Z=Fg(j);j.pipe(c);let J=await $o("npm",["pack","--silent",...T],{cwd:t,env:y,stdin:l,stdout:j,stderr:u});if(J.code!==0)return J.code;let re=(await Z).toString().trim().replace(/^.*\n/s,""),ee=x.resolve(t,H.toPortablePath(re));return await K.renamePromise(ee,e),0}]]).get(p);if(typeof S=="undefined")throw new Error("Assertion failed: Unsupported workflow");let k=await S();if(!(k===0||typeof k=="undefined"))throw K.detachTemp(o),new ct($.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${k}, logs can be found here: ${et(r,a,Ye.PATH)})`)})})})}async function WRe(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return fD(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${Bt(r.configuration,t)} not found in the project`);return await Es.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new Je({stdout:new Wc.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${Bt(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new _t(u,{baseFs:s});return(await At.find(Ke.dot,{baseFs:g})).scripts.has(e)},{libzip:await fn()})}async function AB(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await K.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await a6(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f=="undefined")return 1;let h=async()=>await tB(f,r,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(m=>m.wrapScriptExecution,h,n,t,e,{script:f,args:r,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function hD(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await K.mktempPromise(async l=>{let{env:c,cwd:u}=await a6(t,{project:n,binFolder:l,cwd:i});return await tB(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function zRe(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await qd({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await A6(t),([s,[,o]])=>sA(e,Jr(s),process.execPath,[o]))),typeof r=="undefined"&&(r=x.dirname(await K.realpathPromise(x.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function a6(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return zRe(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${Bt(e.configuration,t)} not found in the project`);return await Es.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Je({stdout:new Wc.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${Bt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await qd({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await lB(t,{project:e}),([y,[,b]])=>sA(r,Jr(y),process.execPath,[b])));let h=await g.findPackageLocation(o,u),p=new _t(h,{baseFs:a}),m=await At.find(Ke.dot,{baseFs:p});return typeof i=="undefined"&&(i=h),{manifest:m,binFolder:r,env:f,cwd:i}},{libzip:await fn()})}async function l6(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await AB(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function fD(t,e){return t.manifest.scripts.has(e)}async function c6(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await K.mktempPromise(async o=>{let a=x.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${H.fromPortablePath(t.cwd)}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:Bt(n,t.anchoredLocator),header:l});i.reportInfo($.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await l6(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw K.detachTemp(o),new ct($.LIFECYCLE_SCRIPT,`${(0,n6.default)(e)} script failed (exit code ${et(n,g,Ye.NUMBER)}, logs can be found here: ${et(n,a,Ye.PATH)}); run ${et(n,`yarn ${e}`,Ye.CODE)} to investigate`)})}async function _Re(t,e,r){fD(t,e)&&await c6(t,e,r)}async function lB(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${Bt(r,t)} not found in the project`);let s=new Wc.Writable,o=r.getLinkers(),a={project:e,report:new Je({configuration:r,stdout:s})},l=new Set([t.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${sr(r,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return qo.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return qo.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return qo.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===qo.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,H.fromPortablePath(x.resolve(f,p))])}return i}async function A6(t){return await lB(t.anchoredLocator,{project:t.project})}async function u6(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await lB(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${Bt(n.configuration,t)}`);return await K.mktempPromise(async g=>{let[,f]=u,h=await qd({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([m,[,y]])=>sA(h.BERRY_BIN_FOLDER,Jr(m),process.execPath,[y])));let p;try{p=await $o(process.execPath,[...l,f,...r],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await K.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function VRe(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await u6(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var wi={};ft(wi,{convertToZip:()=>oLe,extractArchiveTo:()=>ALe,makeArchiveFromDirectory:()=>sLe});var i7=ge(require("stream")),n7=ge(X9());var Z9=ge(require("os")),$9=ge(lg()),e7=ge(require("worker_threads")),vl=Symbol("kTaskInfo"),SR=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,$9.default)(Math.max(1,(0,Z9.cpus)().length));this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let r=this.workers.pop();r?r.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new e7.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",r=>{if(!e[vl])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[vl].resolve(r),e[vl]=null,e.unref(),this.workers.push(e)}),e.on("error",r=>{var i;(i=e[vl])==null||i.reject(r),e[vl]=null}),e.on("exit",r=>{var i;r!==0&&((i=e[vl])==null||i.reject(new Error(`Worker exited with code ${r}`))),e[vl]=null}),e}run(e){return this.limit(()=>{var i;let r=(i=this.workers.pop())!=null?i:this.createWorker();return r.ref(),new Promise((n,s)=>{r[vl]={resolve:n,reject:s},r.postMessage(e)})})}};var s7=ge(r7());async function sLe(t,{baseFs:e=new ar,prefixPath:r=Ke.root,compressionLevel:i,inMemory:n=!1}={}){let s=await fn(),o;if(n)o=new Ai(null,{libzip:s,level:i});else{let l=await K.mktempPromise(),c=x.join(l,"archive.zip");o=new Ai(c,{create:!0,libzip:s,level:i})}let a=x.resolve(Ke.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var o7;async function oLe(t,e){let r=await K.mktempPromise(),i=x.join(r,"archive.zip");return o7||(o7=new SR((0,s7.getContent)())),await o7.run({tmpFile:i,tgz:t,opts:e}),new Ai(i,{libzip:await fn(),level:e.compressionLevel})}async function*aLe(t){let e=new n7.default.Parse,r=new i7.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{r.write(i)}),e.on("error",i=>{r.destroy(i)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function ALe(t,e,{stripComponents:r=0,prefixPath:i=Ke.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=r)}for await(let a of aLe(t)){if(n(a))continue;let l=x.normalize(H.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=x.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,Dr.SAFE_TIME,Dr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),e.writeFileSync(u,await Fg(a),{mode:g}),e.utimesSync(u,Dr.SAFE_TIME,Dr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,Dr.SAFE_TIME,Dr.SAFE_TIME);break}}return e}var As={};ft(As,{emitList:()=>lLe,emitTree:()=>g7,treeNodeToJson:()=>u7,treeNodeToTreeify:()=>c7});var l7=ge(A7());function c7(t,{configuration:e}){let r={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!="undefined"&&g.push(Ty(e,l,Dc.BOLD)),typeof c!="undefined"&&g.push(et(e,c[0],c[1])),g.length===0&&g.push(Ty(e,`${a}`,Dc.BOLD));let f=g.join(": "),h=s[f]={};typeof u!="undefined"&&i(u,h)}};if(typeof t.children=="undefined")throw new Error("The root node must only contain children");return i(t.children,r),r}function u7(t){let e=r=>{var s;if(typeof r.children=="undefined"){if(typeof r.value=="undefined")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Rc(r.value[0],r.value[1])}let i=Array.isArray(r.children)?r.children.entries():Object.entries((s=r.children)!=null?s:{}),n=Array.isArray(r.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof r.value=="undefined"?n:{value:Rc(r.value[0],r.value[1]),children:n}};return e(t)}function lLe(t,{configuration:e,stdout:r,json:i}){let n=t.map(s=>({value:s}));g7({children:n},{configuration:e,stdout:r,json:i})}function g7(t,{configuration:e,stdout:r,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(t.children)?t.children.values():Object.values((o=t.children)!=null?o:{});for(let l of a)r.write(`${JSON.stringify(u7(l))} +`);return}let s=(0,l7.asTree)(c7(t,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(s)}var f7=ge(require("crypto")),PR=ge(require("fs"));var cLe=8,Nt=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,f7.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=i,this.check=n;let s=r.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=r.get("compressionLevel"),a=o!==nc?`c${o}`:"";this.cacheKey=[cLe,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new Nt(e.get("cacheFolder"),{configuration:e,immutable:r,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${jg(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=uLe(r).slice(0,10);return`${jg(e)}-${n}.zip`}getLocatorPath(e,r,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?x.resolve(this.cwd,this.getVersionFilename(e)):r===null||DR(r)!==this.cacheKey?null:x.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?x.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await K.existsPromise(this.cwd))throw new ct($.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await K.mkdirPromise(this.cwd,{recursive:!0});let e=x.resolve(this.cwd,".gitignore");await K.changeFilePromise(e,`/.gitignore +*.flock +*.tmp +`)}(this.mirrorCwd||!this.immutable)&&await K.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,a){var l=a,{onHit:i,onMiss:n,loader:s}=l,o=Tr(l,["onHit","onMiss","loader"]);var A;let c=this.getLocatorMirrorPath(e),u=new ar,g=()=>{let oe=new Ai(null,{libzip:Y}),le=x.join(Ke.root,gx(e));return oe.mkdirSync(le,{recursive:!0}),oe.writeJsonSync(x.join(le,Pt.manifest),{name:Ot(e),mocked:!0}),oe},f=async(oe,le=null)=>{var O;if(le===null&&((O=o.unstablePackages)==null?void 0:O.has(e.locatorHash)))return null;let X=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await lw(oe)}`:r;if(le!==null){let L=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await lw(le)}`:r;if(X!==L)throw new ct($.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&X!==r){let L;switch(this.check?L="throw":DR(r)!==DR(X)?L="update":L=this.configuration.get("checksumBehavior"),L){case"ignore":return r;case"update":return X;default:case"throw":throw new ct($.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return X},h=async oe=>{if(!s)throw new Error(`Cache check required but no loader configured for ${Bt(this.configuration,e)}`);let le=await s(),X=le.getRealPath();return le.saveAndClose(),await K.chmodPromise(X,420),await f(oe,X)},p=async()=>{if(c===null||!await K.existsPromise(c)){let oe=await s(),le=oe.getRealPath();return oe.saveAndClose(),{source:"loader",path:le}}return{source:"mirror",path:c}},m=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${Bt(this.configuration,e)}`);if(this.immutable)throw new ct($.IMMUTABLE_CACHE,`Cache entry required but missing for ${Bt(this.configuration,e)}`);let{path:oe,source:le}=await p(),X=await f(oe),O=this.getLocatorPath(e,X,o);if(!O)throw new Error("Assertion failed: Expected the cache path to be available");let L=[];le!=="mirror"&&c!==null&&L.push(async()=>{let Ce=`${c}${this.cacheId}`;await K.copyFilePromise(oe,Ce,PR.default.constants.COPYFILE_FICLONE),await K.chmodPromise(Ce,420),await K.renamePromise(Ce,c)}),(!o.mirrorWriteOnly||c===null)&&L.push(async()=>{let Ce=`${O}${this.cacheId}`;await K.copyFilePromise(oe,Ce,PR.default.constants.COPYFILE_FICLONE),await K.chmodPromise(Ce,420),await K.renamePromise(Ce,O)});let pe=o.mirrorWriteOnly&&c!=null?c:O;return await Promise.all(L.map(Ce=>Ce())),[!1,pe,X]},y=async()=>{let le=(async()=>{var Oe;let X=this.getLocatorPath(e,r,o),O=X!==null?await u.existsPromise(X):!1,L=!!((Oe=o.mockedPackages)==null?void 0:Oe.has(e.locatorHash))&&(!this.check||!O),pe=L||O,Ce=pe?i:n;if(Ce&&Ce(),pe){let te=null,se=X;return L||(te=this.check?await h(se):await f(se)),[L,se,te]}else return m()})();this.mutexes.set(e.locatorHash,le);try{return await le}finally{this.mutexes.delete(e.locatorHash)}};for(let oe;oe=this.mutexes.get(e.locatorHash);)await oe;let[b,S,k]=await y();this.markedFiles.add(S);let T,Y=await fn(),j=b?()=>g():()=>new Ai(S,{baseFs:u,libzip:Y,readOnly:!0}),Z=new Vh(()=>YS(()=>T=j(),oe=>`Failed to open the cache entry for ${Bt(this.configuration,e)}: ${oe}`),x),J=new Da(S,{baseFs:Z,pathUtils:x}),re=()=>{T==null||T.discardAndClose()},ee=((A=o.unstablePackages)==null?void 0:A.has(e.locatorHash))?null:k;return[J,re,ee]}};function DR(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function uLe(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var ls;(function(r){r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE"})(ls||(ls={}));var gA=class extends Ji{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;sd(this,{configuration:e}),this.configuration=e,this.stdout=r,this.suggestInstall=i}static async start(e,r){let i=new this(e);try{await r(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){this.errorCount+=1,this.stdout.write(`${et(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r} +`)}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return ie(N({},r),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${et(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${et(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(e){return gD(e,{configuration:this.configuration,json:!1})}};var p0=ge(require("crypto")),n$=ge(V7()),d0=ge(r$()),s$=ge(lg()),o$=ge(ri()),sF=ge(require("util")),oF=ge(require("v8")),aF=ge(require("zlib"));var WKe=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,i)=>`${r}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>hw({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],rF=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let i=x.join(e.cwd,e.configuration.get("lockfileFilename"));if(!K.existsSync(i))return;let n=await K.readFilePromise(i,"utf8"),s=Qi(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=dd(a);if(!l){r.reportWarning($.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}ho(l.range)&&(l=rr(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[h,p]of WKe){let m=u.match(h);if(m){g=p(c,...m);break}}if(!g){r.reportWarning($.YARN_IMPORT_FAILED,`${sr(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let f=l;try{let h=Gg(l.range),p=dd(h.selector,!0);p&&(f=p)}catch{}o.set(l.descriptorHash,cn(f,g))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return await this.resolver.getCandidates(ax(n),r,i)}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var iF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(gw(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){let n=i.project.originalPackages.get(gw(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var nF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.resolver.bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){throw new ct($.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,i){throw new ct($.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new ct($.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var pi=class extends Ji{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return ie(N({},r),{stop:i})}reportJson(e){}async finalize(){}};var i$=ge(sx());var bC=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=r,this.cwd=e}async setup(){var s;this.manifest=(s=await At.tryFind(this.cwd))!=null?s:new At,this.relativeCwd=x.relative(this.project.cwd,this.cwd)||Ke.dot;let e=this.manifest.name?this.manifest.name:Vo(null,`${this.computeCandidateName()}-${ln(this.relativeCwd).substring(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=cn(e,r),this.anchoredDescriptor=rr(this.locator,`${oi.protocol}${this.relativeCwd}`),this.anchoredLocator=cn(this.locator,`${oi.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:o})=>o),n=await(0,i$.default)(i,{cwd:H.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let o of n){let a=x.resolve(this.cwd,H.toPortablePath(o));K.existsSync(x.join(a,"package.json"))&&this.workspacesCwds.add(a)}}accepts(e){var o;let r=e.indexOf(":"),i=r!==-1?e.slice(0,r+1):null,n=r!==-1?e.slice(r+1):e;if(i===oi.protocol&&x.normalize(n)===this.relativeCwd||i===oi.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=ho(n);return s?i===oi.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${x.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=At.hardDependencies}={}){let r=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||r.has(a)||(r.add(a),i(a))}};return i(this),r}getRecursiveWorkspaceDependents({dependencies:e=At.hardDependencies}={}){let r=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&pd(c.anchoredLocator,n.anchoredLocator)}))&&!r.has(s)&&(r.add(s),i(s))};return i(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let i=this.project.workspacesByCwd.get(r);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=x.join(this.cwd,At.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await K.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var a$=6,zKe=1,_Ke=/ *, */g,A$=/\/$/,VKe=32,XKe=(0,sF.promisify)(aF.default.gzip),ZKe=(0,sF.promisify)(aF.default.gunzip),di;(function(r){r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build"})(di||(di={}));var AF={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},l$=t=>ln(`${zKe}`,t),ze=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var p,m,y;if(!e.projectCwd)throw new Pe(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,K.existsSync(x.join(s,Pt.manifest))){i=s;break}n=x.dirname(s)}let o=new ze(e.projectCwd,{configuration:e});(p=we.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(m=we.telemetry)==null||m.reportWorkspaceCount(o.workspaces.length),(y=we.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((b,S)=>b+S.manifest.dependencies.size+S.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=et(e,o.cwd,Ye.PATH),u=et(e,x.relative(o.cwd,i),Ye.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new Pe(`The nearest package directory (${et(e,i,Ye.PATH)}) doesn't seem to be part of the project declared in ${et(e,o.cwd,Ye.PATH)}. + +${[g,f,h].join(` +`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(K.existsSync(e)){let n=await K.readFilePromise(e,"utf8");this.lockFileChecksum=l$(n);let s=Qi(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o0;){let r=e;e=[];for(let i of r){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let r=new bC(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${gi(this.configuration,r.locator)}: ${H.fromPortablePath(e)} conflicts with ${H.fromPortablePath(i.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){x.isAbsolute(e)||(e=x.resolve(this.cwd,e)),e=x.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let i of this.workspaces)x.relative(i.cwd,e).startsWith("../")||r&&r.cwd.length>=i.cwd.length||(r=i);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r=="undefined"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${gi(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(nl(e)&&(e=gd(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${sr(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(Xo(e)&&(e=fd(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${Bt(this.configuration,e)})`);return r}refreshWorkspaceDependencies(){for(let e of this.workspaces){let r=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!r)throw new Error(`Assertion failed: Expected workspace ${md(this.configuration,e)} (${et(this.configuration,x.join(e.cwd,Pt.manifest),Ye.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(r.dependencies)}}forgetResolution(e){let r=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&r(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,i]of e.dependencies)nl(i)&&e.dependencies.set(r,gd(i))}getDependencyMeta(e,r){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(Ot(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),r===null||!o$.default.valid(r))return i;for(let[a,l]of s)a!==null&&a===r&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:r=!1}={}){let i=new pi,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(r&&(await o.findPackageLocation(a,s)).replace(A$,"")!==e.replace(A$,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),i=new rF(r);await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new nF(r)]:[i,r],s=new Bd([new iF(r),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,m=new Set,y=[],b=wx(),S=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Ji.progressViaTitle(),async re=>{let ee=async O=>{let L=await Rg(async()=>await s.resolve(O,a),Oe=>`${Bt(this.configuration,O)}: ${Oe}`);if(!pd(O,L))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${Bt(this.configuration,O)} to ${Bt(this.configuration,L)})`);g.set(L.locatorHash,L);let pe=this.configuration.normalizePackage(L);for(let[Oe,te]of pe.dependencies){let se=await this.configuration.reduceHook(he=>he.reduceDependency,te,this,pe,te,{resolver:s,resolveOptions:a});if(!hd(te,se))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let be=s.bindDescriptor(se,O,a);pe.dependencies.set(Oe,be)}let Ce=uo([...pe.dependencies.values()].map(Oe=>X(Oe)));return y.push(Ce),Ce.catch(()=>{}),c.set(pe.locatorHash,pe),pe},A=async O=>{let L=f.get(O.locatorHash);if(typeof L!="undefined")return L;let pe=Promise.resolve().then(()=>ee(O));return f.set(O.locatorHash,pe),pe},oe=async(O,L)=>{let pe=await X(L);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,pe.locatorHash),pe},le=async O=>{re.setTitle(sr(this.configuration,O));let L=this.resolutionAliases.get(O.descriptorHash);if(typeof L!="undefined")return oe(O,this.storedDescriptors.get(L));let pe=s.getResolutionDependencies(O,a),Ce=new Map(await uo(pe.map(async se=>{let be=s.bindDescriptor(se,p,a),he=await X(be);return m.add(he.locatorHash),[se.descriptorHash,he]}))),te=(await Rg(async()=>await s.getCandidates(O,Ce,a),se=>`${sr(this.configuration,O)}: ${se}`))[0];if(typeof te=="undefined")throw new Error(`${sr(this.configuration,O)}: No candidates found`);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,te.locatorHash),A(te)},X=O=>{let L=h.get(O.descriptorHash);if(typeof L!="undefined")return L;l.set(O.descriptorHash,O);let pe=Promise.resolve().then(()=>le(O));return h.set(O.descriptorHash,pe),pe};for(let O of this.workspaces){let L=O.anchoredDescriptor;y.push(X(L))}for(;y.length>0;){let O=[...y];y.length=0,await uo(O)}});let k=new Set(this.resolutionAliases.values()),T=new Set(c.keys()),Y=new Set,j=new Map;$Ke({project:this,report:e.report,accessibleLocators:Y,volatileDescriptors:k,optionalBuilds:T,peerRequirements:j,allDescriptors:l,allResolutions:u,allPackages:c});for(let re of m)T.delete(re);for(let re of k)l.delete(re),u.delete(re);let Z=new Set,J=new Set;for(let re of c.values())re.conditions!=null&&(!T.has(re.locatorHash)||(dw(re,S)||(dw(re,b)&&e.report.reportWarningOnce($.GHOST_ARCHITECTURE,`${Bt(this.configuration,re)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${et(this.configuration,"supportedArchitectures",Di.SETTING)} setting`),J.add(re.locatorHash)),Z.add(re.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=Y,this.conditionalLocators=Z,this.disabledLocators=J,this.originalPackages=g,this.optionalBuilds=T,this.peerRequirements=j,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:r,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,cacheOptions:s},l=Array.from(new Set(xn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return Ds(h)}])));n===di.UpdateLockfile&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=Ji.progressViaCounter(l.length);r.reportProgress(u);let g=(0,s$.default)(VKe);if(await r.startCacheReport(async()=>{await uo(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(Xo(h))return;let p;try{p=await o.fetch(h,a)}catch(m){m.message=`${Bt(this.configuration,h)}: ${m.message}`,r.reportExceptionOnce(m),c=m;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:r,fetcher:i,mode:n}){var A,oe,le;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:r},u=new Map(l.map(X=>{let O=X.makeInstaller(c),L=O.getCustomDataKey(),pe=this.installersCustomData.get(L);return typeof pe!="undefined"&&O.attachCustomData(pe),[X,O]})),g=new Map,f=new Map,h=new Map,p=new Map(await uo([...this.accessibleLocators].map(async X=>{let O=this.storedPackages.get(X);if(!O)throw new Error("Assertion failed: The locator should have been registered");return[X,await o.fetch(O,a)]}))),m=[];for(let X of this.accessibleLocators){let O=this.storedPackages.get(X);if(typeof O=="undefined")throw new Error("Assertion failed: The locator should have been registered");let L=p.get(O.locatorHash);if(typeof L=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let pe=[],Ce=te=>{pe.push(te)},Oe=this.tryWorkspaceByLocator(O);if(Oe!==null){let te=[],{scripts:se}=Oe.manifest;for(let he of["preinstall","install","postinstall"])se.has(he)&&te.push([ls.SCRIPT,he]);try{for(let[he,Fe]of u)if(he.supportsPackage(O,c)&&(await Fe.installPackage(O,L,{holdFetchResult:Ce})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{pe.length===0?(A=L.releaseFs)==null||A.call(L):m.push(uo(pe).catch(()=>{}).then(()=>{var he;(he=L.releaseFs)==null||he.call(L)}))}let be=x.join(L.packageFs.getRealPath(),L.prefixPath);f.set(O.locatorHash,be),!Xo(O)&&te.length>0&&h.set(O.locatorHash,{directives:te,buildLocations:[be]})}else{let te=l.find(he=>he.supportsPackage(O,c));if(!te)throw new ct($.LINKER_NOT_FOUND,`${Bt(this.configuration,O)} isn't supported by any available linker`);let se=u.get(te);if(!se)throw new Error("Assertion failed: The installer should have been registered");let be;try{be=await se.installPackage(O,L,{holdFetchResult:Ce})}finally{pe.length===0?(oe=L.releaseFs)==null||oe.call(L):m.push(uo(pe).then(()=>{}).then(()=>{var he;(he=L.releaseFs)==null||he.call(L)}))}g.set(O.locatorHash,te),f.set(O.locatorHash,be.packageLocation),be.buildDirective&&be.buildDirective.length>0&&be.packageLocation&&h.set(O.locatorHash,{directives:be.buildDirective,buildLocations:[be.packageLocation]})}}let y=new Map;for(let X of this.accessibleLocators){let O=this.storedPackages.get(X);if(!O)throw new Error("Assertion failed: The locator should have been registered");let L=this.tryWorkspaceByLocator(O)!==null,pe=async(Ce,Oe)=>{let te=f.get(O.locatorHash);if(typeof te=="undefined")throw new Error(`Assertion failed: The package (${Bt(this.configuration,O)}) should have been registered`);let se=[];for(let be of O.dependencies.values()){let he=this.storedResolutions.get(be.descriptorHash);if(typeof he=="undefined")throw new Error(`Assertion failed: The resolution (${sr(this.configuration,be)}, from ${Bt(this.configuration,O)})should have been registered`);let Fe=this.storedPackages.get(he);if(typeof Fe=="undefined")throw new Error(`Assertion failed: The package (${he}, resolved from ${sr(this.configuration,be)}) should have been registered`);let Ue=this.tryWorkspaceByLocator(Fe)===null?g.get(he):null;if(typeof Ue=="undefined")throw new Error(`Assertion failed: The package (${he}, resolved from ${sr(this.configuration,be)}) should have been registered`);Ue===Ce||Ue===null?f.get(Fe.locatorHash)!==null&&se.push([be,Fe]):!L&&te!==null&&Pg(y,he).push(te)}te!==null&&await Oe.attachInternalDependencies(O,se)};if(L)for(let[Ce,Oe]of u)Ce.supportsPackage(O,c)&&await pe(Ce,Oe);else{let Ce=g.get(O.locatorHash);if(!Ce)throw new Error("Assertion failed: The linker should have been found");let Oe=u.get(Ce);if(!Oe)throw new Error("Assertion failed: The installer should have been registered");await pe(Ce,Oe)}}for(let[X,O]of y){let L=this.storedPackages.get(X);if(!L)throw new Error("Assertion failed: The package should have been registered");let pe=g.get(L.locatorHash);if(!pe)throw new Error("Assertion failed: The linker should have been found");let Ce=u.get(pe);if(!Ce)throw new Error("Assertion failed: The installer should have been registered");await Ce.attachExternalDependents(L,O)}let b=new Map;for(let X of u.values()){let O=await X.finalizeInstall();for(let L of(le=O==null?void 0:O.records)!=null?le:[])h.set(L.locatorHash,{directives:L.buildDirective,buildLocations:L.buildLocations});typeof(O==null?void 0:O.customData)!="undefined"&&b.set(X.getCustomDataKey(),O.customData)}if(this.installersCustomData=b,await uo(m),n===di.SkipBuild)return;let S=new Set(this.storedPackages.keys()),k=new Set(h.keys());for(let X of k)S.delete(X);let T=(0,p0.createHash)("sha512");T.update(process.versions.node),await this.configuration.triggerHook(X=>X.globalHashGeneration,this,X=>{T.update("\0"),T.update(X)});let Y=T.digest("hex"),j=new Map,Z=X=>{let O=j.get(X.locatorHash);if(typeof O!="undefined")return O;let L=this.storedPackages.get(X.locatorHash);if(typeof L=="undefined")throw new Error("Assertion failed: The package should have been registered");let pe=(0,p0.createHash)("sha512");pe.update(X.locatorHash),j.set(X.locatorHash,"");for(let Ce of L.dependencies.values()){let Oe=this.storedResolutions.get(Ce.descriptorHash);if(typeof Oe=="undefined")throw new Error(`Assertion failed: The resolution (${sr(this.configuration,Ce)}) should have been registered`);let te=this.storedPackages.get(Oe);if(typeof te=="undefined")throw new Error("Assertion failed: The package should have been registered");pe.update(Z(te))}return O=pe.digest("hex"),j.set(X.locatorHash,O),O},J=(X,O)=>{let L=(0,p0.createHash)("sha512");L.update(Y),L.update(Z(X));for(let pe of O)L.update(pe);return L.digest("hex")},re=new Map,ee=!1;for(;k.size>0;){let X=k.size,O=[];for(let L of k){let pe=this.storedPackages.get(L);if(!pe)throw new Error("Assertion failed: The package should have been registered");let Ce=!0;for(let se of pe.dependencies.values()){let be=this.storedResolutions.get(se.descriptorHash);if(!be)throw new Error(`Assertion failed: The resolution (${sr(this.configuration,se)}) should have been registered`);if(k.has(be)){Ce=!1;break}}if(!Ce)continue;k.delete(L);let Oe=h.get(pe.locatorHash);if(!Oe)throw new Error("Assertion failed: The build directive should have been registered");let te=J(pe,Oe.buildLocations);if(this.storedBuildState.get(pe.locatorHash)===te){re.set(pe.locatorHash,te);continue}ee||(await this.persistInstallStateFile(),ee=!0),this.storedBuildState.has(pe.locatorHash)?r.reportInfo($.MUST_REBUILD,`${Bt(this.configuration,pe)} must be rebuilt because its dependency tree changed`):r.reportInfo($.MUST_BUILD,`${Bt(this.configuration,pe)} must be built because it never has been before or the last one failed`);for(let se of Oe.buildLocations){if(!x.isAbsolute(se))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${se})`);O.push((async()=>{for(let[be,he]of Oe.directives){let Fe=`# This file contains the result of Yarn building a package (${Ds(pe)}) +`;switch(be){case ls.SCRIPT:Fe+=`# Script name: ${he} +`;break;case ls.SHELLCODE:Fe+=`# Script code: ${he} +`;break}let Ue=null;if(!await K.mktempPromise(async Se=>{let de=x.join(Se,"build.log"),{stdout:V,stderr:Qe}=this.configuration.getSubprocessStreams(de,{header:Fe,prefix:Bt(this.configuration,pe),report:r}),ce;try{switch(be){case ls.SCRIPT:ce=await AB(pe,he,[],{cwd:se,project:this,stdin:Ue,stdout:V,stderr:Qe});break;case ls.SHELLCODE:ce=await hD(pe,he,[],{cwd:se,project:this,stdin:Ue,stdout:V,stderr:Qe});break}}catch(gt){Qe.write(gt.stack),ce=1}if(V.end(),Qe.end(),ce===0)return re.set(pe.locatorHash,te),!0;K.detachTemp(Se);let fe=`${Bt(this.configuration,pe)} couldn't be built successfully (exit code ${et(this.configuration,ce,Ye.NUMBER)}, logs can be found here: ${et(this.configuration,de,Ye.PATH)})`;return this.optionalBuilds.has(pe.locatorHash)?(r.reportInfo($.BUILD_FAILED,fe),re.set(pe.locatorHash,te),!0):(r.reportError($.BUILD_FAILED,fe),!1)}))return}})())}}if(await uo(O),X===k.size){let L=Array.from(k).map(pe=>{let Ce=this.storedPackages.get(pe);if(!Ce)throw new Error("Assertion failed: The package should have been registered");return Bt(this.configuration,Ce)}).join(", ");r.reportError($.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${L})`);break}}this.storedBuildState=re}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=we.telemetry)==null||a.reportInstall(r),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=qi.Inactive;let i=x.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await K.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new ct($.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=et(this.configuration,g,Ye.PACKAGE_EXTENSION);switch(g.status){case qi.Inactive:e.report.reportWarning($.UNUSED_PACKAGE_EXTENSION,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case qi.Redundant:e.report.reportWarning($.REDUNDANT_PACKAGE_EXTENSION,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=ec(n,this.generateLockfile());if(c!==n){let u=(0,n$.structuredPatch)(i,i,n,c);e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError($.FROZEN_LOCKFILE_EXCEPTION,et(this.configuration,f,Ye.ADDED)):f.startsWith("-")?e.report.reportError($.FROZEN_LOCKFILE_EXCEPTION,et(this.configuration,f,Ye.REMOVED)):e.report.reportInfo(null,et(this.configuration,f,"grey"))}throw e.report.reportSeparator(),new ct($.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===qi.Active&&((l=we.telemetry)==null||l.reportPackageExtension(Rc(g,Ye.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&e.mode!==di.UpdateLockfile&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>cw(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode===di.UpdateLockfile){e.report.reportWarning($.UPDATE_LOCKFILE_ONLY_SKIP_LINK,`Skipped due to ${et(this.configuration,"mode=update-lockfile",Ye.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>cw(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let r={};r.__metadata={version:a$,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>Pn(f)).sort().join(", "),c=new At;c.version=o.linkType===Qt.HARD?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!="undefined"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof r.__metadata.cacheKey=="undefined"&&(r.__metadata.cacheKey=h),h===r.__metadata.cacheKey?u=p:u=g}r[l]=ie(N({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:Ds(o),checksum:u,conditions:o.conditions||void 0})}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+La(r)}async persistLockfile(){let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),r="";try{r=await K.readFilePromise(e,"utf8")}catch(s){}let i=this.generateLockfile(),n=ec(r,i);n!==r&&(await K.writeFilePromise(e,n),this.lockFileChecksum=l$(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(AF))e.push(...o);let r=(0,d0.default)(this,e),i=oF.default.serialize(r),n=ln(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await K.mkdirPromise(x.dirname(s),{recursive:!0}),await K.writeFilePromise(s,await XKe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath"),s;try{let o=await ZKe(await K.readFilePromise(n));s=oF.default.deserialize(o),this.installStateChecksum=ln(o)}catch{r&&await this.applyLightResolution();return}e&&typeof s.installersCustomData!="undefined"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,d0.default)(s,AF.restoreBuildState)),r&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,d0.default)(s,AF.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new pi}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){if(this.configuration.get("enableGlobalCache"))return;let i=new Set([".gitignore"]);if(!Ix(e.cwd,this.cwd)||!await K.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await K.readdirPromise(e.cwd)){if(i.has(a))continue;let l=x.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError($.IMMUTABLE_CACHE,`${et(this.configuration,x.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo($.UNUSED_CACHE_ENTRY,`${et(this.configuration,x.basename(l),"magenta")} appears to be unused - removing`),await K.removePromise(l)))}n&&s!==0&&r.reportInfo($.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function $Ke({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l,tolerateMissingPackages:c=!1}){var re;let u=new Map,g=[],f=new Map,h=new Map,p=new Map,m=new Map,y=new Map,b=new Map(t.workspaces.map(ee=>{let A=ee.anchoredLocator.locatorHash,oe=i.get(A);if(typeof oe=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,ud(oe)]})),S=()=>{let ee=K.mktempSync(),A=x.join(ee,"stacktrace.log"),oe=String(g.length+1).length,le=g.map((X,O)=>`${`${O+1}.`.padStart(oe," ")} ${Ds(X)} +`).join("");throw K.writeFileSync(A,le),K.detachTemp(ee),new ct($.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${H.fromPortablePath(A)}`)},k=ee=>{let A=r.get(ee.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let oe=i.get(A);if(!oe)throw new Error("Assertion failed: The package could not be found");return oe},T=(ee,A,oe,{top:le,optional:X})=>{g.length>1e3&&S(),g.push(A);let O=Y(ee,A,oe,{top:le,optional:X});return g.pop(),O},Y=(ee,A,oe,{top:le,optional:X})=>{if(n.has(A.locatorHash))return;n.add(A.locatorHash),X||s.delete(A.locatorHash);let O=i.get(A.locatorHash);if(!O){if(c)return;throw new Error(`Assertion failed: The package (${Bt(t.configuration,A)}) should have been registered`)}let L=[],pe=[],Ce=[],Oe=[],te=[];for(let be of Array.from(O.dependencies.values())){if(O.peerDependencies.has(be.identHash)&&O.locatorHash!==le)continue;if(nl(be))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");a.delete(be.descriptorHash);let he=X;if(!he){let Qe=O.dependenciesMeta.get(Ot(be));if(typeof Qe!="undefined"){let ce=Qe.get(null);typeof ce!="undefined"&&ce.optional&&(he=!0)}}let Fe=r.get(be.descriptorHash);if(!Fe){if(c)continue;throw new Error(`Assertion failed: The resolution (${sr(t.configuration,be)}) should have been registered`)}let Ue=b.get(Fe)||i.get(Fe);if(!Ue)throw new Error(`Assertion failed: The package (${Fe}, resolved from ${sr(t.configuration,be)}) should have been registered`);if(Ue.peerDependencies.size===0){T(be,Ue,new Map,{top:le,optional:he});continue}let xe,Se,de=new Set,V;pe.push(()=>{xe=Ax(be,A.locatorHash),Se=lx(Ue,A.locatorHash),O.dependencies.delete(be.identHash),O.dependencies.set(xe.identHash,xe),r.set(xe.descriptorHash,Se.locatorHash),e.set(xe.descriptorHash,xe),i.set(Se.locatorHash,Se),L.push([Ue,xe,Se])}),Ce.push(()=>{var Qe;V=new Map;for(let ce of Se.peerDependencies.values()){let fe=O.dependencies.get(ce.identHash);if(!fe&&hd(A,ce)&&(ee.identHash===A.identHash?fe=ee:(fe=rr(A,ee.range),e.set(fe.descriptorHash,fe),r.set(fe.descriptorHash,A.locatorHash),a.delete(fe.descriptorHash))),(!fe||fe.range==="missing:")&&Se.dependencies.has(ce.identHash)){Se.peerDependencies.delete(ce.identHash);continue}fe||(fe=rr(ce,"missing:")),Se.dependencies.set(fe.identHash,fe),nl(fe)&&xc(p,fe.descriptorHash).add(Se.locatorHash),f.set(fe.identHash,fe),fe.range==="missing:"&&de.add(fe.identHash),V.set(ce.identHash,(Qe=oe.get(ce.identHash))!=null?Qe:Se.locatorHash)}Se.dependencies=new Map(xn(Se.dependencies,([ce,fe])=>Ot(fe)))}),Oe.push(()=>{if(!i.has(Se.locatorHash))return;let Qe=u.get(Ue.locatorHash);typeof Qe=="number"&&Qe>=2&&S();let ce=u.get(Ue.locatorHash),fe=typeof ce!="undefined"?ce+1:1;u.set(Ue.locatorHash,fe),T(xe,Se,V,{top:le,optional:he}),u.set(Ue.locatorHash,fe-1)}),te.push(()=>{let Qe=O.dependencies.get(be.identHash);if(typeof Qe=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let ce=r.get(Qe.descriptorHash);if(typeof ce=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(xc(y,ce).add(A.locatorHash),!!i.has(Se.locatorHash)){for(let fe of Se.peerDependencies.values()){let gt=V.get(fe.identHash);if(typeof gt=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Pg(Dg(m,gt),Ot(fe)).push(Se.locatorHash)}for(let fe of de)Se.dependencies.delete(fe)}})}for(let be of[...pe,...Ce])be();let se;do{se=!0;for(let[be,he,Fe]of L){let Ue=Dg(h,be.locatorHash),xe=ln(...[...Fe.dependencies.values()].map(Qe=>{let ce=Qe.range!=="missing:"?r.get(Qe.descriptorHash):"missing:";if(typeof ce=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${sr(t.configuration,Qe)} to have been registered`);return ce===le?`${ce} (top)`:ce}),he.identHash),Se=Ue.get(xe);if(typeof Se=="undefined"){Ue.set(xe,he);continue}if(Se===he)continue;i.delete(Fe.locatorHash),e.delete(he.descriptorHash),r.delete(he.descriptorHash),n.delete(Fe.locatorHash);let de=p.get(he.descriptorHash)||[],V=[O.locatorHash,...de];p.delete(he.descriptorHash);for(let Qe of V){let ce=i.get(Qe);typeof ce!="undefined"&&(ce.dependencies.get(he.identHash).descriptorHash!==Se.descriptorHash&&(se=!1),ce.dependencies.set(he.identHash,Se))}}}while(!se);for(let be of[...Oe,...te])be()};for(let ee of t.workspaces){let A=ee.anchoredLocator;a.delete(ee.anchoredDescriptor.descriptorHash),T(ee.anchoredDescriptor,A,new Map,{top:A.locatorHash,optional:!1})}var j;(function(oe){oe[oe.NotProvided=0]="NotProvided",oe[oe.NotCompatible=1]="NotCompatible"})(j||(j={}));let Z=[];for(let[ee,A]of y){let oe=i.get(ee);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let le=m.get(ee);if(typeof le!="undefined")for(let X of A){let O=i.get(X);if(typeof O!="undefined")for(let[L,pe]of le){let Ce=An(L);if(O.peerDependencies.has(Ce.identHash))continue;let Oe=`p${ln(X,L,ee).slice(0,5)}`;o.set(Oe,{subject:X,requested:Ce,rootRequester:ee,allRequesters:pe});let te=oe.dependencies.get(Ce.identHash);if(typeof te!="undefined"){let se=k(te),be=(re=se.version)!=null?re:"0.0.0",he=new Set;for(let Ue of pe){let xe=i.get(Ue);if(typeof xe=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let Se=xe.peerDependencies.get(Ce.identHash);if(typeof Se=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");he.add(Se.range)}[...he].every(Ue=>{if(Ue.startsWith(oi.protocol)){if(!t.tryWorkspaceByLocator(se))return!1;Ue=Ue.slice(oi.protocol.length),(Ue==="^"||Ue==="~")&&(Ue="*")}return Uc(be,Ue)})||Z.push({type:1,subject:O,requested:Ce,requester:oe,version:be,hash:Oe,requirementCount:pe.length})}else{let se=oe.peerDependenciesMeta.get(L);(se==null?void 0:se.optional)||Z.push({type:0,subject:O,requested:Ce,requester:oe,hash:Oe})}}}}let J=[ee=>ux(ee.subject),ee=>Ot(ee.requested),ee=>`${ee.type}`];l==null||l.startSectionSync({reportFooter:()=>{l.reportWarning($.UNNAMED,`Some peer dependencies are incorrectly met; run ${et(t.configuration,"yarn explain peer-requirements ",Ye.CODE)} for details, where ${et(t.configuration,"",Ye.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let ee of xn(Z,J))switch(ee.type){case 0:l.reportWarning($.MISSING_PEER_DEPENDENCY,`${Bt(t.configuration,ee.subject)} doesn't provide ${gi(t.configuration,ee.requested)} (${et(t.configuration,ee.hash,Ye.CODE)}), requested by ${gi(t.configuration,ee.requester)}`);break;case 1:{let A=ee.requirementCount>1?"and some of its descendants request":"requests";l.reportWarning($.INCOMPATIBLE_PEER_DEPENDENCY,`${Bt(t.configuration,ee.subject)} provides ${gi(t.configuration,ee.requested)} (${et(t.configuration,ee.hash,Ye.CODE)}) with version ${Cd(t.configuration,ee.version)}, which doesn't satisfy what ${gi(t.configuration,ee.requester)} ${A}`)}break}})}var aa;(function(l){l.VERSION="version",l.COMMAND_NAME="commandName",l.PLUGIN_NAME="pluginName",l.INSTALL_COUNT="installCount",l.PROJECT_COUNT="projectCount",l.WORKSPACE_COUNT="workspaceCount",l.DEPENDENCY_COUNT="dependencyCount",l.EXTENSION="packageExtension"})(aa||(aa={}));var QC=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!K.existsSync(i),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue(aa.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(aa.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(aa.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(aa.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(aa.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(aa.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(aa.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(aa.DEPENDENCY_COUNT,String(e))}reportValue(e,r){xc(this.values,e).add(r)}reportEnumerator(e,r){xc(this.enumerators,e).add(ln(r))}reportHit(e,r="*"){let i=Dg(this.hits,e),n=Ja(i,r,()=>0);i.set(r,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return x.join(e,"telemetry.json")}sendReport(e){var u,g,f;let r=this.getRegistryPath(),i;try{i=K.readJsonSync(r)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{K.mkdirSync(x.dirname(r),{recursive:!0}),K.writeJsonSync(r,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>$P(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let m=p;m.userId=h,m.reportType="primary";for(let S of Object.keys((f=m.enumerators)!=null?f:{}))m.enumerators[S]=m.enumerators[S].length;c(m);let y=new Map,b=20;for(let[S,k]of Object.entries(m.values))k.length>0&&y.set(S,k.slice(0,b));for(;y.size>0;){let S={};S.userId=h,S.reportType="secondary",S.metrics={};for(let[k,T]of y)S.metrics[k]=T.shift(),T.length===0&&y.delete(k);c(S)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),r;try{r=K.readJsonSync(e)}catch{r={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=r.blocks=(a=r.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let m of this.hits.keys()){let y=s.hits=(c=s.hits)!=null?c:{},b=y[m]=(u=y[m])!=null?u:{};for(let[S,k]of this.hits.get(m))b[S]=((g=b[S])!=null?g:0)+k}for(let m of["values","enumerators"])for(let y of this[m].keys()){let b=s[m]=(f=s[m])!=null?f:{};b[y]=[...new Set([...(h=b[y])!=null?h:[],...(p=this[m].get(y))!=null?p:[]])]}K.mkdirSync(x.dirname(e),{recursive:!0}),K.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var lF=ge(require("child_process")),c$=ge(pc());var cF=ge(require("fs"));var Tf=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function e1e(t){let e=H.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,lF.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:ie(N({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):(0,lF.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:ie(N({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}async function C0({binaryVersion:t,pluginConfiguration:e}){async function r(){let n=new ys({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var m,y,b,S,k;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(!ve.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!Wt.satisfiesWithPrereleases(s,o))throw new Pe(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let l=await we.find(H.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),c=l.get("yarnPath"),u=l.get("ignorePath"),g=l.get("ignoreCwd"),f=H.toPortablePath(H.resolve(process.argv[1])),h=T=>K.readFilePromise(T).catch(()=>Buffer.of());if(!u&&!g&&await(async()=>c===f||Buffer.compare(...await Promise.all([h(c),h(f)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(c!==null&&!u)if(!K.existsSync(c))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${l.sources.get("yarnPath")}), but the specified location doesn't exist (${c}).`))),process.exitCode=1;else try{e1e(c)}catch(T){process.exitCode=T.code||1}else{u&&delete process.env.YARN_IGNORE_PATH,l.get("enableTelemetry")&&!c$.isCI&&process.stdout.isTTY&&(we.telemetry=new QC(l,"puba9cdc10ec5790a2cf4969dd413a47270")),(m=we.telemetry)==null||m.reportVersion(t);for(let[Z,J]of l.plugins.entries()){Tf.has((b=(y=Z.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:y[1])!=null?b:"")&&((S=we.telemetry)==null||S.reportPluginName(Z));for(let re of J.commands||[])n.register(re)}let Y=n.process(process.argv.slice(2));Y.help||(k=we.telemetry)==null||k.reportCommandName(Y.path.join(" "));let j=Y.cwd;if(typeof j!="undefined"&&!g){let Z=(0,cF.realpathSync)(process.cwd()),J=(0,cF.realpathSync)(j);if(Z!==J){process.chdir(j),await r();return}}await n.runExit(Y,{cwd:H.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return r().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>K.rmtempPromise())}function u$(t){t.Command.Path=(...e)=>r=>{r.paths=r.paths||[],r.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])t.Command[e]=(...r)=>(i,n)=>{let s=t.Option[e](...r);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return t}var VC={};ft(VC,{BaseCommand:()=>Le,WorkspaceRequiredError:()=>ht,getDynamicLibs:()=>Qie,getPluginConfiguration:()=>W0,main:()=>C0,openWorkspace:()=>zf,pluginCommands:()=>Tf});var Le=class extends Re{constructor(){super(...arguments);this.cwd=W.String("--cwd",{hidden:!0})}};var ht=class extends Pe{constructor(e,r){let i=x.relative(e,r),n=x.join(e,At.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var oqe=ge(ri());Is();var aqe=ge(AN()),Qie=()=>new Map([["@yarnpkg/cli",VC],["@yarnpkg/core",vC],["@yarnpkg/fslib",$h],["@yarnpkg/libzip",Kd],["@yarnpkg/parsers",ap],["@yarnpkg/shell",Hd],["clipanion",mp],["semver",oqe],["typanion",ag],["yup",aqe]]);async function zf(t,e){let{project:r,workspace:i}=await ze.find(t,e);if(!i)throw new ht(r.cwd,e);return i}var v9e=ge(ri());Is();var S9e=ge(AN());var uL={};ft(uL,{dedupeUtils:()=>YN,default:()=>E4e,suggestUtils:()=>DN});var SAe=ge(pc());var Nse=ge(em());Is();var DN={};ft(DN,{Modifier:()=>ga,Strategy:()=>Vr,Target:()=>Hr,WorkspaceModifier:()=>Zf,applyModifier:()=>Pse,extractDescriptorFromPath:()=>NN,extractRangeModifier:()=>xse,fetchDescriptorFrom:()=>FN,findProjectDescriptors:()=>Fse,getModifier:()=>tm,getSuggestedDescriptors:()=>rm,makeWorkspaceDescriptor:()=>Rse,toWorkspaceModifier:()=>Dse});var RN=ge(ri()),QJe="workspace:",Hr;(function(i){i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies"})(Hr||(Hr={}));var ga;(function(i){i.CARET="^",i.TILDE="~",i.EXACT=""})(ga||(ga={}));var Zf;(function(i){i.CARET="^",i.TILDE="~",i.EXACT="*"})(Zf||(Zf={}));var Vr;(function(s){s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache"})(Vr||(Vr={}));function tm(t,e){return t.exact?ga.EXACT:t.caret?ga.CARET:t.tilde?ga.TILDE:e.configuration.get("defaultSemverRangePrefix")}var vJe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function xse(t,{project:e}){let r=t.match(vJe);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function Pse(t,e){let{protocol:r,source:i,params:n,selector:s}=P.parseRange(t.range);return RN.default.valid(s)&&(s=`${e}${t.range}`),P.makeDescriptor(t,P.makeRange({protocol:r,source:i,params:n,selector:s}))}function Dse(t){switch(t){case ga.CARET:return Zf.CARET;case ga.TILDE:return Zf.TILDE;case ga.EXACT:return Zf.EXACT;default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function Rse(t,e){return P.makeDescriptor(t.anchoredDescriptor,`${QJe}${Dse(e)}`)}async function Fse(t,{project:e,target:r}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(r===Hr.PEER){let o=s.manifest.peerDependencies.get(t.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(t.identHash),a=s.manifest.devDependencies.get(t.identHash);r===Hr.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function NN(t,{cwd:e,workspace:r}){return await SJe(async i=>{x.isAbsolute(t)||(t=x.relative(r.cwd,x.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:n}=r,s=await FN(P.makeIdent(null,"archive"),t,{project:r.project,cache:i,workspace:r});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new pi,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,r.anchoredLocator,c),g=P.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await At.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return P.makeDescriptor(h.name,t)})}async function rm(t,{project:e,workspace:r,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(t.range!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${P.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof r!="undefined"&&r!==null&&r.manifest[n].get(t.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case Vr.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${P.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case Vr.REUSE:await g(async()=>{for(let{descriptor:h,locators:p}of(await Fse(t,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===r.anchoredLocator.locatorHash&&o.includes(Vr.KEEP))continue;let m=`(originally used by ${P.prettyLocator(e.configuration,p[0])}`;m+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:m})}});break;case Vr.CACHE:await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===t.identHash&&c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case Vr.PROJECT:await g(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(t);if(h===null)return;let p=Rse(h,s);c.push({descriptor:p,name:`Attach ${P.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${Ae.pretty(e.configuration,h.relativeCwd,Ae.Type.PATH)})`})});break;case Vr.LATEST:await g(async()=>{if(t.range!=="unknown")c.push({descriptor:t,name:`Use ${P.prettyRange(e.configuration,t.range)}`,reason:"(explicit range requested)"});else if(n===Hr.PEER)c.push({descriptor:P.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:Ae.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await FN(t,"latest",{project:e,cache:i,workspace:r,preserveModifier:!1});h&&(h=Pse(h,s),c.push({descriptor:h,name:`Use ${P.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function FN(t,e,{project:r,cache:i,workspace:n,preserveModifier:s=!0}){let o=P.makeDescriptor(t,e),a=new pi,l=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),u={project:r,fetcher:l,cache:i,checksums:r.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g=ie(N({},u),{resolver:c,fetchOptions:u}),f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:m,source:y,params:b,selector:S}=P.parseRange(P.convertToManifestRange(p.reference));if(m===r.configuration.get("defaultProtocol")&&(m=null),RN.default.valid(S)&&s!==!1){let k=typeof s=="string"?s:o.range;S=xse(k,{project:r})+S}return P.makeDescriptor(p,P.makeRange({protocol:m,source:y,params:b,selector:S}))}async function SJe(t){return await K.mktempPromise(async e=>{let r=we.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Nt(e,{configuration:r,check:!1,immutable:!1}))})}var im=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=W.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=W.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=W.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=W.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=W.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=W.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=W.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=W.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=W.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=W.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.silent=W.Boolean("--silent",{hidden:!0});this.packages=W.Rest()}async execute(){var m;let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=tm(this,r),a=[...s?[Vr.REUSE]:[],Vr.PROJECT,...this.cached?[Vr.CACHE]:[],Vr.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async y=>{let b=y.match(/^\.{0,2}\//)?await NN(y,{cwd:this.context.cwd,workspace:i}):P.tryParseDescriptor(y),S=y.match(/^(https?:|git@github)/);if(S)throw new Pe(`It seems you are trying to add a package using a ${Ae.pretty(e,`${S[0]}...`,Di.RANGE)} url; we now require package names to be explicitly specified. +Try running the command again with the package name prefixed: ${Ae.pretty(e,"yarn add",Di.CODE)} ${Ae.pretty(e,P.makeDescriptor(P.makeIdent(null,"my-package"),`${S[0]}...`),Di.DESCRIPTOR)}`);if(!b)throw new Pe(`The ${Ae.pretty(e,y,Di.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let k=kJe(i,b,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),T=await rm(b,{project:r,workspace:i,cache:n,target:k,modifier:o,strategies:a,maxResults:l});return[b,T,k]})),u=await gA.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async y=>{for(let[b,{suggestions:S,rejections:k}]of c)if(S.filter(Y=>Y.descriptor!==null).length===0){let[Y]=k;if(typeof Y=="undefined")throw new Error("Assertion failed: Expected an error to have been set");r.configuration.get("enableNetwork")?y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range`):y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),y.reportSeparator(),y.reportExceptionOnce(Y)}});if(u.hasErrors())return u.exitCode();let g=!1,f=[],h=[];for(let[,{suggestions:y},b]of c){let S,k=y.filter(Z=>Z.descriptor!==null),T=k[0].descriptor,Y=k.every(Z=>P.areDescriptorsEqual(Z.descriptor,T));k.length===1||Y?S=T:(g=!0,{answer:S}=await(0,Nse.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:y.map(({descriptor:Z,name:J,reason:re})=>Z?{name:J,hint:re,descriptor:Z}:{name:J,hint:re,disabled:!0}),onCancel:()=>process.exit(130),result(Z){return this.find(Z,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let j=i.manifest[b].get(S.identHash);(typeof j=="undefined"||j.descriptorHash!==S.descriptorHash)&&(i.manifest[b].set(S.identHash,S),this.optional&&(b==="dependencies"?i.manifest.ensureDependencyMeta(ie(N({},S),{range:"unknown"})).optional=!0:b==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta(ie(N({},S),{range:"unknown"})).optional=!0)),typeof j=="undefined"?f.push([i,b,S,a]):h.push([i,b,j,S]))}return await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyAddition,f),await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyReplacement,h),g&&this.context.stdout.write(` +`),(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async y=>{await r.install({cache:n,report:y,mode:this.mode})})).exitCode()}};im.paths=[["add"]],im.usage=Re.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var Lse=im;function kJe(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[Hr.REGULAR].has(e.identHash),a=t.manifest[Hr.DEVELOPMENT].has(e.identHash),l=t.manifest[Hr.PEER].has(e.identHash);if((r||i)&&o)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!i&&l)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||n)&&s)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?Hr.PEER:r||n?Hr.DEVELOPMENT:o?Hr.REGULAR:a?Hr.DEVELOPMENT:Hr.REGULAR}var nm=class extends Le{constructor(){super(...arguments);this.verbose=W.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=W.String({required:!1})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await ze.find(e,this.context.cwd);if(await r.restoreInstallState(),this.name){let o=(await Zt.getPackageAccessibleBinaries(i,{project:r})).get(this.name);if(!o)throw new Pe(`Couldn't find a binary named "${this.name}" for package "${P.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} +`),0}return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await Zt.getPackageAccessibleBinaries(i,{project:r}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:P.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${P.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};nm.paths=[["bin"]],nm.usage=Re.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var Tse=nm;var sm=class extends Le{constructor(){super(...arguments);this.mirror=W.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=W.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=await Nt.find(e);return(await Je.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await K.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await K.removePromise(r.cwd)})).exitCode()}};sm.paths=[["cache","clean"],["cache","clear"]],sm.usage=Re.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var Ose=sm;var Mse=ge(x0()),LN=ge(require("util")),om=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=W.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=ve.convertMapsToIndexableObjects(s),a=i?(0,Mse.default)(o,i):o,l=await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a} +`),l.exitCode();LN.inspect.styles.name="cyan",this.context.stdout.write(`${(0,LN.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} +`)}return l.exitCode()}};om.paths=[["config","get"]],om.usage=Re.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var Kse=om;var Xoe=ge(HN()),Zoe=ge(x0()),$oe=ge(Voe()),GN=ge(require("util")),Am=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=W.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=W.String();this.value=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new Pe("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${i}"`);if(i==="enableStrictSettings")throw new Pe("This setting only affects the file it's in, and thus cannot be set from the CLI");let o=this.json?JSON.parse(this.value):this.value;await(this.home?h=>we.updateHomeConfiguration(h):h=>we.updateConfiguration(r(),h))(h=>{if(n){let p=(0,Xoe.default)(h);return(0,$oe.default)(p,this.name,o),p}else return ie(N({},h),{[i]:o})});let c=(await we.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=ve.convertMapsToIndexableObjects(c),g=n?(0,Zoe.default)(u,n):u;return(await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async h=>{GN.inspect.styles.name="cyan",h.reportInfo($.UNNAMED,`Successfully set ${this.name} to ${(0,GN.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};Am.paths=[["config","set"]],Am.usage=Re.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var eae=Am;var lae=ge(HN()),cae=ge(kC()),uae=ge(Aae()),lm=class extends Le{constructor(){super(...arguments);this.home=W.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new Pe("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${i}"`);let o=this.home?l=>we.updateHomeConfiguration(l):l=>we.updateConfiguration(r(),l);return(await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async l=>{let c=!1;await o(u=>{if(!(0,cae.default)(u,this.name))return l.reportWarning($.UNNAMED,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),c=!0,u;let g=n?(0,lae.default)(u):N({},u);return(0,uae.default)(g,this.name),g}),c||l.reportInfo($.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};lm.paths=[["config","unset"]],lm.usage=Re.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var gae=lm;var jN=ge(require("util")),cm=class extends Le{constructor(){super(...arguments);this.verbose=W.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=W.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError($.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=ve.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(N({key:s,effective:a,source:l},o))}}else{let n=ve.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${(0,jN.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,jN.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};cm.paths=[["config"]],cm.usage=Re.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]});var fae=cm;Is();var YN={};ft(YN,{Strategy:()=>yu,acceptedStrategies:()=>D8e,dedupe:()=>qN});var hae=ge(rs()),yu;(function(e){e.HIGHEST="highest"})(yu||(yu={}));var D8e=new Set(Object.values(yu)),R8e={highest:async(t,e,{resolver:r,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of t.storedResolutions){let c=t.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);ve.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!hae.default.isMatch(P.stringifyIdent(a),e))return null;let l=t.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=t.originalPackages.get(l);if(typeof c=="undefined"||!r.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let b=t.originalPackages.get(y);if(typeof b=="undefined")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return b.reference}),f=await r.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h=="undefined")return null;let p=h.locatorHash,m=t.originalPackages.get(p);if(typeof m=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:m}})}};async function qN(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new pi,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let f=await R8e[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=Ji.progressViaCounter(f.length);n.reportProgress(h);let p=0;await Promise.all(f.map(b=>b.then(S=>{if(S===null)return;p++;let{descriptor:k,currentPackage:T,updatedPackage:Y}=S;n.reportInfo($.UNNAMED,`${P.prettyDescriptor(s,k)} can be deduped from ${P.prettyLocator(s,T)} to ${P.prettyLocator(s,Y)}`),n.reportJson({descriptor:P.stringifyDescriptor(k),currentResolution:P.stringifyLocator(T),updatedResolution:P.stringifyLocator(Y)}),t.storedResolutions.set(k.descriptorHash,Y.locatorHash)}).finally(()=>h.tick())));let m;switch(p){case 0:m="No packages";break;case 1:m="One package";break;default:m=`${p} packages`}let y=Ae.pretty(s,e,Ae.Type.CODE);return n.reportInfo($.UNNAMED,`${m} can be deduped using the ${y} strategy`),p})}var um=class extends Le{constructor(){super(...arguments);this.strategy=W.String("-s,--strategy",yu.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:nn(yu)});this.check=W.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=W.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.patterns=W.Rest()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd),i=await Nt.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await qN(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await Je.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a,mode:this.mode})})).exitCode()}};um.paths=[["dedupe"]],um.usage=Re.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var pae=um;var nb=class extends Le{async execute(){let{plugins:e}=await we.find(this.context.cwd,this.context.plugins),r=[];for(let o of e){let{commands:a}=o[1];if(a){let c=ys.from(a).definitions();r.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=Cae()["@yarnpkg/builder"].bundles.standard;for(let o of r){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} +`)}};nb.paths=[["--clipanion=definitions"]];var mae=nb;var sb=class extends Le{async execute(){this.context.stdout.write(this.cli.usage(null))}};sb.paths=[["help"],["--help"],["-h"]];var Eae=sb;var JN=class extends Le{constructor(){super(...arguments);this.leadingArgument=W.String();this.args=W.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!P.tryParseIdent(this.leadingArgument)){let e=x.resolve(this.context.cwd,H.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},Iae=JN;var ob=class extends Le{async execute(){this.context.stdout.write(`${Kr||""} +`)}};ob.paths=[["-v"],["--version"]];var yae=ob;var gm=class extends Le{constructor(){super(...arguments);this.commandName=W.String();this.args=W.Proxy()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await ze.find(e,this.context.cwd);return await r.restoreInstallState(),await Zt.executePackageShellcode(i,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:r})}};gm.paths=[["exec"]],gm.usage=Re.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});var wae=gm;Is();var fm=class extends Le{constructor(){super(...arguments);this.hash=W.String({required:!1,validator:hp(fp(),[pp(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await F8e(this.hash,r,{stdout:this.context.stdout}):(await Je.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>P.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>P.stringifyIdent(a.requested)];for(let[a,l]of ve.sortMap(r.peerRequirements,s)){let c=r.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=r.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,f=Ae.pretty(e,a,Ae.Type.CODE),h=P.prettyLocator(e,c),p=P.prettyIdent(e,l.requested),m=P.prettyIdent(e,u),y=l.allRequesters.length-1,b=`descendant${y===1?"":"s"}`,S=y>0?` and ${y} ${b}`:"",k=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${f} \u2192 ${h} ${k} ${p} to ${m}${S}`)}})).exitCode()}};fm.paths=[["explain","peer-requirements"]],fm.usage=Re.Usage({description:"explain a set of peer requirements",details:` + A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. + + When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. + + When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. + + **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var Bae=fm;async function F8e(t,e,r){let{configuration:i}=e,n=e.peerRequirements.get(t);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await Je.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var b,S;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(b=a.dependencies.get(n.requested.identHash))!=null?b:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(k=>{let T=e.storedPackages.get(k);if(typeof T=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let Y=P.devirtualizeLocator(T),j=e.storedPackages.get(Y.locatorHash);if(typeof j=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let Z=j.peerDependencies.get(n.requested.identHash);if(typeof Z=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:T,peerDependency:Z}});if(g!==null){let k=f.every(({peerDependency:T})=>Wt.satisfiesWithPrereleases(g.version,T.range));o.reportInfo($.UNNAMED,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(S=g.version)!=null?S:"")}, which ${k?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo($.UNNAMED,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=Ae.mark(i),p=[];for(let{pkg:k,peerDependency:T}of ve.sortMap(f,Y=>P.stringifyLocator(Y.pkg))){let j=(g!==null?Wt.satisfiesWithPrereleases(g.version,T.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(k),prettyLocator:P.prettyLocator(i,k),prettyRange:P.prettyRange(i,T.range),mark:j})}let m=Math.max(...p.map(({stringifiedLocator:k})=>k.length)),y=Math.max(...p.map(({prettyRange:k})=>k.length));for(let{stringifiedLocator:k,prettyLocator:T,prettyRange:Y,mark:j}of ve.sortMap(p,({stringifiedLocator:Z})=>Z))o.reportInfo(null,`${T.padEnd(m+(T.length-k.length)," ")} \u2192 ${Y.padEnd(y," ")} ${j}`);p.length>1&&(o.reportSeparator(),o.reportInfo($.UNNAMED,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}Is();var bae=ge(ri()),hm=class extends Le{constructor(){super(...arguments);this.onlyIfNeeded=W.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r=()=>{if(typeof Kr=="undefined")throw new Pe("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},i;if(this.version==="self")i=r();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")i=`https://repo.yarnpkg.com/${await pm(e,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")i=`https://repo.yarnpkg.com/${await pm(e,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")i="https://nightly.yarnpkg.com/latest.js";else if(this.version.match(/^https?:/))i=this.version;else if(this.version.match(/^\.{0,2}[\\/]/)||H.isAbsolute(this.version))i=`file://${H.resolve(this.version)}`;else if(Wt.satisfiesWithPrereleases(this.version,">=2.0.0"))i=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(Wt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))i=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(Wt.validRange(this.version))i=`https://repo.yarnpkg.com/${await N8e(e,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new Pe(`Invalid version descriptor "${this.version}"`);return(await Je.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async s=>{let o="file://",a;i.startsWith(o)?(s.reportInfo($.UNNAMED,`Downloading ${Ae.pretty(e,i,Di.URL)}`),a=await K.readFilePromise(H.toPortablePath(i.slice(o.length)))):(s.reportInfo($.UNNAMED,`Retrieving ${Ae.pretty(e,i,Di.PATH)}`),a=await ir.get(i,{configuration:e})),await WN(e,null,a,{report:s})})).exitCode()}};hm.paths=[["set","version"]],hm.usage=Re.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});var Qae=hm;async function N8e(t,e){let i=(await ir.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(n=>Wt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new Pe(`No matching release found for range ${Ae.pretty(t,e,Ae.Type.RANGE)}.`);return i[0]}async function pm(t,e){let r=await ir.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new Pe(`Tag ${Ae.pretty(t,e,Ae.Type.RANGE)} not found`);return r.latest[e]}async function WN(t,e,r,{report:i}){var g;e===null&&await K.mktempPromise(async f=>{let h=x.join(f,"yarn.cjs");await K.writeFilePromise(h,r);let{stdout:p}=await Fr.execvp(process.execPath,[H.fromPortablePath(h),"--version"],{cwd:f,env:ie(N({},process.env),{YARN_IGNORE_PATH:"1"})});if(e=p.trim(),!bae.default.valid(e))throw new Error(`Invalid semver version. ${Ae.pretty(t,"yarn --version",Ae.Type.CODE)} returned: +${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=x.resolve(n,".yarn/releases"),o=x.resolve(s,`yarn-${e}.cjs`),a=x.relative(t.startingCwd,o),l=x.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);if(i.reportInfo($.UNNAMED,`Saving the new release in ${Ae.pretty(t,a,"magenta")}`),await K.removePromise(x.dirname(o)),await K.mkdirPromise(x.dirname(o),{recursive:!0}),await K.writeFilePromise(o,r,{mode:493}),u){await we.updateConfiguration(n,{yarnPath:l});let f=await At.tryFind(n)||new At;f.packageManager=`yarn@${e&&ve.isTaggedYarnVersion(e)?e:await pm(t,"stable")}`;let h={};f.exportTo(h);let p=x.join(n,At.fileName),m=`${JSON.stringify(h,null,f.indent)} +`;await K.changeFilePromise(p,m,{automaticNewlines:!0})}}function vae(t){return $[bI(t)]}var L8e=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
(?:.(?!##))+)/gs;async function T8e(t){let r=`https://repo.yarnpkg.com/${ve.isTaggedYarnVersion(Kr)?Kr:await pm(t,"canary")}/packages/gatsby/content/advanced/error-codes.md`,i=await ir.get(r,{configuration:t});return new Map(Array.from(i.toString().matchAll(L8e),({groups:n})=>{if(!n)throw new Error("Assertion failed: Expected the match to have been successful");let s=vae(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected "${n.name}" to be named "${s}"`);return[n.code,n.details]}))}var dm=class extends Le{constructor(){super(...arguments);this.code=W.String({required:!1,validator:hp(fp(),[pp(/^YN[0-9]{4}$/)])});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins);if(typeof this.code!="undefined"){let r=vae(this.code),i=Ae.pretty(e,r,Ae.Type.CODE),n=this.cli.format().header(`${this.code} - ${i}`),o=(await T8e(e)).get(this.code),a=typeof o!="undefined"?Ae.jsonOrPretty(this.json,e,Ae.tuple(Ae.Type.MARKDOWN,{text:o,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. + +You can help us by editing this page on GitHub \u{1F642}: +${Ae.jsonOrPretty(this.json,e,Ae.tuple(Ae.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))} +`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:r,details:a})} +`):this.context.stdout.write(`${n} + +${a} +`)}else{let r={children:ve.mapAndFilter(Object.entries($),([i,n])=>Number.isNaN(Number(i))?ve.mapAndFilter.skip:{label:qA(Number(i)),value:Ae.tuple(Ae.Type.CODE,n)})};As.emitTree(r,{configuration:e,stdout:this.context.stdout,json:this.json})}}};dm.paths=[["explain"]],dm.usage=Re.Usage({description:"explain an error code",details:` + When the code argument is specified, this command prints its name and its details. + + When used without arguments, this command lists all error codes and their names. + `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});var Sae=dm;var kae=ge(rs()),Cm=class extends Le{constructor(){super(...arguments);this.all=W.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=W.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=W.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=W.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=W.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=W.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=W.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=W.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=W.Rest()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i&&!this.all)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(k,{recursive:T})=>{let Y=k.anchoredLocator.locatorHash,j=new Map,Z=[Y];for(;Z.length>0;){let J=Z.shift();if(j.has(J))continue;let re=r.storedPackages.get(J);if(typeof re=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(j.set(J,re),P.isVirtualLocator(re)&&Z.push(P.devirtualizeLocator(re).locatorHash),!(!T&&J!==Y))for(let ee of re.dependencies.values()){let A=r.storedResolutions.get(ee.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");Z.push(A)}}return j.values()},a=({recursive:k})=>{let T=new Map;for(let Y of r.workspaces)for(let j of o(Y,{recursive:k}))T.set(j.locatorHash,j);return T.values()},l=({all:k,recursive:T})=>k&&T?r.storedPackages.values():k?a({recursive:T}):o(i,{recursive:T}),c=({all:k,recursive:T})=>{let Y=l({all:k,recursive:T}),j=this.patterns.map(re=>{let ee=P.parseLocator(re),A=kae.default.makeRe(P.stringifyIdent(ee)),oe=P.isVirtualLocator(ee),le=oe?P.devirtualizeLocator(ee):ee;return X=>{let O=P.stringifyIdent(X);if(!A.test(O))return!1;if(ee.reference==="unknown")return!0;let L=P.isVirtualLocator(X),pe=L?P.devirtualizeLocator(X):X;return!(oe&&L&&ee.reference!==X.reference||le.reference!==pe.reference)}}),Z=ve.sortMap([...Y],re=>P.stringifyLocator(re));return{selection:Z.filter(re=>j.length===0||j.some(ee=>ee(re))),sortedLookup:Z}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new Pe("No package matched your request");let f=new Map;if(this.dependents)for(let k of g)for(let T of k.dependencies.values()){let Y=r.storedResolutions.get(T.descriptorHash);if(typeof Y=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");ve.getArrayWithDefault(f,Y).push(k)}let h=new Map;for(let k of g){if(!P.isVirtualLocator(k))continue;let T=P.devirtualizeLocator(k);ve.getArrayWithDefault(h,T.locatorHash).push(k)}let p={},m={children:p},y=e.makeFetcher(),b={project:r,fetcher:y,cache:n,checksums:r.storedChecksums,report:new pi,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},S=[async(k,T,Y)=>{var J,re;if(!T.has("manifest"))return;let j=await y.fetch(k,b),Z;try{Z=await At.find(j.prefixPath,{baseFs:j.packageFs})}finally{(J=j.releaseFs)==null||J.call(j)}Y("Manifest",{License:Ae.tuple(Ae.Type.NO_HINT,Z.license),Homepage:Ae.tuple(Ae.Type.URL,(re=Z.raw.homepage)!=null?re:null)})},async(k,T,Y)=>{var A;if(!T.has("cache"))return;let j={mockedPackages:r.disabledLocators,unstablePackages:r.conditionalLocators},Z=(A=r.storedChecksums.get(k.locatorHash))!=null?A:null,J=n.getLocatorPath(k,Z,j),re;if(J!==null)try{re=K.statSync(J)}catch{}let ee=typeof re!="undefined"?[re.size,Ae.Type.SIZE]:void 0;Y("Cache",{Checksum:Ae.tuple(Ae.Type.NO_HINT,Z),Path:Ae.tuple(Ae.Type.PATH,J),Size:ee})}];for(let k of u){let T=P.isVirtualLocator(k);if(!this.virtuals&&T)continue;let Y={},j={value:[k,Ae.Type.LOCATOR],children:Y};if(p[P.stringifyLocator(k)]=j,this.nameOnly){delete j.children;continue}let Z=h.get(k.locatorHash);typeof Z!="undefined"&&(Y.Instances={label:"Instances",value:Ae.tuple(Ae.Type.NUMBER,Z.length)}),Y.Version={label:"Version",value:Ae.tuple(Ae.Type.NO_HINT,k.version)};let J=(ee,A)=>{let oe={};if(Y[ee]=oe,Array.isArray(A))oe.children=A.map(le=>({value:le}));else{let le={};oe.children=le;for(let[X,O]of Object.entries(A))typeof O!="undefined"&&(le[X]={label:X,value:O})}};if(!T){for(let ee of S)await ee(k,s,J);await e.triggerHook(ee=>ee.fetchPackageInfo,k,s,J)}k.bin.size>0&&!T&&J("Exported Binaries",[...k.bin.keys()].map(ee=>Ae.tuple(Ae.Type.PATH,ee)));let re=f.get(k.locatorHash);typeof re!="undefined"&&re.length>0&&J("Dependents",re.map(ee=>Ae.tuple(Ae.Type.LOCATOR,ee))),k.dependencies.size>0&&!T&&J("Dependencies",[...k.dependencies.values()].map(ee=>{var le;let A=r.storedResolutions.get(ee.descriptorHash),oe=typeof A!="undefined"&&(le=r.storedPackages.get(A))!=null?le:null;return Ae.tuple(Ae.Type.RESOLUTION,{descriptor:ee,locator:oe})})),k.peerDependencies.size>0&&T&&J("Peer dependencies",[...k.peerDependencies.values()].map(ee=>{var X,O;let A=k.dependencies.get(ee.identHash),oe=typeof A!="undefined"&&(X=r.storedResolutions.get(A.descriptorHash))!=null?X:null,le=oe!==null&&(O=r.storedPackages.get(oe))!=null?O:null;return Ae.tuple(Ae.Type.RESOLUTION,{descriptor:ee,locator:le})}))}As.emitTree(m,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};Cm.paths=[["info"]],Cm.usage=Re.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var xae=Cm;var ab=ge(pc());Is();var mm=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=W.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=W.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=W.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=W.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=W.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.cacheFolder=W.String("--cache-folder",{hidden:!0});this.frozenLockfile=W.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=W.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=W.Boolean("--non-interactive",{hidden:!0});this.preferOffline=W.Boolean("--prefer-offline",{hidden:!0});this.production=W.Boolean("--production",{hidden:!0});this.registry=W.String("--registry",{hidden:!0});this.silent=W.Boolean("--silent",{hidden:!0});this.networkTimeout=W.String("--network-timeout",{hidden:!0})}async execute(){var g;let e=await we.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let r=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,i=async(f,{error:h})=>{let p=await Je.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async m=>{h?m.reportError($.DEPRECATED_CLI_SETTINGS,f):m.reportWarning($.DEPRECATED_CLI_SETTINGS,f)});return p.hasErrors()?p.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let f=await i("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!ab.default.VERCEL});if(f!==null)return f}if(typeof this.registry!="undefined"){let f=await i("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(f!==null)return f}if(typeof this.preferOffline!="undefined"){let f=await i("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!ab.default.VERCEL});if(f!==null)return f}if(typeof this.production!="undefined"){let f=await i("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(f!==null)return f}if(typeof this.nonInteractive!="undefined"){let f=await i("The --non-interactive option is deprecated",{error:!r});if(f!==null)return f}if(typeof this.frozenLockfile!="undefined"&&(await i("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!="undefined"){let f=await i("The cache-folder option has been deprecated; use rc settings instead",{error:!ab.default.NETLIFY});if(f!==null)return f}let n=this.mode===di.UpdateLockfile;if(n&&(this.immutable||this.immutableCache))throw new Pe(`${Ae.pretty(e,"--immutable",Ae.Type.CODE)} and ${Ae.pretty(e,"--immutable-cache",Ae.Type.CODE)} cannot be used with ${Ae.pretty(e,"--mode=update-lockfile",Ae.Type.CODE)}`);let s=((g=this.immutable)!=null?g:e.get("enableImmutableInstalls"))&&!n,o=this.immutableCache&&!n;if(e.projectCwd!==null){let f=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{await O8e(e,s)&&(h.reportInfo($.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts \u{1F44D}"),h.reportSeparator())});if(f.hasErrors())return f.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get("nodeLinker")=="undefined"){let f=e.projectCwd,h;try{h=await K.readFilePromise(x.join(f,Pt.lockfile),"utf8")}catch{}if(h==null?void 0:h.includes("yarn lockfile v1")){let p=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async m=>{m.reportInfo($.AUTO_NM_SUCCESS,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),m.reportSeparator(),e.use("",{nodeLinker:"node-modules"},f,{overwrite:!0}),await we.updateConfiguration(f,{nodeLinker:"node-modules"})});if(p.hasErrors())return p.exitCode()}}if(e.projectCwd!==null){let f=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{var p;((p=we.telemetry)==null?void 0:p.isNew)&&(h.reportInfo($.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),h.reportInfo($.TELEMETRY_NOTICE,`Run ${Ae.pretty(e,"yarn config set --home enableTelemetry 0",Ae.Type.CODE)} to disable`),h.reportSeparator())});if(f.hasErrors())return f.exitCode()}let{project:a,workspace:l}=await ze.find(e,this.context.cwd),c=await Nt.find(e,{immutable:o,check:this.checkCache});if(!l)throw new ht(a.cwd,this.context.cwd);return await a.restoreInstallState({restoreResolutions:!1}),(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async f=>{await a.install({cache:c,report:f,immutable:s,mode:this.mode})})).exitCode()}};mm.paths=[["install"],Re.Default],mm.usage=Re.Usage({description:"install the project dependencies",details:` + This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics: + + - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). + + - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \`cacheFolder\` in \`yarn config\` to see where the cache files are stored). + + - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know). + + - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail. + + Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches. + + If the \`--immutable\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \`immutablePatterns\` configuration setting). For backward compatibility we offer an alias under the name of \`--frozen-lockfile\`, but it will be removed in a later release. + + If the \`--immutable-cache\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed). + + If the \`--check-cache\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them. + + If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var Pae=mm,M8e="|||||||",K8e=">>>>>>>",U8e="=======",Dae="<<<<<<<";async function O8e(t,e){if(!t.projectCwd)return!1;let r=x.join(t.projectCwd,t.get("lockfileFilename"));if(!await K.existsPromise(r))return!1;let i=await K.readFilePromise(r,"utf8");if(!i.includes(Dae))return!1;if(e)throw new ct($.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=H8e(i),o,a;try{o=Qi(n),a=Qi(s)}catch(c){throw new ct($.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=N(N({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await K.changeFilePromise(r,La(l),{automaticNewlines:!0}),!0}function H8e(t){let e=[[],[]],r=t.split(/\r?\n/g),i=!1;for(;r.length>0;){let n=r.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(Dae)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===U8e){i=!1;break}else if(i||s.startsWith(M8e)){i=!0;continue}else e[0].push(s)}for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(K8e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` +`),e[1].join(` +`)]}var Em=class extends Le{constructor(){super(...arguments);this.all=W.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=W.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=W.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=x.resolve(this.context.cwd,H.toPortablePath(this.destination)),o=await we.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await ze.find(o,s);if(r.cwd===a.cwd)throw new Pe("Invalid destination; Can't link the project to itself");if(!l)throw new ht(a.cwd,s);let c=r.topLevelWorkspace,u=[];if(this.all){for(let f of a.workspaces)f.manifest.name&&(!f.manifest.private||this.private)&&u.push(f);if(u.length===0)throw new Pe("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new Pe("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new Pe("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let f of u){let h=P.stringifyIdent(f.locator),p=this.relative?x.relative(r.cwd,f.cwd):f.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${p}`})}return(await Je.start({configuration:e,stdout:this.context.stdout},async f=>{await r.install({cache:n,report:f})})).exitCode()}};Em.paths=[["link"]],Em.usage=Re.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var Rae=Em;var Im=class extends Le{constructor(){super(...arguments);this.args=W.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Im.paths=[["node"]],Im.usage=Re.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var Fae=Im;var Gae=ge(require("os"));var Lae=ge(require("os"));var G8e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function wu(t){let e=await ir.get(G8e,{configuration:t});return Qi(e.toString())}var ym=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await wu(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=Tr(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(N({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};ym.paths=[["plugin","list"]],ym.usage=Re.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var Nae=ym;var j8e=/^[0-9]+$/;function Tae(t){return j8e.test(t)?`pull/${t}/head`:t}var Y8e=({repository:t,branch:e},r)=>[["git","init",H.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",Tae(e)],["git","reset","--hard","FETCH_HEAD"]],q8e=({branch:t})=>[["git","fetch","origin","--depth=1",Tae(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],J8e=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",x.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],wm=class extends Le{constructor(){super(...arguments);this.installPath=W.String("--path",{description:"The path where the repository should be cloned to"});this.repository=W.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=W.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=W.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=W.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=W.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=W.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?x.resolve(this.context.cwd,H.toPortablePath(this.installPath)):x.resolve(H.toPortablePath((0,Lae.tmpdir)()),"yarnpkg-sources",Dn.makeHash(this.repository).slice(0,6));return(await Je.start({configuration:e,stdout:this.context.stdout},async s=>{await _N(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo($.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await Bm(J8e(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=x.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await K.readFilePromise(o);await WN(e,"sources",a,{report:s}),this.skipPlugins||await W8e(this,{project:r,report:s,target:i})})).exitCode()}};wm.paths=[["set","version","from","sources"]],wm.usage=Re.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]});var Oae=wm;async function Bm(t,{configuration:e,context:r,target:i}){for(let[n,...s]of t){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await Fr.pipevp(n,s,{cwd:i,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${Ae.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} +`);try{await Fr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function _N(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&K.existsSync(x.join(i,".git"))){r.reportInfo($.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await Bm(q8e(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning($.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo($.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await K.removePromise(i),await K.mkdirPromise(i,{recursive:!0}),await Bm(Y8e(t,i),{configuration:e,context:t.context,target:i}))}async function W8e(t,{project:e,report:r,target:i}){let n=await wu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await zN(o,t,{project:e,report:r,target:i})}var Mae=ge(ri()),Kae=ge(require("url")),Uae=ge(require("vm"));var bm=class extends Le{constructor(){super(...arguments);this.name=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await ze.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||H.isAbsolute(this.name)){let a=x.resolve(this.context.cwd,H.toPortablePath(this.name));i.reportInfo($.UNNAMED,`Reading ${Ae.pretty(e,a,Ae.Type.PATH)}`),s=x.relative(n.cwd,a),o=await K.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new Kae.URL(this.name)}catch{throw new ct($.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=P.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!Mae.default.valid(l.reference))throw new ct($.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=P.stringifyIdent(l),u=await wu(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new ct($.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):Kr!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Kr}/`))}i.reportInfo($.UNNAMED,`Downloading ${Ae.pretty(e,a,"green")}`),o=await ir.get(a,{configuration:e})}await VN(s,o,{project:n,report:i})})).exitCode()}};bm.paths=[["plugin","import"]],bm.usage=Re.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var Hae=bm;async function VN(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};(0,Uae.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=x.resolve(r.cwd,l);i.reportInfo($.UNNAMED,`Saving the new plugin in ${Ae.pretty(n,l,"magenta")}`),await K.mkdirPromise(x.dirname(c),{recursive:!0}),await K.writeFilePromise(c,e);let u={path:l,spec:t};await we.updateConfiguration(r.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let m=typeof p!="string"?p.path:p,y=x.resolve(r.cwd,H.toPortablePath(m)),{name:b}=ve.dynamicRequire(y);b!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),ie(N({},g),{plugins:f})})}var z8e=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],Qm=class extends Le{constructor(){super(...arguments);this.installPath=W.String("--path",{description:"The path where the repository should be cloned to"});this.repository=W.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=W.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=W.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=W.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?x.resolve(this.context.cwd,H.toPortablePath(this.installPath)):x.resolve(H.toPortablePath((0,Gae.tmpdir)()),"yarnpkg-sources",Dn.makeHash(this.repository).slice(0,6));return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await ze.find(e,this.context.cwd),o=P.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=P.stringifyIdent(o),l=await wu(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new ct($.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await _N(this,{configuration:e,report:n,target:r}),await zN(c,this,{project:s,report:n,target:r})})).exitCode()}};Qm.paths=[["plugin","import","from","sources"]],Qm.usage=Re.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var jae=Qm;async function zN(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo($.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await Bm(z8e({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=x.resolve(s,`packages/${o}/bundles/${t}.js`),c=await K.readFilePromise(l);await VN(t,c,{project:i,report:n})}var vm=class extends Le{constructor(){super(...arguments);this.name=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd);return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=P.parseIdent(s);if(!e.plugins.has(s))throw new Pe(`${P.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=x.resolve(r.cwd,a);K.existsSync(l)&&(n.reportInfo($.UNNAMED,`Removing ${Ae.pretty(e,a,Ae.Type.PATH)}...`),await K.removePromise(l)),n.reportInfo($.UNNAMED,"Updating the configuration..."),await we.updateConfiguration(r.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:ie(N({},c),{plugins:u})})})).exitCode()}};vm.paths=[["plugin","remove"]],vm.usage=Re.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var Yae=vm;var Sm=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};Sm.paths=[["plugin","runtime"]],Sm.usage=Re.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var qae=Sm;var km=class extends Le{constructor(){super(...arguments);this.idents=W.Rest()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(P.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new pi}),s.size>0)for(let a of r.storedPackages.values())s.has(a.identHash)&&r.storedBuildState.delete(a.locatorHash);else r.storedBuildState.clear();return(await Je.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};km.paths=[["rebuild"]],km.usage=Re.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var Jae=km;var XN=ge(rs());Is();var xm=class extends Le{constructor(){super(...arguments);this.all=W.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=W.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.patterns=W.Rest()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[Hr.REGULAR,Hr.DEVELOPMENT,Hr.PEER],a=[],l=!1,c=[];for(let h of this.patterns){let p=!1,m=P.parseIdent(h);for(let y of s){let b=[...y.manifest.peerDependenciesMeta.keys()];for(let S of(0,XN.default)(b,h))y.manifest.peerDependenciesMeta.delete(S),l=!0,p=!0;for(let S of o){let k=y.manifest.getForScope(S),T=[...k.values()].map(Y=>P.stringifyIdent(Y));for(let Y of(0,XN.default)(T,P.stringifyIdent(m))){let{identHash:j}=P.parseIdent(Y),Z=k.get(j);if(typeof Z=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");y.manifest[S].delete(j),c.push([y,S,Z]),l=!0,p=!0}}}p||a.push(h)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",f=this.all?"any":"this";if(a.length>0)throw new Pe(`${u} ${Ae.prettyList(e,a,Di.CODE)} ${g} match any packages referenced by ${f} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await Je.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p,mode:this.mode})})).exitCode()):0}};xm.paths=[["remove"]],xm.usage=Re.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var Wae=xm;var zae=ge(require("util")),Ab=class extends Le{async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);return(await Je.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=ve.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,zae.inspect)(g,l)}`)})).exitCode()}};Ab.paths=[["run"]];var _ae=Ab;var Pm=class extends Le{constructor(){super(...arguments);this.inspect=W.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=W.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=W.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=W.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.silent=W.Boolean("--silent",{hidden:!0});this.scriptName=W.String();this.args=W.Proxy()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await ze.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Zt.hasPackageScript(s,this.scriptName,{project:r}))return await Zt.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await Zt.getPackageAccessibleBinaries(s,{project:r});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await Zt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(r.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await Zt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new Pe(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new Pe(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new Pe("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of Tf)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new Pe(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new Pe(`Couldn't find a script named "${this.scriptName}".`)}}};Pm.paths=[["run"]],Pm.usage=Re.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var Vae=Pm;var Dm=class extends Le{constructor(){super(...arguments);this.save=W.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=W.String();this.resolution=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new ht(r.cwd,this.context.cwd);let s=P.parseDescriptor(this.descriptor,!0),o=P.makeDescriptor(s,this.resolution);return r.storedDescriptors.set(s.descriptorHash,s),r.storedDescriptors.set(o.descriptorHash,o),r.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Dm.paths=[["set","resolution"]],Dm.usage=Re.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var Xae=Dm;var Zae=ge(rs()),Rm=class extends Le{constructor(){super(...arguments);this.all=W.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=W.Rest()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);let s=r.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith("portal:")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=x.resolve(this.context.cwd,H.toPortablePath(l));if(ve.isPathLike(l)){let u=await we.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:f}=await ze.find(u,c);if(!f)throw new ht(g.cwd,c);if(this.all){for(let h of g.workspaces)h.manifest.name&&o.add(P.stringifyIdent(h.locator));if(o.size===0)throw new Pe("No workspace found to be unlinked in the target project")}else{if(!f.manifest.name)throw new Pe("The target workspace doesn't have a name and thus cannot be unlinked");o.add(P.stringifyIdent(f.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,Zae.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Rm.paths=[["unlink"]],Rm.usage=Re.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var $ae=Rm;var eAe=ge(em()),ZN=ge(rs());Is();var rh=class extends Le{constructor(){super(...arguments);this.interactive=W.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=W.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=W.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=W.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=W.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=W.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.patterns=W.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>P.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(P.parseDescriptor(u).range!=="unknown")throw new Pe("Ranges aren't allowed when using --recursive");for(let g of(0,ZN.default)(o,u)){let f=P.parseIdent(g);a.add(f.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)r.storedDescriptors.delete(u.descriptorHash),r.storedResolutions.delete(u.descriptorHash);return(await Je.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var m;let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=tm(this,r),a=s?[Vr.KEEP,Vr.REUSE,Vr.PROJECT,Vr.LATEST]:[Vr.PROJECT,Vr.LATEST],l=[],c=[];for(let y of this.patterns){let b=!1,S=P.parseDescriptor(y);for(let k of r.workspaces)for(let T of[Hr.REGULAR,Hr.DEVELOPMENT]){let j=[...k.manifest.getForScope(T).values()].map(Z=>P.stringifyIdent(Z));for(let Z of(0,ZN.default)(j,P.stringifyIdent(S))){let J=P.parseIdent(Z),re=k.manifest[T].get(J.identHash);if(typeof re=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let ee=P.makeDescriptor(J,S.range);l.push(Promise.resolve().then(async()=>[k,T,re,await rm(ee,{project:r,workspace:k,cache:n,target:T,modifier:o,strategies:a})])),b=!0}}b||c.push(y)}if(c.length>1)throw new Pe(`Patterns ${Ae.prettyList(e,c,Di.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new Pe(`Pattern ${Ae.prettyList(e,c,Di.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await gA.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async y=>{for(let[,,b,{suggestions:S,rejections:k}]of u){let T=S.filter(Y=>Y.descriptor!==null);if(T.length===0){let[Y]=k;if(typeof Y=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let j=this.cli.error(Y);r.configuration.get("enableNetwork")?y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range + +${j}`):y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${j}`)}else T.length>1&&!s&&y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[];for(let[y,b,,{suggestions:S}]of u){let k,T=S.filter(J=>J.descriptor!==null),Y=T[0].descriptor,j=T.every(J=>P.areDescriptorsEqual(J.descriptor,Y));T.length===1||j?k=Y:(f=!0,{answer:k}=await(0,eAe.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${P.prettyWorkspace(e,y)} \u276F ${b}?`,choices:S.map(({descriptor:J,name:re,reason:ee})=>J?{name:re,hint:ee,descriptor:J}:{name:re,hint:ee,disabled:!0}),onCancel:()=>process.exit(130),result(J){return this.find(J,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let Z=y.manifest[b].get(k.identHash);if(typeof Z=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(Z.descriptorHash!==k.descriptorHash)y.manifest[b].set(k.identHash,k),h.push([y,b,Z,k]);else{let J=e.makeResolver(),re={project:r,resolver:J},ee=J.bindDescriptor(Z,y.anchoredLocator,re);r.forgetResolution(ee)}}return await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyReplacement,h),f&&this.context.stdout.write(` +`),(await Je.start({configuration:e,stdout:this.context.stdout},async y=>{await r.install({cache:n,report:y,mode:this.mode})})).exitCode()}};rh.paths=[["up"]],rh.usage=Re.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),rh.schema=[gv("recursive",mc.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var tAe=rh;var Fm=class extends Le{constructor(){super(...arguments);this.recursive=W.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=W.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let n=P.parseIdent(this.package).identHash,s=this.recursive?V8e(r,n,{configuration:e,peers:this.peers}):_8e(r,n,{configuration:e,peers:this.peers});As.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};Fm.paths=[["why"]],Fm.usage=Re.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var rAe=Fm;function _8e(t,e,{configuration:r,peers:i}){let n=ve.sortMap(t.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=t.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=t.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;if(c===null){let p=P.stringifyLocator(a);s[p]={value:[a,Ae.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},Ae.Type.DEPENDENT]}}}return o}function V8e(t,e,{configuration:r,peers:i}){let n=ve.sortMap(t.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let m=t.storedResolutions.get(p.descriptorHash);if(!m)throw new Error("Assertion failed: The resolution should have been registered");let y=t.storedPackages.get(m);if(!y)throw new Error("Assertion failed: The package should have been registered");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let m=p!==null?Ae.tuple(Ae.Type.DEPENDENT,{locator:f,descriptor:p}):Ae.tuple(Ae.Type.LOCATOR,f),y={},b={value:m,children:y},S=P.stringifyLocator(f);if(h[S]=b,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(f))))for(let k of f.dependencies.values()){if(!i&&f.peerDependencies.has(k.identHash))continue;let T=t.storedResolutions.get(k.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let Y=t.storedPackages.get(T);if(!Y)throw new Error("Assertion failed: The package should have been registered");g(Y,y,k)}};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var cL={};ft(cL,{default:()=>C4e,gitUtils:()=>Bu});var Bu={};ft(Bu,{TreeishProtocols:()=>On,clone:()=>aL,fetchBase:()=>BAe,fetchChangedFiles:()=>bAe,fetchChangedWorkspaces:()=>p4e,fetchRoot:()=>wAe,isGitUrl:()=>nh,lsRemote:()=>yAe,normalizeLocator:()=>nL,normalizeRepoUrl:()=>Nm,resolveUrl:()=>oL,splitRepoUrl:()=>Lm});var rL=ge(CAe()),mAe=ge(rB()),ih=ge(require("querystring")),iL=ge(ri()),EAe=ge(require("url"));function IAe(){return ie(N({},process.env),{GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`})}var h4e=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],On;(function(n){n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver"})(On||(On={}));function nh(t){return t?h4e.some(e=>!!t.match(e)):!1}function Lm(t){t=Nm(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:On.Head,request:"HEAD"},extra:{}};let r=t.slice(0,e),i=t.slice(e+1);if(i.match(/^[a-z]+=/)){let n=ih.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(On).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=On.Head,a="HEAD");for(let l of Object.values(On))delete n[l];return{repo:r,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:r,treeish:{protocol:s,request:o},extra:{}}}}function Nm(t,{git:e=!1}={}){var r;if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){t=t.replace(/^git\+([^:]+):/,"$1:");let i;try{i=EAe.default.parse(t)}catch{i=null}i&&i.protocol==="ssh:"&&((r=i.path)==null?void 0:r.startsWith("/:"))&&(t=t.replace(/^ssh:\/\//,""))}return t}function nL(t){return P.makeLocator(t,Nm(t.reference))}async function yAe(t,e){let r=Nm(t,{git:!0});if(!ir.getNetworkSettings(`https://${(0,rL.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let n=await sL("listing refs",["ls-remote",r],{cwd:e.startingCwd,env:IAe()},{configuration:e,normalizedRepoUrl:r}),s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function oL(t,e){let{repo:r,treeish:{protocol:i,request:n},extra:s}=Lm(t),o=await yAe(r,e),a=(c,u)=>{switch(c){case On.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return ih.default.stringify(ie(N({},s),{commit:u}))}case On.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return ih.default.stringify(ie(N({},s),{commit:g}))}case On.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return ih.default.stringify(ie(N({},s),{commit:g}))}case On.Semver:{let g=Wt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,m])=>[iL.default.parse(p.slice(10)),m]).filter(p=>p[0]!==null)),h=iL.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return ih.default.stringify(ie(N({},s),{commit:f.get(h)}))}case null:{let g;if((g=l(On.Commit,u))!==null||(g=l(On.Tag,u))!==null||(g=l(On.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${r}#${a(i,n)}`}async function aL(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:i,request:n}}=Lm(t);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=Nm(r,{git:!0});if(ir.getNetworkSettings(`https://${(0,rL.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await K.mktempPromise(),a={cwd:o,env:IAe()};return await sL("cloning the repository",["clone","-c core.autocrlf=false",s,H.fromPortablePath(o)],a,{configuration:e,normalizedRepoUrl:s}),await sL("switching branch",["checkout",`${n}`],a,{configuration:e,normalizedRepoUrl:s}),o})}async function wAe(t){let e=null,r,i=t;do r=i,await K.existsPromise(x.join(r,".git"))&&(e=r),i=x.dirname(r);while(e===null&&i!==r);return e}async function BAe(t,{baseRefs:e}){if(e.length===0)throw new Pe("Can't run this command with zero base refs specified.");let r=[];for(let a of e){let{code:l}=await Fr.execvp("git",["merge-base",a,"HEAD"],{cwd:t});l===0&&r.push(a)}if(r.length===0)throw new Pe(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await Fr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),n=i.trim(),{stdout:s}=await Fr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:t,strict:!0}),o=s.trim();return{hash:n,title:o}}async function bAe(t,{base:e,project:r}){let i=ve.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:n}=await Fr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(t,H.toPortablePath(c))),{stdout:o}=await Fr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(t,H.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!x.relative(r.cwd,c).match(i)):l}async function p4e({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new Pe("This command can only be run from within a Yarn project");let r=[x.resolve(e.cwd,e.configuration.get("cacheFolder")),x.resolve(e.cwd,e.configuration.get("installStatePath")),x.resolve(e.cwd,e.configuration.get("lockfileFilename")),x.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&r.push(o)});let i=await wAe(e.configuration.projectCwd);if(i==null)throw new Pe("This command can only be run on Git repositories");let n=await BAe(i,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),s=await bAe(i,{base:n.hash,project:e});return new Set(ve.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?ve.mapAndFilter.skip:r.some(l=>o.startsWith(l))?ve.mapAndFilter.skip:a}))}async function sL(t,e,r,{configuration:i,normalizedRepoUrl:n}){try{return await Fr.execvp("git",e,ie(N({},r),{strict:!0}))}catch(s){if(!(s instanceof Fr.ExecError))throw s;let o=s.reportExtra,a=s.stderr.toString();throw new ct($.EXCEPTION,`Failed ${t}`,l=>{l.reportError($.EXCEPTION,` ${Ae.prettyField(i,{label:"Repository URL",value:Ae.tuple(Ae.Type.URL,n)})}`);for(let c of a.matchAll(/^(.+?): (.*)$/gm)){let[,u,g]=c;u=u.toLowerCase();let f=u==="error"?"Error":`${(0,mAe.default)(u)} Error`;l.reportError($.EXCEPTION,` ${Ae.prettyField(i,{label:f,value:Ae.tuple(Ae.Type.NO_HINT,g)})}`)}o==null||o(l)})}}var AL=class{supports(e,r){return nh(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,n=nL(e),s=new Map(r.checksums);s.set(n.locatorHash,i);let o=ie(N({},r),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:l,releaseFs:c,prefixPath:P.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,r){return r.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let i=await aL(e.reference,r.project.configuration),n=Lm(e.reference),s=x.join(i,"package.tgz");await Zt.prepareExternalProject(i,s,{configuration:r.project.configuration,report:r.report,workspace:n.extra.workspace,locator:e});let o=await K.readFilePromise(s);return await ve.releaseAfterUseAsync(async()=>await wi.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}))}};var lL=class{supportsDescriptor(e,r){return nh(e.range)}supportsLocator(e,r){return nh(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=await oL(e.range,i.project.configuration);return[P.makeLocator(e,n)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await ve.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return ie(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var d4e={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:ye.STRING,isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:ye.STRING,default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:ye.NUMBER,default:2}},fetchers:[AL],resolvers:[lL]};var C4e=d4e;var Tm=class extends Le{constructor(){super(...arguments);this.since=W.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=W.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.verbose=W.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{let s=this.since?await Bu.fetchChangedWorkspaces({ref:this.since,project:r}):r.workspaces,o=new Set(s);if(this.recursive)for(let a of[...s].map(l=>l.getRecursiveWorkspaceDependents()))for(let l of a)o.add(l);for(let a of o){let{manifest:l}=a,c;if(this.verbose){let u=new Set,g=new Set;for(let f of At.hardDependencies)for(let[h,p]of l.getForScope(f)){let m=r.tryWorkspaceByDescriptor(p);m===null?r.workspacesByIdent.has(h)&&g.add(p):u.add(m)}c={workspaceDependencies:Array.from(u).map(f=>f.relativeCwd),mismatchedWorkspaceDependencies:Array.from(g).map(f=>P.stringifyDescriptor(f))}}n.reportInfo(null,`${a.relativeCwd}`),n.reportJson(N({location:a.relativeCwd,name:l.name?P.stringifyIdent(l.name):null},c))}})).exitCode()}};Tm.paths=[["workspaces","list"]],Tm.usage=Re.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var QAe=Tm;var Om=class extends Le{constructor(){super(...arguments);this.workspaceName=W.String();this.commandName=W.String();this.args=W.Proxy()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=P.convertToIdent(a.locator);return[P.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new Pe(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${a.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};Om.paths=[["workspace"]],Om.usage=Re.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var vAe=Om;var m4e={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:ye.BOOLEAN,default:SAe.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:ye.STRING,values:["^","~",""],default:ga.CARET}},commands:[Ose,Kse,eae,gae,Xae,Oae,Qae,QAe,mae,Eae,Iae,yae,Lse,Tse,fae,pae,wae,Bae,Sae,xae,Pae,Rae,$ae,Fae,jae,Hae,Yae,Nae,qae,Jae,Wae,_ae,Vae,tAe,rAe,vAe]},E4e=m4e;var pL={};ft(pL,{default:()=>y4e});var qe={optional:!0},kAe=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:qe,zenObservable:qe}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:qe,zenObservable:qe}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:qe}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:qe,["postcss-jsx"]:qe,["postcss-less"]:qe,["postcss-markdown"]:qe,["postcss-scss"]:qe}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:qe}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:qe}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:qe,"vue-template-compiler":qe}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:qe,"utf-8-validate":qe}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":qe,"vuetify-loader":qe}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":qe}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":qe}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":qe}}],["consolidate@*",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:qe,tinyliquid:qe,"liquid-node":qe,jade:qe,"then-jade":qe,dust:qe,"dustjs-helpers":qe,"dustjs-linkedin":qe,swig:qe,"swig-templates":qe,"razor-tmpl":qe,atpl:qe,liquor:qe,twig:qe,ejs:qe,eco:qe,jazz:qe,jqtpl:qe,hamljs:qe,hamlet:qe,whiskers:qe,"haml-coffee":qe,"hogan.js":qe,templayed:qe,handlebars:qe,underscore:qe,lodash:qe,pug:qe,"then-pug":qe,qejs:qe,walrus:qe,mustache:qe,just:qe,ect:qe,mote:qe,toffee:qe,dot:qe,"bracket-template":qe,ractive:qe,nunjucks:qe,htmling:qe,"babel-core":qe,plates:qe,"react-dom":qe,react:qe,"arc-templates":qe,vash:qe,slm:qe,marko:qe,teacup:qe,"coffee-script":qe,squirrelly:qe,twing:qe}}],["vue-loader@<=16.3.1",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"}}],["scss-parser@*",{dependencies:{lodash:"^4.17.21"}}],["query-ast@*",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:qe}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:qe}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":qe,"webpack-command":qe}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":qe}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":qe}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:qe,jimp:qe}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":qe,"eslint-import-resolver-typescript":qe,"eslint-import-resolver-webpack":qe,"@typescript-eslint/parser":qe}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":qe}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":qe}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:qe}}],["@vue/eslint-config-typescript@*",{peerDependenciesMeta:{typescript:qe}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}]];var gL;function xAe(){return typeof gL=="undefined"&&(gL=require("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),gL}var fL;function PAe(){return typeof fL=="undefined"&&(fL=require("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),fL}var hL;function DAe(){return typeof hL=="undefined"&&(hL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),hL}var RAe=new Map([[P.makeIdent(null,"fsevents").identHash,xAe],[P.makeIdent(null,"resolve").identHash,PAe],[P.makeIdent(null,"typescript").identHash,DAe]]),I4e={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,i]of kAe)e(P.parseDescriptor(r,!0),i)},getBuiltinPatch:async(t,e)=>{var s;let r="compat/";if(!e.startsWith(r))return;let i=P.parseIdent(e.slice(r.length)),n=(s=RAe.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(t,e,r,i)=>typeof RAe.get(t.identHash)=="undefined"?t:P.makeDescriptor(t,P.makeRange({protocol:"patch:",source:P.stringifyDescriptor(t),selector:`~builtin`,params:null}))}},y4e=I4e;var dL={};ft(dL,{default:()=>B4e});var lb=class extends Le{constructor(){super(...arguments);this.pkg=W.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=W.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=W.String();this.args=W.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let r=P.parseIdent(this.command),i=P.makeIdent(r.scope,`create-${r.name}`);return this.cli.run(["dlx",...e,P.stringifyIdent(i),...this.args])}};lb.paths=[["create"]];var FAe=lb;var Mm=class extends Le{constructor(){super(...arguments);this.packages=W.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=W.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=W.String();this.args=W.Proxy()}async execute(){return we.telemetry=null,await K.mktempPromise(async e=>{var p;let r=x.join(e,`dlx-${process.pid}`);await K.mkdirPromise(r),await K.writeFilePromise(x.join(r,"package.json"),`{} +`),await K.writeFilePromise(x.join(r,"yarn.lock"),"");let i=x.join(r,".yarnrc.yml"),n=await we.findProjectCwd(this.context.cwd,Pt.lockfile),s=!(await we.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?x.join(n,".yarnrc.yml"):null;o!==null&&K.existsSync(o)?(await K.copyFilePromise(o,i),await we.updateConfiguration(r,m=>{let y=ie(N({},m),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(m.plugins)&&(y.plugins=m.plugins.map(b=>{let S=typeof b=="string"?b:b.path,k=H.isAbsolute(S)?S:H.resolve(H.fromPortablePath(n),S);return typeof b=="string"?k:{path:k,spec:b.spec}})),y})):await K.writeFilePromise(i,`enableGlobalCache: ${s} +enableTelemetry: false +`);let a=(p=this.packages)!=null?p:[this.command],l=P.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:r,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(` +`);let u=await we.find(r,this.context.plugins),{project:g,workspace:f}=await ze.find(u,r);if(f===null)throw new ht(g.cwd,r);await g.restoreInstallState();let h=await Zt.getWorkspaceAccessibleBinaries(f);return h.has(l)===!1&&h.size===1&&typeof this.packages=="undefined"&&(l=Array.from(h)[0][0]),await Zt.executeWorkspaceAccessibleBinary(f,l,this.args,{packageAccessibleBinaries:h,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Mm.paths=[["dlx"]],Mm.usage=Re.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var NAe=Mm;var w4e={commands:[FAe,NAe]},B4e=w4e;var QL={};ft(QL,{default:()=>v4e,fileUtils:()=>CL});var sh=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Km=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Xr="file:";var CL={};ft(CL,{makeArchiveFromLocator:()=>cb,makeBufferFromLocator:()=>IL,makeLocator:()=>EL,makeSpec:()=>LAe,parseSpec:()=>mL});function mL(t){let{params:e,selector:r}=P.parseRange(t),i=H.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?P.parseLocator(e.locator):null,path:i}}function LAe({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:P.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return P.makeRange({protocol:i,source:e,selector:e,params:N(N({},s),n)})}function EL(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return P.makeLocator(t,LAe({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function cb(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(t.reference,{protocol:e}),o=x.isAbsolute(s)?{packageFs:new _t(Ke.root),prefixPath:Ke.dot,localPath:Ke.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new _t(Ke.root),prefixPath:x.relative(Ke.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=x.join(a.prefixPath,s);return await ve.releaseAfterUseAsync(async()=>await wi.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function IL(t,{protocol:e,fetchOptions:r}){return(await cb(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var yL=class{supports(e,r){return!!e.reference.startsWith(Xr)}getLocalPath(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:Xr});if(x.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:x.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return cb(e,{protocol:Xr,fetchOptions:r})}};var b4e=2,wL=class{supportsDescriptor(e,r){return e.range.match(sh)?!0:!!e.range.startsWith(Xr)}supportsLocator(e,r){return!!e.reference.startsWith(Xr)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return sh.test(e.range)&&(e=P.makeDescriptor(e,`${Xr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=mL(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await IL(P.makeLocator(e,P.makeRange({protocol:Xr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:Xr,fetchOptions:i.fetchOptions}),a=Dn.makeHash(`${b4e}`,o).slice(0,6);return[EL(e,{parentLocator:s,path:n,folderHash:a,protocol:Xr})]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await ve.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return ie(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var BL=class{supports(e,r){return Km.test(e.reference)?!!e.reference.startsWith(Xr):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:Xr}),s=x.isAbsolute(n)?{packageFs:new _t(Ke.root),prefixPath:Ke.dot,localPath:Ke.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new _t(Ke.root),prefixPath:x.relative(Ke.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.join(o.prefixPath,n),c=await a.readFilePromise(l);return await ve.releaseAfterUseAsync(async()=>await wi.convertToZip(c,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var bL=class{supportsDescriptor(e,r){return Km.test(e.range)?!!(e.range.startsWith(Xr)||sh.test(e.range)):!1}supportsLocator(e,r){return Km.test(e.reference)?!!e.reference.startsWith(Xr):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return sh.test(e.range)&&(e=P.makeDescriptor(e,`${Xr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range;return n.startsWith(Xr)&&(n=n.slice(Xr.length)),[P.makeLocator(e,`${Xr}${H.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await ve.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return ie(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Q4e={fetchers:[BL,yL],resolvers:[bL,wL]},v4e=Q4e;var SL={};ft(SL,{default:()=>x4e});var TAe=ge(require("querystring")),OAe=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function MAe(t){return t?OAe.some(e=>!!t.match(e)):!1}function KAe(t){let e;for(let a of OAe)if(e=t.match(a),e)break;if(!e)throw new Error(S4e(t));let[,r,i,n,s="master"]=e,{commit:o}=TAe.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:r,username:i,reponame:n,treeish:s}}function S4e(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var vL=class{supports(e,r){return!!MAe(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await ir.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await K.mktempPromise(async n=>{let s=new _t(n);await wi.extractArchiveTo(i,s,{stripComponents:1});let o=Bu.splitRepoUrl(e.reference),a=x.join(n,"package.tgz");await Zt.prepareExternalProject(n,a,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let l=await K.readFilePromise(a);return await wi.convertToZip(l,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:i,username:n,reponame:s,treeish:o}=KAe(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var k4e={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let i=new vL;if(!i.supports(e,r))return null;try{return await i.fetch(e,r)}catch(n){return null}}}},x4e=k4e;var PL={};ft(PL,{default:()=>D4e});var Um=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,Hm=/^https?:/;var kL=class{supports(e,r){return Um.test(e.reference)?!!Hm.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await ir.get(e.reference,{configuration:r.project.configuration});return await wi.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var xL=class{supportsDescriptor(e,r){return Um.test(e.range)?!!Hm.test(e.range):!1}supportsLocator(e,r){return Um.test(e.reference)?!!Hm.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[P.convertDescriptorToLocator(e)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await ve.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return ie(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var P4e={fetchers:[kL],resolvers:[xL]},D4e=P4e;var NL={};ft(NL,{default:()=>Rze});var gle=ge(ule()),FL=ge(require("util")),Gm=class extends Le{constructor(){super(...arguments);this.private=W.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=W.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=W.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=W.Boolean("-2",!1,{hidden:!0});this.yes=W.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=W.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return r!==null?await this.executeProxy(e,r):await this.executeRegular(e)}async executeProxy(e,r){if(e.projectCwd!==null&&e.projectCwd!==this.context.cwd)throw new Pe("Cannot use the --install flag from within a project subdirectory");K.existsSync(this.context.cwd)||await K.mkdirPromise(this.context.cwd,{recursive:!0});let i=x.join(this.context.cwd,e.get("lockfileFilename"));K.existsSync(i)||await K.writeFilePromise(i,"");let n=await this.cli.run(["set","version",r],{quiet:!0});if(n!==0)return n;let s=[];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await K.mktempPromise(async o=>{let{code:a}=await Fr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Zt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){var l;let r=null;try{r=(await ze.find(e,this.context.cwd)).project}catch{r=null}K.existsSync(this.context.cwd)||await K.mkdirPromise(this.context.cwd,{recursive:!0});let i=await At.tryFind(this.context.cwd)||new At,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=(l=i.name)!=null?l:P.makeIdent(e.get("initScope"),x.basename(this.context.cwd)),i.packageManager=Kr&&ve.isTaggedYarnVersion(Kr)?`yarn@${Kr}`:null,typeof i.raw.private=="undefined"&&(this.private||this.workspace&&i.workspaceDefinitions.length===0)&&(i.private=!0),this.workspace&&i.workspaceDefinitions.length===0&&(await K.mkdirPromise(x.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),FL.inspect.styles.name="cyan",this.context.stdout.write(`${(0,FL.inspect)(s,{depth:Infinity,colors:!0,compact:!1})} +`);let o=x.join(this.context.cwd,At.fileName);await K.changeFilePromise(o,`${JSON.stringify(s,null,2)} +`,{automaticNewlines:!0});let a=x.join(this.context.cwd,"README.md");if(K.existsSync(a)||await K.writeFilePromise(a,`# ${P.stringifyIdent(i.name)} +`),!r||r.cwd===this.context.cwd){let c=x.join(this.context.cwd,Pt.lockfile);K.existsSync(c)||await K.writeFilePromise(c,"");let g=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!.yarn/cache","#.pnp.*"].map(y=>`${y} +`).join(""),f=x.join(this.context.cwd,".gitignore");K.existsSync(f)||await K.writeFilePromise(f,g);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,gle.default)(h,e.get("initEditorConfig"));let p=`root = true +`;for(let[y,b]of Object.entries(h)){p+=` +[${y}] +`;for(let[S,k]of Object.entries(b))p+=`${S.replace(/[A-Z]/g,Y=>`_${Y.toLowerCase()}`)} = ${k} +`}let m=x.join(this.context.cwd,".editorconfig");K.existsSync(m)||await K.writeFilePromise(m,p),K.existsSync(x.join(this.context.cwd,".git"))||await Fr.execvp("git",["init"],{cwd:this.context.cwd})}}};Gm.paths=[["init"]],Gm.usage=Re.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var fle=Gm;var Dze={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:ye.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:ye.MAP,valueDefinition:{description:"",type:ye.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:ye.MAP,valueDefinition:{description:"",type:ye.ANY}}},commands:[fle]},Rze=Dze;var KL={};ft(KL,{default:()=>Nze});var EA="portal:",IA="link:";var LL=class{supports(e,r){return!!e.reference.startsWith(EA)}getLocalPath(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:EA});if(x.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:x.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:EA}),s=x.isAbsolute(n)?{packageFs:new _t(Ke.root),prefixPath:Ke.dot,localPath:Ke.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new _t(Ke.root),prefixPath:x.relative(Ke.root,s.localPath),localPath:Ke.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new _t(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ke.dot,localPath:l}:{packageFs:new Ra(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ke.dot}}};var TL=class{supportsDescriptor(e,r){return!!e.range.startsWith(EA)}supportsLocator(e,r){return!!e.reference.startsWith(EA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(EA.length);return[P.makeLocator(e,`${EA}${H.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await ve.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return ie(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.SOFT,conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var OL=class{supports(e,r){return!!e.reference.startsWith(IA)}getLocalPath(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:IA});if(x.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:x.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:IA}),s=x.isAbsolute(n)?{packageFs:new _t(Ke.root),prefixPath:Ke.dot,localPath:Ke.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new _t(Ke.root),prefixPath:x.relative(Ke.root,s.localPath),localPath:Ke.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new _t(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ke.dot,discardFromLookup:!0,localPath:l}:{packageFs:new Ra(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ke.dot,discardFromLookup:!0}}};var ML=class{supportsDescriptor(e,r){return!!e.range.startsWith(IA)}supportsLocator(e,r){return!!e.reference.startsWith(IA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(IA.length);return[P.makeLocator(e,`${IA}${H.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){return ie(N({},e),{version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:Qt.SOFT,conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var Fze={fetchers:[OL,LL],resolvers:[ML,TL]},Nze=Fze;var fT={};ft(fT,{default:()=>j5e});var Mn;(function(i){i[i.REGULAR=0]="REGULAR",i[i.WORKSPACE=1]="WORKSPACE",i[i.EXTERNAL_SOFT_LINK=2]="EXTERNAL_SOFT_LINK"})(Mn||(Mn={}));var yA;(function(i){i[i.YES=0]="YES",i[i.NO=1]="NO",i[i.DEPENDS=2]="DEPENDS"})(yA||(yA={}));var UL=(t,e)=>`${t}@${e}`,hle=(t,e)=>{let r=e.indexOf("#"),i=r>=0?e.substring(r+1):e;return UL(t,i)},Io;(function(s){s[s.NONE=-1]="NONE",s[s.PERF=0]="PERF",s[s.CHECK=1]="CHECK",s[s.REASONS=2]="REASONS",s[s.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"})(Io||(Io={}));var dle=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||r>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:r,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=Lze(t,s),l=!1,c=0;do l=HL(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=jm(a);if(HL(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${u}, next tree: +${jm(a)}`);let f=ple(a);if(f)throw new Error(`${f}, after hoisting finished: +${jm(a)}`)}return s.debugLevel>=2&&console.log(jm(a)),Tze(a)},Oze=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())r.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),r},Mze=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of t)u=g.dependencies.get(c.name),u&&r.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),r},Cle=(t,e)=>{if(e.decoupled)return e;let{name:r,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:m}=e,y={name:r,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(m)},b=y.dependencies.get(r);return b&&b.ident==y.ident&&y.dependencies.set(r,y),t.dependencies.set(y.name,y),y},Kze=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let n of t.dependencies.values())t.peerNames.has(n.name)||r.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!t.peerNames.has(s)){let a=r.get(s);a||(a=[],r.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return r},GL=t=>{let e=new Set,r=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!t.peerNames.has(s)){let o=t.dependencies.get(s);o&&!e.has(o)&&r(o,n)}e.add(i)}};for(let i of t.dependencies.values())t.peerNames.has(i.name)||r(i);return e},HL=(t,e,r,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=Hze(o),l=Kze(o,a),c=t==o?new Map:n.fastLookupPossible?Oze(e):Mze(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([m,y])=>[m,y[0]])),p=new Map;do{let m=Uze(t,e,r,c,h,l,i,p,n);m.isGraphChanged&&(f=!0),m.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,b]of l)b.length>1&&!o.dependencies.has(y)&&(h.delete(y),b.shift(),h.set(y,b[0]),u=!0)}while(u);for(let m of o.dependencies.values())if(!o.peerNames.has(m.name)&&!r.has(m.locator)){r.add(m.locator);let y=HL(t,[...e,m],r,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),r.delete(m.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},Gze=t=>{for(let[e,r]of t.dependencies)if(!t.peerNames.has(e)&&r.ident!==t.ident)return!0;return!1},jze=(t,e,r,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>Ni(y)).join("\u2192")}`);let h=r[r.length-1],m=!(i.ident===h.ident);if(l&&!m&&(g="- self-reference"),m&&(m=i.dependencyKind!==1,l&&!m&&(g="- workspace")),m&&i.dependencyKind===2&&(m=!Gze(i),l&&!m&&(g="- external soft link with unhoisted dependencies")),m&&(m=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!m&&(g=h.reasons.get(i.name))),m&&(m=!t.peerNames.has(i.name),l&&!m&&(g=`- cannot shadow peer: ${Ni(t.originalDependencies.get(i.name).locator)} at ${u}`)),m){let y=!1,b=n.get(i.name);if(y=!b||b.ident===i.ident,l&&!y&&(g=`- filled by: ${Ni(b.locator)} at ${u}`),y)for(let S=r.length-1;S>=1;S--){let T=r[S].dependencies.get(i.name);if(T&&T.ident!==i.ident){y=!1;let Y=a.get(h);Y||(Y=new Set,a.set(h,Y)),Y.add(i.name),l&&(g=`- filled by ${Ni(T.locator)} at ${r.slice(0,S).map(j=>Ni(j.locator)).join("\u2192")}`);break}}m=y}if(m&&(m=s.get(i.name)===i.ident,l&&!m&&(g=`- filled by: ${Ni(o.get(i.name)[0])} at ${u}`)),m){let y=!0,b=new Set(i.peerNames);for(let S=r.length-1;S>=1;S--){let k=r[S];for(let T of b){if(k.peerNames.has(T)&&k.originalDependencies.has(T))continue;let Y=k.dependencies.get(T);Y&&t.dependencies.get(T)!==Y&&(S===r.length-1?f.add(Y):(f=null,y=!1,l&&(g=`- peer dependency ${Ni(Y.locator)} from parent ${Ni(k.locator)} was not hoisted to ${u}`))),b.delete(T)}if(!y)break}m=y}if(m&&!c)for(let y of i.hoistedDependencies.values()){let b=n.get(y.name)||t.dependencies.get(y.name);if(!b||y.ident!==b.ident){m=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${Ni(y.locator)}, available: ${Ni(b==null?void 0:b.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:m?0:1,reason:g}},ub=t=>`${t.name}@${t.locator}`,Uze=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(b,S,k,T,Y)=>{if(u.has(T))return;let j=[...S,ub(T)],Z=[...k,ub(T)],J=new Map,re=new Map;for(let X of GL(T)){let O=jze(c,r,[c,...b,T],X,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(re.set(X,O),O.isHoistable===2)for(let L of O.dependsOn){let pe=J.get(L.name)||new Set;pe.add(X.name),J.set(L.name,pe)}}let ee=new Set,A=(X,O,L)=>{if(!ee.has(X)){ee.add(X),re.set(X,{isHoistable:1,reason:L});for(let pe of J.get(X.name)||[])A(T.dependencies.get(pe),O,l.debugLevel>=2?`- peer dependency ${Ni(X.locator)} from parent ${Ni(T.locator)} was not hoisted`:"")}};for(let[X,O]of re)O.isHoistable===1&&A(X,O,O.reason);let oe=!1;for(let X of re.keys())if(!ee.has(X)){f=!0;let O=o.get(T);O&&O.has(X.name)&&(g=!0),oe=!0,T.dependencies.delete(X.name),T.hoistedDependencies.set(X.name,X),T.reasons.delete(X.name);let L=c.dependencies.get(X.name);if(l.debugLevel>=2){let pe=Array.from(S).concat([T.locator]).map(Oe=>Ni(Oe)).join("\u2192"),Ce=c.hoistedFrom.get(X.name);Ce||(Ce=[],c.hoistedFrom.set(X.name,Ce)),Ce.push(pe),T.hoistedTo.set(X.name,Array.from(e).map(Oe=>Ni(Oe.locator)).join("\u2192"))}if(!L)c.ident!==X.ident&&(c.dependencies.set(X.name,X),Y.add(X));else for(let pe of X.references)L.references.add(pe)}if(T.dependencyKind===2&&oe&&(g=!0),l.check){let X=ple(t);if(X)throw new Error(`${X}, after hoisting dependencies of ${[c,...b,T].map(O=>Ni(O.locator)).join("\u2192")}: +${jm(t)}`)}let le=GL(T);for(let X of le)if(ee.has(X)){let O=re.get(X);if((n.get(X.name)===X.ident||!T.reasons.has(X.name))&&O.isHoistable!==0&&T.reasons.set(X.name,O.reason),!X.isHoistBorder&&Z.indexOf(ub(X))<0){u.add(T);let pe=Cle(T,X);h([...b,T],j,Z,pe,m),u.delete(T)}}},p,m=new Set(GL(c)),y=Array.from(e).map(b=>ub(b));do{p=m,m=new Set;for(let b of p){if(b.locator===c.locator||b.isHoistBorder)continue;let S=Cle(c,b);h([],Array.from(r),y,S,m)}}while(m.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},ple=t=>{let e=[],r=new Set,i=new Set,n=(s,o,a)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>Ni(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,m=`${h?` hoisted to ${h}`:""}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${m}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${m} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(t,t.dependencies,t),e.join(` +`)},Lze=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:UL(r,n),ident:hle(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[t,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:m,peerNames:y,hoistPriority:b,dependencyKind:S}=c,k=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([m]),locator:UL(p,m),ident:hle(p,m),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:k?k.has(h):!1,hoistPriority:b||0,dependencyKind:S||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=m=>{if(!h.has(m)){h.add(m),m.decoupled=!1;for(let y of m.dependencies.values())m.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of t.dependencies)l(c,o);return o},jL=t=>t.substring(0,t.indexOf("@",1)),Tze=t=>{let e={name:t.name,identName:jL(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),i=(n,s,o)=>{let a=r.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:jL(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){r.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);r.delete(n)}};for(let n of t.dependencies.values())i(n,t,e);return e},Hze=t=>{let e=new Map,r=new Set([t]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!r.has(a);if(n(a).dependents.add(o.ident),!l){r.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},Ni=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let i=t.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(r=`v:${r}`),n.startsWith("workspace")&&(r=`w:${r}`,n=""),`${r}${n?`@${n}`:""}`}else return`${r}`},mle=5e4,jm=t=>{let e=0,r=(n,s,o="")=>{if(e>mle||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+Ni(u.locator)+(g?` ${g}`:"")} +`,l+=r(u,s,`${o}${cmle?` +Tree is too large, part of the tree has been dunped +`:"")};var yo;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(yo||(yo={}));var Kn;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Kn||(Kn={}));var Ele="node_modules",bu="$wsroot$";var Ym=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=Yze(t,e),o=null;if(n.length===0){let a=dle(r,{hoistingLimits:i});o=qze(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},fa=t=>`${t.name}@${t.reference}`,YL=t=>{let e=new Map;for(let[r,i]of t.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((i,n)=>{let s=i.split(x.delimiter).length,o=n.split(x.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},Ile=(t,e)=>{let r=P.isVirtualLocator(t)?P.devirtualizeLocator(t):t,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(r,i)},qL=(t,e,r,i)=>{if(t.linkType!==yo.SOFT)return!1;let n=H.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return x.contains(i,n)===null},Jze=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=H.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=t.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=fa(f);if(l.has(p))return;l.add(p);let m=t.getPackageInformation(f);if(m){let y=h?fa(h):"";if(fa(f)!==y&&m.linkType===yo.SOFT&&!qL(m,f,t,i)){let b=yle(m,f,t);(!a.get(b)||f.reference.startsWith("workspace:"))&&a.set(b,f)}for(let[b,S]of m.packageDependencies)S!==null&&(m.packagePeers.has(b)||c(t.getLocator(b,S),f))}};for(let f of o)c(f,null);let u=i.split(x.sep);for(let f of a.values()){let h=t.getPackageInformation(f),m=H.toPortablePath(h.packageLocation.slice(0,-1)).split(x.sep).slice(u.length),y=s;for(let b of m){let S=y.children.get(b);S||(S={children:new Map},y.children.set(b,S)),y=S}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=fa(h),m=n.get(p);m||(m=new Set,n.set(p,m)),m.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},Yze=(t,e)=>{let r=[],i=!1,n=new Map,s=Jze(t),o=t.getPackageInformation(t.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=t.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=H.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:Mn.WORKSPACE},u=new Map,g=(h,p)=>`${fa(p)}:${h}`,f=(h,p,m,y,b,S,k,T)=>{var X,O;let Y=g(h,m),j=u.get(Y),Z=!!j;!Z&&m.name===a.name&&m.reference===a.reference&&(j=c,u.set(Y,c));let J=qL(p,m,t,l);if(!j){let L=Mn.REGULAR;J?L=Mn.EXTERNAL_SOFT_LINK:p.linkType===yo.SOFT&&m.name.endsWith(bu)&&(L=Mn.WORKSPACE),j={name:h,identName:m.name,reference:m.reference,dependencies:new Set,peerNames:L===Mn.WORKSPACE?new Set:p.packagePeers,dependencyKind:L},u.set(Y,j)}let re;if(J?re=2:b.linkType===yo.SOFT?re=1:re=0,j.hoistPriority=Math.max(j.hoistPriority||0,re),T&&!J){let L=fa({name:y.identName,reference:y.reference}),pe=n.get(L)||new Set;n.set(L,pe),pe.add(j.name)}let ee=new Map(p.packageDependencies);if(e.project){let L=e.project.workspacesByCwd.get(H.toPortablePath(p.packageLocation.slice(0,-1)));if(L){let pe=new Set([...Array.from(L.manifest.peerDependencies.values(),Ce=>P.stringifyIdent(Ce)),...Array.from(L.manifest.peerDependenciesMeta.keys())]);for(let Ce of pe)ee.has(Ce)||(ee.set(Ce,S.get(Ce)||null),j.peerNames.add(Ce))}}let A=fa({name:m.name.replace(bu,""),reference:m.reference}),oe=s.get(A);if(oe)for(let L of oe)ee.set(`${L.name}${bu}`,L.reference);(p!==b||p.linkType!==yo.SOFT||!J&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(k)))&&y.dependencies.add(j);let le=m!==a&&p.linkType===yo.SOFT&&!m.name.endsWith(bu)&&!J;if(!Z&&!le){let L=new Map;for(let[pe,Ce]of ee)if(Ce!==null){let Oe=t.getLocator(pe,Ce),te=t.getLocator(pe.replace(bu,""),Ce),se=t.getPackageInformation(te);if(se===null)throw new Error("Assertion failed: Expected the package to have been registered");let be=qL(se,Oe,t,l);if(e.validateExternalSoftLinks&&e.project&&be){se.packageDependencies.size>0&&(i=!0);for(let[Se,de]of se.packageDependencies)if(de!==null){let V=P.parseLocator(Array.isArray(de)?`${de[0]}@${de[1]}`:`${Se}@${de}`);if(fa(V)!==fa(Oe)){let Qe=ee.get(Se);if(Qe){let ce=P.parseLocator(Array.isArray(Qe)?`${Qe[0]}@${Qe[1]}`:`${Se}@${Qe}`);Ile(ce,V)||r.push({messageName:$.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(Oe.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${m.name}@${m.reference}`))} dependency ${P.prettyLocator(e.project.configuration,V)} conflicts with parent dependency ${P.prettyLocator(e.project.configuration,ce)}`})}else{let ce=L.get(Se);if(ce){let fe=ce.target,gt=P.parseLocator(Array.isArray(fe)?`${fe[0]}@${fe[1]}`:`${Se}@${fe}`);Ile(gt,V)||r.push({messageName:$.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(Oe.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${m.name}@${m.reference}`))} dependency ${P.prettyLocator(e.project.configuration,V)} conflicts with dependency ${P.prettyLocator(e.project.configuration,gt)} from sibling portal ${P.prettyIdent(e.project.configuration,P.parseIdent(ce.portal.name))}`})}else L.set(Se,{target:V.reference,portal:Oe})}}}}let he=(X=e.hoistingLimitsByCwd)==null?void 0:X.get(k),Fe=be?k:x.relative(l,H.toPortablePath(se.packageLocation))||Ke.dot,Ue=(O=e.hoistingLimitsByCwd)==null?void 0:O.get(Fe),xe=he===Kn.DEPENDENCIES||Ue===Kn.DEPENDENCIES||Ue===Kn.WORKSPACES;f(pe,se,Oe,j,p,ee,Fe,xe)}}};return f(a.name,o,a,c,o,o.packageDependencies,Ke.dot,!1),{packageTree:c,hoistingLimits:n,errors:r,preserveSymlinksRequired:i}};function yle(t,e,r){let i=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return H.toPortablePath(i||t.packageLocation)}function Wze(t,e,r){let i=e.getLocator(t.name.replace(bu,""),t.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return r.pnpifyFs?(o=H.toPortablePath(n.packageLocation),s=yo.SOFT):(o=yle(n,t,e),s=n.linkType),{linkType:s,target:o}}var qze=(t,e,r)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=Wze(u,t,r);return{locator:fa(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:Jr(g),name:Jr(f)}:{scope:null,name:Jr(g)}},o=new Set,a=(u,g,f)=>{if(!o.has(u)){o.add(u);for(let h of u.dependencies){if(h===u)continue;let p=Array.from(h.references).sort(),m={name:h.identName,reference:p[0]},{name:y,scope:b}=s(h.name),S=b?[b,y]:[y],k=x.join(g,Ele),T=x.join(k,...S),Y=`${f}/${m.name}`,j=n(m,f,p.slice(1)),Z=!1;if(j.linkType===yo.SOFT&&r.project){let J=r.project.workspacesByCwd.get(j.target.slice(0,-1));Z=!!(J&&!J.manifest.name)}if(!h.name.endsWith(bu)&&!Z){let J=i.get(T);if(J){if(J.dirList)throw new Error(`Assertion failed: ${T} cannot merge dir node with leaf node`);{let oe=P.parseLocator(J.locator),le=P.parseLocator(j.locator);if(J.linkType!==j.linkType)throw new Error(`Assertion failed: ${T} cannot merge nodes with different link types ${J.nodePath}/${P.stringifyLocator(oe)} and ${f}/${P.stringifyLocator(le)}`);if(oe.identHash!==le.identHash)throw new Error(`Assertion failed: ${T} cannot merge nodes with different idents ${J.nodePath}/${P.stringifyLocator(oe)} and ${f}/s${P.stringifyLocator(le)}`);j.aliases=[...j.aliases,...J.aliases,P.parseLocator(J.locator).reference]}}i.set(T,j);let re=T.split("/"),ee=re.indexOf(Ele),A=re.length-1;for(;ee>=0&&A>ee;){let oe=H.toPortablePath(re.slice(0,A).join(x.sep)),le=Jr(re[A]),X=i.get(oe);if(!X)i.set(oe,{dirList:new Set([le])});else if(X.dirList){if(X.dirList.has(le))break;X.dirList.add(le)}A--}}a(h,j.linkType===yo.SOFT?j.target:T,Y)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var rT={};ft(rT,{PnpInstaller:()=>ah,PnpLinker:()=>vu,default:()=>C5e,getPnpPath:()=>Dl,jsInstallUtils:()=>ha,pnpUtils:()=>eT,quotePathIfNeeded:()=>qle});var jle=ge(ri()),Yle=ge(require("url"));var wle;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(wle||(wle={}));var er;(function(f){f.DEFAULT="DEFAULT",f.TOP_LEVEL="TOP_LEVEL",f.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",f.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",f.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",f.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",f.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",f.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",f.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",f.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",f.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",f.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"})(er||(er={}));var Ble={[er.DEFAULT]:{collapsed:!1,next:{["*"]:er.DEFAULT}},[er.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:er.FALLBACK_EXCLUSION_LIST,packageRegistryData:er.PACKAGE_REGISTRY_DATA,["*"]:er.DEFAULT}},[er.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:er.FALLBACK_EXCLUSION_ENTRIES}},[er.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:er.FALLBACK_EXCLUSION_DATA}},[er.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:er.DEFAULT}},[er.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:er.PACKAGE_REGISTRY_ENTRIES}},[er.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:er.PACKAGE_STORE_DATA}},[er.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:er.PACKAGE_STORE_ENTRIES}},[er.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:er.PACKAGE_INFORMATION_DATA}},[er.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:er.PACKAGE_DEPENDENCIES,["*"]:er.DEFAULT}},[er.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:er.PACKAGE_DEPENDENCY}},[er.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:er.DEFAULT}}};function zze(t,e,r){let i="";i+="[";for(let n=0,s=t.length;ns(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function Zze(t){let e=new Map,r=qm(t.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of r){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function $ze(t){return qm(t.fallbackPool||[],([e])=>e)}function e5e(t){let e=[];for(let[r,i]of qm(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([r,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of qm(i,([g])=>g===null?"0":`1${g}`)){let g=[];r!==null&&s!==null&&!a.has(r)&&g.push([r,s]);for(let[p,m]of qm(a.entries(),([y])=>y))g.push([p,m]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function Jm(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:Zze(t),fallbackPool:$ze(t),packageRegistryData:e5e(t)}}var kle=ge(Sle());function xle(t,e){return[t?`${t} +`:"",`/* eslint-disable */ + +`,`try { +`,` Object.freeze({}).detectStrictMode = true; +`,`} catch (error) { +`," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n",`} +`,` +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,e.replace(/^/gm," "),`} +`,` +`,(0,kle.default)()].join("")}function t5e(t){return JSON.stringify(t,null,2)}function r5e(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ +`)}'`}function i5e(t){return[`return hydrateRuntimeState(JSON.parse(${r5e(Qle(t))}), {basePath: basePath || __dirname}); +`].join("")}function n5e(t){return[`var path = require('path'); +`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(t)}); +`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); +`].join("")}function Ple(t){let e=Jm(t),r=i5e(e);return xle(t.shebang,r)}function Dle(t){let e=Jm(t),r=n5e(t.dataLocation),i=xle(t.shebang,r);return{dataFile:t5e(e),loaderFile:i}}var Nle=ge(require("fs")),c5e=ge(require("path")),Lle=ge(require("util"));function WL(t,{basePath:e}){let r=H.toPortablePath(e),i=x.resolve(r),n=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,s=new Map,o=new Map(t.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var k;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let m=(k=p.discardFromLookup)!=null?k:!1,y={name:g,reference:h},b=s.get(p.packageLocation);b?(b.discardFromLookup=b.discardFromLookup&&m,m||(b.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:m});let S=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:m,get packageLocation(){return S||(S=x.join(i,p.packageLocation))}}]}))])),a=new Map(t.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(t.fallbackPool),c=t.dependencyTreeRoots,u=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var Wm=ge(require("module"));function oh(t,e){if(typeof t=="string")return t;if(t){let r,i;if(Array.isArray(t)){for(r=0;r0)return(f=oh(n[g],u))?f.replace("*",c.substring(g.length-1)):Qu(i,c,1)}return Qu(i,c)}}var zL=ge(require("util"));var ur;(function(c){c.API_ERROR="API_ERROR",c.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",c.EXPORTS_RESOLUTION_FAILED="EXPORTS_RESOLUTION_FAILED",c.MISSING_DEPENDENCY="MISSING_DEPENDENCY",c.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",c.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",c.INTERNAL="INTERNAL",c.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",c.UNSUPPORTED="UNSUPPORTED"})(ur||(ur={}));var o5e=new Set([ur.BUILTIN_NODE_RESOLUTION_FAILED,ur.MISSING_DEPENDENCY,ur.MISSING_PEER_DEPENDENCY,ur.QUALIFIED_PATH_RESOLUTION_FAILED,ur.UNDECLARED_DEPENDENCY]);function ai(t,e,r={},i){i!=null||(i=o5e.has(t)?"MODULE_NOT_FOUND":t);let n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:ie(N({},n),{value:i}),pnpCode:ie(N({},n),{value:t}),data:ie(N({},n),{value:r})})}function wo(t){return H.normalize(H.fromPortablePath(t))}var a5e=ge(require("fs")),Fle=ge(require("module")),A5e=ge(require("path")),l5e=new Set(Fle.Module.builtinModules||Object.keys(process.binding("natives"))),fb=t=>t.startsWith("node:")||l5e.has(t);function _L(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,s=/^(\/|\.{1,2}(\/|$))/,o=/\/$/,a=/^\.{0,2}\//,l={name:null,reference:null},c=[],u=new Set;if(t.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let te of["react-scripts","gatsby"]){let se=t.packageRegistry.get(te);if(se)for(let be of se.keys()){if(be===null)throw new Error("Assertion failed: This reference shouldn't be null");c.push({name:te,reference:be})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=t;function p(te,se){return{fn:te,args:se,error:null,result:null}}function m(te){var Ue,xe,Se,de,V,Qe;let se=(Se=(xe=(Ue=process.stderr)==null?void 0:Ue.hasColors)==null?void 0:xe.call(Ue))!=null?Se:process.stdout.isTTY,be=(ce,fe)=>`[${ce}m${fe}`,he=te.error;console.error(he?be("31;1",`\u2716 ${(de=te.error)==null?void 0:de.message.replace(/\n.*/s,"")}`):be("33;1","\u203C Resolution")),te.args.length>0&&console.error();for(let ce of te.args)console.error(` ${be("37;1","In \u2190")} ${(0,zL.inspect)(ce,{colors:se,compact:!0})}`);te.result&&(console.error(),console.error(` ${be("37;1","Out \u2192")} ${(0,zL.inspect)(te.result,{colors:se,compact:!0})}`));let Fe=(Qe=(V=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:V.slice(2))!=null?Qe:[];if(Fe.length>0){console.error();for(let ce of Fe)console.error(` ${be("38;5;244",ce)}`)}console.error()}function y(te,se){if(e.allowDebug===!1)return se;if(Number.isFinite(i)){if(i>=2)return(...be)=>{let he=p(te,be);try{return he.result=se(...be)}catch(Fe){throw he.error=Fe}finally{m(he)}};if(i>=1)return(...be)=>{try{return se(...be)}catch(he){let Fe=p(te,be);throw Fe.error=he,m(Fe),he}}}return se}function b(te){let se=A(te);if(!se)throw ai(ur.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return se}function S(te){if(te.name===null)return!0;for(let se of t.dependencyTreeRoots)if(se.name===te.name&&se.reference===te.reference)return!0;return!1}let k=new Set(["default","node","require"]);function T(te,se=k){let be=X(x.join(te,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(be===null)throw ai(ur.INTERNAL,`The locator that owns the "${te}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:he}=b(be),Fe=x.join(he,Pt.manifest);if(!e.fakeFs.existsSync(Fe))return null;let Ue=JSON.parse(e.fakeFs.readFileSync(Fe,"utf8")),xe=x.contains(he,te);if(xe===null)throw ai(ur.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");a.test(xe)||(xe=`./${xe}`);let Se;try{Se=Rle(Ue,x.normalize(xe),{conditions:se,unsafe:!0})}catch(de){throw ai(ur.EXPORTS_RESOLUTION_FAILED,de.message,{unqualifiedPath:wo(te),locator:be,pkgJson:Ue,subpath:wo(xe),conditions:se},"ERR_PACKAGE_PATH_NOT_EXPORTED")}return typeof Se=="string"?x.join(he,Se):null}function Y(te,se,{extensions:be}){let he;try{se.push(te),he=e.fakeFs.statSync(te)}catch(Fe){}if(he&&!he.isDirectory())return e.fakeFs.realpathSync(te);if(he&&he.isDirectory()){let Fe;try{Fe=JSON.parse(e.fakeFs.readFileSync(x.join(te,Pt.manifest),"utf8"))}catch(xe){}let Ue;if(Fe&&Fe.main&&(Ue=x.resolve(te,Fe.main)),Ue&&Ue!==te){let xe=Y(Ue,se,{extensions:be});if(xe!==null)return xe}}for(let Fe=0,Ue=be.length;Fe{let Se=JSON.stringify(xe.name);if(he.has(Se))return;he.add(Se);let de=oe(xe);for(let V of de)if(b(V).packagePeers.has(te))Fe(V);else{let ce=be.get(V.name);typeof ce=="undefined"&&be.set(V.name,ce=new Set),ce.add(V.reference)}};Fe(se);let Ue=[];for(let xe of[...be.keys()].sort())for(let Se of[...be.get(xe)].sort())Ue.push({name:xe,reference:Se});return Ue}function X(te,{resolveIgnored:se=!1,includeDiscardFromLookup:be=!1}={}){if(J(te)&&!se)return null;let he=x.relative(t.basePath,te);he.match(s)||(he=`./${he}`),he.endsWith("/")||(he=`${he}/`);do{let Fe=h.get(he);if(typeof Fe=="undefined"||Fe.discardFromLookup&&!be){he=he.substring(0,he.lastIndexOf("/",he.length-2)+1);continue}return Fe.locator}while(he!=="");return null}function O(te,se,{considerBuiltins:be=!0}={}){if(te==="pnpapi")return H.toPortablePath(e.pnpapiResolution);if(be&&fb(te))return null;let he=wo(te),Fe=se&&wo(se);if(se&&J(se)&&(!x.isAbsolute(te)||X(te)===null)){let Se=Z(te,se);if(Se===!1)throw ai(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${he}" +Required by: ${Fe} +`,{request:he,issuer:Fe});return H.toPortablePath(Se)}let Ue,xe=te.match(n);if(xe){if(!se)throw ai(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Fe});let[,Se,de]=xe,V=X(se);if(!V){let Gt=Z(te,se);if(Gt===!1)throw ai(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${he}" +Required by: ${Fe} +`,{request:he,issuer:Fe});return H.toPortablePath(Gt)}let ce=b(V).packageDependencies.get(Se),fe=null;if(ce==null&&V.name!==null){let Gt=t.fallbackExclusionList.get(V.name);if(!Gt||!Gt.has(V.reference)){for(let Ti=0,Vs=c.length;TiS(Qr))?gt=ai(ur.MISSING_PEER_DEPENDENCY,`${V.name} tried to access ${Se} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${Se}${Se!==he?` (via "${he}")`:""} +Required by: ${V.name}@${V.reference} (via ${Fe}) +${Gt.map(Qr=>`Ancestor breaking the chain: ${Qr.name}@${Qr.reference} +`).join("")} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:Se,brokenAncestors:Gt}):gt=ai(ur.MISSING_PEER_DEPENDENCY,`${V.name} tried to access ${Se} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${Se}${Se!==he?` (via "${he}")`:""} +Required by: ${V.name}@${V.reference} (via ${Fe}) + +${Gt.map(Qr=>`Ancestor breaking the chain: ${Qr.name}@${Qr.reference} +`).join("")} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:Se,brokenAncestors:Gt})}else ce===void 0&&(!be&&fb(te)?S(V)?gt=ai(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${Se}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Se} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${Se}${Se!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,dependencyName:Se}):gt=ai(ur.UNDECLARED_DEPENDENCY,`${V.name} tried to access ${Se}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Se} isn't otherwise declared in ${V.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${Se}${Se!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:Se}):S(V)?gt=ai(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${Se}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${Se}${Se!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,dependencyName:Se}):gt=ai(ur.UNDECLARED_DEPENDENCY,`${V.name} tried to access ${Se}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${Se}${Se!==he?` (via "${he}")`:""} +Required by: ${V.name}@${V.reference} (via ${Fe}) +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:Se}));if(ce==null){if(fe===null||gt===null)throw gt||new Error("Assertion failed: Expected an error to have been set");ce=fe;let Gt=gt.message.replace(/\n.*/g,"");gt.message=Gt,!u.has(Gt)&&i!==0&&(u.add(Gt),process.emitWarning(gt))}let Ht=Array.isArray(ce)?{name:ce[0],reference:ce[1]}:{name:Se,reference:ce},Mt=b(Ht);if(!Mt.packageLocation)throw ai(ur.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${Ht.name}@${Ht.reference}${Ht.name!==he?` (via "${he}")`:""} +Required by: ${V.name}@${V.reference} (via ${Fe}) +`,{request:he,issuer:Fe,dependencyLocator:Object.assign({},Ht)});let mi=Mt.packageLocation;de?Ue=x.join(mi,de):Ue=mi}else if(x.isAbsolute(te))Ue=x.normalize(te);else{if(!se)throw ai(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Fe});let Se=x.resolve(se);se.match(o)?Ue=x.normalize(x.join(Se,te)):Ue=x.normalize(x.join(x.dirname(Se),te))}return x.normalize(Ue)}function L(te,se,be=k){if(s.test(te))return se;let he=T(se,be);return he?x.normalize(he):se}function pe(te,{extensions:se=Object.keys(Wm.Module._extensions)}={}){var Fe,Ue;let be=[],he=Y(te,be,{extensions:se});if(he)return x.normalize(he);{let xe=wo(te),Se=X(te);if(Se){let{packageLocation:de}=b(Se),V=!0;try{e.fakeFs.accessSync(de)}catch(Qe){if((Qe==null?void 0:Qe.code)==="ENOENT")V=!1;else{let ce=((Ue=(Fe=Qe==null?void 0:Qe.message)!=null?Fe:Qe)!=null?Ue:"empty exception thrown").replace(/^[A-Z]/,fe=>fe.toLowerCase());throw ai(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Required package exists but could not be accessed (${ce}). + +Missing package: ${Se.name}@${Se.reference} +Expected package location: ${wo(de)} +`,{unqualifiedPath:xe,extensions:se})}}if(!V){let Qe=de.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw ai(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`${Qe} + +Missing package: ${Se.name}@${Se.reference} +Expected package location: ${wo(de)} +`,{unqualifiedPath:xe,extensions:se})}}throw ai(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${xe} +${be.map(de=>`Not found: ${wo(de)} +`).join("")}`,{unqualifiedPath:xe,extensions:se})}}function Ce(te,se,{considerBuiltins:be,extensions:he,conditions:Fe}={}){try{let Ue=O(te,se,{considerBuiltins:be});if(te==="pnpapi")return Ue;if(Ue===null)return null;let xe=()=>se!==null?J(se):!1,Se=(!be||!fb(te))&&!xe()?L(te,Ue,Fe):Ue;return pe(Se,{extensions:he})}catch(Ue){throw Object.prototype.hasOwnProperty.call(Ue,"pnpCode")&&Object.assign(Ue.data,{request:wo(te),issuer:se&&wo(se)}),Ue}}function Oe(te){let se=x.normalize(te),be=Wr.resolveVirtual(se);return be!==se?be:null}return{VERSIONS:re,topLevel:ee,getLocator:(te,se)=>Array.isArray(se)?{name:se[0],reference:se[1]}:{name:te,reference:se},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let te=[];for(let[se,be]of f)for(let he of be.keys())se!==null&&he!==null&&te.push({name:se,reference:he});return te},getPackageInformation:te=>{let se=A(te);if(se===null)return null;let be=H.fromPortablePath(se.packageLocation);return ie(N({},se),{packageLocation:be})},findPackageLocator:te=>X(H.toPortablePath(te)),resolveToUnqualified:y("resolveToUnqualified",(te,se,be)=>{let he=se!==null?H.toPortablePath(se):null,Fe=O(H.toPortablePath(te),he,be);return Fe===null?null:H.fromPortablePath(Fe)}),resolveUnqualified:y("resolveUnqualified",(te,se)=>H.fromPortablePath(pe(H.toPortablePath(te),se))),resolveRequest:y("resolveRequest",(te,se,be)=>{let he=se!==null?H.toPortablePath(se):null,Fe=Ce(H.toPortablePath(te),he,be);return Fe===null?null:H.fromPortablePath(Fe)}),resolveVirtual:y("resolveVirtual",te=>{let se=Oe(H.toPortablePath(te));return se!==null?H.fromPortablePath(se):null})}}var YQt=(0,Lle.promisify)(Nle.readFile);var Tle=(t,e,r)=>{let i=Jm(t),n=WL(i,{basePath:e}),s=H.join(e,Pt.pnpCjs);return _L(n,{fakeFs:r,pnpapiResolution:s})};var XL=ge(Mle());var ha={};ft(ha,{checkAndReportManifestCompatibility:()=>Ule,checkManifestCompatibility:()=>Kle,extractBuildScripts:()=>hb,getExtractHint:()=>ZL,hasBindingGyp:()=>$L});function Kle(t){return P.isPackageCompatible(t,Wg.getArchitectureSet())}function Ule(t,e,{configuration:r,report:i}){return Kle(t)?!0:(i==null||i.reportWarningOnce($.INCOMPATIBLE_ARCHITECTURE,`${P.prettyLocator(r,t)} The ${Wg.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function hb(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([ls.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([ls.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==Qt.HARD?(n==null||n.reportWarningOnce($.SOFT_LINK_BUILD,`${P.prettyLocator(i,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(n==null||n.reportInfoOnce($.BUILD_DISABLED,`${P.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce($.DISABLED_BUILD_SCRIPTS,`${P.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):Ule(t,"build",{configuration:i,report:n})?s:[]}var u5e=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function ZL(t){return t.packageFs.getExtractHint({relevantExtensions:u5e})}function $L(t){let e=x.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var eT={};ft(eT,{getUnpluggedPath:()=>zm});function zm(t,{configuration:e}){return x.resolve(e.get("pnpUnpluggedFolder"),P.slugifyLocator(t))}var g5e=new Set([P.makeIdent(null,"nan").identHash,P.makeIdent(null,"node-gyp").identHash,P.makeIdent(null,"node-pre-gyp").identHash,P.makeIdent(null,"node-addon-api").identHash,P.makeIdent(null,"fsevents").identHash]),vu=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let i=Dl(r.project).cjs;if(!K.existsSync(i))throw new Pe(`The project in ${Ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,Ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=ve.getFactoryWithDefault(this.pnpCache,i,()=>ve.dynamicRequire(i,{cachingStrategy:ve.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new Pe(`Couldn't find ${P.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return H.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let i=Dl(r.project).cjs;if(!K.existsSync(i))return null;let s=ve.getFactoryWithDefault(this.pnpCache,i,()=>ve.dynamicRequire(i,{cachingStrategy:ve.CachingStrategy.FsTime})).findPackageLocator(H.fromPortablePath(e));return s?P.makeLocator(P.parseIdent(s.name),s.reference):null}makeInstaller(e){return new ah(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},ah=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new ve.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,r,i){let n=P.stringifyIdent(e),s=e.reference,o=!!this.opts.project.tryWorkspaceByLocator(e),a=P.isVirtualLocator(e),l=e.peerDependencies.size>0&&!a,c=!l&&!o,u=!l&&e.linkType!==Qt.SOFT,g,f;if(c||u){let k=a?P.devirtualizeLocator(e):e;g=this.customData.store.get(k.locatorHash),typeof g=="undefined"&&(g=await f5e(r),e.linkType===Qt.HARD&&this.customData.store.set(k.locatorHash,g)),g.manifest.type==="module"&&(this.isESMLoaderRequired=!0),f=this.opts.project.getDependencyMeta(k,e.version)}let h=c?hb(e,g,f,{configuration:this.opts.project.configuration,report:this.opts.report}):[],p=u?await this.unplugPackageIfNeeded(e,g,r,f,i):r.packageFs;if(x.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let m=x.resolve(p.getRealPath(),r.prefixPath),y=tT(this.opts.project.cwd,m),b=new Map,S=new Set;if(a){for(let k of e.peerDependencies.values())b.set(P.stringifyIdent(k),null),S.add(P.stringifyIdent(k));if(!o){let k=P.devirtualizeLocator(e);this.virtualTemplates.set(k.locatorHash,{location:tT(this.opts.project.cwd,Wr.resolveVirtual(m)),locator:k})}}return ve.getMapWithDefault(this.packageRegistry,n).set(s,{packageLocation:y,packageDependencies:b,packagePeers:S,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:m,buildDirective:h.length>0?h:null}}async attachInternalDependencies(e,r){let i=this.getPackageInformation(e);for(let[n,s]of r){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,r){for(let i of r)this.getDiskInformation(i).packageDependencies.set(P.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=Dl(this.opts.project);if(K.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning($.UNNAMED,`Removing the old ${Ae.pretty(this.opts.project.configuration,Pt.pnpJs,Ae.Type.PATH)} file. You might need to manually update existing references to reference the new ${Ae.pretty(this.opts.project.configuration,Pt.pnpCjs,Ae.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${Ae.pretty(this.opts.project.configuration,"yarn sdks",Ae.Type.CODE)}.`),await K.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await K.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await K.removePromise(e.cjs),await K.removePromise(this.opts.project.configuration.get("pnpDataPath")),await K.removePromise(e.esmLoader);return}for(let{locator:u,location:g}of this.virtualTemplates.values())ve.getMapWithDefault(this.packageRegistry,P.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:Qt.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:P.stringifyIdent(u),reference:u.reference})),n=r!=="none",s=[],o=new Map,a=ve.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:P.stringifyIdent(u),reference:u.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=Dl(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning($.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await K.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=Ple(e);await K.changeFilePromise(r.cjs,o,{automaticNewlines:!0,mode:493}),await K.removePromise(i)}else{let o=x.relative(x.dirname(r.cjs),i),{dataFile:a,loaderFile:l}=Dle(ie(N({},e),{dataLocation:o}));await K.changeFilePromise(r.cjs,l,{automaticNewlines:!0,mode:493}),await K.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning($.UNNAMED,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await K.changeFilePromise(r.esmLoader,(0,XL.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await K.removePromise(s);else for(let o of await K.readdirPromise(s)){let a=x.resolve(s,o);this.unpluggedPaths.has(a)||await K.removePromise(a)}}async locateNodeModules(e){let r=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=x.join(n.cwd,"node_modules");if(i&&i.test(x.relative(this.opts.project.cwd,n.cwd))||!K.existsSync(s))continue;let o=await K.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)r.push(s);else for(let l of a)r.push(x.join(s,l.name))}return r}async unplugPackageIfNeeded(e,r,i,n,s){return this.shouldBeUnplugged(e,r,n)?this.unplugPackage(e,i,s):i.packageFs}shouldBeUnplugged(e,r,i){return typeof i.unplugged!="undefined"?i.unplugged:g5e.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(hb(e,r,i,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r,i){let n=zm(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new Da(n,{baseFs:r.packageFs,pathUtils:x}):(this.unpluggedPaths.add(n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let s=x.join(n,r.prefixPath,".ready");await K.existsPromise(s)||(this.opts.project.storedBuildState.delete(e.locatorHash),await K.mkdirPromise(n,{recursive:!0}),await K.copyPromise(n,Ke.dot,{baseFs:r.packageFs,overwrite:!1}),await K.writeFilePromise(s,""))})),new _t(n))}getPackageInformation(e){let r=P.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(r);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${P.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${P.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let r=ve.getMapWithDefault(this.packageRegistry,"@@disk"),i=tT(this.opts.project.cwd,e);return ve.getFactoryWithDefault(r,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:Qt.SOFT,discardFromLookup:!1}))}};function tT(t,e){let r=x.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function f5e(t){var i;let e=(i=await At.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?i:new At,r=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())r.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:ZL(t),hasBindingGyp:$L(t)}}}var Hle=ge(rs());var _m=class extends Le{constructor(){super(...arguments);this.all=W.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=W.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=W.Rest()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new Pe("This command can only be used if the `nodeLinker` option is set to `pnp`");await r.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(f=>{let h=P.parseDescriptor(f),p=h.range!=="unknown"?h:P.makeDescriptor(h,"*");if(!Wt.validRange(p.range))throw new Pe(`The range of the descriptor patterns must be a valid semver range (${P.prettyDescriptor(e,p)})`);return m=>{let y=P.stringifyIdent(m);return!Hle.default.isMatch(y,P.stringifyIdent(p))||m.version&&!Wt.satisfiesWithPrereleases(m.version,p.range)?!1:(s.delete(f),!0)}}),a=()=>{let f=[];for(let h of r.storedPackages.values())!r.tryWorkspaceByLocator(h)&&!P.isVirtualLocator(h)&&o.some(p=>p(h))&&f.push(h);return f},l=f=>{let h=new Set,p=[],m=(y,b)=>{if(!h.has(y.locatorHash)&&(h.add(y.locatorHash),!r.tryWorkspaceByLocator(y)&&o.some(S=>S(y))&&p.push(y),!(b>0&&!this.recursive)))for(let S of y.dependencies.values()){let k=r.storedResolutions.get(S.descriptorHash);if(!k)throw new Error("Assertion failed: The resolution should have been registered");let T=r.storedPackages.get(k);if(!T)throw new Error("Assertion failed: The package should have been registered");m(T,b+1)}};for(let y of f){let b=r.storedPackages.get(y.anchoredLocator.locatorHash);if(!b)throw new Error("Assertion failed: The package should have been registered");m(b,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u="the project"):this.all?(c=l(r.workspaces),u="any workspace"):(c=l([i]),u="this workspace"),s.size>1)throw new Pe(`Patterns ${Ae.prettyList(e,s,Ae.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new Pe(`Pattern ${Ae.prettyList(e,s,Ae.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=ve.sortMap(c,f=>P.stringifyLocator(f)),(await Je.start({configuration:e,stdout:this.context.stdout,json:this.json},async f=>{var h;for(let p of c){let m=(h=p.version)!=null?h:"unknown",y=r.topLevelWorkspace.manifest.ensureDependencyMeta(P.makeDescriptor(p,m));y.unplugged=!0,f.reportInfo($.UNNAMED,`Will unpack ${P.prettyLocator(e,p)} to ${Ae.pretty(e,zm(p,{configuration:e}),Ae.Type.PATH)}`),f.reportJson({locator:P.stringifyLocator(p),version:m})}await r.topLevelWorkspace.persistManifest(),f.reportSeparator(),await r.install({cache:n,report:f})})).exitCode()}};_m.paths=[["unplug"]],_m.usage=Re.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Gle=_m;var Dl=t=>({cjs:x.join(t.cwd,Pt.pnpCjs),cjsLegacy:x.join(t.cwd,Pt.pnpJs),esmLoader:x.join(t.cwd,".pnp.loader.mjs")}),qle=t=>/\s/.test(t)?JSON.stringify(t):t;async function h5e(t,e,r){let i=Dl(t),n=`--require ${qle(H.fromPortablePath(i.cjs))}`;if(K.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,Yle.pathToFileURL)(H.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&jle.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(K.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function p5e(t,e){let r=Dl(t);e(r.cjs),e(r.esmLoader),e(t.configuration.get("pnpDataPath")),e(t.configuration.get("pnpUnpluggedFolder"))}var d5e={hooks:{populateYarnPaths:p5e,setupScriptEnvironment:h5e},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:ye.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:ye.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:ye.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:ye.STRING,default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:ye.BOOLEAN,default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:ye.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:ye.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:ye.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:ye.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[vu],commands:[Gle]},C5e=d5e;var Xle=ge(Vle());var aT=ge(require("crypto")),Zle=ge(require("fs")),$le=1,Gr="node_modules",pb=".bin",ece=".yarn-state.yml",Li;(function(i){i.CLASSIC="classic",i.HARDLINKS_LOCAL="hardlinks-local",i.HARDLINKS_GLOBAL="hardlinks-global"})(Li||(Li={}));var AT=class{constructor(){this.installStateCache=new Map}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let i=r.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await ve.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await lT(r.project,{unrollAliases:!0}));if(n===null)throw new Pe("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(P.stringifyLocator(e));if(!s){let a=new Pe(`Couldn't find ${P.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code="LOCATOR_NOT_INSTALLED",a}let o=r.project.configuration.startingCwd;return s.locations.find(a=>x.contains(o,a))||s.locations[0]}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let i=await ve.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await lT(r.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=db(x.resolve(e),{skipPrefix:r.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return P.parseLocator(a)}makeInstaller(e){return new tce(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},tce=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,r){var u;let i=x.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await N5e(e,r),e.linkType===Qt.HARD&&this.customData.store.set(e.locatorHash,n)),!P.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(P.stringifyIdent(e))||s.set(P.stringifyIdent(e),e.reference);let a=e;if(P.isVirtualLocator(e)){a=P.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(P.stringifyIdent(g),null),o.add(P.stringifyIdent(g))}let l={packageLocation:`${H.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=r.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,r){let i=this.localStore.get(e.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of r){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Wr({baseFs:new Es({libzip:await fn(),maxOpenFiles:80,readOnlyArchives:!0})}),r=await lT(this.opts.project),i=this.opts.project.configuration.get("nmMode");(r===null||i!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i,mtimeMs:0});let n=new Map(this.opts.project.workspaces.map(f=>{var p,m;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=ve.validateEnum(Kn,(m=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?m:h)}catch(y){let b=P.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning($.INVALID_MANIFEST,`${b}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Kn).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,m;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(m=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?m:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:P.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:P.makeLocator(P.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(H.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:P.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>H.fromPortablePath(Wr.resolveVirtual(H.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=Ym(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=YL(a);await L5e(r,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=P.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(rce(f))continue;let p=P.parseLocator(f),m=this.localStore.get(p.locatorHash);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(m.pkg))continue;let y=ha.extractBuildScripts(m.pkg,m.customPackageData,m.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});y.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:y})}return c&&this.opts.report.reportWarning($.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${Ae.pretty(this.opts.project.configuration,"--preserve-symlinks",Ae.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function N5e(t,e){var n;let r=(n=await At.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new At,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{extractHint:ha.getExtractHint(e),hasBindingGyp:ha.hasBindingGyp(e)}}}async function T5e(t,e,r,i,{installChangedByUser:n}){let s="";s+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,s+=`# cause your node_modules installation to become invalidated. +`,s+=` +`,s+=`__metadata: +`,s+=` version: ${$le} +`,s+=` nmMode: ${i.value} +`;let o=Array.from(e.keys()).sort(),a=P.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let u of o){let g=e.get(u);s+=` +`,s+=`${JSON.stringify(u)}: +`,s+=` locations: +`;for(let f of g.locations){let h=x.contains(t.cwd,f);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=` - ${JSON.stringify(h)} +`}if(g.aliases.length>0){s+=` aliases: +`;for(let f of g.aliases)s+=` - ${JSON.stringify(f)} +`}if(u===a&&r.size>0){s+=` bin: +`;for(let[f,h]of r){let p=x.contains(t.cwd,f);if(p===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=` ${JSON.stringify(p)}: +`;for(let[m,y]of h){let b=x.relative(x.join(f,Gr),y);s+=` ${JSON.stringify(m)}: ${JSON.stringify(b)} +`}}}}let l=t.cwd,c=x.join(l,Gr,ece);n&&await K.removePromise(c),await K.changeFilePromise(c,s,{automaticNewlines:!0})}async function lT(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=x.join(r,Gr,ece),n;try{n=await K.statPromise(i)}catch(c){}if(!n)return null;let s=Qi(await K.readFilePromise(i,"utf8"));if(s.__metadata.version>$le)return null;let o=s.__metadata.nmMode||Li.CLASSIC,a=new Map,l=new Map;delete s.__metadata;for(let[c,u]of Object.entries(s)){let g=u.locations.map(h=>x.join(r,h)),f=u.bin;if(f)for(let[h,p]of Object.entries(f)){let m=x.join(r,H.toPortablePath(h)),y=ve.getMapWithDefault(l,m);for(let[b,S]of Object.entries(p))y.set(Jr(b),H.toPortablePath([m,Gr,S].join(x.sep)))}if(a.set(c,{target:Ke.dot,linkType:Qt.HARD,locations:g,aliases:u.aliases||[]}),e&&u.aliases)for(let h of u.aliases){let{scope:p,name:m}=P.parseLocator(c),y=P.makeLocator(P.makeIdent(p,m),h),b=P.stringifyLocator(y);a.set(b,{target:Ke.dot,linkType:Qt.HARD,locations:g,aliases:[]})}}return{locatorMap:a,binSymlinks:l,locationTree:ice(a,{skipPrefix:t.cwd}),nmMode:o,mtimeMs:n.mtimeMs}}var lh=async(t,e)=>{if(t.split(x.sep).indexOf(Gr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop){let i=e.allowSymlink?await K.statPromise(t):await K.lstatPromise(t);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await K.unlinkPromise(t);return}}let r=await K.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=x.join(t,Jr(i.name));i.isDirectory()?(i.name!==Gr||e&&e.innerLoop)&&await lh(n,{innerLoop:!0,contentsOnly:!1}):await K.unlinkPromise(n)}e.contentsOnly||await K.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},nce=4,db=(t,{skipPrefix:e})=>{let r=x.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let i=r.split(x.sep).filter(l=>l!==""),n=i.indexOf(Gr),s=i.slice(0,n).join(x.sep),o=x.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},ice=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:Qt.HARD});for(let[n,s]of t.entries()){if(s.linkType===Qt.SOFT&&x.contains(e,s.target)!==null){let a=ve.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=db(o,{skipPrefix:e}),c=ve.getFactoryWithDefault(r,a,i);for(let u=0;u{let r;try{process.platform==="win32"&&(r=await K.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await K.symlinkPromise(t,e,"junction"):await K.symlinkPromise(x.relative(x.dirname(e),t),e)};async function sce(t,e,r){let i=x.join(t,Jr(`${aT.default.randomBytes(16).toString("hex")}.tmp`));try{await K.writeFilePromise(i,r);try{await K.linkPromise(i,e)}catch(n){}}finally{await K.unlinkPromise(i)}}async function O5e({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s.value===Li.HARDLINKS_GLOBAL&&i&&o){let l=x.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await Dn.checksumFile(l,{baseFs:K,algorithm:"sha1"})!==o){let g=x.join(i,Jr(`${aT.default.randomBytes(16).toString("hex")}.tmp`));await K.renamePromise(l,g);let f=await n.readFilePromise(t);await K.writeFilePromise(g,f);try{await K.linkPromise(g,l),await K.unlinkPromise(g)}catch(h){}}await K.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await sce(i,l,u);try{await K.linkPromise(l,e)}catch(g){g&&g.code&&g.code=="EXDEV"&&(s.value=Li.HARDLINKS_LOCAL,await n.copyFilePromise(t,e))}}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await K.chmodPromise(e,a)}var Rl;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(Rl||(Rl={}));var M5e=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await K.mkdirPromise(t,{recursive:!0});let o=async(l=Ke.dot)=>{let c=x.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let f of u){let h=x.join(l,f.name),p,m=x.join(c,f.name);if(f.isFile()){if(p={kind:Rl.FILE,mode:(await r.lstatPromise(m)).mode},n.value===Li.HARDLINKS_GLOBAL){let y=await Dn.checksumFile(m,{baseFs:r,algorithm:"sha1"});p.digest=y}}else if(f.isDirectory())p={kind:Rl.DIRECTORY};else if(f.isSymbolicLink())p={kind:Rl.SYMLINK,symlinkTo:await r.readlinkPromise(m)};else throw new Error(`Unsupported file type (file: ${m}, mode: 0o${await r.statSync(m).mode.toString(8).padStart(6,"0")})`);if(g.set(h,p),f.isDirectory()&&h!==Gr){let y=await o(h);for(let[b,S]of y)g.set(b,S)}}return g},a;if(n.value===Li.HARDLINKS_GLOBAL&&i&&s){let l=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await K.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await sce(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=x.join(e,l),g=x.join(t,l);c.kind===Rl.DIRECTORY?await K.mkdirPromise(g,{recursive:!0}):c.kind===Rl.FILE?await O5e({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===Rl.SYMLINK&&await cT(x.resolve(x.dirname(g),c.symlinkTo),g)}};function K5e(t,e,r,i){let n=new Map,s=new Map,o=new Map,a=!1,l=(c,u,g,f,h)=>{let p=!0,m=x.join(c,u),y=new Set;if(u===Gr||u.startsWith("@")){let S;try{S=K.statSync(m)}catch(T){}p=!!S,S?S.mtimeMs>r?(a=!0,y=new Set(K.readdirSync(m))):y=new Set(g.children.get(u).children.keys()):a=!0;let k=e.get(c);if(k){let T=x.join(c,Gr,pb),Y;try{Y=K.statSync(T)}catch(j){}if(!Y)a=!0;else if(Y.mtimeMs>r){a=!0;let j=new Set(K.readdirSync(T)),Z=new Map;s.set(c,Z);for(let[J,re]of k)j.has(J)&&Z.set(J,re)}else s.set(c,k)}}else p=h.has(u);let b=g.children.get(u);if(p){let{linkType:S,locator:k}=b,T={children:new Map,linkType:S,locator:k};if(f.children.set(u,T),k){let Y=ve.getSetWithDefault(o,k);Y.add(m),o.set(k,Y)}for(let Y of b.children.keys())l(m,Y,b,T,y)}else b.locator&&i.storedBuildState.delete(P.parseLocator(b.locator).locatorHash)};for(let[c,u]of t){let{linkType:g,locator:f}=u,h={children:new Map,linkType:g,locator:f};if(n.set(c,h),f){let p=ve.getSetWithDefault(o,u.locator);p.add(c),o.set(u.locator,p)}u.children.has(Gr)&&l(c,Gr,u,h,new Set)}return{locationTree:n,binSymlinks:s,locatorLocations:o,installChangedByUser:a}}function rce(t){let e=P.parseDescriptor(t);return P.isVirtualDescriptor(e)&&(e=P.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function U5e(t,e,r,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of t){let c=rce(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=x.join(l[0],f);f!==""&&K.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=x.contains(r,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let m=x.join(a,H.toPortablePath(p));u.set(Jr(h),m)}for(let[h,p]of c.children){let m=x.join(a,h),y=o(m,m,p);y.size>0&&s.set(a,new Map([...s.get(a)||new Map,...y]))}}else for(let[f,h]of c.children){let p=o(x.join(a,f),l,h);for(let[m,y]of p)u.set(m,y)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var oce=(t,e)=>{if(!t||!e)return t===e;let r=P.parseLocator(t);P.isVirtualLocator(r)&&(r=P.devirtualizeLocator(r));let i=P.parseLocator(e);return P.isVirtualLocator(i)&&(i=P.devirtualizeLocator(i)),P.areLocatorsEqual(r,i)};function uT(t){return x.join(t.get("globalFolder"),"store")}async function L5e(t,e,{baseFs:r,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=x.join(i.cwd,Gr),{locationTree:l,binSymlinks:c,locatorLocations:u,installChangedByUser:g}=K5e(t.locationTree,t.binSymlinks,t.mtimeMs,i),f=ice(e,{skipPrefix:i.cwd}),h=[],p=async({srcDir:J,dstDir:re,linkType:ee,globalHardlinksStore:A,nmMode:oe,packageChecksum:le})=>{let X=(async()=>{try{ee===Qt.SOFT?(await K.mkdirPromise(x.dirname(re),{recursive:!0}),await cT(x.resolve(J),re)):await M5e(re,J,{baseFs:r,globalHardlinksStore:A,nmMode:oe,packageChecksum:le})}catch(O){throw O.message=`While persisting ${J} -> ${re} ${O.message}`,O}finally{T.tick()}})().then(()=>h.splice(h.indexOf(X),1));h.push(X),h.length>nce&&await Promise.race(h)},m=async(J,re,ee)=>{let A=(async()=>{let oe=async(le,X,O)=>{try{O.innerLoop||await K.mkdirPromise(X,{recursive:!0});let L=await K.readdirPromise(le,{withFileTypes:!0});for(let pe of L){if(!O.innerLoop&&pe.name===pb)continue;let Ce=x.join(le,pe.name),Oe=x.join(X,pe.name);pe.isDirectory()?(pe.name!==Gr||O&&O.innerLoop)&&(await K.mkdirPromise(Oe,{recursive:!0}),await oe(Ce,Oe,ie(N({},O),{innerLoop:!0}))):Z.value===Li.HARDLINKS_LOCAL||Z.value===Li.HARDLINKS_GLOBAL?await K.linkPromise(Ce,Oe):await K.copyFilePromise(Ce,Oe,Zle.default.constants.COPYFILE_FICLONE)}}catch(L){throw O.innerLoop||(L.message=`While cloning ${le} -> ${X} ${L.message}`),L}finally{O.innerLoop||T.tick()}};await oe(J,re,ee)})().then(()=>h.splice(h.indexOf(A),1));h.push(A),h.length>nce&&await Promise.race(h)},y=async(J,re,ee)=>{if(ee)for(let[A,oe]of re.children){let le=ee.children.get(A);await y(x.join(J,A),oe,le)}else{re.children.has(Gr)&&await lh(x.join(J,Gr),{contentsOnly:!1});let A=x.basename(J)===Gr&&f.has(x.join(x.dirname(J),x.sep));await lh(J,{contentsOnly:J===a,allowSymlink:A})}};for(let[J,re]of l){let ee=f.get(J);for(let[A,oe]of re.children){if(A===".")continue;let le=ee&&ee.children.get(A),X=x.join(J,A);await y(X,oe,le)}}let b=async(J,re,ee)=>{if(ee){oce(re.locator,ee.locator)||await lh(J,{contentsOnly:re.linkType===Qt.HARD});for(let[A,oe]of re.children){let le=ee.children.get(A);await b(x.join(J,A),oe,le)}}else{re.children.has(Gr)&&await lh(x.join(J,Gr),{contentsOnly:!0});let A=x.basename(J)===Gr&&f.has(x.join(x.dirname(J),x.sep));await lh(J,{contentsOnly:re.linkType===Qt.HARD,allowSymlink:A})}};for(let[J,re]of f){let ee=l.get(J);for(let[A,oe]of re.children){if(A===".")continue;let le=ee&&ee.children.get(A);await b(x.join(J,A),oe,le)}}let S=new Map,k=[];for(let[J,re]of u)for(let ee of re){let{locationRoot:A,segments:oe}=db(ee,{skipPrefix:i.cwd}),le=f.get(A),X=A;if(le){for(let O of oe)if(X=x.join(X,O),le=le.children.get(O),!le)break;if(le){let O=oce(le.locator,J),L=e.get(le.locator),pe=L.target,Ce=X,Oe=L.linkType;if(O)S.has(pe)||S.set(pe,Ce);else if(pe!==Ce){let te=P.parseLocator(le.locator);P.isVirtualLocator(te)&&(te=P.devirtualizeLocator(te)),k.push({srcDir:pe,dstDir:Ce,linkType:Oe,realLocatorHash:te.locatorHash})}}}}for(let[J,{locations:re}]of e.entries())for(let ee of re){let{locationRoot:A,segments:oe}=db(ee,{skipPrefix:i.cwd}),le=l.get(A),X=f.get(A),O=A,L=e.get(J),pe=P.parseLocator(J);P.isVirtualLocator(pe)&&(pe=P.devirtualizeLocator(pe));let Ce=pe.locatorHash,Oe=L.target,te=ee;if(Oe===te)continue;let se=L.linkType;for(let be of oe)X=X.children.get(be);if(!le)k.push({srcDir:Oe,dstDir:te,linkType:se,realLocatorHash:Ce});else for(let be of oe)if(O=x.join(O,be),le=le.children.get(be),!le){k.push({srcDir:Oe,dstDir:te,linkType:se,realLocatorHash:Ce});break}}let T=Ji.progressViaCounter(k.length),Y=n.reportProgress(T),j=i.configuration.get("nmMode"),Z={value:j};try{let J=Z.value===Li.HARDLINKS_GLOBAL?`${uT(i.configuration)}/v1`:null;if(J&&!await K.existsPromise(J)){await K.mkdirpPromise(J);for(let ee=0;ee<256;ee++)await K.mkdirPromise(x.join(J,ee.toString(16).padStart(2,"0")))}for(let ee of k)(ee.linkType===Qt.SOFT||!S.has(ee.srcDir))&&(S.set(ee.srcDir,ee.dstDir),await p(ie(N({},ee),{globalHardlinksStore:J,nmMode:Z,packageChecksum:o.get(ee.realLocatorHash)||null})));await Promise.all(h),h.length=0;for(let ee of k){let A=S.get(ee.srcDir);ee.linkType!==Qt.SOFT&&ee.dstDir!==A&&await m(A,ee.dstDir,{nmMode:Z})}await Promise.all(h),await K.mkdirPromise(a,{recursive:!0});let re=await U5e(e,f,i.cwd,{loadManifest:s});await H5e(c,re,i.cwd),await T5e(i,e,re,Z,{installChangedByUser:g}),j==Li.HARDLINKS_GLOBAL&&Z.value==Li.HARDLINKS_LOCAL&&n.reportWarningOnce($.NM_HARDLINKS_MODE_DOWNGRADED,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{Y.stop()}}async function H5e(t,e,r){for(let i of t.keys()){if(x.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=x.join(i,Gr,pb);await K.removePromise(n)}}for(let[i,n]of e){if(x.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=x.join(i,Gr,pb),o=t.get(i)||new Map;await K.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await K.removePromise(x.join(s,a)),process.platform==="win32"&&await K.removePromise(x.join(s,Jr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=x.join(s,a);c!==l&&(process.platform==="win32"?await(0,Xle.default)(H.fromPortablePath(l),H.fromPortablePath(u),{createPwshFile:!1}):(await K.removePromise(u),await cT(l,u),x.contains(r,await K.realpathPromise(l))!==null&&await K.chmodPromise(l,493)))}}}var gT=class extends vu{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new ace(e)}},ace=class extends ah{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let r=new Wr({baseFs:new Es({libzip:await fn(),maxOpenFiles:80,readOnlyArchives:!0})}),i=Tle(e,this.opts.project.cwd,r),{tree:n,errors:s}=Ym(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let f=P.parseLocator(g.locator),h=P.stringifyIdent(f);h===u?o.set(u,f.reference):o.set(u,[h,f.reference])},l=x.join(this.opts.project.cwd,Pt.nodeModules),c=n.get(l);if(typeof c!="undefined"){if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let u of c.dirList){let g=x.join(l,u),f=n.get(g);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in f)a(u,f);else for(let h of f.dirList){let p=x.join(g,h),m=n.get(p);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in m)a(`${u}/${h}`,m);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var G5e={hooks:{cleanGlobalArtifacts:async t=>{let e=uT(t);await K.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:ye.STRING,values:[Kn.WORKSPACES,Kn.DEPENDENCIES,Kn.NONE],default:Kn.NONE},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:ye.STRING,values:[Li.CLASSIC,Li.HARDLINKS_LOCAL,Li.HARDLINKS_GLOBAL],default:Li.CLASSIC},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:ye.BOOLEAN,default:!0}},linkers:[AT,gT]},j5e=G5e;var gO={};ft(gO,{default:()=>XVe,npmConfigUtils:()=>br,npmHttpUtils:()=>zt,npmPublishUtils:()=>Bh});var gce=ge(ri());var Cr="npm:";var zt={};ft(zt,{AuthType:()=>cs,customPackageError:()=>J5e,del:()=>_5e,get:()=>Bo,getIdentUrl:()=>Nl,handleInvalidAuthenticationError:()=>Fl,post:()=>W5e,put:()=>z5e});var cce=ge(em()),uce=ge(require("url"));var br={};ft(br,{RegistryType:()=>wA,getAuditRegistry:()=>Y5e,getAuthConfiguration:()=>pT,getDefaultRegistry:()=>Cb,getPublishRegistry:()=>Ace,getRegistryConfiguration:()=>lce,getScopeConfiguration:()=>hT,getScopeRegistry:()=>BA,normalizeRegistry:()=>pa});var wA;(function(i){i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry"})(wA||(wA={}));function pa(t){return t.replace(/\/$/,"")}function Y5e(t,{configuration:e}){let r=e.get(wA.AUDIT_REGISTRY);return r!==null?pa(r):Ace(t,{configuration:e})}function Ace(t,{configuration:e}){var r;return((r=t.publishConfig)==null?void 0:r.registry)?pa(t.publishConfig.registry):t.name?BA(t.name.scope,{configuration:e,type:wA.PUBLISH_REGISTRY}):Cb({configuration:e,type:wA.PUBLISH_REGISTRY})}function BA(t,{configuration:e,type:r=wA.FETCH_REGISTRY}){let i=hT(t,{configuration:e});if(i===null)return Cb({configuration:e,type:r});let n=i.get(r);return n===null?Cb({configuration:e,type:r}):pa(n)}function Cb({configuration:t,type:e=wA.FETCH_REGISTRY}){let r=t.get(e);return pa(r!==null?r:t.get(wA.FETCH_REGISTRY))}function lce(t,{configuration:e}){let r=e.get("npmRegistries"),i=pa(t),n=r.get(i);if(typeof n!="undefined")return n;let s=r.get(i.replace(/^[a-z]+:/,""));return typeof s!="undefined"?s:null}function hT(t,{configuration:e}){if(t===null)return null;let i=e.get("npmScopes").get(t);return i||null}function pT(t,{configuration:e,ident:r}){let i=r&&hT(r.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:lce(t,{configuration:e})||e}var cs;(function(n){n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH"})(cs||(cs={}));async function Fl(t,{attemptedAs:e,registry:r,headers:i,configuration:n}){var s,o;if(mb(t))throw new ct($.AUTHENTICATION_INVALID,"Invalid OTP token");if(((s=t.originalError)==null?void 0:s.name)==="HTTPError"&&((o=t.originalError)==null?void 0:o.response.statusCode)===401)throw new ct($.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await q5e(r,i,{configuration:n})}`:`attempted as ${e}`})`)}function J5e(t){var e;return((e=t.response)==null?void 0:e.statusCode)===404?"Package not found":null}function Nl(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function Bo(t,a){var l=a,{configuration:e,headers:r,ident:i,authType:n,registry:s}=l,o=Tr(l,["configuration","headers","ident","authType","registry"]);if(i&&typeof s=="undefined"&&(s=BA(i.scope,{configuration:e})),i&&i.scope&&typeof n=="undefined"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let c=await Eb(s,{authType:n,configuration:e,ident:i});c&&(r=ie(N({},r),{authorization:c}));try{return await ir.get(t.charAt(0)==="/"?`${s}${t}`:t,N({configuration:e,headers:r},o))}catch(u){throw await Fl(u,{registry:s,configuration:e,headers:r}),u}}async function W5e(t,e,u){var g=u,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l}=g,c=Tr(g,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(s&&typeof a=="undefined"&&(a=BA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let f=await Eb(a,{authType:o,configuration:i,ident:s});f&&(n=ie(N({},n),{authorization:f})),l&&(n=N(N({},n),ch(l)));try{return await ir.post(a+t,e,N({configuration:i,headers:n},c))}catch(h){if(!mb(h)||l)throw await Fl(h,{attemptedAs:r,registry:a,configuration:i,headers:n}),h;l=await dT();let p=N(N({},n),ch(l));try{return await ir.post(`${a}${t}`,e,N({configuration:i,headers:p},c))}catch(m){throw await Fl(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function z5e(t,e,u){var g=u,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l}=g,c=Tr(g,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(s&&typeof a=="undefined"&&(a=BA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let f=await Eb(a,{authType:o,configuration:i,ident:s});f&&(n=ie(N({},n),{authorization:f})),l&&(n=N(N({},n),ch(l)));try{return await ir.put(a+t,e,N({configuration:i,headers:n},c))}catch(h){if(!mb(h))throw await Fl(h,{attemptedAs:r,registry:a,configuration:i,headers:n}),h;l=await dT();let p=N(N({},n),ch(l));try{return await ir.put(`${a}${t}`,e,N({configuration:i,headers:p},c))}catch(m){throw await Fl(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function _5e(t,c){var u=c,{attemptedAs:e,configuration:r,headers:i,ident:n,authType:s=3,registry:o,otp:a}=u,l=Tr(u,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(n&&typeof o=="undefined"&&(o=BA(n.scope,{configuration:r})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let g=await Eb(o,{authType:s,configuration:r,ident:n});g&&(i=ie(N({},i),{authorization:g})),a&&(i=N(N({},i),ch(a)));try{return await ir.del(o+t,N({configuration:r,headers:i},l))}catch(f){if(!mb(f)||a)throw await Fl(f,{attemptedAs:e,registry:o,configuration:r,headers:i}),f;a=await dT();let h=N(N({},i),ch(a));try{return await ir.del(`${o}${t}`,N({configuration:r,headers:h},l))}catch(p){throw await Fl(p,{attemptedAs:e,registry:o,configuration:r,headers:i}),p}}}async function Eb(t,{authType:e=2,configuration:r,ident:i}){let n=pT(t,{configuration:r,ident:i}),s=V5e(n,e);if(!s)return null;let o=await r.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new ct($.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function V5e(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function q5e(t,e,{configuration:r}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await ir.get(new uce.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function dT(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:t}=await(0,cce.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return t}function mb(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch(i){return!1}}function ch(t){return{["npm-otp"]:t}}var CT=class{supports(e,r){if(!e.reference.startsWith(Cr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!gce.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await Bo(i.__archiveUrl,{configuration:r.project.configuration,ident:e});return await wi.convertToZip(n,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var mT=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Cr)||!P.tryParseDescriptor(e.range.slice(Cr.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){let i=P.parseDescriptor(e.range.slice(Cr.length),!0);return r.resolver.getResolutionDependencies(i,r)}async getCandidates(e,r,i){let n=P.parseDescriptor(e.range.slice(Cr.length),!0);return await i.resolver.getCandidates(n,r,i)}async getSatisfying(e,r,i){let n=P.parseDescriptor(e.range.slice(Cr.length),!0);return i.resolver.getSatisfying(n,r,i)}resolve(e,r){throw new Error("Unreachable")}};var fce=ge(ri()),hce=ge(require("url"));var bo=class{supports(e,r){if(!e.reference.startsWith(Cr))return!1;let i=new hce.URL(e.reference);return!(!fce.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i;try{i=await Bo(bo.getLocatorUrl(e),{configuration:r.project.configuration,ident:e})}catch(n){i=await Bo(bo.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:r.project.configuration,ident:e})}return await wi.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:i}){let n=BA(e.scope,{configuration:i}),s=bo.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===n+s||r===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=Wt.clean(e.reference.slice(Cr.length));if(r===null)throw new ct($.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${Nl(e)}/-/${e.name}-${r}.tgz`}};var pce=ge(ri());var Ib=P.makeIdent(null,"node-gyp"),X5e=/\b(node-gyp|prebuild-install)\b/,ET=class{supportsDescriptor(e,r){return e.range.startsWith(Cr)?!!Wt.validRange(e.range.slice(Cr.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(Cr))return!1;let{selector:i}=P.parseRange(e.reference);return!!pce.default.valid(i)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=Wt.validRange(e.range.slice(Cr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Cr.length)}`);let s=await Bo(Nl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=ve.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new Wt.SemVer(c);if(n.test(u))return u}catch{}return ve.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${Cr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return bo.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,r,i){let n=Wt.validRange(e.range.slice(Cr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Cr.length)}`);return ve.mapAndFilter(r,s=>{try{let{selector:o}=P.parseRange(s,{requireProtocol:Cr}),a=new Wt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return ve.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>P.makeLocator(e,s))}async resolve(e,r){let{selector:i}=P.parseRange(e.reference),n=Wt.clean(i);if(n===null)throw new ct($.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await Bo(Nl(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new ct($.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new ct($.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new At;if(o.load(s.versions[n]),!o.dependencies.has(Ib.identHash)&&!o.peerDependencies.has(Ib.identHash)){for(let a of o.scripts.values())if(a.match(X5e)){o.dependencies.set(Ib.identHash,P.makeDescriptor(Ib,"latest")),r.report.reportWarningOnce($.NODE_GYP_INJECTED,`${P.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof o.raw.deprecated=="string"&&o.raw.deprecated!==""){let a=P.prettyLocator(r.project.configuration,e),l=o.raw.deprecated.match(/\S/)?`${a} is deprecated: ${o.raw.deprecated}`:`${a} is deprecated`;r.report.reportWarningOnce($.DEPRECATED_PACKAGE,l)}return ie(N({},e),{version:n,languageName:"node",linkType:Qt.HARD,conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var IT=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Cr)||!qg.test(e.range.slice(Cr.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Cr.length),s=await Bo(Nl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new ct($.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new ct($.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=P.makeLocator(e,`${Cr}${a}`),c=s.versions[a].dist.tarball;return bo.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[P.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Unreachable")}};var Bh={};ft(Bh,{getGitHead:()=>_Ve,makePublishBody:()=>zVe});var AO={};ft(AO,{default:()=>PVe,packUtils:()=>SA});var SA={};ft(SA,{genPackList:()=>Gb,genPackStream:()=>aO,genPackageManifest:()=>jue,hasPackScripts:()=>sO,prepareForPack:()=>oO});var nO=ge(rs()),Hue=ge(Uue()),Gue=ge(require("zlib")),EVe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],IVe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function sO(t){return!!(Zt.hasWorkspaceScript(t,"prepack")||Zt.hasWorkspaceScript(t,"postpack"))}async function oO(t,{report:e},r){await Zt.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let i=x.join(t.cwd,At.fileName);await K.existsPromise(i)&&await t.manifest.loadFile(i,{baseFs:K}),await r()}finally{await Zt.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function aO(t,e){var s,o;typeof e=="undefined"&&(e=await Gb(t));let r=new Set;for(let a of(o=(s=t.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)r.add(x.normalize(a));for(let a of t.manifest.bin.values())r.add(x.normalize(a));let i=Hue.default.pack();process.nextTick(async()=>{for(let a of e){let l=x.normalize(a),c=x.resolve(t.cwd,l),u=x.join("package",l),g=await K.lstatPromise(c),f={name:u,mtime:new Date(Dr.SAFE_TIME*1e3)},h=r.has(l)?493:420,p,m,y=new Promise((S,k)=>{p=S,m=k}),b=S=>{S?m(S):p()};if(g.isFile()){let S;l==="package.json"?S=Buffer.from(JSON.stringify(await jue(t),null,2)):S=await K.readFilePromise(c),i.entry(ie(N({},f),{mode:h,type:"file"}),S,b)}else g.isSymbolicLink()?i.entry(ie(N({},f),{mode:h,type:"symlink",linkname:await K.readlinkPromise(c)}),b):b(new Error(`Unsupported file type ${g.mode} for ${H.fromPortablePath(l)}`));await y}i.finalize()});let n=(0,Gue.createGzip)();return i.pipe(n),n}async function jue(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function Gb(t){var g,f,h,p,m,y,b,S;let e=t.project,r=e.configuration,i={accept:[],reject:[]};for(let k of IVe)i.reject.push(k);for(let k of EVe)i.accept.push(k);i.reject.push(r.get("rcFilename"));let n=k=>{if(k===null||!k.startsWith(`${t.cwd}/`))return;let T=x.relative(t.cwd,k),Y=x.resolve(Ke.root,T);i.reject.push(Y)};n(x.resolve(e.cwd,r.get("lockfileFilename"))),n(r.get("cacheFolder")),n(r.get("globalFolder")),n(r.get("installStatePath")),n(r.get("virtualFolder")),n(r.get("yarnPath")),await r.triggerHook(k=>k.populateYarnPaths,e,k=>{n(k)});for(let k of e.workspaces){let T=x.relative(t.cwd,k.cwd);T!==""&&!T.match(/^(\.\.)?\//)&&i.reject.push(`/${T}`)}let s={accept:[],reject:[]},o=(f=(g=t.manifest.publishConfig)==null?void 0:g.main)!=null?f:t.manifest.main,a=(p=(h=t.manifest.publishConfig)==null?void 0:h.module)!=null?p:t.manifest.module,l=(y=(m=t.manifest.publishConfig)==null?void 0:m.browser)!=null?y:t.manifest.browser,c=(S=(b=t.manifest.publishConfig)==null?void 0:b.bin)!=null?S:t.manifest.bin;o!=null&&s.accept.push(x.resolve(Ke.root,o)),a!=null&&s.accept.push(x.resolve(Ke.root,a)),typeof l=="string"&&s.accept.push(x.resolve(Ke.root,l));for(let k of c.values())s.accept.push(x.resolve(Ke.root,k));if(l instanceof Map)for(let[k,T]of l.entries())s.accept.push(x.resolve(Ke.root,k)),typeof T=="string"&&s.accept.push(x.resolve(Ke.root,T));let u=t.manifest.files!==null;if(u){s.reject.push("/*");for(let k of t.manifest.files)Yue(s.accept,k,{cwd:Ke.root})}return await yVe(t.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function yVe(t,{hasExplicitFileList:e,globalList:r,ignoreList:i}){let n=[],s=new Ra(t),o=[[Ke.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Jue(a,{globalList:r,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Ke.root)for(let m of u)g=g||m===".gitignore",f=f||m===".npmignore";let h=f?await que(s,a,".npmignore"):g?await que(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;Jue(a,{globalList:r,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let m of u)o.push([x.resolve(a,m),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(x.relative(Ke.root,a))}return n.sort()}async function que(t,e,r){let i={accept:[],reject:[]},n=await t.readFilePromise(x.join(e,r),"utf8");for(let s of n.split(/\n/g))Yue(i.reject,s,{cwd:e});return i}function wVe(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=x.resolve(e,t)),r&&(t=`!${t}`),t}function Yue(t,e,{cwd:r}){let i=e.trim();i===""||i[0]==="#"||t.push(wVe(i,{cwd:r}))}var us;(function(i){i[i.None=0]="None",i[i.Match=1]="Match",i[i.NegatedMatch=2]="NegatedMatch"})(us||(us={}));function Jue(t,{globalList:e,ignoreLists:r}){let i=jb(t,e.accept);if(i!==0)return i===2;let n=jb(t,e.reject);if(n!==0)return n===1;if(r!==null)for(let s of r){let o=jb(t,s.accept);if(o!==0)return o===2;let a=jb(t,s.reject);if(a!==0)return a===1}return!1}function jb(t,e){let r=e,i=[];for(let n=0;n{await oO(i,{report:l},async()=>{l.reportJson({base:H.fromPortablePath(i.cwd)});let c=await Gb(i);for(let u of c)l.reportInfo(null,H.fromPortablePath(u)),l.reportJson({location:H.fromPortablePath(u)});if(!this.dryRun){let u=await aO(i,c),g=K.createWriteStream(s);u.pipe(g),await new Promise(f=>{g.on("finish",f)})}}),this.dryRun||(l.reportInfo($.UNNAMED,`Package archive generated in ${Ae.pretty(e,s,Ae.Type.PATH)}`),l.reportJson({output:H.fromPortablePath(s)}))})).exitCode()}};lE.paths=[["pack"]],lE.usage=Re.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});var zue=lE;function BVe(t,{workspace:e}){let r=t.replace("%s",bVe(e)).replace("%v",QVe(e));return H.toPortablePath(r)}function bVe(t){return t.manifest.name!==null?P.slugifyIdent(t.manifest.name):"package"}function QVe(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var vVe=["dependencies","devDependencies","peerDependencies"],SVe="workspace:",kVe=(t,e)=>{var i,n;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let s of vVe)for(let o of t.manifest.getForScope(s).values()){let a=r.tryWorkspaceByDescriptor(o),l=P.parseRange(o.range);if(l.protocol===SVe)if(a===null){if(r.tryWorkspaceByIdent(o)===null)throw new ct($.WORKSPACE_NOT_FOUND,`${P.prettyDescriptor(r.configuration,o)}: No local workspace found for this range`)}else{let c;P.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector;let u=s==="dependencies"?P.makeDescriptor(o,"unknown"):null,g=u!==null&&t.manifest.ensureDependencyMeta(u).optional?"optionalDependencies":s;e[g][P.stringifyIdent(o)]=c}}},xVe={hooks:{beforeWorkspacePacking:kVe},commands:[zue]},PVe=xVe;var ige=ge(require("crypto")),nge=ge(rge()),sge=ge(require("url"));async function zVe(t,e,{access:r,tag:i,registry:n,gitHead:s}){let o=t.project.configuration,a=t.manifest.name,l=t.manifest.version,c=P.stringifyIdent(a),u=(0,ige.createHash)("sha1").update(e).digest("hex"),g=nge.default.fromData(e).toString();typeof r=="undefined"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:o.get("npmPublishAccess")!==null?r=o.get("npmPublishAccess"):a.scope?r="restricted":r="public");let f=await SA.genPackageManifest(t),h=`${c}-${l}.tgz`,p=new sge.URL(`${pa(n)}/${c}/-/${h}`);return{_id:c,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:c,access:r,["dist-tags"]:{[i]:l},versions:{[l]:ie(N({},f),{_id:`${c}@${l}`,name:c,version:l,gitHead:s,dist:{shasum:u,integrity:g,tarball:p.toString()}})}}}async function _Ve(t){try{let{stdout:e}=await Fr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}var fO={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ye.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:ye.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:ye.SECRET,default:null}},oge={npmAuditRegistry:{description:"Registry to query for audit reports",type:ye.STRING,default:null},npmPublishRegistry:{description:"Registry to push packages to",type:ye.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ye.STRING,default:"https://registry.yarnpkg.com"}},VVe={configuration:ie(N(N({},fO),oge),{npmScopes:{description:"Settings per package scope",type:ye.MAP,valueDefinition:{description:"",type:ye.SHAPE,properties:N(N({},fO),oge)}},npmRegistries:{description:"Settings per registry",type:ye.MAP,normalizeKeys:pa,valueDefinition:{description:"",type:ye.SHAPE,properties:N({},fO)}}}),fetchers:[CT,bo],resolvers:[mT,ET,IT]},XVe=VVe;var CO={};ft(CO,{default:()=>o9e});Is();var Ia;(function(i){i.All="all",i.Production="production",i.Development="development"})(Ia||(Ia={}));var vo;(function(s){s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical"})(vo||(vo={}));var Yb=[vo.Info,vo.Low,vo.Moderate,vo.High,vo.Critical];function age(t,e){let r=[],i=new Set,n=o=>{i.has(o)||(i.add(o),r.push(o))};for(let o of e)n(o);let s=new Set;for(;r.length>0;){let o=r.shift(),a=t.storedResolutions.get(o);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=t.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function ZVe(t,e){return new Set([...t].filter(r=>!e.has(r)))}function $Ve(t,e,{all:r}){let i=r?t.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=age(t,l),g=age(t,c);return ZVe(g,u)}function Age(t){let e={};for(let r of t)e[P.stringifyIdent(r)]=P.parseRange(r.range).selector;return e}function lge(t){if(typeof t=="undefined")return new Set;let e=Yb.indexOf(t),r=Yb.slice(e);return new Set(r)}function e9e(t,e){let r=lge(e),i={};for(let n of r)i[n]=t[n];return i}function cge(t,e){var i;let r=e9e(t,e);for(let n of Object.keys(r))if((i=r[n])!=null?i:0>0)return!0;return!1}function uge(t,e){var s;let r={},i={children:r},n=Object.values(t.advisories);if(e!=null){let o=lge(e);n=n.filter(a=>o.has(a.severity))}for(let o of ve.sortMap(n,a=>a.module_name))r[o.module_name]={label:o.module_name,value:Ae.tuple(Ae.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{Issue:{label:"Issue",value:Ae.tuple(Ae.Type.NO_HINT,o.title)},URL:{label:"URL",value:Ae.tuple(Ae.Type.URL,o.url)},Severity:{label:"Severity",value:Ae.tuple(Ae.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:Ae.tuple(Ae.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:Ae.tuple(Ae.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:Ae.tuple(Ae.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:Ae.tuple(Ae.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function gge(t,e,{all:r,environment:i}){let n=r?t.workspaces:[e],s=[Ia.All,Ia.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[Ia.All,Ia.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return Age([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function fge(t,e,{all:r}){var s;let i=$Ve(t,e,{all:r}),n={};for(let o of t.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:Age(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var gE=class extends Le{constructor(){super(...arguments);this.all=W.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=W.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=W.String("--environment",Ia.All,{description:"Which environments to cover",validator:nn(Ia)});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=W.String("--severity",vo.Info,{description:"Minimal severity requested for packages to be displayed",validator:nn(vo)})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let n=gge(r,i,{all:this.all,environment:this.environment}),s=fge(r,i,{all:this.all});if(!this.recursive)for(let f of Object.keys(s))Object.prototype.hasOwnProperty.call(n,f)?s[f].requires={}:delete s[f];let o={requires:n,dependencies:s},a=br.getAuditRegistry(i.manifest,{configuration:e}),l,c=await gA.start({configuration:e,stdout:this.context.stdout},async()=>{l=await zt.post("/-/npm/v1/security/audits/quick",o,{authType:zt.AuthType.BEST_EFFORT,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=cge(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(As.emitTree(uge(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async f=>{f.reportJson(l),u||f.reportInfo($.EXCEPTION,"No audit suggestions")})).exitCode()}};gE.paths=[["npm","audit"]],gE.usage=Re.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${Yb.map(e=>`\`${e}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var hge=gE;var hO=ge(ri()),pO=ge(require("util")),fE=class extends Le{constructor(){super(...arguments);this.fields=W.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=W.Rest()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let k=r.topLevelWorkspace;if(!k.manifest.name)throw new Pe(`Missing ${Ae.pretty(e,"name",Ae.Type.CODE)} field in ${H.fromPortablePath(x.join(k.cwd,Pt.manifest))}`);c=P.makeDescriptor(k.manifest.name,"unknown")}else c=P.parseDescriptor(l);let u=zt.getIdentUrl(c),g=dO(await zt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:zt.customPackageError})),f=Object.keys(g.versions).sort(hO.default.compareLoose),p=g["dist-tags"].latest||f[f.length-1],m=Wt.validRange(c.range);if(m){let k=hO.default.maxSatisfying(f,m);k!==null?p=k:(a.reportWarning($.UNNAMED,`Unmet range ${P.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else Object.prototype.hasOwnProperty.call(g["dist-tags"],c.range)?p=g["dist-tags"][c.range]:c.range!=="unknown"&&(a.reportWarning($.UNNAMED,`Unknown tag ${P.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let y=g.versions[p],b=ie(N(N({},g),y),{version:p,versions:f}),S;if(i!==null){S={};for(let k of i){let T=b[k];if(typeof T!="undefined")S[k]=T;else{a.reportWarning($.EXCEPTION,`The ${Ae.pretty(e,k,Ae.Type.CODE)} field doesn't exist inside ${P.prettyIdent(e,c)}'s information`),s=!0;continue}}}else this.json||(delete b.dist,delete b.readme,delete b.users),S=b;a.reportJson(S),this.json||n.push(S)}});pO.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,pO.inspect)(a,{depth:Infinity,colors:!0,compact:!1})} +`);return o.exitCode()}};fE.paths=[["npm","info"]],fE.usage=Re.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var pge=fE;function dO(t){if(Array.isArray(t)){let e=[];for(let r of t)r=dO(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let i=dO(t[r]);i&&(e[r]=i)}return e}else return t||null}var dge=ge(em()),hE=class extends Le{constructor(){super(...arguments);this.scope=W.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=W.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=await qb({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await r9e({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await zt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:zt.AuthType.NO_AUTH});return await t9e(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo($.UNNAMED,"Successfully logged in")})).exitCode()}};hE.paths=[["npm","login"]],hE.usage=Re.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var Cge=hE;async function qb({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?br.getScopeRegistry(t,{configuration:r,type:br.RegistryType.PUBLISH_REGISTRY}):t?br.getScopeRegistry(t,{configuration:r}):e?br.getPublishRegistry((await zf(r,i)).manifest,{configuration:r}):br.getDefaultRegistry({configuration:r})}async function t9e(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=ve.isIndexableObject(a)?a:{},c=l[o],u=ve.isIndexableObject(c)?c:{};return ie(N({},l),{[o]:ie(N({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await we.updateHomeConfiguration(s)}async function r9e({registry:t,report:e,stdin:r,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo($.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo($.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{username:s,password:o}=await(0,dge.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var bh=new Set(["npmAuthIdent","npmAuthToken"]),pE=class extends Le{constructor(){super(...arguments);this.scope=W.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=W.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=W.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=async()=>{var l;let n=await qb({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await we.find(this.context.cwd,this.context.plugins),o=P.makeIdent((l=this.scope)!=null?l:null,"pkg");return!br.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await i9e(),n.reportInfo($.UNNAMED,"Successfully logged out from everything")),this.scope){await mge("npmScopes",this.scope),await r()?n.reportInfo($.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning($.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await qb({configuration:e,cwd:this.context.cwd,publish:this.publish});await mge("npmRegistries",s),await r()?n.reportInfo($.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning($.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};pE.paths=[["npm","logout"]],pE.usage=Re.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});var Ege=pE;function n9e(t,e){let r=t[e];if(!ve.isIndexableObject(r))return!1;let i=new Set(Object.keys(r));if([...bh].every(s=>!i.has(s)))return!1;for(let s of bh)i.delete(s);if(i.size===0)return t[e]=void 0,!0;let n=N({},r);for(let s of bh)delete n[s];return t[e]=n,!0}async function i9e(){let t=e=>{let r=!1,i=ve.isIndexableObject(e)?N({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,r=!0);for(let n of Object.keys(i))n9e(i,n)&&(r=!0);if(Object.keys(i).length!==0)return r?i:e};return await we.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function mge(t,e){return await we.updateHomeConfiguration({[t]:r=>{let i=ve.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(i,e))return r;let n=i[e],s=ve.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...bh].every(l=>!o.has(l)))return r;for(let l of bh)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:ie(N({},i),{[e]:void 0});let a={};for(let l of bh)a[l]=void 0;return ie(N({},i),{[e]:N(N({},s),a)})}})}var dE=class extends Le{constructor(){super(...arguments);this.access=W.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=W.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=W.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=W.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);if(i.manifest.private)throw new Pe("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new Pe("Workspaces must have valid names and versions to be published on an external registry");await r.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=br.getPublishRegistry(i.manifest,{configuration:e});return(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await zt.get(zt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new ct($.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning($.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await Zt.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await SA.prepareForPack(i,{report:l},async()=>{let g=await SA.genPackList(i);for(let y of g)l.reportInfo(null,y);let f=await SA.genPackStream(i,g),h=await ve.bufferStream(f),p=await Bh.getGitHead(i.cwd),m=await Bh.makePublishBody(i,h,{access:this.access,tag:this.tag,registry:o,gitHead:p});await zt.put(zt.getIdentUrl(n),m,{configuration:e,registry:o,ident:n,otp:this.otp,jsonResponse:!0})}),l.reportInfo($.UNNAMED,"Package archive published")})).exitCode()}};dE.paths=[["npm","publish"]],dE.usage=Re.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var Ige=dE;var wge=ge(ri());var CE=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=W.String({required:!1})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=P.parseIdent(this.package);else{if(!i)throw new ht(r.cwd,this.context.cwd);if(!i.manifest.name)throw new Pe(`Missing 'name' field in ${H.fromPortablePath(x.join(i.cwd,Pt.manifest))}`);n=i.manifest.name}let s=await mE(n,e),a={children:ve.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:Ae.tuple(Ae.Type.RESOLUTION,{descriptor:P.makeDescriptor(n,l),locator:P.makeLocator(n,c)})}))};return As.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};CE.paths=[["npm","tag","list"]],CE.usage=Re.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var yge=CE;async function mE(t,e){let r=`/-/package${zt.getIdentUrl(t)}/dist-tags`;return zt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:zt.customPackageError})}var EE=class extends Le{constructor(){super(...arguments);this.package=W.String();this.tag=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);let n=P.parseDescriptor(this.package,!0),s=n.range;if(!wge.default.valid(s))throw new Pe(`The range ${Ae.pretty(e,n.range,Ae.Type.RANGE)} must be a valid semver version`);let o=br.getPublishRegistry(i.manifest,{configuration:e}),a=Ae.pretty(e,n,Ae.Type.IDENT),l=Ae.pretty(e,s,Ae.Type.RANGE),c=Ae.pretty(e,this.tag,Ae.Type.CODE);return(await Je.start({configuration:e,stdout:this.context.stdout},async g=>{let f=await mE(n,e);Object.prototype.hasOwnProperty.call(f,this.tag)&&f[this.tag]===s&&g.reportWarning($.UNNAMED,`Tag ${c} is already set to version ${l}`);let h=`/-/package${zt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await zt.put(h,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo($.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};EE.paths=[["npm","tag","add"]],EE.usage=Re.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var Bge=EE;var IE=class extends Le{constructor(){super(...arguments);this.package=W.String();this.tag=W.String()}async execute(){if(this.tag==="latest")throw new Pe("The 'latest' tag cannot be removed.");let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);let n=P.parseIdent(this.package),s=br.getPublishRegistry(i.manifest,{configuration:e}),o=Ae.pretty(e,this.tag,Ae.Type.CODE),a=Ae.pretty(e,n,Ae.Type.IDENT),l=await mE(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new Pe(`${o} is not a tag of package ${a}`);return(await Je.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${zt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await zt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo($.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};IE.paths=[["npm","tag","remove"]],IE.usage=Re.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var bge=IE;var yE=class extends Le{constructor(){super(...arguments);this.scope=W.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=W.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=br.getScopeRegistry(this.scope,{configuration:e,type:br.RegistryType.PUBLISH_REGISTRY}):this.scope?r=br.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=br.getPublishRegistry((await zf(e,this.context.cwd)).manifest,{configuration:e}):r=br.getDefaultRegistry({configuration:e}),(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await zt.get("/-/whoami",{configuration:e,registry:r,authType:zt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError($.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo($.UNNAMED,s.username)})).exitCode()}};yE.paths=[["npm","whoami"]],yE.usage=Re.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var Qge=yE;var s9e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:ye.STRING,default:null}},commands:[hge,pge,Cge,Ege,Ige,Bge,yge,bge,Qge]},o9e=s9e;var QO={};ft(QO,{default:()=>w9e,patchUtils:()=>mO});var mO={};ft(mO,{applyPatchFile:()=>zb,diffFolders:()=>wO,extractPackageToDisk:()=>yO,extractPatchFlags:()=>Fge,isParentRequired:()=>IO,loadPatchFiles:()=>QE,makeDescriptor:()=>E9e,makeLocator:()=>EO,parseDescriptor:()=>BE,parseLocator:()=>bE,parsePatchFile:()=>Wb});var wE=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var a9e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Qh(t){return x.relative(Ke.root,x.resolve(Ke.root,H.toPortablePath(t)))}function A9e(t){let e=t.trim().match(a9e);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var l9e=420,c9e=493,Zr;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(Zr||(Zr={}));var vge=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),u9e=t=>({header:A9e(t),parts:[]}),g9e={["@"]:"header",["-"]:Zr.Deletion,["+"]:Zr.Insertion,[" "]:Zr.Context,["\\"]:"pragma",undefined:Zr.Context};function h9e(t){let e=[],r=vge(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),r.hunks.push(n),n=null)}function a(){o(),e.push(r),r=vge()}for(let l=0;l0?"patch":"mode change",S=null;switch(b){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Qh(u),toPath:Qh(g)}),S=g}break;case"file deletion":{let k=n||p;if(!k)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:y&&y[0]||null,path:Qh(k),mode:Jb(l),hash:f})}break;case"file creation":{let k=s||m;if(!k)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:y&&y[0]||null,path:Qh(k),mode:Jb(c),hash:h})}break;case"patch":case"mode change":S=m||s;break;default:ve.assertNever(b);break}S&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Qh(S),oldMode:Jb(o),newMode:Jb(a)}),S&&y&&y.length&&e.push({type:"patch",semverExclusivity:i,path:Qh(S),hunks:y,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function Jb(t){let e=parseInt(t,8)&511;if(e!==l9e&&e!==c9e)throw new Error(`Unexpected file mode string: ${t}`);return e}function Wb(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),p9e(h9e(e))}function f9e(t){let e=0,r=0;for(let{type:i,lines:n}of t.parts)switch(i){case Zr.Context:r+=n.length,e+=n.length;break;case Zr.Deletion:e+=n.length;break;case Zr.Insertion:r+=n.length;break;default:ve.assertNever(i);break}if(e!==t.header.original.length||r!==t.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(t.header.original.length)} ${i(t.header.patched.length)} @@, got @@ ${i(e)} ${i(r)} @@)`)}}async function vh(t,e,r){let i=await t.lstatPromise(e),n=await r();if(typeof n!="undefined"&&(e=n),t.lutimesPromise)await t.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await t.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function zb(t,{baseFs:e=new ar,dryRun:r=!1,version:i=null}={}){for(let n of t)if(!(n.semverExclusivity!==null&&i!==null&&!Wt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(r){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await vh(e,x.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(r){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await vh(e,x.dirname(n.fromPath),async()=>{await vh(e,x.dirname(n.toPath),async()=>{await vh(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` +`)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(x.dirname(n.path),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,Dr.SAFE_TIME,Dr.SAFE_TIME)}break;case"patch":await vh(e,n.path,async()=>{await d9e(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(Sge(n.newMode)!==Sge(o))continue;await vh(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:ve.assertNever(n);break}}function Sge(t){return(t&64)>0}function kge(t){return t.replace(/\s+$/,"")}function C9e(t,e){return kge(t)===kge(e)}async function d9e({hunks:t,path:e},{baseFs:r,dryRun:i=!1}){let n=await r.statSync(e).mode,o=(await r.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of t){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),m=Math.max(h,p),y=0,b=0,S=null;for(;y<=m;){if(y<=h&&(b=f-y,S=xge(g,o,b),S!==null)){y=-y;break}if(y<=p&&(b=f+y,S=xge(g,o,b),S!==null))break;y+=1}if(S===null)throw new wE(t.indexOf(g),g);a.push(S),l+=y,c=b+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:ve.assertNever(f);break}await r.writeFilePromise(e,o.join(` +`),{mode:n})}function xge(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case Zr.Context:case Zr.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!C9e(o,s))return null;r+=1}n.type===Zr.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case Zr.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:ve.assertNever(n.type);break}return i}var m9e=/^builtin<([^>]+)>$/;function Pge(t,e){let{source:r,selector:i,params:n}=P.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>H.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?P.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(r);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function BE(t){let i=Pge(t.range,P.parseDescriptor),{sourceItem:e}=i,r=Tr(i,["sourceItem"]);return ie(N({},r),{sourceDescriptor:e})}function bE(t){let i=Pge(t.reference,P.parseLocator),{sourceItem:e}=i,r=Tr(i,["sourceItem"]);return ie(N({},r),{sourceLocator:e})}function Dge({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:P.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return P.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:N(N(N({},a),l),o)})}function E9e(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return P.makeLocator(t,Dge({parentLocator:e,sourceItem:r,patchPaths:i},P.stringifyDescriptor))}function EO(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return P.makeLocator(t,Dge({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function Rge({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(m9e);return s!==null?r(s[1]):x.isAbsolute(i)?t(i):e(i)}function Fge(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function IO(t){return Rge({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function QE(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new _t(Ke.root),prefixPath:x.relative(Ke.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await ve.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=Fge(o),l=await Rge({onAbsolute:async()=>await K.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(x.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return ie(N({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function yO(t,{cache:e,project:r}){let i=r.storedPackages.get(t.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=r.storedChecksums,s=new pi,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await K.mktempPromise(),c=x.join(l,"source"),u=x.join(l,"user"),g=x.join(l,".yarn-patch.json");return await Promise.all([K.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),K.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),K.writeJsonPromise(g,{locator:P.stringifyLocator(t),version:i.version})]),K.detachTemp(l),u}async function wO(t,e){let r=H.fromPortablePath(t).replace(/\\/g,"/"),i=H.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Fr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--text",r,i],{cwd:H.toPortablePath(process.cwd()),env:ie(N({},process.env),{GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${s}`);let o=r.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${ve.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${ve.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(ve.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(ve.escapeRegExp(`${i}/`),"g"),"")}function Nge(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case Zr.Context:r.reportInfo(null,` ${Ae.pretty(e,n,"grey")}`);break;case Zr.Deletion:r.reportError($.FROZEN_LOCKFILE_EXCEPTION,`- ${Ae.pretty(e,n,Ae.Type.REMOVED)}`);break;case Zr.Insertion:r.reportError($.FROZEN_LOCKFILE_EXCEPTION,`+ ${Ae.pretty(e,n,Ae.Type.ADDED)}`);break;default:ve.assertNever(i.type)}}var BO=class{supports(e,r){return!!e.reference.startsWith("patch:")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=bE(e),a=await QE(i,o,r),l=await K.mktempPromise(),c=x.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=P.getIdentVendorPath(e),f=await fn(),h=new Ai(c,{libzip:f,create:!0,level:r.project.configuration.get("compressionLevel")});await ve.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:m}of a){if(p===null)continue;let y=new Ai(c,{libzip:f,level:r.project.configuration.get("compressionLevel")}),b=new _t(x.resolve(Ke.root,g),{baseFs:y});try{await zb(Wb(p),{baseFs:b,version:s})}catch(S){if(!(S instanceof wE))throw S;let k=r.project.configuration.get("enableInlineHunks"),T=!k&&!m?" (set enableInlineHunks for details)":"",Y=`${P.prettyLocator(r.project.configuration,e)}: ${S.message}${T}`,j=Z=>{!k||Nge(S.hunk,{configuration:r.project.configuration,report:Z})};if(y.discardAndClose(),m){r.report.reportWarningOnce($.PATCH_HUNK_FAILED,Y,{reportExtra:j});continue}else throw new ct($.PATCH_HUNK_FAILED,Y,j)}y.saveAndClose()}return new Ai(c,{libzip:f,level:r.project.configuration.get("compressionLevel")})}};var I9e=3,bO=class{supportsDescriptor(e,r){return!!e.range.startsWith("patch:")}supportsLocator(e,r){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){let{patchPaths:n}=BE(e);return n.every(s=>!IO(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=BE(e);return[i]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=BE(e),a=await QE(n,o,i.fetchOptions),l=r.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=Dn.makeHash(`${I9e}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[EO(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=bE(e),n=await r.resolver.resolve(i,r);return N(N({},n),e)}};var vE=class extends Le{constructor(){super(...arguments);this.save=W.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let n=x.resolve(this.context.cwd,H.toPortablePath(this.patchFolder)),s=x.join(n,"../source"),o=x.join(n,"../.yarn-patch.json");if(!K.existsSync(s))throw new Pe("The argument folder didn't get created by 'yarn patch'");let a=await wO(s,n),l=await K.readJsonPromise(o),c=P.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new Pe("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=x.join(u,`${P.slugifyLocator(c)}.patch`);await K.mkdirPromise(u,{recursive:!0}),await K.writeFilePromise(g,a);let f=x.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:P.stringifyIdent(c),description:l.version}},reference:`patch:${P.stringifyLocator(c)}#${f}`}),await r.persist()}};vE.paths=[["patch-commit"]],vE.usage=Re.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var Lge=vE;var SE=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let s=P.parseLocator(this.package);if(s.reference==="unknown"){let o=ve.mapAndFilter([...r.storedPackages.values()],a=>a.identHash!==s.identHash?ve.mapAndFilter.skip:P.isVirtualLocator(a)?ve.mapAndFilter.skip:a);if(o.length===0)throw new Pe("No package found in the project for the given locator");if(o.length>1)throw new Pe(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${o.map(a=>` +- ${P.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new Pe("No package found in the project for the given locator");await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await yO(s,{cache:n,project:r});o.reportJson({locator:P.stringifyLocator(s),path:H.fromPortablePath(a)}),o.reportInfo($.UNNAMED,`Package ${P.prettyLocator(e,s)} got extracted with success!`),o.reportInfo($.UNNAMED,`You can now edit the following folder: ${Ae.pretty(e,H.fromPortablePath(a),"magenta")}`),o.reportInfo($.UNNAMED,`Once you are done run ${Ae.pretty(e,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${H.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};SE.paths=[["patch"]],SE.usage=Re.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n \n Once you're done with your changes, run `yarn patch-commit -s ` (with `` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n "});var Tge=SE;var y9e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:ye.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:ye.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[Lge,Tge],fetchers:[BO],resolvers:[bO]},w9e=y9e;var xO={};ft(xO,{default:()=>Q9e});var vO=class{supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let i=SO(),n=r.project.installersCustomData.get(i);if(!n)throw new Pe(`The project in ${Ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,Ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s=="undefined")throw new Pe(`Couldn't find ${P.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let i=SO(),n=r.project.installersCustomData.get(i);if(!n)throw new Pe(`The project in ${Ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,Ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=x.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new Oge(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},Oge=class{constructor(e){this.opts=e;this.asyncActions=new ve.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return SO()}attachCustomData(e){}async installPackage(e,r,i){switch(e.linkType){case Qt.SOFT:return this.installPackageSoft(e,r,i);case Qt.HARD:return this.installPackageHard(e,r,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,i){let n=x.resolve(r.packageFs.getRealPath(),r.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,r,i){var u;let n=B9e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await K.mkdirPromise(n,{recursive:!0}),await K.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await At.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?u:new At,misc:{hasBindingGyp:ha.hasBindingGyp(r)}},l=this.opts.project.getDependencyMeta(o,e.version),c=ha.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,r){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!Uge(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=x.join(n,Pt.nodeModules),o=[],a=await Hge(s);for(let[l,c]of r){let u=c;Uge(c,{project:this.opts.project})||(this.opts.report.reportWarning($.UNNAMED,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(c)})`);let f=P.stringifyIdent(l),h=x.join(s,f),p=x.relative(x.dirname(h),g),m=a.get(f);a.delete(f),o.push(Promise.resolve().then(async()=>{if(m){if(m.isSymbolicLink()&&await K.readlinkPromise(h)===p)return;await K.removePromise(h)}await K.mkdirpPromise(x.dirname(h)),process.platform=="win32"?await K.symlinkPromise(g,h,"junction"):await K.symlinkPromise(p,h)}))}o.push(Gge(s,a)),await Promise.all(o)}))}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=Kge(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await K.removePromise(e);else{let r=[],i=new Set;for(let s of this.customData.pathByLocator.values()){let o=x.contains(e,s);if(o!==null){let[a,,...l]=o.split(x.sep);i.add(a);let c=x.join(e,a);r.push(K.readdirPromise(c).then(u=>Promise.all(u.map(async g=>{let f=x.join(c,g);if(g===Pt.nodeModules){let h=await Hge(f);return h.delete(l.join(x.sep)),Gge(f,h)}else return K.removePromise(f)}))).catch(u=>{if(u.code!=="ENOENT")throw u}))}}let n;try{n=await K.readdirPromise(e)}catch{n=[]}for(let s of n)i.has(s)||r.push(K.removePromise(x.join(e,s)));await Promise.all(r)}return await this.asyncActions.wait(),await kO(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await kO(Mge(this.opts.project)),{customData:this.customData}}};function SO(){return JSON.stringify({name:"PnpmInstaller",version:2})}function Mge(t){return x.join(t.cwd,Pt.nodeModules)}function Kge(t){return x.join(Mge(t),".store")}function B9e(t,{project:e}){let r=P.slugifyLocator(t),i=P.getIdentVendorPath(t);return x.join(Kge(e),r,i)}function Uge(t,{project:e}){return!P.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function Hge(t){let e=new Map,r=[];try{r=await K.readdirPromise(t,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of r)if(!i.name.startsWith("."))if(i.name.startsWith("@")){let n=await K.readdirPromise(x.join(t,i.name),{withFileTypes:!0});if(n.length===0)e.set(i.name,i);else for(let s of n)e.set(`${i.name}/${s.name}`,s)}else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}async function Gge(t,e){var n;let r=[],i=new Set;for(let s of e.keys()){r.push(K.removePromise(x.join(t,s)));let o=(n=P.tryParseIdent(s))==null?void 0:n.scope;o&&i.add(`@${o}`)}return Promise.all(r).then(()=>Promise.all([...i].map(s=>kO(x.join(t,s)))))}async function kO(t){try{await K.rmdirPromise(t)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var b9e={linkers:[vO]},Q9e=b9e;var W0=()=>({modules:new Map([["@yarnpkg/cli",VC],["@yarnpkg/core",vC],["@yarnpkg/fslib",$h],["@yarnpkg/libzip",Kd],["@yarnpkg/parsers",ap],["@yarnpkg/shell",Hd],["clipanion",u$(mp)],["semver",v9e],["typanion",ag],["yup",S9e],["@yarnpkg/plugin-essentials",uL],["@yarnpkg/plugin-compat",pL],["@yarnpkg/plugin-dlx",dL],["@yarnpkg/plugin-file",QL],["@yarnpkg/plugin-git",cL],["@yarnpkg/plugin-github",SL],["@yarnpkg/plugin-http",PL],["@yarnpkg/plugin-init",NL],["@yarnpkg/plugin-link",KL],["@yarnpkg/plugin-nm",fT],["@yarnpkg/plugin-npm",gO],["@yarnpkg/plugin-npm-cli",CO],["@yarnpkg/plugin-pack",AO],["@yarnpkg/plugin-patch",QO],["@yarnpkg/plugin-pnp",rT],["@yarnpkg/plugin-pnpm",xO]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});C0({binaryVersion:Kr||"",pluginConfiguration:W0()});})(); +/*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + */ +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ diff --git a/.yarnrc b/.yarnrc deleted file mode 100644 index 5455c6c5d3..0000000000 --- a/.yarnrc +++ /dev/null @@ -1 +0,0 @@ -ignore-scripts true diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 0000000000..268ce42aa6 --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1,16 @@ +# We use allow-scripts to manually enable scripts and then run them +enableScripts: false + +# This is necessary right now for TypeScript to find @types/* packages +nodeLinker: node-modules + +plugins: + # Provides `yarn workspaces foreach`, etc. + - path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs + spec: "@yarnpkg/plugin-workspace-tools" + # Provides `yarn constraints` + - path: .yarn/plugins/@yarnpkg/plugin-constraints.cjs + spec: "@yarnpkg/plugin-constraints" + +# The current version of Yarn we're using +yarnPath: .yarn/releases/yarn-3.2.1.cjs diff --git a/README.md b/README.md index 2f5e006381..ec40a7ec36 100644 --- a/README.md +++ b/README.md @@ -1,257 +1,18 @@ -# `@metamask/controllers` +# Controllers A collection of platform-agnostic modules for creating secure data models for cryptocurrency wallets. -## Table of Contents - -- [Usage](#usage) -- [Modules](#modules) -- [Concepts](#concepts) - - [Initialization](#initialization) - - [Configuration](#configuration) - - [State management](#state-management) - - [Subscription](#subscription) - - [Composition](#composition) -- [Linking](#linking-during-development) -- [API documentation](#api-documentation) -- [License](#license) - -## Usage - -First, install the package. - -```sh -yarn add @metamask/controllers -``` - -Then, compose stores to create a data model. - -```js -import { - ComposableController, - NetworkController, - TokenRatesController, -} from '@metamask/controllers'; - -const datamodel = new ComposableController([ - new NetworkController(), - new TokenRatesController(), -]); - -datamodel.subscribe((state) => { - /* data model has changed */ -}); -``` - ## Modules -`@metamask/controllers` consists of a collection of controller modules that each expose uniform APIs for common operations like configuration, state management, and subscription. - -### AccountTrackerController - -```ts -import AccountTrackerController from '@metamask/controllers'; -``` - -The AccountTrackerController tracks information associated with specific Ethereum accounts. - -### AddressBookController - -```ts -import AddressBookController from '@metamask/controllers'; -``` - -The AddressBookController exposes functions for managing a list of recipient addresses and associated nicknames. - -### ComposableController - -```ts -import ComposableController from '@metamask/controllers'; -``` - -The ComposableController can be used to compose multiple controllers together into a single controller. - -### CurrencyRateController - -```ts -import CurrencyRateController from '@metamask/controllers'; -``` - -The CurrencyRateController passively polls for an ETH-to-fiat exchange rate based on a chosen currency. - -### KeyringController - -```ts -import KeyringController from '@metamask/controllers'; -``` - -The KeyringController is responsible for establishing and managing Ethereum address-based identities. - -### NetworkController - -```ts -import NetworkController from '@metamask/controllers'; -``` - -The NetworkController is responsible for creating an underlying provider and for refreshing its configuration. - -### PhishingController - -```ts -import PhishingController from '@metamask/controllers'; -``` - -The PhishingController passively polls for community-maintained lists of approved and unapproved website origins. - -### PreferencesController - -```ts -import PreferencesController from '@metamask/controllers'; -``` - -The PreferencesController manages agnostic global settings and exposes convenience methods for updating them. - -### TokenRatesController - -```ts -import TokenRatesController from '@metamask/controllers'; -``` - -The TokenRatesController passively polls on a set interval for token-to-fiat exchange rates. - -### TransactionController - -```ts -import TransactionController from '@metamask/controllers'; -``` - -The TransactionController is responsible for submitting and managing transactions. - -### util - -```ts -import util from '@metamask/controllers'; -``` - -The util module exposes a set of utility functions for common operations like gas estimation and generating crypto-buying URLs. - -## Concepts - -Using controllers should be straightforward since each controller exposes the same minimal API. The concepts detailed in this section form the entirety of the core API: knowing these concepts will allow you to fully use `@metamask/controllers` to build wallet data models. - -### Initialization - -Each controller can be initialized with an optional initial configuration argument and an optional initial state argument: +Please refer to the READMEs for the following packages for installation and usage instructions: -```ts -const controller = new Controller(, ) -``` +* [`@metamask/base-controller`](packages/base-controller) +* [`@metamask/controller-utils`](packages/controller-utils) +* [`@metamask/ens-controller`](packages/ens-controller) -Data passed into a controller as initial state will be merged with that controller's default state; likewise, options passed into a controller as initial configuration will be merged with that controller's default configuration. - -### Configuration - -As mentioned in the [initialization section](#initialization), a controller can be configured during initialization by passing in a configuration object as its first argument: - -```ts -const controller = new Controller(, ) -``` - -A controller can also be configured (or reconfigured) after initialization by passing a configuration object to its `configure` method: - -```ts -const controller = new Controller(); -controller.configure({ foo: 'bar', baz: 'qux' }); -``` - -Regardless of how a controller is configured, whether it's during or after initialization, configuration options can always be accessed on a controller as instance variables for convenience: - -```ts -const controller = new Controller(); -controller.configure({ foo: 'bar', baz: 'qux' }); -console.log(controller.foo, controller.baz); // "bar qux" -``` - -### State management - -The core purpose of every controller is to maintain an internal data object called "state". Modules are like data stores: their internal state data can be updated directly by modifying the data itself or indirectly by calling API methods that in turn modify the data. - -A controller's state can be directly modified by calling its `update` method and passing in a new data object. By default, this data object will be merged with the controller's existing internal state; however, if the data object should overwrite the controller's internal state, a second argument of `true` can be passed to the `update` method: - -```ts -const controller = new Controller(); -controller.update({ foo: 'bar' }); // merge with existing state -controller.update({ foo: 'bar' }, true); // overwrite existing state -``` - -A controller's state can be indirectly modified by calling any state-modifying API methods it may expose. For example, the AddressBookController exposes a `set` method that accepts a new address to save and an associated nickname; calling this method will internally update its `state.addressBook` array. - -A controller's state can always be accessed by referencing the `state` instance variable for convenience: - -```ts -const controller = new Controller(); -console.log(controller.state); // { ... } -``` - -### Subscription - -Since each controller maintains an internal state object, there should be a way to add listeners to be notified when state data changes. controllers expose two methods for subscription management, `subscribe` and `unsubscribe`. - -Change handlers can be registered with a controller by passing a function to its `subscribe` method. This function will be called anytime the controller's underlying state changes and will be passed the current state as its only function argument: - -```ts -function onChange(state) { - /* state data changed */ -} -const controller = new Controller(); -controller.subscribe(onChange); -``` - -Change handlers can be removed from a controller by passing a function to its `unsubscribe` method. Any function passed to `unsubscribe` will be removed from the internal list of handlers and will no longer be called when state data changes: - -```ts -function onChange(state) { - /* state data changed */ -} -const controller = new Controller(); -controller.subscribe(onChange); -// ... -controller.unsubscribe(onChange); -``` - -### Composition - -Because each controller maintains its own state and subscriptions, it would be tedious to initialize and subscribe to every available controller independently. To solve this issue, the ComposableController can be used to compose multiple controllers into a single controller. - -The ComposableController is initialized by passing an array of controller instances: - -```ts -import { - ComposableController, - NetworkController, - TokenRatesController, -} from '@metamask/controllers'; - -const datamodel = new ComposableController([ - new NetworkController(), - new TokenRatesController(), -]); -``` - -The resulting composed controller exposes the same APIs as every other controller for configuration, state management, and subscription: - -```ts -datamodel.subscribe((state) => { - /* some child state has changed */ -}); -``` - -The internal state maintained by a ComposableController will be keyed by child controller class name. It's also possible to access the `flatState` instance variable that is a convenience accessor for merged child state: +## Usage -```ts -console.log(datamodel.state); // {NetworkController: {...}, TokenRatesController: {...}} -console.log(datamodel.flatState); // {infura: {...}, contractExchangeRates: [...]} -``` +(TODO: Fill this out. Maybe keep the big picture stuff here and more details in the READMEs for packages?) ## Contributing @@ -259,7 +20,7 @@ console.log(datamodel.flatState); // {infura: {...}, contractExchangeRates: [... - Install [Node.js](https://nodejs.org) version 12 - If you are using [nvm](https://github.com/creationix/nvm#installation) (recommended) running `nvm use` will automatically choose the right node version for you. -- Install [Yarn v1](https://yarnpkg.com/en/docs/install) +- Install [Yarn v3](https://yarnpkg.com/en/docs/install) - Run `yarn setup` to install dependencies and run any requried post-install scripts - **Warning:** Do not use the `yarn` / `yarn install` command directly. Use `yarn setup` instead. The normal install command will skip required post-install scripts, leaving your development environment in an invalid state. @@ -269,46 +30,6 @@ Run `yarn test` to run the tests once. To run tests on file changes, run `yarn t Run `yarn lint` to run the linter, or run `yarn lint:fix` to run the linter and fix any automatically fixable issues. -### Linking During Development - -Linking `@metamask/controllers` into other projects involves a special NPM command to ensure that dependencies are not duplicated. This is because `@metamask/controllers` ships modules that are transpiled but not bundled, and [NPM does not deduplicate](https://github.com/npm/npm/issues/7742) linked dependency trees. - -First, `yarn build:link` in this repository, then link `@metamask/controllers` by running `yarn link` in the consumer repository. - ### Release & Publishing -The project follows the same release process as the other libraries in the MetaMask organization. The GitHub Actions [`action-create-release-pr`](https://github.com/MetaMask/action-create-release-pr) and [`action-publish-release`](https://github.com/MetaMask/action-publish-release) are used to automate the release process; see those repositories for more information about how they work. - -1. Choose a release version. - - - The release version should be chosen according to SemVer. Analyze the changes to see whether they include any breaking changes, new features, or deprecations, then choose the appropriate SemVer version. See [the SemVer specification](https://semver.org/) for more information. - -2. If this release is backporting changes onto a previous release, then ensure there is a major version branch for that version (e.g. `1.x` for a `v1` backport release). - - - The major version branch should be set to the most recent release with that major version. For example, when backporting a `v1.0.2` release, you'd want to ensure there was a `1.x` branch that was set to the `v1.0.1` tag. - -3. Trigger the [`workflow_dispatch`](https://docs.github.com/en/actions/reference/events-that-trigger-workflows#workflow_dispatch) event [manually](https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow) for the `Create Release Pull Request` action to create the release PR. - - - For a backport release, the base branch should be the major version branch that you ensured existed in step 2. For a normal release, the base branch should be the main branch for that repository (which should be the default value). - - This should trigger the [`action-create-release-pr`](https://github.com/MetaMask/action-create-release-pr) workflow to create the release PR. - -4. Update the changelog to move each change entry into the appropriate change category ([See here](https://keepachangelog.com/en/1.0.0/#types) for the full list of change categories, and the correct ordering), and edit them to be more easily understood by users of the package. - - - Generally any changes that don't affect consumers of the package (e.g. lockfile changes or development environment changes) are omitted. Exceptions may be made for changes that might be of interest despite not having an effect upon the published package (e.g. major test improvements, security improvements, improved documentation, etc.). - - Try to explain each change in terms that users of the package would understand (e.g. avoid referencing internal variables/concepts). - - Consolidate related changes into one change entry if it makes it easier to explain. - - Run `yarn auto-changelog validate --rc` to check that the changelog is correctly formatted. - -5. Review and QA the release. - - - If changes are made to the base branch, the release branch will need to be updated with these changes and review/QA will need to restart again. As such, it's probably best to avoid merging other PRs into the base branch while review is underway. - -6. Squash & Merge the release. - - - This should trigger the [`action-publish-release`](https://github.com/MetaMask/action-publish-release) workflow to tag the final release commit and publish the release on GitHub. - -7. Publish the release on npm. - - - Wait for the `publish-release` GitHub Action workflow to finish. This should trigger a second job (`publish-npm`), which will wait for a run approval by the [`npm publishers`](https://github.com/orgs/MetaMask/teams/npm-publishers) team. - - Approve the `publish-npm` job (or ask somebody on the npm publishers team to approve it for you). - - Once the `publish-npm` job has finished, check npm to verify that it has been published. +The project, being a monorepo, follows a specific release process. This section will be updated appropriately once that process is crystallized. diff --git a/contraints.pro b/contraints.pro new file mode 100644 index 0000000000..0b36236bfa --- /dev/null +++ b/contraints.pro @@ -0,0 +1,59 @@ +%atom_starts_with(Atom, Prefix) :- + %sub_atom(Atom, _, _, _, Prefix). + +% "name" is required for all workspaces (including the root). +\+ gen_enforced_field(WorkspaceCwd, 'name', null). + +% "description" is required for all workspaces. +\+ gen_enforced_field(WorkspaceCwd, 'description', null). + +% "repository" must be unset for the root workspace. +gen_enforced_field(WorkspaceCwd, 'repository', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% "repository.type" must be "git" for publishable workspaces. +gen_enforced_field(WorkspaceCwd, 'repository.type', 'git') :- + workspace_field(WorkspaceCwd, 'private', false). + +% "repository.type" must start with "git@github.com:mcmire/" for publishable workspaces. +%gen_enforced_field(WorkspaceCwd, 'repository.url', RepoUrl) :- + %\+ workspace_field(WorkspaceCwd, 'private', true), + %atom_starts_with(RepoUrl, 'git@github.com:mcmire/'). + +% "main" must be "dist/index.js" for publishable workspaces +% and unset for the root. +gen_enforced_field(WorkspaceCwd, 'main', 'dist/index.js') :- + workspace_field(WorkspaceCwd, 'private', false). +gen_enforced_field(WorkspaceCwd, 'main', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% "types" must be "dist/index.d.ts" for publishable workspaces +% and unset for the root. +gen_enforced_field(WorkspaceCwd, 'types', 'dist/index.d.ts') :- + workspace_field(WorkspaceCwd, 'private', false). +gen_enforced_field(WorkspaceCwd, 'types', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% "files" must be ["dist/"] for publishable workspaces +% and unset for the root. +gen_enforced_field(WorkspaceCwd, 'files', ['dist/']) :- + workspace_field(WorkspaceCwd, 'private', false). +gen_enforced_field(WorkspaceCwd, 'files', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% "engines.node" must be ">=14.0.0" for all workspaces. +gen_enforced_field(WorkspaceCwd, 'engines.node', '>=14.0.0'). + +% "publishConfig.access" must be "public" for publishable workspaces +% and unset for the root. +gen_enforced_field(WorkspaceCwd, 'publishConfig.access', 'public') :- + workspace_field(WorkspaceCwd, 'private', false). +gen_enforced_field(WorkspaceCwd, 'publishConfig.access', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% "publishConfig.registry" must be "https://registry.npmjs.org" for publishable workspaces +% and unset for the root. +gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', 'https://registry.npmjs.org') :- + workspace_field(WorkspaceCwd, 'private', false). +gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', null) :- + workspace_field(WorkspaceCwd, 'private', true). diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index 53ebdf6de8..0000000000 --- a/jest.config.js +++ /dev/null @@ -1,34 +0,0 @@ -module.exports = { - collectCoverage: true, - // Ensures that we collect coverage from all source files, not just tested - // ones. - collectCoverageFrom: ['./src/**/*.ts'], - // TODO: Test index.ts - coveragePathIgnorePatterns: ['./src/index.ts'], - coverageReporters: ['text', 'html'], - coverageThreshold: { - global: { - branches: 90, - functions: 96, - lines: 95, - statements: 95, - }, - }, - moduleFileExtensions: ['js', 'json', 'ts', 'node'], - preset: 'ts-jest', - // TODO: Enable resetMocks - // "resetMocks" resets all mocks, including mocked modules, to jest.fn(), - // between each test case. - // resetMocks: true, - // "restoreMocks" restores all mocks created using jest.spyOn to their - // original implementations, between each test. It does not affect mocked - // modules. - restoreMocks: true, - setupFiles: ['./tests/setupTests.ts'], - testEnvironment: 'jsdom', - testRegex: ['\\.test\\.(ts|js)$'], - testTimeout: 5000, - transform: { - '^.+\\.tsx?$': 'ts-jest', - }, -}; diff --git a/jest.config.packages.ts b/jest.config.packages.ts new file mode 100644 index 0000000000..4629b7d254 --- /dev/null +++ b/jest.config.packages.ts @@ -0,0 +1,209 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import type { Config } from '@jest/types'; + +const config: Config.InitialOptions = { + // All imported modules in your tests should be mocked automatically + // automock: false, + + // Stop running tests after `n` failures + // bail: 0, + + // The directory where Jest should store its cached dependency information + // cacheDirectory: "/private/var/folders/fk/c3y07g0576j8_2s9m01pk4qw0000gn/T/jest_dx", + + // Automatically clear mock calls, instances and results before every test. + // This does not remove any mock implementation that may have been provided, + // so we disable it. + // clearMocks: true, + + // Indicates whether the coverage information should be collected while executing the test + collectCoverage: true, + + // An array of glob patterns indicating a set of files for which coverage information should be collected + collectCoverageFrom: ['./packages/src/**/*.ts'], + + // The directory where Jest should output its coverage files + coverageDirectory: 'coverage', + + // An array of regexp pattern strings used to skip coverage collection + // TODO: Test index.ts + // coveragePathIgnorePatterns: ['./packages/index.ts'], + + // Indicates which provider should be used to instrument code for coverage + // XXX: Might have to be 'babel' + coverageProvider: 'v8', + + // A list of reporter names that Jest uses when writing coverage reports + coverageReporters: ['text', 'html'], + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 90, + functions: 96, + lines: 95, + statements: 95, + }, + }, + + // A path to a custom dependency extractor + // dependencyExtractor: undefined, + + // Make calling deprecated APIs throw helpful error messages + // errorOnDeprecated: false, + + // Force coverage collection from ignored files using an array of glob patterns + // forceCoverageMatch: [], + + // A path to a module which exports an async function that is triggered once before all test suites + // globalSetup: undefined, + + // A path to a module which exports an async function that is triggered once after all test suites + // globalTeardown: undefined, + + // A set of global variables that need to be available in all test environments + // globals: {} + + // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers. + // maxWorkers: "50%", + + // An array of directory names to be searched recursively up from the requiring module's location + // moduleDirectories: [ + // "node_modules" + // ], + + // An array of file extensions your modules use + // moduleFileExtensions: [ + // "js", + // "jsx", + // "ts", + // "tsx", + // "json", + // "node" + // ], + + // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module + // NOTE: This must be synchronized with the `paths` option in `tsconfig.packages.json` + moduleNameMapper: { + '^@metamask/(.+)$': '/../$1/src', + }, + + // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader + // modulePathIgnorePatterns: [], + + // Activates notifications for test results + // notify: false, + + // An enum that specifies notification mode. Requires { notify: true } + // notifyMode: "failure-change", + + // A preset that is used as a base for Jest's configuration + preset: 'ts-jest', + + // Run tests from one or more projects + // projects: undefined + + // Use this configuration option to add custom reporters to Jest + // reporters: undefined, + + // "resetMocks" resets all mocks, including mocked modules, to jest.fn(), + // between each test case. + // TODO: Enable + // resetMocks: true, + + // Reset the module registry before running each individual test + // resetModules: false, + + // A path to a custom resolver + // resolver: undefined, + + // "restoreMocks" restores all mocks created using jest.spyOn to their + // original implementations, between each test. It does not affect mocked + // modules. + restoreMocks: true, + + // The root directory that Jest should scan for tests and modules within + // rootDir: undefined, + + // A list of paths to directories that Jest should use to search for files in + // roots: [ + // "" + // ], + + // Allows you to use a custom runner instead of Jest's default test runner + // runner: "jest-runner", + + // The paths to modules that run some code to configure or set up the testing environment before each test + setupFiles: ['../../tests/setupTests.ts'], + + // A list of paths to modules that run some code to configure or set up the testing framework before each test + // setupFilesAfterEnv: [], + + // The number of seconds after which a test is considered as slow and reported as such in the results. + // slowTestThreshold: 5, + + // A list of paths to snapshot serializer modules Jest should use for snapshot testing + // snapshotSerializers: [], + + // The test environment that will be used for testing + testEnvironment: 'jsdom', + + // Options that will be passed to the testEnvironment + // testEnvironmentOptions: {}, + + // Adds a location field to test results + // testLocationInResults: false, + + // The glob patterns Jest uses to detect test files + // testMatch: [ + // "**/__tests__/**/*.[jt]s?(x)", + // "**/?(*.)+(spec|test).[tj]s?(x)" + // ], + + // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped + // testPathIgnorePatterns: [ + // "/node_modules/" + // ], + + // The regexp pattern or array of patterns that Jest uses to detect test files + // testRegex: [], + + // This option allows the use of a custom results processor + // testResultsProcessor: undefined, + + // This option allows use of a custom test runner + // testRunner: "jest-circus/runner", + + // This option sets the URL for the jsdom environment. It is reflected in properties such as location.href + // testURL: "http://localhost", + + // Setting this value to "fake" allows the use of fake timers for functions such as "setTimeout" + // timers: "real", + + // A map from regular expressions to paths to transformers + // transform: undefined, + + // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation + // transformIgnorePatterns: [ + // "/node_modules/", + // "\\.pnp\\.[^\\/]+$" + // ], + + // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them + // unmockedModulePathPatterns: undefined, + + // Indicates whether each individual test should be reported during the run + // verbose: undefined, + + // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode + // watchPathIgnorePatterns: [], + + // Whether to use watchman for file crawling + // watchman: true, +}; + +export default config; diff --git a/jest.config.ts b/jest.config.ts new file mode 100644 index 0000000000..9b90cb7855 --- /dev/null +++ b/jest.config.ts @@ -0,0 +1,10 @@ +import type { Config } from '@jest/types'; + +const config: Config.InitialOptions = { + // Run tests from one or more projects + // This is all we need in this file because each package has its own Jest + // config + projects: ['/packages/*'], +}; + +export default config; diff --git a/package.json b/package.json index a2cadbdad9..258e4c72e5 100644 --- a/package.json +++ b/package.json @@ -1,91 +1,36 @@ { - "name": "@metamask/controllers", - "version": "29.0.1", + "name": "@metamask/controllers-monorepo", + "version": "0.0.0", + "private": true, "description": "Collection of platform-agnostic modules for creating secure data models for cryptocurrency wallets", - "keywords": [ - "MetaMask", - "Ethereum" - ], - "homepage": "https://github.com/MetaMask/controllers#readme", - "bugs": { - "url": "https://github.com/MetaMask/controllers/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/MetaMask/controllers.git" - }, - "license": "MIT", - "main": "./dist/index.js", - "types": "./dist/index.d.ts", - "files": [ - "dist/" + "workspaces": [ + "packages/*" ], "scripts": { - "build": "rimraf dist && tsc --project tsconfig.build.json", - "build:link": "yarn build && cd dist && yarn link && rm -rf node_modules && cd ..", + "// 1": "'pre' commands are not supported by Yarn >= 2", + "// prepublish": "yarn build", + "build": "tsc --build tsconfig.build.json --verbose", + "build:clean": "./scripts/clean-build.sh", "build:watch": "yarn build --watch", "doc": "typedoc && touch docs/.nojekyll", "lint": "yarn lint:eslint && yarn lint:misc --check", "lint:eslint": "eslint . --cache --ext js,ts", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write", "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' --ignore-path .gitignore", - "prepublishOnly": "yarn build", "setup": "yarn install && yarn allow-scripts", "test": "jest", "test:watch": "jest --watch" }, - "dependencies": { - "@ethereumjs/common": "^2.3.1", - "@ethereumjs/tx": "^3.2.1", - "@keystonehq/metamask-airgapped-keyring": "^0.3.0", - "@metamask/contract-metadata": "^1.34.0", - "@metamask/metamask-eth-abis": "3.0.0", - "@metamask/types": "^1.1.0", - "@types/uuid": "^8.3.0", - "abort-controller": "^3.0.0", - "async-mutex": "^0.2.6", - "babel-runtime": "^6.26.0", - "deep-freeze-strict": "^1.1.1", - "eth-ens-namehash": "^2.0.8", - "eth-json-rpc-infura": "^5.1.0", - "eth-keyring-controller": "^7.0.2", - "eth-method-registry": "1.1.0", - "eth-phishing-detect": "^1.1.16", - "eth-query": "^2.1.2", - "eth-rpc-errors": "^4.0.0", - "eth-sig-util": "^3.0.0", - "ethereumjs-util": "^7.0.10", - "ethereumjs-wallet": "^1.0.1", - "ethers": "^5.4.1", - "ethjs-unit": "^0.1.6", - "fast-deep-equal": "^3.1.3", - "immer": "^9.0.6", - "isomorphic-fetch": "^3.0.0", - "json-rpc-engine": "^6.1.0", - "jsonschema": "^1.2.4", - "multiformats": "^9.5.2", - "nanoid": "^3.1.31", - "punycode": "^2.1.1", - "single-call-balance-checker-abi": "^1.0.0", - "uuid": "^8.3.2", - "web3": "^0.20.7", - "web3-provider-engine": "^16.0.3" - }, "devDependencies": { - "@keystonehq/bc-ur-registry-eth": "^0.9.0", + "@jest/types": "^28.1.0", "@lavamoat/allow-scripts": "^2.0.2", "@metamask/auto-changelog": "^2.5.0", "@metamask/eslint-config": "^9.0.0", "@metamask/eslint-config-jest": "^9.0.0", "@metamask/eslint-config-nodejs": "^9.0.0", "@metamask/eslint-config-typescript": "^9.0.1", - "@types/deep-freeze-strict": "^1.1.0", - "@types/jest": "^26.0.22", "@types/jest-when": "^2.7.3", "@types/node": "^14.14.31", - "@types/punycode": "^2.1.0", - "@types/sinon": "^9.0.10", - "@types/web3": "^1.0.6", "@typescript-eslint/eslint-plugin": "^4.33.0", "@typescript-eslint/parser": "^4.33.0", "eslint": "^7.24.0", @@ -96,27 +41,23 @@ "eslint-plugin-jsdoc": "^36.1.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.4.1", - "ethjs-provider-http": "^0.1.6", - "jest": "^26.4.2", - "jest-environment-jsdom": "^25.0.0", - "jest-when": "^3.4.2", - "nock": "^13.0.7", + "jest": "^28.1.0", + "jest-environment-jsdom": "^28.1.0", + "jest-when": "^3.5.1", "prettier": "^2.6.2", "prettier-plugin-packagejson": "^2.2.17", "rimraf": "^3.0.2", - "sinon": "^9.2.4", - "ts-jest": "^26.5.2", + "ts-deepmerge": "^2.0.1", + "ts-jest": "^28.0.2", + "ts-node": "^10.7.0", "typedoc": "^0.22.15", "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, + "packageManager": "yarn@3.2.1", "engines": { "node": ">=12.0.0" }, - "publishConfig": { - "access": "public", - "registry": "https://registry.npmjs.org/" - }, "lavamoat": { "allowScripts": { "@lavamoat/preinstall-always-fail": false, diff --git a/packages/base-controller/CHANGELOG.md b/packages/base-controller/CHANGELOG.md new file mode 100644 index 0000000000..0a480771f2 --- /dev/null +++ b/packages/base-controller/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +This is the changelog for the `@metamask/base-controller` package. It will be filled in and this message will be replaced later. diff --git a/packages/base-controller/README.md b/packages/base-controller/README.md new file mode 100644 index 0000000000..f22cab321c --- /dev/null +++ b/packages/base-controller/README.md @@ -0,0 +1,19 @@ +# `@metamask/base-controller` + +A base controller and related interfaces. + +## Installation + +`yarn add @metamask/base-controller` + +or + +`npm install @metamask/base-controller` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/base-controller/jest.config.ts b/packages/base-controller/jest.config.ts new file mode 100644 index 0000000000..6d1877e186 --- /dev/null +++ b/packages/base-controller/jest.config.ts @@ -0,0 +1,14 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName: 'base-controller', +}); + +export default config; diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json new file mode 100644 index 0000000000..b89bde660b --- /dev/null +++ b/packages/base-controller/package.json @@ -0,0 +1,39 @@ +{ + "name": "@metamask/base-controller", + "version": "0.1.0", + "description": "A base controller and related interfaces", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/base-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "devDependencies": { + "@types/sinon": "^9.0.10", + "sinon": "^9.2.4", + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + }, + "dependencies": { + "immer": "^9.0.6", + "isomorphic-fetch": "^3.0.0" + } +} diff --git a/packages/base-controller/src/BaseController.test.ts b/packages/base-controller/src/BaseController.test.ts new file mode 100644 index 0000000000..5f488227bf --- /dev/null +++ b/packages/base-controller/src/BaseController.test.ts @@ -0,0 +1,72 @@ +import sinon from 'sinon'; +import { BaseController, BaseConfig, BaseState } from '.'; + +const STATE = { name: 'foo' }; +const CONFIG = { disabled: true }; + +class TestController extends BaseController { + constructor(config?: BaseConfig, state?: BaseState) { + super(config, state); + this.initialize(); + } +} + +describe('BaseController', () => { + afterEach(() => { + sinon.restore(); + }); + + it('should set initial state', () => { + const controller = new TestController(undefined, STATE); + expect(controller.state).toStrictEqual(STATE); + }); + + it('should set initial config', () => { + const controller = new TestController(CONFIG); + expect(controller.config).toStrictEqual(CONFIG); + }); + + it('should overwrite state', () => { + const controller = new TestController(); + expect(controller.state).toStrictEqual({}); + controller.update(STATE, true); + expect(controller.state).toStrictEqual(STATE); + }); + + it('should overwrite config', () => { + const controller = new TestController(); + expect(controller.config).toStrictEqual({}); + controller.configure(CONFIG, true); + expect(controller.config).toStrictEqual(CONFIG); + }); + + it('should be able to partially update the config', () => { + const controller = new TestController(CONFIG); + expect(controller.config).toStrictEqual(CONFIG); + controller.configure({ disabled: false }, false, false); + expect(controller.config).toStrictEqual({ disabled: false }); + }); + + it('should notify all listeners', () => { + const controller = new TestController(undefined, STATE); + const listenerOne = sinon.stub(); + const listenerTwo = sinon.stub(); + controller.subscribe(listenerOne); + controller.subscribe(listenerTwo); + controller.notify(); + expect(listenerOne.calledOnce).toBe(true); + expect(listenerTwo.calledOnce).toBe(true); + expect(listenerOne.getCall(0).args[0]).toStrictEqual(STATE); + expect(listenerTwo.getCall(0).args[0]).toStrictEqual(STATE); + }); + + it('should not notify unsubscribed listeners', () => { + const controller = new TestController(); + const listener = sinon.stub(); + controller.subscribe(listener); + controller.unsubscribe(listener); + controller.unsubscribe(() => null); + controller.notify(); + expect(listener.called).toBe(false); + }); +}); diff --git a/packages/base-controller/src/BaseController.ts b/packages/base-controller/src/BaseController.ts new file mode 100644 index 0000000000..f17c4e0b45 --- /dev/null +++ b/packages/base-controller/src/BaseController.ts @@ -0,0 +1,183 @@ +/** + * State change callbacks + */ +export type Listener = (state: T) => void; + +/** + * @type BaseConfig + * + * Base controller configuration + * @property disabled - Determines if this controller is enabled + */ +export interface BaseConfig { + disabled?: boolean; +} + +/** + * @type BaseState + * + * Base state representation + * @property name - Unique name for this controller + */ +export interface BaseState { + name?: string; +} + +/** + * Controller class that provides configuration, state management, and subscriptions + */ +export class BaseController { + /** + * Default options used to configure this controller + */ + defaultConfig: C = {} as C; + + /** + * Default state set on this controller + */ + defaultState: S = {} as S; + + /** + * Determines if listeners are notified of state changes + */ + disabled = false; + + /** + * Name of this controller used during composition + */ + name = 'BaseController'; + + private readonly initialConfig: C; + + private readonly initialState: S; + + private internalConfig: C = this.defaultConfig; + + private internalState: S = this.defaultState; + + private internalListeners: Listener[] = []; + + /** + * Creates a BaseController instance. Both initial state and initial + * configuration options are merged with defaults upon initialization. + * + * @param config - Initial options used to configure this controller. + * @param state - Initial state to set on this controller. + */ + constructor(config: Partial = {} as C, state: Partial = {} as S) { + // Use assign since generics can't be spread: https://git.io/vpRhY + this.initialState = state as S; + this.initialConfig = config as C; + } + + /** + * Enables the controller. This sets each config option as a member + * variable on this instance and triggers any defined setters. This + * also sets initial state and triggers any listeners. + * + * @returns This controller instance. + */ + protected initialize() { + this.internalState = this.defaultState; + this.internalConfig = this.defaultConfig; + this.configure(this.initialConfig); + this.update(this.initialState); + return this; + } + + /** + * Retrieves current controller configuration options. + * + * @returns The current configuration. + */ + get config() { + return this.internalConfig; + } + + /** + * Retrieves current controller state. + * + * @returns The current state. + */ + get state() { + return this.internalState; + } + + /** + * Updates controller configuration. + * + * @param config - New configuration options. + * @param overwrite - Overwrite config instead of merging. + * @param fullUpdate - Boolean that defines if the update is partial or not. + */ + configure(config: Partial, overwrite = false, fullUpdate = true) { + if (fullUpdate) { + this.internalConfig = overwrite + ? (config as C) + : Object.assign(this.internalConfig, config); + + for (const key in this.internalConfig) { + if (typeof this.internalConfig[key] !== 'undefined') { + (this as any)[key as string] = this.internalConfig[key]; + } + } + } else { + for (const key in config) { + /* istanbul ignore else */ + if (typeof this.internalConfig[key] !== 'undefined') { + this.internalConfig[key] = config[key] as any; + (this as any)[key as string] = config[key]; + } + } + } + } + + /** + * Notifies all subscribed listeners of current state. + */ + notify() { + if (this.disabled) { + return; + } + + this.internalListeners.forEach((listener) => { + listener(this.internalState); + }); + } + + /** + * Adds new listener to be notified of state changes. + * + * @param listener - The callback triggered when state changes. + */ + subscribe(listener: Listener) { + this.internalListeners.push(listener); + } + + /** + * Removes existing listener from receiving state changes. + * + * @param listener - The callback to remove. + * @returns `true` if a listener is found and unsubscribed. + */ + unsubscribe(listener: Listener) { + const index = this.internalListeners.findIndex((cb) => listener === cb); + index > -1 && this.internalListeners.splice(index, 1); + return index > -1; + } + + /** + * Updates controller state. + * + * @param state - The new state. + * @param overwrite - Overwrite state instead of merging. + */ + update(state: Partial, overwrite = false) { + this.internalState = overwrite + ? Object.assign({}, state as S) + : Object.assign({}, this.internalState, state); + this.notify(); + } +} + +export default BaseController; diff --git a/packages/base-controller/src/BaseControllerV2.test.ts b/packages/base-controller/src/BaseControllerV2.test.ts new file mode 100644 index 0000000000..c75c3cdc03 --- /dev/null +++ b/packages/base-controller/src/BaseControllerV2.test.ts @@ -0,0 +1,801 @@ +import type { Draft, Patch } from 'immer'; +import sinon from 'sinon'; + +import { + ControllerMessenger, + RestrictedControllerMessenger, +} from './ControllerMessenger'; +import { BaseControllerV2, getAnonymizedState, getPersistentState } from '.'; + +const countControllerName = 'CountController'; + +type CountControllerState = { + count: number; +}; +type CountControllerAction = { + type: `${typeof countControllerName}:getState`; + handler: () => CountControllerState; +}; + +type CountControllerEvent = { + type: `${typeof countControllerName}:stateChange`; + payload: [CountControllerState, Patch[]]; +}; + +const countControllerStateMetadata = { + count: { + persist: true, + anonymous: true, + }, +}; + +type CountMessenger = RestrictedControllerMessenger< + typeof countControllerName, + CountControllerAction, + CountControllerEvent, + never, + never +>; + +/** + * Constructs a restricted controller messenger for the Count controller. + * + * @param controllerMessenger - The controller messenger. + * @returns A restricted controller messenger for the Count controller. + */ +function getCountMessenger( + controllerMessenger?: ControllerMessenger< + CountControllerAction, + CountControllerEvent + >, +): CountMessenger { + if (!controllerMessenger) { + controllerMessenger = new ControllerMessenger< + CountControllerAction, + CountControllerEvent + >(); + } + return controllerMessenger.getRestricted<'CountController', never, never>({ + name: countControllerName, + }); +} + +class CountController extends BaseControllerV2< + typeof countControllerName, + CountControllerState, + CountMessenger +> { + update( + callback: ( + state: Draft, + ) => void | CountControllerState, + ) { + super.update(callback); + } + + destroy() { + super.destroy(); + } +} + +describe('BaseController', () => { + afterEach(() => { + sinon.restore(); + }); + + it('should set initial state', () => { + const controller = new CountController({ + messenger: getCountMessenger(), + name: countControllerName, + state: { count: 0 }, + metadata: countControllerStateMetadata, + }); + + expect(controller.state).toStrictEqual({ count: 0 }); + }); + + it('should allow getting state via the getState action', () => { + const controllerMessenger = new ControllerMessenger< + CountControllerAction, + CountControllerEvent + >(); + new CountController({ + messenger: getCountMessenger(controllerMessenger), + name: countControllerName, + state: { count: 0 }, + metadata: countControllerStateMetadata, + }); + + expect(controllerMessenger.call('CountController:getState')).toStrictEqual({ + count: 0, + }); + }); + + it('should set initial schema', () => { + const controller = new CountController({ + messenger: getCountMessenger(), + name: 'CountController', + state: { count: 0 }, + metadata: countControllerStateMetadata, + }); + + expect(controller.metadata).toStrictEqual(countControllerStateMetadata); + }); + + it('should not allow mutating state directly', () => { + const controller = new CountController({ + messenger: getCountMessenger(), + name: 'CountController', + state: { count: 0 }, + metadata: countControllerStateMetadata, + }); + + expect(() => { + controller.state = { count: 1 }; + }).toThrow( + "Controller state cannot be directly mutated; use 'update' method instead.", + ); + }); + + it('should allow updating state by modifying draft', () => { + const controller = new CountController({ + messenger: getCountMessenger(), + name: 'CountController', + state: { count: 0 }, + metadata: countControllerStateMetadata, + }); + + controller.update((draft) => { + draft.count += 1; + }); + + expect(controller.state).toStrictEqual({ count: 1 }); + }); + + it('should allow updating state by return a value', () => { + const controller = new CountController({ + messenger: getCountMessenger(), + name: 'CountController', + state: { count: 0 }, + metadata: countControllerStateMetadata, + }); + + controller.update(() => { + return { count: 1 }; + }); + + expect(controller.state).toStrictEqual({ count: 1 }); + }); + + it('should throw an error if update callback modifies draft and returns value', () => { + const controller = new CountController({ + messenger: getCountMessenger(), + name: 'CountController', + state: { count: 0 }, + metadata: countControllerStateMetadata, + }); + + expect(() => { + controller.update((draft) => { + draft.count += 1; + return { count: 10 }; + }); + }).toThrow( + '[Immer] An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.', + ); + }); + + it('should inform subscribers of state changes', () => { + const controllerMessenger = new ControllerMessenger< + never, + CountControllerEvent + >(); + const controller = new CountController({ + messenger: getCountMessenger(controllerMessenger), + name: 'CountController', + state: { count: 0 }, + metadata: countControllerStateMetadata, + }); + const listener1 = sinon.stub(); + const listener2 = sinon.stub(); + + controllerMessenger.subscribe('CountController:stateChange', listener1); + controllerMessenger.subscribe('CountController:stateChange', listener2); + controller.update(() => { + return { count: 1 }; + }); + + expect(listener1.callCount).toStrictEqual(1); + expect(listener1.firstCall.args).toStrictEqual([ + { count: 1 }, + [{ op: 'replace', path: [], value: { count: 1 } }], + ]); + expect(listener2.callCount).toStrictEqual(1); + expect(listener2.firstCall.args).toStrictEqual([ + { count: 1 }, + [{ op: 'replace', path: [], value: { count: 1 } }], + ]); + }); + + it('should inform a subscriber of each state change once even after multiple subscriptions', () => { + const controllerMessenger = new ControllerMessenger< + never, + CountControllerEvent + >(); + const controller = new CountController({ + messenger: getCountMessenger(controllerMessenger), + name: 'CountController', + state: { count: 0 }, + metadata: countControllerStateMetadata, + }); + const listener1 = sinon.stub(); + + controllerMessenger.subscribe('CountController:stateChange', listener1); + controllerMessenger.subscribe('CountController:stateChange', listener1); + + controller.update(() => { + return { count: 1 }; + }); + + expect(listener1.callCount).toStrictEqual(1); + expect(listener1.firstCall.args).toStrictEqual([ + { count: 1 }, + [{ op: 'replace', path: [], value: { count: 1 } }], + ]); + }); + + it('should no longer inform a subscriber about state changes after unsubscribing', () => { + const controllerMessenger = new ControllerMessenger< + never, + CountControllerEvent + >(); + const controller = new CountController({ + messenger: getCountMessenger(controllerMessenger), + name: 'CountController', + state: { count: 0 }, + metadata: countControllerStateMetadata, + }); + const listener1 = sinon.stub(); + + controllerMessenger.subscribe('CountController:stateChange', listener1); + controllerMessenger.unsubscribe('CountController:stateChange', listener1); + controller.update(() => { + return { count: 1 }; + }); + + expect(listener1.callCount).toStrictEqual(0); + }); + + it('should no longer inform a subscriber about state changes after unsubscribing once, even if they subscribed many times', () => { + const controllerMessenger = new ControllerMessenger< + never, + CountControllerEvent + >(); + const controller = new CountController({ + messenger: getCountMessenger(controllerMessenger), + name: 'CountController', + state: { count: 0 }, + metadata: countControllerStateMetadata, + }); + const listener1 = sinon.stub(); + + controllerMessenger.subscribe('CountController:stateChange', listener1); + controllerMessenger.subscribe('CountController:stateChange', listener1); + controllerMessenger.unsubscribe('CountController:stateChange', listener1); + controller.update(() => { + return { count: 1 }; + }); + + expect(listener1.callCount).toStrictEqual(0); + }); + + it('should throw when unsubscribing listener who was never subscribed', () => { + const controllerMessenger = new ControllerMessenger< + never, + CountControllerEvent + >(); + new CountController({ + messenger: getCountMessenger(controllerMessenger), + name: 'CountController', + state: { count: 0 }, + metadata: countControllerStateMetadata, + }); + const listener1 = sinon.stub(); + + expect(() => { + controllerMessenger.unsubscribe('CountController:stateChange', listener1); + }).toThrow('Subscription not found for event: CountController:stateChange'); + }); + + it('should no longer update subscribers after being destroyed', () => { + const controllerMessenger = new ControllerMessenger< + never, + CountControllerEvent + >(); + const controller = new CountController({ + messenger: getCountMessenger(controllerMessenger), + name: 'CountController', + state: { count: 0 }, + metadata: countControllerStateMetadata, + }); + const listener1 = sinon.stub(); + const listener2 = sinon.stub(); + + controllerMessenger.subscribe('CountController:stateChange', listener1); + controllerMessenger.subscribe('CountController:stateChange', listener2); + controller.destroy(); + controller.update(() => { + return { count: 1 }; + }); + + expect(listener1.callCount).toStrictEqual(0); + expect(listener2.callCount).toStrictEqual(0); + }); +}); + +describe('getAnonymizedState', () => { + it('should return empty state', () => { + expect(getAnonymizedState({}, {})).toStrictEqual({}); + }); + + it('should return empty state when no properties are anonymized', () => { + const anonymizedState = getAnonymizedState( + { count: 1 }, + { count: { anonymous: false, persist: false } }, + ); + expect(anonymizedState).toStrictEqual({}); + }); + + it('should return state that is already anonymized', () => { + const anonymizedState = getAnonymizedState( + { + password: 'secret password', + privateKey: '123', + network: 'mainnet', + tokens: ['DAI', 'USDC'], + }, + { + password: { + anonymous: false, + persist: false, + }, + privateKey: { + anonymous: false, + persist: false, + }, + network: { + anonymous: true, + persist: false, + }, + tokens: { + anonymous: true, + persist: false, + }, + }, + ); + expect(anonymizedState).toStrictEqual({ + network: 'mainnet', + tokens: ['DAI', 'USDC'], + }); + }); + + it('should use anonymizing function to anonymize state', () => { + const anonymizeTransactionHash = (hash: string) => { + return hash.split('').reverse().join(''); + }; + + const anonymizedState = getAnonymizedState( + { + transactionHash: '0x1234', + }, + { + transactionHash: { + anonymous: anonymizeTransactionHash, + persist: false, + }, + }, + ); + + expect(anonymizedState).toStrictEqual({ transactionHash: '4321x0' }); + }); + + it('should allow returning a partial object from an anonymizing function', () => { + const anonymizeTxMeta = (txMeta: { hash: string; value: number }) => { + return { value: txMeta.value }; + }; + + const anonymizedState = getAnonymizedState( + { + txMeta: { + hash: '0x123', + value: 10, + }, + }, + { + txMeta: { + anonymous: anonymizeTxMeta, + persist: false, + }, + }, + ); + + expect(anonymizedState).toStrictEqual({ txMeta: { value: 10 } }); + }); + + it('should allow returning a nested partial object from an anonymizing function', () => { + const anonymizeTxMeta = (txMeta: { + hash: string; + value: number; + history: { hash: string; value: number }[]; + }) => { + return { + history: txMeta.history.map((entry) => { + return { value: entry.value }; + }), + value: txMeta.value, + }; + }; + + const anonymizedState = getAnonymizedState( + { + txMeta: { + hash: '0x123', + history: [ + { + hash: '0x123', + value: 9, + }, + ], + value: 10, + }, + }, + { + txMeta: { + anonymous: anonymizeTxMeta, + persist: false, + }, + }, + ); + + expect(anonymizedState).toStrictEqual({ + txMeta: { history: [{ value: 9 }], value: 10 }, + }); + }); + + it('should allow transforming types in an anonymizing function', () => { + const anonymizedState = getAnonymizedState( + { + count: '1', + }, + { + count: { + anonymous: (count) => Number(count), + persist: false, + }, + }, + ); + + expect(anonymizedState).toStrictEqual({ count: 1 }); + }); +}); + +describe('getPersistentState', () => { + it('should return empty state', () => { + expect(getPersistentState({}, {})).toStrictEqual({}); + }); + + it('should return empty state when no properties are persistent', () => { + const persistentState = getPersistentState( + { count: 1 }, + { count: { anonymous: false, persist: false } }, + ); + expect(persistentState).toStrictEqual({}); + }); + + it('should return persistent state', () => { + const persistentState = getPersistentState( + { + password: 'secret password', + privateKey: '123', + network: 'mainnet', + tokens: ['DAI', 'USDC'], + }, + { + password: { + anonymous: false, + persist: true, + }, + privateKey: { + anonymous: false, + persist: true, + }, + network: { + anonymous: false, + persist: false, + }, + tokens: { + anonymous: false, + persist: false, + }, + }, + ); + expect(persistentState).toStrictEqual({ + password: 'secret password', + privateKey: '123', + }); + }); + + it('should use function to derive persistent state', () => { + const normalizeTransacitonHash = (hash: string) => { + return hash.toLowerCase(); + }; + + const persistentState = getPersistentState( + { + transactionHash: '0X1234', + }, + { + transactionHash: { + anonymous: false, + persist: normalizeTransacitonHash, + }, + }, + ); + + expect(persistentState).toStrictEqual({ transactionHash: '0x1234' }); + }); + + it('should allow returning a partial object from a persist function', () => { + const getPersistentTxMeta = (txMeta: { hash: string; value: number }) => { + return { value: txMeta.value }; + }; + + const persistentState = getPersistentState( + { + txMeta: { + hash: '0x123', + value: 10, + }, + }, + { + txMeta: { + anonymous: false, + persist: getPersistentTxMeta, + }, + }, + ); + + expect(persistentState).toStrictEqual({ txMeta: { value: 10 } }); + }); + + it('should allow returning a nested partial object from a persist function', () => { + const getPersistentTxMeta = (txMeta: { + hash: string; + value: number; + history: { hash: string; value: number }[]; + }) => { + return { + history: txMeta.history.map((entry) => { + return { value: entry.value }; + }), + value: txMeta.value, + }; + }; + + const persistentState = getPersistentState( + { + txMeta: { + hash: '0x123', + history: [ + { + hash: '0x123', + value: 9, + }, + ], + value: 10, + }, + }, + { + txMeta: { + anonymous: false, + persist: getPersistentTxMeta, + }, + }, + ); + + expect(persistentState).toStrictEqual({ + txMeta: { history: [{ value: 9 }], value: 10 }, + }); + }); + + it('should allow transforming types in a persist function', () => { + const persistentState = getPersistentState( + { + count: '1', + }, + { + count: { + anonymous: false, + persist: (count) => Number(count), + }, + }, + ); + + expect(persistentState).toStrictEqual({ count: 1 }); + }); + + describe('inter-controller communication', () => { + // These two contrived mock controllers are setup to test with. + // The 'VisitorController' records strings that represent visitors. + // The 'VisitorOverflowController' monitors the 'VisitorController' to ensure the number of + // visitors doesn't exceed the maximum capacity. If it does, it will clear out all visitors. + + const visitorName = 'VisitorController'; + + type VisitorControllerState = { + visitors: string[]; + }; + type VisitorControllerAction = { + type: `${typeof visitorName}:clear`; + handler: () => void; + }; + type VisitorControllerEvent = { + type: `${typeof visitorName}:stateChange`; + payload: [VisitorControllerState, Patch[]]; + }; + + const visitorControllerStateMetadata = { + visitors: { + persist: true, + anonymous: true, + }, + }; + + type VisitorMessenger = RestrictedControllerMessenger< + typeof visitorName, + VisitorControllerAction | VisitorOverflowControllerAction, + VisitorControllerEvent | VisitorOverflowControllerEvent, + never, + never + >; + class VisitorController extends BaseControllerV2< + typeof visitorName, + VisitorControllerState, + VisitorMessenger + > { + constructor(messagingSystem: VisitorMessenger) { + super({ + messenger: messagingSystem, + metadata: visitorControllerStateMetadata, + name: visitorName, + state: { visitors: [] }, + }); + + messagingSystem.registerActionHandler( + 'VisitorController:clear', + this.clear, + ); + } + + clear = () => { + this.update(() => { + return { visitors: [] }; + }); + }; + + addVisitor(visitor: string) { + this.update(({ visitors }) => { + return { visitors: [...visitors, visitor] }; + }); + } + + destroy() { + super.destroy(); + } + } + + const visitorOverflowName = 'VisitorOverflowController'; + + type VisitorOverflowControllerState = { + maxVisitors: number; + }; + type VisitorOverflowControllerAction = { + type: `${typeof visitorOverflowName}:updateMax`; + handler: (max: number) => void; + }; + type VisitorOverflowControllerEvent = { + type: `${typeof visitorOverflowName}:stateChange`; + payload: [VisitorOverflowControllerState, Patch[]]; + }; + + const visitorOverflowControllerMetadata = { + maxVisitors: { + persist: false, + anonymous: true, + }, + }; + + type VisitorOverflowMessenger = RestrictedControllerMessenger< + typeof visitorOverflowName, + VisitorControllerAction | VisitorOverflowControllerAction, + VisitorControllerEvent | VisitorOverflowControllerEvent, + `${typeof visitorName}:clear`, + `${typeof visitorName}:stateChange` + >; + + class VisitorOverflowController extends BaseControllerV2< + typeof visitorOverflowName, + VisitorOverflowControllerState, + VisitorOverflowMessenger + > { + constructor(messagingSystem: VisitorOverflowMessenger) { + super({ + messenger: messagingSystem, + metadata: visitorOverflowControllerMetadata, + name: visitorOverflowName, + state: { maxVisitors: 5 }, + }); + + messagingSystem.registerActionHandler( + 'VisitorOverflowController:updateMax', + this.updateMax, + ); + + messagingSystem.subscribe( + 'VisitorController:stateChange', + this.onVisit, + ); + } + + onVisit = ({ visitors }: VisitorControllerState) => { + if (visitors.length > this.state.maxVisitors) { + this.messagingSystem.call('VisitorController:clear'); + } + }; + + updateMax = (max: number) => { + this.update(() => { + return { maxVisitors: max }; + }); + }; + + destroy() { + super.destroy(); + } + } + + it('should allow messaging between controllers', () => { + const controllerMessenger = new ControllerMessenger< + VisitorControllerAction | VisitorOverflowControllerAction, + VisitorControllerEvent | VisitorOverflowControllerEvent + >(); + const visitorControllerMessenger = controllerMessenger.getRestricted< + typeof visitorName, + never, + never + >({ + name: visitorName, + }); + const visitorController = new VisitorController( + visitorControllerMessenger, + ); + const visitorOverflowControllerMessenger = + controllerMessenger.getRestricted({ + name: visitorOverflowName, + allowedActions: ['VisitorController:clear'], + allowedEvents: ['VisitorController:stateChange'], + }); + const visitorOverflowController = new VisitorOverflowController( + visitorOverflowControllerMessenger, + ); + + controllerMessenger.call('VisitorOverflowController:updateMax', 2); + visitorController.addVisitor('A'); + visitorController.addVisitor('B'); + visitorController.addVisitor('C'); // this should trigger an overflow + + expect(visitorOverflowController.state.maxVisitors).toStrictEqual(2); + expect(visitorController.state.visitors).toHaveLength(0); + }); + }); +}); diff --git a/packages/base-controller/src/BaseControllerV2.ts b/packages/base-controller/src/BaseControllerV2.ts new file mode 100644 index 0000000000..3ec72970b1 --- /dev/null +++ b/packages/base-controller/src/BaseControllerV2.ts @@ -0,0 +1,248 @@ +import { enablePatches, produceWithPatches } from 'immer'; + +// Imported separately because only the type is used +// eslint-disable-next-line no-duplicate-imports +import type { Draft, Patch } from 'immer'; + +import type { + RestrictedControllerMessenger, + Namespaced, +} from './ControllerMessenger'; + +enablePatches(); + +/** + * A state change listener. + * + * This function will get called for each state change, and is given a copy of + * the new state along with a set of patches describing the changes since the + * last update. + * + * @param state - The new controller state. + * @param patches - A list of patches describing any changes (see here for more + * information: https://immerjs.github.io/immer/docs/patches) + */ +export type Listener = (state: T, patches: Patch[]) => void; + +/** + * An function to derive state. + * + * This function will accept one piece of the controller state (one property), + * and will return some derivation of that state. + * + * @param value - A piece of controller state. + * @returns Something derived from controller state. + */ +export type StateDeriver = (value: T) => Json; + +/** + * State metadata. + * + * This metadata describes which parts of state should be persisted, and how to + * get an anonymized representation of the state. + */ +export type StateMetadata> = { + [P in keyof T]: StatePropertyMetadata; +}; + +/** + * Metadata for a single state property + * + * @property persist - Indicates whether this property should be persisted + * (`true` for persistent, `false` for transient), or is set to a function + * that derives the persistent state from the state. + * @property anonymous - Indicates whether this property is already anonymous, + * (`true` for anonymous, `false` if it has potential to be personally + * identifiable), or is set to a function that returns an anonymized + * representation of this state. + */ +export interface StatePropertyMetadata { + persist: boolean | StateDeriver; + anonymous: boolean | StateDeriver; +} + +export type Json = + | null + | boolean + | number + | string + | Json[] + | { [prop: string]: Json }; + +/** + * Controller class that provides state management, subscriptions, and state metadata + */ +export class BaseController< + N extends string, + S extends Record, + messenger extends RestrictedControllerMessenger, +> { + private internalState: S; + + protected messagingSystem: messenger; + + /** + * The name of the controller. + * + * This is used by the ComposableController to construct a composed application state. + */ + public readonly name: N; + + public readonly metadata: StateMetadata; + + /** + * The existence of the `subscribe` property is how the ComposableController detects whether a + * controller extends the old BaseController or the new one. We set it to `undefined` here to + * ensure the ComposableController never mistakes them for an older style controller. + */ + public readonly subscribe: undefined; + + /** + * Creates a BaseController instance. + * + * @param options - Controller options. + * @param options.messenger - Controller messaging system. + * @param options.metadata - State metadata, describing how to "anonymize" the state, and which + * parts should be persisted. + * @param options.name - The name of the controller, used as a namespace for events and actions. + * @param options.state - Initial controller state. + */ + constructor({ + messenger, + metadata, + name, + state, + }: { + messenger: messenger; + metadata: StateMetadata; + name: N; + state: S; + }) { + this.messagingSystem = messenger; + this.name = name; + this.internalState = state; + this.metadata = metadata; + + this.messagingSystem.registerActionHandler( + `${name}:getState`, + () => this.state, + ); + } + + /** + * Retrieves current controller state. + * + * @returns The current state. + */ + get state() { + return this.internalState; + } + + set state(_) { + throw new Error( + `Controller state cannot be directly mutated; use 'update' method instead.`, + ); + } + + /** + * Updates controller state. Accepts a callback that is passed a draft copy + * of the controller state. If a value is returned, it is set as the new + * state. Otherwise, any changes made within that callback to the draft are + * applied to the controller state. + * + * @param callback - Callback for updating state, passed a draft state + * object. Return a new state object or mutate the draft to update state. + */ + protected update(callback: (state: Draft) => void | S) { + // We run into ts2589, "infinite type depth", if we don't cast + // produceWithPatches here. + // The final, omitted member of the returned tuple are the inverse patches. + const [nextState, patches] = ( + produceWithPatches as unknown as ( + state: S, + cb: typeof callback, + ) => [S, Patch[], Patch[]] + )(this.internalState, callback); + + this.internalState = nextState; + this.messagingSystem.publish( + `${this.name}:stateChange` as Namespaced, + nextState, + patches, + ); + } + + /** + * Prepares the controller for garbage collection. This should be extended + * by any subclasses to clean up any additional connections or events. + * + * The only cleanup performed here is to remove listeners. While technically + * this is not required to ensure this instance is garbage collected, it at + * least ensures this instance won't be responsible for preventing the + * listeners from being garbage collected. + */ + protected destroy() { + this.messagingSystem.clearEventSubscriptions( + `${this.name}:stateChange` as Namespaced, + ); + } +} + +/** + * Returns an anonymized representation of the controller state. + * + * By "anonymized" we mean that it should not contain any information that could be personally + * identifiable. + * + * @param state - The controller state. + * @param metadata - The controller state metadata, which describes how to derive the + * anonymized state. + * @returns The anonymized controller state. + */ +export function getAnonymizedState>( + state: S, + metadata: StateMetadata, +): Record { + return deriveStateFromMetadata(state, metadata, 'anonymous'); +} + +/** + * Returns the subset of state that should be persisted. + * + * @param state - The controller state. + * @param metadata - The controller state metadata, which describes which pieces of state should be persisted. + * @returns The subset of controller state that should be persisted. + */ +export function getPersistentState>( + state: S, + metadata: StateMetadata, +): Record { + return deriveStateFromMetadata(state, metadata, 'persist'); +} + +/** + * Use the metadata to derive state according to the given metadata property. + * + * @param state - The full controller state. + * @param metadata - The controller metadata. + * @param metadataProperty - The metadata property to use to derive state. + * @returns The metadata-derived controller state. + */ +function deriveStateFromMetadata>( + state: S, + metadata: StateMetadata, + metadataProperty: 'anonymous' | 'persist', +): Record { + return Object.keys(state).reduce((persistedState, key) => { + const propertyMetadata = metadata[key as keyof S][metadataProperty]; + const stateProperty = state[key]; + if (typeof propertyMetadata === 'function') { + persistedState[key as string] = propertyMetadata( + stateProperty as S[keyof S], + ); + } else if (propertyMetadata) { + persistedState[key as string] = stateProperty; + } + return persistedState; + }, {} as Record); +} diff --git a/packages/base-controller/src/ControllerMessenger.test.ts b/packages/base-controller/src/ControllerMessenger.test.ts new file mode 100644 index 0000000000..9174434c64 --- /dev/null +++ b/packages/base-controller/src/ControllerMessenger.test.ts @@ -0,0 +1,1099 @@ +import type { Patch } from 'immer'; +import sinon from 'sinon'; + +import { ControllerMessenger } from '.'; + +describe('ControllerMessenger', () => { + afterEach(() => { + sinon.restore(); + }); + + it('should allow registering and calling an action handler', () => { + type CountAction = { type: 'count'; handler: (increment: number) => void }; + const controllerMessenger = new ControllerMessenger(); + + let count = 0; + controllerMessenger.registerActionHandler('count', (increment: number) => { + count += increment; + }); + controllerMessenger.call('count', 1); + + expect(count).toStrictEqual(1); + }); + + it('should allow registering and calling multiple different action handlers', () => { + // These 'Other' types are included to demonstrate that controller messenger + // generics can indeed be unions of actions and events from different + // controllers. + type GetOtherState = { + type: `OtherController:getState`; + handler: () => { stuff: string }; + }; + + type OtherStateChange = { + type: `OtherController:stateChange`; + payload: [{ stuff: string }, Patch[]]; + }; + + type MessageAction = + | { type: 'concat'; handler: (message: string) => void } + | { type: 'reset'; handler: (initialMessage: string) => void }; + const controllerMessenger = new ControllerMessenger< + MessageAction | GetOtherState, + OtherStateChange + >(); + + let message = ''; + controllerMessenger.registerActionHandler( + 'reset', + (initialMessage: string) => { + message = initialMessage; + }, + ); + + controllerMessenger.registerActionHandler('concat', (s: string) => { + message += s; + }); + + controllerMessenger.call('reset', 'hello'); + controllerMessenger.call('concat', ', world'); + + expect(message).toStrictEqual('hello, world'); + }); + + it('should allow registering and calling an action handler with no parameters', () => { + type IncrementAction = { type: 'increment'; handler: () => void }; + const controllerMessenger = new ControllerMessenger< + IncrementAction, + never + >(); + + let count = 0; + controllerMessenger.registerActionHandler('increment', () => { + count += 1; + }); + controllerMessenger.call('increment'); + + expect(count).toStrictEqual(1); + }); + + it('should allow registering and calling an action handler with multiple parameters', () => { + type MessageAction = { + type: 'message'; + handler: (to: string, message: string) => void; + }; + const controllerMessenger = new ControllerMessenger(); + + const messages: Record = {}; + controllerMessenger.registerActionHandler('message', (to, message) => { + messages[to] = message; + }); + controllerMessenger.call('message', '0x123', 'hello'); + + expect(messages['0x123']).toStrictEqual('hello'); + }); + + it('should allow registering and calling an action handler with a return value', () => { + type AddAction = { type: 'add'; handler: (a: number, b: number) => number }; + const controllerMessenger = new ControllerMessenger(); + + controllerMessenger.registerActionHandler('add', (a, b) => { + return a + b; + }); + const result = controllerMessenger.call('add', 5, 10); + + expect(result).toStrictEqual(15); + }); + + it('should not allow registering multiple action handlers under the same name', () => { + type PingAction = { type: 'ping'; handler: () => void }; + const controllerMessenger = new ControllerMessenger(); + + controllerMessenger.registerActionHandler('ping', () => undefined); + + expect(() => { + controllerMessenger.registerActionHandler('ping', () => undefined); + }).toThrow('A handler for ping has already been registered'); + }); + + it('should throw when calling unregistered action', () => { + type PingAction = { type: 'ping'; handler: () => void }; + const controllerMessenger = new ControllerMessenger(); + + expect(() => { + controllerMessenger.call('ping'); + }).toThrow('A handler for ping has not been registered'); + }); + + it('should throw when calling an action that has been unregistered', () => { + type PingAction = { type: 'ping'; handler: () => void }; + const controllerMessenger = new ControllerMessenger(); + + expect(() => { + controllerMessenger.call('ping'); + }).toThrow('A handler for ping has not been registered'); + + let pingCount = 0; + controllerMessenger.registerActionHandler('ping', () => { + pingCount += 1; + }); + + controllerMessenger.unregisterActionHandler('ping'); + + expect(() => { + controllerMessenger.call('ping'); + }).toThrow('A handler for ping has not been registered'); + expect(pingCount).toStrictEqual(0); + }); + + it('should throw when calling an action after actions have been reset', () => { + type PingAction = { type: 'ping'; handler: () => void }; + const controllerMessenger = new ControllerMessenger(); + + expect(() => { + controllerMessenger.call('ping'); + }).toThrow('A handler for ping has not been registered'); + + let pingCount = 0; + controllerMessenger.registerActionHandler('ping', () => { + pingCount += 1; + }); + + controllerMessenger.clearActions(); + + expect(() => { + controllerMessenger.call('ping'); + }).toThrow('A handler for ping has not been registered'); + expect(pingCount).toStrictEqual(0); + }); + + it('should publish event to subscriber', () => { + type MessageEvent = { type: 'message'; payload: [string] }; + const controllerMessenger = new ControllerMessenger(); + + const handler = sinon.stub(); + controllerMessenger.subscribe('message', handler); + controllerMessenger.publish('message', 'hello'); + + expect(handler.calledWithExactly('hello')).toStrictEqual(true); + expect(handler.callCount).toStrictEqual(1); + }); + + it('should allow publishing multiple different events to subscriber', () => { + type MessageEvent = + | { type: 'message'; payload: [string] } + | { type: 'ping'; payload: [] }; + const controllerMessenger = new ControllerMessenger(); + + const messageHandler = sinon.stub(); + const pingHandler = sinon.stub(); + controllerMessenger.subscribe('message', messageHandler); + controllerMessenger.subscribe('ping', pingHandler); + + controllerMessenger.publish('message', 'hello'); + controllerMessenger.publish('ping'); + + expect(messageHandler.calledWithExactly('hello')).toStrictEqual(true); + expect(messageHandler.callCount).toStrictEqual(1); + expect(pingHandler.calledWithExactly()).toStrictEqual(true); + expect(pingHandler.callCount).toStrictEqual(1); + }); + + it('should publish event with no payload to subscriber', () => { + type PingEvent = { type: 'ping'; payload: [] }; + const controllerMessenger = new ControllerMessenger(); + + const handler = sinon.stub(); + controllerMessenger.subscribe('ping', handler); + controllerMessenger.publish('ping'); + + expect(handler.calledWithExactly()).toStrictEqual(true); + expect(handler.callCount).toStrictEqual(1); + }); + + it('should publish event with multiple payload parameters to subscriber', () => { + type MessageEvent = { type: 'message'; payload: [string, string] }; + const controllerMessenger = new ControllerMessenger(); + + const handler = sinon.stub(); + controllerMessenger.subscribe('message', handler); + controllerMessenger.publish('message', 'hello', 'there'); + + expect(handler.calledWithExactly('hello', 'there')).toStrictEqual(true); + expect(handler.callCount).toStrictEqual(1); + }); + + it('should publish event once to subscriber even if subscribed multiple times', () => { + type MessageEvent = { type: 'message'; payload: [string] }; + const controllerMessenger = new ControllerMessenger(); + + const handler = sinon.stub(); + controllerMessenger.subscribe('message', handler); + controllerMessenger.subscribe('message', handler); + controllerMessenger.publish('message', 'hello'); + + expect(handler.calledWithExactly('hello')).toStrictEqual(true); + expect(handler.callCount).toStrictEqual(1); + }); + + it('should publish event to many subscribers', () => { + type MessageEvent = { type: 'message'; payload: [string] }; + const controllerMessenger = new ControllerMessenger(); + + const handler1 = sinon.stub(); + const handler2 = sinon.stub(); + controllerMessenger.subscribe('message', handler1); + controllerMessenger.subscribe('message', handler2); + controllerMessenger.publish('message', 'hello'); + + expect(handler1.calledWithExactly('hello')).toStrictEqual(true); + expect(handler1.callCount).toStrictEqual(1); + expect(handler2.calledWithExactly('hello')).toStrictEqual(true); + expect(handler2.callCount).toStrictEqual(1); + }); + + it('should publish event with selector to subscriber', () => { + type MessageEvent = { + type: 'complexMessage'; + payload: [Record]; + }; + const controllerMessenger = new ControllerMessenger(); + + const handler = sinon.stub(); + const selector = sinon.fake((obj: Record) => obj.prop1); + controllerMessenger.subscribe('complexMessage', handler, selector); + controllerMessenger.publish('complexMessage', { prop1: 'a', prop2: 'b' }); + + expect(handler.calledWithExactly('a', undefined)).toStrictEqual(true); + expect(handler.callCount).toStrictEqual(1); + expect( + selector.calledWithExactly({ prop1: 'a', prop2: 'b' }), + ).toStrictEqual(true); + expect(selector.callCount).toStrictEqual(1); + }); + + it('should call selector event handler with previous selector return value', () => { + type MessageEvent = { + type: 'complexMessage'; + payload: [Record]; + }; + const controllerMessenger = new ControllerMessenger(); + + const handler = sinon.stub(); + const selector = sinon.fake((obj: Record) => obj.prop1); + controllerMessenger.subscribe('complexMessage', handler, selector); + controllerMessenger.publish('complexMessage', { prop1: 'a', prop2: 'b' }); + controllerMessenger.publish('complexMessage', { prop1: 'z', prop2: 'b' }); + + expect(handler.getCall(0).calledWithExactly('a', undefined)).toStrictEqual( + true, + ); + expect(handler.getCall(1).calledWithExactly('z', 'a')).toStrictEqual(true); + expect(handler.callCount).toStrictEqual(2); + expect( + selector.getCall(0).calledWithExactly({ prop1: 'a', prop2: 'b' }), + ).toStrictEqual(true); + + expect( + selector.getCall(1).calledWithExactly({ prop1: 'z', prop2: 'b' }), + ).toStrictEqual(true); + expect(selector.callCount).toStrictEqual(2); + }); + + it('should not publish event with selector if selector return value is unchanged', () => { + type MessageEvent = { + type: 'complexMessage'; + payload: [Record]; + }; + const controllerMessenger = new ControllerMessenger(); + + const handler = sinon.stub(); + const selector = sinon.fake((obj: Record) => obj.prop1); + controllerMessenger.subscribe('complexMessage', handler, selector); + controllerMessenger.publish('complexMessage', { prop1: 'a', prop2: 'b' }); + controllerMessenger.publish('complexMessage', { prop1: 'a', prop3: 'c' }); + + expect(handler.calledWithExactly('a', undefined)).toStrictEqual(true); + expect(handler.callCount).toStrictEqual(1); + expect( + selector.getCall(0).calledWithExactly({ prop1: 'a', prop2: 'b' }), + ).toStrictEqual(true); + + expect( + selector.getCall(1).calledWithExactly({ prop1: 'a', prop3: 'c' }), + ).toStrictEqual(true); + expect(selector.callCount).toStrictEqual(2); + }); + + it('should publish event to many subscribers with the same selector', () => { + type MessageEvent = { + type: 'complexMessage'; + payload: [Record]; + }; + const controllerMessenger = new ControllerMessenger(); + + const handler1 = sinon.stub(); + const handler2 = sinon.stub(); + const selector = sinon.fake((obj: Record) => obj.prop1); + controllerMessenger.subscribe('complexMessage', handler1, selector); + controllerMessenger.subscribe('complexMessage', handler2, selector); + controllerMessenger.publish('complexMessage', { prop1: 'a', prop2: 'b' }); + controllerMessenger.publish('complexMessage', { prop1: 'a', prop3: 'c' }); + + expect(handler1.calledWithExactly('a', undefined)).toStrictEqual(true); + expect(handler1.callCount).toStrictEqual(1); + expect(handler2.calledWithExactly('a', undefined)).toStrictEqual(true); + expect(handler2.callCount).toStrictEqual(1); + expect( + selector.getCall(0).calledWithExactly({ prop1: 'a', prop2: 'b' }), + ).toStrictEqual(true); + + expect( + selector.getCall(1).calledWithExactly({ prop1: 'a', prop2: 'b' }), + ).toStrictEqual(true); + + expect( + selector.getCall(2).calledWithExactly({ prop1: 'a', prop3: 'c' }), + ).toStrictEqual(true); + + expect( + selector.getCall(3).calledWithExactly({ prop1: 'a', prop3: 'c' }), + ).toStrictEqual(true); + expect(selector.callCount).toStrictEqual(4); + }); + + it('should not call subscriber after unsubscribing', () => { + type MessageEvent = { type: 'message'; payload: [string] }; + const controllerMessenger = new ControllerMessenger(); + + const handler = sinon.stub(); + controllerMessenger.subscribe('message', handler); + controllerMessenger.unsubscribe('message', handler); + controllerMessenger.publish('message', 'hello'); + + expect(handler.callCount).toStrictEqual(0); + }); + + it('should not call subscriber with selector after unsubscribing', () => { + type MessageEvent = { + type: 'complexMessage'; + payload: [Record]; + }; + const controllerMessenger = new ControllerMessenger(); + + const handler = sinon.stub(); + const selector = sinon.fake((obj: Record) => obj.prop1); + controllerMessenger.subscribe('complexMessage', handler, selector); + controllerMessenger.unsubscribe('complexMessage', handler); + controllerMessenger.publish('complexMessage', { prop1: 'a', prop2: 'b' }); + + expect(handler.callCount).toStrictEqual(0); + expect(selector.callCount).toStrictEqual(0); + }); + + it('should throw when unsubscribing when there are no subscriptions', () => { + type MessageEvent = { type: 'message'; payload: [string] }; + const controllerMessenger = new ControllerMessenger(); + + const handler = sinon.stub(); + expect(() => controllerMessenger.unsubscribe('message', handler)).toThrow( + 'Subscription not found for event: message', + ); + }); + + it('should throw when unsubscribing a handler that is not subscribed', () => { + type MessageEvent = { type: 'message'; payload: [string] }; + const controllerMessenger = new ControllerMessenger(); + + const handler1 = sinon.stub(); + const handler2 = sinon.stub(); + controllerMessenger.subscribe('message', handler1); + + expect(() => controllerMessenger.unsubscribe('message', handler2)).toThrow( + 'Subscription not found for event: message', + ); + }); + + it('should not call subscriber after clearing event subscriptions', () => { + type MessageEvent = { type: 'message'; payload: [string] }; + const controllerMessenger = new ControllerMessenger(); + + const handler = sinon.stub(); + controllerMessenger.subscribe('message', handler); + controllerMessenger.clearEventSubscriptions('message'); + controllerMessenger.publish('message', 'hello'); + + expect(handler.callCount).toStrictEqual(0); + }); + + it('should not throw when clearing event that has no subscriptions', () => { + type MessageEvent = { type: 'message'; payload: [string] }; + const controllerMessenger = new ControllerMessenger(); + + expect(() => + controllerMessenger.clearEventSubscriptions('message'), + ).not.toThrow(); + }); + + it('should not call subscriber after resetting subscriptions', () => { + type MessageEvent = { type: 'message'; payload: [string] }; + const controllerMessenger = new ControllerMessenger(); + + const handler = sinon.stub(); + controllerMessenger.subscribe('message', handler); + controllerMessenger.clearSubscriptions(); + controllerMessenger.publish('message', 'hello'); + + expect(handler.callCount).toStrictEqual(0); + }); +}); + +describe('RestrictedControllerMessenger', () => { + it('should allow registering and calling an action handler', () => { + type CountAction = { + type: 'CountController:count'; + handler: (increment: number) => void; + }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'CountController', + allowedActions: ['CountController:count'], + }); + + let count = 0; + restrictedControllerMessenger.registerActionHandler( + 'CountController:count', + (increment: number) => { + count += increment; + }, + ); + restrictedControllerMessenger.call('CountController:count', 1); + + expect(count).toStrictEqual(1); + }); + + it('should allow registering and calling multiple different action handlers', () => { + type MessageAction = + | { type: 'MessageController:concat'; handler: (message: string) => void } + | { + type: 'MessageController:reset'; + handler: (initialMessage: string) => void; + }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedActions: ['MessageController:reset', 'MessageController:concat'], + }); + + let message = ''; + restrictedControllerMessenger.registerActionHandler( + 'MessageController:reset', + (initialMessage: string) => { + message = initialMessage; + }, + ); + + restrictedControllerMessenger.registerActionHandler( + 'MessageController:concat', + (s: string) => { + message += s; + }, + ); + + restrictedControllerMessenger.call('MessageController:reset', 'hello'); + restrictedControllerMessenger.call('MessageController:concat', ', world'); + + expect(message).toStrictEqual('hello, world'); + }); + + it('should allow registering and calling an action handler with no parameters', () => { + type IncrementAction = { + type: 'CountController:increment'; + handler: () => void; + }; + const controllerMessenger = new ControllerMessenger< + IncrementAction, + never + >(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'CountController', + allowedActions: ['CountController:increment'], + }); + + let count = 0; + restrictedControllerMessenger.registerActionHandler( + 'CountController:increment', + () => { + count += 1; + }, + ); + restrictedControllerMessenger.call('CountController:increment'); + + expect(count).toStrictEqual(1); + }); + + it('should allow registering and calling an action handler with multiple parameters', () => { + type MessageAction = { + type: 'MessageController:message'; + handler: (to: string, message: string) => void; + }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedActions: ['MessageController:message'], + }); + + const messages: Record = {}; + restrictedControllerMessenger.registerActionHandler( + 'MessageController:message', + (to, message) => { + messages[to] = message; + }, + ); + + restrictedControllerMessenger.call( + 'MessageController:message', + '0x123', + 'hello', + ); + + expect(messages['0x123']).toStrictEqual('hello'); + }); + + it('should allow registering and calling an action handler with a return value', () => { + type AddAction = { + type: 'MathController:add'; + handler: (a: number, b: number) => number; + }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'MathController', + allowedActions: ['MathController:add'], + }); + + restrictedControllerMessenger.registerActionHandler( + 'MathController:add', + (a, b) => { + return a + b; + }, + ); + const result = restrictedControllerMessenger.call( + 'MathController:add', + 5, + 10, + ); + + expect(result).toStrictEqual(15); + }); + + it('should not allow registering multiple action handlers under the same name', () => { + type CountAction = { type: 'PingController:ping'; handler: () => void }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'PingController', + allowedActions: ['PingController:ping'], + }); + + restrictedControllerMessenger.registerActionHandler( + 'PingController:ping', + () => undefined, + ); + + expect(() => { + restrictedControllerMessenger.registerActionHandler( + 'PingController:ping', + () => undefined, + ); + }).toThrow('A handler for PingController:ping has already been registered'); + }); + + it('should throw when calling unregistered action', () => { + type CountAction = { type: 'PingController:ping'; handler: () => void }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'PingController', + allowedActions: ['PingController:ping'], + }); + + expect(() => { + restrictedControllerMessenger.call('PingController:ping'); + }).toThrow('A handler for PingController:ping has not been registered'); + }); + + it('should throw when calling an action that has been unregistered', () => { + type PingAction = { type: 'PingController:ping'; handler: () => void }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'PingController', + allowedActions: ['PingController:ping'], + }); + + expect(() => { + restrictedControllerMessenger.call('PingController:ping'); + }).toThrow('A handler for PingController:ping has not been registered'); + + let pingCount = 0; + restrictedControllerMessenger.registerActionHandler( + 'PingController:ping', + () => { + pingCount += 1; + }, + ); + + restrictedControllerMessenger.unregisterActionHandler( + 'PingController:ping', + ); + + expect(() => { + restrictedControllerMessenger.call('PingController:ping'); + }).toThrow('A handler for PingController:ping has not been registered'); + expect(pingCount).toStrictEqual(0); + }); + + it('should publish event to subscriber', () => { + type MessageEvent = { + type: 'MessageController:message'; + payload: [string]; + }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedEvents: ['MessageController:message'], + }); + + const handler = sinon.stub(); + restrictedControllerMessenger.subscribe( + 'MessageController:message', + handler, + ); + restrictedControllerMessenger.publish('MessageController:message', 'hello'); + + expect(handler.calledWithExactly('hello')).toStrictEqual(true); + expect(handler.callCount).toStrictEqual(1); + }); + + it('should publish event with selector to subscriber', () => { + type MessageEvent = { + type: 'MessageController:complexMessage'; + payload: [Record]; + }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedEvents: ['MessageController:complexMessage'], + }); + + const handler = sinon.stub(); + const selector = sinon.fake((obj: Record) => obj.prop1); + restrictedControllerMessenger.subscribe( + 'MessageController:complexMessage', + handler, + selector, + ); + + restrictedControllerMessenger.publish('MessageController:complexMessage', { + prop1: 'a', + prop2: 'b', + }); + + expect(handler.calledWithExactly('a', undefined)).toStrictEqual(true); + expect(handler.callCount).toStrictEqual(1); + expect( + selector.calledWithExactly({ prop1: 'a', prop2: 'b' }), + ).toStrictEqual(true); + expect(selector.callCount).toStrictEqual(1); + }); + + it('should allow publishing multiple different events to subscriber', () => { + type MessageEvent = + | { type: 'MessageController:message'; payload: [string] } + | { type: 'MessageController:ping'; payload: [] }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedEvents: ['MessageController:message', 'MessageController:ping'], + }); + + const messageHandler = sinon.stub(); + const pingHandler = sinon.stub(); + restrictedControllerMessenger.subscribe( + 'MessageController:message', + messageHandler, + ); + + restrictedControllerMessenger.subscribe( + 'MessageController:ping', + pingHandler, + ); + + restrictedControllerMessenger.publish('MessageController:message', 'hello'); + restrictedControllerMessenger.publish('MessageController:ping'); + + expect(messageHandler.calledWithExactly('hello')).toStrictEqual(true); + expect(messageHandler.callCount).toStrictEqual(1); + expect(pingHandler.calledWithExactly()).toStrictEqual(true); + expect(pingHandler.callCount).toStrictEqual(1); + }); + + it('should publish event with no payload to subscriber', () => { + type PingEvent = { type: 'PingController:ping'; payload: [] }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'PingController', + allowedEvents: ['PingController:ping'], + }); + + const handler = sinon.stub(); + restrictedControllerMessenger.subscribe('PingController:ping', handler); + restrictedControllerMessenger.publish('PingController:ping'); + + expect(handler.calledWithExactly()).toStrictEqual(true); + expect(handler.callCount).toStrictEqual(1); + }); + + it('should publish event with multiple payload parameters to subscriber', () => { + type MessageEvent = { + type: 'MessageController:message'; + payload: [string, string]; + }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedEvents: ['MessageController:message'], + }); + + const handler = sinon.stub(); + restrictedControllerMessenger.subscribe( + 'MessageController:message', + handler, + ); + + restrictedControllerMessenger.publish( + 'MessageController:message', + 'hello', + 'there', + ); + + expect(handler.calledWithExactly('hello', 'there')).toStrictEqual(true); + expect(handler.callCount).toStrictEqual(1); + }); + + it('should publish event once to subscriber even if subscribed multiple times', () => { + type MessageEvent = { + type: 'MessageController:message'; + payload: [string]; + }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedEvents: ['MessageController:message'], + }); + + const handler = sinon.stub(); + restrictedControllerMessenger.subscribe( + 'MessageController:message', + handler, + ); + + restrictedControllerMessenger.subscribe( + 'MessageController:message', + handler, + ); + restrictedControllerMessenger.publish('MessageController:message', 'hello'); + + expect(handler.calledWithExactly('hello')).toStrictEqual(true); + expect(handler.callCount).toStrictEqual(1); + }); + + it('should publish event to many subscribers', () => { + type MessageEvent = { + type: 'MessageController:message'; + payload: [string]; + }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedEvents: ['MessageController:message'], + }); + + const handler1 = sinon.stub(); + const handler2 = sinon.stub(); + restrictedControllerMessenger.subscribe( + 'MessageController:message', + handler1, + ); + + restrictedControllerMessenger.subscribe( + 'MessageController:message', + handler2, + ); + restrictedControllerMessenger.publish('MessageController:message', 'hello'); + + expect(handler1.calledWithExactly('hello')).toStrictEqual(true); + expect(handler1.callCount).toStrictEqual(1); + expect(handler2.calledWithExactly('hello')).toStrictEqual(true); + expect(handler2.callCount).toStrictEqual(1); + }); + + it('should not call subscriber after unsubscribing', () => { + type MessageEvent = { + type: 'MessageController:message'; + payload: [string]; + }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedEvents: ['MessageController:message'], + }); + + const handler = sinon.stub(); + restrictedControllerMessenger.subscribe( + 'MessageController:message', + handler, + ); + + restrictedControllerMessenger.unsubscribe( + 'MessageController:message', + handler, + ); + restrictedControllerMessenger.publish('MessageController:message', 'hello'); + + expect(handler.callCount).toStrictEqual(0); + }); + + it('should throw when unsubscribing when there are no subscriptions', () => { + type MessageEvent = { + type: 'MessageController:message'; + payload: [string]; + }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedEvents: ['MessageController:message'], + }); + + const handler = sinon.stub(); + expect(() => + restrictedControllerMessenger.unsubscribe( + 'MessageController:message', + handler, + ), + ).toThrow(`Subscription not found for event: MessageController:message`); + }); + + it('should throw when unsubscribing a handler that is not subscribed', () => { + type MessageEvent = { + type: 'MessageController:message'; + payload: [string]; + }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedEvents: ['MessageController:message'], + }); + + const handler1 = sinon.stub(); + const handler2 = sinon.stub(); + restrictedControllerMessenger.subscribe( + 'MessageController:message', + handler1, + ); + + expect(() => + restrictedControllerMessenger.unsubscribe( + 'MessageController:message', + handler2, + ), + ).toThrow(`Subscription not found for event: MessageController:message`); + }); + + it('should not call subscriber after clearing event subscriptions', () => { + type MessageEvent = { + type: 'MessageController:message'; + payload: [string]; + }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedEvents: ['MessageController:message'], + }); + + const handler = sinon.stub(); + restrictedControllerMessenger.subscribe( + 'MessageController:message', + handler, + ); + + restrictedControllerMessenger.clearEventSubscriptions( + 'MessageController:message', + ); + restrictedControllerMessenger.publish('MessageController:message', 'hello'); + + expect(handler.callCount).toStrictEqual(0); + }); + + it('should not throw when clearing event that has no subscriptions', () => { + type MessageEvent = { + type: 'MessageController:message'; + payload: [string]; + }; + const controllerMessenger = new ControllerMessenger(); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedEvents: ['MessageController:message'], + }); + + expect(() => + restrictedControllerMessenger.clearEventSubscriptions( + 'MessageController:message', + ), + ).not.toThrow(); + }); + + it('should allow calling an external action', () => { + type CountAction = { + type: 'CountController:count'; + handler: (increment: number) => void; + }; + const controllerMessenger = new ControllerMessenger(); + const externalRestrictedControllerMessenger = + controllerMessenger.getRestricted({ + name: 'CountController', + }); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'OtherController', + allowedActions: ['CountController:count'], + }); + + let count = 0; + externalRestrictedControllerMessenger.registerActionHandler( + 'CountController:count', + (increment: number) => { + count += increment; + }, + ); + restrictedControllerMessenger.call('CountController:count', 1); + + expect(count).toStrictEqual(1); + }); + + it('should allow subscribing to an external event', () => { + type MessageEvent = { + type: 'MessageController:message'; + payload: [string]; + }; + const controllerMessenger = new ControllerMessenger(); + const externalRestrictedControllerMessenger = + controllerMessenger.getRestricted({ + name: 'MessageController', + }); + const restrictedControllerMessenger = controllerMessenger.getRestricted({ + name: 'OtherController', + allowedEvents: ['MessageController:message'], + }); + + const handler = sinon.stub(); + restrictedControllerMessenger.subscribe( + 'MessageController:message', + handler, + ); + + externalRestrictedControllerMessenger.publish( + 'MessageController:message', + 'hello', + ); + + expect(handler.calledWithExactly('hello')).toStrictEqual(true); + expect(handler.callCount).toStrictEqual(1); + }); + + it('should allow interacting with internal and external actions', () => { + type MessageAction = + | { type: 'MessageController:concat'; handler: (message: string) => void } + | { + type: 'MessageController:reset'; + handler: (initialMessage: string) => void; + }; + type CountAction = { + type: 'CountController:count'; + handler: (increment: number) => void; + }; + const controllerMessenger = new ControllerMessenger< + MessageAction | CountAction, + never + >(); + + const messageControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedActions: ['MessageController:reset', 'CountController:count'], + }); + const countControllerMessenger = controllerMessenger.getRestricted({ + name: 'CountController', + }); + + let count = 0; + countControllerMessenger.registerActionHandler( + 'CountController:count', + (increment: number) => { + count += increment; + }, + ); + + let fullMessage = ''; + messageControllerMessenger.registerActionHandler( + 'MessageController:concat', + (message: string) => { + fullMessage += message; + }, + ); + + messageControllerMessenger.registerActionHandler( + 'MessageController:reset', + (message: string) => { + fullMessage = message; + }, + ); + + messageControllerMessenger.call('MessageController:reset', 'hello'); + messageControllerMessenger.call('CountController:count', 1); + + expect(fullMessage).toStrictEqual('hello'); + expect(count).toStrictEqual(1); + }); + + it('should allow interacting with internal and external events', () => { + type MessageEvent = + | { type: 'MessageController:message'; payload: [string] } + | { type: 'MessageController:ping'; payload: [] }; + type CountEvent = { type: 'CountController:update'; payload: [number] }; + const controllerMessenger = new ControllerMessenger< + never, + MessageEvent | CountEvent + >(); + + const messageControllerMessenger = controllerMessenger.getRestricted({ + name: 'MessageController', + allowedEvents: ['MessageController:ping', 'CountController:update'], + }); + const countControllerMessenger = controllerMessenger.getRestricted({ + name: 'CountController', + }); + + let pings = 0; + messageControllerMessenger.subscribe('MessageController:ping', () => { + pings += 1; + }); + let currentCount; + messageControllerMessenger.subscribe( + 'CountController:update', + (newCount: number) => { + currentCount = newCount; + }, + ); + messageControllerMessenger.publish('MessageController:ping'); + countControllerMessenger.publish('CountController:update', 10); + + expect(pings).toStrictEqual(1); + expect(currentCount).toStrictEqual(10); + }); +}); diff --git a/packages/base-controller/src/ControllerMessenger.ts b/packages/base-controller/src/ControllerMessenger.ts new file mode 100644 index 0000000000..1c080b9a7a --- /dev/null +++ b/packages/base-controller/src/ControllerMessenger.ts @@ -0,0 +1,627 @@ +type ActionHandler = ( + ...args: ExtractActionParameters +) => ExtractActionResponse; +type ExtractActionParameters = Action extends { + type: T; + handler: (...args: infer H) => any; +} + ? H + : never; +type ExtractActionResponse = Action extends { + type: T; + handler: (...args: any) => infer H; +} + ? H + : never; + +type ExtractEventHandler = Event extends { type: T; payload: infer P } + ? P extends unknown[] + ? (...payload: P) => void + : never + : never; +type ExtractEventPayload = Event extends { type: T; payload: infer P } + ? P + : never; + +type GenericEventHandler = (...args: unknown[]) => void; + +type SelectorFunction = ( + ...args: Args +) => ReturnValue; +type SelectorEventHandler = ( + newValue: SelectorReturnValue, + previousValue: SelectorReturnValue | undefined, +) => void; + +export type ActionConstraint = { + type: string; + handler: (...args: any) => unknown; +}; +export type EventConstraint = { type: string; payload: unknown[] }; + +type EventSubscriptionMap = Map< + GenericEventHandler | SelectorEventHandler, + SelectorFunction | undefined +>; + +/** + * A namespaced string + * + * This type verifies that the string T is prefixed by the string Name followed by a colon. + * + * @template Name - The namespace we're checking for. + * @template T - The full string, including the namespace. + */ +export type Namespaced = T extends `${Name}:${string}` + ? T + : never; + +type NarrowToNamespace = T extends { + type: `${Namespace}:${string}`; +} + ? T + : never; + +type NarrowToAllowed = T extends { + type: Allowed; +} + ? T + : never; + +/** + * A restricted controller messenger. + * + * This acts as a wrapper around the controller messenger instance that restricts access to actions + * and events. + * + * @template N - The namespace for this messenger. Typically this is the name of the controller or + * module that this messenger has been created for. The authority to publish events and register + * actions under this namespace is granted to this restricted messenger instance. + * @template Action - A type union of all Action types. + * @template Event - A type union of all Event types. + * @template AllowedAction - A type union of the 'type' string for any allowed actions. + * @template AllowedEvent - A type union of the 'type' string for any allowed events. + */ +export class RestrictedControllerMessenger< + N extends string, + Action extends ActionConstraint, + Event extends EventConstraint, + AllowedAction extends string, + AllowedEvent extends string, +> { + private controllerMessenger: ControllerMessenger< + ActionConstraint, + EventConstraint + >; + + private controllerName: N; + + private allowedActions: AllowedAction[] | null; + + private allowedEvents: AllowedEvent[] | null; + + /** + * Constructs a restricted controller messenger + * + * The provided allowlists grant the ability to call the listed actions and subscribe to the + * listed events. The "name" provided grants ownership of any actions and events under that + * namespace. Ownership allows registering actions and publishing events, as well as + * unregistering actions and clearing event subscriptions. + * + * @param options - The controller options. + * @param options.controllerMessenger - The controller messenger instance that is being wrapped. + * @param options.name - The name of the thing this messenger will be handed to (e.g. the + * controller name). This grants "ownership" of actions and events under this namespace to the + * restricted controller messenger returned. + * @param options.allowedActions - The list of actions that this restricted controller messenger + * should be alowed to call. + * @param options.allowedEvents - The list of events that this restricted controller messenger + * should be allowed to subscribe to. + */ + constructor({ + controllerMessenger, + name, + allowedActions, + allowedEvents, + }: { + controllerMessenger: ControllerMessenger; + name: N; + allowedActions?: AllowedAction[]; + allowedEvents?: AllowedEvent[]; + }) { + this.controllerMessenger = controllerMessenger; + this.controllerName = name; + this.allowedActions = allowedActions || null; + this.allowedEvents = allowedEvents || null; + } + + /** + * Register an action handler. + * + * This will make the registered function available to call via the `call` method. + * + * The action type this handler is registered under *must* be in the current namespace. + * + * @param action - The action type. This is a unqiue identifier for this action. + * @param handler - The action handler. This function gets called when the `call` method is + * invoked with the given action type. + * @throws Will throw when a handler has been registered for this action type already. + * @template T - A type union of Action type strings that are namespaced by N. + */ + registerActionHandler>( + action: T, + handler: ActionHandler, + ) { + /* istanbul ignore if */ // Branch unreachable with valid types + if (!action.startsWith(`${this.controllerName}:`)) { + throw new Error( + `Only allowed registering action handlers prefixed by '${this.controllerName}:'`, + ); + } + this.controllerMessenger.registerActionHandler(action, handler); + } + + /** + * Unregister an action handler. + * + * This will prevent this action from being called. + * + * The action type being unregistered *must* be in the current namespace. + * + * @param action - The action type. This is a unqiue identifier for this action. + * @template T - A type union of Action type strings that are namespaced by N. + */ + unregisterActionHandler>(action: T) { + /* istanbul ignore if */ // Branch unreachable with valid types + if (!action.startsWith(`${this.controllerName}:`)) { + throw new Error( + `Only allowed unregistering action handlers prefixed by '${this.controllerName}:'`, + ); + } + this.controllerMessenger.unregisterActionHandler(action); + } + + /** + * Call an action. + * + * This function will call the action handler corresponding to the given action type, passing + * along any parameters given. + * + * The action type being called must be on the action allowlist. + * + * @param action - The action type. This is a unqiue identifier for this action. + * @param params - The action parameters. These must match the type of the parameters of the + * registered action handler. + * @throws Will throw when no handler has been registered for the given type. + * @template T - A type union of allowed Action type strings. + * @returns The action return value. + */ + call( + action: T, + ...params: ExtractActionParameters + ): ExtractActionResponse { + /* istanbul ignore next */ // Branches unreachable with valid types + if (this.allowedActions === null) { + throw new Error('No actions allowed'); + } else if (!this.allowedActions.includes(action)) { + throw new Error(`Action missing from allow list: ${action}`); + } + return this.controllerMessenger.call(action, ...params); + } + + /** + * Publish an event. + * + * Publishes the given payload to all subscribers of the given event type. + * + * The event type being published *must* be in the current namespace. + * + * @param event - The event type. This is a unique identifier for this event. + * @param payload - The event payload. The type of the parameters for each event handler must + * match the type of this payload. + * @template E - A type union of Event type strings that are namespaced by N. + */ + publish>( + event: E, + ...payload: ExtractEventPayload + ) { + /* istanbul ignore if */ // Branch unreachable with valid types + if (!event.startsWith(`${this.controllerName}:`)) { + throw new Error( + `Only allowed publishing events prefixed by '${this.controllerName}:'`, + ); + } + this.controllerMessenger.publish(event, ...payload); + } + + /** + * Subscribe to an event. + * + * Registers the given function as an event handler for the given event type. + * + * The event type being subscribed to must be on the event allowlist. + * + * @param eventType - The event type. This is a unique identifier for this event. + * @param handler - The event handler. The type of the parameters for this event handler must + * match the type of the payload for this event type. + * @template E - A type union of Event type strings. + */ + subscribe( + eventType: E, + handler: ExtractEventHandler, + ): void; + + /** + * Subscribe to an event, with a selector. + * + * Registers the given handler function as an event handler for the given + * event type. When an event is published, its payload is first passed to the + * selector. The event handler is only called if the selector's return value + * differs from its last known return value. + * + * The event type being subscribed to must be on the event allowlist. + * + * @param eventType - The event type. This is a unique identifier for this event. + * @param handler - The event handler. The type of the parameters for this event + * handler must match the return type of the selector. + * @param selector - The selector function used to select relevant data from + * the event payload. The type of the parameters for this selector must match + * the type of the payload for this event type. + * @template E - A type union of Event type strings. + * @template V - The selector return value. + */ + subscribe( + eventType: E, + handler: SelectorEventHandler, + selector: SelectorFunction, V>, + ): void; + + subscribe( + event: E, + handler: ExtractEventHandler, + selector?: SelectorFunction, V>, + ) { + /* istanbul ignore next */ // Branches unreachable with valid types + if (this.allowedEvents === null) { + throw new Error('No events allowed'); + } else if (!this.allowedEvents.includes(event)) { + throw new Error(`Event missing from allow list: ${event}`); + } + + if (selector) { + return this.controllerMessenger.subscribe(event, handler, selector); + } + return this.controllerMessenger.subscribe(event, handler); + } + + /** + * Unsubscribe from an event. + * + * Unregisters the given function as an event handler for the given event. + * + * The event type being unsubscribed to must be on the event allowlist. + * + * @param event - The event type. This is a unique identifier for this event. + * @param handler - The event handler to unregister. + * @throws Will throw when the given event handler is not registered for this event. + * @template T - A type union of allowed Event type strings. + */ + unsubscribe( + event: E, + handler: ExtractEventHandler, + ) { + /* istanbul ignore next */ // Branches unreachable with valid types + if (this.allowedEvents === null) { + throw new Error('No events allowed'); + } else if (!this.allowedEvents.includes(event)) { + throw new Error(`Event missing from allow list: ${event}`); + } + this.controllerMessenger.unsubscribe(event, handler); + } + + /** + * Clear subscriptions for a specific event. + * + * This will remove all subscribed handlers for this event. + * + * The event type being cleared *must* be in the current namespace. + * + * @param event - The event type. This is a unique identifier for this event. + * @template E - A type union of Event type strings that are namespaced by N. + */ + clearEventSubscriptions>(event: E) { + /* istanbul ignore if */ // Branch unreachable with valid types + if (!event.startsWith(`${this.controllerName}:`)) { + throw new Error( + `Only allowed clearing events prefixed by '${this.controllerName}:'`, + ); + } + this.controllerMessenger.clearEventSubscriptions(event); + } +} + +/** + * A messaging system for controllers. + * + * The controller messenger allows registering functions as 'actions' that can be called elsewhere, + * and it allows publishing and subscribing to events. Both actions and events are identified by + * unique strings. + * + * @template Action - A type union of all Action types. + * @template Event - A type union of all Event types. + */ +export class ControllerMessenger< + Action extends ActionConstraint, + Event extends EventConstraint, +> { + private actions = new Map(); + + private events = new Map(); + + /** + * A cache of selector return values for their respective handlers. + */ + private eventPayloadCache = new Map< + GenericEventHandler, + unknown | undefined + >(); + + /** + * Register an action handler. + * + * This will make the registered function available to call via the `call` method. + * + * @param actionType - The action type. This is a unqiue identifier for this action. + * @param handler - The action handler. This function gets called when the `call` method is + * invoked with the given action type. + * @throws Will throw when a handler has been registered for this action type already. + * @template T - A type union of Action type strings. + */ + registerActionHandler( + actionType: T, + handler: ActionHandler, + ) { + if (this.actions.has(actionType)) { + throw new Error( + `A handler for ${actionType} has already been registered`, + ); + } + this.actions.set(actionType, handler); + } + + /** + * Unregister an action handler. + * + * This will prevent this action from being called. + * + * @param actionType - The action type. This is a unqiue identifier for this action. + * @template T - A type union of Action type strings. + */ + unregisterActionHandler(actionType: T) { + this.actions.delete(actionType); + } + + /** + * Unregister all action handlers. + * + * This prevents all actions from being called. + */ + clearActions() { + this.actions.clear(); + } + + /** + * Call an action. + * + * This function will call the action handler corresponding to the given action type, passing + * along any parameters given. + * + * @param actionType - The action type. This is a unqiue identifier for this action. + * @param params - The action parameters. These must match the type of the parameters of the + * registered action handler. + * @throws Will throw when no handler has been registered for the given type. + * @template T - A type union of Action type strings. + * @returns The action return value. + */ + call( + actionType: T, + ...params: ExtractActionParameters + ): ExtractActionResponse { + const handler = this.actions.get(actionType) as ActionHandler; + if (!handler) { + throw new Error(`A handler for ${actionType} has not been registered`); + } + return handler(...params); + } + + /** + * Publish an event. + * + * Publishes the given payload to all subscribers of the given event type. + * + * @param eventType - The event type. This is a unique identifier for this event. + * @param payload - The event payload. The type of the parameters for each event handler must + * match the type of this payload. + * @template E - A type union of Event type strings. + */ + publish( + eventType: E, + ...payload: ExtractEventPayload + ) { + const subscribers = this.events.get(eventType); + + if (subscribers) { + for (const [handler, selector] of subscribers.entries()) { + if (selector) { + const previousValue = this.eventPayloadCache.get(handler); + const newValue = selector(...payload); + + if (newValue !== previousValue) { + this.eventPayloadCache.set(handler, newValue); + handler(newValue, previousValue); + } + } else { + (handler as GenericEventHandler)(...payload); + } + } + } + } + + /** + * Subscribe to an event. + * + * Registers the given function as an event handler for the given event type. + * + * @param eventType - The event type. This is a unique identifier for this event. + * @param handler - The event handler. The type of the parameters for this event handler must + * match the type of the payload for this event type. + * @template E - A type union of Event type strings. + */ + subscribe( + eventType: E, + handler: ExtractEventHandler, + ): void; + + /** + * Subscribe to an event, with a selector. + * + * Registers the given handler function as an event handler for the given + * event type. When an event is published, its payload is first passed to the + * selector. The event handler is only called if the selector's return value + * differs from its last known return value. + * + * @param eventType - The event type. This is a unique identifier for this event. + * @param handler - The event handler. The type of the parameters for this event + * handler must match the return type of the selector. + * @param selector - The selector function used to select relevant data from + * the event payload. The type of the parameters for this selector must match + * the type of the payload for this event type. + * @template E - A type union of Event type strings. + * @template V - The selector return value. + */ + subscribe( + eventType: E, + handler: SelectorEventHandler, + selector: SelectorFunction, V>, + ): void; + + subscribe( + eventType: E, + handler: ExtractEventHandler, + selector?: SelectorFunction, V>, + ): void { + let subscribers = this.events.get(eventType); + if (!subscribers) { + subscribers = new Map(); + this.events.set(eventType, subscribers); + } + + subscribers.set(handler, selector); + } + + /** + * Unsubscribe from an event. + * + * Unregisters the given function as an event handler for the given event. + * + * @param eventType - The event type. This is a unique identifier for this event. + * @param handler - The event handler to unregister. + * @throws Will throw when the given event handler is not registered for this event. + * @template E - A type union of Event type strings. + */ + unsubscribe( + eventType: E, + handler: ExtractEventHandler, + ) { + const subscribers = this.events.get(eventType); + + if (!subscribers || !subscribers.has(handler)) { + throw new Error(`Subscription not found for event: ${eventType}`); + } + + const selector = subscribers.get(handler); + if (selector) { + this.eventPayloadCache.delete(handler); + } + + subscribers.delete(handler); + } + + /** + * Clear subscriptions for a specific event. + * + * This will remove all subscribed handlers for this event. + * + * @param eventType - The event type. This is a unique identifier for this event. + * @template E - A type union of Event type strings. + */ + clearEventSubscriptions(eventType: E) { + this.events.delete(eventType); + } + + /** + * Clear all subscriptions. + * + * This will remove all subscribed handlers for all events. + */ + clearSubscriptions() { + this.events.clear(); + } + + /** + * Get a restricted controller messenger + * + * Returns a wrapper around the controller messenger instance that restricts access to actions + * and events. The provided allowlists grant the ability to call the listed actions and subscribe + * to the listed events. The "name" provided grants ownership of any actions and events under + * that namespace. Ownership allows registering actions and publishing events, as well as + * unregistering actions and clearing event subscriptions. + * + * @param options - Controller messenger options. + * @param options.name - The name of the thing this messenger will be handed to (e.g. the + * controller name). This grants "ownership" of actions and events under this namespace to the + * restricted controller messenger returned. + * @param options.allowedActions - The list of actions that this restricted controller messenger + * should be alowed to call. + * @param options.allowedEvents - The list of events that this restricted controller messenger + * should be allowed to subscribe to. + * @template N - The namespace for this messenger. Typically this is the name of the controller or + * module that this messenger has been created for. The authority to publish events and register + * actions under this namespace is granted to this restricted messenger instance. + * @template AllowedAction - A type union of the 'type' string for any allowed actions. + * @template AllowedEvent - A type union of the 'type' string for any allowed events. + * @returns The restricted controller messenger. + */ + getRestricted< + N extends string, + AllowedAction extends string, + AllowedEvent extends string, + >({ + name, + allowedActions, + allowedEvents, + }: { + name: N; + allowedActions?: Extract[]; + allowedEvents?: Extract[]; + }): RestrictedControllerMessenger< + N, + NarrowToNamespace | NarrowToAllowed, + NarrowToNamespace | NarrowToAllowed, + AllowedAction, + AllowedEvent + > { + return new RestrictedControllerMessenger< + N, + NarrowToNamespace | NarrowToAllowed, + NarrowToNamespace | NarrowToAllowed, + AllowedAction, + AllowedEvent + >({ + controllerMessenger: this, + name, + allowedActions, + allowedEvents, + }); + } +} diff --git a/packages/base-controller/src/index.ts b/packages/base-controller/src/index.ts new file mode 100644 index 0000000000..b83f82e3c4 --- /dev/null +++ b/packages/base-controller/src/index.ts @@ -0,0 +1,17 @@ +export { + BaseConfig, + default as BaseController, + BaseState, + Listener, +} from './BaseController'; +export { + BaseController as BaseControllerV2, + Listener as ListenerV2, + StateDeriver, + StateMetadata, + StatePropertyMetadata, + Json, + getAnonymizedState, + getPersistentState, +} from './BaseControllerV2'; +export * from './ControllerMessenger'; diff --git a/packages/base-controller/tsconfig.build.json b/packages/base-controller/tsconfig.build.json new file mode 100644 index 0000000000..d5b9acb758 --- /dev/null +++ b/packages/base-controller/tsconfig.build.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/base-controller/tsconfig.json b/packages/base-controller/tsconfig.json new file mode 100644 index 0000000000..fc89716298 --- /dev/null +++ b/packages/base-controller/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/controller-utils/CHANGELOG.md b/packages/controller-utils/CHANGELOG.md new file mode 100644 index 0000000000..63c6d0b4e9 --- /dev/null +++ b/packages/controller-utils/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +This is the changelog for the `@metamask/controller-utils` package. It will be filled in and this message will be replaced later. diff --git a/packages/controller-utils/README.md b/packages/controller-utils/README.md new file mode 100644 index 0000000000..1bc3630b02 --- /dev/null +++ b/packages/controller-utils/README.md @@ -0,0 +1,19 @@ +# `@metamask/controller-utils` + +Utility functions etc. + +## Installation + +`yarn add @metamask/controller-utils` + +or + +`npm install @metamask/controller-utils` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/controller-utils/jest.config.ts b/packages/controller-utils/jest.config.ts new file mode 100644 index 0000000000..383b5cb526 --- /dev/null +++ b/packages/controller-utils/jest.config.ts @@ -0,0 +1,14 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName: 'controller-utils', +}); + +export default config; diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json new file mode 100644 index 0000000000..14d6702fed --- /dev/null +++ b/packages/controller-utils/package.json @@ -0,0 +1,35 @@ +{ + "name": "@metamask/controller-utils", + "version": "0.1.0", + "description": "Utility function etc.", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/controller-utils#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "devDependencies": { + "eth-ens-namehash": "^2.0.8", + "ethereumjs-util": "^7.1.4", + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/packages/controller-utils/src/index.ts b/packages/controller-utils/src/index.ts new file mode 100644 index 0000000000..bbebd88eb4 --- /dev/null +++ b/packages/controller-utils/src/index.ts @@ -0,0 +1 @@ +export * from './util'; diff --git a/packages/controller-utils/src/util.test.ts b/packages/controller-utils/src/util.test.ts new file mode 100644 index 0000000000..e3176c6569 --- /dev/null +++ b/packages/controller-utils/src/util.test.ts @@ -0,0 +1,111 @@ +import * as util from './util'; + +const VALID = '4e1fF7229BDdAf0A73DF183a88d9c3a04cc975e0'; + +describe('util', () => { + describe('toChecksumHexAddress', () => { + const fullAddress = `0x${VALID}`; + it('should return address for valid address', () => { + expect(util.toChecksumHexAddress(fullAddress)).toBe(fullAddress); + }); + + it('should return address for non prefix address', () => { + expect(util.toChecksumHexAddress(VALID)).toBe(fullAddress); + }); + }); + + describe('isValidHexAddress', () => { + it('should return true for valid address', () => { + expect(util.isValidHexAddress(VALID)).toBe(true); + }); + + it('should return false for invalid address', () => { + expect(util.isValidHexAddress('0x00')).toBe(false); + }); + + it('should allow allowNonPrefixed to be false', () => { + expect(util.isValidHexAddress('0x00', { allowNonPrefixed: false })).toBe( + false, + ); + }); + }); + + describe('normalizeEnsName', () => { + it('should normalize with valid 2LD', async () => { + let valid = util.normalizeEnsName('metamask.eth'); + expect(valid).toStrictEqual('metamask.eth'); + valid = util.normalizeEnsName('foobar1.eth'); + expect(valid).toStrictEqual('foobar1.eth'); + valid = util.normalizeEnsName('foo-bar.eth'); + expect(valid).toStrictEqual('foo-bar.eth'); + valid = util.normalizeEnsName('1-foo-bar.eth'); + expect(valid).toStrictEqual('1-foo-bar.eth'); + }); + + it('should normalize with valid 2LD and "test" TLD', async () => { + const valid = util.normalizeEnsName('metamask.test'); + expect(valid).toStrictEqual('metamask.test'); + }); + + it('should normalize with valid 2LD and 3LD', async () => { + let valid = util.normalizeEnsName('a.metamask.eth'); + expect(valid).toStrictEqual('a.metamask.eth'); + valid = util.normalizeEnsName('aa.metamask.eth'); + expect(valid).toStrictEqual('aa.metamask.eth'); + valid = util.normalizeEnsName('a-a.metamask.eth'); + expect(valid).toStrictEqual('a-a.metamask.eth'); + valid = util.normalizeEnsName('1-a.metamask.eth'); + expect(valid).toStrictEqual('1-a.metamask.eth'); + valid = util.normalizeEnsName('1-2.metamask.eth'); + expect(valid).toStrictEqual('1-2.metamask.eth'); + }); + + it('should return null with invalid 2LD', async () => { + let invalid = util.normalizeEnsName('me.eth'); + expect(invalid).toBeNull(); + invalid = util.normalizeEnsName('metamask-.eth'); + expect(invalid).toBeNull(); + invalid = util.normalizeEnsName('-metamask.eth'); + expect(invalid).toBeNull(); + invalid = util.normalizeEnsName('@metamask.eth'); + expect(invalid).toBeNull(); + invalid = util.normalizeEnsName('foobar.eth'); + expect(invalid).toBeNull(); + }); + + it('should return null with valid 2LD and invalid 3LD', async () => { + let invalid = util.normalizeEnsName('-.metamask.eth'); + expect(invalid).toBeNull(); + invalid = util.normalizeEnsName('abc-.metamask.eth'); + expect(invalid).toBeNull(); + invalid = util.normalizeEnsName('-abc.metamask.eth'); + expect(invalid).toBeNull(); + invalid = util.normalizeEnsName('.metamask.eth'); + expect(invalid).toBeNull(); + invalid = util.normalizeEnsName('f@o.metamask.eth'); + expect(invalid).toBeNull(); + }); + + it('should return null with invalid 2LD and valid 3LD', async () => { + const invalid = util.normalizeEnsName('foo.barbaz.eth'); + expect(invalid).toBeNull(); + }); + + it('should return null with invalid TLD', async () => { + const invalid = util.normalizeEnsName('a.metamask.com'); + expect(invalid).toBeNull(); + }); + + it('should return null with repeated periods', async () => { + let invalid = util.normalizeEnsName('foo..metamask.eth'); + expect(invalid).toBeNull(); + invalid = util.normalizeEnsName('foo.metamask..eth'); + expect(invalid).toBeNull(); + }); + + it('should return null with empty string', async () => { + const invalid = util.normalizeEnsName(''); + expect(invalid).toBeNull(); + }); + }); +}); diff --git a/packages/controller-utils/src/util.ts b/packages/controller-utils/src/util.ts new file mode 100644 index 0000000000..bc18eb1c40 --- /dev/null +++ b/packages/controller-utils/src/util.ts @@ -0,0 +1,75 @@ +import { + addHexPrefix, + isValidAddress, + isHexString, + toChecksumAddress, +} from 'ethereumjs-util'; +import ensNamehash from 'eth-ens-namehash'; + +/** + * Convert an address to a checksummed hexidecimal address. + * + * @param address - The address to convert. + * @returns A 0x-prefixed hexidecimal checksummed address. + */ +export function toChecksumHexAddress(address: string) { + const hexPrefixed = addHexPrefix(address); + if (!isHexString(hexPrefixed)) { + // Version 5.1 of ethereumjs-utils would have returned '0xY' for input 'y' + // but we shouldn't waste effort trying to change case on a clearly invalid + // string. Instead just return the hex prefixed original string which most + // closely mimics the original behavior. + return hexPrefixed; + } + return toChecksumAddress(hexPrefixed); +} + +/** + * Validates that the input is a hex address. This utility method is a thin + * wrapper around ethereumjs-util.isValidAddress, with the exception that it + * does not throw an error when provided values that are not hex strings. In + * addition, and by default, this method will return true for hex strings that + * meet the length requirement of a hex address, but are not prefixed with `0x` + * Finally, if the mixedCaseUseChecksum flag is true and a mixed case string is + * provided this method will validate it has the proper checksum formatting. + * + * @param possibleAddress - Input parameter to check against. + * @param options - The validation options. + * @param options.allowNonPrefixed - If true will first ensure '0x' is prepended to the string. + * @returns Whether or not the input is a valid hex address. + */ +export function isValidHexAddress( + possibleAddress: string, + { allowNonPrefixed = true } = {}, +) { + const addressToCheck = allowNonPrefixed + ? addHexPrefix(possibleAddress) + : possibleAddress; + if (!isHexString(addressToCheck)) { + return false; + } + + return isValidAddress(addressToCheck); +} + +/** + * Normalizes the given ENS name. + * + * @param ensName - The ENS name. + * @returns The normalized ENS name string. + */ +export function normalizeEnsName(ensName: string): string | null { + if (ensName && typeof ensName === 'string') { + try { + const normalized = ensNamehash.normalize(ensName.trim()); + // this regex is only sufficient with the above call to ensNamehash.normalize + // TODO: change 7 in regex to 3 when shorter ENS domains are live + if (normalized.match(/^(([\w\d-]+)\.)*[\w\d-]{7,}\.(eth|test)$/u)) { + return normalized; + } + } catch (_) { + // do nothing + } + } + return null; +} diff --git a/packages/controller-utils/tsconfig.build.json b/packages/controller-utils/tsconfig.build.json new file mode 100644 index 0000000000..b5e7237ece --- /dev/null +++ b/packages/controller-utils/tsconfig.build.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [{ "path": "../base-controller/tsconfig.build.json" }], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/controller-utils/tsconfig.json b/packages/controller-utils/tsconfig.json new file mode 100644 index 0000000000..f15fdde3be --- /dev/null +++ b/packages/controller-utils/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [{ "path": "../base-controller" }], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/ens-controller/CHANGELOG.md b/packages/ens-controller/CHANGELOG.md new file mode 100644 index 0000000000..b20a849506 --- /dev/null +++ b/packages/ens-controller/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +This is the changelog for the `@metamask/ens-controller` package. It will be filled in and this message will be replaced later. diff --git a/packages/ens-controller/README.md b/packages/ens-controller/README.md new file mode 100644 index 0000000000..224e70d868 --- /dev/null +++ b/packages/ens-controller/README.md @@ -0,0 +1,19 @@ +# `@metamask/ens-controller` + +Manage a list of ENS names and their resolved addresses. + +## Installation + +`yarn add @metamask/ens-controller` + +or + +`npm install @metamask/ens-controller` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/ens-controller/jest.config.ts b/packages/ens-controller/jest.config.ts new file mode 100644 index 0000000000..5620fa388e --- /dev/null +++ b/packages/ens-controller/jest.config.ts @@ -0,0 +1,22 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +// import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName: 'ens-controller', + /* + globals: { + 'ts-jest': { + tsconfig: path.join(__dirname, '../../tsconfig.json'), + }, + }, + */ +}); + +export default config; diff --git a/packages/ens-controller/package.json b/packages/ens-controller/package.json new file mode 100644 index 0000000000..282cef7a36 --- /dev/null +++ b/packages/ens-controller/package.json @@ -0,0 +1,34 @@ +{ + "name": "@metamask/ens-controller", + "version": "0.1.0", + "description": "Controller which manages a list of ENS names and their resolved addresses", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/ens-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "devDependencies": { + "ethereumjs-util": "^7.1.4", + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/packages/ens-controller/src/EnsController.test.ts b/packages/ens-controller/src/EnsController.test.ts new file mode 100644 index 0000000000..fb93e1f619 --- /dev/null +++ b/packages/ens-controller/src/EnsController.test.ts @@ -0,0 +1,260 @@ +import { toChecksumHexAddress } from '@metamask/controller-utils'; +import { EnsController } from '.'; + +const address1 = '0x32Be343B94f860124dC4fEe278FDCBD38C102D88'; +const address2 = '0xc38bf1ad06ef69f0c04e29dbeb4152b4175f0a8d'; +const address3 = '0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359'; +const name1 = 'foobarb.eth'; +const name2 = 'bazbarb.eth'; + +const address1Checksum = toChecksumHexAddress(address1); +const address2Checksum = toChecksumHexAddress(address2); +const address3Checksum = toChecksumHexAddress(address3); + +describe('EnsController', () => { + it('should set default state', () => { + const controller = new EnsController(); + expect(controller.state).toStrictEqual({ ensEntries: {} }); + }); + + it('should add a new ENS entry and return true', () => { + const controller = new EnsController(); + expect(controller.set('1', name1, address1)).toStrictEqual(true); + expect(controller.state).toStrictEqual({ + ensEntries: { + 1: { + [name1]: { + address: address1Checksum, + chainId: '1', + ensName: name1, + }, + }, + }, + }); + }); + + it('should add a new ENS entry with null address and return true', () => { + const controller = new EnsController(); + expect(controller.set('1', name1, null)).toStrictEqual(true); + expect(controller.state).toStrictEqual({ + ensEntries: { + 1: { + [name1]: { + address: null, + chainId: '1', + ensName: name1, + }, + }, + }, + }); + }); + + it('should update an ENS entry and return true', () => { + const controller = new EnsController(); + expect(controller.set('1', name1, address1)).toStrictEqual(true); + expect(controller.set('1', name1, address2)).toStrictEqual(true); + expect(controller.state).toStrictEqual({ + ensEntries: { + 1: { + [name1]: { + address: address2Checksum, + chainId: '1', + ensName: name1, + }, + }, + }, + }); + }); + + it('should update an ENS entry with null address and return true', () => { + const controller = new EnsController(); + expect(controller.set('1', name1, address1)).toStrictEqual(true); + expect(controller.set('1', name1, null)).toStrictEqual(true); + expect(controller.state).toStrictEqual({ + ensEntries: { + 1: { + [name1]: { + address: null, + chainId: '1', + ensName: name1, + }, + }, + }, + }); + }); + + it('should not update an ENS entry if the address is the same (valid address) and return false', () => { + const controller = new EnsController(); + expect(controller.set('1', name1, address1)).toStrictEqual(true); + expect(controller.set('1', name1, address1)).toStrictEqual(false); + expect(controller.state).toStrictEqual({ + ensEntries: { + 1: { + [name1]: { + address: address1Checksum, + chainId: '1', + ensName: name1, + }, + }, + }, + }); + }); + + it('should not update an ENS entry if the address is the same (null) and return false', () => { + const controller = new EnsController(); + expect(controller.set('1', name1, null)).toStrictEqual(true); + expect(controller.set('1', name1, null)).toStrictEqual(false); + expect(controller.state).toStrictEqual({ + ensEntries: { + 1: { + [name1]: { + address: null, + chainId: '1', + ensName: name1, + }, + }, + }, + }); + }); + + it('should add multiple ENS entries and update without side effects', () => { + const controller = new EnsController(); + expect(controller.set('1', name1, address1)).toStrictEqual(true); + expect(controller.set('1', name2, address2)).toStrictEqual(true); + expect(controller.set('2', name1, address1)).toStrictEqual(true); + expect(controller.set('1', name1, address3)).toStrictEqual(true); + expect(controller.state).toStrictEqual({ + ensEntries: { + 1: { + [name1]: { + address: address3Checksum, + chainId: '1', + ensName: name1, + }, + [name2]: { + address: address2Checksum, + chainId: '1', + ensName: name2, + }, + }, + 2: { + [name1]: { + address: address1Checksum, + chainId: '2', + ensName: name1, + }, + }, + }, + }); + }); + + it('should get ENS entry by chainId and ensName', () => { + const controller = new EnsController(); + expect(controller.set('1', name1, address1)).toStrictEqual(true); + expect(controller.get('1', name1)).toStrictEqual({ + address: address1Checksum, + chainId: '1', + ensName: name1, + }); + }); + + it('should return null when getting nonexistent name', () => { + const controller = new EnsController(); + expect(controller.set('1', name1, address1)).toStrictEqual(true); + expect(controller.get('1', name2)).toBeNull(); + }); + + it('should return null when getting nonexistent chainId', () => { + const controller = new EnsController(); + expect(controller.set('1', name1, address1)).toStrictEqual(true); + expect(controller.get('2', name1)).toBeNull(); + }); + + it('should throw on attempt to set invalid ENS entry: chainId', () => { + const controller = new EnsController(); + expect(() => { + controller.set('a', name1, address1); + }).toThrow( + 'Invalid ENS entry: { chainId:a, ensName:foobarb.eth, address:0x32Be343B94f860124dC4fEe278FDCBD38C102D88}', + ); + expect(controller.state).toStrictEqual({ ensEntries: {} }); + }); + + it('should throw on attempt to set invalid ENS entry: ENS name', () => { + const controller = new EnsController(); + expect(() => { + controller.set('1', 'foo.eth', address1); + }).toThrow('Invalid ENS name: foo.eth'); + expect(controller.state).toStrictEqual({ ensEntries: {} }); + }); + + it('should throw on attempt to set invalid ENS entry: address', () => { + const controller = new EnsController(); + expect(() => { + controller.set('1', name1, 'foo'); + }).toThrow( + 'Invalid ENS entry: { chainId:1, ensName:foobarb.eth, address:foo}', + ); + expect(controller.state).toStrictEqual({ ensEntries: {} }); + }); + + it('should remove an ENS entry and return true', () => { + const controller = new EnsController(); + expect(controller.set('1', name1, address1)).toStrictEqual(true); + expect(controller.delete('1', name1)).toStrictEqual(true); + expect(controller.state).toStrictEqual({ ensEntries: {} }); + }); + + it('should return false if an ENS entry was NOT deleted', () => { + const controller = new EnsController(); + controller.set('1', name1, address1); + expect(controller.delete('1', 'bar')).toStrictEqual(false); + expect(controller.delete('2', 'bar')).toStrictEqual(false); + expect(controller.state).toStrictEqual({ + ensEntries: { + 1: { + [name1]: { + address: address1Checksum, + chainId: '1', + ensName: name1, + }, + }, + }, + }); + }); + + it('should add multiple ENS entries and remove without side effects', () => { + const controller = new EnsController(); + expect(controller.set('1', name1, address1)).toStrictEqual(true); + expect(controller.set('1', name2, address2)).toStrictEqual(true); + expect(controller.set('2', name1, address1)).toStrictEqual(true); + expect(controller.delete('1', name1)).toStrictEqual(true); + expect(controller.state).toStrictEqual({ + ensEntries: { + 1: { + [name2]: { + address: address2Checksum, + chainId: '1', + ensName: name2, + }, + }, + 2: { + [name1]: { + address: address1Checksum, + chainId: '2', + ensName: name1, + }, + }, + }, + }); + }); + + it('should clear all ENS entries', () => { + const controller = new EnsController(); + expect(controller.set('1', name1, address1)).toStrictEqual(true); + expect(controller.set('1', name2, address2)).toStrictEqual(true); + expect(controller.set('2', name1, address1)).toStrictEqual(true); + controller.clear(); + expect(controller.state).toStrictEqual({ ensEntries: {} }); + }); +}); diff --git a/packages/ens-controller/src/EnsController.ts b/packages/ens-controller/src/EnsController.ts new file mode 100644 index 0000000000..be98d5751f --- /dev/null +++ b/packages/ens-controller/src/EnsController.ts @@ -0,0 +1,166 @@ +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; +import { + normalizeEnsName, + isValidHexAddress, + toChecksumHexAddress, +} from '@metamask/controller-utils'; + +/** + * @type EnsEntry + * + * ENS entry representation + * @property chainId - Id of the associated chain + * @property ensName - The ENS name + * @property address - Hex address with the ENS name, or null + */ +export interface EnsEntry { + chainId: string; + ensName: string; + address: string | null; +} + +/** + * @type EnsState + * + * ENS controller state + * @property ensEntries - Object of ENS entry objects + */ +export interface EnsState extends BaseState { + ensEntries: { [chainId: string]: { [ensName: string]: EnsEntry } }; +} + +/** + * Controller that manages a list ENS names and their resolved addresses + * by chainId. A null address indicates an unresolved ENS name. + */ +export class EnsController extends BaseController { + /** + * Name of this controller used during composition + */ + override name = 'EnsController'; + + /** + * Creates an EnsController instance. + * + * @param config - Initial options used to configure this controller. + * @param state - Initial state to set on this controller. + */ + constructor(config?: Partial, state?: Partial) { + super(config, state); + + this.defaultState = { ensEntries: {} }; + + this.initialize(); + } + + /** + * Remove all chain Ids and ENS entries from state. + */ + clear() { + this.update({ ensEntries: {} }); + } + + /** + * Delete an ENS entry. + * + * @param chainId - Parent chain of the ENS entry to delete. + * @param ensName - Name of the ENS entry to delete. + * @returns Boolean indicating if the entry was deleted. + */ + delete(chainId: string, ensName: string): boolean { + const normalizedEnsName = normalizeEnsName(ensName); + if ( + !normalizedEnsName || + !this.state.ensEntries[chainId] || + !this.state.ensEntries[chainId][normalizedEnsName] + ) { + return false; + } + + const ensEntries = Object.assign({}, this.state.ensEntries); + delete ensEntries[chainId][normalizedEnsName]; + + if (Object.keys(ensEntries[chainId]).length === 0) { + delete ensEntries[chainId]; + } + + this.update({ ensEntries }); + return true; + } + + /** + * Retrieve a DNS entry. + * + * @param chainId - Parent chain of the ENS entry to retrieve. + * @param ensName - Name of the ENS entry to retrieve. + * @returns The EnsEntry or null if it does not exist. + */ + get(chainId: string, ensName: string): EnsEntry | null { + const normalizedEnsName = normalizeEnsName(ensName); + + // TODO Explicitly handle the case where `normalizedEnsName` is `null` + // eslint-disable-next-line no-implicit-coercion + return !!normalizedEnsName && this.state.ensEntries[chainId] + ? this.state.ensEntries[chainId][normalizedEnsName] || null + : null; + } + + /** + * Add or update an ENS entry by chainId and ensName. + * + * A null address indicates that the ENS name does not resolve. + * + * @param chainId - Id of the associated chain. + * @param ensName - The ENS name. + * @param address - Associated address (or null) to add or update. + * @returns Boolean indicating if the entry was set. + */ + set(chainId: string, ensName: string, address: string | null): boolean { + if ( + !Number.isInteger(Number.parseInt(chainId, 10)) || + !ensName || + typeof ensName !== 'string' || + (address && !isValidHexAddress(address)) + ) { + throw new Error( + `Invalid ENS entry: { chainId:${chainId}, ensName:${ensName}, address:${address}}`, + ); + } + + const normalizedEnsName = normalizeEnsName(ensName); + if (!normalizedEnsName) { + throw new Error(`Invalid ENS name: ${ensName}`); + } + + const normalizedAddress = address ? toChecksumHexAddress(address) : null; + const subState = this.state.ensEntries[chainId]; + + if ( + subState?.[normalizedEnsName] && + subState[normalizedEnsName].address === normalizedAddress + ) { + return false; + } + + this.update({ + ensEntries: { + ...this.state.ensEntries, + [chainId]: { + ...this.state.ensEntries[chainId], + [normalizedEnsName]: { + address: normalizedAddress, + chainId, + ensName: normalizedEnsName, + }, + }, + }, + }); + return true; + } +} + +export default EnsController; diff --git a/packages/ens-controller/src/index.ts b/packages/ens-controller/src/index.ts new file mode 100644 index 0000000000..14cbf704a6 --- /dev/null +++ b/packages/ens-controller/src/index.ts @@ -0,0 +1 @@ +export * from './EnsController'; diff --git a/packages/ens-controller/tsconfig.build.json b/packages/ens-controller/tsconfig.build.json new file mode 100644 index 0000000000..f9b513ee62 --- /dev/null +++ b/packages/ens-controller/tsconfig.build.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [ + { "path": "../base-controller/tsconfig.build.json" }, + { "path": "../controller-utils/tsconfig.build.json" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/ens-controller/tsconfig.json b/packages/ens-controller/tsconfig.json new file mode 100644 index 0000000000..38d12f2af0 --- /dev/null +++ b/packages/ens-controller/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/scripts/clean-build.sh b/scripts/clean-build.sh new file mode 100755 index 0000000000..ea914103c5 --- /dev/null +++ b/scripts/clean-build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +exec find packages \( -name dist -or -name tsconfig.tsbuildinfo -or -name tsconfig.build.tsbuildinfo \) -print0 | xargs -I {} -0 rm -rf {} diff --git a/tsconfig.build.json b/tsconfig.build.json index e2c5987c4b..6cf1ea5582 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -1,10 +1,9 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "declaration": true, - "declarationDir": "./dist", - "outDir": "./dist", - "rootDir": "./src" - }, - "exclude": ["**/*.test.ts"] + "references": [ + { "path": "./packages/base-controller/tsconfig.build.json" }, + { "path": "./packages/controller-utils/tsconfig.build.json" }, + { "path": "./packages/ens-controller/tsconfig.build.json" } + ], + "files": [], + "include": [] } diff --git a/tsconfig.json b/tsconfig.json index de3572e5f7..d430c62a13 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,13 +1,12 @@ { "compilerOptions": { - "baseUrl": ".", - "esModuleInterop": true, - "inlineSources": true, - "module": "commonjs", - "moduleResolution": "node", - "sourceMap": true, - "strict": true, - "target": "es6" + "noEmit": true }, - "include": ["./types/**/*.d.ts", "./src/**/*.ts"] + "references": [ + { "path": "./packages/base-controller" }, + { "path": "./packages/controller-utils" }, + { "path": "./packages/ens-controller" } + ], + "files": [], + "include": [] } diff --git a/tsconfig.packages.build.json b/tsconfig.packages.build.json new file mode 100644 index 0000000000..7ff3998a9f --- /dev/null +++ b/tsconfig.packages.build.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.packages.json", + "compilerOptions": { + "declaration": true, + "inlineSources": true, + "sourceMap": true + }, + "exclude": ["./jest.config.packages.ts", "**/*.test.ts", "**/jest.config.ts"] +} diff --git a/tsconfig.packages.json b/tsconfig.packages.json new file mode 100644 index 0000000000..326a3dac5b --- /dev/null +++ b/tsconfig.packages.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "composite": true, + "esModuleInterop": true, + "module": "CommonJS", + "moduleResolution": "node", + /* NOTE: This must be synchronized with the `moduleNameMapper` option in `jest.config.packages.json` */ + "paths": { + "@metamask/*": ["../*/src"] + }, + /* We can't enable noEmit because when our subpackages refer to other packages TypeScript will give us a warning */ + /* "noEmit": true, */ + "strict": true, + "target": "es6" + } +} diff --git a/yarn.lock b/yarn.lock index f5a0e38abd..f8053fe934 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,8613 +1,7584 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@apocentre/alias-sampling@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@apocentre/alias-sampling/-/alias-sampling-0.5.3.tgz#897ff181b48ad7b2bcb4ecf29400214888244f08" - integrity sha512-7UDWIIF9hIeJqfKXkNIzkVandlwLf1FWTSdrb9iXvOP8oF544JRXQjCbiTmCv2c9n44n/FIWtehhBfNuAx2CZA== - -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" - integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/code-frame@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/code-frame@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" - integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== - dependencies: - "@babel/highlight" "^7.8.3" - -"@babel/core@^7.1.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" - integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helpers" "^7.5.5" - "@babel/parser" "^7.5.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.7.5": - version "7.8.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.7.tgz#b69017d221ccdeb203145ae9da269d72cf102f3b" - integrity sha512-rBlqF3Yko9cynC5CCFy6+K/w2N+Sq/ff2BPy+Krp7rHlABIr5epbA7OxVeKoMHB39LZOp1UY5SuLjy6uWi35yA== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.8.7" - "@babel/helpers" "^7.8.4" - "@babel/parser" "^7.8.7" - "@babel/template" "^7.8.6" - "@babel/traverse" "^7.8.6" - "@babel/types" "^7.8.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" - integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== - dependencies: - "@babel/types" "^7.5.5" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - trim-right "^1.0.1" - -"@babel/generator@^7.8.6", "@babel/generator@^7.8.7": - version "7.8.8" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.8.tgz#cdcd58caab730834cee9eeadb729e833b625da3e" - integrity sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg== - dependencies: - "@babel/types" "^7.8.7" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== - dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-function-name@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca" - integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA== - dependencies: - "@babel/helper-get-function-arity" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-get-function-arity@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" - integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-module-imports@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" - integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-plugin-utils@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== - -"@babel/helper-plugin-utils@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" - integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== - -"@babel/helper-plugin-utils@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" - integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ== - -"@babel/helper-split-export-declaration@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" - integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== - dependencies: - "@babel/types" "^7.4.4" - -"@babel/helper-split-export-declaration@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" - integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== - -"@babel/helpers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" - integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== - dependencies: - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - -"@babel/helpers@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.4.tgz#754eb3ee727c165e0a240d6c207de7c455f36f73" - integrity sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w== - dependencies: - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.8.4" - "@babel/types" "^7.8.3" - -"@babel/highlight@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" - integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/highlight@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" - integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" - integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== - -"@babel/parser@^7.10.4": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" - integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q== - -"@babel/parser@^7.7.5", "@babel/parser@^7.8.6", "@babel/parser@^7.8.7": - version "7.8.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.8.tgz#4c3b7ce36db37e0629be1f0d50a571d2f86f6cd4" - integrity sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c" - integrity sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-transform-runtime@^7.5.5": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.2.tgz#2669f67c1fae0ae8d8bf696e4263ad52cb98b6f8" - integrity sha512-cqULw/QB4yl73cS5Y0TZlQSjDvNkzDbu0FurTZyHlJpWE5T3PCMdnyV+xXoH1opr1ldyHODe3QAX3OMAii5NxA== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - resolve "^1.8.1" - semver "^5.5.1" - -"@babel/runtime@^7.5.5": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz#935122c74c73d2240cafd32ddb5fc2a6cd35cf1f" - integrity sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/template@^7.1.0", "@babel/template@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" - integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/template@^7.3.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" - integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/template@^7.7.4", "@babel/template@^7.8.3", "@babel/template@^7.8.6": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" - integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/parser" "^7.8.6" - "@babel/types" "^7.8.6" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" - integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.5.5" - "@babel/types" "^7.5.5" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/traverse@^7.7.4", "@babel/traverse@^7.8.4", "@babel/traverse@^7.8.6": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.6.tgz#acfe0c64e1cd991b3e32eae813a6eb564954b5ff" - integrity sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.8.6" - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/parser" "^7.8.6" - "@babel/types" "^7.8.6" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" - integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.10.4", "@babel/types@^7.3.3": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" - integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.19" - to-fast-properties "^2.0.0" - -"@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.8.7": - version "7.8.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.7.tgz#1fc9729e1acbb2337d5b6977a63979b4819f5d1d" - integrity sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cnakazawa/watch@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" - integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@es-joy/jsdoccomment@0.10.8": - version "0.10.8" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.10.8.tgz#b3152887e25246410ed4ea569a55926ec13b2b05" - integrity sha512-3P1JiGL4xaR9PoTKUHa2N/LKwa2/eUdRqGwijMWWgBqbFEqJUVpmaOi2TcjcemrsRMgFLBzQCK4ToPhrSVDiFQ== - dependencies: - comment-parser "1.2.4" - esquery "^1.4.0" - jsdoc-type-pratt-parser "1.1.1" - -"@eslint/eslintrc@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" - integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@ethereumjs/common@^2.0.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.0.tgz#feb96fb154da41ee2cc2c5df667621a440f36348" - integrity sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA== - dependencies: - crc-32 "^1.2.0" - ethereumjs-util "^7.1.3" - -"@ethereumjs/common@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.3.1.tgz#d692e3aff5adb35dd587dd1e6caab69e0ed2fa0b" - integrity sha512-V8hrULExoq0H4HFs3cCmdRGbgmipmlNzak6Xg34nHYfQyqkSdrCuflvYjyWmsNpI8GtrcZhzifAbgX/1C1Cjwg== - dependencies: - crc-32 "^1.2.0" - ethereumjs-util "^7.0.10" - -"@ethereumjs/common@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.4.0.tgz#2d67f6e6ba22246c5c89104e6b9a119fb3039766" - integrity sha512-UdkhFWzWcJCZVsj1O/H8/oqj/0RVYjLc1OhPjBrQdALAkQHpCp8xXI4WLnuGTADqTdJZww0NtgwG+TRPkXt27w== - dependencies: - crc-32 "^1.2.0" - ethereumjs-util "^7.1.0" - -"@ethereumjs/tx@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.0.0.tgz#8dfd91ed6e91e63996e37b3ddc340821ebd48c81" - integrity sha512-H9tfy6qgYxPXvt1TSObfVmVjlF43OoQqoPQ3PJsG2JiuqaMHj5ettV1pGFEC3FamENDBkl6vD6niQEvIlXv/VQ== - dependencies: - "@ethereumjs/common" "^2.0.0" - ethereumjs-util "^7.0.7" - -"@ethereumjs/tx@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.2.1.tgz#65f5f1c11541764f08377a94ba4b0dcbbd67739e" - integrity sha512-i9V39OtKvwWos1uVNZxdVhd7zFOyzFLjgt69CoiOY0EmXugS0HjO3uxpLBSglDKFMRriuGqw6ddKEv+RP1UNEw== - dependencies: - "@ethereumjs/common" "^2.3.1" - ethereumjs-util "^7.0.10" - -"@ethereumjs/tx@^3.3.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.3.0.tgz#14ed1b7fa0f28e1cd61e3ecbdab824205f6a4378" - integrity sha512-yTwEj2lVzSMgE6Hjw9Oa1DZks/nKTWM8Wn4ykDNapBPua2f4nXO3qKnni86O6lgDj5fVNRqbDsD0yy7/XNGDEA== - dependencies: - "@ethereumjs/common" "^2.4.0" - ethereumjs-util "^7.1.0" - -"@ethersproject/abi@5.4.0", "@ethersproject/abi@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.4.0.tgz#a6d63bdb3672f738398846d4279fa6b6c9818242" - integrity sha512-9gU2H+/yK1j2eVMdzm6xvHSnMxk8waIHQGYCZg5uvAyH0rsAzxkModzBSpbAkAuhKFEovC2S9hM4nPuLym8IZw== - dependencies: - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - -"@ethersproject/abstract-provider@5.4.0", "@ethersproject/abstract-provider@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.4.0.tgz#415331031b0f678388971e1987305244edc04e1d" - integrity sha512-vPBR7HKUBY0lpdllIn7tLIzNN7DrVnhCLKSzY0l8WAwxz686m/aL7ASDzrVxV93GJtIub6N2t4dfZ29CkPOxgA== - dependencies: - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/networks" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/web" "^5.4.0" - -"@ethersproject/abstract-signer@5.4.0", "@ethersproject/abstract-signer@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.4.0.tgz#cd5f50b93141ee9f9f49feb4075a0b3eafb57d65" - integrity sha512-AieQAzt05HJZS2bMofpuxMEp81AHufA5D6M4ScKwtolj041nrfIbIi8ciNW7+F59VYxXq+V4c3d568Q6l2m8ew== - dependencies: - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - -"@ethersproject/address@5.4.0", "@ethersproject/address@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.4.0.tgz#ba2d00a0f8c4c0854933b963b9a3a9f6eb4a37a3" - integrity sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q== - dependencies: - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/rlp" "^5.4.0" - -"@ethersproject/base64@5.4.0", "@ethersproject/base64@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.4.0.tgz#7252bf65295954c9048c7ca5f43e5c86441b2a9a" - integrity sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ== - dependencies: - "@ethersproject/bytes" "^5.4.0" - -"@ethersproject/basex@5.4.0", "@ethersproject/basex@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.4.0.tgz#0a2da0f4e76c504a94f2b21d3161ed9438c7f8a6" - integrity sha512-J07+QCVJ7np2bcpxydFVf/CuYo9mZ7T73Pe7KQY4c1lRlrixMeblauMxHXD0MPwFmUHZIILDNViVkykFBZylbg== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - -"@ethersproject/bignumber@5.4.0", "@ethersproject/bignumber@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.4.0.tgz#be8dea298c0ec71208ee60f0b245be0761217ad9" - integrity sha512-OXUu9f9hO3vGRIPxU40cignXZVaYyfx6j9NNMjebKdnaCL3anCLSSy8/b8d03vY6dh7duCC0kW72GEC4tZer2w== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - bn.js "^4.11.9" - -"@ethersproject/bytes@5.4.0", "@ethersproject/bytes@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.4.0.tgz#56fa32ce3bf67153756dbaefda921d1d4774404e" - integrity sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA== - dependencies: - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/constants@5.4.0", "@ethersproject/constants@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.4.0.tgz#ee0bdcb30bf1b532d2353c977bf2ef1ee117958a" - integrity sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q== - dependencies: - "@ethersproject/bignumber" "^5.4.0" - -"@ethersproject/contracts@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.4.0.tgz#e05fe6bd33acc98741e27d553889ec5920078abb" - integrity sha512-hkO3L3IhS1Z3ZtHtaAG/T87nQ7KiPV+/qnvutag35I0IkiQ8G3ZpCQ9NNOpSCzn4pWSW4CfzmtE02FcqnLI+hw== - dependencies: - "@ethersproject/abi" "^5.4.0" - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - -"@ethersproject/hash@5.4.0", "@ethersproject/hash@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.4.0.tgz#d18a8e927e828e22860a011f39e429d388344ae0" - integrity sha512-xymAM9tmikKgbktOCjW60Z5sdouiIIurkZUr9oW5NOex5uwxrbsYG09kb5bMcNjlVeJD3yPivTNzViIs1GCbqA== - dependencies: - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - -"@ethersproject/hdnode@5.4.0", "@ethersproject/hdnode@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.4.0.tgz#4bc9999b9a12eb5ce80c5faa83114a57e4107cac" - integrity sha512-pKxdS0KAaeVGfZPp1KOiDLB0jba11tG6OP1u11QnYfb7pXn6IZx0xceqWRr6ygke8+Kw74IpOoSi7/DwANhy8Q== - dependencies: - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/basex" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/pbkdf2" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" - "@ethersproject/signing-key" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/wordlists" "^5.4.0" - -"@ethersproject/json-wallets@5.4.0", "@ethersproject/json-wallets@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.4.0.tgz#2583341cfe313fc9856642e8ace3080154145e95" - integrity sha512-igWcu3fx4aiczrzEHwG1xJZo9l1cFfQOWzTqwRw/xcvxTk58q4f9M7cjh51EKphMHvrJtcezJ1gf1q1AUOfEQQ== - dependencies: - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/hdnode" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/pbkdf2" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/random" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@5.4.0", "@ethersproject/keccak256@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.4.0.tgz#7143b8eea4976080241d2bd92e3b1f1bf7025318" - integrity sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A== - dependencies: - "@ethersproject/bytes" "^5.4.0" - js-sha3 "0.5.7" - -"@ethersproject/logger@5.4.0", "@ethersproject/logger@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.4.0.tgz#f39adadf62ad610c420bcd156fd41270e91b3ca9" - integrity sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ== - -"@ethersproject/networks@5.4.1", "@ethersproject/networks@^5.4.0": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.4.1.tgz#2ce83b8e42aa85216e5d277a7952d97b6ce8d852" - integrity sha512-8SvowCKz9Uf4xC5DTKI8+il8lWqOr78kmiqAVLYT9lzB8aSmJHQMD1GSuJI0CW4hMAnzocpGpZLgiMdzsNSPig== - dependencies: - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/pbkdf2@5.4.0", "@ethersproject/pbkdf2@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.4.0.tgz#ed88782a67fda1594c22d60d0ca911a9d669641c" - integrity sha512-x94aIv6tiA04g6BnazZSLoRXqyusawRyZWlUhKip2jvoLpzJuLb//KtMM6PEovE47pMbW+Qe1uw+68ameJjB7g== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" - -"@ethersproject/properties@5.4.0", "@ethersproject/properties@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.4.0.tgz#38ba20539b44dcc5d5f80c45ad902017dcdbefe7" - integrity sha512-7jczalGVRAJ+XSRvNA6D5sAwT4gavLq3OXPuV/74o3Rd2wuzSL035IMpIMgei4CYyBdialJMrTqkOnzccLHn4A== - dependencies: - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/providers@5.4.1": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.4.1.tgz#654267b563b833046b9c9647647cfc8267cb93b4" - integrity sha512-p06eiFKz8nu/5Ju0kIX024gzEQIgE5pvvGrBCngpyVjpuLtUIWT3097Agw4mTn9/dEA0FMcfByzFqacBMSgCVg== - dependencies: - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/basex" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/networks" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/random" "^5.4.0" - "@ethersproject/rlp" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/web" "^5.4.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@5.4.0", "@ethersproject/random@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.4.0.tgz#9cdde60e160d024be39cc16f8de3b9ce39191e16" - integrity sha512-pnpWNQlf0VAZDEOVp1rsYQosmv2o0ITS/PecNw+mS2/btF8eYdspkN0vIXrCMtkX09EAh9bdk8GoXmFXM1eAKw== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/rlp@5.4.0", "@ethersproject/rlp@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.4.0.tgz#de61afda5ff979454e76d3b3310a6c32ad060931" - integrity sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/sha2@5.4.0", "@ethersproject/sha2@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.4.0.tgz#c9a8db1037014cbc4e9482bd662f86c090440371" - integrity sha512-siheo36r1WD7Cy+bDdE1BJ8y0bDtqXCOxRMzPa4bV1TGt/eTUUt03BHoJNB6reWJD8A30E/pdJ8WFkq+/uz4Gg== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - hash.js "1.1.7" - -"@ethersproject/signing-key@5.4.0", "@ethersproject/signing-key@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.4.0.tgz#2f05120984e81cf89a3d5f6dec5c68ee0894fbec" - integrity sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - bn.js "^4.11.9" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/solidity@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.4.0.tgz#1305e058ea02dc4891df18b33232b11a14ece9ec" - integrity sha512-XFQTZ7wFSHOhHcV1DpcWj7VXECEiSrBuv7JErJvB9Uo+KfCdc3QtUZV+Vjh/AAaYgezUEKbCtE6Khjm44seevQ== - dependencies: - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - -"@ethersproject/strings@5.4.0", "@ethersproject/strings@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.4.0.tgz#fb12270132dd84b02906a8d895ae7e7fa3d07d9a" - integrity sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/transactions@5.4.0", "@ethersproject/transactions@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.4.0.tgz#a159d035179334bd92f340ce0f77e83e9e1522e0" - integrity sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ== - dependencies: - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/rlp" "^5.4.0" - "@ethersproject/signing-key" "^5.4.0" - -"@ethersproject/units@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.4.0.tgz#d57477a4498b14b88b10396062c8cbbaf20c79fe" - integrity sha512-Z88krX40KCp+JqPCP5oPv5p750g+uU6gopDYRTBGcDvOASh6qhiEYCRatuM/suC4S2XW9Zz90QI35MfSrTIaFg== - dependencies: - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/wallet@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.4.0.tgz#fa5b59830b42e9be56eadd45a16a2e0933ad9353" - integrity sha512-wU29majLjM6AjCjpat21mPPviG+EpK7wY1+jzKD0fg3ui5fgedf2zEu1RDgpfIMsfn8fJHJuzM4zXZ2+hSHaSQ== - dependencies: - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/hdnode" "^5.4.0" - "@ethersproject/json-wallets" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/random" "^5.4.0" - "@ethersproject/signing-key" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/wordlists" "^5.4.0" - -"@ethersproject/web@5.4.0", "@ethersproject/web@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.4.0.tgz#49fac173b96992334ed36a175538ba07a7413d1f" - integrity sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og== - dependencies: - "@ethersproject/base64" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - -"@ethersproject/wordlists@5.4.0", "@ethersproject/wordlists@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.4.0.tgz#f34205ec3bbc9e2c49cadaee774cf0b07e7573d7" - integrity sha512-FemEkf6a+EBKEPxlzeVgUaVSodU7G0Na89jqKjmWMlDB0tomoU8RlEMgUvXyqtrg8N4cwpLh8nyRnm1Nay1isA== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz#10602de5570baea82f8afbfa2630b24e7a8cfe5b" - integrity sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" - integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== - -"@jest/console@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.3.0.tgz#ed04063efb280c88ba87388b6f16427c0a85c856" - integrity sha512-/5Pn6sJev0nPUcAdpJHMVIsA8sKizL2ZkcKPE5+dJrCccks7tcM7c9wbgHudBJbxXLoTbqsHkG1Dofoem4F09w== - dependencies: - "@jest/types" "^26.3.0" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.3.0" - jest-util "^26.3.0" - slash "^3.0.0" - -"@jest/core@^26.4.2": - version "26.4.2" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.4.2.tgz#85d0894f31ac29b5bab07aa86806d03dd3d33edc" - integrity sha512-sDva7YkeNprxJfepOctzS8cAk9TOekldh+5FhVuXS40+94SHbiicRO1VV2tSoRtgIo+POs/Cdyf8p76vPTd6dg== - dependencies: - "@jest/console" "^26.3.0" - "@jest/reporters" "^26.4.1" - "@jest/test-result" "^26.3.0" - "@jest/transform" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.3.0" - jest-config "^26.4.2" - jest-haste-map "^26.3.0" - jest-message-util "^26.3.0" - jest-regex-util "^26.0.0" - jest-resolve "^26.4.0" - jest-resolve-dependencies "^26.4.2" - jest-runner "^26.4.2" - jest-runtime "^26.4.2" - jest-snapshot "^26.4.2" - jest-util "^26.3.0" - jest-validate "^26.4.2" - jest-watcher "^26.3.0" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.5.0.tgz#aa33b0c21a716c65686638e7ef816c0e3a0c7b37" - integrity sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA== - dependencies: - "@jest/fake-timers" "^25.5.0" - "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - -"@jest/environment@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.3.0.tgz#e6953ab711ae3e44754a025f838bde1a7fd236a0" - integrity sha512-EW+MFEo0DGHahf83RAaiqQx688qpXgl99wdb8Fy67ybyzHwR1a58LHcO376xQJHfmoXTu89M09dH3J509cx2AA== - dependencies: - "@jest/fake-timers" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/node" "*" - jest-mock "^26.3.0" - -"@jest/fake-timers@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.5.0.tgz#46352e00533c024c90c2bc2ad9f2959f7f114185" - integrity sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ== - dependencies: - "@jest/types" "^25.5.0" - jest-message-util "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - lolex "^5.0.0" - -"@jest/fake-timers@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.3.0.tgz#f515d4667a6770f60ae06ae050f4e001126c666a" - integrity sha512-ZL9ytUiRwVP8ujfRepffokBvD2KbxbqMhrXSBhSdAhISCw3gOkuntisiSFv+A6HN0n0fF4cxzICEKZENLmW+1A== - dependencies: - "@jest/types" "^26.3.0" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.3.0" - jest-mock "^26.3.0" - jest-util "^26.3.0" - -"@jest/globals@^26.4.2": - version "26.4.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.4.2.tgz#73c2a862ac691d998889a241beb3dc9cada40d4a" - integrity sha512-Ot5ouAlehhHLRhc+sDz2/9bmNv9p5ZWZ9LE1pXGGTCXBasmi5jnYjlgYcYt03FBwLmZXCZ7GrL29c33/XRQiow== - dependencies: - "@jest/environment" "^26.3.0" - "@jest/types" "^26.3.0" - expect "^26.4.2" - -"@jest/reporters@^26.4.1": - version "26.4.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.4.1.tgz#3b4d6faf28650f3965f8b97bc3d114077fb71795" - integrity sha512-aROTkCLU8++yiRGVxLsuDmZsQEKO6LprlrxtAuzvtpbIFl3eIjgIf3EUxDKgomkS25R9ZzwGEdB5weCcBZlrpQ== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.3.0" - "@jest/test-result" "^26.3.0" - "@jest/transform" "^26.3.0" - "@jest/types" "^26.3.0" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.3.0" - jest-resolve "^26.4.0" - jest-util "^26.3.0" - jest-worker "^26.3.0" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^5.0.1" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.3.0.tgz#0e646e519883c14c551f7b5ae4ff5f1bfe4fc3d9" - integrity sha512-hWX5IHmMDWe1kyrKl7IhFwqOuAreIwHhbe44+XH2ZRHjrKIh0LO5eLQ/vxHFeAfRwJapmxuqlGAEYLadDq6ZGQ== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.3.0.tgz#46cde01fa10c0aaeb7431bf71e4a20d885bc7fdb" - integrity sha512-a8rbLqzW/q7HWheFVMtghXV79Xk+GWwOK1FrtimpI5n1la2SY0qHri3/b0/1F0Ve0/yJmV8pEhxDfVwiUBGtgg== - dependencies: - "@jest/console" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.4.2": - version "26.4.2" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.4.2.tgz#58a3760a61eec758a2ce6080201424580d97cbba" - integrity sha512-83DRD8N3M0tOhz9h0bn6Kl6dSp+US6DazuVF8J9m21WAp5x7CqSMaNycMP0aemC/SH/pDQQddbsfHRTBXVUgog== - dependencies: - "@jest/test-result" "^26.3.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.3.0" - jest-runner "^26.4.2" - jest-runtime "^26.4.2" - -"@jest/transform@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.3.0.tgz#c393e0e01459da8a8bfc6d2a7c2ece1a13e8ba55" - integrity sha512-Isj6NB68QorGoFWvcOjlUhpkT56PqNIsXKR7XfvoDlCANn/IANlh8DrKAA2l2JKC3yWSMH5wS0GwuQM20w3b2A== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.3.0" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.3.0" - jest-regex-util "^26.0.0" - jest-util "^26.3.0" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" - integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" - -"@jest/types@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.3.0.tgz#97627bf4bdb72c55346eef98e3b3f7ddc4941f71" - integrity sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@jest/types@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.2.5.tgz#420765c052605e75686982d24b061b4cbba22132" - integrity sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - -"@keystonehq/base-eth-keyring@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@keystonehq/base-eth-keyring/-/base-eth-keyring-0.4.0.tgz#7667d2b6e38fc90553ce934c0c60c89329315b92" - integrity sha512-CDlRNGdrHDHtBS0pAdrsjNNbyi7tn7mGrwmgiGQ6F8rhYXDZ/TcvYV1AXlzCe0eFyjPdMGdl+PgZRwBpVRtpQQ== - dependencies: - "@ethereumjs/tx" "3.0.0" - "@keystonehq/bc-ur-registry-eth" "^0.9.0" - ethereumjs-util "^7.0.8" - hdkey "^2.0.1" - uuid "^8.3.2" - -"@keystonehq/bc-ur-registry-eth@^0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@keystonehq/bc-ur-registry-eth/-/bc-ur-registry-eth-0.9.0.tgz#607428945029a06ec17ce3288caf53a0cbd8cc22" - integrity sha512-OVRT8Op+ZlOU9EBMxPBtQLrQZKzsV3DlfLq8P1T+Dq7WmGQNsRmQPchgju9qOlIIvmuAKaKdGXNN9W2qpTBAfA== - dependencies: - "@keystonehq/bc-ur-registry" "^0.5.0-alpha.5" - ethereumjs-util "^7.0.8" - hdkey "^2.0.1" - uuid "^8.3.2" - -"@keystonehq/bc-ur-registry@^0.5.0-alpha.5": - version "0.5.0-alpha.5" - resolved "https://registry.yarnpkg.com/@keystonehq/bc-ur-registry/-/bc-ur-registry-0.5.0-alpha.5.tgz#3d1a7eab980e8445c1596cdde704215c96d6b88a" - integrity sha512-T80XI+c8pWnkq9ZbuadlhFq/+8o4TcHtq+LQsK1XfjkhBqH75tcwim0310gKxavOhaSoC1i8dSqAnrFpj+5dJw== - dependencies: - "@ngraveio/bc-ur" "^1.1.5" - base58check "^2.0.0" - tslib "^2.3.0" - -"@keystonehq/metamask-airgapped-keyring@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@keystonehq/metamask-airgapped-keyring/-/metamask-airgapped-keyring-0.3.0.tgz#3de02b268b28d9f2e2e728a10cad8cfc17870c3c" - integrity sha512-CkiQGRPYM8CBeb8GsrrsTXpdHACl9NnoeWGQDY7DXGiy3s6u7WQ6TXal7K+wAHdU4asBzTaK2SNPZ/eIvGiAfg== - dependencies: - "@ethereumjs/tx" "^3.3.0" - "@keystonehq/base-eth-keyring" "^0.4.0" - "@keystonehq/bc-ur-registry-eth" "^0.9.0" - "@metamask/obs-store" "^7.0.0" - rlp "^2.2.6" - uuid "^8.3.2" - -"@lavamoat/aa@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@lavamoat/aa/-/aa-2.0.1.tgz#fff7605101c9b7a5dd6495e999a492010fba702f" - integrity sha512-lS0DccPZaZyxEqs3+zj76cITrJdaazfIoTs8J3tjS9uA3yvFmZ/QFPsgE5AZxyoO8HPtaz5bGa8x605iNlBVXA== - dependencies: - resolve "^1.20.0" - -"@lavamoat/allow-scripts@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@lavamoat/allow-scripts/-/allow-scripts-2.0.2.tgz#57b4670e30ff720c306fff9adf775689bba0d999" - integrity sha512-bJUXKDau/NgAGngKKLDfbx72gBhgTOUSRgYA8RuHuEX1OgAIk8QMlcPDvwhBCb26mjEHDnxlp5F/Uov0uPEbQw== - dependencies: - "@lavamoat/aa" "^2.0.1" - "@npmcli/run-script" "^1.8.1" - yargs "^16.2.0" - -"@metamask/auto-changelog@^2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@metamask/auto-changelog/-/auto-changelog-2.5.0.tgz#078f38142a3086fdb5556c758969a015c71dfdc9" - integrity sha512-39FeU98Poll3eTqv/bggqo3Yisza0WQJ8l9IiYloMVa2LV8XqTNqVkS4cNEU/5yq62n47JSAv6lZBtWCqeAjZQ== - dependencies: - diff "^5.0.0" - execa "^5.1.1" - semver "^7.3.5" - yargs "^17.0.1" - -"@metamask/bip39@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@metamask/bip39/-/bip39-4.0.0.tgz#1cb867a8454e3d45d065107b4e070d58bdb64aac" - integrity sha512-xH2g8mFe9p2WePnKeQJH4U8MB6pWPyvwpsz4stb0YdnMOR7cKA6Jm/KOSFiPKr1i9+AzNDImt/XxhwF5ej4jXQ== - dependencies: - "@types/node" "11.11.6" - create-hash "^1.1.0" - pbkdf2 "^3.0.9" - randombytes "^2.0.1" - -"@metamask/contract-metadata@^1.34.0": - version "1.34.0" - resolved "https://registry.yarnpkg.com/@metamask/contract-metadata/-/contract-metadata-1.34.0.tgz#3e6930d7c19b0cfaae859396e6b399275906ac4b" - integrity sha512-OAHJpVgmxl+cKbKAJgYfKEpT0w7OzHftrWLW+RPCe7WbZCOUZBly+DJz/qRlSyLlBV8rcVR30ftSX8xbxa30Pg== - -"@metamask/eslint-config-jest@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@metamask/eslint-config-jest/-/eslint-config-jest-9.0.0.tgz#516fdf1f03f6f006b26ca790bf748e2189d19d17" - integrity sha512-tImEEWNRedcIMHZ3pmXDAQ+6xS61G3IEyqKf2+1xSMEMaa94KM+vo6v3GM7YB+M1DsErzgx3g70fEYtPItU4pw== - -"@metamask/eslint-config-nodejs@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@metamask/eslint-config-nodejs/-/eslint-config-nodejs-9.0.0.tgz#ec737a47c04febfb921ce844362d875ca2cae9e7" - integrity sha512-kPUrMPdpGeapbdG+LxysnDNzM9SlBNUvqVl1XoKnOGjo1pbZXB8hOI36PT3IlR1qa2FJumKYfgDSu7JLmOLxqQ== - -"@metamask/eslint-config-typescript@^9.0.1": - version "9.0.1" - resolved "https://registry.yarnpkg.com/@metamask/eslint-config-typescript/-/eslint-config-typescript-9.0.1.tgz#900d53579ce074734ac9bf4e3f66fc20b92bd6af" - integrity sha512-+W7MXCoq8Q29wvkAv0ycwKB82xMbl+LfkUoM8oWN4n7vyMDXgcgbNjY7ug+quJPZfDTJJ7fxgPmG8m4LrkEImw== - -"@metamask/eslint-config@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@metamask/eslint-config/-/eslint-config-9.0.0.tgz#22d4911b705f7e4e566efbdda0e37912da33e30f" - integrity sha512-mWlLGQKjXXFOj9EtDClKSoTLeQuPW2kM1w3EpUMf4goYAQ+kLXCCa8pEff6h8ApWAnjhYmXydA1znQ2J4XvD+A== - -"@metamask/eth-hd-keyring@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@metamask/eth-hd-keyring/-/eth-hd-keyring-4.0.2.tgz#0a81556a556b361755c8d6fb5aced1ce5be0331c" - integrity sha512-v47VOTCCmZUZ6uxM5tQNoasQjLdrZADmgph2fhk4m7zKVUxDvYFU7FJT3Rm55fk8mg+dKSbEObDriqbdWeBbcA== - dependencies: - "@metamask/bip39" "^4.0.0" - "@metamask/eth-sig-util" "^4.0.0" - eth-simple-keyring "^4.2.0" - ethereumjs-util "^7.0.9" - ethereumjs-wallet "^1.0.1" - -"@metamask/eth-sig-util@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz#3ad61f6ea9ad73ba5b19db780d40d9aae5157088" - integrity sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ== - dependencies: - ethereumjs-abi "^0.6.8" - ethereumjs-util "^6.2.1" - ethjs-util "^0.1.6" - tweetnacl "^1.0.3" - tweetnacl-util "^0.15.1" - -"@metamask/metamask-eth-abis@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@metamask/metamask-eth-abis/-/metamask-eth-abis-3.0.0.tgz#eccc0746b3ab1ab63000444403819c16e88b5272" - integrity sha512-YtIl4e1VzqwwHGafuLIVPqbcWWWqQ0Ezo8/Ci5m5OGllqE2oTTx9iVHdUmXNkgCVD37SBfwn/fm/S1IGkM8BQA== - -"@metamask/obs-store@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@metamask/obs-store/-/obs-store-7.0.0.tgz#6cae5f28306bb3e83a381bc9ae22682316095bd3" - integrity sha512-Tr61Uu9CGXkCg5CZwOYRMQERd+y6fbtrtLd/PzDTPHO5UJpmSbU+7MPcQK7d1DwZCOCeCIvhmZSUCvYliC8uGw== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - through2 "^2.0.3" - -"@metamask/safe-event-emitter@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c" - integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== - -"@metamask/types@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@metamask/types/-/types-1.1.0.tgz#9bd14b33427932833c50c9187298804a18c2e025" - integrity sha512-EEV/GjlYkOSfSPnYXfOosxa3TqYtIW3fhg6jdw+cok/OhMgNn4wCfbENFqjytrHMU2f7ZKtBAvtiP5V8H44sSw== - -"@ngraveio/bc-ur@^1.1.5": - version "1.1.6" - resolved "https://registry.yarnpkg.com/@ngraveio/bc-ur/-/bc-ur-1.1.6.tgz#8f8c75fff22f6a5e4dfbc5a6b540d7fe8f42cd39" - integrity sha512-G+2XgjXde2IOcEQeCwR250aS43/Swi7gw0FuETgJy2c3HqF8f88SXDMsIGgJlZ8jXd0GeHR4aX0MfjXf523UZg== - dependencies: - "@apocentre/alias-sampling" "^0.5.3" - assert "^2.0.0" - bignumber.js "^9.0.1" - cbor-sync "^1.0.4" - crc "^3.8.0" - jsbi "^3.1.5" - sha.js "^2.4.11" - -"@nodelib/fs.scandir@2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" - integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== - dependencies: - "@nodelib/fs.stat" "2.0.3" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" - integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" - integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== - dependencies: - "@nodelib/fs.scandir" "2.1.3" - fastq "^1.6.0" - -"@npmcli/node-gyp@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz#3cdc1f30e9736dbc417373ed803b42b1a0a29ede" - integrity sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg== - -"@npmcli/promise-spawn@^1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5" - integrity sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg== - dependencies: - infer-owner "^1.0.4" - -"@npmcli/run-script@^1.8.1": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-1.8.5.tgz#f250a0c5e1a08a792d775a315d0ff42fc3a51e1d" - integrity sha512-NQspusBCpTjNwNRFMtz2C5MxoxyzlbuJ4YEhxAKrIonTiirKDtatsZictx9RgamQIx6+QuHMNmPl0wQdoESs9A== - dependencies: - "@npmcli/node-gyp" "^1.0.2" - "@npmcli/promise-spawn" "^1.3.2" - infer-owner "^1.0.4" - node-gyp "^7.1.0" - read-package-json-fast "^2.0.1" - -"@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.8.1": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" - integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== - dependencies: - type-detect "4.0.8" - -"@sinonjs/commons@^1.7.0": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.1.tgz#da5fd19a5f71177a53778073978873964f49acf1" - integrity sha512-Debi3Baff1Qu1Unc3mjJ96MgpbwTn43S1+9yJ0llWygPwDNu2aaWBD6yc9y/Z8XDRNhx7U+u2UDg2OGQXkclUQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.0", "@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@sinonjs/samsam@^5.3.1": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-5.3.1.tgz#375a45fe6ed4e92fca2fb920e007c48232a6507f" - integrity sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg== - dependencies: - "@sinonjs/commons" "^1.6.0" - lodash.get "^4.4.2" - type-detect "^4.0.8" - -"@sinonjs/text-encoding@^0.7.1": - version "0.7.1" - resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" - integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.9" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d" - integrity sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" - integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f" - integrity sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw== - dependencies: - "@babel/types" "^7.3.0" - -"@types/bn.js@*": - version "4.11.5" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.5.tgz#40e36197433f78f807524ec623afcf0169ac81dc" - integrity sha512-AEAZcIZga0JgVMHNtl1CprA/hXX7/wPt79AgR4XqaDt7jyj3QWYw6LPoOiznPtugDmlubUnAahMs2PFxGcQrng== - dependencies: - "@types/node" "*" - -"@types/bn.js@^4.11.3": - version "4.11.6" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" - integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== - dependencies: - "@types/node" "*" - -"@types/bn.js@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" - integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== - dependencies: - "@types/node" "*" - -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - -"@types/deep-freeze-strict@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@types/deep-freeze-strict/-/deep-freeze-strict-1.1.0.tgz#447a6a2576191344aa42310131dd3df5c41492c4" - integrity sha1-RHpqJXYZE0SqQjEBMd099cQUksQ= - -"@types/glob@^7.1.1": - version "7.1.4" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672" - integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/graceful-fs@^4.1.2": - version "4.1.3" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.3.tgz#039af35fe26bec35003e8d86d2ee9c586354348f" - integrity sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" - integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== - -"@types/istanbul-lib-report@*": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" - integrity sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" - integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA== - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest-when@^2.7.3": - version "2.7.3" - resolved "https://registry.yarnpkg.com/@types/jest-when/-/jest-when-2.7.3.tgz#40735b320d8655ebff01123cb58afbdaf8274658" - integrity sha512-BdDZnKj3ZO1VsRlJFyRx6yLa0hG9++qetnBKhESjCGRVAm6S4aaKXXLm9xGFmtAQpzuMC44wxhvkG2cl6axvyQ== - dependencies: - "@types/jest" "*" - -"@types/jest@*": - version "27.0.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.0.2.tgz#ac383c4d4aaddd29bbf2b916d8d105c304a5fcd7" - integrity sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA== - dependencies: - jest-diff "^27.0.0" - pretty-format "^27.0.0" - -"@types/jest@26.x": - version "26.0.13" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.13.tgz#5a7b9d5312f5dd521a38329c38ee9d3802a0b85e" - integrity sha512-sCzjKow4z9LILc6DhBvn5AkIfmQzDZkgtVVKmGwVrs5tuid38ws281D4l+7x1kP487+FlKDh5kfMZ8WSPAdmdA== - dependencies: - jest-diff "^25.2.1" - pretty-format "^25.2.1" - -"@types/jest@^26.0.22": - version "26.0.22" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.22.tgz#8308a1debdf1b807aa47be2838acdcd91e88fbe6" - integrity sha512-eeWwWjlqxvBxc4oQdkueW5OF/gtfSceKk4OnOAGlUSwS/liBRtZppbJuz1YkgbrbfGOoeBHun9fOvXnjNwrSOw== - dependencies: - jest-diff "^26.0.0" - pretty-format "^26.0.0" - -"@types/json-schema@^7.0.3": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" - integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== - -"@types/json-schema@^7.0.7": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= - -"@types/minimatch@*": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== - -"@types/node@*": - version "10.14.15" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.15.tgz#e8f7729b631be1b02ae130ff0b61f3e018000640" - integrity sha512-CBR5avlLcu0YCILJiDIXeU2pTw7UK/NIxfC63m7d7CVamho1qDEzXKkOtEauQRPMy6MI8mLozth+JJkas7HY6g== - -"@types/node@11.11.6": - version "11.11.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" - integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== - -"@types/node@^14.14.31": - version "14.14.31" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055" - integrity sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g== - -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/pbkdf2@^3.0.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" - integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== - dependencies: - "@types/node" "*" - -"@types/prettier@^2.0.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.0.tgz#5f96562c1075ee715a5b138f0b7f591c1f40f6b8" - integrity sha512-hiYA88aHiEIgDmeKlsyVsuQdcFn3Z2VuFd/Xm/HCnGnPD8UFU5BM128uzzRVVGEzKDKYUrRsRH9S2o+NUy/3IA== - -"@types/punycode@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@types/punycode/-/punycode-2.1.0.tgz#89e4f3d09b3f92e87a80505af19be7e0c31d4e83" - integrity sha512-PG5aLpW6PJOeV2fHRslP4IOMWn+G+Uq8CfnyJ+PDS8ndCbU+soO+fB3NKCKo0p/Jh2Y4aPaiQZsrOXFdzpcA6g== - -"@types/secp256k1@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.1.tgz#fb3aa61a1848ad97d7425ff9dcba784549fca5a4" - integrity sha512-+ZjSA8ELlOp8SlKi0YLB2tz9d5iPNEmOBd+8Rz21wTMdaXQIa9b6TEnD6l5qKOCypE7FSyPyck12qZJxSDNoog== - dependencies: - "@types/node" "*" - -"@types/sinon@^9.0.10": - version "9.0.10" - resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-9.0.10.tgz#7fb9bcb6794262482859cab66d59132fca18fcf7" - integrity sha512-/faDC0erR06wMdybwI/uR8wEKV/E83T0k4sepIpB7gXuy2gzx2xiOjmztq6a2Y6rIGJ04D+6UU0VBmWy+4HEMA== - dependencies: - "@types/sinonjs__fake-timers" "*" - -"@types/sinonjs__fake-timers@*": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz#3a84cf5ec3249439015e14049bd3161419bf9eae" - integrity sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg== - -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== - -"@types/underscore@*": - version "1.9.2" - resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.9.2.tgz#2c4f7743287218f5c2d9a83db3806672aa48530d" - integrity sha512-KgOKTAD+9X+qvZnB5S1+onqKc4E+PZ+T6CM/NA5ohRPLHJXb+yCJMVf8pWOnvuBuKFNUAJW8N97IA6lba6mZGg== - -"@types/uuid@^8.3.0": - version "8.3.0" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.0.tgz#215c231dff736d5ba92410e6d602050cce7e273f" - integrity sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ== - -"@types/web3@^1.0.6": - version "1.0.19" - resolved "https://registry.yarnpkg.com/@types/web3/-/web3-1.0.19.tgz#46b85d91d398ded9ab7c85a5dd57cb33ac558924" - integrity sha512-fhZ9DyvDYDwHZUp5/STa9XW2re0E8GxoioYJ4pEUZ13YHpApSagixj7IAdoYH5uAK+UalGq6Ml8LYzmgRA/q+A== - dependencies: - "@types/bn.js" "*" - "@types/underscore" "*" - -"@types/yargs-parser@*": - version "13.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.0.0.tgz#453743c5bbf9f1bed61d959baab5b06be029b2d0" - integrity sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw== - -"@types/yargs@^15.0.0": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.4.tgz#7e5d0f8ca25e9d5849f2ea443cf7c402decd8299" - integrity sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" - integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== - dependencies: - "@typescript-eslint/experimental-utils" "4.33.0" - "@typescript-eslint/scope-manager" "4.33.0" - debug "^4.3.1" - functional-red-black-tree "^1.0.1" - ignore "^5.1.8" - regexpp "^3.1.0" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/experimental-utils@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" - integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/experimental-utils@^4.0.1": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.2.tgz#5efd12355bd5b535e1831282e6cf465b9a71cf36" - integrity sha512-Fxoshw8+R5X3/Vmqwsjc8nRO/7iTysRtDqx6rlfLZ7HbT8TZhPeQqbPjTyk2RheH3L8afumecTQnUc9EeXxohQ== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.15.2" - "@typescript-eslint/types" "4.15.2" - "@typescript-eslint/typescript-estree" "4.15.2" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" - integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== - dependencies: - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - debug "^4.3.1" - -"@typescript-eslint/scope-manager@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.15.2.tgz#5725bda656995960ae1d004bfd1cd70320f37f4f" - integrity sha512-Zm0tf/MSKuX6aeJmuXexgdVyxT9/oJJhaCkijv0DvJVT3ui4zY6XYd6iwIo/8GEZGy43cd7w1rFMiCLHbRzAPQ== - dependencies: - "@typescript-eslint/types" "4.15.2" - "@typescript-eslint/visitor-keys" "4.15.2" - -"@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - -"@typescript-eslint/types@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.15.2.tgz#04acf3a2dc8001a88985291744241e732ef22c60" - integrity sha512-r7lW7HFkAarfUylJ2tKndyO9njwSyoy6cpfDKWPX6/ctZA+QyaYscAHXVAfJqtnY6aaTwDYrOhp+ginlbc7HfQ== - -"@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== - -"@typescript-eslint/typescript-estree@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.2.tgz#c2f7a1e94f3428d229d5ecff3ead6581ee9b62fa" - integrity sha512-cGR8C2g5SPtHTQvAymEODeqx90pJHadWsgTtx6GbnTWKqsg7yp6Eaya9nFzUd4KrKhxdYTTFBiYeTPQaz/l8bw== - dependencies: - "@typescript-eslint/types" "4.15.2" - "@typescript-eslint/visitor-keys" "4.15.2" - debug "^4.1.1" - globby "^11.0.1" - is-glob "^4.0.1" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.2.tgz#3d1c7979ce75bf6acf9691109bd0d6b5706192b9" - integrity sha512-TME1VgSb7wTwgENN5KVj4Nqg25hP8DisXxNBojM4Nn31rYaNDIocNm5cmjOFfh42n7NVERxWrDFoETO/76ePyg== - dependencies: - "@typescript-eslint/types" "4.15.2" - eslint-visitor-keys "^2.0.0" - -"@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== - dependencies: - "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" - -abab@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -abab@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.4.tgz#6dfa57b417ca06d21b2478f0e638302f99c2405c" - integrity sha512-Eu9ELJWCz/c1e9gTiCY+FceWxcqzjYEbqMgtndnuSqZSUCOL73TWNK2mHfIj4Cw2E/ongOp+JISVNCmovt2KYQ== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - -abstract-leveldown@~2.6.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" - integrity sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA== - dependencies: - xtend "~4.0.0" - -abstract-leveldown@~2.7.1: - version "2.7.2" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz#87a44d7ebebc341d59665204834c8b7e0932cc93" - integrity sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w== - dependencies: - xtend "~4.0.0" - -acorn-globals@^4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" - integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-jsx@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== - -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" - integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^6.0.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== - -acorn@^7.1.0, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^7.1.1: - version "7.4.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" - integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== - -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= - -aes-js@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" - integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== - -ajv@^6.10.0, ajv@^6.12.4, ajv@^6.5.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^7.0.2: - version "7.1.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.1.0.tgz#f982ea7933dc7f1012eae9eec5a86687d805421b" - integrity sha512-svS9uILze/cXbH0z2myCK2Brqprx/+JJYK5pHicT/GQiBfzzhUVAIT6MwqJg8y4xV/zoGsUeuPuwtoiKSGE15g== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^4.2.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== - dependencies: - "@types/color-name" "^1.1.1" - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= - -array-includes@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" - integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0" - is-string "^1.0.5" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" - integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" - integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== - dependencies: - es6-object-assign "^1.1.0" - is-nan "^1.2.1" - object-is "^1.0.1" - util "^0.12.0" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-eventemitter@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" - integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw== - dependencies: - async "^2.4.0" - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async-mutex@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.2.6.tgz#0d7a3deb978bc2b984d5908a2038e1ae2e54ff40" - integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw== - dependencies: - tslib "^2.0.0" - -async@^1.4.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - -async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== - -babel-jest@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.3.0.tgz#10d0ca4b529ca3e7d1417855ef7d7bd6fc0c3463" - integrity sha512-sxPnQGEyHAOPF8NcUsD0g7hDCnvLL2XyblRBcgrzTWBB/mAIpWow3n1bEL+VghnnZfreLhFSBsFluRoK2tRK4g== - dependencies: - "@jest/transform" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.3.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.2.0.tgz#bdd0011df0d3d513e5e95f76bd53b51147aca2dd" - integrity sha512-B/hVMRv8Nh1sQ1a3EY8I0n4Y1Wty3NrR5ebOyVT302op+DOAau+xNEImGMsUWOC3++ZlMooCytKz+NgN8aKGbA== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz#b4b547acddbf963cba555ba9f9cbbb70bfd044da" - integrity sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ== - 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-preset-jest@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.3.0.tgz#ed6344506225c065fd8a0b53e191986f74890776" - integrity sha512-5WPdf7nyYi2/eRxCbVrE1kKCWxgWY4RsPEbdJWFm7QsesFGqjdkyLeu1zRkwM1cxK6EPIlNd6d2AxLk7J+t4pw== - dependencies: - babel-plugin-jest-hoist "^26.2.0" - babel-preset-current-node-syntax "^0.1.3" - -babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -backoff@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f" - integrity sha1-9hbtqdPktmuMp/ynn2lXIsX44m8= - dependencies: - precond "0.2" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-1.1.0.tgz#42d3d717474f9ea02207f6d1aa1f426913eeb7ac" - integrity sha1-QtPXF0dPnqAiB/bRqh9CaRPut6w= - -base-x@^3.0.2: - version "3.0.8" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" - integrity sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA== - dependencies: - safe-buffer "^5.0.1" - -base58check@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/base58check/-/base58check-2.0.0.tgz#8046652d14bc87f063bd16be94a39134d3b61173" - integrity sha1-gEZlLRS8h/BjvRa+lKORNNO2EXM= - dependencies: - bs58 "^3.0.0" - -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - -bignumber.js@^9.0.1: - version "9.0.2" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673" - integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw== - -"bignumber.js@git+https://github.com/frozeman/bignumber.js-nolookahead.git": - version "2.0.7" - resolved "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934" - -bindings@^1.2.1, bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bip66@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" - integrity sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI= - dependencies: - safe-buffer "^5.0.1" - -blakejs@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5" - integrity sha1-ad+S75U6qIylGjLfarHFShVfx6U= - -bn.js@4.11.6: - version "4.11.6" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" - integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU= - -bn.js@^4.10.0, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^4.8.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.1.2: - version "5.1.3" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" - integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== - -bn.js@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-passworder@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/browser-passworder/-/browser-passworder-2.0.3.tgz#6fdd2082e516a176edbcb3dcee0b7f9fce4f7917" - integrity sha1-b90gguUWoXbtvLPc7gt/n85PeRc= - dependencies: - browserify-unibabel "^3.0.0" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserify-aes@^1.0.6, browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-sha3@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/browserify-sha3/-/browserify-sha3-0.0.4.tgz#086c47b8c82316c9d47022c26185954576dd8e26" - integrity sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY= - dependencies: - js-sha3 "^0.6.1" - safe-buffer "^5.1.1" - -browserify-unibabel@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/browserify-unibabel/-/browserify-unibabel-3.0.0.tgz#5a6b8f0f704ce388d3927df47337e25830f71dda" - integrity sha1-WmuPD3BM44jTkn30czfiWDD3Hdo= - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bs58@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-3.1.0.tgz#d4c26388bf4804cac714141b1945aa47e5eb248e" - integrity sha1-1MJjiL9IBMrHFBQbGUWqR+XrJI4= - dependencies: - base-x "^1.1.0" - -bs58@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" - integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= - dependencies: - base-x "^3.0.2" - -bs58check@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" - integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== - dependencies: - bs58 "^4.0.0" - create-hash "^1.1.0" - safe-buffer "^5.1.2" - -bser@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" - integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg== - dependencies: - node-int64 "^0.4.0" - -btoa@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73" - integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g== - -buffer-from@1.x, buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^5.1.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -buffer@^5.2.1: - version "5.4.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.0.tgz#33294f5c1f26e08461e528b69fa06de3c45cbd8c" - integrity sha512-Xpgy0IwHK2N01ncykXTy6FpCWuM+CJSHoPVBLyNqyrWxsedpLvwsYUhf0ME3WRFNUhos0dMamz9cOS/xRDtU5g== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" - integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -cbor-sync@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cbor-sync/-/cbor-sync-1.0.4.tgz#5a11a1ab75c2a14d1af1b237fd84aa8c1593662f" - integrity sha512-GWlXN4wiz0vdWWXBU71Dvc1q3aBo0HytqwAZnXF1wOwjqNnDWA1vZ1gDMFLlqohak31VQzmhiYfiCX5QSSfagA== - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -checkpoint-store@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/checkpoint-store/-/checkpoint-store-1.1.0.tgz#04e4cb516b91433893581e6d4601a78e9552ea06" - integrity sha1-BOTLUWuRQziTWB5tRgGnjpVS6gY= - dependencies: - functional-red-black-tree "^1.0.1" - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -clone@^2.0.0, clone@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collect-v8-coverage@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz#150ee634ac3650b71d9c985eb7f608942334feb1" - integrity sha512-VKIhJgvk8E1W28m5avZ2Gv2Ruv5YiF56ug2oclvaG9md69BuZImMG2sk9g7QNKLUbtYAKQjXjYxbYZVUlMMKmQ== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -comment-parser@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.2.4.tgz#489f3ee55dfd184a6e4bffb31baba284453cb760" - integrity sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw== - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -convert-source-map@^1.1.0, convert-source-map@^1.4.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== - dependencies: - safe-buffer "~5.1.1" - -convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -cookiejar@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" - integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA== - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js@^2.4.0: - version "2.6.12" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -crc-32@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" - integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== - dependencies: - exit-on-epipe "~1.0.1" - printj "~1.1.0" - -crc@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" - integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== - dependencies: - buffer "^5.1.0" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-fetch@^2.1.0: - version "2.2.6" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.6.tgz#2ef0bb39a24ac034787965c457368a28730e220a" - integrity sha512-9JZz+vXCmfKUZ68zAptS7k4Nu8e2qcibe7WVZYps7sAgk5R8GYTc+T1WR0v1rlP9HxgARmOX1UTIJZFytajpNA== - dependencies: - node-fetch "^2.6.7" - whatwg-fetch "^2.0.4" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-js@^3.1.4: - version "3.1.8" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.1.8.tgz#715f070bf6014f2ae992a98b3929258b713f08d5" - integrity sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU= - -cssom@^0.4.1, cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.0.0, cssstyle@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -debug@^4.3.1: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== - dependencies: - ms "2.1.2" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" - integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-freeze-strict@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-freeze-strict/-/deep-freeze-strict-1.1.1.tgz#77d0583ca24a69be4bbd9ac2fae415d55523e5b0" - integrity sha1-d9BYPKJKab5LvZrC+uQV1VUj5bA= - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -deferred-leveldown@~1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz#3acd2e0b75d1669924bc0a4b642851131173e1eb" - integrity sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA== - dependencies: - abstract-leveldown "~2.6.0" - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -detect-indent@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" - integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== - -detect-newline@3.1.0, detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" - integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== - -diff-sequences@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.3.0.tgz#62a59b1b29ab7fd27cef2a33ae52abe73042d0a2" - integrity sha512-5j5vdRcw3CNctePNYN0Wy2e/JbWT6cAYnXv5OuqPhDpyCGc0uLu2TK0zOCJWNB9kOIfYMSpIulRaDgIi4HJ6Ig== - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -diff-sequences@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" - integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== - -diff@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -diff@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-walk@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" - integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg= - -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== - dependencies: - webidl-conversions "^4.0.2" - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -drbg.js@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b" - integrity sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs= - dependencies: - browserify-aes "^1.0.6" - create-hash "^1.1.2" - create-hmac "^1.1.4" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.4.1, elliptic@^6.5.2, elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emittery@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.1.tgz#c02375a927a40948c0345cc903072597f5270451" - integrity sha512-d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== - dependencies: - once "^1.4.0" - -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -env-paths@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -errno@~0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: - version "1.17.6" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" - integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.0" - is-regex "^1.1.0" - object-inspect "^1.7.0" - object-keys "^1.1.1" - object.assign "^4.1.0" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" - -es-abstract@^1.18.5: - version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-abstract@^1.5.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== - dependencies: - es-to-primitive "^1.2.0" - function-bind "^1.1.1" - has "^1.0.3" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-keys "^1.0.12" - -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es6-object-assign@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" - integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escodegen@^1.11.1, escodegen@^1.14.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@^8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== - -eslint-import-resolver-node@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-import-resolver-typescript@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.4.0.tgz#ec1e7063ebe807f0362a7320543aaed6fe1100e1" - integrity sha512-useJKURidCcldRLCNKWemr1fFQL1SzB3G4a0li6lFGvlc5xGe1hY343bvG07cbpCzPuM/lK19FIJB3XGFSkplA== - dependencies: - debug "^4.1.1" - glob "^7.1.6" - is-glob "^4.0.1" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" - -eslint-module-utils@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== - dependencies: - debug "^2.6.9" - pkg-dir "^2.0.0" - -eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.0" - -eslint-plugin-import@^2.22.1: - version "2.22.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" - integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== - dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.0" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" - -eslint-plugin-jest@^24.1.5: - version "24.1.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.1.5.tgz#1e866a9f0deac587d0a3d5d7cefe99815a580de2" - integrity sha512-FIP3lwC8EzEG+rOs1y96cOJmMVpdFNreoDJv29B5vIupVssRi8zrSY3QadogT0K3h1Y8TMxJ6ZSAzYUmFCp2hg== - dependencies: - "@typescript-eslint/experimental-utils" "^4.0.1" - -eslint-plugin-jsdoc@^36.1.0: - version "36.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-36.1.0.tgz#8dfe5f27edfb6aa3812e6d86ccaea849ddc86b03" - integrity sha512-Qpied2AJCQcScxfzTObLKRiP5QgLXjMU/ITjBagEV5p2Q/HpumD1EQtazdRYdjDSwPmXhwOl2yquwOGQ4HOJNw== - dependencies: - "@es-joy/jsdoccomment" "0.10.8" - comment-parser "1.2.4" - debug "^4.3.2" - esquery "^1.4.0" - jsdoc-type-pratt-parser "^1.1.1" - lodash "^4.17.21" - regextras "^0.8.0" - semver "^7.3.5" - spdx-expression-parse "^3.0.1" - -eslint-plugin-node@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== - dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-prettier@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" - integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-scope@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" - integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" - integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== - -eslint@^7.24.0: - version "7.24.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.24.0.tgz#2e44fa62d93892bfdb100521f17345ba54b8513a" - integrity sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash "^4.17.21" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.4" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.1.0, esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eth-block-tracker@^4.4.2: - version "4.4.3" - resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz#766a0a0eb4a52c867a28328e9ae21353812cf626" - integrity sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw== - dependencies: - "@babel/plugin-transform-runtime" "^7.5.5" - "@babel/runtime" "^7.5.5" - eth-query "^2.1.0" - json-rpc-random-id "^1.0.1" - pify "^3.0.0" - safe-event-emitter "^1.0.1" - -eth-ens-namehash@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" - integrity sha1-IprEbsqG1S4MmR58sq74P/D2i88= - dependencies: - idna-uts46-hx "^2.3.1" - js-sha3 "^0.5.7" - -eth-json-rpc-filters@^4.2.1: - version "4.2.2" - resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-4.2.2.tgz#eb35e1dfe9357ace8a8908e7daee80b2cd60a10d" - integrity sha512-DGtqpLU7bBg63wPMWg1sCpkKCf57dJ+hj/k3zF26anXMzkmtSBDExL8IhUu7LUd34f0Zsce3PYNO2vV2GaTzaw== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - async-mutex "^0.2.6" - eth-json-rpc-middleware "^6.0.0" - eth-query "^2.1.2" - json-rpc-engine "^6.1.0" - pify "^5.0.0" - -eth-json-rpc-infura@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eth-json-rpc-infura/-/eth-json-rpc-infura-5.1.0.tgz#e6da7dc47402ce64c54e7018170d89433c4e8fb6" - integrity sha512-THzLye3PHUSGn1EXMhg6WTLW9uim7LQZKeKaeYsS9+wOBcamRiCQVGHa6D2/4P0oS0vSaxsBnU/J6qvn0MPdow== - dependencies: - eth-json-rpc-middleware "^6.0.0" - eth-rpc-errors "^3.0.0" - json-rpc-engine "^5.3.0" - node-fetch "^2.6.0" - -eth-json-rpc-middleware@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-6.0.0.tgz#4fe16928b34231a2537856f08a5ebbc3d0c31175" - integrity sha512-qqBfLU2Uq1Ou15Wox1s+NX05S9OcAEL4JZ04VZox2NS0U+RtCMjSxzXhLFWekdShUPZ+P8ax3zCO2xcPrp6XJQ== - dependencies: - btoa "^1.2.1" - clone "^2.1.1" - eth-query "^2.1.2" - eth-rpc-errors "^3.0.0" - eth-sig-util "^1.4.2" - ethereumjs-util "^5.1.2" - json-rpc-engine "^5.3.0" - json-stable-stringify "^1.0.1" - node-fetch "^2.6.1" - pify "^3.0.0" - safe-event-emitter "^1.0.1" - -eth-keyring-controller@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/eth-keyring-controller/-/eth-keyring-controller-7.0.2.tgz#c4d7f9be179f08b3bb18410066bc4c8e91f50552" - integrity sha512-U4bqbXkTn7js/47rnFtVyBYQcvOKtmraD/YReBwuy4R56bFSJN8kinP0JJRl3WTtVfVS1l5A/jjsF3qk5TaTeg== - dependencies: - "@metamask/bip39" "^4.0.0" - "@metamask/eth-hd-keyring" "^4.0.2" - browser-passworder "^2.0.3" - eth-sig-util "^3.0.1" - eth-simple-keyring "^4.2.0" - obs-store "^4.0.3" - -eth-method-registry@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eth-method-registry/-/eth-method-registry-1.1.0.tgz#3cc01bd23dcf513428d14a0bb19910652cc5cac0" - integrity sha512-jGbbGYd19XJCtoGFtUD2qJYWefKCCbFcu7F/AQ5sJXvqTIVAHnFn3paaV2zhN5t7iyKYp1qxc+ugOky+72xcbg== - dependencies: - ethjs "^0.3.0" - -eth-phishing-detect@^1.1.16: - version "1.1.16" - resolved "https://registry.yarnpkg.com/eth-phishing-detect/-/eth-phishing-detect-1.1.16.tgz#637158d5774819e1a861f6d169e6d77d076a47fd" - integrity sha512-/o9arK5qFOKVdfZK9hJVAQP0eKXjAvImIKNBMfF9Nj1HGicD3wfsVuXDu1OHrxuEi6+4kYtD9wyAn/3G7g7VrA== - dependencies: - fast-levenshtein "^2.0.6" - -eth-query@^2.1.0, eth-query@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" - integrity sha1-1nQdkAAQa1FRDHLbktY2VFam2l4= - dependencies: - json-rpc-random-id "^1.0.0" - xtend "^4.0.1" - -eth-rpc-errors@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-3.0.0.tgz#d7b22653c70dbf9defd4ef490fd08fe70608ca10" - integrity sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg== - dependencies: - fast-safe-stringify "^2.0.6" - -eth-rpc-errors@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.0.tgz#6a2c075c5f02df12cc949e8450d72f1aba3ebdc4" - integrity sha512-Jf/GX6PBQz8JLmICTLDgyAUB4BZ0YmnGhgoj2t+c7GdxGF2SFROO9Mk5q+MiJMZ1yGNcIOjnbmZ+NBv9ewIdEQ== - dependencies: - fast-safe-stringify "^2.0.6" - -eth-rpc-errors@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz#11bc164e25237a679061ac05b7da7537b673d3b7" - integrity sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ== - dependencies: - fast-safe-stringify "^2.0.6" - -eth-sig-util@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-1.4.2.tgz#8d958202c7edbaae839707fba6f09ff327606210" - integrity sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA= - dependencies: - ethereumjs-abi "git+https://github.com/ethereumjs/ethereumjs-abi.git" - ethereumjs-util "^5.1.1" - -eth-sig-util@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-3.0.0.tgz#75133b3d7c20a5731af0690c385e184ab942b97e" - integrity sha512-4eFkMOhpGbTxBQ3AMzVf0haUX2uTur7DpWiHzWyTURa28BVJJtOkcb9Ok5TV0YvEPG61DODPW7ZUATbJTslioQ== - dependencies: - buffer "^5.2.1" - elliptic "^6.4.0" - ethereumjs-abi "0.6.5" - ethereumjs-util "^5.1.1" - tweetnacl "^1.0.0" - tweetnacl-util "^0.15.0" - -eth-sig-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-3.0.1.tgz#8753297c83a3f58346bd13547b59c4b2cd110c96" - integrity sha512-0Us50HiGGvZgjtWTyAI/+qTzYPMLy5Q451D0Xy68bxq1QMWdoOddDwGvsqcFT27uohKgalM9z/yxplyt+mY2iQ== - dependencies: - ethereumjs-abi "^0.6.8" - ethereumjs-util "^5.1.1" - tweetnacl "^1.0.3" - tweetnacl-util "^0.15.0" - -eth-simple-keyring@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/eth-simple-keyring/-/eth-simple-keyring-4.2.0.tgz#c197a4bd4cce7d701b5f3607d0b843112ddb17e3" - integrity sha512-lBxFObXJTBjktDkQszXrqoB317wghEUYATQ3W19vLAjaznrmbdy1lccPhXIRMT9bHIUgNKOJQkLohNZiT9tO8Q== - dependencies: - eth-sig-util "^3.0.1" - ethereumjs-util "^7.0.9" - ethereumjs-wallet "^1.0.1" - events "^1.1.1" - -ethereum-common@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.2.0.tgz#13bf966131cce1eeade62a1b434249bb4cb120ca" - integrity sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA== - -ethereum-common@^0.0.18: - version "0.0.18" - resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" - integrity sha1-L9w1dvIykDNYl26znaeDIT/5Uj8= - -ethereum-cryptography@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" - integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== - dependencies: - "@types/pbkdf2" "^3.0.0" - "@types/secp256k1" "^4.0.1" - blakejs "^1.1.0" - browserify-aes "^1.2.0" - bs58check "^2.1.2" - create-hash "^1.2.0" - create-hmac "^1.1.7" - hash.js "^1.1.7" - keccak "^3.0.0" - pbkdf2 "^3.0.17" - randombytes "^2.1.0" - safe-buffer "^5.1.2" - scrypt-js "^3.0.0" - secp256k1 "^4.0.1" - setimmediate "^1.0.5" - -ethereumjs-abi@0.6.5: - version "0.6.5" - resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz#5a637ef16ab43473fa72a29ad90871405b3f5241" - integrity sha1-WmN+8Wq0NHP6cqKa2QhxQFs/UkE= - dependencies: - bn.js "^4.10.0" - ethereumjs-util "^4.3.0" - -ethereumjs-abi@^0.6.8, "ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": - version "0.6.8" - resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#1cfbb13862f90f0b391d8a699544d5fe4dfb8c7b" - dependencies: - bn.js "^4.11.8" - ethereumjs-util "^6.0.0" - -ethereumjs-account@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz#eeafc62de544cb07b0ee44b10f572c9c49e00a84" - integrity sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA== - dependencies: - ethereumjs-util "^5.0.0" - rlp "^2.0.0" - safe-buffer "^5.1.1" - -ethereumjs-block@^1.2.2: - version "1.7.1" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz#78b88e6cc56de29a6b4884ee75379b6860333c3f" - integrity sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg== - dependencies: - async "^2.0.1" - ethereum-common "0.2.0" - ethereumjs-tx "^1.2.2" - ethereumjs-util "^5.0.0" - merkle-patricia-tree "^2.1.2" - -ethereumjs-block@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.0.tgz#8c6c3ab4a5eff0a16d9785fbeedbe643f4dbcbef" - integrity sha512-Ye+uG/L2wrp364Zihdlr/GfC3ft+zG8PdHcRtsBFNNH1CkOhxOwdB8friBU85n89uRZ9eIMAywCq0F4CwT1wAw== - dependencies: - async "^2.0.1" - ethereumjs-common "^1.1.0" - ethereumjs-tx "^1.2.2" - ethereumjs-util "^5.0.0" - merkle-patricia-tree "^2.1.2" - -ethereumjs-common@^1.1.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.3.1.tgz#a5cffac41beb7ad393283b2e5aa71fadf8a9cc73" - integrity sha512-kexqNgM2q29RKoZPPjehPREeqbr/vhYfT9Ho8FVeH3f7USjBuYp1iZ1qjqklk8FSMvEKPpMJFYSOunikw30Prw== - -ethereumjs-tx@^1.2.2: - version "1.3.7" - resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz#88323a2d875b10549b8347e09f4862b546f3d89a" - integrity sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA== - dependencies: - ethereum-common "^0.0.18" - ethereumjs-util "^5.0.0" - -ethereumjs-util@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz#3e9428b317eebda3d7260d854fddda954b1f1bc6" - integrity sha1-PpQosxfuvaPXJg2FT93alUsfG8Y= - dependencies: - bn.js "^4.8.0" - create-hash "^1.1.2" - keccakjs "^0.2.0" - rlp "^2.0.0" - secp256k1 "^3.0.1" - -ethereumjs-util@^5.0.0, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.5: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz#3e0c0d1741471acf1036052d048623dee54ad642" - integrity sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA== - dependencies: - bn.js "^4.11.0" - create-hash "^1.1.2" - ethjs-util "^0.1.3" - keccak "^1.0.2" - rlp "^2.0.0" - safe-buffer "^5.1.1" - secp256k1 "^3.0.1" - -ethereumjs-util@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz#e9c51e5549e8ebd757a339cc00f5380507e799c8" - integrity sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q== - dependencies: - bn.js "^4.11.0" - create-hash "^1.1.2" - ethjs-util "0.1.6" - keccak "^1.0.2" - rlp "^2.0.0" - safe-buffer "^5.1.1" - secp256k1 "^3.0.1" - -ethereumjs-util@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" - integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== - dependencies: - "@types/bn.js" "^4.11.3" - bn.js "^4.11.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" - rlp "^2.2.3" - -ethereumjs-util@^7.0.10, ethereumjs-util@^7.0.9: - version "7.0.10" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.0.10.tgz#5fb7b69fa1fda0acc59634cf39d6b0291180fc1f" - integrity sha512-c/xThw6A+EAnej5Xk5kOzFzyoSnw0WX0tSlZ6pAsfGVvQj3TItaDg9b1+Fz1RJXA+y2YksKwQnuzgt1eY6LKzw== - dependencies: - "@types/bn.js" "^5.1.0" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" - rlp "^2.2.4" - -ethereumjs-util@^7.0.2: - version "7.0.8" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.0.8.tgz#5258762b7b17e3d828e41834948363ff0a703ffd" - integrity sha512-JJt7tDpCAmDPw/sGoFYeq0guOVqT3pTE9xlEbBmc/nlCij3JRCoS2c96SQ6kXVHOT3xWUNLDm5QCJLQaUnVAtQ== - dependencies: - "@types/bn.js" "^4.11.3" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" - rlp "^2.2.4" - -ethereumjs-util@^7.0.7, ethereumjs-util@^7.0.8, ethereumjs-util@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz#b55d7b64dde3e3e45749e4c41288238edec32d23" - integrity sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw== - dependencies: - "@types/bn.js" "^5.1.0" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - rlp "^2.2.4" - -ethereumjs-util@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.0.tgz#e2b43a30bfcdbcb432a4eb42bd5f2393209b3fd5" - integrity sha512-kR+vhu++mUDARrsMMhsjjzPduRVAeundLGXucGRHF3B4oEltOUspfgCVco4kckucj3FMlLaZHUl9n7/kdmr6Tw== - dependencies: - "@types/bn.js" "^5.1.0" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" - rlp "^2.2.4" - -ethereumjs-vm@^2.3.4: - version "2.6.0" - resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6" - integrity sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw== - dependencies: - async "^2.1.2" - async-eventemitter "^0.2.2" - ethereumjs-account "^2.0.3" - ethereumjs-block "~2.2.0" - ethereumjs-common "^1.1.0" - ethereumjs-util "^6.0.0" - fake-merkle-patricia-tree "^1.0.1" - functional-red-black-tree "^1.0.1" - merkle-patricia-tree "^2.3.2" - rustbn.js "~0.2.0" - safe-buffer "^5.1.1" - -ethereumjs-wallet@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ethereumjs-wallet/-/ethereumjs-wallet-1.0.1.tgz#664a4bcacfc1291ca2703de066df1178938dba1c" - integrity sha512-3Z5g1hG1das0JWU6cQ9HWWTY2nt9nXCcwj7eXVNAHKbo00XAZO8+NHlwdgXDWrL0SXVQMvTWN8Q/82DRH/JhPw== - dependencies: - aes-js "^3.1.1" - bs58check "^2.1.2" - ethereum-cryptography "^0.1.3" - ethereumjs-util "^7.0.2" - randombytes "^2.0.6" - scrypt-js "^3.0.1" - utf8 "^3.0.0" - uuid "^3.3.2" - -ethers@^5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.4.1.tgz#bcff1e9f45bf1a061bf313ec04e8d9881d2d53f9" - integrity sha512-SrcddMdCgP1hukDvCPd87Aipbf4NWjQvdfAbZ65XSZGbfyuYPtIrUJPDH5B1SBRsdlfiEgX3eoz28DdBDzMNFg== - dependencies: - "@ethersproject/abi" "5.4.0" - "@ethersproject/abstract-provider" "5.4.0" - "@ethersproject/abstract-signer" "5.4.0" - "@ethersproject/address" "5.4.0" - "@ethersproject/base64" "5.4.0" - "@ethersproject/basex" "5.4.0" - "@ethersproject/bignumber" "5.4.0" - "@ethersproject/bytes" "5.4.0" - "@ethersproject/constants" "5.4.0" - "@ethersproject/contracts" "5.4.0" - "@ethersproject/hash" "5.4.0" - "@ethersproject/hdnode" "5.4.0" - "@ethersproject/json-wallets" "5.4.0" - "@ethersproject/keccak256" "5.4.0" - "@ethersproject/logger" "5.4.0" - "@ethersproject/networks" "5.4.1" - "@ethersproject/pbkdf2" "5.4.0" - "@ethersproject/properties" "5.4.0" - "@ethersproject/providers" "5.4.1" - "@ethersproject/random" "5.4.0" - "@ethersproject/rlp" "5.4.0" - "@ethersproject/sha2" "5.4.0" - "@ethersproject/signing-key" "5.4.0" - "@ethersproject/solidity" "5.4.0" - "@ethersproject/strings" "5.4.0" - "@ethersproject/transactions" "5.4.0" - "@ethersproject/units" "5.4.0" - "@ethersproject/wallet" "5.4.0" - "@ethersproject/web" "5.4.0" - "@ethersproject/wordlists" "5.4.0" - -ethjs-abi@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ethjs-abi/-/ethjs-abi-0.2.0.tgz#d3e2c221011520fc499b71682036c14fcc2f5b25" - integrity sha1-0+LCIQEVIPxJm3FoIDbBT8wvWyU= - dependencies: - bn.js "4.11.6" - js-sha3 "0.5.5" - number-to-bn "1.7.0" - -ethjs-abi@0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/ethjs-abi/-/ethjs-abi-0.2.1.tgz#e0a7a93a7e81163a94477bad56ede524ab6de533" - integrity sha1-4KepOn6BFjqUR3utVu3lJKtt5TM= - dependencies: - bn.js "4.11.6" - js-sha3 "0.5.5" - number-to-bn "1.7.0" - -ethjs-contract@0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/ethjs-contract/-/ethjs-contract-0.2.2.tgz#2ed71254cbb4f2b6fafa1db0d4a83870c887b472" - integrity sha512-xxPqEjsULQ/QNWuvX6Ako0PGs5RxALA8N/H3+boLvnaXDFZVGpD7H63H1gBCRTZyYqCldPpVlVHuw/rD45vazw== - dependencies: - ethjs-abi "0.2.0" - ethjs-filter "0.1.8" - ethjs-util "0.1.3" - js-sha3 "0.5.5" - -ethjs-filter@0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/ethjs-filter/-/ethjs-filter-0.1.8.tgz#2b02726b820ed4dd3860614d185c0c0f7ed1747f" - integrity sha512-qTDPskDL2UadHwjvM8A+WG9HwM4/FoSY3p3rMJORkHltYcAuiQZd2otzOYKcL5w2Q3sbAkW/E3yt/FPFL/AVXA== - -ethjs-format@0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/ethjs-format/-/ethjs-format-0.2.7.tgz#20c92f31c259a381588d069830d838b489774b86" - integrity sha512-uNYAi+r3/mvR3xYu2AfSXx5teP4ovy9z2FrRsblU+h2logsaIKZPi9V3bn3V7wuRcnG0HZ3QydgZuVaRo06C4Q== - dependencies: - bn.js "4.11.6" - ethjs-schema "0.2.1" - ethjs-util "0.1.3" - is-hex-prefixed "1.0.0" - number-to-bn "1.7.0" - strip-hex-prefix "1.0.0" - -ethjs-provider-http@0.1.6, ethjs-provider-http@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-provider-http/-/ethjs-provider-http-0.1.6.tgz#1ec5d9b4be257ef1d56a500b22a741985e889420" - integrity sha1-HsXZtL4lfvHValALIqdBmF6IlCA= - dependencies: - xhr2 "0.1.3" - -ethjs-query@0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/ethjs-query/-/ethjs-query-0.3.7.tgz#597884664e7769c5e314a8f2f7ac6b44aceaff5e" - integrity sha512-TZnKUwfkWjy0SowFdPLtmsytCorHi0i4vvkQn7Jg8rZt33cRzKhuzOwKr/G3vdigCc+ePXOhUGMcJSAPlOG44A== - dependencies: - ethjs-format "0.2.7" - ethjs-rpc "0.2.0" - promise-to-callback "^1.0.0" - -ethjs-rpc@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ethjs-rpc/-/ethjs-rpc-0.2.0.tgz#3d0011e32cfff156ed6147818c6fb8f801701b4c" - integrity sha512-RINulkNZTKnj4R/cjYYtYMnFFaBcVALzbtEJEONrrka8IeoarNB9Jbzn+2rT00Cv8y/CxAI+GgY1d0/i2iQeOg== - dependencies: - promise-to-callback "^1.0.0" - -ethjs-schema@0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/ethjs-schema/-/ethjs-schema-0.2.1.tgz#47e138920421453617069034684642e26bb310f4" - integrity sha512-DXd8lwNrhT9sjsh/Vd2Z+4pfyGxhc0POVnLBUfwk5udtdoBzADyq+sK39dcb48+ZU+2VgtwHxtGWnLnCfmfW5g== - -ethjs-unit@0.1.6, ethjs-unit@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" - integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= - dependencies: - bn.js "4.11.6" - number-to-bn "1.7.0" - -ethjs-util@0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.3.tgz#dfd5ea4a400dc5e421a889caf47e081ada78bb55" - integrity sha1-39XqSkANxeQhqInK9H4IGtp4u1U= - dependencies: - is-hex-prefixed "1.0.0" - strip-hex-prefix "1.0.0" - -ethjs-util@0.1.6, ethjs-util@^0.1.3, ethjs-util@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" - integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== - dependencies: - is-hex-prefixed "1.0.0" - strip-hex-prefix "1.0.0" - -ethjs@^0.3.0: - version "0.3.9" - resolved "https://registry.yarnpkg.com/ethjs/-/ethjs-0.3.9.tgz#287e1fe75de8ee1fb73ae2cf6218395398e8f84c" - integrity sha512-gOQzA3tDUjoLpNONSOALJ/rUFtHi5tXl2mholHasF1cvXhoddqi06yU4OJFJu9AGd6n9v9ywzHlYeIKg1t1hdw== - dependencies: - bn.js "4.11.6" - ethjs-abi "0.2.1" - ethjs-contract "0.2.2" - ethjs-filter "0.1.8" - ethjs-provider-http "0.1.6" - ethjs-query "0.3.7" - ethjs-unit "0.1.6" - ethjs-util "0.1.3" - js-sha3 "0.5.5" - number-to-bn "1.7.0" - -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -events@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= - -events@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== - -evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" - integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" - integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - 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" - -exit-on-epipe@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" - integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.4.2.tgz#36db120928a5a2d7d9736643032de32f24e1b2a1" - integrity sha512-IlJ3X52Z0lDHm7gjEp+m76uX46ldH5VpqmU0006vqDju/285twh7zaWMRhs67VpQhBwjjMchk+p5aA0VkERCAA== - dependencies: - "@jest/types" "^26.3.0" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.4.2" - jest-message-util "^26.3.0" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0, extsprintf@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -fake-merkle-patricia-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz#4b8c3acfb520afadf9860b1f14cd8ce3402cddd3" - integrity sha1-S4w6z7Ugr635hgsfFM2M40As3dM= - dependencies: - checkpoint-store "^1.1.0" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@^3.0.3: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-glob@^3.1.1: - version "3.2.4" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" - integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" - -fast-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fast-safe-stringify@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz#04b26106cc56681f51a044cfc0d76cf0008ac2c2" - integrity sha512-q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg== - -fastq@^1.6.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" - integrity sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= - dependencies: - bser "^2.0.0" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" - integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" - integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== - -function-bind@^1.0.2, function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -git-hooks-list@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/git-hooks-list/-/git-hooks-list-1.0.3.tgz#be5baaf78203ce342f2f844a9d2b03dba1b45156" - integrity sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ== - -glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global@~4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" - integrity sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8= - dependencies: - min-document "^2.19.0" - process "~0.5.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globals@^13.6.0: - version "13.8.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3" - integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== - dependencies: - type-fest "^0.20.2" - -globby@10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.0.tgz#abfcd0630037ae174a88590132c2f6804e291072" - integrity sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw== - dependencies: - "@types/glob" "^7.1.1" - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.0.3" - glob "^7.1.3" - ignore "^5.1.1" - merge2 "^1.2.3" - slash "^3.0.0" - -globby@^11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" - integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globby@^11.0.3: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -graceful-fs@^4.1.2, graceful-fs@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -graceful-fs@^4.2.3: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.0, har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= - -has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.1, has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hdkey@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/hdkey/-/hdkey-2.0.1.tgz#0a211d0c510bfc44fa3ec9d44b13b634641cad74" - integrity sha512-c+tl9PHG9/XkGgG0tD7CJpRVaE0jfZizDNmnErUAKQ4EjQSOcOUcV3EN9ZEZS8pZ4usaeiiK0H7stzuzna8feA== - dependencies: - bs58check "^2.1.2" - safe-buffer "^5.1.1" - secp256k1 "^4.0.0" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== - dependencies: - whatwg-encoding "^1.0.1" - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -html-escaper@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.0.tgz#71e87f931de3fe09e56661ab9a29aadec707b491" - integrity sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig== - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -idna-uts46-hx@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" - integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== - dependencies: - punycode "2.1.0" - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -ignore@^5.1.8, ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -immediate@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" - integrity sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw= - -immer@^9.0.6: - version "9.0.6" - resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.6.tgz#7a96bf2674d06c8143e327cbf73539388ddf1a73" - integrity sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ== - -import-fresh@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.3, is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== - -is-callable@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" - integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== - -is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" - integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== - dependencies: - has "^1.0.3" - -is-core-module@^2.2.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" - integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" - integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fn/-/is-fn-1.0.0.tgz#9543d5de7bcf5b08a22ec8a20bae6e286d510d8c" - integrity sha1-lUPV3nvPWwiiLsiiC65uKG1RDYw= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-function@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" - integrity sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU= - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-hex-prefixed@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" - integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= - -is-nan@^1.2.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" - integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -is-negative-zero@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-obj@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= - -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= - dependencies: - has "^1.0.1" - -is-regex@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" - integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== - dependencies: - has-symbols "^1.0.1" - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== - -is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== - dependencies: - has-symbols "^1.0.0" - -is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.3, is-typed-array@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79" - integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-abstract "^1.18.5" - foreach "^2.0.5" - has-tostringtag "^1.0.0" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-weakref@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isomorphic-fetch@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz#0267b005049046d2421207215d45d6a262b8b8b4" - integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA== - dependencies: - node-fetch "^2.6.1" - whatwg-fetch "^3.4.1" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz#61f13ac2c96cfefb076fe7131156cc05907874e6" - integrity sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg== - dependencies: - "@babel/core" "^7.7.5" - "@babel/parser" "^7.7.5" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.3.0.tgz#68fb2a7eb125f50839dab1f5a17db3607fe195b1" - integrity sha512-1C4R4nijgPltX6fugKxM4oQ18zimS7LqQ+zTTY8lMCMFPrxqBFb7KJH0Z2fRQJvw2Slbaipsqq7s1mgX5Iot+g== - dependencies: - "@jest/types" "^26.3.0" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.4.2.tgz#24afc6e4dfc25cde4c7ec4226fb7db5f157c21da" - integrity sha512-zb+lGd/SfrPvoRSC/0LWdaWCnscXc1mGYW//NP4/tmBvRPT3VntZ2jtKUONsRi59zc5JqmsSajA9ewJKFYp8Cw== - dependencies: - "@jest/core" "^26.4.2" - "@jest/test-result" "^26.3.0" - "@jest/types" "^26.3.0" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.4.2" - jest-util "^26.3.0" - jest-validate "^26.4.2" - prompts "^2.0.1" - yargs "^15.3.1" - -jest-config@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.4.2.tgz#da0cbb7dc2c131ffe831f0f7f2a36256e6086558" - integrity sha512-QBf7YGLuToiM8PmTnJEdRxyYy3mHWLh24LJZKVdXZ2PNdizSe1B/E8bVm+HYcjbEzGuVXDv/di+EzdO/6Gq80A== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.4.2" - "@jest/types" "^26.3.0" - babel-jest "^26.3.0" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.3.0" - jest-environment-node "^26.3.0" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.4.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.4.0" - jest-util "^26.3.0" - jest-validate "^26.4.2" - micromatch "^4.0.2" - pretty-format "^26.4.2" - -jest-diff@^25.2.1: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" - integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== - dependencies: - chalk "^3.0.0" - diff-sequences "^25.2.6" - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - -jest-diff@^26.0.0: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-diff@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.4.2.tgz#a1b7b303bcc534aabdb3bd4a7caf594ac059f5aa" - integrity sha512-6T1XQY8U28WH0Z5rGpQ+VqZSZz8EN8rZcBtfvXaOkbwxIEeRre6qnuZQlbY1AJ4MKDxQF8EkrCvK+hL/VkyYLQ== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.3.0" - jest-get-type "^26.3.0" - pretty-format "^26.4.2" - -jest-diff@^27.0.0: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.3.1.tgz#d2775fea15411f5f5aeda2a5e02c2f36440f6d55" - integrity sha512-PCeuAH4AWUo2O5+ksW4pL9v5xJAcIKPUPfIhZBcG1RKv/0+dvaWTQK1Nrau8d67dp65fOqbeMdoil+6PedyEPQ== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.0.6" - jest-get-type "^27.3.1" - pretty-format "^27.3.1" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.4.2.tgz#bb14f7f4304f2bb2e2b81f783f989449b8b6ffae" - integrity sha512-p15rt8r8cUcRY0Mvo1fpkOGYm7iI8S6ySxgIdfh3oOIv+gHwrHTy5VWCGOecWUhDsit4Nz8avJWdT07WLpbwDA== - dependencies: - "@jest/types" "^26.3.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.3.0" - pretty-format "^26.4.2" - -jest-environment-jsdom@^25.0.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834" - integrity sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A== - dependencies: - "@jest/environment" "^25.5.0" - "@jest/fake-timers" "^25.5.0" - "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - jsdom "^15.2.1" - -jest-environment-jsdom@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.3.0.tgz#3b749ba0f3a78e92ba2c9ce519e16e5dd515220c" - integrity sha512-zra8He2btIMJkAzvLaiZ9QwEPGEetbxqmjEBQwhH3CA+Hhhu0jSiEJxnJMbX28TGUvPLxBt/zyaTLrOPF4yMJA== - dependencies: - "@jest/environment" "^26.3.0" - "@jest/fake-timers" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/node" "*" - jest-mock "^26.3.0" - jest-util "^26.3.0" - jsdom "^16.2.2" - -jest-environment-node@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.3.0.tgz#56c6cfb506d1597f94ee8d717072bda7228df849" - integrity sha512-c9BvYoo+FGcMj5FunbBgtBnbR5qk3uky8PKyRVpSfe2/8+LrNQMiXX53z6q2kY+j15SkjQCOSL/6LHnCPLVHNw== - dependencies: - "@jest/environment" "^26.3.0" - "@jest/fake-timers" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/node" "*" - jest-mock "^26.3.0" - jest-util "^26.3.0" - -jest-get-type@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" - integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== - -jest-get-type@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-get-type@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.3.1.tgz#a8a2b0a12b50169773099eee60a0e6dd11423eff" - integrity sha512-+Ilqi8hgHSAdhlQ3s12CAVNd8H96ZkQBfYoXmArzZnOfAtVAJEiPDBirjByEblvG/4LPJmkL+nBqPO3A1YJAEg== - -jest-haste-map@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.3.0.tgz#c51a3b40100d53ab777bfdad382d2e7a00e5c726" - integrity sha512-DHWBpTJgJhLLGwE5Z1ZaqLTYqeODQIZpby0zMBsCU9iRFHYyhklYqP4EiG73j5dkbaAdSZhgB938mL51Q5LeZA== - dependencies: - "@jest/types" "^26.3.0" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.3.0" - jest-util "^26.3.0" - jest-worker "^26.3.0" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.4.2.tgz#18a9d5bec30904267ac5e9797570932aec1e2257" - integrity sha512-z7H4EpCldHN1J8fNgsja58QftxBSL+JcwZmaXIvV9WKIM+x49F4GLHu/+BQh2kzRKHAgaN/E82od+8rTOBPyPA== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.3.0" - "@jest/source-map" "^26.3.0" - "@jest/test-result" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.4.2" - is-generator-fn "^2.0.0" - jest-each "^26.4.2" - jest-matcher-utils "^26.4.2" - jest-message-util "^26.3.0" - jest-runtime "^26.4.2" - jest-snapshot "^26.4.2" - jest-util "^26.3.0" - pretty-format "^26.4.2" - throat "^5.0.0" - -jest-leak-detector@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.4.2.tgz#c73e2fa8757bf905f6f66fb9e0070b70fa0f573f" - integrity sha512-akzGcxwxtE+9ZJZRW+M2o+nTNnmQZxrHJxX/HjgDaU5+PLmY1qnQPnMjgADPGCRPhB+Yawe1iij0REe+k/aHoA== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.4.2" - -jest-matcher-utils@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.4.2.tgz#fa81f3693f7cb67e5fc1537317525ef3b85f4b06" - integrity sha512-KcbNqWfWUG24R7tu9WcAOKKdiXiXCbMvQYT6iodZ9k1f7065k0keUOW6XpJMMvah+hTfqkhJhRXmA3r3zMAg0Q== - dependencies: - chalk "^4.0.0" - jest-diff "^26.4.2" - jest-get-type "^26.3.0" - pretty-format "^26.4.2" - -jest-message-util@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.5.0.tgz#ea11d93204cc7ae97456e1d8716251185b8880ea" - integrity sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^25.5.0" - "@types/stack-utils" "^1.0.1" - chalk "^3.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - slash "^3.0.0" - stack-utils "^1.0.1" - -jest-message-util@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.3.0.tgz#3bdb538af27bb417f2d4d16557606fd082d5841a" - integrity sha512-xIavRYqr4/otGOiLxLZGj3ieMmjcNE73Ui+LdSW/Y790j5acqCsAdDiLIbzHCZMpN07JOENRWX5DcU+OQ+TjTA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.3.0" - "@types/stack-utils" "^1.0.1" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.5.0.tgz#a91a54dabd14e37ecd61665d6b6e06360a55387a" - integrity sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA== - dependencies: - "@jest/types" "^25.5.0" - -jest-mock@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.3.0.tgz#ee62207c3c5ebe5f35b760e1267fee19a1cfdeba" - integrity sha512-PeaRrg8Dc6mnS35gOo/CbZovoDPKAeB1FICZiuagAgGvbWdNNyjQjkOaGUa/3N3JtpQ/Mh9P4A2D4Fv51NnP8Q== - dependencies: - "@jest/types" "^26.3.0" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.4.2.tgz#739bdb027c14befb2fe5aabbd03f7bab355f1dc5" - integrity sha512-ADHaOwqEcVc71uTfySzSowA/RdxUpCxhxa2FNLiin9vWLB1uLPad3we+JSSROq5+SrL9iYPdZZF8bdKM7XABTQ== - dependencies: - "@jest/types" "^26.3.0" - jest-regex-util "^26.0.0" - jest-snapshot "^26.4.2" - -jest-resolve@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.4.0.tgz#6dc0af7fb93e65b73fec0368ca2b76f3eb59a6d7" - integrity sha512-bn/JoZTEXRSlEx3+SfgZcJAVuTMOksYq9xe9O6s4Ekg84aKBObEaVXKOEilULRqviSLAYJldnoWV9c07kwtiCg== - dependencies: - "@jest/types" "^26.3.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.3.0" - read-pkg-up "^7.0.1" - resolve "^1.17.0" - slash "^3.0.0" - -jest-runner@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.4.2.tgz#c3ec5482c8edd31973bd3935df5a449a45b5b853" - integrity sha512-FgjDHeVknDjw1gRAYaoUoShe1K3XUuFMkIaXbdhEys+1O4bEJS8Avmn4lBwoMfL8O5oFTdWYKcf3tEJyyYyk8g== - dependencies: - "@jest/console" "^26.3.0" - "@jest/environment" "^26.3.0" - "@jest/test-result" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.4.2" - jest-docblock "^26.0.0" - jest-haste-map "^26.3.0" - jest-leak-detector "^26.4.2" - jest-message-util "^26.3.0" - jest-resolve "^26.4.0" - jest-runtime "^26.4.2" - jest-util "^26.3.0" - jest-worker "^26.3.0" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.4.2.tgz#94ce17890353c92e4206580c73a8f0c024c33c42" - integrity sha512-4Pe7Uk5a80FnbHwSOk7ojNCJvz3Ks2CNQWT5Z7MJo4tX0jb3V/LThKvD9tKPNVNyeMH98J/nzGlcwc00R2dSHQ== - dependencies: - "@jest/console" "^26.3.0" - "@jest/environment" "^26.3.0" - "@jest/fake-timers" "^26.3.0" - "@jest/globals" "^26.4.2" - "@jest/source-map" "^26.3.0" - "@jest/test-result" "^26.3.0" - "@jest/transform" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.4.2" - jest-haste-map "^26.3.0" - jest-message-util "^26.3.0" - jest-mock "^26.3.0" - jest-regex-util "^26.0.0" - jest-resolve "^26.4.0" - jest-snapshot "^26.4.2" - jest-util "^26.3.0" - jest-validate "^26.4.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.3.1" - -jest-serializer@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.3.0.tgz#1c9d5e1b74d6e5f7e7f9627080fa205d976c33ef" - integrity sha512-IDRBQBLPlKa4flg77fqg0n/pH87tcRKwe8zxOVTWISxGpPHYkRZ1dXKyh04JOja7gppc60+soKVZ791mruVdow== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.4.2.tgz#87d3ac2f2bd87ea8003602fbebd8fcb9e94104f6" - integrity sha512-N6Uub8FccKlf5SBFnL2Ri/xofbaA68Cc3MGjP/NuwgnsvWh+9hLIR/DhrxbSiKXMY9vUW5dI6EW1eHaDHqe9sg== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.3.0" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.4.2" - graceful-fs "^4.2.4" - jest-diff "^26.4.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.3.0" - jest-matcher-utils "^26.4.2" - jest-message-util "^26.3.0" - jest-resolve "^26.4.0" - natural-compare "^1.4.0" - pretty-format "^26.4.2" - semver "^7.3.2" - -jest-util@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0" - integrity sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA== - dependencies: - "@jest/types" "^25.5.0" - chalk "^3.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - make-dir "^3.0.0" - -jest-util@^26.1.0: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-util@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.3.0.tgz#a8974b191df30e2bf523ebbfdbaeb8efca535b3e" - integrity sha512-4zpn6bwV0+AMFN0IYhH/wnzIQzRaYVrz1A8sYnRnj4UXDXbOVtWmlaZkO9mipFqZ13okIfN87aDoJWB7VH6hcw== - dependencies: - "@jest/types" "^26.3.0" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.4.2.tgz#e871b0dfe97747133014dcf6445ee8018398f39c" - integrity sha512-blft+xDX7XXghfhY0mrsBCYhX365n8K5wNDC4XAcNKqqjEzsRUSXP44m6PL0QJEW2crxQFLLztVnJ4j7oPlQrQ== - dependencies: - "@jest/types" "^26.3.0" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.4.2" - -jest-watcher@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.3.0.tgz#f8ef3068ddb8af160ef868400318dc4a898eed08" - integrity sha512-XnLdKmyCGJ3VoF6G/p5ohbJ04q/vv5aH9ENI+i6BL0uu9WWB6Z7Z2lhQQk0d2AVZcRGp1yW+/TsoToMhBFPRdQ== - dependencies: - "@jest/test-result" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.3.0" - string-length "^4.0.1" - -jest-when@^3.4.2: - version "3.4.2" - resolved "https://registry.yarnpkg.com/jest-when/-/jest-when-3.4.2.tgz#720f19e0ab3a7d55a45a915663ca2b1bd3a9ec1a" - integrity sha512-vO1r+1XsyeavhoSapj7q4xD5xuM9i+UdopfhmJJK/aKaDpzDesxZ6hreLSO1JUZhZInqdM7CCn+At7c0SI2EEw== - -jest-worker@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.3.0.tgz#7c8a97e4f4364b4f05ed8bca8ca0c24de091871f" - integrity sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.4.2.tgz#7e8bfb348ec33f5459adeaffc1a25d5752d9d312" - integrity sha512-LLCjPrUh98Ik8CzW8LLVnSCfLaiY+wbK53U7VxnFSX7Q+kWC4noVeDvGWIFw0Amfq1lq2VfGm7YHWSLBV62MJw== - dependencies: - "@jest/core" "^26.4.2" - import-local "^3.0.2" - jest-cli "^26.4.2" - -js-sha3@0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.5.tgz#baf0c0e8c54ad5903447df96ade7a4a1bca79a4a" - integrity sha1-uvDA6MVK1ZA0R9+Wreekobynmko= - -js-sha3@0.5.7, js-sha3@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" - integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= - -js-sha3@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.6.1.tgz#5b89f77a7477679877f58c4a075240934b1f95c0" - integrity sha1-W4n3enR3Z5h39YxKB1JAk0sflcA= - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbi@^3.1.5: - version "3.2.5" - resolved "https://registry.yarnpkg.com/jsbi/-/jsbi-3.2.5.tgz#b37bb90e0e5c2814c1c2a1bcd8c729888a2e37d6" - integrity sha512-aBE4n43IPvjaddScbvWRA2YlTzKEynHzu7MqOyTipdHucf/VxS63ViCjxYRg86M8Rxwbt/GfzHl1kKERkt45fQ== - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdoc-type-pratt-parser@1.1.1, jsdoc-type-pratt-parser@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.1.1.tgz#10fe5e409ba38de22a48b555598955a26ff0160f" - integrity sha512-uelRmpghNwPBuZScwgBG/OzodaFk5RbO5xaivBdsAY70icWfShwZ7PCMO0x1zSkOa8T1FzHThmrdoyg/0AwV5g== - -jsdom@^15.2.1: - version "15.2.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" - integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== - dependencies: - abab "^2.0.0" - acorn "^7.1.0" - acorn-globals "^4.3.2" - array-equal "^1.0.0" - cssom "^0.4.1" - cssstyle "^2.0.0" - data-urls "^1.1.0" - domexception "^1.0.1" - escodegen "^1.11.1" - html-encoding-sniffer "^1.0.2" - nwsapi "^2.2.0" - parse5 "5.1.0" - pn "^1.1.0" - request "^2.88.0" - request-promise-native "^1.0.7" - saxes "^3.1.9" - symbol-tree "^3.2.2" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.1" - w3c-xmlserializer "^1.1.2" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^7.0.0" - ws "^7.0.0" - xml-name-validator "^3.0.0" - -jsdom@^16.2.2: - version "16.4.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" - integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== - dependencies: - abab "^2.0.3" - acorn "^7.1.1" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.2.0" - data-urls "^2.0.0" - decimal.js "^10.2.0" - domexception "^2.0.1" - escodegen "^1.14.1" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "5.1.1" - request "^2.88.2" - request-promise-native "^1.0.8" - saxes "^5.0.0" - symbol-tree "^3.2.4" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.2.3" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-rpc-engine@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-5.3.0.tgz#7dc7291766b28766ebda33eb6d3f4c6301c44ff4" - integrity sha512-+diJ9s8rxB+fbJhT7ZEf8r8spaLRignLd8jTgQ/h5JSGppAHGtNMZtCoabipCaleR1B3GTGxbXBOqhaJSGmPGQ== - dependencies: - eth-rpc-errors "^3.0.0" - safe-event-emitter "^1.0.1" - -json-rpc-engine@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz#bf5ff7d029e1c1bf20cb6c0e9f348dcd8be5a393" - integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - eth-rpc-errors "^4.0.2" - -json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" - integrity sha1-uknZat7RRE27jaPSA3SKy7zeyMg= - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@2.x, json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== - dependencies: - minimist "^1.2.0" - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -jsonc-parser@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" - integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= - -jsonschema@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.4.tgz#a46bac5d3506a254465bc548876e267c6d0d6464" - integrity sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw== - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -just-extend@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.0.2.tgz#f3f47f7dfca0f989c55410a7ebc8854b07108afc" - integrity sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw== - -keccak@^1.0.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-1.4.0.tgz#572f8a6dbee8e7b3aa421550f9e6408ca2186f80" - integrity sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw== - dependencies: - bindings "^1.2.1" - inherits "^2.0.3" - nan "^2.2.1" - safe-buffer "^5.1.0" - -keccak@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.1.tgz#ae30a0e94dbe43414f741375cff6d64c8bea0bff" - integrity sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - -keccakjs@^0.2.0: - version "0.2.3" - resolved "https://registry.yarnpkg.com/keccakjs/-/keccakjs-0.2.3.tgz#5e4e969ce39689a3861f445d7752ee3477f9fe72" - integrity sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg== - dependencies: - browserify-sha3 "^0.0.4" - sha3 "^1.2.2" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -level-codec@~7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" - integrity sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ== - -level-errors@^1.0.3, level-errors@~1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.0.5.tgz#83dbfb12f0b8a2516bdc9a31c4876038e227b859" - integrity sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig== - dependencies: - errno "~0.1.1" - -level-iterator-stream@~1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz#e43b78b1a8143e6fa97a4f485eb8ea530352f2ed" - integrity sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0= - dependencies: - inherits "^2.0.1" - level-errors "^1.0.3" - readable-stream "^1.0.33" - xtend "^4.0.0" - -level-ws@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-0.0.0.tgz#372e512177924a00424b0b43aef2bb42496d228b" - integrity sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos= - dependencies: - readable-stream "~1.0.15" - xtend "~2.1.1" - -levelup@^1.2.1: - version "1.3.9" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-1.3.9.tgz#2dbcae845b2bb2b6bea84df334c475533bbd82ab" - integrity sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ== - dependencies: - deferred-leveldown "~1.2.1" - level-codec "~7.0.0" - level-errors "~1.0.3" - level-iterator-stream "~1.3.0" - prr "~1.0.1" - semver "~5.4.1" - xtend "~4.0.0" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= - -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash@4.x, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -lolex@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" - integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== - dependencies: - "@sinonjs/commons" "^1.7.0" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -ltgt@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" - integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU= - -lunr@^2.3.9: - version "2.3.9" - resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" - integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== - -make-dir@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.2.tgz#04a1acbf22221e1d6ef43559f43e05a90dbb4392" - integrity sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w== - dependencies: - semver "^6.0.0" - -make-error@1.x: - version "1.3.5" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" - integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -marked@^4.0.12: - version "4.0.14" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.14.tgz#7a3a5fa5c80580bac78c1ed2e3b84d7bd6fc3870" - integrity sha512-HL5sSPE/LP6U9qKgngIIPTthuxC0jrfxpYMZ3LdGDD3vTnLs59m2Z7r6+LNDR3ToqEQdkKd6YaaEfJhodJmijQ== - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -memdown@^1.0.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.4.1.tgz#b4e4e192174664ffbae41361aa500f3119efe215" - integrity sha1-tOThkhdGZP+65BNhqlAPMRnv4hU= - dependencies: - abstract-leveldown "~2.7.1" - functional-red-black-tree "^1.0.1" - immediate "^3.2.3" - inherits "~2.0.1" - ltgt "~2.2.0" - safe-buffer "~5.1.1" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz#982ca1b5a0fde00eed2f6aeed1f9152860b8208a" - integrity sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g== - dependencies: - async "^1.4.2" - ethereumjs-util "^5.0.0" - level-ws "0.0.0" - levelup "^1.2.1" - memdown "^1.0.0" - readable-stream "^2.0.0" - rlp "^2.0.0" - semaphore ">=1.0.1" - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -mime-db@1.40.0: - version "1.40.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" - integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.24" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" - integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== - dependencies: - mime-db "1.40.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" - integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= - dependencies: - dom-walk "^0.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" - integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.1.1, minimist@^1.2.0: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - -minipass@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" - integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== - dependencies: - yallist "^4.0.0" - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@1.x, mkdirp@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.2, ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -multiformats@^9.5.2: - version "9.5.2" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.5.2.tgz#14256e49bac8b6a5ecb558c4d3c347bb94873d65" - integrity sha512-nLQ9s7YOVtZdeNOVvCkNyFiZdS3wyq0gvCIvdm7Zy1zw3zBoColJKjMkIPXNdTqT7ruuq+G7HrezIN0cXiAZ0w== - -nan@2.13.2: - version "2.13.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7" - integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw== - -nan@^2.14.0, nan@^2.2.1: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== - -nanoid@^3.1.31: - version "3.1.31" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.31.tgz#f5b58a1ce1b7604da5f0605757840598d8974dc6" - integrity sha512-ZivnJm0o9bb13p2Ot5CpgC2rQdzB9Uxm/mFZweqm5eMViqOJe3PV6LU2E30SiLgheesmcPrjquqraoolONSA0A== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -nise@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/nise/-/nise-4.0.4.tgz#d73dea3e5731e6561992b8f570be9e363c4512dd" - integrity sha512-bTTRUNlemx6deJa+ZyoCUTRvH3liK5+N6VQZ4NIw90AgDXY6iPnsqplNFf6STcj+ePk0H/xqxnP75Lr0J0Fq3A== - dependencies: - "@sinonjs/commons" "^1.7.0" - "@sinonjs/fake-timers" "^6.0.0" - "@sinonjs/text-encoding" "^0.7.1" - just-extend "^4.0.2" - path-to-regexp "^1.7.0" - -nock@^13.0.7: - version "13.0.7" - resolved "https://registry.yarnpkg.com/nock/-/nock-13.0.7.tgz#9bc718c66bd0862dfa14601a9ba678a406127910" - integrity sha512-WBz73VYIjdbO6BwmXODRQLtn7B5tldA9pNpWJe5QTtTEscQlY5KXU4srnGzBOK2fWakkXj69gfTnXGzmrsaRWw== - dependencies: - debug "^4.1.0" - json-stringify-safe "^5.0.1" - lodash.set "^4.3.2" - propagate "^2.0.0" - -node-addon-api@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" - integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== - -node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-gyp-build@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" - integrity sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg== - -node-gyp@^7.1.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" - integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.3" - nopt "^5.0.0" - npmlog "^4.1.2" - request "^2.88.2" - rimraf "^3.0.2" - semver "^7.3.2" - tar "^6.0.2" - which "^2.0.2" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1" - integrity sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-normalize-package-bin@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" - integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0, npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npmlog@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -number-to-bn@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" - integrity sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA= - dependencies: - bn.js "4.11.6" - strip-hex-prefix "1.0.0" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -object-inspect@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" - integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== - -object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-keys@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" - integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" - integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" - -obs-store@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/obs-store/-/obs-store-4.0.3.tgz#b632ec7814baa604fae084a4c97e87c0b7a6d14c" - integrity sha512-+mm13kCRDv6IcvUDKTw0LIy5+dQhIktYaR/RwwZUFzOTi/fjMaNBnk42Adb94qZqJ00qWkjhQSZH7MXlKnTi8A== - dependencies: - readable-stream "^2.2.2" - safe-event-emitter "^1.0.1" - through2 "^2.0.3" - xtend "^4.0.1" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== - dependencies: - mimic-fn "^2.1.0" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -optionator@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - 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" - -p-each-series@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" - integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" - integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-headers@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.2.tgz#9545e8a4c1ae5eaea7d24992bca890281ed26e34" - integrity sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg== - dependencies: - for-each "^0.3.3" - string.prototype.trim "^1.1.2" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" - integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== - 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" - -parse5@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" - integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== - -parse5@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= - dependencies: - isarray "0.0.1" - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pbkdf2@^3.0.17: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -pbkdf2@^3.0.9: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.0.5: - version "2.2.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" - integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== - -picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" - integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -precond@0.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac" - integrity sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw= - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier-plugin-packagejson@^2.2.17: - version "2.2.17" - resolved "https://registry.yarnpkg.com/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.2.17.tgz#fc5c93203f9091ad063d9ea5960d2e1a989b94ac" - integrity sha512-Z1l3stIdkEzuv5w2ZyLl7mvl1Q/7vr2wjLAaKCQtafPHB7h09dir0tgXK/W5iEc/jP+C4XtvJl/HhiZBvPh4rQ== - dependencies: - sort-package-json "1.55.0" - -prettier@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" - integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== - -pretty-format@^25.2.1, pretty-format@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" - integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== - dependencies: - "@jest/types" "^25.5.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - -pretty-format@^26.0.0, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -pretty-format@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.4.2.tgz#d081d032b398e801e2012af2df1214ef75a81237" - integrity sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA== - dependencies: - "@jest/types" "^26.3.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - -pretty-format@^27.0.0, pretty-format@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.3.1.tgz#7e9486365ccdd4a502061fa761d3ab9ca1b78df5" - integrity sha512-DR/c+pvFc52nLimLROYjnXPtolawm+uWDxr4FjuLDLUn+ktWnSN851KoHwHzzqq6rfCOjkzN8FLgDrSub6UDuA== - dependencies: - "@jest/types" "^27.2.5" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -printj@~1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" - integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@~0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" - integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8= - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-to-callback@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/promise-to-callback/-/promise-to-callback-1.0.0.tgz#5d2a749010bfb67d963598fcd3960746a68feef7" - integrity sha1-XSp0kBC/tn2WNZj805YHRqaP7vc= - dependencies: - is-fn "^1.0.0" - set-immediate-shim "^1.0.1" - -prompts@^2.0.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz#f901dd2a2dfee080359c0e20059b24188d75ad35" - integrity sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.3" - -propagate@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" - integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -psl@^1.1.24: - version "1.3.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.0.tgz#e1ebf6a3b5564fa8376f3da2275da76d875ca1bd" - integrity sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag== - -psl@^1.1.28: - version "1.7.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c" - integrity sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" - integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -randombytes@^2.0.1, randombytes@^2.0.6, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -react-is@^16.12.0: - version "16.13.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.0.tgz#0f37c3613c34fe6b37cd7f763a0d6293ab15c527" - integrity sha512-GFMtL0vHkiBv9HluwNZTggSn/sCyEt9n02aM0dSAjGGyqyNlAyftYm4phPxdvCigG15JreC5biwxCgTAJZ7yAA== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -read-package-json-fast@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz#2dcb24d9e8dd50fb322042c8c35a954e6cc7ac9e" - integrity sha512-5fyFUyO9B799foVk4n6ylcoAktG/FbE3jwRKxvwaeSrIunaoMc0u81dzXxjeAFKOce7O5KncdfwpGvvs6r5PsQ== - dependencies: - json-parse-even-better-errors "^2.3.0" - npm-normalize-package-bin "^1.0.1" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -readable-stream@^1.0.33: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^2.0.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@~1.0.15: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-runtime@^0.13.2: - version "0.13.3" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" - integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== - -regextras@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.8.0.tgz#ec0f99853d4912839321172f608b544814b02217" - integrity sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ== - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.7, request-promise-native@^1.0.8: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.85.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.0" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.4.3" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -request@^2.88.0, request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.13.1, resolve@^1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.10.1: - version "1.19.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" - integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== - dependencies: - is-core-module "^2.1.0" - path-parse "^1.0.6" - -resolve@^1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -resolve@^1.3.2, resolve@^1.8.1: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== - dependencies: - path-parse "^1.0.6" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rlp@^2.0.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.3.tgz#7f94aef86cec412df87d5ea1d8cb116a47d45f0e" - integrity sha512-l6YVrI7+d2vpW6D6rS05x2Xrmq8oW7v3pieZOJKBEdjuTF4Kz/iwk55Zyh1Zaz+KOB2kC8+2jZlp2u9L4tTzCQ== - dependencies: - bn.js "^4.11.1" - safe-buffer "^5.1.1" - -rlp@^2.2.3, rlp@^2.2.6: - version "2.2.7" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" - integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== - dependencies: - bn.js "^5.2.0" - -rlp@^2.2.4: - version "2.2.6" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.6.tgz#c80ba6266ac7a483ef1e69e8e2f056656de2fb2c" - integrity sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg== - dependencies: - bn.js "^4.11.1" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -run-parallel@^1.1.9: - version "1.1.10" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" - integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== - -rustbn.js@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/rustbn.js/-/rustbn.js-0.2.0.tgz#8082cb886e707155fd1cb6f23bd591ab8d55d0ca" - integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== - -safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-event-emitter@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz#5b692ef22329ed8f69fdce607e50ca734f6f20af" - integrity sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg== - dependencies: - events "^3.0.0" - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^3.1.9: - version "3.1.11" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" - integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== - dependencies: - xmlchars "^2.1.1" - -saxes@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -scrypt-js@3.0.1, scrypt-js@^3.0.0, scrypt-js@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - -secp256k1@^3.0.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.7.1.tgz#12e473e0e9a7c2f2d4d4818e722ad0e14cc1e2f1" - integrity sha512-1cf8sbnRreXrQFdH6qsg2H71Xw91fCCS9Yp021GnUNJzWJS/py96fS4lHbnTnouLp08Xj6jBoBB6V78Tdbdu5g== - dependencies: - bindings "^1.5.0" - bip66 "^1.1.5" - bn.js "^4.11.8" - create-hash "^1.2.0" - drbg.js "^1.0.1" - elliptic "^6.4.1" - nan "^2.14.0" - safe-buffer "^5.1.2" - -secp256k1@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" - integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== - dependencies: - elliptic "^6.5.4" - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - -secp256k1@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.2.tgz#15dd57d0f0b9fdb54ac1fa1694f40e5e9a54f4a1" - integrity sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg== - dependencies: - elliptic "^6.5.2" - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - -semaphore@>=1.0.1, semaphore@^1.0.3: - version "1.1.0" - resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa" - integrity sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA== - -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@~5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -sha3@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/sha3/-/sha3-1.2.3.tgz#ed5958fa8331df1b1b8529ca9fdf225a340c5418" - integrity sha512-sOWDZi8cDBRkLfWOw18wvJyNblXDHzwMGnRWut8zNNeIeLnmMRO17bjpLc7OzMuj1ASUgx2IyohzUCAl+Kx5vA== - dependencies: - nan "2.13.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -shiki@^0.10.1: - version "0.10.1" - resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.10.1.tgz#6f9a16205a823b56c072d0f1a0bcd0f2646bef14" - integrity sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng== - dependencies: - jsonc-parser "^3.0.0" - vscode-oniguruma "^1.6.1" - vscode-textmate "5.2.0" - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - -signal-exit@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -single-call-balance-checker-abi@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/single-call-balance-checker-abi/-/single-call-balance-checker-abi-1.0.0.tgz#b369009fd4cc6214968cdba650ad93986315d92d" - integrity sha512-T5fRBJHmGEMe76JFGB36gcZnOh1ip2S7Qsp7cwmwrfMRjadxTe02zJHtXERpnQf2yvSqNWRxvae5f6e8v4rhng== - -sinon@^9.2.4: - version "9.2.4" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-9.2.4.tgz#e55af4d3b174a4443a8762fa8421c2976683752b" - integrity sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg== - dependencies: - "@sinonjs/commons" "^1.8.1" - "@sinonjs/fake-timers" "^6.0.1" - "@sinonjs/samsam" "^5.3.1" - diff "^4.0.2" - nise "^4.0.4" - supports-color "^7.1.0" - -sisteransi@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb" - integrity sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sort-object-keys@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/sort-object-keys/-/sort-object-keys-1.1.3.tgz#bff833fe85cab147b34742e45863453c1e190b45" - integrity sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg== - -sort-package-json@1.55.0: - version "1.55.0" - resolved "https://registry.yarnpkg.com/sort-package-json/-/sort-package-json-1.55.0.tgz#150328328a9ac8b417b43d5a1fae74e5f27254e9" - integrity sha512-xhKvRD8WGbALjXQkVuk4/93Z/2NIO+5IzKamdMjN5kn3L+N+M9YWQssmM6GXlQr9v1F7PGWsOJEo1gvXOhM7Mg== - dependencies: - detect-indent "^6.0.0" - detect-newline "3.1.0" - git-hooks-list "1.0.3" - globby "10.0.0" - is-plain-obj "2.1.0" - sort-object-keys "^1.1.3" - -source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== - dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== - -stack-utils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593" - integrity sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -string-length@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" - integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2": - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.trim@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" - integrity sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.0" - function-bind "^1.0.2" - -string.prototype.trimend@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-hex-prefix@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" - integrity sha1-DF8VX+8RUTczd96du1iNoFUA428= - dependencies: - is-hex-prefixed "1.0.0" - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -symbol-tree@^3.2.2, symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -table@^6.0.4: - version "6.0.7" - resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" - integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== - dependencies: - ajv "^7.0.2" - lodash "^4.17.20" - slice-ansi "^4.0.0" - string-width "^4.2.0" - -tar@^6.0.2: - version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through2@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -tmpl@1.0.x: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^2.3.3, tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== - dependencies: - psl "^1.1.24" - punycode "^1.4.1" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= - dependencies: - punycode "^2.1.0" - -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== - dependencies: - punycode "^2.1.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= - -ts-jest@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.2.tgz#5281d6b44c2f94f71205728a389edc3d7995b0c4" - integrity sha512-bwyJ2zJieSugf7RB+o8fgkMeoMVMM2KPDE0UklRLuACxjwJsOrZNo6chrcScmK33YavPSwhARffy8dZx5LJdUQ== - dependencies: - "@types/jest" "26.x" - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - jest-util "^26.1.0" - json5 "2.x" - lodash "4.x" - make-error "1.x" - mkdirp "1.x" - semver "7.x" - yargs-parser "20.x" - -tsconfig-paths@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" - integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.0" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.10.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" - integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== - -tslib@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" - integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== - -tslib@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tsutils@^3.17.1: - version "3.17.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" - integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== - dependencies: - tslib "^1.8.1" - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl-util@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.0.tgz#4576c1cee5e2d63d207fee52f1ba02819480bc75" - integrity sha1-RXbBzuXi1j0gf+5S8boCgZSAvHU= - -tweetnacl-util@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" - integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -tweetnacl@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.1.tgz#2594d42da73cd036bd0d2a54683dd35a6b55ca17" - integrity sha512-kcoMoKTPYnoeS50tzoqjPY3Uv9axeuuFAZY9M/9zFnhoVvRfxz9K29IMPD7jGmt2c8SW7i3gT9WqDl2+nV7p4A== - -tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8, type-detect@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typedoc-plugin-missing-exports@^0.22.6: - version "0.22.6" - resolved "https://registry.yarnpkg.com/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-0.22.6.tgz#7467c60f1cd26507124103f0b9bca271d5aa8d71" - integrity sha512-1uguGQqa+c5f33nWS3v1mm0uAx4Ii1lw4Kx2zQksmYFKNEWTmrmMXbMNBoBg4wu0p4dFCNC7JIWPoRzpNS6pFA== - -typedoc@^0.22.15: - version "0.22.15" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.22.15.tgz#c6ad7ed9d017dc2c3a06c9189cb392bd8e2d8c3f" - integrity sha512-CMd1lrqQbFvbx6S9G6fL4HKp3GoIuhujJReWqlIvSb2T26vGai+8Os3Mde7Pn832pXYemd9BMuuYWhFpL5st0Q== - dependencies: - glob "^7.2.0" - lunr "^2.3.9" - marked "^4.0.12" - minimatch "^5.0.1" - shiki "^0.10.1" - -typescript@~4.6.3: - version "4.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" - integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -utf8@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.2.tgz#1fa0d9270e9be850d9b05027f63519bf46457d96" - integrity sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY= - -utf8@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" - integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util@^0.12.0: - version "0.12.4" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" - integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - safe-buffer "^5.1.2" - which-typed-array "^1.1.2" - -uuid@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" - integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== - -uuid@^8.3.0, uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache@^2.0.3: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" - integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== - -v8-to-istanbul@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-5.0.1.tgz#0608f5b49a481458625edb058488607f25498ba5" - integrity sha512-mbDNjuDajqYe3TXFk5qxcQy8L1msXNE37WTlLoqqpBfRsimbNcrlhQlDPntmECEcUvdC+AQ8CyMMf6EUx1r74Q== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vscode-oniguruma@^1.6.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.6.2.tgz#aeb9771a2f1dbfc9083c8a7fdd9cccaa3f386607" - integrity sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA== - -vscode-textmate@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e" - integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ== - -w3c-hr-time@^1.0.1, w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" - integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== - dependencies: - domexception "^1.0.1" - webidl-conversions "^4.0.2" - xml-name-validator "^3.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -web3-provider-engine@^16.0.3: - version "16.0.3" - resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-16.0.3.tgz#8ff93edf3a8da2f70d7f85c5116028c06a0d9f07" - integrity sha512-Q3bKhGqLfMTdLvkd4TtkGYJHcoVQ82D1l8jTIwwuJp/sAp7VHnRYb9YJ14SW/69VMWoOhSpPLZV2tWb9V0WJoA== - dependencies: - "@ethereumjs/tx" "^3.3.0" - async "^2.5.0" - backoff "^2.5.0" - clone "^2.0.0" - cross-fetch "^2.1.0" - eth-block-tracker "^4.4.2" - eth-json-rpc-filters "^4.2.1" - eth-json-rpc-infura "^5.1.0" - eth-json-rpc-middleware "^6.0.0" - eth-rpc-errors "^3.0.0" - eth-sig-util "^1.4.2" - ethereumjs-block "^1.2.2" - ethereumjs-util "^5.1.5" - ethereumjs-vm "^2.3.4" - json-stable-stringify "^1.0.1" - promise-to-callback "^1.0.0" - readable-stream "^2.2.9" - request "^2.85.0" - semaphore "^1.0.3" - ws "^5.1.1" - xhr "^2.2.0" - xtend "^4.0.1" - -web3@^0.20.7: - version "0.20.7" - resolved "https://registry.yarnpkg.com/web3/-/web3-0.20.7.tgz#1605e6d81399ed6f85a471a4f3da0c8be57df2f7" - integrity sha512-VU6/DSUX93d1fCzBz7WP/SGCQizO1rKZi4Px9j/3yRyfssHyFcZamMw2/sj4E8TlfMXONvZLoforR8B4bRoyTQ== - dependencies: - bignumber.js "git+https://github.com/frozeman/bignumber.js-nolookahead.git" - crypto-js "^3.1.4" - utf8 "^2.1.1" - xhr2-cookies "^1.1.0" - xmlhttprequest "*" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-fetch@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" - integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== - -whatwg-fetch@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.4.1.tgz#e5f871572d6879663fa5674c8f833f15a8425ab3" - integrity sha512-sofZVzE1wKwO+EYPbWfiwzaKovWiZXf4coEzjGP9b2GBVgQRLQUZ2QcuPpQExGDAW5GItpEm6Tl4OU5mywnAoQ== - -whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^8.0.0: - version "8.2.2" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.2.2.tgz#85e7f9795108b53d554cec640b2e8aee2a0d4bfd" - integrity sha512-PcVnO6NiewhkmzV0qn7A+UZ9Xx4maNTI+O+TShmfE4pqjoCMwUMjkvoNhNHPTvgR7QH9Xt3R13iHuWy2sToFxQ== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^6.1.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which-typed-array@^1.1.2: - version "1.1.7" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.7.tgz#2761799b9a22d4b8660b3c1b40abaa7739691793" - integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-abstract "^1.18.5" - foreach "^2.0.5" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.7" - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - -ws@^5.1.1: - version "5.2.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" - integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== - dependencies: - async-limiter "~1.0.0" - -ws@^7.0.0, ws@^7.2.3: - version "7.3.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" - integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== - -xhr2-cookies@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48" - integrity sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg= - dependencies: - cookiejar "^2.1.1" - -xhr2@0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.1.3.tgz#cbfc4759a69b4a888e78cf4f20b051038757bd11" - integrity sha1-y/xHWaabSoiOeM9PILBRA4dXvRE= - -xhr@^2.2.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd" - integrity sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ== - dependencies: - global "~4.3.0" - is-function "^1.0.1" - parse-headers "^2.0.0" - xtend "^4.0.0" - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.1.1, xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xmlhttprequest@*: - version "1.8.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" - integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw= - -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -xtend@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" - integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os= - dependencies: - object-keys "~0.4.0" - -y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@20.x: - version "20.2.6" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.6.tgz#69f920addf61aafc0b8b89002f5d66e28f2d8b20" - integrity sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA== - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.2: - version "20.2.7" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" - integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== - -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^17.0.1: - version "17.0.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.0.1.tgz#6a1ced4ed5ee0b388010ba9fd67af83b9362e0bb" - integrity sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 6 + cacheKey: 8 + +"@ampproject/remapping@npm:^2.1.0": + version: 2.2.0 + resolution: "@ampproject/remapping@npm:2.2.0" + dependencies: + "@jridgewell/gen-mapping": ^0.1.0 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: d74d170d06468913921d72430259424b7e4c826b5a7d39ff839a29d547efb97dc577caa8ba3fb5cf023624e9af9d09651afc3d4112a45e2050328abc9b3a2292 + languageName: node + linkType: hard + +"@babel/code-frame@npm:7.12.11": + version: 7.12.11 + resolution: "@babel/code-frame@npm:7.12.11" + dependencies: + "@babel/highlight": ^7.10.4 + checksum: 3963eff3ebfb0e091c7e6f99596ef4b258683e4ba8a134e4e95f77afe85be5c931e184fff6435fb4885d12eba04a5e25532f7fbc292ca13b48e7da943474e2f3 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0": + version: 7.5.5 + resolution: "@babel/code-frame@npm:7.5.5" + dependencies: + "@babel/highlight": ^7.0.0 + checksum: b4cb24f103ac96451c02efad3c9118533ff4c4e105f2153870d715af0715633ac6c269d7b9473b0c491fc2a7ef02efd6a0817a173896aef6d7279b61139dec22 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/code-frame@npm:7.10.4" + dependencies: + "@babel/highlight": ^7.10.4 + checksum: feb4543c8a509fe30f0f6e8d7aa84f82b41148b963b826cd330e34986f649a85cb63b2f13dd4effdf434ac555d16f14940b8ea5f4433297c2f5ff85486ded019 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7": + version: 7.16.7 + resolution: "@babel/code-frame@npm:7.16.7" + dependencies: + "@babel/highlight": ^7.16.7 + checksum: db2f7faa31bc2c9cf63197b481b30ea57147a5fc1a6fab60e5d6c02cdfbf6de8e17b5121f99917b3dabb5eeb572da078312e70697415940383efc140d4e0808b + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.17.10": + version: 7.17.10 + resolution: "@babel/compat-data@npm:7.17.10" + checksum: e85051087cd4690de5061909a2dd2d7f8b6434a3c2e30be6c119758db2027ae1845bcd75a81127423dd568b706ac6994a1a3d7d701069a23bf5cfe900728290b + languageName: node + linkType: hard + +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3": + version: 7.17.12 + resolution: "@babel/core@npm:7.17.12" + dependencies: + "@ampproject/remapping": ^2.1.0 + "@babel/code-frame": ^7.16.7 + "@babel/generator": ^7.17.12 + "@babel/helper-compilation-targets": ^7.17.10 + "@babel/helper-module-transforms": ^7.17.12 + "@babel/helpers": ^7.17.9 + "@babel/parser": ^7.17.12 + "@babel/template": ^7.16.7 + "@babel/traverse": ^7.17.12 + "@babel/types": ^7.17.12 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.1 + semver: ^6.3.0 + checksum: c428b26eae4796ce58613c683d5776f97765a5e92753604cf50b3f2f485a710c6ee5dc972799b4bb350f3428d5ca630d9f200d1c7846aa99bef66b9e0a9329ae + languageName: node + linkType: hard + +"@babel/generator@npm:^7.17.12, @babel/generator@npm:^7.7.2": + version: 7.17.12 + resolution: "@babel/generator@npm:7.17.12" + dependencies: + "@babel/types": ^7.17.12 + "@jridgewell/gen-mapping": ^0.3.0 + jsesc: ^2.5.1 + checksum: a32c02d70ef054eba5aa58fe601885d6a8d66e2dd7828959887d82e17c026616da056897b1c1993dfd083b4e239457e8e34b1154256a791e7e80f23320f940a3 + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.17.10": + version: 7.17.10 + resolution: "@babel/helper-compilation-targets@npm:7.17.10" + dependencies: + "@babel/compat-data": ^7.17.10 + "@babel/helper-validator-option": ^7.16.7 + browserslist: ^4.20.2 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 5f547c7ebd372e90fa72c2aaea867e7193166e9f469dec5acde4f0e18a78b80bdca8e02a0f641f3e998be984fb5b802c729a9034faaee8b1a9ef6670cb76f120 + languageName: node + linkType: hard + +"@babel/helper-environment-visitor@npm:^7.16.7": + version: 7.16.7 + resolution: "@babel/helper-environment-visitor@npm:7.16.7" + dependencies: + "@babel/types": ^7.16.7 + checksum: c03a10105d9ebd1fe632a77356b2e6e2f3c44edba9a93b0dc3591b6a66bd7a2e323dd9502f9ce96fc6401234abff1907aa877b6674f7826b61c953f7c8204bbe + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.17.9": + version: 7.17.9 + resolution: "@babel/helper-function-name@npm:7.17.9" + dependencies: + "@babel/template": ^7.16.7 + "@babel/types": ^7.17.0 + checksum: a59b2e5af56d8f43b9b0019939a43774754beb7cb01a211809ca8031c71890999d07739e955343135ec566c4d8ff725435f1f60fb0af3bb546837c1f9f84f496 + languageName: node + linkType: hard + +"@babel/helper-hoist-variables@npm:^7.16.7": + version: 7.16.7 + resolution: "@babel/helper-hoist-variables@npm:7.16.7" + dependencies: + "@babel/types": ^7.16.7 + checksum: 6ae1641f4a751cd9045346e3f61c3d9ec1312fd779ab6d6fecfe2a96e59a481ad5d7e40d2a840894c13b3fd6114345b157f9e3062fc5f1580f284636e722de60 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.16.7": + version: 7.16.7 + resolution: "@babel/helper-module-imports@npm:7.16.7" + dependencies: + "@babel/types": ^7.16.7 + checksum: ddd2c4a600a2e9a4fee192ab92bf35a627c5461dbab4af31b903d9ba4d6b6e59e0ff3499fde4e2e9a0eebe24906f00b636f8b4d9bd72ff24d50e6618215c3212 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/helper-module-transforms@npm:7.17.12" + dependencies: + "@babel/helper-environment-visitor": ^7.16.7 + "@babel/helper-module-imports": ^7.16.7 + "@babel/helper-simple-access": ^7.17.7 + "@babel/helper-split-export-declaration": ^7.16.7 + "@babel/helper-validator-identifier": ^7.16.7 + "@babel/template": ^7.16.7 + "@babel/traverse": ^7.17.12 + "@babel/types": ^7.17.12 + checksum: 037d1416cfbd71ab3b937884118903d1d3137ab9e9130a19bb51f2f00682191dcc49dbbf70cadb1119adeb3e3f983b98195d307c616189ff3346dec5b47f2f4b + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0": + version: 7.0.0 + resolution: "@babel/helper-plugin-utils@npm:7.0.0" + checksum: 896d74329d5362faf667d13e6351e93ec7e265a9560e6927f0d71a069abb49e44c1f9c1e04a003c46c550d8366e45ea7229a61ca5ba5e9059f54f15ed72c3952 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helper-plugin-utils@npm:7.10.4" + checksum: 639ed8fc462b97a83226cee6bb081b1d77e7f73e8b033d2592ed107ee41d96601e321e5ea53a33e47469c7f1146b250a3dcda5ab873c7de162ab62120c341a41 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/helper-plugin-utils@npm:7.17.12" + checksum: 4813cf0ddb0f143de032cb88d4207024a2334951db330f8216d6fa253ea320c02c9b2667429ef1a34b5e95d4cfbd085f6cb72d418999751c31d0baf2422cc61d + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.8.0": + version: 7.8.3 + resolution: "@babel/helper-plugin-utils@npm:7.8.3" + checksum: c81ed4d3c5670c28921b1598ff97f676d8ee848afb8dc643be095bd1b289e7ee5ea9a3bb15c0dcf6ce9b30a53ef71ec4863a678734be3cfef69fed430516882a + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.17.7": + version: 7.17.7 + resolution: "@babel/helper-simple-access@npm:7.17.7" + dependencies: + "@babel/types": ^7.17.0 + checksum: 58a9bfd054720024f6ff47fbb113c96061dc2bd31a5e5285756bd3c2e83918c6926900e00150d0fb175d899494fe7d69bf2a8b278c32ef6f6bea8d032e6a3831 + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.16.7": + version: 7.16.7 + resolution: "@babel/helper-split-export-declaration@npm:7.16.7" + dependencies: + "@babel/types": ^7.16.7 + checksum: e10aaf135465c55114627951b79115f24bc7af72ecbb58d541d66daf1edaee5dde7cae3ec8c3639afaf74526c03ae3ce723444e3b5b3dc77140c456cd84bcaa1 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helper-validator-identifier@npm:7.10.4" + checksum: 3cbfdff0efea8f3bca050cfe408a156604293d3313c7279c8c02d916a0b3ef82617f28f7729877a94c0e8e922d4b7623c4f0a108ae2853bf762d933e101a5f8c + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.16.7": + version: 7.16.7 + resolution: "@babel/helper-validator-identifier@npm:7.16.7" + checksum: dbb3db9d184343152520a209b5684f5e0ed416109cde82b428ca9c759c29b10c7450657785a8b5c5256aa74acc6da491c1f0cf6b784939f7931ef82982051b69 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.16.7": + version: 7.16.7 + resolution: "@babel/helper-validator-option@npm:7.16.7" + checksum: c5ccc451911883cc9f12125d47be69434f28094475c1b9d2ada7c3452e6ac98a1ee8ddd364ca9e3f9855fcdee96cdeafa32543ebd9d17fee7a1062c202e80570 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.17.9": + version: 7.17.9 + resolution: "@babel/helpers@npm:7.17.9" + dependencies: + "@babel/template": ^7.16.7 + "@babel/traverse": ^7.17.9 + "@babel/types": ^7.17.0 + checksum: 3c6db861e4c82fff2de3efb4ad12e32658c50c29920597cd0979390659b202e5849acd9542e0e2453167a52ccc30156ee4455d64d0e330f020d991d7551566f8 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.0.0": + version: 7.5.0 + resolution: "@babel/highlight@npm:7.5.0" + dependencies: + chalk: ^2.0.0 + esutils: ^2.0.2 + js-tokens: ^4.0.0 + checksum: 607ad0ae98515b948c92be206aaade063b08d76131714df21ac74202ef354ac3534488ee18ac01458a7ff19721beec73c016e04813243c52dcf32521e063fc56 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/highlight@npm:7.10.4" + dependencies: + "@babel/helper-validator-identifier": ^7.10.4 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: 6fab4679162562907942acc3647bc8c405b955f3bef7c654ef160491d0801ebdc12651c2051144dc0e22b69044fe3059d630151d5d7fb84b10ed4093da707707 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.16.7": + version: 7.17.12 + resolution: "@babel/highlight@npm:7.17.12" + dependencies: + "@babel/helper-validator-identifier": ^7.16.7 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: 841a11aa353113bcce662b47085085a379251bf8b09054e37e1e082da1bf0d59355a556192a6b5e9ee98e8ee6f1f2831ac42510633c5e7043e3744dda2d6b9d6 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0": + version: 7.5.5 + resolution: "@babel/parser@npm:7.5.5" + bin: + parser: ./bin/babel-parser.js + checksum: a534d085baaef6b8971274affbcb35a5652cb7b7439058f42822031a726c10f6a77b8e59ceed1940485f7d08b9bb6e7e8970d5283ab2ec6c7cc6f6b394306e2f + languageName: node + linkType: hard + +"@babel/parser@npm:^7.10.4": + version: 7.11.5 + resolution: "@babel/parser@npm:7.11.5" + bin: + parser: ./bin/babel-parser.js + checksum: 3cd9834e0e072114974b214473002b40792c3f19779a39d63dd832d99a48762b9ab158762f45547f2cc8f0fbdac2727a07d1f005f175b14c1af3ec6cd9916d3d + languageName: node + linkType: hard + +"@babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/parser@npm:7.17.12" + bin: + parser: ./bin/babel-parser.js + checksum: 5c6f498040b2941fabdf2158683c482c8336af2d7d4c5be95ac9648993a1e03a22c4d18566897d4009e4ce5756a03f144bb37f8ceac176cc5bba99f4eb8ca33e + languageName: node + linkType: hard + +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7ed1c1d9b9e5b64ef028ea5e755c0be2d4e5e4e3d6cf7df757b9a8c4cfa4193d268176d0f1f7fbecdda6fe722885c7fda681f480f3741d8a2d26854736f05367 + languageName: node + linkType: hard + +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3a10849d83e47aec50f367a9e56a6b22d662ddce643334b087f9828f4c3dd73bdc5909aaeabe123fed78515767f9ca43498a0e621c438d1cd2802d7fae3c9648 + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-properties@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-class-properties@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 454db1392c5415abf0681a619e71c667df94f7c7587767016b804c4b84180ed4fc00cefcae677850fa356c991085ab61ae524c4d4bab95445cb4aa0a3af96017 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 166ac1125d10b9c0c430e4156249a13858c0366d38844883d75d27389621ebe651115cb2ceb6dc011534d5055719fa1727b59f39e1ab3ca97820eef3dcab5b9b + languageName: node + linkType: hard + +"@babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bf5aea1f3188c9a507e16efe030efb996853ca3cadd6512c51db7233cc58f3ac89ff8c6bdfb01d30843b161cfe7d321e1bf28da82f7ab8d7e6bc5464666f354a + languageName: node + linkType: hard + +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: aff33577037e34e515911255cdbb1fd39efee33658aa00b8a5fd3a4b903585112d037cce1cc9e4632f0487dc554486106b79ccd5ea63a2e00df4363f6d4ff886 + languageName: node + linkType: hard + +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 87aca4918916020d1fedba54c0e232de408df2644a425d153be368313fdde40d96088feed6c4e5ab72aac89be5d07fef2ddf329a15109c5eb65df006bf2580d1 + languageName: node + linkType: hard + +"@babel/plugin-syntax-numeric-separator@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 01ec5547bd0497f76cc903ff4d6b02abc8c05f301c88d2622b6d834e33a5651aa7c7a3d80d8d57656a4588f7276eba357f6b7e006482f5b564b7a6488de493a1 + languageName: node + linkType: hard + +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: fddcf581a57f77e80eb6b981b10658421bc321ba5f0a5b754118c6a92a5448f12a0c336f77b8abf734841e102e5126d69110a306eadb03ca3e1547cab31f5cbf + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 910d90e72bc90ea1ce698e89c1027fed8845212d5ab588e35ef91f13b93143845f94e2539d831dc8d8ededc14ec02f04f7bd6a8179edd43a326c784e7ed7f0b9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: eef94d53a1453361553c1f98b68d17782861a04a392840341bc91780838dd4e695209c783631cf0de14c635758beafb6a3a65399846ffa4386bff90639347f30 + languageName: node + linkType: hard + +"@babel/plugin-syntax-top-level-await@npm:^7.8.3": + version: 7.14.5 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bbd1a56b095be7820029b209677b194db9b1d26691fe999856462e66b25b281f031f3dfd91b1619e9dcf95bebe336211833b854d0fb8780d618e35667c2d0d7e + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.17.12 + resolution: "@babel/plugin-syntax-typescript@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 50ab09f1953a2b0586cff9e29bf7cea3d886b48c1361a861687c2aef46356c6d73778c3341b0c051dc82a34417f19e9d759ae918353c5a98d25e85f2f6d24181 + languageName: node + linkType: hard + +"@babel/template@npm:^7.16.7": + version: 7.16.7 + resolution: "@babel/template@npm:7.16.7" + dependencies: + "@babel/code-frame": ^7.16.7 + "@babel/parser": ^7.16.7 + "@babel/types": ^7.16.7 + checksum: 10cd112e89276e00f8b11b55a51c8b2f1262c318283a980f4d6cdb0286dc05734b9aaeeb9f3ad3311900b09bc913e02343fcaa9d4a4f413964aaab04eb84ac4a + languageName: node + linkType: hard + +"@babel/template@npm:^7.3.3": + version: 7.10.4 + resolution: "@babel/template@npm:7.10.4" + dependencies: + "@babel/code-frame": ^7.10.4 + "@babel/parser": ^7.10.4 + "@babel/types": ^7.10.4 + checksum: 174a1fbfa19ed68141c9a047ff02972ebd3e8c7a98a00ffa79d4958d0f31bcfe17766987c2064d7fae851a277e1c499a05a527df346b3821d9aa9f730979cea9 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.17.12, @babel/traverse@npm:^7.17.9, @babel/traverse@npm:^7.7.2": + version: 7.17.12 + resolution: "@babel/traverse@npm:7.17.12" + dependencies: + "@babel/code-frame": ^7.16.7 + "@babel/generator": ^7.17.12 + "@babel/helper-environment-visitor": ^7.16.7 + "@babel/helper-function-name": ^7.17.9 + "@babel/helper-hoist-variables": ^7.16.7 + "@babel/helper-split-export-declaration": ^7.16.7 + "@babel/parser": ^7.17.12 + "@babel/types": ^7.17.12 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: 26331fd7cfe43b9b24008bc686398638ba4b550440ac866b095452b95df9a106c306ba712cfaba66daa31bb347850f8a5a214460c1c1921bb57a1a6b7087fbc1 + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.3.0": + version: 7.5.5 + resolution: "@babel/types@npm:7.5.5" + dependencies: + esutils: ^2.0.2 + lodash: ^4.17.13 + to-fast-properties: ^2.0.0 + checksum: 76d832bac201834b18d3fe61db220d796283ae3595d51d65c45516b1e44bb318d9906a9adaf4eebbf6400510828a70a821d8b0c9971bdb44408df041f09b4443 + languageName: node + linkType: hard + +"@babel/types@npm:^7.10.4, @babel/types@npm:^7.3.3": + version: 7.11.5 + resolution: "@babel/types@npm:7.11.5" + dependencies: + "@babel/helper-validator-identifier": ^7.10.4 + lodash: ^4.17.19 + to-fast-properties: ^2.0.0 + checksum: de2c1302f7c459d5786e8e3775c9162c07db86b4abac73368d4dfaea876bd4284241793b1f096685f74baab17b34f6c00d4a7ff03fb1bbea4d9fc46c9cae4b33 + languageName: node + linkType: hard + +"@babel/types@npm:^7.16.7, @babel/types@npm:^7.17.0, @babel/types@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/types@npm:7.17.12" + dependencies: + "@babel/helper-validator-identifier": ^7.16.7 + to-fast-properties: ^2.0.0 + checksum: 5e522081587a0073a577fd05010ab917dbd2acea7aa06027ec42f90894ed1f8df2f03b9bb0713638153839b56a7be8dcf4b8ab2e55796c730a30ca9f0df1ba5c + languageName: node + linkType: hard + +"@babel/types@npm:^7.8.3": + version: 7.8.7 + resolution: "@babel/types@npm:7.8.7" + dependencies: + esutils: ^2.0.2 + lodash: ^4.17.13 + to-fast-properties: ^2.0.0 + checksum: f9520e5fdd7ad2805e34e4972370bfbb67309e271068aad9c7fb428320dc58f239306c5b0a7143ba51d92ee3a51f5f73902edb976d445c076245ad916201e701 + languageName: node + linkType: hard + +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 850f9305536d0f2bd13e9e0881cb5f02e4f93fad1189f7b2d4bebf694e3206924eadee1068130d43c11b750efcc9405f88a8e42ef098b6d75239c0f047de1a27 + languageName: node + linkType: hard + +"@cspotcode/source-map-consumer@npm:0.8.0": + version: 0.8.0 + resolution: "@cspotcode/source-map-consumer@npm:0.8.0" + checksum: c0c16ca3d2f58898f1bd74c4f41a189dbcc202e642e60e489cbcc2e52419c4e89bdead02c886a12fb13ea37798ede9e562b2321df997ebc210ae9bd881561b4e + languageName: node + linkType: hard + +"@cspotcode/source-map-support@npm:0.7.0": + version: 0.7.0 + resolution: "@cspotcode/source-map-support@npm:0.7.0" + dependencies: + "@cspotcode/source-map-consumer": 0.8.0 + checksum: 9faddda7757cd778b5fd6812137b2cc265810043680d6399acc20441668fafcdc874053be9dccd0d9110087287bfad27eb3bf342f72bceca9aa9059f5d0c4be8 + languageName: node + linkType: hard + +"@es-joy/jsdoccomment@npm:0.10.8": + version: 0.10.8 + resolution: "@es-joy/jsdoccomment@npm:0.10.8" + dependencies: + comment-parser: 1.2.4 + esquery: ^1.4.0 + jsdoc-type-pratt-parser: 1.1.1 + checksum: 3e144ef393459a541b64f6c9c8e62fb6d9b47e1a2c626410487ede12c472064f6ce6e0911df60b42ccf126d5a66102707eef59ca14767cb7aeb5e608b227558d + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^0.4.0": + version: 0.4.0 + resolution: "@eslint/eslintrc@npm:0.4.0" + dependencies: + ajv: ^6.12.4 + debug: ^4.1.1 + espree: ^7.3.0 + globals: ^12.1.0 + ignore: ^4.0.6 + import-fresh: ^3.2.1 + js-yaml: ^3.13.1 + minimatch: ^3.0.4 + strip-json-comments: ^3.1.1 + checksum: c4e7a5021bfdd293aff47b1993a66aee3d7a71a6b13bc8036028c71aa08bdac232c8683f5bb55090d0f260ecf81f4159e1a28554c8ad242a372ee89583dc75af + languageName: node + linkType: hard + +"@gar/promisify@npm:^1.1.3": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 + languageName: node + linkType: hard + +"@istanbuljs/load-nyc-config@npm:^1.0.0": + version: 1.0.0 + resolution: "@istanbuljs/load-nyc-config@npm:1.0.0" + dependencies: + camelcase: ^5.3.1 + find-up: ^4.1.0 + js-yaml: ^3.13.1 + resolve-from: ^5.0.0 + checksum: 6671bd5029a30c1215106d12f870a67a0f6d58f1e038173c84e0006f22f6e724eeee9e5ca8ae1bcb3e741d8ec4fd4390fdf92092c66302a3db189e16446c9cfc + languageName: node + linkType: hard + +"@istanbuljs/schema@npm:^0.1.2": + version: 0.1.2 + resolution: "@istanbuljs/schema@npm:0.1.2" + checksum: 5ce9facf2f0e3f4a93e56853cdfd78456e22d2c210c677530046e9c634ddc323dd62423ac711cd3554b5be06052c87fb8e0c266aa9010726940654c357290e78 + languageName: node + linkType: hard + +"@jest/console@npm:^28.1.0": + version: 28.1.0 + resolution: "@jest/console@npm:28.1.0" + dependencies: + "@jest/types": ^28.1.0 + "@types/node": "*" + chalk: ^4.0.0 + jest-message-util: ^28.1.0 + jest-util: ^28.1.0 + slash: ^3.0.0 + checksum: 6ce8ed8159517c28d413fbebf806c8ed53e958f5069b45731b21add626bdea799bc6944d9cfcc5d350047e7198185515b58877e09da52801df64cfc21c4060df + languageName: node + linkType: hard + +"@jest/core@npm:^28.1.0": + version: 28.1.0 + resolution: "@jest/core@npm:28.1.0" + dependencies: + "@jest/console": ^28.1.0 + "@jest/reporters": ^28.1.0 + "@jest/test-result": ^28.1.0 + "@jest/transform": ^28.1.0 + "@jest/types": ^28.1.0 + "@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: ^28.0.2 + jest-config: ^28.1.0 + jest-haste-map: ^28.1.0 + jest-message-util: ^28.1.0 + jest-regex-util: ^28.0.2 + jest-resolve: ^28.1.0 + jest-resolve-dependencies: ^28.1.0 + jest-runner: ^28.1.0 + jest-runtime: ^28.1.0 + jest-snapshot: ^28.1.0 + jest-util: ^28.1.0 + jest-validate: ^28.1.0 + jest-watcher: ^28.1.0 + micromatch: ^4.0.4 + pretty-format: ^28.1.0 + rimraf: ^3.0.0 + slash: ^3.0.0 + strip-ansi: ^6.0.0 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: fb955cc5c8d7f294fd9bb85793e0633707fdbce9c10d4e3222b62d36564b17214abc9ab0e93397d1a6d224cd43681f8e54d570327a92a40d7ac3e47b5de3af1f + languageName: node + linkType: hard + +"@jest/environment@npm:^28.1.0": + version: 28.1.0 + resolution: "@jest/environment@npm:28.1.0" + dependencies: + "@jest/fake-timers": ^28.1.0 + "@jest/types": ^28.1.0 + "@types/node": "*" + jest-mock: ^28.1.0 + checksum: 376904d6626bb439f96a56ca9d400e1b6b4a5bafb751820fec649238e35cb7d0b9619223ade86c2906e97fae8da03a7b9561c55c1f5850afe9856db89185d754 + languageName: node + linkType: hard + +"@jest/expect-utils@npm:^28.1.0": + version: 28.1.0 + resolution: "@jest/expect-utils@npm:28.1.0" + dependencies: + jest-get-type: ^28.0.2 + checksum: 5b8b463682bd35ae71868020c87dc654ebed65ded4e74ea3c24bd9e1ab4637a7790c8b78c26cdcb832dd227b9981e8dd24eb3b742891637c24c2a3e38ba153e8 + languageName: node + linkType: hard + +"@jest/expect@npm:^28.1.0": + version: 28.1.0 + resolution: "@jest/expect@npm:28.1.0" + dependencies: + expect: ^28.1.0 + jest-snapshot: ^28.1.0 + checksum: e596bc2a2d02d66cb3e23982c6a48cfe24aa31932f594db7de6966db6c0b58f7aad3836a71debb8aeda6178116c35160e11ded42a355a94457f6402cbb2186e3 + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^28.1.0": + version: 28.1.0 + resolution: "@jest/fake-timers@npm:28.1.0" + dependencies: + "@jest/types": ^28.1.0 + "@sinonjs/fake-timers": ^9.1.1 + "@types/node": "*" + jest-message-util: ^28.1.0 + jest-mock: ^28.1.0 + jest-util: ^28.1.0 + checksum: d24375bcd52873f1e602ff02ffe57c6866570b95ec0be167a4734d051047b2c6b3dab69b2a301a390a0ca2de2ad89fd2b23e991c09a1a3b70b1dd4763c8681c7 + languageName: node + linkType: hard + +"@jest/globals@npm:^28.1.0": + version: 28.1.0 + resolution: "@jest/globals@npm:28.1.0" + dependencies: + "@jest/environment": ^28.1.0 + "@jest/expect": ^28.1.0 + "@jest/types": ^28.1.0 + checksum: dce822edd1810430ce381235f714be705a9c774c00bf109d9d5df0dc4868371da62520832df99e83635ee1fc1fa4241cf617821b4e3b1a8bcd3fcd91aa8a75a7 + languageName: node + linkType: hard + +"@jest/reporters@npm:^28.1.0": + version: 28.1.0 + resolution: "@jest/reporters@npm:28.1.0" + dependencies: + "@bcoe/v8-coverage": ^0.2.3 + "@jest/console": ^28.1.0 + "@jest/test-result": ^28.1.0 + "@jest/transform": ^28.1.0 + "@jest/types": ^28.1.0 + "@jridgewell/trace-mapping": ^0.3.7 + "@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: ^5.1.0 + istanbul-lib-report: ^3.0.0 + istanbul-lib-source-maps: ^4.0.0 + istanbul-reports: ^3.1.3 + jest-util: ^28.1.0 + jest-worker: ^28.1.0 + slash: ^3.0.0 + string-length: ^4.0.1 + strip-ansi: ^6.0.0 + terminal-link: ^2.0.0 + v8-to-istanbul: ^9.0.0 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 19ec066ba219508ce6f5e0f0b29f26f906367372b1ddcc2d615cd842e53a10bdd02b87c8b04653e103a2e22b56d96e9af99573d9a84c6adab606158e5383d09f + languageName: node + linkType: hard + +"@jest/schemas@npm:^28.0.2": + version: 28.0.2 + resolution: "@jest/schemas@npm:28.0.2" + dependencies: + "@sinclair/typebox": ^0.23.3 + checksum: 6a177e97b112c99f377697fe803a34f4489b92cd07949876250c69edc9029c7cbda771fcbb03caebd20ffbcfa89b9c22b4dc9d1e9a7fbc9873185459b48ba780 + languageName: node + linkType: hard + +"@jest/source-map@npm:^28.0.2": + version: 28.0.2 + resolution: "@jest/source-map@npm:28.0.2" + dependencies: + "@jridgewell/trace-mapping": ^0.3.7 + callsites: ^3.0.0 + graceful-fs: ^4.2.9 + checksum: 427195be85c28517e7e6b29fb38448a371750a1e4f4003e4c33ee0b35bbb72229c80482d444a827aa230f688a0b72c0c858ebd11425a686103c13d6cc61c8da1 + languageName: node + linkType: hard + +"@jest/test-result@npm:^28.1.0": + version: 28.1.0 + resolution: "@jest/test-result@npm:28.1.0" + dependencies: + "@jest/console": ^28.1.0 + "@jest/types": ^28.1.0 + "@types/istanbul-lib-coverage": ^2.0.0 + collect-v8-coverage: ^1.0.0 + checksum: 7f0cf04b8c27a2dbe2eb1b7ac53635e0112fa2000b80b016992a0ca8b495980c11e758b902606f3bb24fb96aa4d5a24730c1fcdacb82d105cd782e210ae412d2 + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^28.1.0": + version: 28.1.0 + resolution: "@jest/test-sequencer@npm:28.1.0" + dependencies: + "@jest/test-result": ^28.1.0 + graceful-fs: ^4.2.9 + jest-haste-map: ^28.1.0 + slash: ^3.0.0 + checksum: ecd87ca73d1e58ebc6a4de46176c49a0e92c2dc4b41fbd09945b7bd1379ec09ae37804cab3f41c452eea8d1ca71d31a32b602c4e3147ad74c0b0e3a50184cedd + languageName: node + linkType: hard + +"@jest/transform@npm:^28.1.0": + version: 28.1.0 + resolution: "@jest/transform@npm:28.1.0" + dependencies: + "@babel/core": ^7.11.6 + "@jest/types": ^28.1.0 + "@jridgewell/trace-mapping": ^0.3.7 + babel-plugin-istanbul: ^6.1.1 + chalk: ^4.0.0 + convert-source-map: ^1.4.0 + fast-json-stable-stringify: ^2.0.0 + graceful-fs: ^4.2.9 + jest-haste-map: ^28.1.0 + jest-regex-util: ^28.0.2 + jest-util: ^28.1.0 + micromatch: ^4.0.4 + pirates: ^4.0.4 + slash: ^3.0.0 + write-file-atomic: ^4.0.1 + checksum: f7417409c466fa1b4d8f9f7d365c8c1ed07e709e8712279180a87e9da8520ab06518de270b290148034d93f666d7826449b5e40cac34cc5f7225980e8991f2ba + languageName: node + linkType: hard + +"@jest/types@npm:^27.2.5": + version: 27.2.5 + resolution: "@jest/types@npm:27.2.5" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^16.0.0 + chalk: ^4.0.0 + checksum: 322603c24354a5333b5b7a670464422a46e0244a5a96a35552a7018eb4ac2e84c3b7657336b0ea6aa114963f9b6d0da8b8f6f963cb044fea9e7bc04d464b0ab1 + languageName: node + linkType: hard + +"@jest/types@npm:^28.1.0": + version: 28.1.0 + resolution: "@jest/types@npm:28.1.0" + dependencies: + "@jest/schemas": ^28.0.2 + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^17.0.8 + chalk: ^4.0.0 + checksum: 22705aed92a76d45465a6c51147bc71c1fbd300b912ebad2769e3ff7fd51c1938017e29fcea52e00c00dab7130697359b2a2c2be6ee601e37c8b1042a2c4040e + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.1.0": + version: 0.1.1 + resolution: "@jridgewell/gen-mapping@npm:0.1.1" + dependencies: + "@jridgewell/set-array": ^1.0.0 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: 3bcc21fe786de6ffbf35c399a174faab05eb23ce6a03e8769569de28abbf4facc2db36a9ddb0150545ae23a8d35a7cf7237b2aa9e9356a7c626fb4698287d5cc + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.0": + version: 0.3.1 + resolution: "@jridgewell/gen-mapping@npm:0.3.1" + dependencies: + "@jridgewell/set-array": ^1.0.0 + "@jridgewell/sourcemap-codec": ^1.4.10 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: e9e7bb3335dea9e60872089761d4e8e089597360cdb1af90370e9d53b7d67232c1e0a3ab65fbfef4fc785745193fbc56bff9f3a6cab6c6ce3f15e12b4191f86b + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.0.3": + version: 3.0.7 + resolution: "@jridgewell/resolve-uri@npm:3.0.7" + checksum: 94f454f4cef8f0acaad85745fd3ca6cd0d62ef731cf9f952ecb89b8b2ce5e20998cd52be31311cedc5fa5b28b1708a15f3ad9df0fe1447ee4f42959b036c4b5b + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.0.0": + version: 1.1.1 + resolution: "@jridgewell/set-array@npm:1.1.1" + checksum: cc5d91e0381c347e3edee4ca90b3c292df9e6e55f29acbe0dd97de8651b4730e9ab761406fd572effa79972a0edc55647b627f8c72315e276d959508853d9bf2 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10": + version: 1.4.13 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.13" + checksum: f14449096f60a5f921262322fef65ce0bbbfb778080b3b20212080bcefdeba621c43a58c27065bd536ecb4cc767b18eb9c45f15b6b98a4970139572b60603a1c + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.7, @jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.13 + resolution: "@jridgewell/trace-mapping@npm:0.3.13" + dependencies: + "@jridgewell/resolve-uri": ^3.0.3 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: e38254e830472248ca10a6ed1ae75af5e8514f0680245a5e7b53bc3c030fd8691d4d3115d80595b45d3badead68269769ed47ecbbdd67db1343a11f05700e75a + languageName: node + linkType: hard + +"@lavamoat/aa@npm:^2.0.1": + version: 2.0.1 + resolution: "@lavamoat/aa@npm:2.0.1" + dependencies: + resolve: ^1.20.0 + checksum: e1e5643a15375ee2c7c3c5742385176f4a7fcceefc39d145f66360515c32f74de26efafc49642190323e712312f4a116abd73e4e279628ede89fb85270f2ff30 + languageName: node + linkType: hard + +"@lavamoat/allow-scripts@npm:^2.0.2": + version: 2.0.2 + resolution: "@lavamoat/allow-scripts@npm:2.0.2" + dependencies: + "@lavamoat/aa": ^2.0.1 + "@npmcli/run-script": ^1.8.1 + yargs: ^16.2.0 + bin: + allow-scripts: src/cli.js + checksum: 3b0c12fc8697fd4999542b9c02e3ae21200085425dc05200c6fcbba7a1b9aa594ffe4b0036d02a5720e257ee258bd5b726f1131c8943fe0b4104f59e40d56336 + languageName: node + linkType: hard + +"@metamask/auto-changelog@npm:^2.5.0": + version: 2.5.0 + resolution: "@metamask/auto-changelog@npm:2.5.0" + dependencies: + diff: ^5.0.0 + execa: ^5.1.1 + semver: ^7.3.5 + yargs: ^17.0.1 + bin: + auto-changelog: dist/cli.js + checksum: 1a4de9c7b674b11e51c5d2e943b49d6f45c9dd08689d133223dc8ddcc5b92448c50786d139ad9bf5e776f086a1289ee72ef29430d8d697493bed62d771b21278 + languageName: node + linkType: hard + +"@metamask/base-controller@workspace:packages/base-controller": + version: 0.0.0-use.local + resolution: "@metamask/base-controller@workspace:packages/base-controller" + dependencies: + "@types/sinon": ^9.0.10 + immer: ^9.0.6 + isomorphic-fetch: ^3.0.0 + sinon: ^9.2.4 + ts-deepmerge: ^2.0.1 + languageName: unknown + linkType: soft + +"@metamask/controller-utils@workspace:packages/controller-utils": + version: 0.0.0-use.local + resolution: "@metamask/controller-utils@workspace:packages/controller-utils" + dependencies: + eth-ens-namehash: ^2.0.8 + ethereumjs-util: ^7.1.4 + ts-deepmerge: ^2.0.1 + languageName: unknown + linkType: soft + +"@metamask/controllers-monorepo@workspace:.": + version: 0.0.0-use.local + resolution: "@metamask/controllers-monorepo@workspace:." + dependencies: + "@jest/types": ^28.1.0 + "@lavamoat/allow-scripts": ^2.0.2 + "@metamask/auto-changelog": ^2.5.0 + "@metamask/eslint-config": ^9.0.0 + "@metamask/eslint-config-jest": ^9.0.0 + "@metamask/eslint-config-nodejs": ^9.0.0 + "@metamask/eslint-config-typescript": ^9.0.1 + "@types/jest-when": ^2.7.3 + "@types/node": ^14.14.31 + "@typescript-eslint/eslint-plugin": ^4.33.0 + "@typescript-eslint/parser": ^4.33.0 + eslint: ^7.24.0 + eslint-config-prettier: ^8.5.0 + eslint-import-resolver-typescript: ^2.4.0 + eslint-plugin-import: ^2.22.1 + eslint-plugin-jest: ^24.1.5 + eslint-plugin-jsdoc: ^36.1.0 + eslint-plugin-node: ^11.1.0 + eslint-plugin-prettier: ^3.4.1 + jest: ^28.1.0 + jest-environment-jsdom: ^28.1.0 + jest-when: ^3.5.1 + prettier: ^2.6.2 + prettier-plugin-packagejson: ^2.2.17 + rimraf: ^3.0.2 + ts-deepmerge: ^2.0.1 + ts-jest: ^28.0.2 + ts-node: ^10.7.0 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 + typescript: ~4.6.3 + languageName: unknown + linkType: soft + +"@metamask/ens-controller@workspace:packages/ens-controller": + version: 0.0.0-use.local + resolution: "@metamask/ens-controller@workspace:packages/ens-controller" + dependencies: + ethereumjs-util: ^7.1.4 + ts-deepmerge: ^2.0.1 + languageName: unknown + linkType: soft + +"@metamask/eslint-config-jest@npm:^9.0.0": + version: 9.0.0 + resolution: "@metamask/eslint-config-jest@npm:9.0.0" + peerDependencies: + "@metamask/eslint-config": ^9.0.0 + eslint: ^7.23.0 + eslint-plugin-jest: ^24.1.3 + checksum: 74ddc7953691cc1e5fe76616fa7e0aaff3c671fae0187851bb90122662cd6a1346ae92ff1f3c28cc1beeeb31a8e86e6ca99062313e7674792a42ab56309efd20 + languageName: node + linkType: hard + +"@metamask/eslint-config-nodejs@npm:^9.0.0": + version: 9.0.0 + resolution: "@metamask/eslint-config-nodejs@npm:9.0.0" + peerDependencies: + "@metamask/eslint-config": ^9.0.0 + eslint: ^7.23.0 + eslint-plugin-node: ^11.1.0 + checksum: c4e502741f12f252fb01a391b7c733c76b447eadc7d26360b349aa2e768c52d04b30436e92d3db7969540faace68ab4d05f379a0f54d433778bf467f44469ba0 + languageName: node + linkType: hard + +"@metamask/eslint-config-typescript@npm:^9.0.1": + version: 9.0.1 + resolution: "@metamask/eslint-config-typescript@npm:9.0.1" + peerDependencies: + "@metamask/eslint-config": ^9.0.0 + "@typescript-eslint/eslint-plugin": ^4.20.0 + "@typescript-eslint/parser": ^4.20.0 + eslint: ^7.23.0 + typescript: ^4.0.7 + checksum: df6c630e285b1a125caffce1988c23b3ba0f76507c337a849fb30fb5f9b9df4bb563419f9bb2ec7e39072601b7e95a4d5be52ddff1643bde65206f33d73440d3 + languageName: node + linkType: hard + +"@metamask/eslint-config@npm:^9.0.0": + version: 9.0.0 + resolution: "@metamask/eslint-config@npm:9.0.0" + peerDependencies: + eslint: ^7.23.0 + eslint-config-prettier: ^8.1.0 + eslint-plugin-import: ^2.22.1 + eslint-plugin-jsdoc: ^36.1.0 + eslint-plugin-prettier: ^3.3.1 + prettier: ^2.2.1 + checksum: e44768e5f674e61743f1b147c589932e11f6d717b3f52b4b44ee3ab6b0b1078d379aea93473204c740fdff4b309393fc361c1e63c9cecc59ed5c8ab704eb6d20 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.3": + version: 2.1.3 + resolution: "@nodelib/fs.scandir@npm:2.1.3" + dependencies: + "@nodelib/fs.stat": 2.0.3 + run-parallel: ^1.1.9 + checksum: 0054efbba1385629886fe017d99f7045cb8300d6de1923f7a37e05e480c853abbedaff90f6a6b88fd0d406e1cd1e97fb60bd4e059b44468b174f46bef2e21dd1 + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.3, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.3 + resolution: "@nodelib/fs.stat@npm:2.0.3" + checksum: d3612efceea83fb0bec4e64967888ff0c3e5fbbae96121bc526bbbe5529f32fc6f8a785b550f397d20f09c84dc1e5a6c8e9fd7f9b8b62387a8f80f680be8430e + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.4 + resolution: "@nodelib/fs.walk@npm:1.2.4" + dependencies: + "@nodelib/fs.scandir": 2.1.3 + fastq: ^1.6.0 + checksum: a971d1dcc1cf593e25651738e915be201053b63775c39c1ee221d2adee6316503ad6043136ceda0e099724875f2d72ea04b3b57c0e3a20b7f280bd3e951ae2e4 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^2.1.0": + version: 2.1.0 + resolution: "@npmcli/fs@npm:2.1.0" + dependencies: + "@gar/promisify": ^1.1.3 + semver: ^7.3.5 + checksum: 6ec6d678af6da49f9dac50cd882d7f661934dd278972ffbaacde40d9eaa2871292d634000a0cca9510f6fc29855fbd4af433e1adbff90a524ec3eaf140f1219b + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^2.0.0": + version: 2.0.0 + resolution: "@npmcli/move-file@npm:2.0.0" + dependencies: + mkdirp: ^1.0.4 + rimraf: ^3.0.2 + checksum: 1388777b507b0c592d53f41b9d182e1a8de7763bc625fc07999b8edbc22325f074e5b3ec90af79c89d6987fdb2325bc66d59f483258543c14a43661621f841b0 + languageName: node + linkType: hard + +"@npmcli/node-gyp@npm:^1.0.2": + version: 1.0.2 + resolution: "@npmcli/node-gyp@npm:1.0.2" + checksum: ee4b0706862404189ed40abf19760d9f1a45dcf2ad823b6fbc37f69709ae2fefb57e4ee27cb541111f08c304c46f885cc0479f4fe842af107148f4650cc5ad5e + languageName: node + linkType: hard + +"@npmcli/promise-spawn@npm:^1.3.2": + version: 1.3.2 + resolution: "@npmcli/promise-spawn@npm:1.3.2" + dependencies: + infer-owner: ^1.0.4 + checksum: 543b7c1e26230499b4100b10d45efa35b1077e8f25595050f34930ca3310abe9524f7387279fe4330139e0f28a0207595245503439276fd4b686cca2b6503080 + languageName: node + linkType: hard + +"@npmcli/run-script@npm:^1.8.1": + version: 1.8.5 + resolution: "@npmcli/run-script@npm:1.8.5" + dependencies: + "@npmcli/node-gyp": ^1.0.2 + "@npmcli/promise-spawn": ^1.3.2 + infer-owner: ^1.0.4 + node-gyp: ^7.1.0 + read-package-json-fast: ^2.0.1 + checksum: 734f7d4bec07d723276e0351d180a83735313823685c5c79b1f56e32d77622e1bd0c5cd0fbeca9649f1e559212a4ccc8e450b1f3d6dea9cadabb442f1f13bfe8 + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.23.3": + version: 0.23.5 + resolution: "@sinclair/typebox@npm:0.23.5" + checksum: c96056d35d9cb862aeb635ff8873e2e7633e668dd544e162aee2690a82c970d0b3f90aa2b3501fe374dfa8e792388559a3e3a86712b23ebaef10061add534f47 + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^1.6.0, @sinonjs/commons@npm:^1.8.1": + version: 1.8.3 + resolution: "@sinonjs/commons@npm:1.8.3" + dependencies: + type-detect: 4.0.8 + checksum: 6159726db5ce6bf9f2297f8427f7ca5b3dff45b31e5cee23496f1fa6ef0bb4eab878b23fb2c5e6446381f6a66aba4968ef2fc255c1180d753d4b8c271636a2e5 + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^1.7.0": + version: 1.7.1 + resolution: "@sinonjs/commons@npm:1.7.1" + dependencies: + type-detect: 4.0.8 + checksum: 50b17ab7a6672201e2a884f5956b951ccfb586eb2623208e6d939955ec97889b2437f80a0a4ab73c8e2fb90900f76591e7446c6a7107315a03682e02973bf6cd + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^6.0.0, @sinonjs/fake-timers@npm:^6.0.1": + version: 6.0.1 + resolution: "@sinonjs/fake-timers@npm:6.0.1" + dependencies: + "@sinonjs/commons": ^1.7.0 + checksum: 8e331aa1412d905ecc8efd63550f58a6f77dcb510f878172004e53be63eb82650623618763001a918fc5e21257b86c45041e4e97c454ed6a2d187de084abbd11 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^9.1.1": + version: 9.1.2 + resolution: "@sinonjs/fake-timers@npm:9.1.2" + dependencies: + "@sinonjs/commons": ^1.7.0 + checksum: 7d3aef54e17c1073101cb64d953157c19d62a40e261a30923fa1ee337b049c5f29cc47b1f0c477880f42b5659848ba9ab897607ac8ea4acd5c30ddcfac57fca6 + languageName: node + linkType: hard + +"@sinonjs/samsam@npm:^5.3.1": + version: 5.3.1 + resolution: "@sinonjs/samsam@npm:5.3.1" + dependencies: + "@sinonjs/commons": ^1.6.0 + lodash.get: ^4.4.2 + type-detect: ^4.0.8 + checksum: 1c2c49d51b1840775980e9496707d68b936f443896f92e48150c4f7713d14904e576740e52660b602f8a53b665bd5f149c5c733758030758427ddb1621090279 + languageName: node + linkType: hard + +"@sinonjs/text-encoding@npm:^0.7.1": + version: 0.7.1 + resolution: "@sinonjs/text-encoding@npm:0.7.1" + checksum: 130de0bb568c5f8a611ec21d1a4e3f80ab0c5ec333010f49cfc1adc5cba6d8808699c8a587a46b0f0b016a1f4c1389bc96141e773e8460fcbb441875b2e91ba7 + languageName: node + linkType: hard + +"@tootallnate/once@npm:2": + version: 2.0.0 + resolution: "@tootallnate/once@npm:2.0.0" + checksum: ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 + languageName: node + linkType: hard + +"@tsconfig/node10@npm:^1.0.7": + version: 1.0.8 + resolution: "@tsconfig/node10@npm:1.0.8" + checksum: b8d5fffbc6b17ef64ef74f7fdbccee02a809a063ade785c3648dae59406bc207f70ea2c4296f92749b33019fa36a5ae716e42e49cc7f1bbf0fd147be0d6b970a + languageName: node + linkType: hard + +"@tsconfig/node12@npm:^1.0.7": + version: 1.0.9 + resolution: "@tsconfig/node12@npm:1.0.9" + checksum: a01b2400ab3582b86b589c6d31dcd0c0656f333adecde85d6d7d4086adb059808b82692380bb169546d189bf771ae21d02544a75b57bd6da4a5dd95f8567bec9 + languageName: node + linkType: hard + +"@tsconfig/node14@npm:^1.0.0": + version: 1.0.1 + resolution: "@tsconfig/node14@npm:1.0.1" + checksum: 976345e896c0f059867f94f8d0f6ddb8b1844fb62bf36b727de8a9a68f024857e5db97ed51d3325e23e0616a5e48c034ff51a8d595b3fe7e955f3587540489be + languageName: node + linkType: hard + +"@tsconfig/node16@npm:^1.0.2": + version: 1.0.2 + resolution: "@tsconfig/node16@npm:1.0.2" + checksum: ca94d3639714672bbfd55f03521d3f56bb6a25479bd425da81faf21f13e1e9d15f40f97377dedbbf477a5841c5b0c8f4cd1b391f33553d750b9202c54c2c07aa + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.1.14": + version: 7.1.19 + resolution: "@types/babel__core@npm:7.1.19" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + "@types/babel__generator": "*" + "@types/babel__template": "*" + "@types/babel__traverse": "*" + checksum: 8c9fa87a1c2224cbec251683a58bebb0d74c497118034166aaa0491a4e2627998a6621fc71f8a60ffd27d9c0c52097defedf7637adc6618d0331c15adb302338 + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.0.2 + resolution: "@types/babel__generator@npm:7.0.2" + dependencies: + "@babel/types": ^7.0.0 + checksum: b68118ea2d0e8c478b1cfb5662b6a15c954c0763d8672e95b2ea8a0eacedf2a659e9bebf9f288c8a7550d40fd7b1519434385db2d67dc7797ee8605d3370b128 + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.0.2 + resolution: "@types/babel__template@npm:7.0.2" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + checksum: ce04f0ab702d7d4c753c09e08db3e61e5fc69375ea70f5c991110511b7286124070ca70e260e8074614f8a339424de7e387c08033eaf0a9f5c81a93e350965a8 + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": + version: 7.0.7 + resolution: "@types/babel__traverse@npm:7.0.7" + dependencies: + "@babel/types": ^7.3.0 + checksum: 0e2745066663e5a26fef4b1cead879a67a80457f98819ba099519978bfbb9ebb2a0c1532730b2924014e0d4718fce955777fb3bed063b8d78d67fa09f6793b7a + languageName: node + linkType: hard + +"@types/bn.js@npm:^5.1.0": + version: 5.1.0 + resolution: "@types/bn.js@npm:5.1.0" + dependencies: + "@types/node": "*" + checksum: 1dc1cbbd7a1e8bf3614752e9602f558762a901031f499f3055828b5e3e2bba16e5b88c27b3c4152ad795248fbe4086c731a5c4b0f29bb243f1875beeeabee59c + languageName: node + linkType: hard + +"@types/color-name@npm:^1.1.1": + version: 1.1.1 + resolution: "@types/color-name@npm:1.1.1" + checksum: b71fcad728cc68abcba1d405742134410c8f8eb3c2ef18113b047afca158ad23a4f2c229bcf71a38f4a818dead375c45b20db121d0e69259c2d81e97a740daa6 + languageName: node + linkType: hard + +"@types/glob@npm:^7.1.1": + version: 7.1.4 + resolution: "@types/glob@npm:7.1.4" + dependencies: + "@types/minimatch": "*" + "@types/node": "*" + checksum: 6911a956448f5eddea1e4371f814bf92072e8ceedba83de6ce2a6745938a6f0327376e1c0072fa0d7b3b73d84e255aafda53c1dff148225cfe542a8cc5d54b02 + languageName: node + linkType: hard + +"@types/graceful-fs@npm:^4.1.3": + version: 4.1.5 + resolution: "@types/graceful-fs@npm:4.1.5" + dependencies: + "@types/node": "*" + checksum: d076bb61f45d0fc42dee496ef8b1c2f8742e15d5e47e90e20d0243386e426c04d4efd408a48875ab432f7960b4ce3414db20ed0fbbfc7bcc89d84e574f6e045a + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.1 + resolution: "@types/istanbul-lib-coverage@npm:2.0.1" + checksum: eb8abb8b56fb8f645c46c482c5a438d78fc44ce2eb82a47491d552eba94fc3d81bc404996f220921c16df3eb6126ec01890f4acaebd0f71249b37e110eacdd3a + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 1.1.1 + resolution: "@types/istanbul-lib-report@npm:1.1.1" + dependencies: + "@types/istanbul-lib-coverage": "*" + checksum: 56c995ede09cb2638e2d35d90d9455d6c046d4225fcfe2c547f42e5282474c3bfa1f083139f61d66740e29037d0428e54102784ef8417d6076aebc4be889af3c + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.0 + resolution: "@types/istanbul-reports@npm:3.0.0" + dependencies: + "@types/istanbul-lib-report": "*" + checksum: 286a18cff19c4dac4321b9ea406a3560faf577fb2a4df5abf9d577fa81ba831c9baa7d40d03f1daf7fe613d468546b731c00b844b72fad9834c583311a35bb7b + languageName: node + linkType: hard + +"@types/jest-when@npm:^2.7.3": + version: 2.7.3 + resolution: "@types/jest-when@npm:2.7.3" + dependencies: + "@types/jest": "*" + checksum: 0e01156250a6d8791d94bab1c9c5dab685a60edac47aa8769c50ea8440d97631f5397bd838c4c14175e56617b61d1ad59fc138e3c302560bb1eb69ede710a215 + languageName: node + linkType: hard + +"@types/jest@npm:*": + version: 27.0.2 + resolution: "@types/jest@npm:27.0.2" + dependencies: + jest-diff: ^27.0.0 + pretty-format: ^27.0.0 + checksum: 814ad5f5d2f277849f47e52906da4b745758e555630fc8cb46a071bde648eefeffb1b35710c530a8cea7fc4ea7c1d813812c120484bf7902ab6c5e473cdd49c9 + languageName: node + linkType: hard + +"@types/jsdom@npm:^16.2.4": + version: 16.2.14 + resolution: "@types/jsdom@npm:16.2.14" + dependencies: + "@types/node": "*" + "@types/parse5": "*" + "@types/tough-cookie": "*" + checksum: 12bb926fa74ea07c0ba0bfd5bf185ac0fd771b28666a5e8784b9af4bb96bb0c51fc5f494eff7da1d3cd804e4757f640a23c344c1cd5d188f95ab0ab51770d88b + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.3": + version: 7.0.6 + resolution: "@types/json-schema@npm:7.0.6" + checksum: 3b1e5e049b065a41d2bc1f0c16e01dac5a4a1276bbe8b413657298f574d64a955d3b10bec9e7796fde0927f307e6fedbac1cf4da3604593c431899eea3ad0756 + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.7": + version: 7.0.11 + resolution: "@types/json-schema@npm:7.0.11" + checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d + languageName: node + linkType: hard + +"@types/json5@npm:^0.0.29": + version: 0.0.29 + resolution: "@types/json5@npm:0.0.29" + checksum: e60b153664572116dfea673c5bda7778dbff150498f44f998e34b5886d8afc47f16799280e4b6e241c0472aef1bc36add771c569c68fc5125fc2ae519a3eb9ac + languageName: node + linkType: hard + +"@types/minimatch@npm:*": + version: 3.0.5 + resolution: "@types/minimatch@npm:3.0.5" + checksum: c41d136f67231c3131cf1d4ca0b06687f4a322918a3a5adddc87ce90ed9dbd175a3610adee36b106ae68c0b92c637c35e02b58c8a56c424f71d30993ea220b92 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 10.14.15 + resolution: "@types/node@npm:10.14.15" + checksum: e49fa92f1e1f0e3a1c6cb1c2ce0fc7718123132dde04de62a4affcec79bb8ae7f65652bbc2641e30d53a48218cad277cf8cce478cf4410e2927ffe27d6c5299d + languageName: node + linkType: hard + +"@types/node@npm:^14.14.31": + version: 14.14.31 + resolution: "@types/node@npm:14.14.31" + checksum: 5b9ab3660ee63abc57affc836c0d50b2941a862c5b6c241c02762d8e1ad610f6b0d350d7426218dc401b5abc7d6294ee1b475da7c331e486d59a5608d1a0b777 + languageName: node + linkType: hard + +"@types/parse5@npm:*": + version: 6.0.3 + resolution: "@types/parse5@npm:6.0.3" + checksum: ddb59ee4144af5dfcc508a8dcf32f37879d11e12559561e65788756b95b33e6f03ea027d88e1f5408f9b7bfb656bf630ace31a2169edf44151daaf8dd58df1b7 + languageName: node + linkType: hard + +"@types/pbkdf2@npm:^3.0.0": + version: 3.1.0 + resolution: "@types/pbkdf2@npm:3.1.0" + dependencies: + "@types/node": "*" + checksum: d15024b1957c21cf3b8887329d9bd8dfde754cf13a09d76ae25f1391cfc62bb8b8d7b760773c5dbaa748172fba8b3e0c3dbe962af6ccbd69b76df12a48dfba40 + languageName: node + linkType: hard + +"@types/prettier@npm:^2.1.5": + version: 2.6.1 + resolution: "@types/prettier@npm:2.6.1" + checksum: b25ec46d18129fa40c1a1f42feb7406e8f19901ba5261ba3c71600ad14996ae07b4f4b727a9b83da673948011e59d870fc519166f05b5d49e9ad39db1aea8c93 + languageName: node + linkType: hard + +"@types/secp256k1@npm:^4.0.1": + version: 4.0.1 + resolution: "@types/secp256k1@npm:4.0.1" + dependencies: + "@types/node": "*" + checksum: f89b71360e3fe5a02f649746832fc7af4c5c5b8f85897a2e74d5df40f2e02e4c3b8cca5c7c9b92282870bf03724ce142f817d5d07f5acf2f1c5769ab7403e65a + languageName: node + linkType: hard + +"@types/sinon@npm:^9.0.10": + version: 9.0.11 + resolution: "@types/sinon@npm:9.0.11" + dependencies: + "@types/sinonjs__fake-timers": "*" + checksum: 2074490973012283ec9ccb9f607fa12f36c78d8801f63ec437d3e8351dae161a018836cc02e8b039118ec9fb7680331594716ed0858075a11d381edd27faa75c + languageName: node + linkType: hard + +"@types/sinonjs__fake-timers@npm:*": + version: 8.1.2 + resolution: "@types/sinonjs__fake-timers@npm:8.1.2" + checksum: bbc73a5ab6c0ec974929392f3d6e1e8db4ebad97ec506d785301e1c3d8a4f98a35b1aa95b97035daef02886fd8efd7788a2fa3ced2ec7105988bfd8dce61eedd + languageName: node + linkType: hard + +"@types/stack-utils@npm:^2.0.0": + version: 2.0.1 + resolution: "@types/stack-utils@npm:2.0.1" + checksum: 205fdbe3326b7046d7eaf5e494d8084f2659086a266f3f9cf00bccc549c8e36e407f88168ad4383c8b07099957ad669f75f2532ed4bc70be2b037330f7bae019 + languageName: node + linkType: hard + +"@types/tough-cookie@npm:*": + version: 4.0.2 + resolution: "@types/tough-cookie@npm:4.0.2" + checksum: e055556ffdaa39ad85ede0af192c93f93f986f4bd9e9426efdc2948e3e2632db3a4a584d4937dbf6d7620527419bc99e6182d3daf2b08685e710f2eda5291905 + languageName: node + linkType: hard + +"@types/yargs-parser@npm:*": + version: 13.0.0 + resolution: "@types/yargs-parser@npm:13.0.0" + checksum: 22e2ed1e6d4821a24349fa4ac537e1ee823f3dbfc37e3792d6be7bc1ccafddd8c95e2a1cfa93d6e1f533b8716276b3b5dd8bcd83b90233e1c5434a63c35ae519 + languageName: node + linkType: hard + +"@types/yargs@npm:^16.0.0": + version: 16.0.4 + resolution: "@types/yargs@npm:16.0.4" + dependencies: + "@types/yargs-parser": "*" + checksum: caa21d2c957592fe2184a8368c8cbe5a82a6c2e2f2893722e489f842dc5963293d2f3120bc06fe3933d60a3a0d1e2eb269649fd6b1947fe1820f8841ba611dd9 + languageName: node + linkType: hard + +"@types/yargs@npm:^17.0.8": + version: 17.0.10 + resolution: "@types/yargs@npm:17.0.10" + dependencies: + "@types/yargs-parser": "*" + checksum: f0673cbfc08e17239dc58952a88350d6c4db04a027a28a06fbad27d87b670e909f9cd9e66f9c64cebdd5071d1096261e33454a55868395f125297e5c50992ca8 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/eslint-plugin@npm:4.33.0" + dependencies: + "@typescript-eslint/experimental-utils": 4.33.0 + "@typescript-eslint/scope-manager": 4.33.0 + debug: ^4.3.1 + functional-red-black-tree: ^1.0.1 + ignore: ^5.1.8 + regexpp: ^3.1.0 + semver: ^7.3.5 + tsutils: ^3.21.0 + peerDependencies: + "@typescript-eslint/parser": ^4.0.0 + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: d74855d0a5ffe0b2f362ec02fcd9301d39a53fb4155b9bd0cb15a0a31d065143129ebf98df9d86af4b6f74de1d423a4c0d8c0095520844068117453afda5bc4f + languageName: node + linkType: hard + +"@typescript-eslint/experimental-utils@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/experimental-utils@npm:4.33.0" + dependencies: + "@types/json-schema": ^7.0.7 + "@typescript-eslint/scope-manager": 4.33.0 + "@typescript-eslint/types": 4.33.0 + "@typescript-eslint/typescript-estree": 4.33.0 + eslint-scope: ^5.1.1 + eslint-utils: ^3.0.0 + peerDependencies: + eslint: "*" + checksum: f859800ada0884f92db6856f24efcb1d073ac9883ddc2b1aa9339f392215487895bed8447ebce3741e8141bb32e545244abef62b73193ba9a8a0527c523aabae + languageName: node + linkType: hard + +"@typescript-eslint/experimental-utils@npm:^4.0.1": + version: 4.15.2 + resolution: "@typescript-eslint/experimental-utils@npm:4.15.2" + dependencies: + "@types/json-schema": ^7.0.3 + "@typescript-eslint/scope-manager": 4.15.2 + "@typescript-eslint/types": 4.15.2 + "@typescript-eslint/typescript-estree": 4.15.2 + eslint-scope: ^5.0.0 + eslint-utils: ^2.0.0 + peerDependencies: + eslint: "*" + checksum: 55496b02a3ebb845c693acb0df68cbc27f604d8e2931924e2c6c28635393d6166cc6de0f639aaab3b5776f0a3a729cb24775033a6f9c39e316b57af2101fe875 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/parser@npm:4.33.0" + dependencies: + "@typescript-eslint/scope-manager": 4.33.0 + "@typescript-eslint/types": 4.33.0 + "@typescript-eslint/typescript-estree": 4.33.0 + debug: ^4.3.1 + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 102457eae1acd516211098fea081c8a2ed728522bbda7f5a557b6ef23d88970514f9a0f6285d53fca134d3d4d7d17822b5d5e12438d5918df4d1f89cc9e67d57 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:4.15.2": + version: 4.15.2 + resolution: "@typescript-eslint/scope-manager@npm:4.15.2" + dependencies: + "@typescript-eslint/types": 4.15.2 + "@typescript-eslint/visitor-keys": 4.15.2 + checksum: eaf6a81a5a89aaf411020bda09efa4a4eee182d551853ad060f8d88ae096db0c23ea0f6804a553ef67fec6187661479e5c2c012bbc3c5174f858dfe60af5d293 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/scope-manager@npm:4.33.0" + dependencies: + "@typescript-eslint/types": 4.33.0 + "@typescript-eslint/visitor-keys": 4.33.0 + checksum: 9a25fb7ba7c725ea7227a24d315b0f6aacbad002e2549a049edf723c1d3615c22f5c301f0d7d615b377f2cdf2f3519d97e79af0c459de6ef8d2aaf0906dff13e + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:4.15.2": + version: 4.15.2 + resolution: "@typescript-eslint/types@npm:4.15.2" + checksum: 011ba819fa8ba7a24e8bba490a484396485cea4831ee391090b101553aab096fadb3b4f466a741738f28d0788e340adb1179540248d34b24539f6ff97617a165 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/types@npm:4.33.0" + checksum: 3baae1ca35872421b4eb60f5d3f3f32dc1d513f2ae0a67dee28c7d159fd7a43ed0d11a8a5a0f0c2d38507ffa036fc7c511cb0f18a5e8ac524b3ebde77390ec53 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:4.15.2": + version: 4.15.2 + resolution: "@typescript-eslint/typescript-estree@npm:4.15.2" + dependencies: + "@typescript-eslint/types": 4.15.2 + "@typescript-eslint/visitor-keys": 4.15.2 + debug: ^4.1.1 + globby: ^11.0.1 + is-glob: ^4.0.1 + semver: ^7.3.2 + tsutils: ^3.17.1 + peerDependenciesMeta: + typescript: + optional: true + checksum: f80b60f7b244460ac135fc54f3ae403fb8938c23246fe50b92431290c8713a7a582322e0d57d903674abee73fa5f9b0231cf9216d261d98047951fdc6768192f + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/typescript-estree@npm:4.33.0" + dependencies: + "@typescript-eslint/types": 4.33.0 + "@typescript-eslint/visitor-keys": 4.33.0 + debug: ^4.3.1 + globby: ^11.0.3 + is-glob: ^4.0.1 + semver: ^7.3.5 + tsutils: ^3.21.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 2566984390c76bd95f43240057215c068c69769e406e27aba41e9f21fd300074d6772e4983fa58fe61e80eb5550af1548d2e31e80550d92ba1d051bb00fe6f5c + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:4.15.2": + version: 4.15.2 + resolution: "@typescript-eslint/visitor-keys@npm:4.15.2" + dependencies: + "@typescript-eslint/types": 4.15.2 + eslint-visitor-keys: ^2.0.0 + checksum: 0d7932978cfa688b5ac3edc4fdc38bf3e6571dfb5c923e40295eee58e5fef072b72ed4f6f9c654a803007adbbf2298e89eff1c1f4a25fb494af9a4c93444879d + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/visitor-keys@npm:4.33.0" + dependencies: + "@typescript-eslint/types": 4.33.0 + eslint-visitor-keys: ^2.0.0 + checksum: 59953e474ad4610c1aa23b2b1a964445e2c6201521da6367752f37939d854352bbfced5c04ea539274065e012b1337ba3ffa49c2647a240a4e87155378ba9873 + languageName: node + linkType: hard + +"abab@npm:^2.0.5, abab@npm:^2.0.6": + version: 2.0.6 + resolution: "abab@npm:2.0.6" + checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 + languageName: node + linkType: hard + +"acorn-globals@npm:^6.0.0": + version: 6.0.0 + resolution: "acorn-globals@npm:6.0.0" + dependencies: + acorn: ^7.1.1 + acorn-walk: ^7.1.1 + checksum: 72d95e5b5e585f9acd019b993ab8bbba68bb3cbc9d9b5c1ebb3c2f1fe5981f11deababfb4949f48e6262f9c57878837f5958c0cca396f81023814680ca878042 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.1": + version: 5.3.1 + resolution: "acorn-jsx@npm:5.3.1" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: daf441a9d7b59c0ea1f7fe2934c48aca604a007455129ce35fa62ec3d4c8363e2efc2d4da636d18ce0049979260ba07d8b42bc002ae95182916d2c90901529c2 + languageName: node + linkType: hard + +"acorn-walk@npm:^7.1.1": + version: 7.2.0 + resolution: "acorn-walk@npm:7.2.0" + checksum: 9252158a79b9d92f1bc0dd6acc0fcfb87a67339e84bcc301bb33d6078936d27e35d606b4d35626d2962cd43c256d6f27717e70cbe15c04fff999ab0b2260b21f + languageName: node + linkType: hard + +"acorn-walk@npm:^8.1.1": + version: 8.2.0 + resolution: "acorn-walk@npm:8.2.0" + checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 + languageName: node + linkType: hard + +"acorn@npm:^7.1.1, acorn@npm:^7.4.0": + version: 7.4.1 + resolution: "acorn@npm:7.4.1" + bin: + acorn: bin/acorn + checksum: 1860f23c2107c910c6177b7b7be71be350db9e1080d814493fae143ae37605189504152d1ba8743ba3178d0b37269ce1ffc42b101547fdc1827078f82671e407 + languageName: node + linkType: hard + +"acorn@npm:^8.4.1, acorn@npm:^8.5.0": + version: 8.7.1 + resolution: "acorn@npm:8.7.1" + bin: + acorn: bin/acorn + checksum: aca0aabf98826717920ac2583fdcad0a6fbe4e583fdb6e843af2594e907455aeafe30b1e14f1757cd83ce1776773cf8296ffc3a4acf13f0bd3dfebcf1db6ae80 + languageName: node + linkType: hard + +"agent-base@npm:6, agent-base@npm:^6.0.2": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: 4 + checksum: f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d + languageName: node + linkType: hard + +"agentkeepalive@npm:^4.2.1": + version: 4.2.1 + resolution: "agentkeepalive@npm:4.2.1" + dependencies: + debug: ^4.1.0 + depd: ^1.1.2 + humanize-ms: ^1.2.1 + checksum: 39cb49ed8cf217fd6da058a92828a0a84e0b74c35550f82ee0a10e1ee403c4b78ade7948be2279b188b7a7303f5d396ea2738b134731e464bf28de00a4f72a18 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: ^2.0.0 + indent-string: ^4.0.0 + checksum: 1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 + languageName: node + linkType: hard + +"ajv@npm:^6.10.0, ajv@npm:^6.12.4, ajv@npm:^6.5.5": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: ^3.1.1 + fast-json-stable-stringify: ^2.0.0 + json-schema-traverse: ^0.4.1 + uri-js: ^4.2.2 + checksum: 874972efe5c4202ab0a68379481fbd3d1b5d0a7bd6d3cc21d40d3536ebff3352a2a1fabb632d4fd2cc7fe4cbdcd5ed6782084c9bbf7f32a1536d18f9da5007d4 + languageName: node + linkType: hard + +"ajv@npm:^7.0.2": + version: 7.1.0 + resolution: "ajv@npm:7.1.0" + dependencies: + fast-deep-equal: ^3.1.1 + json-schema-traverse: ^1.0.0 + require-from-string: ^2.0.2 + uri-js: ^4.2.2 + checksum: 2d91e6cf152e24f1ac0f27e2cfd6fbd2a8c64bd5ae8985d47e5a8211080ba88f0b1278201c43c42b5af3094b69a823c62226c6c96fde8a93f9c532106fa8003b + languageName: node + linkType: hard + +"ansi-colors@npm:^4.1.1": + version: 4.1.1 + resolution: "ansi-colors@npm:4.1.1" + checksum: 138d04a51076cb085da0a7e2d000c5c0bb09f6e772ed5c65c53cb118d37f6c5f1637506d7155fb5f330f0abcf6f12fa2e489ac3f8cdab9da393bf1bb4f9a32b0 + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.2.1": + version: 4.3.1 + resolution: "ansi-escapes@npm:4.3.1" + dependencies: + type-fest: ^0.11.0 + checksum: c4962c1791cc4e29efb9976680bad7b23f322ca039e588406680fffc8b6bc6e223721193eb481dab076309d9a7371bbfc4e835efe5fe267e3395ffa047da239d + languageName: node + linkType: hard + +"ansi-regex@npm:^2.0.0": + version: 2.1.1 + resolution: "ansi-regex@npm:2.1.1" + checksum: 190abd03e4ff86794f338a31795d262c1dfe8c91f7e01d04f13f646f1dcb16c5800818f886047876f1272f065570ab86b24b99089f8b68a0e11ff19aed4ca8f1 + languageName: node + linkType: hard + +"ansi-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "ansi-regex@npm:3.0.0" + checksum: 2ad11c416f81c39f5c65eafc88cf1d71aa91d76a2f766e75e457c2a3c43e8a003aadbf2966b61c497aa6a6940a36412486c975b3270cdfc3f413b69826189ec3 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.0": + version: 5.0.0 + resolution: "ansi-regex@npm:5.0.0" + checksum: b1bb4e992a5d96327bb4f72eaba9f8047f1d808d273ad19d399e266bfcc7fb19a4d1a127a32f7bc61fe46f1a94a4d04ec4c424e3fbe184929aa866323d8ed4ce + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: ^1.9.0 + checksum: d85ade01c10e5dd77b6c89f34ed7531da5830d2cb5882c645f330079975b716438cd7ebb81d0d6e6b4f9c577f19ae41ab55f07f19786b02f9dfd9e0377395665 + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.2.1 + resolution: "ansi-styles@npm:4.2.1" + dependencies: + "@types/color-name": ^1.1.1 + color-convert: ^2.0.1 + checksum: 7c74dbc7ec912b9e45dacbfaa7e2513bea6aa24d5357a0cd3255e7f83ecfc62e1454c77ab150a8df60de700c83c17fbbf040e7c204b4b6fc7aa250c8afcb865f + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: d7f4e97ce0623aea6bc0d90dcd28881ee04cba06c570b97fd3391bd7a268eedfd9d5e2dd4fdcbdd82b8105df5faf6f24aaedc08eaf3da898e702db5948f63469 + languageName: node + linkType: hard + +"anymatch@npm:^3.0.3": + version: 3.1.1 + resolution: "anymatch@npm:3.1.1" + dependencies: + normalize-path: ^3.0.0 + picomatch: ^2.0.4 + checksum: c951385862bf114807d594bdffccb769bd7219ddc14f24fc135cde075ad2477a97991567b8bb5032d4f279f96897f0c2af6468a350a6c674ac0a5ee3b62a26d6 + languageName: node + linkType: hard + +"aproba@npm:^1.0.3": + version: 1.2.0 + resolution: "aproba@npm:1.2.0" + checksum: 0fca141966559d195072ed047658b6e6c4fe92428c385dd38e288eacfc55807e7b4989322f030faff32c0f46bb0bc10f1e0ac32ec22d25315a1e5bbc0ebb76dc + languageName: node + linkType: hard + +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 + languageName: node + linkType: hard + +"are-we-there-yet@npm:^3.0.0": + version: 3.0.0 + resolution: "are-we-there-yet@npm:3.0.0" + dependencies: + delegates: ^1.0.0 + readable-stream: ^3.6.0 + checksum: 348edfdd931b0b50868b55402c01c3f64df1d4c229ab6f063539a5025fd6c5f5bb8a0cab409bbed8d75d34762d22aa91b7c20b4204eb8177063158d9ba792981 + languageName: node + linkType: hard + +"are-we-there-yet@npm:~1.1.2": + version: 1.1.5 + resolution: "are-we-there-yet@npm:1.1.5" + dependencies: + delegates: ^1.0.0 + readable-stream: ^2.0.6 + checksum: 9a746b1dbce4122f44002b0c39fbba5b2c6f52c00e88b6ccba6fc68652323f8a1355a20e8ab94846995626d8de3bf67669a3b4a037dff0885db14607168f2b15 + languageName: node + linkType: hard + +"arg@npm:^4.1.0": + version: 4.1.3 + resolution: "arg@npm:4.1.3" + checksum: 544af8dd3f60546d3e4aff084d451b96961d2267d668670199692f8d054f0415d86fc5497d0e641e91546f0aa920e7c29e5250e99fc89f5552a34b5d93b77f43 + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: ~1.0.2 + checksum: 7ca6e45583a28de7258e39e13d81e925cfa25d7d4aacbf806a382d3c02fcb13403a07fb8aeef949f10a7cfe4a62da0e2e807b348a5980554cc28ee573ef95945 + languageName: node + linkType: hard + +"array-includes@npm:^3.1.1": + version: 3.1.1 + resolution: "array-includes@npm:3.1.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.0 + is-string: ^1.0.5 + checksum: e6d35d400c156a7242eb7fdeac5a64fe2d2c96613c55daea015d828691d8f26c2bd1b34f9786728fb3b00f2d0211374ecf2e1c5f8a56beb434bf8b2a9725235f + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 5bee12395cba82da674931df6d0fea23c4aa4660cb3b338ced9f828782a65caa232573e6bf3968f23e0c5eb301764a382cef2f128b170a9dc59de0e36c39f98d + languageName: node + linkType: hard + +"array.prototype.flat@npm:^1.2.3": + version: 1.2.3 + resolution: "array.prototype.flat@npm:1.2.3" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.0-next.1 + checksum: ba4cf6e53871902a09fa7f56ff097e836f18d59de0219fe271e3d1a895a7ea98a62fa946cbdae95e73b774991206a32a26822227d081bd2cc5c771b95f851753 + languageName: node + linkType: hard + +"asn1@npm:~0.2.3": + version: 0.2.4 + resolution: "asn1@npm:0.2.4" + dependencies: + safer-buffer: ~2.1.0 + checksum: aa5d6f77b1e0597df53824c68cfe82d1d89ce41cb3520148611f025fbb3101b2d25dd6a40ad34e4fac10f6b19ed5e8628cd4b7d212261e80e83f02b39ee5663c + languageName: node + linkType: hard + +"assert-plus@npm:1.0.0, assert-plus@npm:^1.0.0": + version: 1.0.0 + resolution: "assert-plus@npm:1.0.0" + checksum: 19b4340cb8f0e6a981c07225eacac0e9d52c2644c080198765d63398f0075f83bbc0c8e95474d54224e297555ad0d631c1dcd058adb1ddc2437b41a6b424ac64 + languageName: node + linkType: hard + +"astral-regex@npm:^2.0.0": + version: 2.0.0 + resolution: "astral-regex@npm:2.0.0" + checksum: 876231688c66400473ba505731df37ea436e574dd524520294cc3bbc54ea40334865e01fa0d074d74d036ee874ee7e62f486ea38bc421ee8e6a871c06f011766 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 7b78c451df768adba04e2d02e63e2d0bf3b07adcd6e42b4cf665cb7ce899bedd344c69a1dcbce355b5f972d597b25aaa1c1742b52cffd9caccb22f348114f6be + languageName: node + linkType: hard + +"aws-sign2@npm:~0.7.0": + version: 0.7.0 + resolution: "aws-sign2@npm:0.7.0" + checksum: b148b0bb0778098ad8cf7e5fc619768bcb51236707ca1d3e5b49e41b171166d8be9fdc2ea2ae43d7decf02989d0aaa3a9c4caa6f320af95d684de9b548a71525 + languageName: node + linkType: hard + +"aws4@npm:^1.8.0": + version: 1.8.0 + resolution: "aws4@npm:1.8.0" + checksum: 3314f3607f2b79028500e8eb98e1ba30a4fa6e2c5bedb7c471ad8ace444899f30cea32de31ec86ab4a1e34b65d523482c51a9895c6fc229c3bf75e50b68afeae + languageName: node + linkType: hard + +"babel-jest@npm:^28.1.0": + version: 28.1.0 + resolution: "babel-jest@npm:28.1.0" + dependencies: + "@jest/transform": ^28.1.0 + "@types/babel__core": ^7.1.14 + babel-plugin-istanbul: ^6.1.1 + babel-preset-jest: ^28.0.2 + chalk: ^4.0.0 + graceful-fs: ^4.2.9 + slash: ^3.0.0 + peerDependencies: + "@babel/core": ^7.8.0 + checksum: b09195e04d58a763aa06423ffd6f3c4d1be0b40626fbbc65ca7c5668562d23624f36aee0821d9fef7496eb6a6df45c9215025451f1a64d064bfd4b0279cbe4c8 + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:^6.1.1": + version: 6.1.1 + resolution: "babel-plugin-istanbul@npm:6.1.1" + 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 + checksum: cb4fd95738219f232f0aece1116628cccff16db891713c4ccb501cddbbf9272951a5df81f2f2658dfdf4b3e7b236a9d5cbcf04d5d8c07dd5077297339598061a + languageName: node + linkType: hard + +"babel-plugin-jest-hoist@npm:^28.0.2": + version: 28.0.2 + resolution: "babel-plugin-jest-hoist@npm:28.0.2" + dependencies: + "@babel/template": ^7.3.3 + "@babel/types": ^7.3.3 + "@types/babel__core": ^7.1.14 + "@types/babel__traverse": ^7.0.6 + checksum: 713c0279fd38bdac5683c4447ebf5bce09fabd64ecb2f3963b8e08b89705195023ff93ce9a9fd01b142e6b51443736ca0a6b21e051844510f319066859c79e1f + languageName: node + linkType: hard + +"babel-preset-current-node-syntax@npm:^1.0.0": + version: 1.0.1 + resolution: "babel-preset-current-node-syntax@npm:1.0.1" + 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 + checksum: d118c2742498c5492c095bc8541f4076b253e705b5f1ad9a2e7d302d81a84866f0070346662355c8e25fc02caa28dc2da8d69bcd67794a0d60c4d6fab6913cc8 + languageName: node + linkType: hard + +"babel-preset-jest@npm:^28.0.2": + version: 28.0.2 + resolution: "babel-preset-jest@npm:28.0.2" + dependencies: + babel-plugin-jest-hoist: ^28.0.2 + babel-preset-current-node-syntax: ^1.0.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 1e17c5a2fcbfa231838ea9338dabc7e9c4a214410d121c46fcc2d5bb53576152cd99356467d7821a7694e1d5765e27e43bd145c18e035d7c4bf95dc9ed1ad1ba + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 + languageName: node + linkType: hard + +"base-x@npm:^3.0.2": + version: 3.0.8 + resolution: "base-x@npm:3.0.8" + dependencies: + safe-buffer: ^5.0.1 + checksum: 92b95493e636999d6505d9c5abfa049fce1bdde9327f733c5984e712cdb98482d2d45410e4ac1d04e5a004545e46898674f405db04c9555ba3e35fc00b150bf4 + languageName: node + linkType: hard + +"bcrypt-pbkdf@npm:^1.0.0": + version: 1.0.2 + resolution: "bcrypt-pbkdf@npm:1.0.2" + dependencies: + tweetnacl: ^0.14.3 + checksum: 4edfc9fe7d07019609ccf797a2af28351736e9d012c8402a07120c4453a3b789a15f2ee1530dc49eee8f7eb9379331a8dd4b3766042b9e502f74a68e7f662291 + languageName: node + linkType: hard + +"blakejs@npm:^1.1.0": + version: 1.1.0 + resolution: "blakejs@npm:1.1.0" + checksum: 69df62aee27e30ff2af8d709dd4676e037f2e92ded09b0d1a8187d1a69edaf05f4e63f3f473a0e44576e517196e54193641eec345bcc505c8a221940ec491141 + languageName: node + linkType: hard + +"bn.js@npm:^4.11.1, bn.js@npm:^4.11.9": + version: 4.12.0 + resolution: "bn.js@npm:4.12.0" + checksum: 39afb4f15f4ea537b55eaf1446c896af28ac948fdcf47171961475724d1bb65118cca49fa6e3d67706e4790955ec0e74de584e45c8f1ef89f46c812bee5b5a12 + languageName: node + linkType: hard + +"bn.js@npm:^5.1.2": + version: 5.1.3 + resolution: "bn.js@npm:5.1.3" + checksum: 6a51cf48699e4b01d5afcec842e406052c358c9644da79d620a9a79e532908732e63849ee6e7b4680967bf866dcb22ae9da18ee1695448846957ba3421f0a2a3 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: ^1.0.0 + concat-map: 0.0.1 + checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: ^1.0.0 + checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 + languageName: node + linkType: hard + +"braces@npm:^3.0.1": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: ^7.0.1 + checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459 + languageName: node + linkType: hard + +"brorand@npm:^1.1.0": + version: 1.1.0 + resolution: "brorand@npm:1.1.0" + checksum: 8a05c9f3c4b46572dec6ef71012b1946db6cae8c7bb60ccd4b7dd5a84655db49fe043ecc6272e7ef1f69dc53d6730b9e2a3a03a8310509a3d797a618cbee52be + languageName: node + linkType: hard + +"browser-process-hrtime@npm:^1.0.0": + version: 1.0.0 + resolution: "browser-process-hrtime@npm:1.0.0" + checksum: e30f868cdb770b1201afb714ad1575dd86366b6e861900884665fb627109b3cc757c40067d3bfee1ff2a29c835257ea30725a8018a9afd02ac1c24b408b1e45f + languageName: node + linkType: hard + +"browserify-aes@npm:^1.2.0": + version: 1.2.0 + resolution: "browserify-aes@npm:1.2.0" + dependencies: + buffer-xor: ^1.0.3 + cipher-base: ^1.0.0 + create-hash: ^1.1.0 + evp_bytestokey: ^1.0.3 + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + checksum: 4a17c3eb55a2aa61c934c286f34921933086bf6d67f02d4adb09fcc6f2fc93977b47d9d884c25619144fccd47b3b3a399e1ad8b3ff5a346be47270114bcf7104 + languageName: node + linkType: hard + +"browserslist@npm:^4.20.2": + version: 4.20.3 + resolution: "browserslist@npm:4.20.3" + dependencies: + caniuse-lite: ^1.0.30001332 + electron-to-chromium: ^1.4.118 + escalade: ^3.1.1 + node-releases: ^2.0.3 + picocolors: ^1.0.0 + bin: + browserslist: cli.js + checksum: 1e4b719ac2ca0fe235218a606e8b8ef16b8809e0973b924158c39fbc435a0b0fe43437ea52dd6ef5ad2efcb83fcb07431244e472270177814217f7c563651f7d + languageName: node + linkType: hard + +"bs-logger@npm:0.x": + version: 0.2.6 + resolution: "bs-logger@npm:0.2.6" + dependencies: + fast-json-stable-stringify: 2.x + checksum: d34bdaf68c64bd099ab97c3ea608c9ae7d3f5faa1178b3f3f345acd94e852e608b2d4f9103fb2e503f5e69780e98293df41691b84be909b41cf5045374d54606 + languageName: node + linkType: hard + +"bs58@npm:^4.0.0": + version: 4.0.1 + resolution: "bs58@npm:4.0.1" + dependencies: + base-x: ^3.0.2 + checksum: b3c5365bb9e0c561e1a82f1a2d809a1a692059fae016be233a6127ad2f50a6b986467c3a50669ce4c18929dcccb297c5909314dd347a25a68c21b68eb3e95ac2 + languageName: node + linkType: hard + +"bs58check@npm:^2.1.2": + version: 2.1.2 + resolution: "bs58check@npm:2.1.2" + dependencies: + bs58: ^4.0.0 + create-hash: ^1.1.0 + safe-buffer: ^5.1.2 + checksum: 43bdf08a5dd04581b78f040bc4169480e17008da482ffe2a6507327bbc4fc5c28de0501f7faf22901cfe57fbca79cbb202ca529003fedb4cb8dccd265b38e54d + languageName: node + linkType: hard + +"bser@npm:^2.0.0": + version: 2.1.0 + resolution: "bser@npm:2.1.0" + dependencies: + node-int64: ^0.4.0 + checksum: e9fd82be9177b0f6c96bb63691161d16bc35254bb613cf3c1f75e9cb630fe7f479578a9d003a9d30e07e7218d3f9676deb23d52fe7cc6074d1e61feeca1a70bf + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.1 + resolution: "buffer-from@npm:1.1.1" + checksum: ccc53b69736008bff764497367c4d24879ba7122bc619ee499ff47eef3a5b885ca496e87272e7ebffa0bec3804c83f84041c616f6e3318f40624e27c1d80f045 + languageName: node + linkType: hard + +"buffer-xor@npm:^1.0.3": + version: 1.0.3 + resolution: "buffer-xor@npm:1.0.3" + checksum: 10c520df29d62fa6e785e2800e586a20fc4f6dfad84bcdbd12e1e8a83856de1cb75c7ebd7abe6d036bbfab738a6cf18a3ae9c8e5a2e2eb3167ca7399ce65373a + languageName: node + linkType: hard + +"cacache@npm:^16.0.2": + version: 16.0.7 + resolution: "cacache@npm:16.0.7" + dependencies: + "@npmcli/fs": ^2.1.0 + "@npmcli/move-file": ^2.0.0 + chownr: ^2.0.0 + fs-minipass: ^2.1.0 + glob: ^8.0.1 + infer-owner: ^1.0.4 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + mkdirp: ^1.0.4 + p-map: ^4.0.0 + promise-inflight: ^1.0.1 + rimraf: ^3.0.2 + ssri: ^9.0.0 + tar: ^6.1.11 + unique-filename: ^1.1.1 + checksum: 2155b099b7e0f0369fb1155ca4673532ca7efe2ebdbec63acca8743580b8446b5d4fd7184626b1cb059001af77b981cdc67035c7855544d365d4f048eafca2ca + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 + languageName: node + linkType: hard + +"camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b + languageName: node + linkType: hard + +"camelcase@npm:^6.2.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001332": + version: 1.0.30001341 + resolution: "caniuse-lite@npm:1.0.30001341" + checksum: 7262b093fb0bf49dbc5328418f5ce4e3dbb0b13e39c015f986ba1807634c123ac214efc94df7d095a336f57f86852b4b63ee61838f18dcc3a4a35f87b390c8f5 + languageName: node + linkType: hard + +"caseless@npm:~0.12.0": + version: 0.12.0 + resolution: "caseless@npm:0.12.0" + checksum: b43bd4c440aa1e8ee6baefee8063b4850fd0d7b378f6aabc796c9ec8cb26d27fb30b46885350777d9bd079c5256c0e1329ad0dc7c2817e0bb466810ebb353751 + languageName: node + linkType: hard + +"chalk@npm:^2.0.0": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: ^3.2.1 + escape-string-regexp: ^1.0.5 + supports-color: ^5.3.0 + checksum: ec3661d38fe77f681200f878edbd9448821924e0f93a9cefc0e26a33b145f1027a2084bf19967160d11e1f03bfe4eaffcabf5493b89098b2782c3fe0b03d80c2 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0": + version: 4.1.0 + resolution: "chalk@npm:4.1.0" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 5561c7b4c063badee3e16d04bce50bd033e1be1bf4c6948639275683ffa7a1993c44639b43c22b1c505f0f813a24b1889037eb182546b48946f9fe7cdd0e7d13 + languageName: node + linkType: hard + +"char-regex@npm:^1.0.2": + version: 1.0.2 + resolution: "char-regex@npm:1.0.2" + checksum: b563e4b6039b15213114626621e7a3d12f31008bdce20f9c741d69987f62aeaace7ec30f6018890ad77b2e9b4d95324c9f5acfca58a9441e3b1dcdd1e2525d17 + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f + languageName: node + linkType: hard + +"ci-info@npm:^3.2.0": + version: 3.3.1 + resolution: "ci-info@npm:3.3.1" + checksum: 244546317cca96955860d2cb8d0bf47dd66d9078bbe83a215fa87464ab24b352c6fc6f56027d1c82f002e3f833be253f1320d35ed7199bd81134f7788c657f3a + languageName: node + linkType: hard + +"cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": + version: 1.0.4 + resolution: "cipher-base@npm:1.0.4" + dependencies: + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + checksum: 47d3568dbc17431a339bad1fe7dff83ac0891be8206911ace3d3b818fc695f376df809bea406e759cdea07fff4b454fa25f1013e648851bec790c1d75763032e + languageName: node + linkType: hard + +"cjs-module-lexer@npm:^1.0.0": + version: 1.2.2 + resolution: "cjs-module-lexer@npm:1.2.2" + checksum: 977f3f042bd4f08e368c890d91eecfbc4f91da0bc009a3c557bc4dfbf32022ad1141244ac1178d44de70fc9f3dea7add7cd9a658a34b9fae98a55d8f92331ce5 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 2ac8cd2b2f5ec986a3c743935ec85b07bc174d5421a5efc8017e1f146a1cf5f781ae962618f416352103b32c9cd7e203276e8c28241bbe946160cab16149fb68 + languageName: node + linkType: hard + +"cliui@npm:^7.0.2": + version: 7.0.4 + resolution: "cliui@npm:7.0.4" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.0 + wrap-ansi: ^7.0.0 + checksum: ce2e8f578a4813806788ac399b9e866297740eecd4ad1823c27fd344d78b22c5f8597d548adbcc46f0573e43e21e751f39446c5a5e804a12aace402b7a315d7f + languageName: node + linkType: hard + +"co@npm:^4.6.0": + version: 4.6.0 + resolution: "co@npm:4.6.0" + checksum: 5210d9223010eb95b29df06a91116f2cf7c8e0748a9013ed853b53f362ea0e822f1e5bb054fb3cefc645239a4cf966af1f6133a3b43f40d591f3b68ed6cf0510 + languageName: node + linkType: hard + +"code-point-at@npm:^1.0.0": + version: 1.1.0 + resolution: "code-point-at@npm:1.1.0" + checksum: 17d5666611f9b16d64fdf48176d9b7fb1c7d1c1607a189f7e600040a11a6616982876af148230336adb7d8fe728a559f743a4e29db3747e3b1a32fa7f4529681 + languageName: node + linkType: hard + +"collect-v8-coverage@npm:^1.0.0": + version: 1.0.0 + resolution: "collect-v8-coverage@npm:1.0.0" + checksum: 99d6059eb0e04bf792e27824d43d1139ede28914b7f55ddedd9c43594926221579fa6925ecc7e2f47dec14f5199e5ea3afbfc1da9a32ad542f859022d57f9d80 + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: 1.1.3 + checksum: fd7a64a17cde98fb923b1dd05c5f2e6f7aefda1b60d67e8d449f9328b4e53b228a428fd38bfeaeb2db2ff6b6503a776a996150b80cdf224062af08a5c8a3a203 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: ~1.1.4 + checksum: 79e6bdb9fd479a205c71d89574fccfb22bd9053bd98c6c4d870d65c132e5e904e6034978e55b43d69fcaa7433af2016ee203ce76eeba9cfa554b373e7f7db336 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 09c5d3e33d2105850153b14466501f2bfb30324a2f76568a408763a3b7433b0e50e5b4ab1947868e65cb101bb7cb75029553f2c333b6d4b8138a73fcc133d69d + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 + languageName: node + linkType: hard + +"color-support@npm:^1.1.3": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 9b7356817670b9a13a26ca5af1c21615463b500783b739b7634a0c2047c16cef4b2865d7576875c31c3cddf9dd621fa19285e628f20198b233a5cfdda6d0793b + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: ~1.0.0 + checksum: 49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c + languageName: node + linkType: hard + +"comment-parser@npm:1.2.4": + version: 1.2.4 + resolution: "comment-parser@npm:1.2.4" + checksum: 36ac280bce4c472fac22b3ec4d8aebb4d3d7c22c6808c70174f4deabee3b82144db66f8bd61eca9c514a6d0f12f6087ddab99e7d531e660d0da793b4730fd445 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 902a9f5d8967a3e2faf138d5cb784b9979bad2e6db5357c5b21c568df4ebe62bcb15108af1b2253744844eb964fc023fbd9afbbbb6ddd0bcc204c6fb5b7bf3af + languageName: node + linkType: hard + +"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0, console-control-strings@npm:~1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed + languageName: node + linkType: hard + +"contains-path@npm:^0.1.0": + version: 0.1.0 + resolution: "contains-path@npm:0.1.0" + checksum: 94ecfd944e0bc51be8d3fc596dcd17d705bd4c8a1a627952a3a8c5924bac01c7ea19034cf40b4b4f89e576cdead130a7e5fd38f5f7f07ef67b4b261d875871e3 + languageName: node + linkType: hard + +"convert-source-map@npm:^1.4.0": + version: 1.6.0 + resolution: "convert-source-map@npm:1.6.0" + dependencies: + safe-buffer: ~5.1.1 + checksum: c4af323f4d79b53234f187014804fb35abc09b3a8e8bd332ce49d3054f46599bee7c5cadc069e4800f480788f63f09377a20e96806cf42b4bf9673a2096daf57 + languageName: node + linkType: hard + +"convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": + version: 1.7.0 + resolution: "convert-source-map@npm:1.7.0" + dependencies: + safe-buffer: ~5.1.1 + checksum: bcd2e3ea7d37f96b85a6e362c8a89402ccc73757256e3ee53aa2c22fe915adb854c66b1f81111be815a3a6a6ce3c58e8001858e883c9d5b4fe08a853fa865967 + languageName: node + linkType: hard + +"core-util-is@npm:1.0.2, core-util-is@npm:~1.0.0": + version: 1.0.2 + resolution: "core-util-is@npm:1.0.2" + checksum: 7a4c925b497a2c91421e25bf76d6d8190f0b2359a9200dbeed136e63b2931d6294d3b1893eda378883ed363cd950f44a12a401384c609839ea616befb7927dab + languageName: node + linkType: hard + +"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": + version: 1.2.0 + resolution: "create-hash@npm:1.2.0" + dependencies: + cipher-base: ^1.0.1 + inherits: ^2.0.1 + md5.js: ^1.3.4 + ripemd160: ^2.0.1 + sha.js: ^2.4.0 + checksum: 02a6ae3bb9cd4afee3fabd846c1d8426a0e6b495560a977ba46120c473cb283be6aa1cace76b5f927cf4e499c6146fb798253e48e83d522feba807d6b722eaa9 + languageName: node + linkType: hard + +"create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": + version: 1.1.7 + resolution: "create-hmac@npm:1.1.7" + dependencies: + cipher-base: ^1.0.3 + create-hash: ^1.1.0 + inherits: ^2.0.1 + ripemd160: ^2.0.0 + safe-buffer: ^5.0.1 + sha.js: ^2.4.8 + checksum: ba12bb2257b585a0396108c72830e85f882ab659c3320c83584b1037f8ab72415095167ced80dc4ce8e446a8ecc4b2acf36d87befe0707d73b26cf9dc77440ed + languageName: node + linkType: hard + +"create-require@npm:^1.1.0": + version: 1.1.1 + resolution: "create-require@npm:1.1.1" + checksum: a9a1503d4390d8b59ad86f4607de7870b39cad43d929813599a23714831e81c520bddf61bcdd1f8e30f05fd3a2b71ae8538e946eb2786dc65c2bbc520f692eff + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: ^3.1.0 + shebang-command: ^2.0.0 + which: ^2.0.1 + checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 + languageName: node + linkType: hard + +"cssom@npm:^0.5.0": + version: 0.5.0 + resolution: "cssom@npm:0.5.0" + checksum: 823471aa30091c59e0a305927c30e7768939b6af70405808f8d2ce1ca778cddcb24722717392438329d1691f9a87cb0183b64b8d779b56a961546d54854fde01 + languageName: node + linkType: hard + +"cssom@npm:~0.3.6": + version: 0.3.8 + resolution: "cssom@npm:0.3.8" + checksum: 24beb3087c76c0d52dd458be9ee1fbc80ac771478a9baef35dd258cdeb527c68eb43204dd439692bb2b1ae5272fa5f2946d10946edab0d04f1078f85e06bc7f6 + languageName: node + linkType: hard + +"cssstyle@npm:^2.3.0": + version: 2.3.0 + resolution: "cssstyle@npm:2.3.0" + dependencies: + cssom: ~0.3.6 + checksum: 5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3 + languageName: node + linkType: hard + +"dashdash@npm:^1.12.0": + version: 1.14.1 + resolution: "dashdash@npm:1.14.1" + dependencies: + assert-plus: ^1.0.0 + checksum: 3634c249570f7f34e3d34f866c93f866c5b417f0dd616275decae08147dcdf8fccfaa5947380ccfb0473998ea3a8057c0b4cd90c875740ee685d0624b2983598 + languageName: node + linkType: hard + +"data-urls@npm:^3.0.1": + version: 3.0.2 + resolution: "data-urls@npm:3.0.2" + dependencies: + abab: ^2.0.6 + whatwg-mimetype: ^3.0.0 + whatwg-url: ^11.0.0 + checksum: 033fc3dd0fba6d24bc9a024ddcf9923691dd24f90a3d26f6545d6a2f71ec6956f93462f2cdf2183cc46f10dc01ed3bcb36731a8208456eb1a08147e571fe2a76 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.3.3": + version: 4.3.4 + resolution: "debug@npm:4.3.4" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 3dbad3f94ea64f34431a9cbf0bafb61853eda57bff2880036153438f50fb5a84f27683ba0d8e5426bf41a8c6ff03879488120cf5b3a761e77953169c0600a708 + languageName: node + linkType: hard + +"debug@npm:^2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: 2.0.0 + checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6 + languageName: node + linkType: hard + +"debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1": + version: 4.1.1 + resolution: "debug@npm:4.1.1" + dependencies: + ms: ^2.1.1 + checksum: 1e681f5cce94ba10f8dde74b20b42e4d8cf0d2a6700f4c165bb3bb6885565ef5ca5885bf07e704974a835f2415ff095a63164f539988a1f07e8a69fe8b1d65ad + languageName: node + linkType: hard + +"debug@npm:^4.3.2": + version: 4.3.2 + resolution: "debug@npm:4.3.2" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 820ea160e267e23c953c9ed87e7ad93494d8cda2f7349af5e7e3bb236d23707ee3022f477d5a7d2ee86ef2bf7d60aa9ab22d1f58080d7deb9dccd073585e1e43 + languageName: node + linkType: hard + +"decimal.js@npm:^10.3.1": + version: 10.3.1 + resolution: "decimal.js@npm:10.3.1" + checksum: 0351ac9f05fe050f23227aa6a4573bee2d58fa7378fcf28d969a8c789525032effb488a90320fd3fe86a66e17b4bc507d811b15eada5b7f0e7ec5d2af4c24a59 + languageName: node + linkType: hard + +"dedent@npm:^0.7.0": + version: 0.7.0 + resolution: "dedent@npm:0.7.0" + checksum: 87de191050d9a40dd70cad01159a0bcf05ecb59750951242070b6abf9569088684880d00ba92a955b4058804f16eeaf91d604f283929b4f614d181cd7ae633d2 + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": + version: 0.1.3 + resolution: "deep-is@npm:0.1.3" + checksum: c15b04c3848a89880c94e25b077c19b47d9a30dd99048e70e5f95d943e7b246bee1da0c1376b56b01bc045be2cae7d9b1c856e68e47e9805634327de7c6cb6d5 + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": + version: 4.2.2 + resolution: "deepmerge@npm:4.2.2" + checksum: a8c43a1ed8d6d1ed2b5bf569fa4c8eb9f0924034baf75d5d406e47e157a451075c4db353efea7b6bcc56ec48116a8ce72fccf867b6e078e7c561904b5897530b + languageName: node + linkType: hard + +"define-properties@npm:^1.1.2, define-properties@npm:^1.1.3": + version: 1.1.3 + resolution: "define-properties@npm:1.1.3" + dependencies: + object-keys: ^1.0.12 + checksum: da80dba55d0cd76a5a7ab71ef6ea0ebcb7b941f803793e4e0257b384cb772038faa0c31659d244e82c4342edef841c1a1212580006a05a5068ee48223d787317 + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 46fe6e83e2cb1d85ba50bd52803c68be9bd953282fa7096f51fc29edd5d67ff84ff753c51966061e5ba7cb5e47ef6d36a91924eddb7f3f3483b1c560f77a0020 + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd + languageName: node + linkType: hard + +"depd@npm:^1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 + languageName: node + linkType: hard + +"detect-indent@npm:^6.0.0": + version: 6.1.0 + resolution: "detect-indent@npm:6.1.0" + checksum: ab953a73c72dbd4e8fc68e4ed4bfd92c97eb6c43734af3900add963fd3a9316f3bc0578b018b24198d4c31a358571eff5f0656e81a1f3b9ad5c547d58b2d093d + languageName: node + linkType: hard + +"detect-newline@npm:3.1.0, detect-newline@npm:^3.0.0": + version: 3.1.0 + resolution: "detect-newline@npm:3.1.0" + checksum: ae6cd429c41ad01b164c59ea36f264a2c479598e61cba7c99da24175a7ab80ddf066420f2bec9a1c57a6bead411b4655ff15ad7d281c000a89791f48cbe939e7 + languageName: node + linkType: hard + +"diff-sequences@npm:^27.0.6": + version: 27.0.6 + resolution: "diff-sequences@npm:27.0.6" + checksum: f35ad024d426cd1026d6c98a1f604c41966a0e89712b05a38812fc11e645ff0e915ec17bc8f4b6910fed6df0b309b255aa6c7c77728be452c6dbbfa30aa2067b + languageName: node + linkType: hard + +"diff-sequences@npm:^28.0.2": + version: 28.0.2 + resolution: "diff-sequences@npm:28.0.2" + checksum: 482360a8ec93333ea61bc93a800a1bee37c943b94a48fa1597825076adcad24620b44a0d3aa8f3d190584a4156c4b3315028453ca33e1174001fae3cdaa7f8f8 + languageName: node + linkType: hard + +"diff@npm:^4.0.1, diff@npm:^4.0.2": + version: 4.0.2 + resolution: "diff@npm:4.0.2" + checksum: f2c09b0ce4e6b301c221addd83bf3f454c0bc00caa3dd837cf6c127d6edf7223aa2bbe3b688feea110b7f262adbfc845b757c44c8a9f8c0c5b15d8fa9ce9d20d + languageName: node + linkType: hard + +"diff@npm:^5.0.0": + version: 5.0.0 + resolution: "diff@npm:5.0.0" + checksum: f19fe29284b633afdb2725c2a8bb7d25761ea54d321d8e67987ac851c5294be4afeab532bd84531e02583a3fe7f4014aa314a3eda84f5590e7a9e6b371ef3b46 + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: ^4.0.0 + checksum: fa05e18324510d7283f55862f3161c6759a3f2f8dbce491a2fc14c8324c498286c54282c1f0e933cb930da8419b30679389499b919122952a4f8592362ef4615 + languageName: node + linkType: hard + +"doctrine@npm:1.5.0": + version: 1.5.0 + resolution: "doctrine@npm:1.5.0" + dependencies: + esutils: ^2.0.2 + isarray: ^1.0.0 + checksum: 7ce8102a05cbb9d942d49db5461d2f3dd1208ebfed929bf1c04770a1ef6ef540b792e63c45eae4c51f8b16075e0af4a73581a06bad31c37ceb0988f2e398509b + languageName: node + linkType: hard + +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: ^2.0.2 + checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce + languageName: node + linkType: hard + +"domexception@npm:^4.0.0": + version: 4.0.0 + resolution: "domexception@npm:4.0.0" + dependencies: + webidl-conversions: ^7.0.0 + checksum: ddbc1268edf33a8ba02ccc596735ede80375ee0cf124b30d2f05df5b464ba78ef4f49889b6391df4a04954e63d42d5631c7fcf8b1c4f12bc531252977a5f13d5 + languageName: node + linkType: hard + +"ecc-jsbn@npm:~0.1.1": + version: 0.1.2 + resolution: "ecc-jsbn@npm:0.1.2" + dependencies: + jsbn: ~0.1.0 + safer-buffer: ^2.1.0 + checksum: 22fef4b6203e5f31d425f5b711eb389e4c6c2723402e389af394f8411b76a488fa414d309d866e2b577ce3e8462d344205545c88a8143cc21752a5172818888a + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.4.118": + version: 1.4.137 + resolution: "electron-to-chromium@npm:1.4.137" + checksum: 639d7b94906efafcf363519c3698eecc44be46755a6a5cdc9088954329978866cc93fbd57e08b97290599b68d5226243d21de9fa50be416b8a5d3fa8fd42c3a0 + languageName: node + linkType: hard + +"elliptic@npm:^6.5.2": + version: 6.5.4 + resolution: "elliptic@npm:6.5.4" + dependencies: + bn.js: ^4.11.9 + brorand: ^1.1.0 + hash.js: ^1.0.0 + hmac-drbg: ^1.0.1 + inherits: ^2.0.4 + minimalistic-assert: ^1.0.1 + minimalistic-crypto-utils: ^1.0.1 + checksum: d56d21fd04e97869f7ffcc92e18903b9f67f2d4637a23c860492fbbff5a3155fd9ca0184ce0c865dd6eb2487d234ce9551335c021c376cd2d3b7cb749c7d10f4 + languageName: node + linkType: hard + +"emittery@npm:^0.10.2": + version: 0.10.2 + resolution: "emittery@npm:0.10.2" + checksum: ee3e21788b043b90885b18ea756ec3105c1cedc50b29709c92b01e239c7e55345d4bb6d3aef4ddbaf528eef448a40b3bb831bad9ee0fc9c25cbf1367ab1ab5ac + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: d4c5c39d5a9868b5fa152f00cada8a936868fd3367f33f71be515ecee4c803132d11b31a6222b2571b1e5f7e13890156a94880345594d0ce7e3c9895f560f192 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: ^0.6.2 + checksum: bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f + languageName: node + linkType: hard + +"enquirer@npm:^2.3.5": + version: 2.3.6 + resolution: "enquirer@npm:2.3.6" + dependencies: + ansi-colors: ^4.1.1 + checksum: 1c0911e14a6f8d26721c91e01db06092a5f7675159f0261d69c403396a385afd13dd76825e7678f66daffa930cfaa8d45f506fb35f818a2788463d022af1b884 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 8b7b1be20d2de12d2255c0bc2ca638b7af5171142693299416e6a9339bd7d88fc8d7707d913d78e0993176005405a236b066b45666b27b797252c771156ace54 + languageName: node + linkType: hard + +"error-ex@npm:^1.2.0, error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: ^0.2.1 + checksum: c1c2b8b65f9c91b0f9d75f0debaa7ec5b35c266c2cac5de412c1a6de86d4cbae04ae44e510378cb14d032d0645a36925d0186f8bb7367bcc629db256b743a001 + languageName: node + linkType: hard + +"es-abstract@npm:^1.17.0, es-abstract@npm:^1.17.0-next.1, es-abstract@npm:^1.17.5": + version: 1.17.6 + resolution: "es-abstract@npm:1.17.6" + dependencies: + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + has: ^1.0.3 + has-symbols: ^1.0.1 + is-callable: ^1.2.0 + is-regex: ^1.1.0 + object-inspect: ^1.7.0 + object-keys: ^1.1.1 + object.assign: ^4.1.0 + string.prototype.trimend: ^1.0.1 + string.prototype.trimstart: ^1.0.1 + checksum: 3a361ab6b7ce072d451abea18f2ce53375d88c7302bc0054c4316bdd3f95ce4317a2388eec2a21617485ffef1e127943ec0d496452d7e4707e786a45b682f91a + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.2.1": + version: 1.2.1 + resolution: "es-to-primitive@npm:1.2.1" + dependencies: + is-callable: ^1.1.4 + is-date-object: ^1.0.1 + is-symbol: ^1.0.2 + checksum: 4ead6671a2c1402619bdd77f3503991232ca15e17e46222b0a41a5d81aebc8740a77822f5b3c965008e631153e9ef0580540007744521e72de8e33599fca2eed + languageName: node + linkType: hard + +"escalade@npm:^3.1.1": + version: 3.1.1 + resolution: "escalade@npm:3.1.1" + checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395 + languageName: node + linkType: hard + +"escodegen@npm:^2.0.0": + version: 2.0.0 + resolution: "escodegen@npm:2.0.0" + dependencies: + esprima: ^4.0.1 + estraverse: ^5.2.0 + esutils: ^2.0.2 + optionator: ^0.8.1 + source-map: ~0.6.1 + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: bin/escodegen.js + esgenerate: bin/esgenerate.js + checksum: 5aa6b2966fafe0545e4e77936300cc94ad57cfe4dc4ebff9950492eaba83eef634503f12d7e3cbd644ecc1bab388ad0e92b06fd32222c9281a75d1cf02ec6cef + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^8.5.0": + version: 8.5.0 + resolution: "eslint-config-prettier@npm:8.5.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 0d0f5c32e7a0ad91249467ce71ca92394ccd343178277d318baf32063b79ea90216f4c81d1065d60f96366fdc60f151d4d68ae7811a58bd37228b84c2083f893 + languageName: node + linkType: hard + +"eslint-import-resolver-node@npm:^0.3.4": + version: 0.3.4 + resolution: "eslint-import-resolver-node@npm:0.3.4" + dependencies: + debug: ^2.6.9 + resolve: ^1.13.1 + checksum: a0db55ec26c5bb385c8681af6b8d6dee16768d5f27dff72c3113407d0f028f28e56dcb1cc3a4689c79396a5f6a9c24bd0cac9a2c9c588c7d7357d24a42bec876 + languageName: node + linkType: hard + +"eslint-import-resolver-typescript@npm:^2.4.0": + version: 2.4.0 + resolution: "eslint-import-resolver-typescript@npm:2.4.0" + dependencies: + debug: ^4.1.1 + glob: ^7.1.6 + is-glob: ^4.0.1 + resolve: ^1.17.0 + tsconfig-paths: ^3.9.0 + peerDependencies: + eslint: "*" + eslint-plugin-import: "*" + checksum: 2db0de33531f563bbbeecbdb080e3ff7ac0dbdd01f82ed690ccc9b29f746e431bf639322b1f1384f5c67055104c722cf70d9bf837d3ef70d6f3cf4ec2ba6562d + languageName: node + linkType: hard + +"eslint-module-utils@npm:^2.6.0": + version: 2.6.0 + resolution: "eslint-module-utils@npm:2.6.0" + dependencies: + debug: ^2.6.9 + pkg-dir: ^2.0.0 + checksum: 489bb82248e1090515701cc9614a6e183dac34805bc1cb205cf411a875b8db756b0c05141f9ddb64395ec1d518a99c7f113ac181929a0e995968b8584d7f5a63 + languageName: node + linkType: hard + +"eslint-plugin-es@npm:^3.0.0": + version: 3.0.1 + resolution: "eslint-plugin-es@npm:3.0.1" + dependencies: + eslint-utils: ^2.0.0 + regexpp: ^3.0.0 + peerDependencies: + eslint: ">=4.19.1" + checksum: e57592c52301ee8ddc296ae44216df007f3a870bcb3be8d1fbdb909a1d3a3efe3fa3785de02066f9eba1d6466b722d3eb3cc3f8b75b3cf6a1cbded31ac6298e4 + languageName: node + linkType: hard + +"eslint-plugin-import@npm:^2.22.1": + version: 2.22.1 + resolution: "eslint-plugin-import@npm:2.22.1" + dependencies: + array-includes: ^3.1.1 + array.prototype.flat: ^1.2.3 + contains-path: ^0.1.0 + debug: ^2.6.9 + doctrine: 1.5.0 + eslint-import-resolver-node: ^0.3.4 + eslint-module-utils: ^2.6.0 + has: ^1.0.3 + minimatch: ^3.0.4 + object.values: ^1.1.1 + read-pkg-up: ^2.0.0 + resolve: ^1.17.0 + tsconfig-paths: ^3.9.0 + peerDependencies: + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 + checksum: b043d5b67c0130545bfb7695abcd28fd605e4ccac580ec937217d078c5361800d3626a45dec43c2c697431c4c657b83be504e07605da1afb4a2ebc894a661f19 + languageName: node + linkType: hard + +"eslint-plugin-jest@npm:^24.1.5": + version: 24.1.5 + resolution: "eslint-plugin-jest@npm:24.1.5" + dependencies: + "@typescript-eslint/experimental-utils": ^4.0.1 + peerDependencies: + eslint: ">=5" + checksum: eec2a4ab2392f64f17b6b9f9de6722501f6b8c91481827cce3e9cc7d9073561b1f78d04d818f59c8069196f47036e17e666a63b9f16fa3dfd11d81fde4941ca0 + languageName: node + linkType: hard + +"eslint-plugin-jsdoc@npm:^36.1.0": + version: 36.1.0 + resolution: "eslint-plugin-jsdoc@npm:36.1.0" + dependencies: + "@es-joy/jsdoccomment": 0.10.8 + comment-parser: 1.2.4 + debug: ^4.3.2 + esquery: ^1.4.0 + jsdoc-type-pratt-parser: ^1.1.1 + lodash: ^4.17.21 + regextras: ^0.8.0 + semver: ^7.3.5 + spdx-expression-parse: ^3.0.1 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 + checksum: 5152a252a1c1fa8773a22aa0a69ab1c52a9334b12f0f3667548c6478d2d9acf970042b55ff2c48fa5165fab008cf20883f18a173fc5d6ba8f813074618b70ece + languageName: node + linkType: hard + +"eslint-plugin-node@npm:^11.1.0": + version: 11.1.0 + resolution: "eslint-plugin-node@npm:11.1.0" + dependencies: + eslint-plugin-es: ^3.0.0 + eslint-utils: ^2.0.0 + ignore: ^5.1.1 + minimatch: ^3.0.4 + resolve: ^1.10.1 + semver: ^6.1.0 + peerDependencies: + eslint: ">=5.16.0" + checksum: 5804c4f8a6e721f183ef31d46fbe3b4e1265832f352810060e0502aeac7de034df83352fc88643b19641bb2163f2587f1bd4119aff0fd21e8d98c57c450e013b + languageName: node + linkType: hard + +"eslint-plugin-prettier@npm:^3.4.1": + version: 3.4.1 + resolution: "eslint-plugin-prettier@npm:3.4.1" + dependencies: + prettier-linter-helpers: ^1.0.0 + peerDependencies: + eslint: ">=5.0.0" + prettier: ">=1.13.0" + peerDependenciesMeta: + eslint-config-prettier: + optional: true + checksum: fa6a89f0d7cba1cc87064352f5a4a68dc3739448dd279bec2bced1bfa3b704467e603d13b69dcec853f8fa30b286b8b715912898e9da776e1b016cf0ee48bd99 + languageName: node + linkType: hard + +"eslint-scope@npm:^5.0.0": + version: 5.1.0 + resolution: "eslint-scope@npm:5.1.0" + dependencies: + esrecurse: ^4.1.0 + estraverse: ^4.1.1 + checksum: 701c850429cc26105c8d2324c65b269aed45f33a6ad2f43c3d0d47c8d51ec242800e448a7a591cc6162b75cfcb456f0a63f20dd76887bac332617d4847194057 + languageName: node + linkType: hard + +"eslint-scope@npm:^5.1.1": + version: 5.1.1 + resolution: "eslint-scope@npm:5.1.1" + dependencies: + esrecurse: ^4.3.0 + estraverse: ^4.1.1 + checksum: 47e4b6a3f0cc29c7feedee6c67b225a2da7e155802c6ea13bbef4ac6b9e10c66cd2dcb987867ef176292bf4e64eccc680a49e35e9e9c669f4a02bac17e86abdb + languageName: node + linkType: hard + +"eslint-utils@npm:^2.0.0, eslint-utils@npm:^2.1.0": + version: 2.1.0 + resolution: "eslint-utils@npm:2.1.0" + dependencies: + eslint-visitor-keys: ^1.1.0 + checksum: 27500938f348da42100d9e6ad03ae29b3de19ba757ae1a7f4a087bdcf83ac60949bbb54286492ca61fac1f5f3ac8692dd21537ce6214240bf95ad0122f24d71d + languageName: node + linkType: hard + +"eslint-utils@npm:^3.0.0": + version: 3.0.0 + resolution: "eslint-utils@npm:3.0.0" + dependencies: + eslint-visitor-keys: ^2.0.0 + peerDependencies: + eslint: ">=5" + checksum: 0668fe02f5adab2e5a367eee5089f4c39033af20499df88fe4e6aba2015c20720404d8c3d6349b6f716b08fdf91b9da4e5d5481f265049278099c4c836ccb619 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^1.1.0, eslint-visitor-keys@npm:^1.3.0": + version: 1.3.0 + resolution: "eslint-visitor-keys@npm:1.3.0" + checksum: 37a19b712f42f4c9027e8ba98c2b06031c17e0c0a4c696cd429bd9ee04eb43889c446f2cd545e1ff51bef9593fcec94ecd2c2ef89129fcbbf3adadbef520376a + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "eslint-visitor-keys@npm:2.0.0" + checksum: e07e9863fb8c9b1453f5ad1a26f3cc8dd6b349b26605cc06bc0c61215ac5b6f13a4d08c875218e6c0f8ac8fc06ca6e090df769e32c569f0fd2e6a848b8a76c75 + languageName: node + linkType: hard + +"eslint@npm:^7.24.0": + version: 7.24.0 + resolution: "eslint@npm:7.24.0" + dependencies: + "@babel/code-frame": 7.12.11 + "@eslint/eslintrc": ^0.4.0 + ajv: ^6.10.0 + chalk: ^4.0.0 + cross-spawn: ^7.0.2 + debug: ^4.0.1 + doctrine: ^3.0.0 + enquirer: ^2.3.5 + eslint-scope: ^5.1.1 + eslint-utils: ^2.1.0 + eslint-visitor-keys: ^2.0.0 + espree: ^7.3.1 + esquery: ^1.4.0 + esutils: ^2.0.2 + file-entry-cache: ^6.0.1 + functional-red-black-tree: ^1.0.1 + glob-parent: ^5.0.0 + globals: ^13.6.0 + ignore: ^4.0.6 + import-fresh: ^3.0.0 + imurmurhash: ^0.1.4 + is-glob: ^4.0.0 + js-yaml: ^3.13.1 + json-stable-stringify-without-jsonify: ^1.0.1 + levn: ^0.4.1 + lodash: ^4.17.21 + minimatch: ^3.0.4 + natural-compare: ^1.4.0 + optionator: ^0.9.1 + progress: ^2.0.0 + regexpp: ^3.1.0 + semver: ^7.2.1 + strip-ansi: ^6.0.0 + strip-json-comments: ^3.1.0 + table: ^6.0.4 + text-table: ^0.2.0 + v8-compile-cache: ^2.0.3 + bin: + eslint: bin/eslint.js + checksum: 60558618c68d17573b82d1ecd28ef4ec011d36fb58b05346cee4e56f4fc8ef2f6b9c102c02cdcc02e8ec5f390e4791a02fa2db9fc212e344450e5ca2920b040f + languageName: node + linkType: hard + +"espree@npm:^7.3.0, espree@npm:^7.3.1": + version: 7.3.1 + resolution: "espree@npm:7.3.1" + dependencies: + acorn: ^7.4.0 + acorn-jsx: ^5.3.1 + eslint-visitor-keys: ^1.3.0 + checksum: aa9b50dcce883449af2e23bc2b8d9abb77118f96f4cb313935d6b220f77137eaef7724a83c3f6243b96bc0e4ab14766198e60818caad99f9519ae5a336a39b45 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0, esprima@npm:^4.0.1": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: b45bc805a613dbea2835278c306b91aff6173c8d034223fa81498c77dcbce3b2931bf6006db816f62eacd9fd4ea975dfd85a5b7f3c6402cfd050d4ca3c13a628 + languageName: node + linkType: hard + +"esquery@npm:^1.4.0": + version: 1.4.0 + resolution: "esquery@npm:1.4.0" + dependencies: + estraverse: ^5.1.0 + checksum: a0807e17abd7fbe5fbd4fab673038d6d8a50675cdae6b04fbaa520c34581be0c5fa24582990e8acd8854f671dd291c78bb2efb9e0ed5b62f33bac4f9cf820210 + languageName: node + linkType: hard + +"esrecurse@npm:^4.1.0, esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: ^5.2.0 + checksum: ebc17b1a33c51cef46fdc28b958994b1dc43cd2e86237515cbc3b4e5d2be6a811b2315d0a1a4d9d340b6d2308b15322f5c8291059521cc5f4802f65e7ec32837 + languageName: node + linkType: hard + +"estraverse@npm:^4.1.1": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.2.0 + resolution: "estraverse@npm:5.2.0" + checksum: ec11b70d946bf5d7f76f91db38ef6f08109ac1b36cda293a26e678e58df4719f57f67b9ec87042afdd1f0267cee91865be3aa48d2161765a93defab5431be7b8 + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 22b5b08f74737379a840b8ed2036a5fb35826c709ab000683b092d9054e5c2a82c27818f12604bfc2a9a76b90b6834ef081edbc1c7ae30d1627012e067c6ec87 + languageName: node + linkType: hard + +"eth-ens-namehash@npm:^2.0.8": + version: 2.0.8 + resolution: "eth-ens-namehash@npm:2.0.8" + dependencies: + idna-uts46-hx: ^2.3.1 + js-sha3: ^0.5.7 + checksum: 40ce4aeedaa4e7eb4485c8d8857457ecc46a4652396981d21b7e3a5f922d5beff63c71cb4b283c935293e530eba50b329d9248be3c433949c6bc40c850c202a3 + languageName: node + linkType: hard + +"ethereum-cryptography@npm:^0.1.3": + version: 0.1.3 + resolution: "ethereum-cryptography@npm:0.1.3" + dependencies: + "@types/pbkdf2": ^3.0.0 + "@types/secp256k1": ^4.0.1 + blakejs: ^1.1.0 + browserify-aes: ^1.2.0 + bs58check: ^2.1.2 + create-hash: ^1.2.0 + create-hmac: ^1.1.7 + hash.js: ^1.1.7 + keccak: ^3.0.0 + pbkdf2: ^3.0.17 + randombytes: ^2.1.0 + safe-buffer: ^5.1.2 + scrypt-js: ^3.0.0 + secp256k1: ^4.0.1 + setimmediate: ^1.0.5 + checksum: 54bae7a4a96bd81398cdc35c91cfcc74339f71a95ed1b5b694663782e69e8e3afd21357de3b8bac9ff4877fd6f043601e200a7ad9133d94be6fd7d898ee0a449 + languageName: node + linkType: hard + +"ethereumjs-util@npm:^7.1.4": + version: 7.1.4 + resolution: "ethereumjs-util@npm:7.1.4" + dependencies: + "@types/bn.js": ^5.1.0 + bn.js: ^5.1.2 + create-hash: ^1.1.2 + ethereum-cryptography: ^0.1.3 + rlp: ^2.2.4 + checksum: ccfd9208bfe9205af124a9138c5a90db46cd2fcacf4b80f17f67915381c03253aa2fb90ead9e0b53d9a6fcfeed4310e5dfa8dc516ca2846d16baf81d605cd8c2 + languageName: node + linkType: hard + +"evp_bytestokey@npm:^1.0.3": + version: 1.0.3 + resolution: "evp_bytestokey@npm:1.0.3" + dependencies: + md5.js: ^1.3.4 + node-gyp: latest + safe-buffer: ^5.1.1 + checksum: ad4e1577f1a6b721c7800dcc7c733fe01f6c310732bb5bf2240245c2a5b45a38518b91d8be2c610611623160b9d1c0e91f1ce96d639f8b53e8894625cf20fa45 + languageName: node + linkType: hard + +"execa@npm:^5.0.0, execa@npm:^5.1.1": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + 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 + checksum: fba9022c8c8c15ed862847e94c252b3d946036d7547af310e344a527e59021fd8b6bb0723883ea87044dc4f0201f949046993124a42ccb0855cae5bf8c786343 + languageName: node + linkType: hard + +"exit@npm:^0.1.2": + version: 0.1.2 + resolution: "exit@npm:0.1.2" + checksum: abc407f07a875c3961e4781dfcb743b58d6c93de9ab263f4f8c9d23bb6da5f9b7764fc773f86b43dd88030444d5ab8abcb611cb680fba8ca075362b77114bba3 + languageName: node + linkType: hard + +"expect@npm:^28.1.0": + version: 28.1.0 + resolution: "expect@npm:28.1.0" + dependencies: + "@jest/expect-utils": ^28.1.0 + jest-get-type: ^28.0.2 + jest-matcher-utils: ^28.1.0 + jest-message-util: ^28.1.0 + jest-util: ^28.1.0 + checksum: 53bfa2e094a7d5b270ce9a8dafc5432d51bb369287502acd373b66fe01072260bacd1f83bf741d5de49b008406781ab879a0247f5f6fc10d3f32fbe5a3ccfbdf + languageName: node + linkType: hard + +"extend@npm:~3.0.2": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: a50a8309ca65ea5d426382ff09f33586527882cf532931cb08ca786ea3146c0553310bda688710ff61d7668eba9f96b923fe1420cdf56a2c3eaf30fcab87b515 + languageName: node + linkType: hard + +"extsprintf@npm:1.3.0, extsprintf@npm:^1.2.0": + version: 1.3.0 + resolution: "extsprintf@npm:1.3.0" + checksum: cee7a4a1e34cffeeec18559109de92c27517e5641991ec6bab849aa64e3081022903dd53084f2080d0d2530803aa5ee84f1e9de642c365452f9e67be8f958ce2 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d + languageName: node + linkType: hard + +"fast-diff@npm:^1.1.2": + version: 1.2.0 + resolution: "fast-diff@npm:1.2.0" + checksum: 1b5306eaa9e826564d9e5ffcd6ebd881eb5f770b3f977fcbf38f05c824e42172b53c79920e8429c54eb742ce15a0caf268b0fdd5b38f6de52234c4a8368131ae + languageName: node + linkType: hard + +"fast-glob@npm:^3.0.3": + version: 3.2.7 + resolution: "fast-glob@npm:3.2.7" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: 2f4708ff112d2b451888129fdd9a0938db88b105b0ddfd043c064e3c4d3e20eed8d7c7615f7565fee660db34ddcf08a2db1bf0ab3c00b87608e4719694642d78 + languageName: node + linkType: hard + +"fast-glob@npm:^3.1.1": + version: 3.2.4 + resolution: "fast-glob@npm:3.2.4" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.0 + merge2: ^1.3.0 + micromatch: ^4.0.2 + picomatch: ^2.2.1 + checksum: a70ce897b23e85521688b03897115315e8c781f2e5ee5f3b83e8c10df6a464e8be415c800f55c9c40278b41aeccc60883f018f76dde8250b8cf28e7566c13f75 + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.9": + version: 3.2.11 + resolution: "fast-glob@npm:3.2.11" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: f473105324a7780a20c06de842e15ddbb41d3cb7e71d1e4fe6e8373204f22245d54f5ab9e2061e6a1c613047345954d29b022e0e76f5c28b1df9858179a0e6d7 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.4": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.9.0 + resolution: "fastq@npm:1.9.0" + dependencies: + reusify: ^1.0.4 + checksum: 25fe18fd57459eb02117317646f477e64d3a53b53545b0d834f5c1de51df5db5df7dc4d7c56003a3f59fab233b61e406842cbd68e9c68f4ade9890e8e2f21961 + languageName: node + linkType: hard + +"fb-watchman@npm:^2.0.0": + version: 2.0.0 + resolution: "fb-watchman@npm:2.0.0" + dependencies: + bser: ^2.0.0 + checksum: bf87adc30ed4d291d4208ae7a8e629433079b2ce3e5e57e24e4cbf1ab69379d81512bedbed37407c1789c48d3ce9e5a43bfa0da0499a2c70b58ff4f9d2e30d0e + languageName: node + linkType: hard + +"file-entry-cache@npm:^6.0.1": + version: 6.0.1 + resolution: "file-entry-cache@npm:6.0.1" + dependencies: + flat-cache: ^3.0.4 + checksum: f49701feaa6314c8127c3c2f6173cfefff17612f5ed2daaafc6da13b5c91fd43e3b2a58fd0d63f9f94478a501b167615931e7200e31485e320f74a33885a9c74 + languageName: node + linkType: hard + +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: ^5.0.1 + checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917 + languageName: node + linkType: hard + +"find-up@npm:^2.0.0, find-up@npm:^2.1.0": + version: 2.1.0 + resolution: "find-up@npm:2.1.0" + dependencies: + locate-path: ^2.0.0 + checksum: 43284fe4da09f89011f08e3c32cd38401e786b19226ea440b75386c1b12a4cb738c94969808d53a84f564ede22f732c8409e3cfc3f7fb5b5c32378ad0bbf28bd + languageName: node + linkType: hard + +"find-up@npm:^4.0.0, find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: ^5.0.0 + path-exists: ^4.0.0 + checksum: 4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 + languageName: node + linkType: hard + +"flat-cache@npm:^3.0.4": + version: 3.0.4 + resolution: "flat-cache@npm:3.0.4" + dependencies: + flatted: ^3.1.0 + rimraf: ^3.0.2 + checksum: 4fdd10ecbcbf7d520f9040dd1340eb5dfe951e6f0ecf2252edeec03ee68d989ec8b9a20f4434270e71bcfd57800dc09b3344fca3966b2eb8f613072c7d9a2365 + languageName: node + linkType: hard + +"flatted@npm:^3.1.0": + version: 3.1.1 + resolution: "flatted@npm:3.1.1" + checksum: 508935e3366d95444131f0aaa801a4301f24ea5bcb900d12764e7335b46b910730cc1b5bcfcfb8eccb7c8db261ba0671c6a7ca30d10870ff7a7756dc7e731a7a + languageName: node + linkType: hard + +"forever-agent@npm:~0.6.1": + version: 0.6.1 + resolution: "forever-agent@npm:0.6.1" + checksum: 766ae6e220f5fe23676bb4c6a99387cec5b7b62ceb99e10923376e27bfea72f3c3aeec2ba5f45f3f7ba65d6616965aa7c20b15002b6860833bb6e394dea546a8 + languageName: node + linkType: hard + +"form-data@npm:^4.0.0": + version: 4.0.0 + resolution: "form-data@npm:4.0.0" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.8 + mime-types: ^2.1.12 + checksum: 01135bf8675f9d5c61ff18e2e2932f719ca4de964e3be90ef4c36aacfc7b9cb2fceb5eca0b7e0190e3383fe51c5b37f4cb80b62ca06a99aaabfcfd6ac7c9328c + languageName: node + linkType: hard + +"form-data@npm:~2.3.2": + version: 2.3.3 + resolution: "form-data@npm:2.3.3" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.6 + mime-types: ^2.1.12 + checksum: 10c1780fa13dbe1ff3100114c2ce1f9307f8be10b14bf16e103815356ff567b6be39d70fc4a40f8990b9660012dc24b0f5e1dde1b6426166eb23a445ba068ca3 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: ^3.0.0 + checksum: 1b8d128dae2ac6cc94230cc5ead341ba3e0efaef82dab46a33d171c044caaa6ca001364178d42069b2809c35a1c3c35079a32107c770e9ffab3901b59af8c8b1 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 99ddea01a7e75aa276c250a04eedeffe5662bce66c65c07164ad6264f9de18fb21be9433ead460e54cff20e31721c811f4fb5d70591799df5f85dce6d6746fd0 + languageName: node + linkType: hard + +"fsevents@npm:^2.3.2": + version: 2.3.2 + resolution: "fsevents@npm:2.3.2" + dependencies: + node-gyp: latest + checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@^2.3.2#~builtin": + version: 2.3.2 + resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=18f3a7" + dependencies: + node-gyp: latest + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.1": + version: 1.1.1 + resolution: "function-bind@npm:1.1.1" + checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a + languageName: node + linkType: hard + +"functional-red-black-tree@npm:^1.0.1": + version: 1.0.1 + resolution: "functional-red-black-tree@npm:1.0.1" + checksum: ca6c170f37640e2d94297da8bb4bf27a1d12bea3e00e6a3e007fd7aa32e37e000f5772acf941b4e4f3cf1c95c3752033d0c509af157ad8f526e7f00723b9eb9f + languageName: node + linkType: hard + +"gauge@npm:^4.0.3": + version: 4.0.4 + resolution: "gauge@npm:4.0.4" + dependencies: + aproba: ^1.0.3 || ^2.0.0 + color-support: ^1.1.3 + console-control-strings: ^1.1.0 + has-unicode: ^2.0.1 + signal-exit: ^3.0.7 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + wide-align: ^1.1.5 + checksum: 788b6bfe52f1dd8e263cda800c26ac0ca2ff6de0b6eee2fe0d9e3abf15e149b651bd27bf5226be10e6e3edb5c4e5d5985a5a1a98137e7a892f75eff76467ad2d + languageName: node + linkType: hard + +"gauge@npm:~2.7.3": + version: 2.7.4 + resolution: "gauge@npm:2.7.4" + dependencies: + aproba: ^1.0.3 + console-control-strings: ^1.0.0 + has-unicode: ^2.0.0 + object-assign: ^4.1.0 + signal-exit: ^3.0.0 + string-width: ^1.0.1 + strip-ansi: ^3.0.1 + wide-align: ^1.1.0 + checksum: a89b53cee65579b46832e050b5f3a79a832cc422c190de79c6b8e2e15296ab92faddde6ddf2d376875cbba2b043efa99b9e1ed8124e7365f61b04e3cee9d40ee + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: a7437e58c6be12aa6c90f7730eac7fa9833dc78872b4ad2963d2031b00a3367a93f98aec75f9aaac7220848e4026d67a8655e870b24f20a543d103c0d65952ec + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad + languageName: node + linkType: hard + +"getpass@npm:^0.1.1": + version: 0.1.7 + resolution: "getpass@npm:0.1.7" + dependencies: + assert-plus: ^1.0.0 + checksum: ab18d55661db264e3eac6012c2d3daeafaab7a501c035ae0ccb193c3c23e9849c6e29b6ac762b9c2adae460266f925d55a3a2a3a3c8b94be2f222df94d70c046 + languageName: node + linkType: hard + +"git-hooks-list@npm:1.0.3": + version: 1.0.3 + resolution: "git-hooks-list@npm:1.0.3" + checksum: a1dd03d39c1d727ba08a35dbdbdcc6e96de8c4170c942dc95bf787ca6e34998d39fb5295a00242b58a3d265de0b69a0686d0cf583baa6b7830f268542c4576b9 + languageName: node + linkType: hard + +"glob-parent@npm:^5.0.0, glob-parent@npm:^5.1.0, glob-parent@npm:^5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: ^4.0.1 + checksum: f4f2bfe2425296e8a47e36864e4f42be38a996db40420fe434565e4480e3322f18eb37589617a98640c5dc8fdec1a387007ee18dbb1f3f5553409c34d17f425e + languageName: node + linkType: hard + +"glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0": + version: 7.2.0 + resolution: "glob@npm:7.2.0" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.0.4 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 78a8ea942331f08ed2e055cb5b9e40fe6f46f579d7fd3d694f3412fe5db23223d29b7fee1575440202e9a7ff9a72ab106a39fee39934c7bedafe5e5f8ae20134 + languageName: node + linkType: hard + +"glob@npm:^8.0.1": + version: 8.0.3 + resolution: "glob@npm:8.0.3" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^5.0.1 + once: ^1.3.0 + checksum: 50bcdea19d8e79d8de5f460b1939ffc2b3299eac28deb502093fdca22a78efebc03e66bf54f0abc3d3d07d8134d19a32850288b7440d77e072aa55f9d33b18c5 + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 67051a45eca3db904aee189dfc7cd53c20c7d881679c93f6146ddd4c9f4ab2268e68a919df740d39c71f4445d2b38ee360fc234428baea1dbdfe68bbcb46979e + languageName: node + linkType: hard + +"globals@npm:^12.1.0": + version: 12.4.0 + resolution: "globals@npm:12.4.0" + dependencies: + type-fest: ^0.8.1 + checksum: 7ae5ee16a96f1e8d71065405f57da0e33267f6b070cd36a5444c7780dd28639b48b92413698ac64f04bf31594f9108878bd8cb158ecdf759c39e05634fefcca6 + languageName: node + linkType: hard + +"globals@npm:^13.6.0": + version: 13.8.0 + resolution: "globals@npm:13.8.0" + dependencies: + type-fest: ^0.20.2 + checksum: acbfcad2b8aeff34d977a2df62bda863d7537e19f5b30cc3452493ce636b5193be9f68da46a53f41875f49052ddd7d550cd2568ecc818ddde3603e30def1fef3 + languageName: node + linkType: hard + +"globby@npm:10.0.0": + version: 10.0.0 + resolution: "globby@npm:10.0.0" + dependencies: + "@types/glob": ^7.1.1 + array-union: ^2.1.0 + dir-glob: ^3.0.1 + fast-glob: ^3.0.3 + glob: ^7.1.3 + ignore: ^5.1.1 + merge2: ^1.2.3 + slash: ^3.0.0 + checksum: fbff58d2fcaedd9207901f6e3b5341ff885b6d499c3a095f7befde0fd03ec1ea634452a82f81e894e46f6a5d704da44b842ba93066f90dced52adf84d4b8d1cc + languageName: node + linkType: hard + +"globby@npm:^11.0.1": + version: 11.0.1 + resolution: "globby@npm:11.0.1" + dependencies: + array-union: ^2.1.0 + dir-glob: ^3.0.1 + fast-glob: ^3.1.1 + ignore: ^5.1.4 + merge2: ^1.3.0 + slash: ^3.0.0 + checksum: b0b26e580666ef8caf0b0facd585c1da46eb971207ee9f8c7b690c1372d77602dd072f047f26c3ae1c293807fdf8fb6890d9291d37bc6d2602b1f07386f983e5 + languageName: node + linkType: hard + +"globby@npm:^11.0.3": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: ^2.1.0 + dir-glob: ^3.0.1 + fast-glob: ^3.2.9 + ignore: ^5.2.0 + merge2: ^1.4.1 + slash: ^3.0.0 + checksum: b4be8885e0cfa018fc783792942d53926c35c50b3aefd3fdcfb9d22c627639dc26bd2327a40a0b74b074100ce95bb7187bfeae2f236856aa3de183af7a02aea6 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.2": + version: 4.2.4 + resolution: "graceful-fs@npm:4.2.4" + checksum: 9d58c444eb4f391ce30b451aae8a8af2bd675d9f6f624719e97306f571ab89b2bd2b5f9025199bc63a2edfe2e53e7701554012f32a708148d53aa689163728cc + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.3": + version: 4.2.6 + resolution: "graceful-fs@npm:4.2.6" + checksum: 792e64aafda05a151289f83eaa16aff34ef259658cefd65393883d959409f5a2389b0ec9ebf28f3d21f1b0ddc8f594a1162ae9b18e2b507a6799a70706ec573d + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": + version: 4.2.10 + resolution: "graceful-fs@npm:4.2.10" + checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da + languageName: node + linkType: hard + +"har-schema@npm:^2.0.0": + version: 2.0.0 + resolution: "har-schema@npm:2.0.0" + checksum: d8946348f333fb09e2bf24cc4c67eabb47c8e1d1aa1c14184c7ffec1140a49ec8aa78aa93677ae452d71d5fc0fdeec20f0c8c1237291fc2bcb3f502a5d204f9b + languageName: node + linkType: hard + +"har-validator@npm:~5.1.3": + version: 5.1.3 + resolution: "har-validator@npm:5.1.3" + dependencies: + ajv: ^6.5.5 + har-schema: ^2.0.0 + checksum: 5903ddf55f4403bb102a86dc2da073593716c7aa422863c244cb406b69e006551553c904e30ed5d123788675ae827f977b3b366211dc730b33a2b619f926199f + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 4a15638b454bf086c8148979aae044dd6e39d63904cd452d970374fa6a87623423da485dfb814e7be882e05c096a7ccf1ebd48e7e7501d0208d8384ff4dea73b + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.0": + version: 1.0.0 + resolution: "has-symbols@npm:1.0.0" + checksum: 9b557a61222b5579273ac93f193e14925a3b0d9631e87cae8f6f774cb7f90eada8218a9f71f075a60d330266dddea3c4e7153b9638e866e3d01d42a614717bc4 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.1": + version: 1.0.1 + resolution: "has-symbols@npm:1.0.1" + checksum: 4f09be6682f9fc29855ded1101ad2a0f5d559d7d9ed68f7b68be1ea213c23991216d08d6585bf3ff6fded6f526cc506bda528d276f083602b55d232f132cfa27 + languageName: node + linkType: hard + +"has-unicode@npm:^2.0.0, has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 + languageName: node + linkType: hard + +"has@npm:^1.0.3": + version: 1.0.3 + resolution: "has@npm:1.0.3" + dependencies: + function-bind: ^1.1.1 + checksum: b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792 + languageName: node + linkType: hard + +"hash-base@npm:^3.0.0": + version: 3.0.4 + resolution: "hash-base@npm:3.0.4" + dependencies: + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + checksum: 878465a0dfcc33cce195c2804135352c590d6d10980adc91a9005fd377e77f2011256c2b7cfce472e3f2e92d561d1bf3228d2da06348a9017ce9a258b3b49764 + languageName: node + linkType: hard + +"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3, hash.js@npm:^1.1.7": + version: 1.1.7 + resolution: "hash.js@npm:1.1.7" + dependencies: + inherits: ^2.0.3 + minimalistic-assert: ^1.0.1 + checksum: e350096e659c62422b85fa508e4b3669017311aa4c49b74f19f8e1bc7f3a54a584fdfd45326d4964d6011f2b2d882e38bea775a96046f2a61b7779a979629d8f + languageName: node + linkType: hard + +"hmac-drbg@npm:^1.0.1": + version: 1.0.1 + resolution: "hmac-drbg@npm:1.0.1" + dependencies: + hash.js: ^1.0.3 + minimalistic-assert: ^1.0.0 + minimalistic-crypto-utils: ^1.0.1 + checksum: bd30b6a68d7f22d63f10e1888aee497d7c2c5c0bb469e66bbdac99f143904d1dfe95f8131f95b3e86c86dd239963c9d972fcbe147e7cffa00e55d18585c43fe0 + languageName: node + linkType: hard + +"hosted-git-info@npm:^2.1.4": + version: 2.8.9 + resolution: "hosted-git-info@npm:2.8.9" + checksum: c955394bdab888a1e9bb10eb33029e0f7ce5a2ac7b3f158099dc8c486c99e73809dca609f5694b223920ca2174db33d32b12f9a2a47141dc59607c29da5a62dd + languageName: node + linkType: hard + +"html-encoding-sniffer@npm:^3.0.0": + version: 3.0.0 + resolution: "html-encoding-sniffer@npm:3.0.0" + dependencies: + whatwg-encoding: ^2.0.0 + checksum: 8d806aa00487e279e5ccb573366a951a9f68f65c90298eac9c3a2b440a7ffe46615aff2995a2f61c6746c639234e6179a97e18ca5ccbbf93d3725ef2099a4502 + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.0 + resolution: "html-escaper@npm:2.0.0" + checksum: 02124d0018e5cdc1cec632a1e8b57dce103fa27c448dd915ddc22b6dffbd697bdce0ee0c23429c36c5036b2c61ea16c63a5132dd51d8e3c75d58e38bbd3c19bf + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.0": + version: 4.1.0 + resolution: "http-cache-semantics@npm:4.1.0" + checksum: 974de94a81c5474be07f269f9fd8383e92ebb5a448208223bfb39e172a9dbc26feff250192ecc23b9593b3f92098e010406b0f24bd4d588d631f80214648ed42 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^5.0.0": + version: 5.0.0 + resolution: "http-proxy-agent@npm:5.0.0" + dependencies: + "@tootallnate/once": 2 + agent-base: 6 + debug: 4 + checksum: e2ee1ff1656a131953839b2a19cd1f3a52d97c25ba87bd2559af6ae87114abf60971e498021f9b73f9fd78aea8876d1fb0d4656aac8a03c6caa9fc175f22b786 + languageName: node + linkType: hard + +"http-signature@npm:~1.2.0": + version: 1.2.0 + resolution: "http-signature@npm:1.2.0" + dependencies: + assert-plus: ^1.0.0 + jsprim: ^1.2.2 + sshpk: ^1.7.0 + checksum: 3324598712266a9683585bb84a75dec4fd550567d5e0dd4a0fff6ff3f74348793404d3eeac4918fa0902c810eeee1a86419e4a2e92a164132dfe6b26743fb47c + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: 6 + debug: 4 + checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: b87fd89fce72391625271454e70f67fe405277415b48bcc0117ca73d31fa23a4241787afdc8d67f5a116cf37258c052f59ea82daffa72364d61351423848e3b8 + languageName: node + linkType: hard + +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" + dependencies: + ms: ^2.0.0 + checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 + languageName: node + linkType: hard + +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: ">= 2.1.2 < 3.0.0" + checksum: 3f60d47a5c8fc3313317edfd29a00a692cc87a19cac0159e2ce711d0ebc9019064108323b5e493625e25594f11c6236647d8e256fbe7a58f4a3b33b89e6d30bf + languageName: node + linkType: hard + +"idna-uts46-hx@npm:^2.3.1": + version: 2.3.1 + resolution: "idna-uts46-hx@npm:2.3.1" + dependencies: + punycode: 2.1.0 + checksum: d434c3558d2bc1090eb90f978f995101f469cb26593414ac57aa082c9352e49972b332c6e4188b9b15538172ccfeae3121e5a19b96972a97e6aeb0676d86639c + languageName: node + linkType: hard + +"ignore@npm:^4.0.6": + version: 4.0.6 + resolution: "ignore@npm:4.0.6" + checksum: 248f82e50a430906f9ee7f35e1158e3ec4c3971451dd9f99c9bc1548261b4db2b99709f60ac6c6cac9333494384176cc4cc9b07acbe42d52ac6a09cad734d800 + languageName: node + linkType: hard + +"ignore@npm:^5.1.1, ignore@npm:^5.1.4": + version: 5.1.8 + resolution: "ignore@npm:5.1.8" + checksum: 967abadb61e2cb0e5c5e8c4e1686ab926f91bc1a4680d994b91947d3c65d04c3ae126dcdf67f08e0feeb8ff8407d453e641aeeddcc47a3a3cca359f283cf6121 + languageName: node + linkType: hard + +"ignore@npm:^5.1.8, ignore@npm:^5.2.0": + version: 5.2.0 + resolution: "ignore@npm:5.2.0" + checksum: 6b1f926792d614f64c6c83da3a1f9c83f6196c2839aa41e1e32dd7b8d174cef2e329d75caabb62cb61ce9dc432f75e67d07d122a037312db7caa73166a1bdb77 + languageName: node + linkType: hard + +"immer@npm:^9.0.6": + version: 9.0.14 + resolution: "immer@npm:9.0.14" + checksum: 17f1365c06d653e672a4f609f08e7203e9ab4b4284818332d6ca9b3f3577a0e3c0066ca7933b636fbae560df79a4b3fde70ed717ce3c6e95c39bf3d5861d5be9 + languageName: node + linkType: hard + +"import-fresh@npm:^3.0.0": + version: 3.2.1 + resolution: "import-fresh@npm:3.2.1" + dependencies: + parent-module: ^1.0.0 + resolve-from: ^4.0.0 + checksum: caef42418a087c3951fb676943a7f21ba8971aa07f9b622dff4af7edcef4160e1b172dccd85a88d7eb109cf41406a4592f70259e6b3b33aeafd042bb61f81d96 + languageName: node + linkType: hard + +"import-fresh@npm:^3.2.1": + version: 3.3.0 + resolution: "import-fresh@npm:3.3.0" + dependencies: + parent-module: ^1.0.0 + resolve-from: ^4.0.0 + checksum: 2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa + languageName: node + linkType: hard + +"import-local@npm:^3.0.2": + version: 3.0.2 + resolution: "import-local@npm:3.0.2" + dependencies: + pkg-dir: ^4.2.0 + resolve-cwd: ^3.0.0 + bin: + import-local-fixture: fixtures/cli.js + checksum: c74d9f9484c878cda1de3434613c7ff72d5dadcf20e5482542232d7c2575b713ff88701d6675fcf09a3684cb23fb407c8b333b9cbc59438712723d058d8e976c + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 7cae75c8cd9a50f57dadd77482359f659eaebac0319dd9368bcd1714f55e65badd6929ca58569da2b6494ef13fdd5598cd700b1eba23f8b79c5f19d195a3ecf7 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 824cfb9929d031dabf059bebfe08cf3137365e112019086ed3dcff6a0a7b698cb80cf67ccccde0e25b9e2d7527aa6cc1fed1ac490c752162496caba3e6699612 + languageName: node + linkType: hard + +"infer-owner@npm:^1.0.4": + version: 1.0.4 + resolution: "infer-owner@npm:1.0.4" + checksum: 181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: ^1.3.0 + wrappy: 1 + checksum: f4f76aa072ce19fae87ce1ef7d221e709afb59d445e05d47fba710e85470923a75de35bfae47da6de1b18afc3ce83d70facf44cfb0aff89f0a3f45c0a0244dfd + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 + languageName: node + linkType: hard + +"ip@npm:^1.1.5": + version: 1.1.8 + resolution: "ip@npm:1.1.8" + checksum: a2ade53eb339fb0cbe9e69a44caab10d6e3784662285eb5d2677117ee4facc33a64679051c35e0dfdb1a3983a51ce2f5d2cb36446d52e10d01881789b76e28fb + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: eef4417e3c10e60e2c810b6084942b3ead455af16c4509959a27e490e7aee87cfb3f38e01bbde92220b528a0ee1a18d52b787e1458ee86174d8c7f0e58cd488f + languageName: node + linkType: hard + +"is-callable@npm:^1.1.4": + version: 1.1.4 + resolution: "is-callable@npm:1.1.4" + checksum: ad54044fbe114f91da69f89ab3a9b626e80d13398aeb6a541930a52936207d6da4b0f51e5e5dbf2c8dad45623bc302b0e62a0ac9918a0f7d1cd4865929adc0ed + languageName: node + linkType: hard + +"is-callable@npm:^1.2.0": + version: 1.2.0 + resolution: "is-callable@npm:1.2.0" + checksum: 628d786ebb816a28529cd9ee15533e50288715215d374b2c983e6e23b3ae564e55a1cbfed3e3e8935340601584279984d9363b7045458b24f6d7c44249f24cf5 + languageName: node + linkType: hard + +"is-core-module@npm:^2.1.0": + version: 2.2.0 + resolution: "is-core-module@npm:2.2.0" + dependencies: + has: ^1.0.3 + checksum: 61e2aff4a7db4f8f7d5a97b484808af17290f4197b34a797cd3d3d27b6b448951064f8d3d6ceae4394fa9b7e6cf08aacd2ba7a17ef6352e922fe803580fbde56 + languageName: node + linkType: hard + +"is-core-module@npm:^2.2.0": + version: 2.4.0 + resolution: "is-core-module@npm:2.4.0" + dependencies: + has: ^1.0.3 + checksum: c498902d4c4d0e8eba3a2e8293ccd442158cfe49a71d7cfad136ccf9902b6a41de34ddaa86cdc95c8b7c22f872e59572d8a5d994cbec04c8ecf27ffe75137119 + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.1": + version: 1.0.1 + resolution: "is-date-object@npm:1.0.1" + checksum: 4ce962ecb46d31e48652a247ba9a31697199308926ec8e330426f5de41007781c28617c7c972f188e9aa2dd3d77f725eaba7755d207cecdd49f32fc0beca4fed + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^1.0.0": + version: 1.0.0 + resolution: "is-fullwidth-code-point@npm:1.0.0" + dependencies: + number-is-nan: ^1.0.0 + checksum: 4d46a7465a66a8aebcc5340d3b63a56602133874af576a9ca42c6f0f4bd787a743605771c5f246db77da96605fefeffb65fc1dbe862dcc7328f4b4d03edf5a57 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^2.0.0": + version: 2.0.0 + resolution: "is-fullwidth-code-point@npm:2.0.0" + checksum: eef9c6e15f68085fec19ff6a978a6f1b8f48018fd1265035552078ee945573594933b09bbd6f562553e2a241561439f1ef5339276eba68d272001343084cfab8 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 + languageName: node + linkType: hard + +"is-generator-fn@npm:^2.0.0": + version: 2.1.0 + resolution: "is-generator-fn@npm:2.1.0" + checksum: a6ad5492cf9d1746f73b6744e0c43c0020510b59d56ddcb78a91cbc173f09b5e6beff53d75c9c5a29feb618bfef2bf458e025ecf3a57ad2268e2fb2569f56215 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1": + version: 4.0.1 + resolution: "is-glob@npm:4.0.1" + dependencies: + is-extglob: ^2.1.1 + checksum: 84627cad11b4e745f5db5a163f32c47b711585a5ff6e14f8f8d026db87f4cdd3e2c95f6fa1f94ad22e469f36d819ae2814f03f9c668b164422ac3354a94672d3 + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 456ac6f8e0f3111ed34668a624e45315201dff921e5ac181f8ec24923b99e9f32ca1a194912dc79d539c97d33dba17dc635202ff0b2cf98326f608323276d27a + languageName: node + linkType: hard + +"is-plain-obj@npm:2.1.0": + version: 2.1.0 + resolution: "is-plain-obj@npm:2.1.0" + checksum: cec9100678b0a9fe0248a81743041ed990c2d4c99f893d935545cfbc42876cbe86d207f3b895700c690ad2fa520e568c44afc1605044b535a7820c1d40e38daa + languageName: node + linkType: hard + +"is-potential-custom-element-name@npm:^1.0.1": + version: 1.0.1 + resolution: "is-potential-custom-element-name@npm:1.0.1" + checksum: ced7bbbb6433a5b684af581872afe0e1767e2d1146b2207ca0068a648fb5cab9d898495d1ac0583524faaf24ca98176a7d9876363097c2d14fee6dd324f3a1ab + languageName: node + linkType: hard + +"is-regex@npm:^1.1.0": + version: 1.1.1 + resolution: "is-regex@npm:1.1.1" + dependencies: + has-symbols: ^1.0.1 + checksum: af1b307612f4405883ef42dec287884a9d6dc1e504ccc6232bbaf72faf25ee556f60aa62d68abb90487b390b9b83513d429365cd59f5c4362232bfe3b95b81a2 + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "is-stream@npm:2.0.0" + checksum: 4dc47738e26bc4f1b3be9070b6b9e39631144f204fc6f87db56961220add87c10a999ba26cf81699f9ef9610426f69cb08a4713feff8deb7d8cadac907826935 + languageName: node + linkType: hard + +"is-string@npm:^1.0.5": + version: 1.0.5 + resolution: "is-string@npm:1.0.5" + checksum: 68d77a991f55592721cc7d5800ff95cdb2c4f242e3a98fdc939c409879f7b8f297b8352184032b6b2183994b4c457f42df8de004c58b5b43655c8b2f3e3ecc17 + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.2": + version: 1.0.2 + resolution: "is-symbol@npm:1.0.2" + dependencies: + has-symbols: ^1.0.0 + checksum: 28a384b4f7a20591c94230ea6e4a45b707395a2cd68a43cd6623c6a444374073c6b9c11b9d3d4b5b472b006cacf1901ca4dd60629f55d534644648954a217169 + languageName: node + linkType: hard + +"is-typedarray@npm:~1.0.0": + version: 1.0.0 + resolution: "is-typedarray@npm:1.0.0" + checksum: 3508c6cd0a9ee2e0df2fa2e9baabcdc89e911c7bd5cf64604586697212feec525aa21050e48affb5ffc3df20f0f5d2e2cf79b08caa64e1ccc9578e251763aef7 + languageName: node + linkType: hard + +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: 49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4 + languageName: node + linkType: hard + +"isarray@npm:^1.0.0, isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 26bf6c5480dda5161c820c5b5c751ae1e766c587b1f951ea3fcfc973bafb7831ae5b54a31a69bd670220e42e99ec154475025a468eae58ea262f813fdc8d1c62 + languageName: node + linkType: hard + +"isomorphic-fetch@npm:^3.0.0": + version: 3.0.0 + resolution: "isomorphic-fetch@npm:3.0.0" + dependencies: + node-fetch: ^2.6.1 + whatwg-fetch: ^3.4.1 + checksum: e5ab79a56ce5af6ddd21265f59312ad9a4bc5a72cebc98b54797b42cb30441d5c5f8d17c5cd84a99e18101c8af6f90c081ecb8d12fd79e332be1778d58486d75 + languageName: node + linkType: hard + +"isstream@npm:~0.1.2": + version: 0.1.2 + resolution: "isstream@npm:0.1.2" + checksum: 1eb2fe63a729f7bdd8a559ab552c69055f4f48eb5c2f03724430587c6f450783c8f1cd936c1c952d0a927925180fcc892ebd5b174236cf1065d4bd5bdb37e963 + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.0.0": + version: 3.0.0 + resolution: "istanbul-lib-coverage@npm:3.0.0" + checksum: ea57c2428858cc5d1e04c0e28b362950bbf6415e8ba1235cdd6f4c8dc3c57cb950db8b4e8a4f7e33abc240aa1eb816dba0d7285bdb8b70bda22bb2082492dbfc + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.2.0": + version: 3.2.0 + resolution: "istanbul-lib-coverage@npm:3.2.0" + checksum: a2a545033b9d56da04a8571ed05c8120bf10e9bce01cf8633a3a2b0d1d83dff4ac4fe78d6d5673c27fc29b7f21a41d75f83a36be09f82a61c367b56aa73c1ff9 + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^5.0.4, istanbul-lib-instrument@npm:^5.1.0": + version: 5.2.0 + resolution: "istanbul-lib-instrument@npm:5.2.0" + 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 + checksum: 7c242ed782b6bf7b655656576afae8b6bd23dcc020e5fdc1472cca3dfb6ddb196a478385206d0df5219b9babf46ac4f21fea5d8ea9a431848b6cca6007012353 + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0": + version: 3.0.0 + resolution: "istanbul-lib-report@npm:3.0.0" + dependencies: + istanbul-lib-coverage: ^3.0.0 + make-dir: ^3.0.0 + supports-color: ^7.1.0 + checksum: 3f29eb3f53c59b987386e07fe772d24c7f58c6897f34c9d7a296f4000de7ae3de9eb95c3de3df91dc65b134c84dee35c54eee572a56243e8907c48064e34ff1b + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^4.0.0": + version: 4.0.0 + resolution: "istanbul-lib-source-maps@npm:4.0.0" + dependencies: + debug: ^4.1.1 + istanbul-lib-coverage: ^3.0.0 + source-map: ^0.6.1 + checksum: 292bfb4083e5f8783cdf829a7686b1a377d0c6c2119d4343c8478e948b38146c4827cddc7eee9f57605acd63c291376d67e4a84163d37c5fc78ad0f27f7e2621 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.1.3": + version: 3.1.4 + resolution: "istanbul-reports@npm:3.1.4" + dependencies: + html-escaper: ^2.0.0 + istanbul-lib-report: ^3.0.0 + checksum: 2132983355710c522f6b26808015cab9a0ee8b9f5ae0db0d3edeff40b886dd83cb670fb123cb7b32dbe59473d7c00cdde2ba6136bc0acdb20a865fccea64dfe1 + languageName: node + linkType: hard + +"jest-changed-files@npm:^28.0.2": + version: 28.0.2 + resolution: "jest-changed-files@npm:28.0.2" + dependencies: + execa: ^5.0.0 + throat: ^6.0.1 + checksum: 389d4de4b26de3d2c6e23783ef4e23f827a9a79cfebd2db7c6ff74727198814469ee1e1a89f0e6d28a94e3c632ec45b044c2400a0793b8591e18d07b4b421784 + languageName: node + linkType: hard + +"jest-circus@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-circus@npm:28.1.0" + dependencies: + "@jest/environment": ^28.1.0 + "@jest/expect": ^28.1.0 + "@jest/test-result": ^28.1.0 + "@jest/types": ^28.1.0 + "@types/node": "*" + chalk: ^4.0.0 + co: ^4.6.0 + dedent: ^0.7.0 + is-generator-fn: ^2.0.0 + jest-each: ^28.1.0 + jest-matcher-utils: ^28.1.0 + jest-message-util: ^28.1.0 + jest-runtime: ^28.1.0 + jest-snapshot: ^28.1.0 + jest-util: ^28.1.0 + pretty-format: ^28.1.0 + slash: ^3.0.0 + stack-utils: ^2.0.3 + throat: ^6.0.1 + checksum: 29b3f6936671947b81c507132f2afeadf1789cefa1a3849d7ba6a2a32c532016c8df9a647cea6e286050b7d97f1244746175fe9fe768dd38f5bba329aa6c5bc7 + languageName: node + linkType: hard + +"jest-cli@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-cli@npm:28.1.0" + dependencies: + "@jest/core": ^28.1.0 + "@jest/test-result": ^28.1.0 + "@jest/types": ^28.1.0 + chalk: ^4.0.0 + exit: ^0.1.2 + graceful-fs: ^4.2.9 + import-local: ^3.0.2 + jest-config: ^28.1.0 + jest-util: ^28.1.0 + jest-validate: ^28.1.0 + prompts: ^2.0.1 + yargs: ^17.3.1 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: 9da98d9a7a0b670f610943be708205988030fd094029f8a64b258a5a5ef18c0b527ec7019e6b95802f2baa2241bb2d6caf31ef4fd530bcf176737e4ede1d9d79 + languageName: node + linkType: hard + +"jest-config@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-config@npm:28.1.0" + dependencies: + "@babel/core": ^7.11.6 + "@jest/test-sequencer": ^28.1.0 + "@jest/types": ^28.1.0 + babel-jest: ^28.1.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: ^28.1.0 + jest-environment-node: ^28.1.0 + jest-get-type: ^28.0.2 + jest-regex-util: ^28.0.2 + jest-resolve: ^28.1.0 + jest-runner: ^28.1.0 + jest-util: ^28.1.0 + jest-validate: ^28.1.0 + micromatch: ^4.0.4 + parse-json: ^5.2.0 + pretty-format: ^28.1.0 + slash: ^3.0.0 + strip-json-comments: ^3.1.1 + peerDependencies: + "@types/node": "*" + ts-node: ">=9.0.0" + peerDependenciesMeta: + "@types/node": + optional: true + ts-node: + optional: true + checksum: 48bfbef4334a187ce6873fd515230e521f500fe2ae57e43ec5747abee95a80583e784cfb99dd1b11664774f33da63758cc63d4a2b2ecf95c8984f2a880cd773e + languageName: node + linkType: hard + +"jest-diff@npm:^27.0.0": + version: 27.3.1 + resolution: "jest-diff@npm:27.3.1" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^27.0.6 + jest-get-type: ^27.3.1 + pretty-format: ^27.3.1 + checksum: 49231a4ac4bed1cce8f5135db2a26a83673d5cbe5716bca29900a45ae0ddf237099d9091acac436b9c60ab933b0e7ca086ce8cb71f44411b572b69adbe96128d + languageName: node + linkType: hard + +"jest-diff@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-diff@npm:28.1.0" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^28.0.2 + jest-get-type: ^28.0.2 + pretty-format: ^28.1.0 + checksum: 4d90d9d18ba1d28f5520fa206831e9e8199facf28c6d2b4967c7e4cd1ee78e7e826187babdeb02073f79a1d2c186520d73f77fa29877c6547b0a79392d08a513 + languageName: node + linkType: hard + +"jest-docblock@npm:^28.0.2": + version: 28.0.2 + resolution: "jest-docblock@npm:28.0.2" + dependencies: + detect-newline: ^3.0.0 + checksum: 97aa9707127d5bfc4589485374711bbbb7d9049067fd562132592102f0b841682357eca9b95e35496f78538a2ae400b0b0a8b03f477d6773fc093be9f4716f1f + languageName: node + linkType: hard + +"jest-each@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-each@npm:28.1.0" + dependencies: + "@jest/types": ^28.1.0 + chalk: ^4.0.0 + jest-get-type: ^28.0.2 + jest-util: ^28.1.0 + pretty-format: ^28.1.0 + checksum: a3d650c0c12a4bf4d4497b9de8aceb0dd96a6183dd8016ae1e4a16b11a81e0e29a58e23b0a1f5a6ca6135156041fd6bf2a4557b9d1ecd33dd417d3cb0e8005a0 + languageName: node + linkType: hard + +"jest-environment-jsdom@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-environment-jsdom@npm:28.1.0" + dependencies: + "@jest/environment": ^28.1.0 + "@jest/fake-timers": ^28.1.0 + "@jest/types": ^28.1.0 + "@types/jsdom": ^16.2.4 + "@types/node": "*" + jest-mock: ^28.1.0 + jest-util: ^28.1.0 + jsdom: ^19.0.0 + checksum: b1e3354a4a6fe1486cc6cd597460e6851c4f575770582e6ade7cca852ce9af9c421cb42f071863a37a0ad81e5d57443d99b1d8b2f39eac5acde8134a29e759d2 + languageName: node + linkType: hard + +"jest-environment-node@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-environment-node@npm:28.1.0" + dependencies: + "@jest/environment": ^28.1.0 + "@jest/fake-timers": ^28.1.0 + "@jest/types": ^28.1.0 + "@types/node": "*" + jest-mock: ^28.1.0 + jest-util: ^28.1.0 + checksum: e65e83962b6d6d8879611e230d878cd2690acd20d1295071f67de7b02dfc4194438961be2a73acf005fc022fb2f73f9dafd50c23088d4e6b70156f8998b19beb + languageName: node + linkType: hard + +"jest-get-type@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-get-type@npm:27.3.1" + checksum: b0b8db1d770c6332b4189bbf4073184489acbb1095410cf53add033daf911577ee6bd1c4f8d747dd2f3d63de42f7eb15c5527fc7288a2855a046f4a8957cd902 + languageName: node + linkType: hard + +"jest-get-type@npm:^28.0.2": + version: 28.0.2 + resolution: "jest-get-type@npm:28.0.2" + checksum: 5281d7c89bc8156605f6d15784f45074f4548501195c26e9b188742768f72d40948252d13230ea905b5349038865a1a8eeff0e614cc530ff289dfc41fe843abd + languageName: node + linkType: hard + +"jest-haste-map@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-haste-map@npm:28.1.0" + dependencies: + "@jest/types": ^28.1.0 + "@types/graceful-fs": ^4.1.3 + "@types/node": "*" + anymatch: ^3.0.3 + fb-watchman: ^2.0.0 + fsevents: ^2.3.2 + graceful-fs: ^4.2.9 + jest-regex-util: ^28.0.2 + jest-util: ^28.1.0 + jest-worker: ^28.1.0 + micromatch: ^4.0.4 + walker: ^1.0.7 + dependenciesMeta: + fsevents: + optional: true + checksum: 128c2d1aa39610febfc9fe66bbc40bb847d89da3e1646ed1bbe63e90bd4c930d1798d20aef8d928fda8e5b0570f05f1cbb263030ebe776c01bb86dd5174434da + languageName: node + linkType: hard + +"jest-leak-detector@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-leak-detector@npm:28.1.0" + dependencies: + jest-get-type: ^28.0.2 + pretty-format: ^28.1.0 + checksum: 911eec6b96d389c1e7741c8df85e030a9618e38105c7e71f6f2c1284a02d033fec4e6a8916385f17fd5ed0ffffb8491ac887f5b3de11d0265d8415598e9c0ae6 + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-matcher-utils@npm:28.1.0" + dependencies: + chalk: ^4.0.0 + jest-diff: ^28.1.0 + jest-get-type: ^28.0.2 + pretty-format: ^28.1.0 + checksum: 60e3e83fff67402972b101135d44443981d6519008e435b567f197220f330ec38356f905b6872348d082f0a2a4089612f63d2c72f55ee3c718de6b0ef03f4d6d + languageName: node + linkType: hard + +"jest-message-util@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-message-util@npm:28.1.0" + dependencies: + "@babel/code-frame": ^7.12.13 + "@jest/types": ^28.1.0 + "@types/stack-utils": ^2.0.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.9 + micromatch: ^4.0.4 + pretty-format: ^28.1.0 + slash: ^3.0.0 + stack-utils: ^2.0.3 + checksum: a224f9dbb53b5ad857918938f94c6e5d9c64ccdd42e0780b3b485d66bd93c82cff7dd91fbe274273efb69533d79808f9c98622b23d70ec027e8619a20e283773 + languageName: node + linkType: hard + +"jest-mock@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-mock@npm:28.1.0" + dependencies: + "@jest/types": ^28.1.0 + "@types/node": "*" + checksum: 013428db82f418059314588e5d02a2a8f6697940ffeb1b1a23f61e9b94b1dca3ea0061d91f284e217bf0ce0e5251ff8f2f182a393cecd1ec6788d766cc18ded4 + languageName: node + linkType: hard + +"jest-pnp-resolver@npm:^1.2.2": + version: 1.2.2 + resolution: "jest-pnp-resolver@npm:1.2.2" + peerDependencies: + jest-resolve: "*" + peerDependenciesMeta: + jest-resolve: + optional: true + checksum: bd85dcc0e76e0eb0c3d56382ec140f08d25ff4068cda9d0e360bb78fb176cb726d0beab82dc0e8694cafd09f55fee7622b8bcb240afa5fad301f4ed3eebb4f47 + languageName: node + linkType: hard + +"jest-regex-util@npm:^28.0.2": + version: 28.0.2 + resolution: "jest-regex-util@npm:28.0.2" + checksum: 0ea8c5c82ec88bc85e273c0ec82e0c0f35f7a1e2d055070e50f0cc2a2177f848eec55f73e37ae0d045c3db5014c42b2f90ac62c1ab3fdb354d2abd66a9e08add + languageName: node + linkType: hard + +"jest-resolve-dependencies@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-resolve-dependencies@npm:28.1.0" + dependencies: + jest-regex-util: ^28.0.2 + jest-snapshot: ^28.1.0 + checksum: 0720ab19285ee64b7dad65c2feff08323660e9ff9c09380011a45d4af58dcf6a6710f10bbe80986ffe2452e11d09be0974d42163c31e832be4fab6c348b4dea5 + languageName: node + linkType: hard + +"jest-resolve@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-resolve@npm:28.1.0" + dependencies: + chalk: ^4.0.0 + graceful-fs: ^4.2.9 + jest-haste-map: ^28.1.0 + jest-pnp-resolver: ^1.2.2 + jest-util: ^28.1.0 + jest-validate: ^28.1.0 + resolve: ^1.20.0 + resolve.exports: ^1.1.0 + slash: ^3.0.0 + checksum: 1a37e3a8a1b49a148c4611f85cb27dbb6b0b2d1b76b8a52ddfeb340a74f6d2a7851ba8ba2374948a21024d56592f32b48e3142e9fd813a0fcea4d1db3602ec77 + languageName: node + linkType: hard + +"jest-runner@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-runner@npm:28.1.0" + dependencies: + "@jest/console": ^28.1.0 + "@jest/environment": ^28.1.0 + "@jest/test-result": ^28.1.0 + "@jest/transform": ^28.1.0 + "@jest/types": ^28.1.0 + "@types/node": "*" + chalk: ^4.0.0 + emittery: ^0.10.2 + graceful-fs: ^4.2.9 + jest-docblock: ^28.0.2 + jest-environment-node: ^28.1.0 + jest-haste-map: ^28.1.0 + jest-leak-detector: ^28.1.0 + jest-message-util: ^28.1.0 + jest-resolve: ^28.1.0 + jest-runtime: ^28.1.0 + jest-util: ^28.1.0 + jest-watcher: ^28.1.0 + jest-worker: ^28.1.0 + source-map-support: 0.5.13 + throat: ^6.0.1 + checksum: 79f622a06e7b4f065b6ad14633ddb3ebabdacc479d4059a17bad4470570f941623957701cf08a3efe49c0cf04f78830fc07270ad8ad759b623a9de1bcb93c45f + languageName: node + linkType: hard + +"jest-runtime@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-runtime@npm:28.1.0" + dependencies: + "@jest/environment": ^28.1.0 + "@jest/fake-timers": ^28.1.0 + "@jest/globals": ^28.1.0 + "@jest/source-map": ^28.0.2 + "@jest/test-result": ^28.1.0 + "@jest/transform": ^28.1.0 + "@jest/types": ^28.1.0 + chalk: ^4.0.0 + cjs-module-lexer: ^1.0.0 + collect-v8-coverage: ^1.0.0 + execa: ^5.0.0 + glob: ^7.1.3 + graceful-fs: ^4.2.9 + jest-haste-map: ^28.1.0 + jest-message-util: ^28.1.0 + jest-mock: ^28.1.0 + jest-regex-util: ^28.0.2 + jest-resolve: ^28.1.0 + jest-snapshot: ^28.1.0 + jest-util: ^28.1.0 + slash: ^3.0.0 + strip-bom: ^4.0.0 + checksum: e3a01bbbf6ffb28174303e2d2c043fb766b178a6354186dcbe8e8cc8e706162ecfb2b6f49d71ec7b2459dc6701979ffeee003fdf153492b9e74a846cf11af5d8 + languageName: node + linkType: hard + +"jest-snapshot@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-snapshot@npm:28.1.0" + dependencies: + "@babel/core": ^7.11.6 + "@babel/generator": ^7.7.2 + "@babel/plugin-syntax-typescript": ^7.7.2 + "@babel/traverse": ^7.7.2 + "@babel/types": ^7.3.3 + "@jest/expect-utils": ^28.1.0 + "@jest/transform": ^28.1.0 + "@jest/types": ^28.1.0 + "@types/babel__traverse": ^7.0.6 + "@types/prettier": ^2.1.5 + babel-preset-current-node-syntax: ^1.0.0 + chalk: ^4.0.0 + expect: ^28.1.0 + graceful-fs: ^4.2.9 + jest-diff: ^28.1.0 + jest-get-type: ^28.0.2 + jest-haste-map: ^28.1.0 + jest-matcher-utils: ^28.1.0 + jest-message-util: ^28.1.0 + jest-util: ^28.1.0 + natural-compare: ^1.4.0 + pretty-format: ^28.1.0 + semver: ^7.3.5 + checksum: 73695484cf4e2af9d0dbb8bc1e851f6d6217cc740aa93b521012c253fbbd9dc1ce11b147ac3e18cac8358b4b64fe36a1b8a6d1a3083c9d275dd937281faad818 + languageName: node + linkType: hard + +"jest-util@npm:^28.0.0, jest-util@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-util@npm:28.1.0" + dependencies: + "@jest/types": ^28.1.0 + "@types/node": "*" + chalk: ^4.0.0 + ci-info: ^3.2.0 + graceful-fs: ^4.2.9 + picomatch: ^2.2.3 + checksum: 14c2ee1c24c6efa2d7adfe81ece8b9bbda78fa871f40bed80db72726166e96f7fb22bf1d9fb1689fb433b9bcd748027eb1ee5f0851a12f1aa1c49ee0bd4d7508 + languageName: node + linkType: hard + +"jest-validate@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-validate@npm:28.1.0" + dependencies: + "@jest/types": ^28.1.0 + camelcase: ^6.2.0 + chalk: ^4.0.0 + jest-get-type: ^28.0.2 + leven: ^3.1.0 + pretty-format: ^28.1.0 + checksum: 79f9fe39f15bb47b15da39e19a1b2ba948830b6da53ccf359857cdeaca62cd87721585b0137576e7d1d2b2d7e5b79fdfb57d5b80e6ce3c8a93865d6032b20e4a + languageName: node + linkType: hard + +"jest-watcher@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-watcher@npm:28.1.0" + dependencies: + "@jest/test-result": ^28.1.0 + "@jest/types": ^28.1.0 + "@types/node": "*" + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + emittery: ^0.10.2 + jest-util: ^28.1.0 + string-length: ^4.0.1 + checksum: 4a1ae2e1adf933cfa963b0f82cb4fecd863f1b980b7db05dfd856e83637b9380a4476a73dcbe50a70cb49d028999fae0d1bb60d75b410a682d8b3f344a073dda + languageName: node + linkType: hard + +"jest-when@npm:^3.5.1": + version: 3.5.1 + resolution: "jest-when@npm:3.5.1" + peerDependencies: + jest: ">= 25" + checksum: 1efb9f497f7c846fe8b0f4125d5f449c4a4d78d5d0afa910d134b301ae4c119ea52c9465db38d2146269d42808afe8f3a4328d1d656878a9a69458ee653f6499 + languageName: node + linkType: hard + +"jest-worker@npm:^28.1.0": + version: 28.1.0 + resolution: "jest-worker@npm:28.1.0" + dependencies: + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^8.0.0 + checksum: 44b6cfb03752543e2462f143ca5c9642206f20813068ef0461e793bb8feda85f643ee906d96a0a57728e1a2fb5b89386fd34e44289568b1cee5815c115e7ee02 + languageName: node + linkType: hard + +"jest@npm:^28.1.0": + version: 28.1.0 + resolution: "jest@npm:28.1.0" + dependencies: + "@jest/core": ^28.1.0 + import-local: ^3.0.2 + jest-cli: ^28.1.0 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: f025164c408cf5ddb6e74dac1e8cbaf94c1c31dd1c67aba4ceee5989b2d8a77886db8ed1fb88853b45cf194b14cd802b454bbbe6b278a1e2140250297dc100d3 + languageName: node + linkType: hard + +"js-sha3@npm:^0.5.7": + version: 0.5.7 + resolution: "js-sha3@npm:0.5.7" + checksum: 973a28ea4b26cc7f12d2ab24f796e24ee4a71eef45a6634a052f6eb38cf8b2333db798e896e6e094ea6fa4dfe8e42a2a7942b425cf40da3f866623fd05bb91ea + languageName: node + linkType: hard + +"js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 8a95213a5a77deb6cbe94d86340e8d9ace2b93bc367790b260101d2f36a2eaf4e4e22d9fa9cf459b38af3a32fb4190e638024cf82ec95ef708680e405ea7cc78 + languageName: node + linkType: hard + +"js-yaml@npm:^3.13.1": + version: 3.13.1 + resolution: "js-yaml@npm:3.13.1" + dependencies: + argparse: ^1.0.7 + esprima: ^4.0.0 + bin: + js-yaml: bin/js-yaml.js + checksum: 7511b764abb66d8aa963379f7d2a404f078457d106552d05a7b556d204f7932384e8477513c124749fa2de52eb328961834562bd09924902c6432e40daa408bc + languageName: node + linkType: hard + +"jsbn@npm:~0.1.0": + version: 0.1.1 + resolution: "jsbn@npm:0.1.1" + checksum: e5ff29c1b8d965017ef3f9c219dacd6e40ad355c664e277d31246c90545a02e6047018c16c60a00f36d561b3647215c41894f5d869ada6908a2e0ce4200c88f2 + languageName: node + linkType: hard + +"jsdoc-type-pratt-parser@npm:1.1.1, jsdoc-type-pratt-parser@npm:^1.1.1": + version: 1.1.1 + resolution: "jsdoc-type-pratt-parser@npm:1.1.1" + checksum: 90522d1da193e1280c3e041561de20cb2f580dd823ad60f5c08e8f429dacc2e944259ed682c98c62d32f3fc8148a79becb47a47455a8093cebb5377b1c2ecbf2 + languageName: node + linkType: hard + +"jsdom@npm:^19.0.0": + version: 19.0.0 + resolution: "jsdom@npm:19.0.0" + dependencies: + abab: ^2.0.5 + acorn: ^8.5.0 + acorn-globals: ^6.0.0 + cssom: ^0.5.0 + cssstyle: ^2.3.0 + data-urls: ^3.0.1 + decimal.js: ^10.3.1 + domexception: ^4.0.0 + escodegen: ^2.0.0 + form-data: ^4.0.0 + html-encoding-sniffer: ^3.0.0 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.0 + is-potential-custom-element-name: ^1.0.1 + nwsapi: ^2.2.0 + parse5: 6.0.1 + saxes: ^5.0.1 + symbol-tree: ^3.2.4 + tough-cookie: ^4.0.0 + w3c-hr-time: ^1.0.2 + w3c-xmlserializer: ^3.0.0 + webidl-conversions: ^7.0.0 + whatwg-encoding: ^2.0.0 + whatwg-mimetype: ^3.0.0 + whatwg-url: ^10.0.0 + ws: ^8.2.3 + xml-name-validator: ^4.0.0 + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: 94b693bf4a394097dd96705550bb7b6cd3c8db3c5414e6e9c92a0995ed8b61067597da2f37fca6bed4b5a2f1ef33960ee759522156dccd0b306311988ea87cfb + languageName: node + linkType: hard + +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: 4dc190771129e12023f729ce20e1e0bfceac84d73a85bc3119f7f938843fe25a4aeccb54b6494dce26fcf263d815f5f31acdefac7cc9329efb8422a4f4d9fa9d + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 798ed4cf3354a2d9ccd78e86d2169515a0097a5c133337807cdf7f1fc32e1391d207ccfc276518cc1d7d8d4db93288b8a50ba4293d212ad1336e52a8ec0a941f + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 7486074d3ba247769fda17d5181b345c9fb7d12e0da98b22d1d71a5db9698d8b4bd900a3ec1a4ffdd60846fc2556274a5c894d0c48795f14cb03aeae7b55260b + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad + languageName: node + linkType: hard + +"json-schema@npm:0.2.3": + version: 0.2.3 + resolution: "json-schema@npm:0.2.3" + checksum: bbc2070988fb5f2a2266a31b956f1b5660e03ea7eaa95b33402901274f625feb586ae0c485e1df854fde40a7f0dc679f3b3ca8e5b8d31f8ea07a0d834de785c7 + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: cff44156ddce9c67c44386ad5cddf91925fe06b1d217f2da9c4910d01f358c6e3989c4d5a02683c7a5667f9727ff05831f7aa8ae66c8ff691c556f0884d49215 + languageName: node + linkType: hard + +"json-stringify-safe@npm:~5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 48ec0adad5280b8a96bb93f4563aa1667fd7a36334f79149abd42446d0989f2ddc58274b479f4819f1f00617957e6344c886c55d05a4e15ebb4ab931e4a6a8ee + languageName: node + linkType: hard + +"json5@npm:2.x": + version: 2.1.0 + resolution: "json5@npm:2.1.0" + dependencies: + minimist: ^1.2.0 + bin: + json5: lib/cli.js + checksum: ecd42a1d79ac40ae5b236a3a4a14959b4372f9c5915810029c56865904c8cf6e8ae671ff0083a3c381057e35de79635ba719fc1683e0fb350f42baa88a3c64ba + languageName: node + linkType: hard + +"json5@npm:^1.0.1": + version: 1.0.1 + resolution: "json5@npm:1.0.1" + dependencies: + minimist: ^1.2.0 + bin: + json5: lib/cli.js + checksum: e76ea23dbb8fc1348c143da628134a98adf4c5a4e8ea2adaa74a80c455fc2cdf0e2e13e6398ef819bfe92306b610ebb2002668ed9fc1af386d593691ef346fc3 + languageName: node + linkType: hard + +"json5@npm:^2.2.1": + version: 2.2.1 + resolution: "json5@npm:2.2.1" + bin: + json5: lib/cli.js + checksum: 74b8a23b102a6f2bf2d224797ae553a75488b5adbaee9c9b6e5ab8b510a2fc6e38f876d4c77dea672d4014a44b2399e15f2051ac2b37b87f74c0c7602003543b + languageName: node + linkType: hard + +"jsonc-parser@npm:^3.0.0": + version: 3.0.0 + resolution: "jsonc-parser@npm:3.0.0" + checksum: 1df2326f1f9688de30c70ff19c5b2a83ba3b89a1036160da79821d1361090775e9db502dc57a67c11b56e1186fc1ed70b887f25c5febf9a3ec4f91435836c99d + languageName: node + linkType: hard + +"jsprim@npm:^1.2.2": + version: 1.4.1 + resolution: "jsprim@npm:1.4.1" + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.2.3 + verror: 1.10.0 + checksum: 6bcb20ec265ae18bb48e540a6da2c65f9c844f7522712d6dfcb01039527a49414816f4869000493363f1e1ea96cbad00e46188d5ecc78257a19f152467587373 + languageName: node + linkType: hard + +"just-extend@npm:^4.0.2": + version: 4.2.1 + resolution: "just-extend@npm:4.2.1" + checksum: ff9fdede240fad313efeeeb68a660b942e5586d99c0058064c78884894a2690dc09bba44c994ad4e077e45d913fef01a9240c14a72c657b53687ac58de53b39c + languageName: node + linkType: hard + +"keccak@npm:^3.0.0": + version: 3.0.1 + resolution: "keccak@npm:3.0.1" + dependencies: + node-addon-api: ^2.0.0 + node-gyp: latest + node-gyp-build: ^4.2.0 + checksum: 1de1b62fbb3e035ee186232b11f154bd5c2c12a2d910bc8ec313dab412b6f39ddc51d3a105618dd8de752875da0ead21abb0eb1d4e7d7b17771a4acbb7159390 + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: df82cd1e172f957bae9c536286265a5cdbd5eeca487cb0a3b2a7b41ef959fc61f8e7c0e9aeea9c114ccf2c166b6a8dd45a46fd619c1c569d210ecd2765ad5169 + languageName: node + linkType: hard + +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 638401d534585261b6003db9d99afd244dfe82d75ddb6db5c0df412842d5ab30b2ef18de471aaec70fe69a46f17b4ae3c7f01d8a4e6580ef7adb9f4273ad1e55 + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: ^1.2.1 + type-check: ~0.4.0 + checksum: 12c5021c859bd0f5248561bf139121f0358285ec545ebf48bb3d346820d5c61a4309535c7f387ed7d84361cf821e124ce346c6b7cef8ee09a67c1473b46d0fc4 + languageName: node + linkType: hard + +"levn@npm:~0.3.0": + version: 0.3.0 + resolution: "levn@npm:0.3.0" + dependencies: + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + checksum: 0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.1.6 + resolution: "lines-and-columns@npm:1.1.6" + checksum: 198a5436b1fa5cf703bae719c01c686b076f0ad7e1aafd95a58d626cabff302dc0414822126f2f80b58a8c3d66cda8a7b6da064f27130f87e1d3506d6dfd0d68 + languageName: node + linkType: hard + +"load-json-file@npm:^2.0.0": + version: 2.0.0 + resolution: "load-json-file@npm:2.0.0" + dependencies: + graceful-fs: ^4.1.2 + parse-json: ^2.2.0 + pify: ^2.0.0 + strip-bom: ^3.0.0 + checksum: 7f212bbf08a8c9aab087ead07aa220d1f43d83ec1c4e475a00a8d9bf3014eb29ebe901db8554627dcfb70184c274d05b7379f1e9678fe8297ae74dc495212049 + languageName: node + linkType: hard + +"locate-path@npm:^2.0.0": + version: 2.0.0 + resolution: "locate-path@npm:2.0.0" + dependencies: + p-locate: ^2.0.0 + path-exists: ^3.0.0 + checksum: 02d581edbbbb0fa292e28d96b7de36b5b62c2fa8b5a7e82638ebb33afa74284acf022d3b1e9ae10e3ffb7658fbc49163fcd5e76e7d1baaa7801c3e05a81da755 + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: ^4.1.0 + checksum: 83e51725e67517287d73e1ded92b28602e3ae5580b301fe54bfb76c0c723e3f285b19252e375712316774cf52006cb236aed5704692c32db0d5d089b69696e30 + languageName: node + linkType: hard + +"lodash.get@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.get@npm:4.4.2" + checksum: e403047ddb03181c9d0e92df9556570e2b67e0f0a930fcbbbd779370972368f5568e914f913e93f3b08f6d492abc71e14d4e9b7a18916c31fa04bd2306efe545 + languageName: node + linkType: hard + +"lodash.memoize@npm:4.x": + version: 4.1.2 + resolution: "lodash.memoize@npm:4.1.2" + checksum: 9ff3942feeccffa4f1fafa88d32f0d24fdc62fd15ded5a74a5f950ff5f0c6f61916157246744c620173dddf38d37095a92327d5fd3861e2063e736a5c207d089 + languageName: node + linkType: hard + +"lodash@npm:^4.17.13, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 + languageName: node + linkType: hard + +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" + dependencies: + yallist: ^4.0.0 + checksum: f97f499f898f23e4585742138a22f22526254fdba6d75d41a1c2526b3b6cc5747ef59c5612ba7375f42aca4f8461950e925ba08c991ead0651b4918b7c978297 + languageName: node + linkType: hard + +"lru-cache@npm:^7.7.1": + version: 7.10.1 + resolution: "lru-cache@npm:7.10.1" + checksum: e8b190d71ed0fcd7b29c71a3e9b01f851c92d1ef8865ff06b5581ca991db1e5e006920ed4da8b56da1910664ed51abfd76c46fb55e82ac252ff6c970ff910d72 + languageName: node + linkType: hard + +"lunr@npm:^2.3.9": + version: 2.3.9 + resolution: "lunr@npm:2.3.9" + checksum: 176719e24fcce7d3cf1baccce9dd5633cd8bdc1f41ebe6a180112e5ee99d80373fe2454f5d4624d437e5a8319698ca6837b9950566e15d2cae5f2a543a3db4b8 + languageName: node + linkType: hard + +"make-dir@npm:^3.0.0": + version: 3.0.2 + resolution: "make-dir@npm:3.0.2" + dependencies: + semver: ^6.0.0 + checksum: b7ba1b53455c54fb867589e08e1303faceec23bec1303ccc77eba5c8350aa02fe30a1a13e009cc712f55efa7b2101262f9373c1c887af4de3025e23977cbdd34 + languageName: node + linkType: hard + +"make-error@npm:1.x": + version: 1.3.5 + resolution: "make-error@npm:1.3.5" + checksum: bb9578cb5f36df27509b2a269fc5fda483130096e2989fff8788c2608ed01be780d1e85ba3653e27c0863a114c560410b410be89e19271cb5ff987c37a17c1fd + languageName: node + linkType: hard + +"make-error@npm:^1.1.1": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^10.0.3": + version: 10.1.3 + resolution: "make-fetch-happen@npm:10.1.3" + dependencies: + agentkeepalive: ^4.2.1 + cacache: ^16.0.2 + http-cache-semantics: ^4.1.0 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-fetch: ^2.0.3 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.3 + promise-retry: ^2.0.1 + socks-proxy-agent: ^6.1.1 + ssri: ^9.0.0 + checksum: 14b9bc5fb65a1a1f53b4579c947d1ebdb18db71eb0b35a2eab612e9642a14127917528fe4ffb2c37aaa0d27dfd7507e4044e6e2e47b43985e8fa18722f535b8f + languageName: node + linkType: hard + +"makeerror@npm:1.0.x": + version: 1.0.11 + resolution: "makeerror@npm:1.0.11" + dependencies: + tmpl: 1.0.x + checksum: 9a62ec2d9648c5329fdc4bc7d779a7305f32b1e55422a4f14244bc890bb43287fe013eb8d965e92a0cf4c443f3e59265b1fc3125eaedb0c2361e28b1a8de565d + languageName: node + linkType: hard + +"marked@npm:^4.0.12": + version: 4.0.14 + resolution: "marked@npm:4.0.14" + bin: + marked: bin/marked.js + checksum: 778bc2fc94c51ae4fbafe5a08bc1f3917799c4dd39e9fccd972a97df4e5bc5aa78664b7143d12d4b4969608fb90c6a2de3f19811a2f9ccf6b7f207022f2842ba + languageName: node + linkType: hard + +"md5.js@npm:^1.3.4": + version: 1.3.5 + resolution: "md5.js@npm:1.3.5" + dependencies: + hash-base: ^3.0.0 + inherits: ^2.0.1 + safe-buffer: ^5.1.2 + checksum: 098494d885684bcc4f92294b18ba61b7bd353c23147fbc4688c75b45cb8590f5a95fd4584d742415dcc52487f7a1ef6ea611cfa1543b0dc4492fe026357f3f0c + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 6fa4dcc8d86629705cea944a4b88ef4cb0e07656ebf223fa287443256414283dd25d91c1cd84c77987f2aec5927af1a9db6085757cb43d90eb170ebf4b47f4f4 + languageName: node + linkType: hard + +"merge2@npm:^1.2.3, merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.2": + version: 4.0.2 + resolution: "micromatch@npm:4.0.2" + dependencies: + braces: ^3.0.1 + picomatch: ^2.0.5 + checksum: 39590a96d9ffad21f0afac044d0a5af4f33715a16fdd82c53a01c8f5ff6f70832a31b53e52972dac3deff8bf9f0bed0207d1c34e54ab3306a5e4c4efd5f7d249 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4": + version: 4.0.4 + resolution: "micromatch@npm:4.0.4" + dependencies: + braces: ^3.0.1 + picomatch: ^2.2.3 + checksum: ef3d1c88e79e0a68b0e94a03137676f3324ac18a908c245a9e5936f838079fcc108ac7170a5fadc265a9c2596963462e402841406bda1a4bb7b68805601d631c + languageName: node + linkType: hard + +"mime-db@npm:1.40.0": + version: 1.40.0 + resolution: "mime-db@npm:1.40.0" + checksum: df6220a51cff688e9bb58f51afc3eda43e39bd1fdb975bc3e013c26676f9e799e3041f93a17c7c651f65fd066616e5947b4b51f0da03591edebaf8821aa00602 + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:~2.1.19": + version: 2.1.24 + resolution: "mime-types@npm:2.1.24" + dependencies: + mime-db: 1.40.0 + checksum: e54c1e160889270044f78574f72db5f158cd69179a023b6a6dfd8254c675ec6ca2f9670391428eaf74b73735d76d5680d9e5abac0d8e259138072fd9f25e13f5 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a + languageName: node + linkType: hard + +"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: cc7974a9268fbf130fb055aff76700d7e2d8be5f761fb5c60318d0ed010d839ab3661a533ad29a5d37653133385204c503bfac995aaa4236f4e847461ea32ba7 + languageName: node + linkType: hard + +"minimalistic-crypto-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-crypto-utils@npm:1.0.1" + checksum: 6e8a0422b30039406efd4c440829ea8f988845db02a3299f372fceba56ffa94994a9c0f2fd70c17f9969eedfbd72f34b5070ead9656a34d3f71c0bd72583a0ed + languageName: node + linkType: hard + +"minimatch@npm:^3.0.4": + version: 3.0.4 + resolution: "minimatch@npm:3.0.4" + dependencies: + brace-expansion: ^1.1.7 + checksum: 66ac295f8a7b59788000ea3749938b0970344c841750abd96694f80269b926ebcafad3deeb3f1da2522978b119e6ae3a5869b63b13a7859a456b3408bd18a078 + languageName: node + linkType: hard + +"minimatch@npm:^5.0.1": + version: 5.0.1 + resolution: "minimatch@npm:5.0.1" + dependencies: + brace-expansion: ^2.0.1 + checksum: b34b98463da4754bc526b244d680c69d4d6089451ebe512edaf6dd9eeed0279399cfa3edb19233513b8f830bf4bfcad911dddcdf125e75074100d52f724774f0 + languageName: node + linkType: hard + +"minimist@npm:^1.2.0": + version: 1.2.6 + resolution: "minimist@npm:1.2.6" + checksum: d15428cd1e11eb14e1233bcfb88ae07ed7a147de251441d61158619dfb32c4d7e9061d09cab4825fdee18ecd6fce323228c8c47b5ba7cd20af378ca4048fb3fb + languageName: node + linkType: hard + +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" + dependencies: + minipass: ^3.0.0 + checksum: 14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 + languageName: node + linkType: hard + +"minipass-fetch@npm:^2.0.3": + version: 2.1.0 + resolution: "minipass-fetch@npm:2.1.0" + dependencies: + encoding: ^0.1.13 + minipass: ^3.1.6 + minipass-sized: ^1.0.3 + minizlib: ^2.1.2 + dependenciesMeta: + encoding: + optional: true + checksum: 1334732859a3f7959ed22589bafd9c40384b885aebb5932328071c33f86b3eb181d54c86919675d1825ab5f1c8e4f328878c863873258d113c29d79a4b0c9c9f + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: ^3.0.0 + checksum: 56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: ^3.0.0 + checksum: b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: ^3.0.0 + checksum: 79076749fcacf21b5d16dd596d32c3b6bf4d6e62abb43868fac21674078505c8b15eaca4e47ed844985a4514854f917d78f588fcd029693709417d8f98b2bd60 + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.1.3 + resolution: "minipass@npm:3.1.3" + dependencies: + yallist: ^4.0.0 + checksum: 74b623c1f996caafa66772301b66a1b634b20270f0d1a731ef86195d5a1a5f9984a773a1e88a6cecfd264d6c471c4c0fc8574cd96488f01c8f74c0b600021e55 + languageName: node + linkType: hard + +"minipass@npm:^3.1.1, minipass@npm:^3.1.6": + version: 3.1.6 + resolution: "minipass@npm:3.1.6" + dependencies: + yallist: ^4.0.0 + checksum: 57a04041413a3531a65062452cb5175f93383ef245d6f4a2961d34386eb9aa8ac11ac7f16f791f5e8bbaf1dfb1ef01596870c88e8822215db57aa591a5bb0a77 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: ^3.0.0 + yallist: ^4.0.0 + checksum: f1fdeac0b07cf8f30fcf12f4b586795b97be856edea22b5e9072707be51fc95d41487faec3f265b42973a304fe3a64acd91a44a3826a963e37b37bafde0212c3 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: a96865108c6c3b1b8e1d5e9f11843de1e077e57737602de1b82030815f311be11f96f09cce59bd5b903d0b29834733e5313f9301e3ed6d6f6fba2eae0df4298f + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 + languageName: node + linkType: hard + +"ms@npm:2.1.2, ms@npm:^2.1.1": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f + languageName: node + linkType: hard + +"ms@npm:^2.0.0": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d + languageName: node + linkType: hard + +"negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 + languageName: node + linkType: hard + +"nise@npm:^4.0.4": + version: 4.1.0 + resolution: "nise@npm:4.1.0" + dependencies: + "@sinonjs/commons": ^1.7.0 + "@sinonjs/fake-timers": ^6.0.0 + "@sinonjs/text-encoding": ^0.7.1 + just-extend: ^4.0.2 + path-to-regexp: ^1.7.0 + checksum: b2ea1c96a41c392adf746509904af565ebd667ad4e40267f6d73be3648f04267945624ba0ce6a991b779f3ae246181f71975152b93b4dafee1f62886fa897c32 + languageName: node + linkType: hard + +"node-addon-api@npm:^2.0.0": + version: 2.0.2 + resolution: "node-addon-api@npm:2.0.2" + dependencies: + node-gyp: latest + checksum: 31fb22d674648204f8dd94167eb5aac896c841b84a9210d614bf5d97c74ef059cc6326389cf0c54d2086e35312938401d4cc82e5fcd679202503eb8ac84814f8 + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.1": + version: 2.6.7 + resolution: "node-fetch@npm:2.6.7" + dependencies: + whatwg-url: ^5.0.0 + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 8d816ffd1ee22cab8301c7756ef04f3437f18dace86a1dae22cf81db8ef29c0bf6655f3215cb0cdb22b420b6fe141e64b26905e7f33f9377a7fa59135ea3e10b + languageName: node + linkType: hard + +"node-gyp-build@npm:^4.2.0": + version: 4.2.3 + resolution: "node-gyp-build@npm:4.2.3" + bin: + node-gyp-build: bin.js + node-gyp-build-optional: optional.js + node-gyp-build-test: build-test.js + checksum: 450d7b2016290d269343f8a33d13f4d7ccd0a38057af0d71a4d714fe06e6051da50b677a411ea9e240706253c4b53eb41e1b050df72d75d796b2e4d91b2757ae + languageName: node + linkType: hard + +"node-gyp@npm:^7.1.0": + version: 7.1.2 + resolution: "node-gyp@npm:7.1.2" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.3 + nopt: ^5.0.0 + npmlog: ^4.1.2 + request: ^2.88.2 + rimraf: ^3.0.2 + semver: ^7.3.2 + tar: ^6.0.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 08582720f28f9a9bb64bc9cbe2f58b159c0258326a9c898e4e95d2f2d8002f44602338111ebf980e5aa47a3421e071525b758923b76855d780fab8cc03279ae0 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 9.0.0 + resolution: "node-gyp@npm:9.0.0" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^10.0.3 + nopt: ^5.0.0 + npmlog: ^6.0.0 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 4d8ef8860f7e4f4d86c91db3f519d26ed5cc23b48fe54543e2afd86162b4acbd14f21de42a5db344525efb69a991e021b96a68c70c6e2d5f4a5cb770793da6d3 + languageName: node + linkType: hard + +"node-int64@npm:^0.4.0": + version: 0.4.0 + resolution: "node-int64@npm:0.4.0" + checksum: d0b30b1ee6d961851c60d5eaa745d30b5c95d94bc0e74b81e5292f7c42a49e3af87f1eb9e89f59456f80645d679202537de751b7d72e9e40ceea40c5e449057e + languageName: node + linkType: hard + +"node-releases@npm:^2.0.3": + version: 2.0.4 + resolution: "node-releases@npm:2.0.4" + checksum: b32d6c2032c7b169ae3938b416fc50f123f5bd577d54a79b2ae201febf27b22846b01c803dd35ac8689afe840f8ba4e5f7154723db629b80f359836b6707b92f + languageName: node + linkType: hard + +"nopt@npm:^5.0.0": + version: 5.0.0 + resolution: "nopt@npm:5.0.0" + dependencies: + abbrev: 1 + bin: + nopt: bin/nopt.js + checksum: d35fdec187269503843924e0114c0c6533fb54bbf1620d0f28b4b60ba01712d6687f62565c55cc20a504eff0fbe5c63e22340c3fad549ad40469ffb611b04f2f + languageName: node + linkType: hard + +"normalize-package-data@npm:^2.3.2": + version: 2.5.0 + resolution: "normalize-package-data@npm:2.5.0" + dependencies: + hosted-git-info: ^2.1.4 + resolve: ^1.10.0 + semver: 2 || 3 || 4 || 5 + validate-npm-package-license: ^3.0.1 + checksum: 7999112efc35a6259bc22db460540cae06564aa65d0271e3bdfa86876d08b0e578b7b5b0028ee61b23f1cae9fc0e7847e4edc0948d3068a39a2a82853efc8499 + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 88eeb4da891e10b1318c4b2476b6e2ecbeb5ff97d946815ffea7794c31a89017c70d7f34b3c2ebf23ef4e9fc9fb99f7dffe36da22011b5b5c6ffa34f4873ec20 + languageName: node + linkType: hard + +"npm-normalize-package-bin@npm:^1.0.1": + version: 1.0.1 + resolution: "npm-normalize-package-bin@npm:1.0.1" + checksum: ae7f15155a1e3ace2653f12ddd1ee8eaa3c84452fdfbf2f1943e1de264e4b079c86645e2c55931a51a0a498cba31f70022a5219d5665fbcb221e99e58bc70122 + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: ^3.0.0 + checksum: 5374c0cea4b0bbfdfae62da7bbdf1e1558d338335f4cacf2515c282ff358ff27b2ecb91ffa5330a8b14390ac66a1e146e10700440c1ab868208430f56b5f4d23 + languageName: node + linkType: hard + +"npmlog@npm:^4.1.2": + version: 4.1.2 + resolution: "npmlog@npm:4.1.2" + dependencies: + are-we-there-yet: ~1.1.2 + console-control-strings: ~1.1.0 + gauge: ~2.7.3 + set-blocking: ~2.0.0 + checksum: edbda9f95ec20957a892de1839afc6fb735054c3accf6fbefe767bac9a639fd5cea2baeac6bd2bcd50a85cb54924d57d9886c81c7fbc2332c2ddd19227504192 + languageName: node + linkType: hard + +"npmlog@npm:^6.0.0": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" + dependencies: + are-we-there-yet: ^3.0.0 + console-control-strings: ^1.1.0 + gauge: ^4.0.3 + set-blocking: ^2.0.0 + checksum: ae238cd264a1c3f22091cdd9e2b106f684297d3c184f1146984ecbe18aaa86343953f26b9520dedd1b1372bc0316905b736c1932d778dbeb1fcf5a1001390e2a + languageName: node + linkType: hard + +"number-is-nan@npm:^1.0.0": + version: 1.0.1 + resolution: "number-is-nan@npm:1.0.1" + checksum: 13656bc9aa771b96cef209ffca31c31a03b507ca6862ba7c3f638a283560620d723d52e626d57892c7fff475f4c36ac07f0600f14544692ff595abff214b9ffb + languageName: node + linkType: hard + +"nwsapi@npm:^2.2.0": + version: 2.2.0 + resolution: "nwsapi@npm:2.2.0" + checksum: 5ef4a9bc0c1a5b7f2e014aa6a4b359a257503b796618ed1ef0eb852098f77e772305bb0e92856e4bbfa3e6c75da48c0113505c76f144555ff38867229c2400a7 + languageName: node + linkType: hard + +"oauth-sign@npm:~0.9.0": + version: 0.9.0 + resolution: "oauth-sign@npm:0.9.0" + checksum: 8f5497a127967866a3c67094c21efd295e46013a94e6e828573c62220e9af568cc1d2d04b16865ba583e430510fa168baf821ea78f355146d8ed7e350fc44c64 + languageName: node + linkType: hard + +"object-assign@npm:^4.1.0": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f + languageName: node + linkType: hard + +"object-inspect@npm:^1.7.0": + version: 1.8.0 + resolution: "object-inspect@npm:1.8.0" + checksum: 1bb4ed43972ad29537bee9b2b3f543d7e6463ee3b929048ecddcb50f7796c418c679ba2104f2e37cd7fa486782b6278b9d1c9cccb4bbc7ca17cd529f3ae4dc1f + languageName: node + linkType: hard + +"object-keys@npm:^1.0.11, object-keys@npm:^1.0.12, object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: b363c5e7644b1e1b04aa507e88dcb8e3a2f52b6ffd0ea801e4c7a62d5aa559affe21c55a07fd4b1fd55fc03a33c610d73426664b20032405d7b92a1414c34d6a + languageName: node + linkType: hard + +"object.assign@npm:^4.1.0": + version: 4.1.0 + resolution: "object.assign@npm:4.1.0" + dependencies: + define-properties: ^1.1.2 + function-bind: ^1.1.1 + has-symbols: ^1.0.0 + object-keys: ^1.0.11 + checksum: 648a9a463580bf48332d9a49a76fede2660ab1ee7104d9459b8a240562246da790b4151c3c073f28fda31c1fdc555d25a1d871e72be403e997e4468c91f4801f + languageName: node + linkType: hard + +"object.values@npm:^1.1.1": + version: 1.1.1 + resolution: "object.values@npm:1.1.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.0-next.1 + function-bind: ^1.1.1 + has: ^1.0.3 + checksum: f1217c09fa3338698bf748514f9d5cd279744fd34e6593920faf2ad0c8eb339b3b783b6ac0b02d9285d6ead53bcf7b1ac0a5aee4717b7e38c451336796ecb8af + languageName: node + linkType: hard + +"once@npm:^1.3.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: 1 + checksum: cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68 + languageName: node + linkType: hard + +"onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: ^2.1.0 + checksum: 2478859ef817fc5d4e9c2f9e5728512ddd1dbc9fb7829ad263765bb6d3b91ce699d6e2332eef6b7dff183c2f490bd3349f1666427eaba4469fba0ac38dfd0d34 + languageName: node + linkType: hard + +"optionator@npm:^0.8.1": + version: 0.8.2 + resolution: "optionator@npm:0.8.2" + dependencies: + deep-is: ~0.1.3 + fast-levenshtein: ~2.0.4 + levn: ~0.3.0 + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + wordwrap: ~1.0.0 + checksum: c1768ca45afc2a29dc2207c53b1e238d0b6ec701e1fab1d25c4f3319e5d26b0e79fe0cc294390a60958fc9e5b1c1a65e5ef88e6a6e8efcfb6b50cd25e406f7eb + languageName: node + linkType: hard + +"optionator@npm:^0.9.1": + version: 0.9.1 + resolution: "optionator@npm:0.9.1" + dependencies: + 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 + checksum: dbc6fa065604b24ea57d734261914e697bd73b69eff7f18e967e8912aa2a40a19a9f599a507fa805be6c13c24c4eae8c71306c239d517d42d4c041c942f508a0 + languageName: node + linkType: hard + +"p-limit@npm:^1.1.0": + version: 1.3.0 + resolution: "p-limit@npm:1.3.0" + dependencies: + p-try: ^1.0.0 + checksum: 281c1c0b8c82e1ac9f81acd72a2e35d402bf572e09721ce5520164e9de07d8274451378a3470707179ad13240535558f4b277f02405ad752e08c7d5b0d54fbfd + languageName: node + linkType: hard + +"p-limit@npm:^2.2.0": + version: 2.2.2 + resolution: "p-limit@npm:2.2.2" + dependencies: + p-try: ^2.0.0 + checksum: 20c395084f4bbcb6330c21ed5408a482c7e03bb68fbf9d4667fb0f49de944a7474f788b214ca087090868dfce3f3fff4a4830b0951c8a979469786635b172fb2 + languageName: node + linkType: hard + +"p-locate@npm:^2.0.0": + version: 2.0.0 + resolution: "p-locate@npm:2.0.0" + dependencies: + p-limit: ^1.1.0 + checksum: e2dceb9b49b96d5513d90f715780f6f4972f46987dc32a0e18bc6c3fc74a1a5d73ec5f81b1398af5e58b99ea1ad03fd41e9181c01fa81b4af2833958696e3081 + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: ^2.2.0 + checksum: 513bd14a455f5da4ebfcb819ef706c54adb09097703de6aeaa5d26fe5ea16df92b48d1ac45e01e3944ce1e6aa2a66f7f8894742b8c9d6e276e16cd2049a2b870 + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: ^3.0.0 + checksum: cb0ab21ec0f32ddffd31dfc250e3afa61e103ef43d957cc45497afe37513634589316de4eb88abdfd969fe6410c22c0b93ab24328833b8eb1ccc087fc0442a1c + languageName: node + linkType: hard + +"p-try@npm:^1.0.0": + version: 1.0.0 + resolution: "p-try@npm:1.0.0" + checksum: 3b5303f77eb7722144154288bfd96f799f8ff3e2b2b39330efe38db5dd359e4fb27012464cd85cb0a76e9b7edd1b443568cb3192c22e7cffc34989df0bafd605 + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: f8a8e9a7693659383f06aec604ad5ead237c7a261c18048a6e1b5b85a5f8a067e469aa24f5bc009b991ea3b058a87f5065ef4176793a200d4917349881216cae + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: ^3.0.0 + checksum: 6ba8b255145cae9470cf5551eb74be2d22281587af787a2626683a6c20fbb464978784661478dd2a3f1dad74d1e802d403e1b03c1a31fab310259eec8ac560ff + languageName: node + linkType: hard + +"parse-json@npm:^2.2.0": + version: 2.2.0 + resolution: "parse-json@npm:2.2.0" + dependencies: + error-ex: ^1.2.0 + checksum: dda78a63e57a47b713a038630868538f718a7ca0cd172a36887b0392ccf544ed0374902eb28f8bf3409e8b71d62b79d17062f8543afccf2745f9b0b2d2bb80ca + languageName: node + linkType: hard + +"parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + 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 + checksum: 62085b17d64da57f40f6afc2ac1f4d95def18c4323577e1eced571db75d9ab59b297d1d10582920f84b15985cbfc6b6d450ccbf317644cfa176f3ed982ad87e2 + languageName: node + linkType: hard + +"parse5@npm:6.0.1": + version: 6.0.1 + resolution: "parse5@npm:6.0.1" + checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd + languageName: node + linkType: hard + +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 96e92643aa34b4b28d0de1cd2eba52a1c5313a90c6542d03f62750d82480e20bfa62bc865d5cfc6165f5fcd5aeb0851043c40a39be5989646f223300021bae0a + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 505807199dfb7c50737b057dd8d351b82c033029ab94cb10a657609e00c1bc53b951cfdbccab8de04c5584d5eff31128ce6afd3db79281874a5ef2adbba55ed1 + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8 + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.6": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a + languageName: node + linkType: hard + +"path-to-regexp@npm:^1.7.0": + version: 1.8.0 + resolution: "path-to-regexp@npm:1.8.0" + dependencies: + isarray: 0.0.1 + checksum: 709f6f083c0552514ef4780cb2e7e4cf49b0cc89a97439f2b7cc69a608982b7690fb5d1720a7473a59806508fc2dae0be751ba49f495ecf89fd8fbc62abccbcd + languageName: node + linkType: hard + +"path-type@npm:^2.0.0": + version: 2.0.0 + resolution: "path-type@npm:2.0.0" + dependencies: + pify: ^2.0.0 + checksum: 749dc0c32d4ebe409da155a0022f9be3d08e6fd276adb3dfa27cb2486519ab2aa277d1453b3fde050831e0787e07b0885a75653fefcc82d883753c5b91121b1c + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 5b1e2daa247062061325b8fdbfd1fb56dde0a448fb1455453276ea18c60685bdad23a445dc148cf87bc216be1573357509b7d4060494a6fd768c7efad833ee45 + languageName: node + linkType: hard + +"pbkdf2@npm:^3.0.17": + version: 3.1.1 + resolution: "pbkdf2@npm:3.1.1" + dependencies: + create-hash: ^1.1.2 + create-hmac: ^1.1.4 + ripemd160: ^2.0.1 + safe-buffer: ^5.0.1 + sha.js: ^2.4.8 + checksum: c3de26b8eb363180687e31138e1a486c509d407f361ae222e0af4748d9a252326e14e8f3311182945dbc27e7f235b49fb7a578ad340302a83481585bbd3947d3 + languageName: node + linkType: hard + +"performance-now@npm:^2.1.0": + version: 2.1.0 + resolution: "performance-now@npm:2.1.0" + checksum: 534e641aa8f7cba160f0afec0599b6cecefbb516a2e837b512be0adbe6c1da5550e89c78059c7fabc5c9ffdf6627edabe23eb7c518c4500067a898fa65c2b550 + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0": + version: 1.0.0 + resolution: "picocolors@npm:1.0.0" + checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.0.5": + version: 2.2.1 + resolution: "picomatch@npm:2.2.1" + checksum: fb9e0cc869f6eca88c80b3cd8b5a990418bc65d0fd172f169891d249224d302529ded35265d9c3e0454fde578d7e1756047ddb135cad3fade73b75151774663a + languageName: node + linkType: hard + +"picomatch@npm:^2.2.1": + version: 2.2.2 + resolution: "picomatch@npm:2.2.2" + checksum: 897a589f94665b4fd93e075fa94893936afe3f7bbef44250f0e878a8d9d001972a79589cac2856c24f6f5aa3b0abc9c8ba00c98fae4dc22bc0117188864d4181 + languageName: node + linkType: hard + +"picomatch@npm:^2.2.3": + version: 2.3.0 + resolution: "picomatch@npm:2.3.0" + checksum: 16818720ea7c5872b6af110760dee856c8e4cd79aed1c7a006d076b1cc09eff3ae41ca5019966694c33fbd2e1cc6ea617ab10e4adac6df06556168f13be3fca2 + languageName: node + linkType: hard + +"pify@npm:^2.0.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba + languageName: node + linkType: hard + +"pirates@npm:^4.0.4": + version: 4.0.5 + resolution: "pirates@npm:4.0.5" + checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227 + languageName: node + linkType: hard + +"pkg-dir@npm:^2.0.0": + version: 2.0.0 + resolution: "pkg-dir@npm:2.0.0" + dependencies: + find-up: ^2.1.0 + checksum: 8c72b712305b51e1108f0ffda5ec1525a8307e54a5855db8fb1dcf77561a5ae98e2ba3b4814c9806a679f76b2f7e5dd98bde18d07e594ddd9fdd25e9cf242ea1 + languageName: node + linkType: hard + +"pkg-dir@npm:^4.2.0": + version: 4.2.0 + resolution: "pkg-dir@npm:4.2.0" + dependencies: + find-up: ^4.0.0 + checksum: 9863e3f35132bf99ae1636d31ff1e1e3501251d480336edb1c211133c8d58906bed80f154a1d723652df1fda91e01c7442c2eeaf9dc83157c7ae89087e43c8d6 + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: cd192ec0d0a8e4c6da3bb80e4f62afe336df3f76271ac6deb0e6a36187133b6073a19e9727a1ff108cd8b9982e4768850d413baa71214dd80c7979617dca827a + languageName: node + linkType: hard + +"prelude-ls@npm:~1.1.2": + version: 1.1.2 + resolution: "prelude-ls@npm:1.1.2" + checksum: c4867c87488e4a0c233e158e4d0d5565b609b105d75e4c05dc760840475f06b731332eb93cc8c9cecb840aa8ec323ca3c9a56ad7820ad2e63f0261dadcb154e4 + languageName: node + linkType: hard + +"prettier-linter-helpers@npm:^1.0.0": + version: 1.0.0 + resolution: "prettier-linter-helpers@npm:1.0.0" + dependencies: + fast-diff: ^1.1.2 + checksum: 00ce8011cf6430158d27f9c92cfea0a7699405633f7f1d4a45f07e21bf78e99895911cbcdc3853db3a824201a7c745bd49bfea8abd5fb9883e765a90f74f8392 + languageName: node + linkType: hard + +"prettier-plugin-packagejson@npm:^2.2.17": + version: 2.2.17 + resolution: "prettier-plugin-packagejson@npm:2.2.17" + dependencies: + sort-package-json: 1.55.0 + peerDependencies: + prettier: ">= 1.16.0" + checksum: f8a3a2c53ec1df684c21a7e1177a48d5e8f11e0a055abc281551e32b4edfcb11544c4c30004ea49ef127eb382a7d4447fff74df8519074a1fbfb543d453b67cb + languageName: node + linkType: hard + +"prettier@npm:^2.6.2": + version: 2.6.2 + resolution: "prettier@npm:2.6.2" + bin: + prettier: bin-prettier.js + checksum: 48d08dde8e9fb1f5bccdd205baa7f192e9fc8bc98f86e1b97d919de804e28c806b0e6cc685e4a88211aa7987fa9668f30baae19580d87ced3ed0f2ec6572106f + languageName: node + linkType: hard + +"pretty-format@npm:^27.0.0, pretty-format@npm:^27.3.1": + version: 27.3.1 + resolution: "pretty-format@npm:27.3.1" + dependencies: + "@jest/types": ^27.2.5 + ansi-regex: ^5.0.1 + ansi-styles: ^5.0.0 + react-is: ^17.0.1 + checksum: 2979eae85a4f7ba1c3946faa8f5c6497cc80dc64ba499ccd5fdada267f82dc664f315a4c1cdd4c0b4b97edbae399a7bf0a957cc1b87feb91cd95f1e436834fed + languageName: node + linkType: hard + +"pretty-format@npm:^28.1.0": + version: 28.1.0 + resolution: "pretty-format@npm:28.1.0" + dependencies: + "@jest/schemas": ^28.0.2 + ansi-regex: ^5.0.1 + ansi-styles: ^5.0.0 + react-is: ^18.0.0 + checksum: c1018099f8f800693449df96c05c243d94e01f7429b6617e1064a1a69b4d715637fc3c579061fbc31548b87d92af74a7933c6eb3856da6f30b29c0ff67004ce0 + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 1d38588e520dab7cea67cbbe2efdd86a10cc7a074c09657635e34f035277b59fbb57d09d8638346bf7090f8e8ebc070c96fa5fd183b777fff4f5edff5e9466cf + languageName: node + linkType: hard + +"progress@npm:^2.0.0": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: f67403fe7b34912148d9252cb7481266a354bd99ce82c835f79070643bb3c6583d10dbcfda4d41e04bbc1d8437e9af0fb1e1f2135727878f5308682a579429b7 + languageName: node + linkType: hard + +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: 22749483091d2c594261517f4f80e05226d4d5ecc1fc917e1886929da56e22b5718b7f2a75f3807e7a7d471bc3be2907fe92e6e8f373ddf5c64bae35b5af3981 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: ^2.0.2 + retry: ^0.12.0 + checksum: f96a3f6d90b92b568a26f71e966cbbc0f63ab85ea6ff6c81284dc869b41510e6cdef99b6b65f9030f0db422bf7c96652a3fff9f2e8fb4a0f069d8f4430359429 + languageName: node + linkType: hard + +"prompts@npm:^2.0.1": + version: 2.2.1 + resolution: "prompts@npm:2.2.1" + dependencies: + kleur: ^3.0.3 + sisteransi: ^1.0.3 + checksum: 6aba2fc2fa21bb81feeb55129977e2461169b41ee46861792a14fac852b4541fbd4a1c0682d2fd41d05981731a0a662ff494a666aa6aa0e92df681b311d95a0a + languageName: node + linkType: hard + +"psl@npm:^1.1.28": + version: 1.7.0 + resolution: "psl@npm:1.7.0" + checksum: b2fcfe8500fd31845250a6714ec5e1d8ad66a95207700b5f4ba40b5c0ece15091ce7882cbcd5ac5c0022e178c5fd12a891423ebdd54c5e97cc783821945ae4a4 + languageName: node + linkType: hard + +"psl@npm:^1.1.33": + version: 1.8.0 + resolution: "psl@npm:1.8.0" + checksum: 6150048ed2da3f919478bee8a82f3828303bc0fc730fb015a48f83c9977682c7b28c60ab01425a72d82a2891a1681627aa530a991d50c086b48a3be27744bde7 + languageName: node + linkType: hard + +"punycode@npm:2.1.0": + version: 2.1.0 + resolution: "punycode@npm:2.1.0" + checksum: d125d8f86cd89303c33bad829388c49ca23197e16ccf8cd398dcbd81b026978f6543f5066c66825b25b1dfea7790a42edbeea82908e103474931789714ab86cd + languageName: node + linkType: hard + +"punycode@npm:^2.1.0, punycode@npm:^2.1.1": + version: 2.1.1 + resolution: "punycode@npm:2.1.1" + checksum: 823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8 + languageName: node + linkType: hard + +"qs@npm:~6.5.2": + version: 6.5.2 + resolution: "qs@npm:6.5.2" + checksum: 24af7b9928ba2141233fba2912876ff100403dba1b08b20c3b490da9ea6c636760445ea2211a079e7dfa882a5cf8f738337b3748c8bdd0f93358fa8881d2db8f + languageName: node + linkType: hard + +"randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: ^5.1.0 + checksum: d779499376bd4cbb435ef3ab9a957006c8682f343f14089ed5f27764e4645114196e75b7f6abf1cbd84fd247c0cb0651698444df8c9bf30e62120fbbc52269d6 + languageName: node + linkType: hard + +"react-is@npm:^17.0.1": + version: 17.0.2 + resolution: "react-is@npm:17.0.2" + checksum: 9d6d111d8990dc98bc5402c1266a808b0459b5d54830bbea24c12d908b536df7883f268a7868cfaedde3dd9d4e0d574db456f84d2e6df9c4526f99bb4b5344d8 + languageName: node + linkType: hard + +"react-is@npm:^18.0.0": + version: 18.1.0 + resolution: "react-is@npm:18.1.0" + checksum: d206a0fe6790851bff168727bfb896de02c5591695afb0c441163e8630136a3e13ee1a7ddd59fdccddcc93968b4721ae112c10f790b194b03b35a3dc13a355ef + languageName: node + linkType: hard + +"read-package-json-fast@npm:^2.0.1": + version: 2.0.2 + resolution: "read-package-json-fast@npm:2.0.2" + dependencies: + json-parse-even-better-errors: ^2.3.0 + npm-normalize-package-bin: ^1.0.1 + checksum: 81a45b0bdbb33b98c98486d77e14e3defb5177b1c43523598c9f8ee3c7020935a1b06fb376b7c05be313a1b0987c2da0c7522904d931daa7f5abf2a25e5d4a07 + languageName: node + linkType: hard + +"read-pkg-up@npm:^2.0.0": + version: 2.0.0 + resolution: "read-pkg-up@npm:2.0.0" + dependencies: + find-up: ^2.0.0 + read-pkg: ^2.0.0 + checksum: 22f9026fb72219ecd165f94f589461c70a88461dc7ea0d439a310ef2a5271ff176a4df4e5edfad087d8ac89b8553945eb209476b671e8ed081c990f30fc40b27 + languageName: node + linkType: hard + +"read-pkg@npm:^2.0.0": + version: 2.0.0 + resolution: "read-pkg@npm:2.0.0" + dependencies: + load-json-file: ^2.0.0 + normalize-package-data: ^2.3.2 + path-type: ^2.0.0 + checksum: 85c5bf35f2d96acdd756151ba83251831bb2b1040b7d96adce70b2cb119b5320417f34876de0929f2d06c67f3df33ef4636427df3533913876f9ef2487a6f48f + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.6": + version: 2.3.7 + resolution: "readable-stream@npm:2.3.7" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.3 + isarray: ~1.0.0 + process-nextick-args: ~2.0.0 + safe-buffer: ~5.1.1 + string_decoder: ~1.1.1 + util-deprecate: ~1.0.1 + checksum: e4920cf7549a60f8aaf694d483a0e61b2a878b969d224f89b3bc788b8d920075132c4b55a7494ee944c7b6a9a0eada28a7f6220d80b0312ece70bbf08eeca755 + languageName: node + linkType: hard + +"readable-stream@npm:^3.6.0": + version: 3.6.0 + resolution: "readable-stream@npm:3.6.0" + dependencies: + inherits: ^2.0.3 + string_decoder: ^1.1.1 + util-deprecate: ^1.0.1 + checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 + languageName: node + linkType: hard + +"regexpp@npm:^3.0.0, regexpp@npm:^3.1.0": + version: 3.1.0 + resolution: "regexpp@npm:3.1.0" + checksum: 63bcb2c98d63274774c79bef256e03f716d25f1fa8427267d0302d1436a83fa0d905f4e8a172fdfa99fb4d84833df2fb3bf7da2a1a868f156e913174c32b1139 + languageName: node + linkType: hard + +"regextras@npm:^0.8.0": + version: 0.8.0 + resolution: "regextras@npm:0.8.0" + checksum: b7ec5b32a2b98b4b27048d44f8ab90009873c1307f2cf89321aa8c4cbb8147f1bee07863f4dadf585546ca0b91a234ad9804954dea5fc029421f6c25a4523798 + languageName: node + linkType: hard + +"request@npm:^2.88.2": + version: 2.88.2 + resolution: "request@npm:2.88.2" + dependencies: + aws-sign2: ~0.7.0 + aws4: ^1.8.0 + caseless: ~0.12.0 + combined-stream: ~1.0.6 + extend: ~3.0.2 + forever-agent: ~0.6.1 + form-data: ~2.3.2 + har-validator: ~5.1.3 + http-signature: ~1.2.0 + is-typedarray: ~1.0.0 + isstream: ~0.1.2 + json-stringify-safe: ~5.0.1 + mime-types: ~2.1.19 + oauth-sign: ~0.9.0 + performance-now: ^2.1.0 + qs: ~6.5.2 + safe-buffer: ^5.1.2 + tough-cookie: ~2.5.0 + tunnel-agent: ^0.6.0 + uuid: ^3.3.2 + checksum: 4e112c087f6eabe7327869da2417e9d28fcd0910419edd2eb17b6acfc4bfa1dad61954525949c228705805882d8a98a86a0ea12d7f739c01ee92af7062996983 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: fb47e70bf0001fdeabdc0429d431863e9475e7e43ea5f94ad86503d918423c1543361cc5166d713eaa7029dd7a3d34775af04764bebff99ef413111a5af18c80 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b + languageName: node + linkType: hard + +"resolve-cwd@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-cwd@npm:3.0.0" + dependencies: + resolve-from: ^5.0.0 + checksum: 546e0816012d65778e580ad62b29e975a642989108d9a3c5beabfb2304192fa3c9f9146fbdfe213563c6ff51975ae41bac1d3c6e047dd9572c94863a057b4d81 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: f4ba0b8494846a5066328ad33ef8ac173801a51739eb4d63408c847da9a2e1c1de1e6cbbf72699211f3d13f8fc1325648b169bd15eb7da35688e30a5fb0e4a7f + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 4ceeb9113e1b1372d0cd969f3468fa042daa1dd9527b1b6bb88acb6ab55d8b9cd65dbf18819f9f9ddf0db804990901dcdaade80a215e7b2c23daae38e64f5bdf + languageName: node + linkType: hard + +"resolve.exports@npm:^1.1.0": + version: 1.1.0 + resolution: "resolve.exports@npm:1.1.0" + checksum: 52865af8edb088f6c7759a328584a5de6b226754f004b742523adcfe398cfbc4559515104bc2ae87b8e78b1e4de46c9baec400b3fb1f7d517b86d2d48a098a2d + languageName: node + linkType: hard + +"resolve@npm:^1.10.0, resolve@npm:^1.13.1, resolve@npm:^1.17.0": + version: 1.17.0 + resolution: "resolve@npm:1.17.0" + dependencies: + path-parse: ^1.0.6 + checksum: 9ceaf83b3429f2d7ff5d0281b8d8f18a1f05b6ca86efea7633e76b8f76547f33800799dfdd24434942dec4fbd9e651ed3aef577d9a6b5ec87ad89c1060e24759 + languageName: node + linkType: hard + +"resolve@npm:^1.10.1": + version: 1.19.0 + resolution: "resolve@npm:1.19.0" + dependencies: + is-core-module: ^2.1.0 + path-parse: ^1.0.6 + checksum: a05b356e47b85ad3613d9e2a39a824f3c27f4fcad9c9ff6c7cc71a2e314c5904a90ab37481ad0069d03cab9eaaac6eb68aca1bc3355fdb05f1045cd50e2aacea + languageName: node + linkType: hard + +"resolve@npm:^1.20.0": + version: 1.20.0 + resolution: "resolve@npm:1.20.0" + dependencies: + is-core-module: ^2.2.0 + path-parse: ^1.0.6 + checksum: 40cf70b2cde00ef57f99daf2dc63c6a56d6c14a1b7fc51735d06a6f0a3b97cb67b4fb7ef6c747b4e13a7baba83b0ef625d7c4ce92a483cd5af923c3b65fd16fe + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.13.1#~builtin, resolve@patch:resolve@^1.17.0#~builtin": + version: 1.17.0 + resolution: "resolve@patch:resolve@npm%3A1.17.0#~builtin::version=1.17.0&hash=07638b" + dependencies: + path-parse: ^1.0.6 + checksum: 6fd799f282ddf078c4bc20ce863e3af01fa8cb218f0658d9162c57161a2dbafe092b13015b9a4c58d0e1e801cf7aa7a4f13115fea9db98c3f9a0c43e429bad6f + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.10.1#~builtin": + version: 1.19.0 + resolution: "resolve@patch:resolve@npm%3A1.19.0#~builtin::version=1.19.0&hash=07638b" + dependencies: + is-core-module: ^2.1.0 + path-parse: ^1.0.6 + checksum: 2443b94d347e6946c87c85faf13071f605e609e0b54784829b0ed2b917d050bfc1cbaf4ecc6453f224cfa7d0c5dcd97cbb273454cd210bee68e4af15c1a5abc9 + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.20.0#~builtin": + version: 1.20.0 + resolution: "resolve@patch:resolve@npm%3A1.20.0#~builtin::version=1.20.0&hash=07638b" + dependencies: + is-core-module: ^2.2.0 + path-parse: ^1.0.6 + checksum: a0dd7d16a8e47af23afa9386df2dff10e3e0debb2c7299a42e581d9d9b04d7ad5d2c53f24f1e043f7b3c250cbdc71150063e53d0b6559683d37f790b7c8c3cd5 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 623bd7d2e5119467ba66202d733ec3c2e2e26568074923bc0585b6b99db14f357e79bdedb63cab56cec47491c4a0da7e6021a7465ca6dc4f481d3898fdd3158c + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: c3076ebcc22a6bc252cb0b9c77561795256c22b757f40c0d8110b1300723f15ec0fc8685e8d4ea6d7666f36c79ccc793b1939c748bf36f18f542744a4e379fcc + languageName: node + linkType: hard + +"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: ^7.1.3 + bin: + rimraf: bin.js + checksum: 87f4164e396f0171b0a3386cc1877a817f572148ee13a7e113b238e48e8a9f2f31d009a92ec38a591ff1567d9662c6b67fd8818a2dbbaed74bc26a87a2a4a9a0 + languageName: node + linkType: hard + +"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1": + version: 2.0.2 + resolution: "ripemd160@npm:2.0.2" + dependencies: + hash-base: ^3.0.0 + inherits: ^2.0.1 + checksum: 006accc40578ee2beae382757c4ce2908a826b27e2b079efdcd2959ee544ddf210b7b5d7d5e80467807604244e7388427330f5c6d4cd61e6edaddc5773ccc393 + languageName: node + linkType: hard + +"rlp@npm:^2.2.4": + version: 2.2.6 + resolution: "rlp@npm:2.2.6" + dependencies: + bn.js: ^4.11.1 + bin: + rlp: bin/rlp + checksum: 2601225df0fe7aa3b497b33a12fd9fbaf8fb1d2989ecc5c091918ed93ee77d1c3fab20ddd3891a9ca66a8ba66d993e6079be6fb31f450fcf38ba30873102ca46 + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.1.10 + resolution: "run-parallel@npm:1.1.10" + checksum: 360996d8b7abe586320a01a42093df2edf41699bbb0d493a4191ec52dda4354d0b25954e0608162d3bb304faa5f73a194f85d6d0d4c016154b2a8132f757fa98 + languageName: node + linkType: hard + +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1": + version: 5.2.0 + resolution: "safe-buffer@npm:5.2.0" + checksum: 91d50127aeaee9b8cb1ee12c810d719e29813d1ab1ce6d1b4704cd9ca0e0bfa47455e02cf1bb238be90f2db764447f058fbaef1a1018ae8387c692615d72f86c + languageName: node + linkType: hard + +"safe-buffer@npm:^5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c + languageName: node + linkType: hard + +"safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 + languageName: node + linkType: hard + +"saxes@npm:^5.0.1": + version: 5.0.1 + resolution: "saxes@npm:5.0.1" + dependencies: + xmlchars: ^2.2.0 + checksum: 5636b55cf15f7cf0baa73f2797bf992bdcf75d1b39d82c0aa4608555c774368f6ac321cb641fd5f3d3ceb87805122cd47540da6a7b5960fe0dbdb8f8c263f000 + languageName: node + linkType: hard + +"scrypt-js@npm:^3.0.0": + version: 3.0.1 + resolution: "scrypt-js@npm:3.0.1" + checksum: b7c7d1a68d6ca946f2fbb0778e0c4ec63c65501b54023b2af7d7e9f48fdb6c6580d6f7675cd53bda5944c5ebc057560d5a6365079752546865defb3b79dea454 + languageName: node + linkType: hard + +"secp256k1@npm:^4.0.1": + version: 4.0.2 + resolution: "secp256k1@npm:4.0.2" + dependencies: + elliptic: ^6.5.2 + node-addon-api: ^2.0.0 + node-gyp: latest + node-gyp-build: ^4.2.0 + checksum: 0d0d42e8033aee5aec5caaaa26d90fcaec4bf5e24dc4652552ddaa60734c2d95e90f7d95697b521fe833363c629d5ff623227961de86686c7a0ed5b5ffc1ebd0 + languageName: node + linkType: hard + +"semver@npm:2 || 3 || 4 || 5": + version: 5.7.1 + resolution: "semver@npm:5.7.1" + bin: + semver: ./bin/semver + checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf + languageName: node + linkType: hard + +"semver@npm:7.x, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.5": + version: 7.3.5 + resolution: "semver@npm:7.3.5" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 5eafe6102bea2a7439897c1856362e31cc348ccf96efd455c8b5bc2c61e6f7e7b8250dc26b8828c1d76a56f818a7ee907a36ae9fb37a599d3d24609207001d60 + languageName: node + linkType: hard + +"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.3.0": + version: 6.3.0 + resolution: "semver@npm:6.3.0" + bin: + semver: ./bin/semver.js + checksum: 1b26ecf6db9e8292dd90df4e781d91875c0dcc1b1909e70f5d12959a23c7eebb8f01ea581c00783bbee72ceeaad9505797c381756326073850dc36ed284b21b9 + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0, set-blocking@npm:~2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 + languageName: node + linkType: hard + +"setimmediate@npm:^1.0.5": + version: 1.0.5 + resolution: "setimmediate@npm:1.0.5" + checksum: c9a6f2c5b51a2dabdc0247db9c46460152ffc62ee139f3157440bd48e7c59425093f42719ac1d7931f054f153e2d26cf37dfeb8da17a794a58198a2705e527fd + languageName: node + linkType: hard + +"sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": + version: 2.4.11 + resolution: "sha.js@npm:2.4.11" + dependencies: + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + bin: + sha.js: ./bin.js + checksum: ebd3f59d4b799000699097dadb831c8e3da3eb579144fd7eb7a19484cbcbb7aca3c68ba2bb362242eb09e33217de3b4ea56e4678184c334323eca24a58e3ad07 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: ^3.0.0 + checksum: 6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222 + languageName: node + linkType: hard + +"shiki@npm:^0.10.1": + version: 0.10.1 + resolution: "shiki@npm:0.10.1" + dependencies: + jsonc-parser: ^3.0.0 + vscode-oniguruma: ^1.6.1 + vscode-textmate: 5.2.0 + checksum: fb746f3cb3de7e545e3b10a6cb658d3938f840e4ccc9a3c90ceb7e69a8f89dbb432171faac1e9f02a03f103684dad88ee5e54b5c4964fa6b579fca6e8e26424d + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.0": + version: 3.0.2 + resolution: "signal-exit@npm:3.0.2" + checksum: ccc08b9ad53644154d274ed147bb5e6cd5fd09c81bc6480a93bbe581f9030a599882907f78b305b81214ea725be7c09ed9182b58c675a148a1fe48cd50e43b2b + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.3": + version: 3.0.3 + resolution: "signal-exit@npm:3.0.3" + checksum: f0169d3f1263d06df32ca072b0bf33b34c6f8f0341a7a1621558a2444dfbe8f5fec76b35537fcc6f0bc4944bdb5336fe0bdcf41a5422c4e45a1dba3f45475e6c + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 + languageName: node + linkType: hard + +"sinon@npm:^9.2.4": + version: 9.2.4 + resolution: "sinon@npm:9.2.4" + dependencies: + "@sinonjs/commons": ^1.8.1 + "@sinonjs/fake-timers": ^6.0.1 + "@sinonjs/samsam": ^5.3.1 + diff: ^4.0.2 + nise: ^4.0.4 + supports-color: ^7.1.0 + checksum: 34b881886daa4b491bb9147ccad43d662f58b45a1b6f1e8b26a405ad77041108306fac3648646335f00f702897f0ba12282588ab64de470f48f1a7678e08dc65 + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.3": + version: 1.0.3 + resolution: "sisteransi@npm:1.0.3" + checksum: f123c898688d720f6896feb80273930e0f969e7d7ec4eac89290384256d004cc52b8866c40236dedd59c6213f1ac79fd6e0f40d496ffda76971c4ca7b52d4d2e + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 94a93fff615f25a999ad4b83c9d5e257a7280c90a32a7cb8b4a87996e4babf322e469c42b7f649fd5796edd8687652f3fb452a86dc97a816f01113183393f11c + languageName: node + linkType: hard + +"slice-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "slice-ansi@npm:4.0.0" + dependencies: + ansi-styles: ^4.0.0 + astral-regex: ^2.0.0 + is-fullwidth-code-point: ^3.0.0 + checksum: 4a82d7f085b0e1b070e004941ada3c40d3818563ac44766cca4ceadd2080427d337554f9f99a13aaeb3b4a94d9964d9466c807b3d7b7541d1ec37ee32d308756 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: b5167a7142c1da704c0e3af85c402002b597081dd9575031a90b4f229ca5678e9a36e8a374f1814c8156a725d17008ae3bde63b92f9cfd132526379e580bec8b + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^6.1.1": + version: 6.2.0 + resolution: "socks-proxy-agent@npm:6.2.0" + dependencies: + agent-base: ^6.0.2 + debug: ^4.3.3 + socks: ^2.6.2 + checksum: 6723fd64fb50334e2b340fd0a80fd8488ffc5bc43d85b7cf1d25612044f814dd7d6ea417fd47602159941236f7f4bd15669fa5d7e1f852598a31288e1a43967b + languageName: node + linkType: hard + +"socks@npm:^2.6.2": + version: 2.6.2 + resolution: "socks@npm:2.6.2" + dependencies: + ip: ^1.1.5 + smart-buffer: ^4.2.0 + checksum: dd9194293059d737759d5c69273850ad4149f448426249325c4bea0e340d1cf3d266c3b022694b0dcf5d31f759de23657244c481fc1e8322add80b7985c36b5e + languageName: node + linkType: hard + +"sort-object-keys@npm:^1.1.3": + version: 1.1.3 + resolution: "sort-object-keys@npm:1.1.3" + checksum: abea944d6722a1710a1aa6e4f9509da085d93d5fc0db23947cb411eedc7731f80022ce8fa68ed83a53dd2ac7441fcf72a3f38c09b3d9bbc4ff80546aa2e151ad + languageName: node + linkType: hard + +"sort-package-json@npm:1.55.0": + version: 1.55.0 + resolution: "sort-package-json@npm:1.55.0" + dependencies: + detect-indent: ^6.0.0 + detect-newline: 3.1.0 + git-hooks-list: 1.0.3 + globby: 10.0.0 + is-plain-obj: 2.1.0 + sort-object-keys: ^1.1.3 + bin: + sort-package-json: cli.js + checksum: 221709f89a045143193839a06e7d7d307b60d62074ff2685a81cf78cb1cc2c47a36d3fda19202b1edf49c241da0ef14e64c5574a87c6f5dd87f1ff88251ce312 + languageName: node + linkType: hard + +"source-map-support@npm:0.5.13": + version: 0.5.13 + resolution: "source-map-support@npm:0.5.13" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: 933550047b6c1a2328599a21d8b7666507427c0f5ef5eaadd56b5da0fd9505e239053c66fe181bf1df469a3b7af9d775778eee283cbb7ae16b902ddc09e93a97 + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 + languageName: node + linkType: hard + +"spdx-correct@npm:^3.0.0": + version: 3.1.1 + resolution: "spdx-correct@npm:3.1.1" + dependencies: + spdx-expression-parse: ^3.0.0 + spdx-license-ids: ^3.0.0 + checksum: 77ce438344a34f9930feffa61be0eddcda5b55fc592906ef75621d4b52c07400a97084d8701557b13f7d2aae0cb64f808431f469e566ef3fe0a3a131dcb775a6 + languageName: node + linkType: hard + +"spdx-exceptions@npm:^2.1.0": + version: 2.3.0 + resolution: "spdx-exceptions@npm:2.3.0" + checksum: cb69a26fa3b46305637123cd37c85f75610e8c477b6476fa7354eb67c08128d159f1d36715f19be6f9daf4b680337deb8c65acdcae7f2608ba51931540687ac0 + languageName: node + linkType: hard + +"spdx-expression-parse@npm:^3.0.0, spdx-expression-parse@npm:^3.0.1": + version: 3.0.1 + resolution: "spdx-expression-parse@npm:3.0.1" + dependencies: + spdx-exceptions: ^2.1.0 + spdx-license-ids: ^3.0.0 + checksum: a1c6e104a2cbada7a593eaa9f430bd5e148ef5290d4c0409899855ce8b1c39652bcc88a725259491a82601159d6dc790bedefc9016c7472f7de8de7361f8ccde + languageName: node + linkType: hard + +"spdx-license-ids@npm:^3.0.0": + version: 3.0.5 + resolution: "spdx-license-ids@npm:3.0.5" + checksum: b1ceea3f87407ec375d1de90f6fc7610d6c845ff5f8db21d4d752b3d4e121df563c78113df7c564daff4e8778ad54b9a9024a7e9ea3779f13a43dd0e9128c08e + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 19d79aec211f09b99ec3099b5b2ae2f6e9cdefe50bc91ac4c69144b6d3928a640bb6ae5b3def70c2e85a2c3d9f5ec2719921e3a59d3ca3ef4b2fd1a4656a0df3 + languageName: node + linkType: hard + +"sshpk@npm:^1.7.0": + version: 1.16.1 + resolution: "sshpk@npm:1.16.1" + dependencies: + asn1: ~0.2.3 + assert-plus: ^1.0.0 + bcrypt-pbkdf: ^1.0.0 + dashdash: ^1.12.0 + ecc-jsbn: ~0.1.1 + getpass: ^0.1.1 + jsbn: ~0.1.0 + safer-buffer: ^2.0.2 + tweetnacl: ~0.14.0 + bin: + sshpk-conv: bin/sshpk-conv + sshpk-sign: bin/sshpk-sign + sshpk-verify: bin/sshpk-verify + checksum: 5e76afd1cedc780256f688b7c09327a8a650902d18e284dfeac97489a735299b03c3e72c6e8d22af03dbbe4d6f123fdfd5f3c4ed6bedbec72b9529a55051b857 + languageName: node + linkType: hard + +"ssri@npm:^9.0.0": + version: 9.0.0 + resolution: "ssri@npm:9.0.0" + dependencies: + minipass: ^3.1.1 + checksum: bf33174232d07cc64e77ab1c51b55d28352273380c503d35642a19627e88a2c5f160039bb0a28608a353485075dda084dbf0390c7070f9f284559eb71d01b84b + languageName: node + linkType: hard + +"stack-utils@npm:^2.0.3": + version: 2.0.5 + resolution: "stack-utils@npm:2.0.5" + dependencies: + escape-string-regexp: ^2.0.0 + checksum: 76b69da0f5b48a34a0f93c98ee2a96544d2c4ca2557f7eef5ddb961d3bdc33870b46f498a84a7c4f4ffb781df639840e7ebf6639164ed4da5e1aeb659615b9c7 + languageName: node + linkType: hard + +"string-length@npm:^4.0.1": + version: 4.0.1 + resolution: "string-length@npm:4.0.1" + dependencies: + char-regex: ^1.0.2 + strip-ansi: ^6.0.0 + checksum: 7bd3191668ddafa6f574a8b17a1bd1b085737d64ceefa51f72cdd19c45a730422cd70d984eee7584d6e5b5c84b6318633c6d6a720a4bfd7c58769985fa77573e + languageName: node + linkType: hard + +"string-width@npm:^1.0.1": + version: 1.0.2 + resolution: "string-width@npm:1.0.2" + dependencies: + code-point-at: ^1.0.0 + is-fullwidth-code-point: ^1.0.0 + strip-ansi: ^3.0.0 + checksum: 5c79439e95bc3bd7233a332c5f5926ab2ee90b23816ed4faa380ce3b2576d7800b0a5bb15ae88ed28737acc7ea06a518c2eef39142dd727adad0e45c776cd37e + languageName: node + linkType: hard + +"string-width@npm:^1.0.2 || 2": + version: 2.1.1 + resolution: "string-width@npm:2.1.1" + dependencies: + is-fullwidth-code-point: ^2.0.0 + strip-ansi: ^4.0.0 + checksum: d6173abe088c615c8dffaf3861dc5d5906ed3dc2d6fd67ff2bd2e2b5dce7fd683c5240699cf0b1b8aa679a3b3bd6b28b5053c824cb89b813d7f6541d8f89064a + languageName: node + linkType: hard + +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: ^8.0.0 + is-fullwidth-code-point: ^3.0.0 + strip-ansi: ^6.0.1 + checksum: e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb + languageName: node + linkType: hard + +"string-width@npm:^4.1.0, string-width@npm:^4.2.0": + version: 4.2.0 + resolution: "string-width@npm:4.2.0" + dependencies: + emoji-regex: ^8.0.0 + is-fullwidth-code-point: ^3.0.0 + strip-ansi: ^6.0.0 + checksum: ee2c68df9a3ce4256565d2bdc8490f5706f195f88e799d3d425889264d3eff3d7984fe8b38dfc983dac948e03d8cdc737294b1c81f1528c37c9935d86b67593d + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.1": + version: 1.0.1 + resolution: "string.prototype.trimend@npm:1.0.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.5 + checksum: e4e2c21f0145a6fa8c111b1bee6075d509a40702611329bcebd7ffc5cc13562cfa99636faeacccbea306d01c023dc763ce0cf38cf5d7b654705b74847b0f0e57 + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.1": + version: 1.0.1 + resolution: "string.prototype.trimstart@npm:1.0.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.5 + checksum: 0fe3cad8d597a418b058b6ec2d5c48b73172c71cb60089a0a38373eb3c2d501c4d9a00bbfad90e581c2ecf136f10f85a9dc664390e059b805dae9e4707465e0f + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: ~5.2.0 + checksum: 8417646695a66e73aefc4420eb3b84cc9ffd89572861fe004e6aeb13c7bc00e2f616247505d2dbbef24247c372f70268f594af7126f43548565c68c117bdeb56 + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: ~5.1.0 + checksum: 9ab7e56f9d60a28f2be697419917c50cac19f3e8e6c28ef26ed5f4852289fe0de5d6997d29becf59028556f2c62983790c1d9ba1e2a3cc401768ca12d5183a5b + languageName: node + linkType: hard + +"strip-ansi@npm:^3.0.0, strip-ansi@npm:^3.0.1": + version: 3.0.1 + resolution: "strip-ansi@npm:3.0.1" + dependencies: + ansi-regex: ^2.0.0 + checksum: 9b974de611ce5075c70629c00fa98c46144043db92ae17748fb780f706f7a789e9989fd10597b7c2053ae8d1513fd707816a91f1879b2f71e6ac0b6a863db465 + languageName: node + linkType: hard + +"strip-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-ansi@npm:4.0.0" + dependencies: + ansi-regex: ^3.0.0 + checksum: d9186e6c0cf78f25274f6750ee5e4a5725fb91b70fdd79aa5fe648eab092a0ec5b9621b22d69d4534a56319f75d8944efbd84e3afa8d4ad1b9a9491f12c84eca + languageName: node + linkType: hard + +"strip-ansi@npm:^6.0.0": + version: 6.0.0 + resolution: "strip-ansi@npm:6.0.0" + dependencies: + ansi-regex: ^5.0.0 + checksum: 04c3239ede44c4d195b0e66c0ad58b932f08bec7d05290416d361ff908ad282ecdaf5d9731e322c84f151d427436bde01f05b7422c3ec26dd927586736b0e5d0 + languageName: node + linkType: hard + +"strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: ^5.0.1 + checksum: f3cd25890aef3ba6e1a74e20896c21a46f482e93df4a06567cebf2b57edabb15133f1f94e57434e0a958d61186087b1008e89c94875d019910a213181a14fc8c + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 8d50ff27b7ebe5ecc78f1fe1e00fcdff7af014e73cf724b46fb81ef889eeb1015fc5184b64e81a2efe002180f3ba431bdd77e300da5c6685d702780fbf0c8d5b + languageName: node + linkType: hard + +"strip-bom@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-bom@npm:4.0.0" + checksum: 9dbcfbaf503c57c06af15fe2c8176fb1bf3af5ff65003851a102749f875a6dbe0ab3b30115eccf6e805e9d756830d3e40ec508b62b3f1ddf3761a20ebe29d3f3 + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 69412b5e25731e1938184b5d489c32e340605bb611d6140344abc3421b7f3c6f9984b21dff296dfcf056681b82caa3bb4cc996a965ce37bcfad663e92eae9c64 + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: ^3.0.0 + checksum: 95f6f4ba5afdf92f495b5a912d4abee8dcba766ae719b975c56c084f5004845f6f5a5f7769f52d53f40e21952a6d87411bafe34af4a01e65f9926002e38e1dac + languageName: node + linkType: hard + +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": + version: 7.1.0 + resolution: "supports-color@npm:7.1.0" + dependencies: + has-flag: ^4.0.0 + checksum: 899480ac858a650abcca4a02ae655555270e6ace833b15a74e4a2d3456f54cd19b6b12ce14e9bac997c18dd69a0596ee65b95ba013f209dd0f99ebfe87783e41 + languageName: node + linkType: hard + +"supports-color@npm:^8.0.0": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: ^4.0.0 + checksum: c052193a7e43c6cdc741eb7f378df605636e01ad434badf7324f17fb60c69a880d8d8fcdcb562cf94c2350e57b937d7425ab5b8326c67c2adc48f7c87c1db406 + languageName: node + linkType: hard + +"supports-hyperlinks@npm:^2.0.0": + version: 2.1.0 + resolution: "supports-hyperlinks@npm:2.1.0" + dependencies: + has-flag: ^4.0.0 + supports-color: ^7.0.0 + checksum: e4f430c870a258c9854b8bd7f166a9c1e76e3b851da84d4399d6a8f1d4a485e4ec36c16455dde80acf06c86e7c0a6df76ed22b6a4644a6ae3eced8616b3f21b5 + languageName: node + linkType: hard + +"symbol-tree@npm:^3.2.4": + version: 3.2.4 + resolution: "symbol-tree@npm:3.2.4" + checksum: 6e8fc7e1486b8b54bea91199d9535bb72f10842e40c79e882fc94fb7b14b89866adf2fd79efa5ebb5b658bc07fb459ccce5ac0e99ef3d72f474e74aaf284029d + languageName: node + linkType: hard + +"table@npm:^6.0.4": + version: 6.0.7 + resolution: "table@npm:6.0.7" + dependencies: + ajv: ^7.0.2 + lodash: ^4.17.20 + slice-ansi: ^4.0.0 + string-width: ^4.2.0 + checksum: 5a981ff05b5a404bcddf1aae40b26951aaf4e77ce22348d2e9c86a681c32ff6ae4ac4da7e6496780a3b2feb7fb8b302c1dfb6c88e025bff913a2d380b24f847d + languageName: node + linkType: hard + +"tar@npm:^6.0.2, tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.1.11 + resolution: "tar@npm:6.1.11" + dependencies: + chownr: ^2.0.0 + fs-minipass: ^2.0.0 + minipass: ^3.0.0 + minizlib: ^2.1.1 + mkdirp: ^1.0.3 + yallist: ^4.0.0 + checksum: a04c07bb9e2d8f46776517d4618f2406fb977a74d914ad98b264fc3db0fe8224da5bec11e5f8902c5b9bcb8ace22d95fbe3c7b36b8593b7dfc8391a25898f32f + languageName: node + linkType: hard + +"terminal-link@npm:^2.0.0": + version: 2.1.1 + resolution: "terminal-link@npm:2.1.1" + dependencies: + ansi-escapes: ^4.2.1 + supports-hyperlinks: ^2.0.0 + checksum: ce3d2cd3a438c4a9453947aa664581519173ea40e77e2534d08c088ee6dda449eabdbe0a76d2a516b8b73c33262fedd10d5270ccf7576ae316e3db170ce6562f + languageName: node + linkType: hard + +"test-exclude@npm:^6.0.0": + version: 6.0.0 + resolution: "test-exclude@npm:6.0.0" + dependencies: + "@istanbuljs/schema": ^0.1.2 + glob: ^7.1.4 + minimatch: ^3.0.4 + checksum: 3b34a3d77165a2cb82b34014b3aba93b1c4637a5011807557dc2f3da826c59975a5ccad765721c4648b39817e3472789f9b0fa98fc854c5c1c7a1e632aacdc28 + languageName: node + linkType: hard + +"text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: b6937a38c80c7f84d9c11dd75e49d5c44f71d95e810a3250bd1f1797fc7117c57698204adf676b71497acc205d769d65c16ae8fa10afad832ae1322630aef10a + languageName: node + linkType: hard + +"throat@npm:^6.0.1": + version: 6.0.1 + resolution: "throat@npm:6.0.1" + checksum: 782d4171ee4e3cf947483ed2ff1af3e17cc4354c693b9d339284f61f99fbc401d171e0b0d2db3295bb7d447630333e9319c174ebd7ef315c6fb791db9675369c + languageName: node + linkType: hard + +"tmpl@npm:1.0.x": + version: 1.0.5 + resolution: "tmpl@npm:1.0.5" + checksum: cd922d9b853c00fe414c5a774817be65b058d54a2d01ebb415840960406c669a0fc632f66df885e24cb022ec812739199ccbdb8d1164c3e513f85bfca5ab2873 + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: be2de62fe58ead94e3e592680052683b1ec986c72d589e7b21e5697f8744cdbf48c266fa72f6c15932894c10187b5f54573a3bcf7da0bfd964d5caf23d436168 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: ^7.0.0 + checksum: f76fa01b3d5be85db6a2a143e24df9f60dd047d151062d0ba3df62953f2f697b16fe5dad9b0ac6191c7efc7b1d9dcaa4b768174b7b29da89d4428e64bc0a20ed + languageName: node + linkType: hard + +"tough-cookie@npm:^4.0.0": + version: 4.0.0 + resolution: "tough-cookie@npm:4.0.0" + dependencies: + psl: ^1.1.33 + punycode: ^2.1.1 + universalify: ^0.1.2 + checksum: 0891b37eb7d17faa3479d47f0dce2e3007f2583094ad272f2670d120fbcc3df3b0b0a631ba96ecad49f9e2297d93ff8995ce0d3292d08dd7eabe162f5b224d69 + languageName: node + linkType: hard + +"tough-cookie@npm:~2.5.0": + version: 2.5.0 + resolution: "tough-cookie@npm:2.5.0" + dependencies: + psl: ^1.1.28 + punycode: ^2.1.1 + checksum: 16a8cd090224dd176eee23837cbe7573ca0fa297d7e468ab5e1c02d49a4e9a97bb05fef11320605eac516f91d54c57838a25864e8680e27b069a5231d8264977 + languageName: node + linkType: hard + +"tr46@npm:^3.0.0": + version: 3.0.0 + resolution: "tr46@npm:3.0.0" + dependencies: + punycode: ^2.1.1 + checksum: 44c3cc6767fb800490e6e9fd64fd49041aa4e49e1f6a012b34a75de739cc9ed3a6405296072c1df8b6389ae139c5e7c6496f659cfe13a04a4bff3a1422981270 + languageName: node + linkType: hard + +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 726321c5eaf41b5002e17ffbd1fb7245999a073e8979085dacd47c4b4e8068ff5777142fc6726d6ca1fd2ff16921b48788b87225cbc57c72636f6efa8efbffe3 + languageName: node + linkType: hard + +"ts-deepmerge@npm:^2.0.1": + version: 2.0.1 + resolution: "ts-deepmerge@npm:2.0.1" + checksum: 1d41981364192b521ce375740646ac2e00d7e3815c066624159309d3a2e43100449bc05c56d51938a1e5be444b0ca88ad9ce599fc489719805b9a2e9d4153194 + languageName: node + linkType: hard + +"ts-jest@npm:^28.0.2": + version: 28.0.2 + resolution: "ts-jest@npm:28.0.2" + dependencies: + bs-logger: 0.x + fast-json-stable-stringify: 2.x + jest-util: ^28.0.0 + json5: 2.x + lodash.memoize: 4.x + make-error: 1.x + semver: 7.x + yargs-parser: ^20.x + peerDependencies: + "@babel/core": ">=7.0.0-beta.0 <8" + "@types/jest": ^27.0.0 + babel-jest: ^28.0.0 + jest: ^28.0.0 + typescript: ">=4.3" + peerDependenciesMeta: + "@babel/core": + optional: true + "@types/jest": + optional: true + babel-jest: + optional: true + esbuild: + optional: true + bin: + ts-jest: cli.js + checksum: bb244015f947cf9a77c892691a8131116a86f4f1cc7a1ff045cd72f78c16485c07ac582b31117f8d722a0ebb9d51c27468c28e2f8eec8bbae6e2a09ee41066f2 + languageName: node + linkType: hard + +"ts-node@npm:^10.7.0": + version: 10.7.0 + resolution: "ts-node@npm:10.7.0" + dependencies: + "@cspotcode/source-map-support": 0.7.0 + "@tsconfig/node10": ^1.0.7 + "@tsconfig/node12": ^1.0.7 + "@tsconfig/node14": ^1.0.0 + "@tsconfig/node16": ^1.0.2 + acorn: ^8.4.1 + acorn-walk: ^8.1.1 + arg: ^4.1.0 + create-require: ^1.1.0 + diff: ^4.0.1 + make-error: ^1.1.1 + v8-compile-cache-lib: ^3.0.0 + yn: 3.1.1 + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + bin: + ts-node: dist/bin.js + ts-node-cwd: dist/bin-cwd.js + ts-node-esm: dist/bin-esm.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 2a379e43f7478d0b79e1e63af91fe222d83857727957df4bd3bdf3c0a884de5097b12feb9bbf530074526b8874c0338b0e6328cf334f3a5e2c49c71e837273f7 + languageName: node + linkType: hard + +"tsconfig-paths@npm:^3.9.0": + version: 3.9.0 + resolution: "tsconfig-paths@npm:3.9.0" + dependencies: + "@types/json5": ^0.0.29 + json5: ^1.0.1 + minimist: ^1.2.0 + strip-bom: ^3.0.0 + checksum: 243b3b098c76a4ca90ea0431683f3755a4ff175c6123bcba5f7b4bd80fe2ef8fa9bdc8f4d525148a1e71ade7f3e037e7c0313ae177fd12398ab68f05c2c7f25d + languageName: node + linkType: hard + +"tslib@npm:^1.8.1": + version: 1.10.0 + resolution: "tslib@npm:1.10.0" + checksum: 1d0450dc6f64b918b14acaf3b956ebe1c72d7401c632adce932a60e3cd8d2a70f6040ceef6a7c3561146c3f29bcf584c41c2e09a5d20a27d6c3057f0d5f2a836 + languageName: node + linkType: hard + +"tsutils@npm:^3.17.1": + version: 3.17.1 + resolution: "tsutils@npm:3.17.1" + dependencies: + tslib: ^1.8.1 + peerDependencies: + typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + checksum: 0dd8c29b2f554d71179dfdd7c3a55b973c0d21ba2b28868ca2acc0bda7469e2ae94f7f454c0f342934b3a653ed4424bfa9c12fa84dac0e126408d6fcd9271510 + languageName: node + linkType: hard + +"tsutils@npm:^3.21.0": + version: 3.21.0 + resolution: "tsutils@npm:3.21.0" + dependencies: + tslib: ^1.8.1 + peerDependencies: + typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + checksum: 1843f4c1b2e0f975e08c4c21caa4af4f7f65a12ac1b81b3b8489366826259323feb3fc7a243123453d2d1a02314205a7634e048d4a8009921da19f99755cdc48 + languageName: node + linkType: hard + +"tunnel-agent@npm:^0.6.0": + version: 0.6.0 + resolution: "tunnel-agent@npm:0.6.0" + dependencies: + safe-buffer: ^5.0.1 + checksum: 05f6510358f8afc62a057b8b692f05d70c1782b70db86d6a1e0d5e28a32389e52fa6e7707b6c5ecccacc031462e4bc35af85ecfe4bbc341767917b7cf6965711 + languageName: node + linkType: hard + +"tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": + version: 0.14.5 + resolution: "tweetnacl@npm:0.14.5" + checksum: 6061daba1724f59473d99a7bb82e13f211cdf6e31315510ae9656fefd4779851cb927adad90f3b488c8ed77c106adc0421ea8055f6f976ff21b27c5c4e918487 + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: ^1.2.1 + checksum: ec688ebfc9c45d0c30412e41ca9c0cdbd704580eb3a9ccf07b9b576094d7b86a012baebc95681999dd38f4f444afd28504cb3a89f2ef16b31d4ab61a0739025a + languageName: node + linkType: hard + +"type-check@npm:~0.3.2": + version: 0.3.2 + resolution: "type-check@npm:0.3.2" + dependencies: + prelude-ls: ~1.1.2 + checksum: dd3b1495642731bc0e1fc40abe5e977e0263005551ac83342ecb6f4f89551d106b368ec32ad3fb2da19b3bd7b2d1f64330da2ea9176d8ddbfe389fb286eb5124 + languageName: node + linkType: hard + +"type-detect@npm:4.0.8, type-detect@npm:^4.0.8": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 + languageName: node + linkType: hard + +"type-fest@npm:^0.11.0": + version: 0.11.0 + resolution: "type-fest@npm:0.11.0" + checksum: 8e7589e1eb5ced6c8e1d3051553b59b9f525c41e58baa898229915781c7bf55db8cb2f74e56d8031f6af5af2eecc7cb8da9ca3af7e5b80b49d8ca5a81891f3f9 + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 4fb3272df21ad1c552486f8a2f8e115c09a521ad7a8db3d56d53718d0c907b62c6e9141ba5f584af3f6830d0872c521357e512381f24f7c44acae583ad517d73 + languageName: node + linkType: hard + +"type-fest@npm:^0.8.1": + version: 0.8.1 + resolution: "type-fest@npm:0.8.1" + checksum: d61c4b2eba24009033ae4500d7d818a94fd6d1b481a8111612ee141400d5f1db46f199c014766b9fa9b31a6a7374d96fc748c6d688a78a3ce5a33123839becb7 + languageName: node + linkType: hard + +"typedoc-plugin-missing-exports@npm:^0.22.6": + version: 0.22.6 + resolution: "typedoc-plugin-missing-exports@npm:0.22.6" + peerDependencies: + typedoc: 0.22.x + checksum: 012f44beaac05731b4d37c26bfba2d972ac48344eab6be793a95982712a207416e7dc3451279be4e4cebc8b6b99a16764d2d4aaa06e041fac60ce21cc22cf796 + languageName: node + linkType: hard + +"typedoc@npm:^0.22.15": + version: 0.22.15 + resolution: "typedoc@npm:0.22.15" + dependencies: + glob: ^7.2.0 + lunr: ^2.3.9 + marked: ^4.0.12 + minimatch: ^5.0.1 + shiki: ^0.10.1 + peerDependencies: + typescript: 4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x || 4.5.x || 4.6.x + bin: + typedoc: bin/typedoc + checksum: 3f5f1cb9288bf811f42df59750c7062a026a23257b38dfe227515a30007a28e3d8139187949fcd19300fd6b2ef76bcdc4cf54549100bff3e000e61bb19958fb2 + languageName: node + linkType: hard + +"typescript@npm:~4.6.3": + version: 4.6.3 + resolution: "typescript@npm:4.6.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 255bb26c8cb846ca689dd1c3a56587af4f69055907aa2c154796ea28ee0dea871535b1c78f85a6212c77f2657843a269c3a742d09d81495b97b914bf7920415b + languageName: node + linkType: hard + +"typescript@patch:typescript@~4.6.3#~builtin": + version: 4.6.3 + resolution: "typescript@patch:typescript@npm%3A4.6.3#~builtin::version=4.6.3&hash=7ad353" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 6bf45caf847062420592e711bc9c28bf5f9a9a7fa8245343b81493e4ededae33f1774009d1234d911422d1646a2c839f44e1a23ecb111b40a60ac2ea4c1482a8 + languageName: node + linkType: hard + +"unique-filename@npm:^1.1.1": + version: 1.1.1 + resolution: "unique-filename@npm:1.1.1" + dependencies: + unique-slug: ^2.0.0 + checksum: cf4998c9228cc7647ba7814e255dec51be43673903897b1786eff2ac2d670f54d4d733357eb08dea969aa5e6875d0e1bd391d668fbdb5a179744e7c7551a6f80 + languageName: node + linkType: hard + +"unique-slug@npm:^2.0.0": + version: 2.0.2 + resolution: "unique-slug@npm:2.0.2" + dependencies: + imurmurhash: ^0.1.4 + checksum: 5b6876a645da08d505dedb970d1571f6cebdf87044cb6b740c8dbb24f0d6e1dc8bdbf46825fd09f994d7cf50760e6f6e063cfa197d51c5902c00a861702eb75a + languageName: node + linkType: hard + +"universalify@npm:^0.1.2": + version: 0.1.2 + resolution: "universalify@npm:0.1.2" + checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: ^2.1.0 + checksum: 7167432de6817fe8e9e0c9684f1d2de2bb688c94388f7569f7dbdb1587c9f4ca2a77962f134ec90be0cc4d004c939ff0d05acc9f34a0db39a3c797dada262633 + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 + languageName: node + linkType: hard + +"uuid@npm:^3.3.2": + version: 3.3.3 + resolution: "uuid@npm:3.3.3" + bin: + uuid: ./bin/uuid + checksum: 21133d0e8a85e607f59a66913bf4f1dd79bdc4a80979a872b913f7ec75f530255edfe8bc6b69ce32017b8367f0d60a8b24ccd2af99156dc1ef2b8b9fe0ec8065 + languageName: node + linkType: hard + +"v8-compile-cache-lib@npm:^3.0.0": + version: 3.0.1 + resolution: "v8-compile-cache-lib@npm:3.0.1" + checksum: 78089ad549e21bcdbfca10c08850022b22024cdcc2da9b168bcf5a73a6ed7bf01a9cebb9eac28e03cd23a684d81e0502797e88f3ccd27a32aeab1cfc44c39da0 + languageName: node + linkType: hard + +"v8-compile-cache@npm:^2.0.3": + version: 2.1.1 + resolution: "v8-compile-cache@npm:2.1.1" + checksum: 692f6bc698df9167cb71e5ba1232e90ab06f9da0de6723e7be33c507d1b094472d791affd94c6b1121a3259855b7438e6cb5d3b40a84fead9b74ede985a201ca + languageName: node + linkType: hard + +"v8-to-istanbul@npm:^9.0.0": + version: 9.0.0 + resolution: "v8-to-istanbul@npm:9.0.0" + dependencies: + "@jridgewell/trace-mapping": ^0.3.7 + "@types/istanbul-lib-coverage": ^2.0.1 + convert-source-map: ^1.6.0 + checksum: d8ed2c39ba657dfd851a3c7b3f2b87e5b96c9face806ecfe5b627abe53b0c86f264f51425c591e451405b739e3f8a6728da59670f081790990710e813d8d3440 + languageName: node + linkType: hard + +"validate-npm-package-license@npm:^3.0.1": + version: 3.0.4 + resolution: "validate-npm-package-license@npm:3.0.4" + dependencies: + spdx-correct: ^3.0.0 + spdx-expression-parse: ^3.0.0 + checksum: 35703ac889d419cf2aceef63daeadbe4e77227c39ab6287eeb6c1b36a746b364f50ba22e88591f5d017bc54685d8137bc2d328d0a896e4d3fd22093c0f32a9ad + languageName: node + linkType: hard + +"verror@npm:1.10.0": + version: 1.10.0 + resolution: "verror@npm:1.10.0" + dependencies: + assert-plus: ^1.0.0 + core-util-is: 1.0.2 + extsprintf: ^1.2.0 + checksum: c431df0bedf2088b227a4e051e0ff4ca54df2c114096b0c01e1cbaadb021c30a04d7dd5b41ab277bcd51246ca135bf931d4c4c796ecae7a4fef6d744ecef36ea + languageName: node + linkType: hard + +"vscode-oniguruma@npm:^1.6.1": + version: 1.6.2 + resolution: "vscode-oniguruma@npm:1.6.2" + checksum: 6b754acdafd5b68242ea5938bb00a32effc16c77f471d4f0f337d879d0e8e592622998e2441f42d9a7ff799c1593f31c11f26ca8d9bf9917e3ca881d3c1f3e19 + languageName: node + linkType: hard + +"vscode-textmate@npm:5.2.0": + version: 5.2.0 + resolution: "vscode-textmate@npm:5.2.0" + checksum: 5449b42d451080f6f3649b66948f4b5ee4643c4e88cfe3558a3b31c84c78060cfdd288c4958c1690eaa5cd65d09992fa6b7c3bef9d4aa72b3651054a04624d20 + languageName: node + linkType: hard + +"w3c-hr-time@npm:^1.0.2": + version: 1.0.2 + resolution: "w3c-hr-time@npm:1.0.2" + dependencies: + browser-process-hrtime: ^1.0.0 + checksum: ec3c2dacbf8050d917bbf89537a101a08c2e333b4c19155f7d3bedde43529d4339db6b3d049d9610789cb915f9515f8be037e0c54c079e9d4735c50b37ed52b9 + languageName: node + linkType: hard + +"w3c-xmlserializer@npm:^3.0.0": + version: 3.0.0 + resolution: "w3c-xmlserializer@npm:3.0.0" + dependencies: + xml-name-validator: ^4.0.0 + checksum: 0af8589942eeb11c9fe29eb31a1a09f3d5dd136aea53a9848dfbabff79ac0dd26fe13eb54d330d5555fe27bb50b28dca0715e09f9cc2bfa7670ccc8b7f919ca2 + languageName: node + linkType: hard + +"walker@npm:^1.0.7": + version: 1.0.7 + resolution: "walker@npm:1.0.7" + dependencies: + makeerror: 1.0.x + checksum: 4038fcf92f6ab0288267ad05008aec9e089a759f1bd32e1ea45cc2eb498eb12095ec43cf8ca2bf23a465f4580a0d33b25b89f450ba521dd27083cbc695ee6bf5 + languageName: node + linkType: hard + +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: c92a0a6ab95314bde9c32e1d0a6dfac83b578f8fa5f21e675bc2706ed6981bc26b7eb7e6a1fab158e5ce4adf9caa4a0aee49a52505d4d13c7be545f15021b17c + languageName: node + linkType: hard + +"webidl-conversions@npm:^7.0.0": + version: 7.0.0 + resolution: "webidl-conversions@npm:7.0.0" + checksum: f05588567a2a76428515333eff87200fae6c83c3948a7482ebb109562971e77ef6dc49749afa58abb993391227c5697b3ecca52018793e0cb4620a48f10bd21b + languageName: node + linkType: hard + +"whatwg-encoding@npm:^2.0.0": + version: 2.0.0 + resolution: "whatwg-encoding@npm:2.0.0" + dependencies: + iconv-lite: 0.6.3 + checksum: 7087810c410aa9b689cbd6af8773341a53cdc1f3aae2a882c163bd5522ec8ca4cdfc269aef417a5792f411807d5d77d50df4c24e3abb00bb60192858a40cc675 + languageName: node + linkType: hard + +"whatwg-fetch@npm:^3.4.1": + version: 3.6.2 + resolution: "whatwg-fetch@npm:3.6.2" + checksum: ee976b7249e7791edb0d0a62cd806b29006ad7ec3a3d89145921ad8c00a3a67e4be8f3fb3ec6bc7b58498724fd568d11aeeeea1f7827e7e1e5eae6c8a275afed + languageName: node + linkType: hard + +"whatwg-mimetype@npm:^3.0.0": + version: 3.0.0 + resolution: "whatwg-mimetype@npm:3.0.0" + checksum: ce08bbb36b6aaf64f3a84da89707e3e6a31e5ab1c1a2379fd68df79ba712a4ab090904f0b50e6693b0dafc8e6343a6157e40bf18fdffd26e513cf95ee2a59824 + languageName: node + linkType: hard + +"whatwg-url@npm:^10.0.0": + version: 10.0.0 + resolution: "whatwg-url@npm:10.0.0" + dependencies: + tr46: ^3.0.0 + webidl-conversions: ^7.0.0 + checksum: a21ec309c5cc743fe9414509408bedf65eaf0fb5c17ac66baa08ef12fce16da4dd30ce90abefbd5a716408301c58a73666dabfd5042cf4242992eb98b954f861 + languageName: node + linkType: hard + +"whatwg-url@npm:^11.0.0": + version: 11.0.0 + resolution: "whatwg-url@npm:11.0.0" + dependencies: + tr46: ^3.0.0 + webidl-conversions: ^7.0.0 + checksum: ed4826aaa57e66bb3488a4b25c9cd476c46ba96052747388b5801f137dd740b73fde91ad207d96baf9f17fbcc80fc1a477ad65181b5eb5fa718d27c69501d7af + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: ~0.0.3 + webidl-conversions: ^3.0.0 + checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c + languageName: node + linkType: hard + +"which@npm:^2.0.1, which@npm:^2.0.2": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: ^2.0.0 + bin: + node-which: ./bin/node-which + checksum: 1a5c563d3c1b52d5f893c8b61afe11abc3bab4afac492e8da5bde69d550de701cf9806235f20a47b5c8fa8a1d6a9135841de2596535e998027a54589000e66d1 + languageName: node + linkType: hard + +"wide-align@npm:^1.1.0": + version: 1.1.3 + resolution: "wide-align@npm:1.1.3" + dependencies: + string-width: ^1.0.2 || 2 + checksum: d09c8012652a9e6cab3e82338d1874a4d7db2ad1bd19ab43eb744acf0b9b5632ec406bdbbbb970a8f4771a7d5ef49824d038ba70aa884e7723f5b090ab87134d + languageName: node + linkType: hard + +"wide-align@npm:^1.1.5": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" + dependencies: + string-width: ^1.0.2 || 2 || 3 || 4 + checksum: d5fc37cd561f9daee3c80e03b92ed3e84d80dde3365a8767263d03dacfc8fa06b065ffe1df00d8c2a09f731482fcacae745abfbb478d4af36d0a891fad4834d3 + languageName: node + linkType: hard + +"word-wrap@npm:^1.2.3": + version: 1.2.3 + resolution: "word-wrap@npm:1.2.3" + checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f + languageName: node + linkType: hard + +"wordwrap@npm:~1.0.0": + version: 1.0.0 + resolution: "wordwrap@npm:1.0.0" + checksum: 2a44b2788165d0a3de71fd517d4880a8e20ea3a82c080ce46e294f0b68b69a2e49cff5f99c600e275c698a90d12c5ea32aff06c311f0db2eb3f1201f3e7b2a04 + languageName: node + linkType: hard + +"wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: ^4.0.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + checksum: a790b846fd4505de962ba728a21aaeda189b8ee1c7568ca5e817d85930e06ef8d1689d49dbf0e881e8ef84436af3a88bc49115c2e2788d841ff1b8b5b51a608b + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 159da4805f7e84a3d003d8841557196034155008f817172d4e986bd591f74aa82aa7db55929a54222309e01079a65a92a9e6414da5a6aa4b01ee44a511ac3ee5 + languageName: node + linkType: hard + +"write-file-atomic@npm:^4.0.1": + version: 4.0.1 + resolution: "write-file-atomic@npm:4.0.1" + dependencies: + imurmurhash: ^0.1.4 + signal-exit: ^3.0.7 + checksum: 8f780232533ca6223c63c9b9c01c4386ca8c625ebe5017a9ed17d037aec19462ae17109e0aa155bff5966ee4ae7a27b67a99f55caf3f32ffd84155e9da3929fc + languageName: node + linkType: hard + +"ws@npm:^8.2.3": + version: 8.6.0 + resolution: "ws@npm:8.6.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: e2fca82059f1e087d0c78e2f37135e1b8332bc804fce46f83c2db1cb8571685abf9d2c99b964bab3752536ad90b99b46fb8d1428899aed3e560684ab4641bffd + languageName: node + linkType: hard + +"xml-name-validator@npm:^4.0.0": + version: 4.0.0 + resolution: "xml-name-validator@npm:4.0.0" + checksum: af100b79c29804f05fa35aa3683e29a321db9b9685d5e5febda3fa1e40f13f85abc40f45a6b2bf7bee33f68a1dc5e8eaef4cec100a304a9db565e6061d4cb5ad + languageName: node + linkType: hard + +"xmlchars@npm:^2.2.0": + version: 2.2.0 + resolution: "xmlchars@npm:2.2.0" + checksum: 8c70ac94070ccca03f47a81fcce3b271bd1f37a591bf5424e787ae313fcb9c212f5f6786e1fa82076a2c632c0141552babcd85698c437506dfa6ae2d58723062 + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 54f0fb95621ee60898a38c572c515659e51cc9d9f787fb109cef6fde4befbe1c4602dc999d30110feee37456ad0f1660fa2edcfde6a9a740f86a290999550d30 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 343617202af32df2a15a3be36a5a8c0c8545208f3d3dfbc6bb7c3e3b7e8c6f8e7485432e4f3b88da3031a6e20afa7c711eded32ddfb122896ac5d914e75848d5 + languageName: node + linkType: hard + +"yargs-parser@npm:^20.2.2": + version: 20.2.7 + resolution: "yargs-parser@npm:20.2.7" + checksum: ec0ea9e1b5699977380583f5ab1c0e2c6fc5f1ed374eb3053c458df00c543effba53628ad3297f3ccc769660518d5e376fd1cfb298b8e37077421aca8d75ae89 + languageName: node + linkType: hard + +"yargs-parser@npm:^20.x": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 + languageName: node + linkType: hard + +"yargs-parser@npm:^21.0.0": + version: 21.0.1 + resolution: "yargs-parser@npm:21.0.1" + checksum: c3ea2ed12cad0377ce3096b3f138df8267edf7b1aa7d710cd502fe16af417bafe4443dd71b28158c22fcd1be5dfd0e86319597e47badf42ff83815485887323a + languageName: node + linkType: hard + +"yargs@npm:^16.2.0": + version: 16.2.0 + resolution: "yargs@npm:16.2.0" + dependencies: + cliui: ^7.0.2 + escalade: ^3.1.1 + get-caller-file: ^2.0.5 + require-directory: ^2.1.1 + string-width: ^4.2.0 + y18n: ^5.0.5 + yargs-parser: ^20.2.2 + checksum: b14afbb51e3251a204d81937c86a7e9d4bdbf9a2bcee38226c900d00f522969ab675703bee2a6f99f8e20103f608382936034e64d921b74df82b63c07c5e8f59 + languageName: node + linkType: hard + +"yargs@npm:^17.0.1": + version: 17.0.1 + resolution: "yargs@npm:17.0.1" + dependencies: + cliui: ^7.0.2 + escalade: ^3.1.1 + get-caller-file: ^2.0.5 + require-directory: ^2.1.1 + string-width: ^4.2.0 + y18n: ^5.0.5 + yargs-parser: ^20.2.2 + checksum: 4ffffa5a82647e5d07840b64bed88c365b901d3d4a4c51745dddb10d177902d85014026d7224aae18c42df9ca3f75a41c5aff556e5342e2f8ffc5177d149cd17 + languageName: node + linkType: hard + +"yargs@npm:^17.3.1": + version: 17.5.1 + resolution: "yargs@npm:17.5.1" + dependencies: + cliui: ^7.0.2 + 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.0.0 + checksum: 00d58a2c052937fa044834313f07910fd0a115dec5ee35919e857eeee3736b21a4eafa8264535800ba8bac312991ce785ecb8a51f4d2cc8c4676d865af1cfbde + languageName: node + linkType: hard + +"yn@npm:3.1.1": + version: 3.1.1 + resolution: "yn@npm:3.1.1" + checksum: 2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6 + languageName: node + linkType: hard From d4a7428c022b407c5aba45befa748630093045ac Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Fri, 3 Jun 2022 17:16:57 -0230 Subject: [PATCH 002/115] Migrate from Yarn v1 to Yarn v3 The package manager used has been upgraded from Yarn v1 to Yarn v3. All of the steps in the migration guide [1] have been followed. Effectively everything should work the same way it did before. Closes #847 [1]: https://yarnpkg.com/getting-started/migration --- .gitattributes | 5 + .github/workflows/build-lint-test.yml | 4 +- .gitignore | 12 +- .yarn/releases/yarn-3.2.1.cjs | 786 + .yarnrc | 1 - .yarnrc.yml | 9 + README.md | 2 +- package.json | 3 +- yarn.lock | 20439 ++++++++++++++---------- 9 files changed, 12643 insertions(+), 8618 deletions(-) create mode 100755 .yarn/releases/yarn-3.2.1.cjs delete mode 100644 .yarnrc create mode 100644 .yarnrc.yml diff --git a/.gitattributes b/.gitattributes index bf5e085f4d..524151a232 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,8 @@ * text=auto yarn.lock linguist-generated=false + +# yarn v3 +# See: https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored +/.yarn/releases/** binary +/.yarn/plugins/** binary diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index ed1e72ac5a..e90d3c8742 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -20,7 +20,7 @@ jobs: with: node-version: ${{ matrix.node-version }} - name: Get Yarn cache directory - run: echo "::set-output name=YARN_CACHE_DIR::$(yarn cache dir)" + run: echo "::set-output name=YARN_CACHE_DIR::$(yarn config get cacheFolder)" id: yarn-cache-dir - name: Get Yarn version run: echo "::set-output name=YARN_VERSION::$(yarn --version)" @@ -30,7 +30,7 @@ jobs: with: path: ${{ steps.yarn-cache-dir.outputs.YARN_CACHE_DIR }} key: yarn-cache-${{ runner.os }}-${{ steps.yarn-version.outputs.YARN_VERSION }}-${{ hashFiles('yarn.lock') }} - - run: yarn --frozen-lockfile + - run: yarn --immutable - run: yarn allow-scripts - run: yarn build - run: yarn lint diff --git a/.gitignore b/.gitignore index 8c57c00a02..654ab7b4c5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,6 @@ # node npm-debug.log yarn-error.log -npm-debug.log -yarn-error.log node_modules package-lock.json @@ -16,3 +14,13 @@ package-lock.json coverage dist docs + +# yarn v3 (w/o zero-install) +# See: https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions diff --git a/.yarn/releases/yarn-3.2.1.cjs b/.yarn/releases/yarn-3.2.1.cjs new file mode 100755 index 0000000000..b3cadff6ef --- /dev/null +++ b/.yarn/releases/yarn-3.2.1.cjs @@ -0,0 +1,786 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var ofe=Object.create,Kh=Object.defineProperty,afe=Object.defineProperties,Afe=Object.getOwnPropertyDescriptor,lfe=Object.getOwnPropertyDescriptors,cfe=Object.getOwnPropertyNames,ME=Object.getOwnPropertySymbols,ufe=Object.getPrototypeOf,gQ=Object.prototype.hasOwnProperty,nM=Object.prototype.propertyIsEnumerable;var sM=(t,e,r)=>e in t?Kh(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,N=(t,e)=>{for(var r in e||(e={}))gQ.call(e,r)&&sM(t,r,e[r]);if(ME)for(var r of ME(e))nM.call(e,r)&&sM(t,r,e[r]);return t},ie=(t,e)=>afe(t,lfe(e)),gfe=t=>Kh(t,"__esModule",{value:!0});var Tr=(t,e)=>{var r={};for(var i in t)gQ.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&ME)for(var i of ME(t))e.indexOf(i)<0&&nM.call(t,i)&&(r[i]=t[i]);return r},ffe=(t,e)=>()=>(t&&(e=t(t=0)),e),w=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ft=(t,e)=>{for(var r in e)Kh(t,r,{get:e[r],enumerable:!0})},hfe=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of cfe(e))!gQ.call(t,i)&&i!=="default"&&Kh(t,i,{get:()=>e[i],enumerable:!(r=Afe(e,i))||r.enumerable});return t},ge=t=>hfe(gfe(Kh(t!=null?ofe(ufe(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var DM=w((ZXe,SM)=>{SM.exports=kM;kM.sync=Dfe;var xM=require("fs");function Rfe(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i{RM.exports=FM;FM.sync=Ffe;var NM=require("fs");function FM(t,e,r){NM.stat(t,function(i,n){r(i,i?!1:LM(n,e))})}function Ffe(t,e){return LM(NM.statSync(t),e)}function LM(t,e){return t.isFile()&&Nfe(t,e)}function Nfe(t,e){var r=t.mode,i=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=r&c||r&l&&n===o||r&a&&i===s||r&u&&s===0;return g}});var MM=w((tZe,OM)=>{var eZe=require("fs"),ZE;process.platform==="win32"||global.TESTING_WINDOWS?ZE=DM():ZE=TM();OM.exports=xQ;xQ.sync=Lfe;function xQ(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){xQ(t,e||{},function(s,o){s?n(s):i(o)})})}ZE(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function Lfe(t,e){try{return ZE.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var qM=w((rZe,KM)=>{var zu=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",UM=require("path"),Tfe=zu?";":":",HM=MM(),GM=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),jM=(t,e)=>{let r=e.colon||Tfe,i=t.match(/\//)||zu&&t.match(/\\/)?[""]:[...zu?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=zu?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=zu?n.split(r):[""];return zu&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},YM=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=jM(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(GM(t));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=UM.join(h,t),m=!h&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;u(l(m,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];HM(c+p,{pathExt:s},(m,y)=>{if(!m&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return r?a(0).then(c=>r(null,c),r):a(0)},Ofe=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=jM(t,e),s=[];for(let o=0;o{"use strict";var JM=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};PQ.exports=JM;PQ.exports.default=JM});var XM=w((nZe,zM)=>{"use strict";var _M=require("path"),Mfe=qM(),Kfe=WM();function VM(t,e){let r=t.options.env||process.env,i=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch(a){}let o;try{o=Mfe.sync(t.command,{path:r[Kfe({env:r})],pathExt:e?_M.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=_M.resolve(n?t.options.cwd:"",o)),o}function Ufe(t){return VM(t)||VM(t,!0)}zM.exports=Ufe});var ZM=w((sZe,DQ)=>{"use strict";var RQ=/([()\][%!^"`<>&|;, *?])/g;function Hfe(t){return t=t.replace(RQ,"^$1"),t}function Gfe(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(RQ,"^$1"),e&&(t=t.replace(RQ,"^$1")),t}DQ.exports.command=Hfe;DQ.exports.argument=Gfe});var eK=w((oZe,$M)=>{"use strict";$M.exports=/^#!(.*)/});var rK=w((aZe,tK)=>{"use strict";var jfe=eK();tK.exports=(t="")=>{let e=t.match(jfe);if(!e)return null;let[r,i]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var nK=w((AZe,iK)=>{"use strict";var FQ=require("fs"),Yfe=rK();function qfe(t){let e=150,r=Buffer.alloc(e),i;try{i=FQ.openSync(t,"r"),FQ.readSync(i,r,0,e,0),FQ.closeSync(i)}catch(n){}return Yfe(r.toString())}iK.exports=qfe});var AK=w((lZe,sK)=>{"use strict";var Jfe=require("path"),oK=XM(),aK=ZM(),Wfe=nK(),zfe=process.platform==="win32",_fe=/\.(?:com|exe)$/i,Vfe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Xfe(t){t.file=oK(t);let e=t.file&&Wfe(t.file);return e?(t.args.unshift(t.file),t.command=e,oK(t)):t.file}function Zfe(t){if(!zfe)return t;let e=Xfe(t),r=!_fe.test(e);if(t.options.forceShell||r){let i=Vfe.test(e);t.command=Jfe.normalize(t.command),t.command=aK.command(t.command),t.args=t.args.map(s=>aK.argument(s,i));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function $fe(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let i={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?i:Zfe(i)}sK.exports=$fe});var uK=w((cZe,lK)=>{"use strict";var NQ=process.platform==="win32";function LQ(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function ehe(t,e){if(!NQ)return;let r=t.emit;t.emit=function(i,n){if(i==="exit"){let s=cK(n,e,"spawn");if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function cK(t,e){return NQ&&t===1&&!e.file?LQ(e.original,"spawn"):null}function the(t,e){return NQ&&t===1&&!e.file?LQ(e.original,"spawnSync"):null}lK.exports={hookChildProcess:ehe,verifyENOENT:cK,verifyENOENTSync:the,notFoundError:LQ}});var MQ=w((uZe,_u)=>{"use strict";var gK=require("child_process"),TQ=AK(),OQ=uK();function fK(t,e,r){let i=TQ(t,e,r),n=gK.spawn(i.command,i.args,i.options);return OQ.hookChildProcess(n,i),n}function rhe(t,e,r){let i=TQ(t,e,r),n=gK.spawnSync(i.command,i.args,i.options);return n.error=n.error||OQ.verifyENOENTSync(n.status,i),n}_u.exports=fK;_u.exports.spawn=fK;_u.exports.sync=rhe;_u.exports._parse=TQ;_u.exports._enoent=OQ});var pK=w((gZe,hK)=>{"use strict";function ihe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function sc(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,sc)}ihe(sc,Error);sc.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ce=Ee(">>",!1),fe=">&",gt=Ee(">&",!1),Ht=">",Mt=Ee(">",!1),mi="<<<",Gt=Ee("<<<",!1),Qr="<&",Ti=Ee("<&",!1),Vs="<",Un=Ee("<",!1),Hn=function(C){return{type:"argument",segments:[].concat(...C)}},vr=function(C){return C},Gn="$'",gs=Ee("$'",!1),ya="'",kA=Ee("'",!1),Ru=function(C){return[{type:"text",text:C}]},fs='""',xA=Ee('""',!1),wa=function(){return{type:"text",text:""}},Fu='"',PA=Ee('"',!1),DA=function(C){return C},Sr=function(C){return{type:"arithmetic",arithmetic:C,quoted:!0}},jl=function(C){return{type:"shell",shell:C,quoted:!0}},Nu=function(C){return ie(N({type:"variable"},C),{quoted:!0})},So=function(C){return{type:"text",text:C}},Lu=function(C){return{type:"arithmetic",arithmetic:C,quoted:!1}},Sh=function(C){return{type:"shell",shell:C,quoted:!1}},kh=function(C){return ie(N({type:"variable"},C),{quoted:!1})},ae=function(C){return{type:"glob",pattern:C}},Oi=/^[^']/,ko=_e(["'"],!0,!1),jn=function(C){return C.join("")},Tu=/^[^$"]/,vt=_e(["$",'"'],!0,!1),Yl=`\\ +`,Yn=Ee(`\\ +`,!1),hs=function(){return""},ps="\\",pt=Ee("\\",!1),xo=/^[\\$"`]/,lt=_e(["\\","$",'"',"`"],!1,!1),mn=function(C){return C},v="\\a",Tt=Ee("\\a",!1),Ou=function(){return"a"},ql="\\b",xh=Ee("\\b",!1),Ph=function(){return"\b"},Dh=/^[Ee]/,Rh=_e(["E","e"],!1,!1),Fh=function(){return""},G="\\f",yt=Ee("\\f",!1),RA=function(){return"\f"},$i="\\n",Jl=Ee("\\n",!1),$e=function(){return` +`},Ba="\\r",Mu=Ee("\\r",!1),kE=function(){return"\r"},Nh="\\t",xE=Ee("\\t",!1),gr=function(){return" "},qn="\\v",Wl=Ee("\\v",!1),Lh=function(){return"\v"},Xs=/^[\\'"?]/,ba=_e(["\\","'",'"',"?"],!1,!1),En=function(C){return String.fromCharCode(parseInt(C,16))},Me="\\x",Ku=Ee("\\x",!1),zl="\\u",Zs=Ee("\\u",!1),_l="\\U",FA=Ee("\\U",!1),Uu=function(C){return String.fromCodePoint(parseInt(C,16))},Hu=/^[0-7]/,Qa=_e([["0","7"]],!1,!1),va=/^[0-9a-fA-f]/,it=_e([["0","9"],["a","f"],["A","f"]],!1,!1),Po=ot(),NA="-",Vl=Ee("-",!1),$s="+",Xl=Ee("+",!1),PE=".",Th=Ee(".",!1),Gu=function(C,Q,F){return{type:"number",value:(C==="-"?-1:1)*parseFloat(Q.join("")+"."+F.join(""))}},Oh=function(C,Q){return{type:"number",value:(C==="-"?-1:1)*parseInt(Q.join(""))}},DE=function(C){return N({type:"variable"},C)},Zl=function(C){return{type:"variable",name:C}},RE=function(C){return C},ju="*",LA=Ee("*",!1),Lr="/",FE=Ee("/",!1),eo=function(C,Q,F){return{type:Q==="*"?"multiplication":"division",right:F}},to=function(C,Q){return Q.reduce((F,U)=>N({left:F},U),C)},Yu=function(C,Q,F){return{type:Q==="+"?"addition":"subtraction",right:F}},TA="$((",R=Ee("$((",!1),q="))",me=Ee("))",!1),Ge=function(C){return C},Te="$(",Xe=Ee("$(",!1),Et=function(C){return C},Rt="${",Jn=Ee("${",!1),_b=":-",PO=Ee(":-",!1),DO=function(C,Q){return{name:C,defaultValue:Q}},Vb=":-}",RO=Ee(":-}",!1),FO=function(C){return{name:C,defaultValue:[]}},Xb=":+",NO=Ee(":+",!1),LO=function(C,Q){return{name:C,alternativeValue:Q}},Zb=":+}",TO=Ee(":+}",!1),OO=function(C){return{name:C,alternativeValue:[]}},$b=function(C){return{name:C}},MO="$",KO=Ee("$",!1),UO=function(C){return e.isGlobPattern(C)},HO=function(C){return C},eQ=/^[a-zA-Z0-9_]/,tQ=_e([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),rQ=function(){return M()},iQ=/^[$@*?#a-zA-Z0-9_\-]/,nQ=_e(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),GO=/^[(){}<>$|&; \t"']/,qu=_e(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),sQ=/^[<>&; \t"']/,oQ=_e(["<",">","&",";"," "," ",'"',"'"],!1,!1),NE=/^[ \t]/,LE=_e([" "," "],!1,!1),B=0,He=0,OA=[{line:1,column:1}],d=0,E=[],I=0,D;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function M(){return t.substring(He,B)}function _(){return It(He,B)}function ne(C,Q){throw Q=Q!==void 0?Q:It(He,B),Mi([ut(C)],t.substring(He,B),Q)}function Be(C,Q){throw Q=Q!==void 0?Q:It(He,B),Wn(C,Q)}function Ee(C,Q){return{type:"literal",text:C,ignoreCase:Q}}function _e(C,Q,F){return{type:"class",parts:C,inverted:Q,ignoreCase:F}}function ot(){return{type:"any"}}function wt(){return{type:"end"}}function ut(C){return{type:"other",description:C}}function nt(C){var Q=OA[C],F;if(Q)return Q;for(F=C-1;!OA[F];)F--;for(Q=OA[F],Q={line:Q.line,column:Q.column};Fd&&(d=B,E=[]),E.push(C))}function Wn(C,Q){return new sc(C,null,null,Q)}function Mi(C,Q,F){return new sc(sc.buildMessage(C,Q),C,Q,F)}function MA(){var C,Q;return C=B,Q=Yr(),Q===r&&(Q=null),Q!==r&&(He=C,Q=s(Q)),C=Q,C}function Yr(){var C,Q,F,U,ue;if(C=B,Q=qr(),Q!==r){for(F=[],U=je();U!==r;)F.push(U),U=je();F!==r?(U=Sa(),U!==r?(ue=ds(),ue===r&&(ue=null),ue!==r?(He=C,Q=o(Q,U,ue),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;if(C===r)if(C=B,Q=qr(),Q!==r){for(F=[],U=je();U!==r;)F.push(U),U=je();F!==r?(U=Sa(),U===r&&(U=null),U!==r?(He=C,Q=a(Q,U),C=Q):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;return C}function ds(){var C,Q,F,U,ue;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r)if(F=Yr(),F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();U!==r?(He=C,Q=l(F),C=Q):(B=C,C=r)}else B=C,C=r;else B=C,C=r;return C}function Sa(){var C;return t.charCodeAt(B)===59?(C=c,B++):(C=r,I===0&&ke(u)),C===r&&(t.charCodeAt(B)===38?(C=g,B++):(C=r,I===0&&ke(f))),C}function qr(){var C,Q,F;return C=B,Q=jO(),Q!==r?(F=jge(),F===r&&(F=null),F!==r?(He=C,Q=h(Q,F),C=Q):(B=C,C=r)):(B=C,C=r),C}function jge(){var C,Q,F,U,ue,De,Ct;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r)if(F=Yge(),F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();if(U!==r)if(ue=qr(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();De!==r?(He=C,Q=p(F,ue),C=Q):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;return C}function Yge(){var C;return t.substr(B,2)===m?(C=m,B+=2):(C=r,I===0&&ke(y)),C===r&&(t.substr(B,2)===b?(C=b,B+=2):(C=r,I===0&&ke(S))),C}function jO(){var C,Q,F;return C=B,Q=Wge(),Q!==r?(F=qge(),F===r&&(F=null),F!==r?(He=C,Q=k(Q,F),C=Q):(B=C,C=r)):(B=C,C=r),C}function qge(){var C,Q,F,U,ue,De,Ct;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r)if(F=Jge(),F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();if(U!==r)if(ue=jO(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();De!==r?(He=C,Q=T(F,ue),C=Q):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;return C}function Jge(){var C;return t.substr(B,2)===Y?(C=Y,B+=2):(C=r,I===0&&ke(j)),C===r&&(t.charCodeAt(B)===124?(C=Z,B++):(C=r,I===0&&ke(J))),C}function TE(){var C,Q,F,U,ue,De;if(C=B,Q=tM(),Q!==r)if(t.charCodeAt(B)===61?(F=re,B++):(F=r,I===0&&ke(ee)),F!==r)if(U=JO(),U!==r){for(ue=[],De=je();De!==r;)ue.push(De),De=je();ue!==r?(He=C,Q=A(Q,U),C=Q):(B=C,C=r)}else B=C,C=r;else B=C,C=r;else B=C,C=r;if(C===r)if(C=B,Q=tM(),Q!==r)if(t.charCodeAt(B)===61?(F=re,B++):(F=r,I===0&&ke(ee)),F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();U!==r?(He=C,Q=oe(Q),C=Q):(B=C,C=r)}else B=C,C=r;else B=C,C=r;return C}function Wge(){var C,Q,F,U,ue,De,Ct,bt,$r,Ei,Cs;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r)if(t.charCodeAt(B)===40?(F=le,B++):(F=r,I===0&&ke(X)),F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();if(U!==r)if(ue=Yr(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();if(De!==r)if(t.charCodeAt(B)===41?(Ct=O,B++):(Ct=r,I===0&&ke(L)),Ct!==r){for(bt=[],$r=je();$r!==r;)bt.push($r),$r=je();if(bt!==r){for($r=[],Ei=Mh();Ei!==r;)$r.push(Ei),Ei=Mh();if($r!==r){for(Ei=[],Cs=je();Cs!==r;)Ei.push(Cs),Cs=je();Ei!==r?(He=C,Q=pe(ue,$r),C=Q):(B=C,C=r)}else B=C,C=r}else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;if(C===r){for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r)if(t.charCodeAt(B)===123?(F=Ce,B++):(F=r,I===0&&ke(Oe)),F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();if(U!==r)if(ue=Yr(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();if(De!==r)if(t.charCodeAt(B)===125?(Ct=te,B++):(Ct=r,I===0&&ke(se)),Ct!==r){for(bt=[],$r=je();$r!==r;)bt.push($r),$r=je();if(bt!==r){for($r=[],Ei=Mh();Ei!==r;)$r.push(Ei),Ei=Mh();if($r!==r){for(Ei=[],Cs=je();Cs!==r;)Ei.push(Cs),Cs=je();Ei!==r?(He=C,Q=be(ue,$r),C=Q):(B=C,C=r)}else B=C,C=r}else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;if(C===r){for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r){for(F=[],U=TE();U!==r;)F.push(U),U=TE();if(F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();if(U!==r){if(ue=[],De=qO(),De!==r)for(;De!==r;)ue.push(De),De=qO();else ue=r;if(ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();De!==r?(He=C,Q=he(F,ue),C=Q):(B=C,C=r)}else B=C,C=r}else B=C,C=r}else B=C,C=r}else B=C,C=r;if(C===r){for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r){if(F=[],U=TE(),U!==r)for(;U!==r;)F.push(U),U=TE();else F=r;if(F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();U!==r?(He=C,Q=Fe(F),C=Q):(B=C,C=r)}else B=C,C=r}else B=C,C=r}}}return C}function YO(){var C,Q,F,U,ue;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r){if(F=[],U=OE(),U!==r)for(;U!==r;)F.push(U),U=OE();else F=r;if(F!==r){for(U=[],ue=je();ue!==r;)U.push(ue),ue=je();U!==r?(He=C,Q=Ue(F),C=Q):(B=C,C=r)}else B=C,C=r}else B=C,C=r;return C}function qO(){var C,Q,F;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();if(Q!==r?(F=Mh(),F!==r?(He=C,Q=xe(F),C=Q):(B=C,C=r)):(B=C,C=r),C===r){for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();Q!==r?(F=OE(),F!==r?(He=C,Q=xe(F),C=Q):(B=C,C=r)):(B=C,C=r)}return C}function Mh(){var C,Q,F,U,ue;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();return Q!==r?(Se.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(de)),F===r&&(F=null),F!==r?(U=zge(),U!==r?(ue=OE(),ue!==r?(He=C,Q=V(F,U,ue),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function zge(){var C;return t.substr(B,2)===Qe?(C=Qe,B+=2):(C=r,I===0&&ke(ce)),C===r&&(t.substr(B,2)===fe?(C=fe,B+=2):(C=r,I===0&&ke(gt)),C===r&&(t.charCodeAt(B)===62?(C=Ht,B++):(C=r,I===0&&ke(Mt)),C===r&&(t.substr(B,3)===mi?(C=mi,B+=3):(C=r,I===0&&ke(Gt)),C===r&&(t.substr(B,2)===Qr?(C=Qr,B+=2):(C=r,I===0&&ke(Ti)),C===r&&(t.charCodeAt(B)===60?(C=Vs,B++):(C=r,I===0&&ke(Un))))))),C}function OE(){var C,Q,F;for(C=B,Q=[],F=je();F!==r;)Q.push(F),F=je();return Q!==r?(F=JO(),F!==r?(He=C,Q=xe(F),C=Q):(B=C,C=r)):(B=C,C=r),C}function JO(){var C,Q,F;if(C=B,Q=[],F=WO(),F!==r)for(;F!==r;)Q.push(F),F=WO();else Q=r;return Q!==r&&(He=C,Q=Hn(Q)),C=Q,C}function WO(){var C,Q;return C=B,Q=_ge(),Q!==r&&(He=C,Q=vr(Q)),C=Q,C===r&&(C=B,Q=Vge(),Q!==r&&(He=C,Q=vr(Q)),C=Q,C===r&&(C=B,Q=Xge(),Q!==r&&(He=C,Q=vr(Q)),C=Q,C===r&&(C=B,Q=Zge(),Q!==r&&(He=C,Q=vr(Q)),C=Q))),C}function _ge(){var C,Q,F,U;return C=B,t.substr(B,2)===Gn?(Q=Gn,B+=2):(Q=r,I===0&&ke(gs)),Q!==r?(F=tfe(),F!==r?(t.charCodeAt(B)===39?(U=ya,B++):(U=r,I===0&&ke(kA)),U!==r?(He=C,Q=Ru(F),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function Vge(){var C,Q,F,U;return C=B,t.charCodeAt(B)===39?(Q=ya,B++):(Q=r,I===0&&ke(kA)),Q!==r?(F=$ge(),F!==r?(t.charCodeAt(B)===39?(U=ya,B++):(U=r,I===0&&ke(kA)),U!==r?(He=C,Q=Ru(F),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function Xge(){var C,Q,F,U;if(C=B,t.substr(B,2)===fs?(Q=fs,B+=2):(Q=r,I===0&&ke(xA)),Q!==r&&(He=C,Q=wa()),C=Q,C===r)if(C=B,t.charCodeAt(B)===34?(Q=Fu,B++):(Q=r,I===0&&ke(PA)),Q!==r){for(F=[],U=zO();U!==r;)F.push(U),U=zO();F!==r?(t.charCodeAt(B)===34?(U=Fu,B++):(U=r,I===0&&ke(PA)),U!==r?(He=C,Q=DA(F),C=Q):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;return C}function Zge(){var C,Q,F;if(C=B,Q=[],F=_O(),F!==r)for(;F!==r;)Q.push(F),F=_O();else Q=r;return Q!==r&&(He=C,Q=DA(Q)),C=Q,C}function zO(){var C,Q;return C=B,Q=$O(),Q!==r&&(He=C,Q=Sr(Q)),C=Q,C===r&&(C=B,Q=eM(),Q!==r&&(He=C,Q=jl(Q)),C=Q,C===r&&(C=B,Q=cQ(),Q!==r&&(He=C,Q=Nu(Q)),C=Q,C===r&&(C=B,Q=efe(),Q!==r&&(He=C,Q=So(Q)),C=Q))),C}function _O(){var C,Q;return C=B,Q=$O(),Q!==r&&(He=C,Q=Lu(Q)),C=Q,C===r&&(C=B,Q=eM(),Q!==r&&(He=C,Q=Sh(Q)),C=Q,C===r&&(C=B,Q=cQ(),Q!==r&&(He=C,Q=kh(Q)),C=Q,C===r&&(C=B,Q=nfe(),Q!==r&&(He=C,Q=ae(Q)),C=Q,C===r&&(C=B,Q=ife(),Q!==r&&(He=C,Q=So(Q)),C=Q)))),C}function $ge(){var C,Q,F;for(C=B,Q=[],Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko));F!==r;)Q.push(F),Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko));return Q!==r&&(He=C,Q=jn(Q)),C=Q,C}function efe(){var C,Q,F;if(C=B,Q=[],F=VO(),F===r&&(Tu.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(vt))),F!==r)for(;F!==r;)Q.push(F),F=VO(),F===r&&(Tu.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(vt)));else Q=r;return Q!==r&&(He=C,Q=jn(Q)),C=Q,C}function VO(){var C,Q,F;return C=B,t.substr(B,2)===Yl?(Q=Yl,B+=2):(Q=r,I===0&&ke(Yn)),Q!==r&&(He=C,Q=hs()),C=Q,C===r&&(C=B,t.charCodeAt(B)===92?(Q=ps,B++):(Q=r,I===0&&ke(pt)),Q!==r?(xo.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(lt)),F!==r?(He=C,Q=mn(F),C=Q):(B=C,C=r)):(B=C,C=r)),C}function tfe(){var C,Q,F;for(C=B,Q=[],F=XO(),F===r&&(Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko)));F!==r;)Q.push(F),F=XO(),F===r&&(Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko)));return Q!==r&&(He=C,Q=jn(Q)),C=Q,C}function XO(){var C,Q,F;return C=B,t.substr(B,2)===v?(Q=v,B+=2):(Q=r,I===0&&ke(Tt)),Q!==r&&(He=C,Q=Ou()),C=Q,C===r&&(C=B,t.substr(B,2)===ql?(Q=ql,B+=2):(Q=r,I===0&&ke(xh)),Q!==r&&(He=C,Q=Ph()),C=Q,C===r&&(C=B,t.charCodeAt(B)===92?(Q=ps,B++):(Q=r,I===0&&ke(pt)),Q!==r?(Dh.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(Rh)),F!==r?(He=C,Q=Fh(),C=Q):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===G?(Q=G,B+=2):(Q=r,I===0&&ke(yt)),Q!==r&&(He=C,Q=RA()),C=Q,C===r&&(C=B,t.substr(B,2)===$i?(Q=$i,B+=2):(Q=r,I===0&&ke(Jl)),Q!==r&&(He=C,Q=$e()),C=Q,C===r&&(C=B,t.substr(B,2)===Ba?(Q=Ba,B+=2):(Q=r,I===0&&ke(Mu)),Q!==r&&(He=C,Q=kE()),C=Q,C===r&&(C=B,t.substr(B,2)===Nh?(Q=Nh,B+=2):(Q=r,I===0&&ke(xE)),Q!==r&&(He=C,Q=gr()),C=Q,C===r&&(C=B,t.substr(B,2)===qn?(Q=qn,B+=2):(Q=r,I===0&&ke(Wl)),Q!==r&&(He=C,Q=Lh()),C=Q,C===r&&(C=B,t.charCodeAt(B)===92?(Q=ps,B++):(Q=r,I===0&&ke(pt)),Q!==r?(Xs.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ba)),F!==r?(He=C,Q=mn(F),C=Q):(B=C,C=r)):(B=C,C=r),C===r&&(C=rfe()))))))))),C}function rfe(){var C,Q,F,U,ue,De,Ct,bt,$r,Ei,Cs,uQ;return C=B,t.charCodeAt(B)===92?(Q=ps,B++):(Q=r,I===0&&ke(pt)),Q!==r?(F=aQ(),F!==r?(He=C,Q=En(F),C=Q):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Me?(Q=Me,B+=2):(Q=r,I===0&&ke(Ku)),Q!==r?(F=B,U=B,ue=aQ(),ue!==r?(De=zn(),De!==r?(ue=[ue,De],U=ue):(B=U,U=r)):(B=U,U=r),U===r&&(U=aQ()),U!==r?F=t.substring(F,B):F=U,F!==r?(He=C,Q=En(F),C=Q):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===zl?(Q=zl,B+=2):(Q=r,I===0&&ke(Zs)),Q!==r?(F=B,U=B,ue=zn(),ue!==r?(De=zn(),De!==r?(Ct=zn(),Ct!==r?(bt=zn(),bt!==r?(ue=[ue,De,Ct,bt],U=ue):(B=U,U=r)):(B=U,U=r)):(B=U,U=r)):(B=U,U=r),U!==r?F=t.substring(F,B):F=U,F!==r?(He=C,Q=En(F),C=Q):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===_l?(Q=_l,B+=2):(Q=r,I===0&&ke(FA)),Q!==r?(F=B,U=B,ue=zn(),ue!==r?(De=zn(),De!==r?(Ct=zn(),Ct!==r?(bt=zn(),bt!==r?($r=zn(),$r!==r?(Ei=zn(),Ei!==r?(Cs=zn(),Cs!==r?(uQ=zn(),uQ!==r?(ue=[ue,De,Ct,bt,$r,Ei,Cs,uQ],U=ue):(B=U,U=r)):(B=U,U=r)):(B=U,U=r)):(B=U,U=r)):(B=U,U=r)):(B=U,U=r)):(B=U,U=r)):(B=U,U=r),U!==r?F=t.substring(F,B):F=U,F!==r?(He=C,Q=Uu(F),C=Q):(B=C,C=r)):(B=C,C=r)))),C}function aQ(){var C;return Hu.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(Qa)),C}function zn(){var C;return va.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(it)),C}function ife(){var C,Q,F,U,ue;if(C=B,Q=[],F=B,t.charCodeAt(B)===92?(U=ps,B++):(U=r,I===0&&ke(pt)),U!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(He=F,U=mn(ue),F=U):(B=F,F=r)):(B=F,F=r),F===r&&(F=B,U=B,I++,ue=rM(),I--,ue===r?U=void 0:(B=U,U=r),U!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(He=F,U=mn(ue),F=U):(B=F,F=r)):(B=F,F=r)),F!==r)for(;F!==r;)Q.push(F),F=B,t.charCodeAt(B)===92?(U=ps,B++):(U=r,I===0&&ke(pt)),U!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(He=F,U=mn(ue),F=U):(B=F,F=r)):(B=F,F=r),F===r&&(F=B,U=B,I++,ue=rM(),I--,ue===r?U=void 0:(B=U,U=r),U!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(He=F,U=mn(ue),F=U):(B=F,F=r)):(B=F,F=r));else Q=r;return Q!==r&&(He=C,Q=jn(Q)),C=Q,C}function AQ(){var C,Q,F,U,ue,De;if(C=B,t.charCodeAt(B)===45?(Q=NA,B++):(Q=r,I===0&&ke(Vl)),Q===r&&(t.charCodeAt(B)===43?(Q=$s,B++):(Q=r,I===0&&ke(Xl))),Q===r&&(Q=null),Q!==r){if(F=[],Se.test(t.charAt(B))?(U=t.charAt(B),B++):(U=r,I===0&&ke(de)),U!==r)for(;U!==r;)F.push(U),Se.test(t.charAt(B))?(U=t.charAt(B),B++):(U=r,I===0&&ke(de));else F=r;if(F!==r)if(t.charCodeAt(B)===46?(U=PE,B++):(U=r,I===0&&ke(Th)),U!==r){if(ue=[],Se.test(t.charAt(B))?(De=t.charAt(B),B++):(De=r,I===0&&ke(de)),De!==r)for(;De!==r;)ue.push(De),Se.test(t.charAt(B))?(De=t.charAt(B),B++):(De=r,I===0&&ke(de));else ue=r;ue!==r?(He=C,Q=Gu(Q,F,ue),C=Q):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;if(C===r){if(C=B,t.charCodeAt(B)===45?(Q=NA,B++):(Q=r,I===0&&ke(Vl)),Q===r&&(t.charCodeAt(B)===43?(Q=$s,B++):(Q=r,I===0&&ke(Xl))),Q===r&&(Q=null),Q!==r){if(F=[],Se.test(t.charAt(B))?(U=t.charAt(B),B++):(U=r,I===0&&ke(de)),U!==r)for(;U!==r;)F.push(U),Se.test(t.charAt(B))?(U=t.charAt(B),B++):(U=r,I===0&&ke(de));else F=r;F!==r?(He=C,Q=Oh(Q,F),C=Q):(B=C,C=r)}else B=C,C=r;if(C===r&&(C=B,Q=cQ(),Q!==r&&(He=C,Q=DE(Q)),C=Q,C===r&&(C=B,Q=$l(),Q!==r&&(He=C,Q=Zl(Q)),C=Q,C===r)))if(C=B,t.charCodeAt(B)===40?(Q=le,B++):(Q=r,I===0&&ke(X)),Q!==r){for(F=[],U=je();U!==r;)F.push(U),U=je();if(F!==r)if(U=ZO(),U!==r){for(ue=[],De=je();De!==r;)ue.push(De),De=je();ue!==r?(t.charCodeAt(B)===41?(De=O,B++):(De=r,I===0&&ke(L)),De!==r?(He=C,Q=RE(U),C=Q):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r}return C}function lQ(){var C,Q,F,U,ue,De,Ct,bt;if(C=B,Q=AQ(),Q!==r){for(F=[],U=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===42?(De=ju,B++):(De=r,I===0&&ke(LA)),De===r&&(t.charCodeAt(B)===47?(De=Lr,B++):(De=r,I===0&&ke(FE))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=AQ(),bt!==r?(He=U,ue=eo(Q,De,bt),U=ue):(B=U,U=r)):(B=U,U=r)}else B=U,U=r;else B=U,U=r;for(;U!==r;){for(F.push(U),U=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===42?(De=ju,B++):(De=r,I===0&&ke(LA)),De===r&&(t.charCodeAt(B)===47?(De=Lr,B++):(De=r,I===0&&ke(FE))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=AQ(),bt!==r?(He=U,ue=eo(Q,De,bt),U=ue):(B=U,U=r)):(B=U,U=r)}else B=U,U=r;else B=U,U=r}F!==r?(He=C,Q=to(Q,F),C=Q):(B=C,C=r)}else B=C,C=r;return C}function ZO(){var C,Q,F,U,ue,De,Ct,bt;if(C=B,Q=lQ(),Q!==r){for(F=[],U=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===43?(De=$s,B++):(De=r,I===0&&ke(Xl)),De===r&&(t.charCodeAt(B)===45?(De=NA,B++):(De=r,I===0&&ke(Vl))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=lQ(),bt!==r?(He=U,ue=Yu(Q,De,bt),U=ue):(B=U,U=r)):(B=U,U=r)}else B=U,U=r;else B=U,U=r;for(;U!==r;){for(F.push(U),U=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===43?(De=$s,B++):(De=r,I===0&&ke(Xl)),De===r&&(t.charCodeAt(B)===45?(De=NA,B++):(De=r,I===0&&ke(Vl))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=lQ(),bt!==r?(He=U,ue=Yu(Q,De,bt),U=ue):(B=U,U=r)):(B=U,U=r)}else B=U,U=r;else B=U,U=r}F!==r?(He=C,Q=to(Q,F),C=Q):(B=C,C=r)}else B=C,C=r;return C}function $O(){var C,Q,F,U,ue,De;if(C=B,t.substr(B,3)===TA?(Q=TA,B+=3):(Q=r,I===0&&ke(R)),Q!==r){for(F=[],U=je();U!==r;)F.push(U),U=je();if(F!==r)if(U=ZO(),U!==r){for(ue=[],De=je();De!==r;)ue.push(De),De=je();ue!==r?(t.substr(B,2)===q?(De=q,B+=2):(De=r,I===0&&ke(me)),De!==r?(He=C,Q=Ge(U),C=Q):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;return C}function eM(){var C,Q,F,U;return C=B,t.substr(B,2)===Te?(Q=Te,B+=2):(Q=r,I===0&&ke(Xe)),Q!==r?(F=Yr(),F!==r?(t.charCodeAt(B)===41?(U=O,B++):(U=r,I===0&&ke(L)),U!==r?(He=C,Q=Et(F),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function cQ(){var C,Q,F,U,ue,De;return C=B,t.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=r,I===0&&ke(Jn)),Q!==r?(F=$l(),F!==r?(t.substr(B,2)===_b?(U=_b,B+=2):(U=r,I===0&&ke(PO)),U!==r?(ue=YO(),ue!==r?(t.charCodeAt(B)===125?(De=te,B++):(De=r,I===0&&ke(se)),De!==r?(He=C,Q=DO(F,ue),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=r,I===0&&ke(Jn)),Q!==r?(F=$l(),F!==r?(t.substr(B,3)===Vb?(U=Vb,B+=3):(U=r,I===0&&ke(RO)),U!==r?(He=C,Q=FO(F),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=r,I===0&&ke(Jn)),Q!==r?(F=$l(),F!==r?(t.substr(B,2)===Xb?(U=Xb,B+=2):(U=r,I===0&&ke(NO)),U!==r?(ue=YO(),ue!==r?(t.charCodeAt(B)===125?(De=te,B++):(De=r,I===0&&ke(se)),De!==r?(He=C,Q=LO(F,ue),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=r,I===0&&ke(Jn)),Q!==r?(F=$l(),F!==r?(t.substr(B,3)===Zb?(U=Zb,B+=3):(U=r,I===0&&ke(TO)),U!==r?(He=C,Q=OO(F),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=r,I===0&&ke(Jn)),Q!==r?(F=$l(),F!==r?(t.charCodeAt(B)===125?(U=te,B++):(U=r,I===0&&ke(se)),U!==r?(He=C,Q=$b(F),C=Q):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.charCodeAt(B)===36?(Q=MO,B++):(Q=r,I===0&&ke(KO)),Q!==r?(F=$l(),F!==r?(He=C,Q=$b(F),C=Q):(B=C,C=r)):(B=C,C=r)))))),C}function nfe(){var C,Q,F;return C=B,Q=sfe(),Q!==r?(He=B,F=UO(Q),F?F=void 0:F=r,F!==r?(He=C,Q=HO(Q),C=Q):(B=C,C=r)):(B=C,C=r),C}function sfe(){var C,Q,F,U,ue;if(C=B,Q=[],F=B,U=B,I++,ue=iM(),I--,ue===r?U=void 0:(B=U,U=r),U!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(He=F,U=mn(ue),F=U):(B=F,F=r)):(B=F,F=r),F!==r)for(;F!==r;)Q.push(F),F=B,U=B,I++,ue=iM(),I--,ue===r?U=void 0:(B=U,U=r),U!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(He=F,U=mn(ue),F=U):(B=F,F=r)):(B=F,F=r);else Q=r;return Q!==r&&(He=C,Q=jn(Q)),C=Q,C}function tM(){var C,Q,F;if(C=B,Q=[],eQ.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(tQ)),F!==r)for(;F!==r;)Q.push(F),eQ.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(tQ));else Q=r;return Q!==r&&(He=C,Q=rQ()),C=Q,C}function $l(){var C,Q,F;if(C=B,Q=[],iQ.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(nQ)),F!==r)for(;F!==r;)Q.push(F),iQ.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(nQ));else Q=r;return Q!==r&&(He=C,Q=rQ()),C=Q,C}function rM(){var C;return GO.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(qu)),C}function iM(){var C;return sQ.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(oQ)),C}function je(){var C,Q;if(C=[],NE.test(t.charAt(B))?(Q=t.charAt(B),B++):(Q=r,I===0&&ke(LE)),Q!==r)for(;Q!==r;)C.push(Q),NE.test(t.charAt(B))?(Q=t.charAt(B),B++):(Q=r,I===0&&ke(LE));else C=r;return C}if(D=n(),D!==r&&B===t.length)return D;throw D!==r&&B{"use strict";function she(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function ac(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ac)}she(ac,Error);ac.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gY&&(Y=S,j=[]),j.push(de))}function se(de,V){return new ac(de,null,null,V)}function be(de,V,Qe){return new ac(ac.buildMessage(de,V),de,V,Qe)}function he(){var de,V,Qe,ce;return de=S,V=Fe(),V!==r?(t.charCodeAt(S)===47?(Qe=s,S++):(Qe=r,Z===0&&te(o)),Qe!==r?(ce=Fe(),ce!==r?(k=de,V=a(V,ce),de=V):(S=de,de=r)):(S=de,de=r)):(S=de,de=r),de===r&&(de=S,V=Fe(),V!==r&&(k=de,V=l(V)),de=V),de}function Fe(){var de,V,Qe,ce;return de=S,V=Ue(),V!==r?(t.charCodeAt(S)===64?(Qe=c,S++):(Qe=r,Z===0&&te(u)),Qe!==r?(ce=Se(),ce!==r?(k=de,V=g(V,ce),de=V):(S=de,de=r)):(S=de,de=r)):(S=de,de=r),de===r&&(de=S,V=Ue(),V!==r&&(k=de,V=f(V)),de=V),de}function Ue(){var de,V,Qe,ce,fe;return de=S,t.charCodeAt(S)===64?(V=c,S++):(V=r,Z===0&&te(u)),V!==r?(Qe=xe(),Qe!==r?(t.charCodeAt(S)===47?(ce=s,S++):(ce=r,Z===0&&te(o)),ce!==r?(fe=xe(),fe!==r?(k=de,V=h(),de=V):(S=de,de=r)):(S=de,de=r)):(S=de,de=r)):(S=de,de=r),de===r&&(de=S,V=xe(),V!==r&&(k=de,V=h()),de=V),de}function xe(){var de,V,Qe;if(de=S,V=[],p.test(t.charAt(S))?(Qe=t.charAt(S),S++):(Qe=r,Z===0&&te(m)),Qe!==r)for(;Qe!==r;)V.push(Qe),p.test(t.charAt(S))?(Qe=t.charAt(S),S++):(Qe=r,Z===0&&te(m));else V=r;return V!==r&&(k=de,V=h()),de=V,de}function Se(){var de,V,Qe;if(de=S,V=[],y.test(t.charAt(S))?(Qe=t.charAt(S),S++):(Qe=r,Z===0&&te(b)),Qe!==r)for(;Qe!==r;)V.push(Qe),y.test(t.charAt(S))?(Qe=t.charAt(S),S++):(Qe=r,Z===0&&te(b));else V=r;return V!==r&&(k=de,V=h()),de=V,de}if(J=n(),J!==r&&S===t.length)return J;throw J!==r&&S{"use strict";function IK(t){return typeof t=="undefined"||t===null}function ahe(t){return typeof t=="object"&&t!==null}function Ahe(t){return Array.isArray(t)?t:IK(t)?[]:[t]}function lhe(t,e){var r,i,n,s;if(e)for(s=Object.keys(e),r=0,i=s.length;r{"use strict";function tp(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}tp.prototype=Object.create(Error.prototype);tp.prototype.constructor=tp;tp.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};yK.exports=tp});var bK=w((PZe,wK)=>{"use strict";var BK=lc();function YQ(t,e,r,i,n){this.name=t,this.buffer=e,this.position=r,this.line=i,this.column=n}YQ.prototype.getSnippet=function(e,r){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,r=r||75,i="",n=this.position;n>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>r/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;or/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),BK.repeat(" ",e)+i+a+s+` +`+BK.repeat(" ",e+this.position-n+i.length)+"^"};YQ.prototype.toString=function(e){var r,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(i+=`: +`+r)),i};wK.exports=YQ});var li=w((DZe,QK)=>{"use strict";var vK=Zu(),ghe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],fhe=["scalar","sequence","mapping"];function hhe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function phe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(ghe.indexOf(r)===-1)throw new vK('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=hhe(e.styleAliases||null),fhe.indexOf(this.kind)===-1)throw new vK('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}QK.exports=phe});var cc=w((RZe,SK)=>{"use strict";var kK=lc(),sI=Zu(),dhe=li();function qQ(t,e,r){var i=[];return t.include.forEach(function(n){r=qQ(n,e,r)}),t[e].forEach(function(n){r.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),r.push(n)}),r.filter(function(n,s){return i.indexOf(s)===-1})}function Che(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function i(n){t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,r=arguments.length;e{"use strict";var mhe=li();xK.exports=new mhe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var RK=w((NZe,DK)=>{"use strict";var Ehe=li();DK.exports=new Ehe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var NK=w((LZe,FK)=>{"use strict";var Ihe=li();FK.exports=new Ihe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var oI=w((TZe,LK)=>{"use strict";var yhe=cc();LK.exports=new yhe({explicit:[PK(),RK(),NK()]})});var OK=w((OZe,TK)=>{"use strict";var whe=li();function Bhe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function bhe(){return null}function Qhe(t){return t===null}TK.exports=new whe("tag:yaml.org,2002:null",{kind:"scalar",resolve:Bhe,construct:bhe,predicate:Qhe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var KK=w((MZe,MK)=>{"use strict";var vhe=li();function She(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function khe(t){return t==="true"||t==="True"||t==="TRUE"}function xhe(t){return Object.prototype.toString.call(t)==="[object Boolean]"}MK.exports=new vhe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:She,construct:khe,predicate:xhe,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var HK=w((KZe,UK)=>{"use strict";var Phe=lc(),Dhe=li();function Rhe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function Fhe(t){return 48<=t&&t<=55}function Nhe(t){return 48<=t&&t<=57}function Lhe(t){if(t===null)return!1;var e=t.length,r=0,i=!1,n;if(!e)return!1;if(n=t[r],(n==="-"||n==="+")&&(n=t[++r]),n==="0"){if(r+1===e)return!0;if(n=t[++r],n==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var YK=w((UZe,GK)=>{"use strict";var jK=lc(),Mhe=li(),Khe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Uhe(t){return!(t===null||!Khe.test(t)||t[t.length-1]==="_")}function Hhe(t){var e,r,i,n;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),r*e):r*parseFloat(e,10)}var Ghe=/^[-+]?[0-9]+e/;function jhe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(jK.isNegativeZero(t))return"-0.0";return r=t.toString(10),Ghe.test(r)?r.replace("e",".e"):r}function Yhe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!=0||jK.isNegativeZero(t))}GK.exports=new Mhe("tag:yaml.org,2002:float",{kind:"scalar",resolve:Uhe,construct:Hhe,predicate:Yhe,represent:jhe,defaultStyle:"lowercase"})});var JQ=w((HZe,qK)=>{"use strict";var qhe=cc();qK.exports=new qhe({include:[oI()],implicit:[OK(),KK(),HK(),YK()]})});var WQ=w((GZe,JK)=>{"use strict";var Jhe=cc();JK.exports=new Jhe({include:[JQ()]})});var VK=w((jZe,WK)=>{"use strict";var Whe=li(),zK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),_K=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function zhe(t){return t===null?!1:zK.exec(t)!==null||_K.exec(t)!==null}function _he(t){var e,r,i,n,s,o,a,l=0,c=null,u,g,f;if(e=zK.exec(t),e===null&&(e=_K.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(r,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function Vhe(t){return t.toISOString()}WK.exports=new Whe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:zhe,construct:_he,instanceOf:Date,represent:Vhe})});var ZK=w((YZe,XK)=>{"use strict";var Xhe=li();function Zhe(t){return t==="<<"||t===null}XK.exports=new Xhe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Zhe})});var t1=w((qZe,$K)=>{"use strict";var uc;try{e1=require,uc=e1("buffer").Buffer}catch(t){}var e1,$he=li(),zQ=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function epe(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=zQ;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8==0}function tpe(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=zQ,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return r=n%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),uc?uc.from?uc.from(a):new uc(a):a}function rpe(t){var e="",r=0,i,n,s=t.length,o=zQ;for(i=0;i>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[i];return n=s%3,n===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):n===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):n===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function ipe(t){return uc&&uc.isBuffer(t)}$K.exports=new $he("tag:yaml.org,2002:binary",{kind:"scalar",resolve:epe,construct:tpe,predicate:ipe,represent:rpe})});var i1=w((JZe,r1)=>{"use strict";var npe=li(),spe=Object.prototype.hasOwnProperty,ope=Object.prototype.toString;function ape(t){if(t===null)return!0;var e=[],r,i,n,s,o,a=t;for(r=0,i=a.length;r{"use strict";var lpe=li(),cpe=Object.prototype.toString;function upe(t){if(t===null)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e{"use strict";var fpe=li(),hpe=Object.prototype.hasOwnProperty;function ppe(t){if(t===null)return!0;var e,r=t;for(e in r)if(hpe.call(r,e)&&r[e]!==null)return!1;return!0}function dpe(t){return t!==null?t:{}}o1.exports=new fpe("tag:yaml.org,2002:set",{kind:"mapping",resolve:ppe,construct:dpe})});var eg=w((_Ze,A1)=>{"use strict";var Cpe=cc();A1.exports=new Cpe({include:[WQ()],implicit:[VK(),ZK()],explicit:[t1(),i1(),s1(),a1()]})});var c1=w((VZe,l1)=>{"use strict";var mpe=li();function Epe(){return!0}function Ipe(){}function ype(){return""}function wpe(t){return typeof t=="undefined"}l1.exports=new mpe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Epe,construct:Ipe,predicate:wpe,represent:ype})});var g1=w((XZe,u1)=>{"use strict";var Bpe=li();function bpe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),i="";return!(e[0]==="/"&&(r&&(i=r[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function Qpe(t){var e=t,r=/\/([gim]*)$/.exec(t),i="";return e[0]==="/"&&(r&&(i=r[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function vpe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function Spe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}u1.exports=new Bpe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:bpe,construct:Qpe,predicate:Spe,represent:vpe})});var p1=w((ZZe,f1)=>{"use strict";var aI;try{h1=require,aI=h1("esprima")}catch(t){typeof window!="undefined"&&(aI=window.esprima)}var h1,kpe=li();function xpe(t){if(t===null)return!1;try{var e="("+t+")",r=aI.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function Ppe(t){var e="("+t+")",r=aI.parse(e,{range:!0}),i=[],n;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function Dpe(t){return t.toString()}function Rpe(t){return Object.prototype.toString.call(t)==="[object Function]"}f1.exports=new kpe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:xpe,construct:Ppe,predicate:Rpe,represent:Dpe})});var rp=w(($Ze,d1)=>{"use strict";var C1=cc();d1.exports=C1.DEFAULT=new C1({include:[eg()],explicit:[c1(),g1(),p1()]})});var T1=w((e$e,ip)=>{"use strict";var Na=lc(),m1=Zu(),Fpe=bK(),E1=eg(),Npe=rp(),GA=Object.prototype.hasOwnProperty,AI=1,I1=2,y1=3,lI=4,_Q=1,Lpe=2,w1=3,Tpe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Ope=/[\x85\u2028\u2029]/,Mpe=/[,\[\]\{\}]/,B1=/^(?:!|!!|![a-z\-]+!)$/i,b1=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Q1(t){return Object.prototype.toString.call(t)}function Ro(t){return t===10||t===13}function gc(t){return t===9||t===32}function yn(t){return t===9||t===32||t===10||t===13}function tg(t){return t===44||t===91||t===93||t===123||t===125}function Kpe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function Upe(t){return t===120?2:t===117?4:t===85?8:0}function Hpe(t){return 48<=t&&t<=57?t-48:-1}function v1(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function Gpe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var S1=new Array(256),k1=new Array(256);for(var rg=0;rg<256;rg++)S1[rg]=v1(rg)?1:0,k1[rg]=v1(rg);function jpe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Npe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function x1(t,e){return new m1(e,new Fpe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function dt(t,e){throw x1(t,e)}function cI(t,e){t.onWarning&&t.onWarning.call(null,x1(t,e))}var P1={YAML:function(e,r,i){var n,s,o;e.version!==null&&dt(e,"duplication of %YAML directive"),i.length!==1&&dt(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&dt(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&dt(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&cI(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&dt(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],B1.test(n)||dt(e,"ill-formed tag handle (first argument) of the TAG directive"),GA.call(e.tagMap,n)&&dt(e,'there is a previously declared suffix for "'+n+'" tag handle'),b1.test(s)||dt(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function jA(t,e,r,i){var n,s,o,a;if(e1&&(t.result+=Na.repeat(` +`,e-1))}function Ype(t,e,r){var i,n,s,o,a,l,c,u,g=t.kind,f=t.result,h;if(h=t.input.charCodeAt(t.position),yn(h)||tg(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=t.input.charCodeAt(t.position+1),yn(n)||r&&tg(n)))return!1;for(t.kind="scalar",t.result="",s=o=t.position,a=!1;h!==0;){if(h===58){if(n=t.input.charCodeAt(t.position+1),yn(n)||r&&tg(n))break}else if(h===35){if(i=t.input.charCodeAt(t.position-1),yn(i))break}else{if(t.position===t.lineStart&&uI(t)||r&&tg(h))break;if(Ro(h))if(l=t.line,c=t.lineStart,u=t.lineIndent,ei(t,!1,-1),t.lineIndent>=e){a=!0,h=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=l,t.lineStart=c,t.lineIndent=u;break}}a&&(jA(t,s,o,!1),XQ(t,t.line-l),s=o=t.position,a=!1),gc(h)||(o=t.position+1),h=t.input.charCodeAt(++t.position)}return jA(t,s,o,!1),t.result?!0:(t.kind=g,t.result=f,!1)}function qpe(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(jA(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else Ro(r)?(jA(t,i,n,!0),XQ(t,ei(t,!1,e)),i=n=t.position):t.position===t.lineStart&&uI(t)?dt(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);dt(t,"unexpected end of the stream within a single quoted scalar")}function Jpe(t,e){var r,i,n,s,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return jA(t,r,t.position,!0),t.position++,!0;if(a===92){if(jA(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),Ro(a))ei(t,!1,e);else if(a<256&&S1[a])t.result+=k1[a],t.position++;else if((o=Upe(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=Kpe(a))>=0?s=(s<<4)+o:dt(t,"expected hexadecimal character");t.result+=Gpe(s),t.position++}else dt(t,"unknown escape sequence");r=i=t.position}else Ro(a)?(jA(t,r,i,!0),XQ(t,ei(t,!1,e)),r=i=t.position):t.position===t.lineStart&&uI(t)?dt(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}dt(t,"unexpected end of the stream within a double quoted scalar")}function Wpe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,f={},h,p,m,y;if(y=t.input.charCodeAt(t.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),y=t.input.charCodeAt(++t.position);y!==0;){if(ei(t,!0,e),y=t.input.charCodeAt(t.position),y===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||dt(t,"missed comma between flow collection entries"),p=h=m=null,c=u=!1,y===63&&(a=t.input.charCodeAt(t.position+1),yn(a)&&(c=u=!0,t.position++,ei(t,!0,e))),i=t.line,ng(t,e,AI,!1,!0),p=t.tag,h=t.result,ei(t,!0,e),y=t.input.charCodeAt(t.position),(u||t.line===i)&&y===58&&(c=!0,y=t.input.charCodeAt(++t.position),ei(t,!0,e),ng(t,e,AI,!1,!0),m=t.result),g?ig(t,s,f,p,h,m):c?s.push(ig(t,null,f,p,h,m)):s.push(h),ei(t,!0,e),y=t.input.charCodeAt(t.position),y===44?(r=!0,y=t.input.charCodeAt(++t.position)):r=!1}dt(t,"unexpected end of the stream within a flow collection")}function zpe(t,e){var r,i,n=_Q,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=t.input.charCodeAt(t.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(t.kind="scalar",t.result="";g!==0;)if(g=t.input.charCodeAt(++t.position),g===43||g===45)_Q===n?n=g===43?w1:Lpe:dt(t,"repeat of a chomping mode identifier");else if((u=Hpe(g))>=0)u===0?dt(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?dt(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(gc(g)){do g=t.input.charCodeAt(++t.position);while(gc(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!Ro(g)&&g!==0)}for(;g!==0;){for(VQ(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndenta&&(a=t.lineIndent),Ro(g)){l++;continue}if(t.lineIndente)&&l!==0)dt(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(ng(t,e,lI,!0,n)&&(p?f=t.result:h=t.result),p||(ig(t,c,u,g,f,h,s,o),g=f=h=null),ei(t,!0,-1),y=t.input.charCodeAt(t.position)),t.lineIndent>e&&y!==0)dt(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),g=0,f=t.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+t.kind+'"'),h.resolve(t.result)?(t.result=h.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):dt(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):dt(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function $pe(t){var e=t.position,r,i,n,s=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(o=t.input.charCodeAt(t.position))!==0&&(ei(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(s=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&dt(t,"directive name must not be less than one character in length");o!==0;){for(;gc(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!Ro(o));break}if(Ro(o))break;for(r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}o!==0&&VQ(t),GA.call(P1,i)?P1[i](t,i,n):cI(t,'unknown document directive "'+i+'"')}if(ei(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,ei(t,!0,-1)):s&&dt(t,"directives end mark is expected"),ng(t,t.lineIndent-1,lI,!1,!0),ei(t,!0,-1),t.checkLineBreaks&&Ope.test(t.input.slice(e,t.position))&&cI(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&uI(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,ei(t,!0,-1));return}if(t.position{"use strict";var np=lc(),sp=Zu(),rde=rp(),ide=eg(),O1=Object.prototype.toString,M1=Object.prototype.hasOwnProperty,nde=9,op=10,sde=13,ode=32,ade=33,Ade=34,K1=35,lde=37,cde=38,ude=39,gde=42,U1=44,fde=45,H1=58,hde=61,pde=62,dde=63,Cde=64,G1=91,j1=93,mde=96,Y1=123,Ede=124,q1=125,Ki={};Ki[0]="\\0";Ki[7]="\\a";Ki[8]="\\b";Ki[9]="\\t";Ki[10]="\\n";Ki[11]="\\v";Ki[12]="\\f";Ki[13]="\\r";Ki[27]="\\e";Ki[34]='\\"';Ki[92]="\\\\";Ki[133]="\\N";Ki[160]="\\_";Ki[8232]="\\L";Ki[8233]="\\P";var Ide=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function yde(t,e){var r,i,n,s,o,a,l;if(e===null)return{};for(r={},i=Object.keys(e),n=0,s=i.length;n0?t.charCodeAt(s-1):null,f=f&&z1(o,a)}else{for(s=0;si&&t[g+1]!==" ",g=s);else if(!sg(o))return gI;a=s>0?t.charCodeAt(s-1):null,f=f&&z1(o,a)}c=c||u&&s-g-1>i&&t[g+1]!==" "}return!l&&!c?f&&!n(t)?V1:X1:r>9&&_1(t)?gI:c?$1:Z1}function xde(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&Ide.indexOf(e)!==-1)return"'"+e+"'";var n=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),o=i||t.flowLevel>-1&&r>=t.flowLevel;function a(l){return Bde(t,l)}switch(vde(e,o,t.indent,s,a)){case V1:return e;case X1:return"'"+e.replace(/'/g,"''")+"'";case Z1:return"|"+eU(e,t.indent)+tU(W1(e,n));case $1:return">"+eU(e,t.indent)+tU(W1(Sde(e,s),n));case gI:return'"'+kde(e,s)+'"';default:throw new sp("impossible error: invalid scalar style")}}()}function eU(t,e){var r=_1(t)?String(e):"",i=t[t.length-1]===` +`,n=i&&(t[t.length-2]===` +`||t===` +`),s=n?"+":i?"":"-";return r+s+` +`}function tU(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function Sde(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(` +`);return c=c!==-1?c:t.length,r.lastIndex=c,rU(t.slice(0,c),e)}(),n=t[0]===` +`||t[0]===" ",s,o;o=r.exec(t);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` +`:"")+rU(l,e),n=s}return i}function rU(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=r.exec(t);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`+t.slice(n,s),n=s+1),o=a;return l+=` +`,t.length-n>e&&o>n?l+=t.slice(n,o)+` +`+t.slice(o+1):l+=t.slice(n),l.slice(1)}function kde(t){for(var e="",r,i,n,s=0;s=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=J1((r-55296)*1024+i-56320+65536),s++;continue}n=Ki[r],e+=!n&&sg(r)?t[s]:n||J1(r)}return e}function Pde(t,e,r){var i="",n=t.tag,s,o;for(s=0,o=r.length;s1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),!!fc(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function Fde(t,e,r,i){var n="",s=t.tag,o=Object.keys(r),a,l,c,u,g,f;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new sp("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(t.dump&&op===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,g&&(f+=$Q(t,e)),!!fc(t,e+1,u,!0,g)&&(t.dump&&op===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,n+=f));t.tag=s,t.dump=n||"{}"}function iU(t,e,r){var i,n,s,o,a,l;for(n=r?t.explicitTypes:t.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function fc(t,e,r,i,n,s){t.tag=null,t.dump=r,iU(t,r,!1)||iU(t,r,!0);var o=O1.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=t.duplicates.indexOf(r),c=l!==-1),(t.tag!==null&&t.tag!=="?"||c||t.indent!==2&&e>0)&&(n=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(a&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(t.dump).length!==0?(Fde(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(Rde(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if(o==="[object Array]"){var u=t.noArrayIndent&&e>0?e-1:e;i&&t.dump.length!==0?(Dde(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(Pde(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&xde(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new sp("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function Nde(t,e){var r=[],i=[],n,s;for(tv(t,r,i),n=0,s=i.length;n{"use strict";var fI=T1(),oU=sU();function hI(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Or.exports.Type=li();Or.exports.Schema=cc();Or.exports.FAILSAFE_SCHEMA=oI();Or.exports.JSON_SCHEMA=JQ();Or.exports.CORE_SCHEMA=WQ();Or.exports.DEFAULT_SAFE_SCHEMA=eg();Or.exports.DEFAULT_FULL_SCHEMA=rp();Or.exports.load=fI.load;Or.exports.loadAll=fI.loadAll;Or.exports.safeLoad=fI.safeLoad;Or.exports.safeLoadAll=fI.safeLoadAll;Or.exports.dump=oU.dump;Or.exports.safeDump=oU.safeDump;Or.exports.YAMLException=Zu();Or.exports.MINIMAL_SCHEMA=oI();Or.exports.SAFE_SCHEMA=eg();Or.exports.DEFAULT_SCHEMA=rp();Or.exports.scan=hI("scan");Or.exports.parse=hI("parse");Or.exports.compose=hI("compose");Or.exports.addConstructor=hI("addConstructor")});var lU=w((i$e,AU)=>{"use strict";var Tde=aU();AU.exports=Tde});var uU=w((n$e,cU)=>{"use strict";function Ode(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function hc(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,hc)}Ode(hc,Error);hc.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[Ge]:me})))},Y=function(R){return R},j=function(R){return R},Z=Xs("correct indentation"),J=" ",re=gr(" ",!1),ee=function(R){return R.length===TA*Yu},A=function(R){return R.length===(TA+1)*Yu},oe=function(){return TA++,!0},le=function(){return TA--,!0},X=function(){return Mu()},O=Xs("pseudostring"),L=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,pe=qn(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Ce=/^[^\r\n\t ,\][{}:#"']/,Oe=qn(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),te=function(){return Mu().replace(/^ *| *$/g,"")},se="--",be=gr("--",!1),he=/^[a-zA-Z\/0-9]/,Fe=qn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ue=/^[^\r\n\t :,]/,xe=qn(["\r",` +`," "," ",":",","],!0,!1),Se="null",de=gr("null",!1),V=function(){return null},Qe="true",ce=gr("true",!1),fe=function(){return!0},gt="false",Ht=gr("false",!1),Mt=function(){return!1},mi=Xs("string"),Gt='"',Qr=gr('"',!1),Ti=function(){return""},Vs=function(R){return R},Un=function(R){return R.join("")},Hn=/^[^"\\\0-\x1F\x7F]/,vr=qn(['"',"\\",["\0",""],"\x7F"],!0,!1),Gn='\\"',gs=gr('\\"',!1),ya=function(){return'"'},kA="\\\\",Ru=gr("\\\\",!1),fs=function(){return"\\"},xA="\\/",wa=gr("\\/",!1),Fu=function(){return"/"},PA="\\b",DA=gr("\\b",!1),Sr=function(){return"\b"},jl="\\f",Nu=gr("\\f",!1),So=function(){return"\f"},Lu="\\n",Sh=gr("\\n",!1),kh=function(){return` +`},ae="\\r",Oi=gr("\\r",!1),ko=function(){return"\r"},jn="\\t",Tu=gr("\\t",!1),vt=function(){return" "},Yl="\\u",Yn=gr("\\u",!1),hs=function(R,q,me,Ge){return String.fromCharCode(parseInt(`0x${R}${q}${me}${Ge}`))},ps=/^[0-9a-fA-F]/,pt=qn([["0","9"],["a","f"],["A","F"]],!1,!1),xo=Xs("blank space"),lt=/^[ \t]/,mn=qn([" "," "],!1,!1),v=Xs("white space"),Tt=/^[ \t\n\r]/,Ou=qn([" "," ",` +`,"\r"],!1,!1),ql=`\r +`,xh=gr(`\r +`,!1),Ph=` +`,Dh=gr(` +`,!1),Rh="\r",Fh=gr("\r",!1),G=0,yt=0,RA=[{line:1,column:1}],$i=0,Jl=[],$e=0,Ba;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function Mu(){return t.substring(yt,G)}function kE(){return En(yt,G)}function Nh(R,q){throw q=q!==void 0?q:En(yt,G),zl([Xs(R)],t.substring(yt,G),q)}function xE(R,q){throw q=q!==void 0?q:En(yt,G),Ku(R,q)}function gr(R,q){return{type:"literal",text:R,ignoreCase:q}}function qn(R,q,me){return{type:"class",parts:R,inverted:q,ignoreCase:me}}function Wl(){return{type:"any"}}function Lh(){return{type:"end"}}function Xs(R){return{type:"other",description:R}}function ba(R){var q=RA[R],me;if(q)return q;for(me=R-1;!RA[me];)me--;for(q=RA[me],q={line:q.line,column:q.column};me$i&&($i=G,Jl=[]),Jl.push(R))}function Ku(R,q){return new hc(R,null,null,q)}function zl(R,q,me){return new hc(hc.buildMessage(R,q),R,q,me)}function Zs(){var R;return R=Uu(),R}function _l(){var R,q,me;for(R=G,q=[],me=FA();me!==r;)q.push(me),me=FA();return q!==r&&(yt=R,q=s(q)),R=q,R}function FA(){var R,q,me,Ge,Te;return R=G,q=va(),q!==r?(t.charCodeAt(G)===45?(me=o,G++):(me=r,$e===0&&Me(a)),me!==r?(Ge=Lr(),Ge!==r?(Te=Qa(),Te!==r?(yt=R,q=l(Te),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R}function Uu(){var R,q,me;for(R=G,q=[],me=Hu();me!==r;)q.push(me),me=Hu();return q!==r&&(yt=R,q=c(q)),R=q,R}function Hu(){var R,q,me,Ge,Te,Xe,Et,Rt,Jn;if(R=G,q=Lr(),q===r&&(q=null),q!==r){if(me=G,t.charCodeAt(G)===35?(Ge=u,G++):(Ge=r,$e===0&&Me(g)),Ge!==r){if(Te=[],Xe=G,Et=G,$e++,Rt=to(),$e--,Rt===r?Et=void 0:(G=Et,Et=r),Et!==r?(t.length>G?(Rt=t.charAt(G),G++):(Rt=r,$e===0&&Me(f)),Rt!==r?(Et=[Et,Rt],Xe=Et):(G=Xe,Xe=r)):(G=Xe,Xe=r),Xe!==r)for(;Xe!==r;)Te.push(Xe),Xe=G,Et=G,$e++,Rt=to(),$e--,Rt===r?Et=void 0:(G=Et,Et=r),Et!==r?(t.length>G?(Rt=t.charAt(G),G++):(Rt=r,$e===0&&Me(f)),Rt!==r?(Et=[Et,Rt],Xe=Et):(G=Xe,Xe=r)):(G=Xe,Xe=r);else Te=r;Te!==r?(Ge=[Ge,Te],me=Ge):(G=me,me=r)}else G=me,me=r;if(me===r&&(me=null),me!==r){if(Ge=[],Te=eo(),Te!==r)for(;Te!==r;)Ge.push(Te),Te=eo();else Ge=r;Ge!==r?(yt=R,q=h(),R=q):(G=R,R=r)}else G=R,R=r}else G=R,R=r;if(R===r&&(R=G,q=va(),q!==r?(me=Vl(),me!==r?(Ge=Lr(),Ge===r&&(Ge=null),Ge!==r?(t.charCodeAt(G)===58?(Te=p,G++):(Te=r,$e===0&&Me(m)),Te!==r?(Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(Et=Qa(),Et!==r?(yt=R,q=y(me,Et),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r&&(R=G,q=va(),q!==r?(me=$s(),me!==r?(Ge=Lr(),Ge===r&&(Ge=null),Ge!==r?(t.charCodeAt(G)===58?(Te=p,G++):(Te=r,$e===0&&Me(m)),Te!==r?(Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(Et=Qa(),Et!==r?(yt=R,q=y(me,Et),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r))){if(R=G,q=va(),q!==r)if(me=$s(),me!==r)if(Ge=Lr(),Ge!==r)if(Te=PE(),Te!==r){if(Xe=[],Et=eo(),Et!==r)for(;Et!==r;)Xe.push(Et),Et=eo();else Xe=r;Xe!==r?(yt=R,q=y(me,Te),R=q):(G=R,R=r)}else G=R,R=r;else G=R,R=r;else G=R,R=r;else G=R,R=r;if(R===r)if(R=G,q=va(),q!==r)if(me=$s(),me!==r){if(Ge=[],Te=G,Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(t.charCodeAt(G)===44?(Et=b,G++):(Et=r,$e===0&&Me(S)),Et!==r?(Rt=Lr(),Rt===r&&(Rt=null),Rt!==r?(Jn=$s(),Jn!==r?(yt=Te,Xe=k(me,Jn),Te=Xe):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r),Te!==r)for(;Te!==r;)Ge.push(Te),Te=G,Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(t.charCodeAt(G)===44?(Et=b,G++):(Et=r,$e===0&&Me(S)),Et!==r?(Rt=Lr(),Rt===r&&(Rt=null),Rt!==r?(Jn=$s(),Jn!==r?(yt=Te,Xe=k(me,Jn),Te=Xe):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r);else Ge=r;Ge!==r?(Te=Lr(),Te===r&&(Te=null),Te!==r?(t.charCodeAt(G)===58?(Xe=p,G++):(Xe=r,$e===0&&Me(m)),Xe!==r?(Et=Lr(),Et===r&&(Et=null),Et!==r?(Rt=Qa(),Rt!==r?(yt=R,q=T(me,Ge,Rt),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)}else G=R,R=r;else G=R,R=r}return R}function Qa(){var R,q,me,Ge,Te,Xe,Et;if(R=G,q=G,$e++,me=G,Ge=to(),Ge!==r?(Te=it(),Te!==r?(t.charCodeAt(G)===45?(Xe=o,G++):(Xe=r,$e===0&&Me(a)),Xe!==r?(Et=Lr(),Et!==r?(Ge=[Ge,Te,Xe,Et],me=Ge):(G=me,me=r)):(G=me,me=r)):(G=me,me=r)):(G=me,me=r),$e--,me!==r?(G=q,q=void 0):q=r,q!==r?(me=eo(),me!==r?(Ge=Po(),Ge!==r?(Te=_l(),Te!==r?(Xe=NA(),Xe!==r?(yt=R,q=Y(Te),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r&&(R=G,q=to(),q!==r?(me=Po(),me!==r?(Ge=Uu(),Ge!==r?(Te=NA(),Te!==r?(yt=R,q=Y(Ge),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r))if(R=G,q=Xl(),q!==r){if(me=[],Ge=eo(),Ge!==r)for(;Ge!==r;)me.push(Ge),Ge=eo();else me=r;me!==r?(yt=R,q=j(q),R=q):(G=R,R=r)}else G=R,R=r;return R}function va(){var R,q,me;for($e++,R=G,q=[],t.charCodeAt(G)===32?(me=J,G++):(me=r,$e===0&&Me(re));me!==r;)q.push(me),t.charCodeAt(G)===32?(me=J,G++):(me=r,$e===0&&Me(re));return q!==r?(yt=G,me=ee(q),me?me=void 0:me=r,me!==r?(q=[q,me],R=q):(G=R,R=r)):(G=R,R=r),$e--,R===r&&(q=r,$e===0&&Me(Z)),R}function it(){var R,q,me;for(R=G,q=[],t.charCodeAt(G)===32?(me=J,G++):(me=r,$e===0&&Me(re));me!==r;)q.push(me),t.charCodeAt(G)===32?(me=J,G++):(me=r,$e===0&&Me(re));return q!==r?(yt=G,me=A(q),me?me=void 0:me=r,me!==r?(q=[q,me],R=q):(G=R,R=r)):(G=R,R=r),R}function Po(){var R;return yt=G,R=oe(),R?R=void 0:R=r,R}function NA(){var R;return yt=G,R=le(),R?R=void 0:R=r,R}function Vl(){var R;return R=Zl(),R===r&&(R=Th()),R}function $s(){var R,q,me;if(R=Zl(),R===r){if(R=G,q=[],me=Gu(),me!==r)for(;me!==r;)q.push(me),me=Gu();else q=r;q!==r&&(yt=R,q=X()),R=q}return R}function Xl(){var R;return R=Oh(),R===r&&(R=DE(),R===r&&(R=Zl(),R===r&&(R=Th()))),R}function PE(){var R;return R=Oh(),R===r&&(R=Zl(),R===r&&(R=Gu())),R}function Th(){var R,q,me,Ge,Te,Xe;if($e++,R=G,L.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Me(pe)),q!==r){for(me=[],Ge=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(Ce.test(t.charAt(G))?(Xe=t.charAt(G),G++):(Xe=r,$e===0&&Me(Oe)),Xe!==r?(Te=[Te,Xe],Ge=Te):(G=Ge,Ge=r)):(G=Ge,Ge=r);Ge!==r;)me.push(Ge),Ge=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(Ce.test(t.charAt(G))?(Xe=t.charAt(G),G++):(Xe=r,$e===0&&Me(Oe)),Xe!==r?(Te=[Te,Xe],Ge=Te):(G=Ge,Ge=r)):(G=Ge,Ge=r);me!==r?(yt=R,q=te(),R=q):(G=R,R=r)}else G=R,R=r;return $e--,R===r&&(q=r,$e===0&&Me(O)),R}function Gu(){var R,q,me,Ge,Te;if(R=G,t.substr(G,2)===se?(q=se,G+=2):(q=r,$e===0&&Me(be)),q===r&&(q=null),q!==r)if(he.test(t.charAt(G))?(me=t.charAt(G),G++):(me=r,$e===0&&Me(Fe)),me!==r){for(Ge=[],Ue.test(t.charAt(G))?(Te=t.charAt(G),G++):(Te=r,$e===0&&Me(xe));Te!==r;)Ge.push(Te),Ue.test(t.charAt(G))?(Te=t.charAt(G),G++):(Te=r,$e===0&&Me(xe));Ge!==r?(yt=R,q=te(),R=q):(G=R,R=r)}else G=R,R=r;else G=R,R=r;return R}function Oh(){var R,q;return R=G,t.substr(G,4)===Se?(q=Se,G+=4):(q=r,$e===0&&Me(de)),q!==r&&(yt=R,q=V()),R=q,R}function DE(){var R,q;return R=G,t.substr(G,4)===Qe?(q=Qe,G+=4):(q=r,$e===0&&Me(ce)),q!==r&&(yt=R,q=fe()),R=q,R===r&&(R=G,t.substr(G,5)===gt?(q=gt,G+=5):(q=r,$e===0&&Me(Ht)),q!==r&&(yt=R,q=Mt()),R=q),R}function Zl(){var R,q,me,Ge;return $e++,R=G,t.charCodeAt(G)===34?(q=Gt,G++):(q=r,$e===0&&Me(Qr)),q!==r?(t.charCodeAt(G)===34?(me=Gt,G++):(me=r,$e===0&&Me(Qr)),me!==r?(yt=R,q=Ti(),R=q):(G=R,R=r)):(G=R,R=r),R===r&&(R=G,t.charCodeAt(G)===34?(q=Gt,G++):(q=r,$e===0&&Me(Qr)),q!==r?(me=RE(),me!==r?(t.charCodeAt(G)===34?(Ge=Gt,G++):(Ge=r,$e===0&&Me(Qr)),Ge!==r?(yt=R,q=Vs(me),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)),$e--,R===r&&(q=r,$e===0&&Me(mi)),R}function RE(){var R,q,me;if(R=G,q=[],me=ju(),me!==r)for(;me!==r;)q.push(me),me=ju();else q=r;return q!==r&&(yt=R,q=Un(q)),R=q,R}function ju(){var R,q,me,Ge,Te,Xe;return Hn.test(t.charAt(G))?(R=t.charAt(G),G++):(R=r,$e===0&&Me(vr)),R===r&&(R=G,t.substr(G,2)===Gn?(q=Gn,G+=2):(q=r,$e===0&&Me(gs)),q!==r&&(yt=R,q=ya()),R=q,R===r&&(R=G,t.substr(G,2)===kA?(q=kA,G+=2):(q=r,$e===0&&Me(Ru)),q!==r&&(yt=R,q=fs()),R=q,R===r&&(R=G,t.substr(G,2)===xA?(q=xA,G+=2):(q=r,$e===0&&Me(wa)),q!==r&&(yt=R,q=Fu()),R=q,R===r&&(R=G,t.substr(G,2)===PA?(q=PA,G+=2):(q=r,$e===0&&Me(DA)),q!==r&&(yt=R,q=Sr()),R=q,R===r&&(R=G,t.substr(G,2)===jl?(q=jl,G+=2):(q=r,$e===0&&Me(Nu)),q!==r&&(yt=R,q=So()),R=q,R===r&&(R=G,t.substr(G,2)===Lu?(q=Lu,G+=2):(q=r,$e===0&&Me(Sh)),q!==r&&(yt=R,q=kh()),R=q,R===r&&(R=G,t.substr(G,2)===ae?(q=ae,G+=2):(q=r,$e===0&&Me(Oi)),q!==r&&(yt=R,q=ko()),R=q,R===r&&(R=G,t.substr(G,2)===jn?(q=jn,G+=2):(q=r,$e===0&&Me(Tu)),q!==r&&(yt=R,q=vt()),R=q,R===r&&(R=G,t.substr(G,2)===Yl?(q=Yl,G+=2):(q=r,$e===0&&Me(Yn)),q!==r?(me=LA(),me!==r?(Ge=LA(),Ge!==r?(Te=LA(),Te!==r?(Xe=LA(),Xe!==r?(yt=R,q=hs(me,Ge,Te,Xe),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)))))))))),R}function LA(){var R;return ps.test(t.charAt(G))?(R=t.charAt(G),G++):(R=r,$e===0&&Me(pt)),R}function Lr(){var R,q;if($e++,R=[],lt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Me(mn)),q!==r)for(;q!==r;)R.push(q),lt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Me(mn));else R=r;return $e--,R===r&&(q=r,$e===0&&Me(xo)),R}function FE(){var R,q;if($e++,R=[],Tt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Me(Ou)),q!==r)for(;q!==r;)R.push(q),Tt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Me(Ou));else R=r;return $e--,R===r&&(q=r,$e===0&&Me(v)),R}function eo(){var R,q,me,Ge,Te,Xe;if(R=G,q=to(),q!==r){for(me=[],Ge=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(Xe=to(),Xe!==r?(Te=[Te,Xe],Ge=Te):(G=Ge,Ge=r)):(G=Ge,Ge=r);Ge!==r;)me.push(Ge),Ge=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(Xe=to(),Xe!==r?(Te=[Te,Xe],Ge=Te):(G=Ge,Ge=r)):(G=Ge,Ge=r);me!==r?(q=[q,me],R=q):(G=R,R=r)}else G=R,R=r;return R}function to(){var R;return t.substr(G,2)===ql?(R=ql,G+=2):(R=r,$e===0&&Me(xh)),R===r&&(t.charCodeAt(G)===10?(R=Ph,G++):(R=r,$e===0&&Me(Dh)),R===r&&(t.charCodeAt(G)===13?(R=Rh,G++):(R=r,$e===0&&Me(Fh)))),R}let Yu=2,TA=0;if(Ba=n(),Ba!==r&&G===t.length)return Ba;throw Ba!==r&&G{"use strict";var jde=t=>{let e=!1,r=!1,i=!1;for(let n=0;n{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(t)?t=t.map(n=>n.trim()).filter(n=>n.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=jde(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};nv.exports=dU;nv.exports.default=dU});var EU=w((c$e,mU)=>{mU.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var pc=w(Vn=>{"use strict";var IU=EU(),Fo=process.env;Object.defineProperty(Vn,"_vendors",{value:IU.map(function(t){return t.constant})});Vn.name=null;Vn.isPR=null;IU.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(i){return yU(i)});if(Vn[t.constant]=r,r)switch(Vn.name=t.name,typeof t.pr){case"string":Vn.isPR=!!Fo[t.pr];break;case"object":"env"in t.pr?Vn.isPR=t.pr.env in Fo&&Fo[t.pr.env]!==t.pr.ne:"any"in t.pr?Vn.isPR=t.pr.any.some(function(i){return!!Fo[i]}):Vn.isPR=yU(t.pr);break;default:Vn.isPR=null}});Vn.isCI=!!(Fo.CI||Fo.CONTINUOUS_INTEGRATION||Fo.BUILD_NUMBER||Fo.RUN_ID||Vn.name);function yU(t){return typeof t=="string"?!!Fo[t]:Object.keys(t).every(function(e){return Fo[e]===t[e]})}});var ag={};ft(ag,{KeyRelationship:()=>mc,applyCascade:()=>hp,base64RegExp:()=>vU,colorStringAlphaRegExp:()=>QU,colorStringRegExp:()=>bU,computeKey:()=>YA,getPrintable:()=>ti,hasExactLength:()=>DU,hasForbiddenKeys:()=>yCe,hasKeyRelationship:()=>gv,hasMaxLength:()=>nCe,hasMinLength:()=>iCe,hasMutuallyExclusiveKeys:()=>wCe,hasRequiredKeys:()=>ICe,hasUniqueItems:()=>sCe,isArray:()=>_de,isAtLeast:()=>ACe,isAtMost:()=>lCe,isBase64:()=>mCe,isBoolean:()=>Jde,isDate:()=>zde,isDict:()=>Xde,isEnum:()=>nn,isHexColor:()=>CCe,isISO8601:()=>dCe,isInExclusiveRange:()=>uCe,isInInclusiveRange:()=>cCe,isInstanceOf:()=>$de,isInteger:()=>gCe,isJSON:()=>ECe,isLiteral:()=>Yde,isLowerCase:()=>fCe,isNegative:()=>oCe,isNullable:()=>rCe,isNumber:()=>Wde,isObject:()=>Zde,isOneOf:()=>eCe,isOptional:()=>tCe,isPositive:()=>aCe,isString:()=>fp,isTuple:()=>Vde,isUUID4:()=>pCe,isUnknown:()=>PU,isUpperCase:()=>hCe,iso8601RegExp:()=>uv,makeCoercionFn:()=>Cc,makeSetter:()=>xU,makeTrait:()=>kU,makeValidator:()=>St,matchesRegExp:()=>pp,plural:()=>mI,pushError:()=>mt,simpleKeyRegExp:()=>BU,uuid4RegExp:()=>SU});function St({test:t}){return kU(t)()}function ti(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function YA(t,e){var r,i,n;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:BU.test(e)?`${(i=t==null?void 0:t.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=t==null?void 0:t.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function Cc(t,e){return r=>{let i=t[e];return t[e]=r,Cc(t,e).bind(null,i)}}function xU(t,e){return r=>{t[e]=r}}function mI(t,e,r){return t===1?e:r}function mt({errors:t,p:e}={},r){return t==null||t.push(`${e!=null?e:"."}: ${r}`),!1}function Yde(t){return St({test:(e,r)=>e!==t?mt(r,`Expected a literal (got ${ti(t)})`):!0})}function nn(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return St({test:(i,n)=>r.has(i)?!0:mt(n,`Expected a valid enumeration value (got ${ti(i)})`)})}var BU,bU,QU,vU,SU,uv,kU,PU,fp,qde,Jde,Wde,zde,_de,Vde,Xde,Zde,$de,eCe,hp,tCe,rCe,iCe,nCe,DU,sCe,oCe,aCe,ACe,lCe,cCe,uCe,gCe,pp,fCe,hCe,pCe,dCe,CCe,mCe,ECe,ICe,yCe,wCe,mc,BCe,gv,Is=ffe(()=>{BU=/^[a-zA-Z_][a-zA-Z0-9_]*$/,bU=/^#[0-9a-f]{6}$/i,QU=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,vU=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,SU=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,uv=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,kU=t=>()=>t;PU=()=>St({test:(t,e)=>!0});fp=()=>St({test:(t,e)=>typeof t!="string"?mt(e,`Expected a string (got ${ti(t)})`):!0});qde=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),Jde=()=>St({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i=qde.get(t);if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a boolean (got ${ti(t)})`)}return!0}}),Wde=()=>St({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch(s){}if(typeof n=="number")if(JSON.stringify(n)===t)i=n;else return mt(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a number (got ${ti(t)})`)}return!0}}),zde=()=>St({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i;if(typeof t=="string"&&uv.test(t))i=new Date(t);else{let n;if(typeof t=="string"){let s;try{s=JSON.parse(t)}catch(o){}typeof s=="number"&&(n=s)}else typeof t=="number"&&(n=t);if(typeof n!="undefined")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return mt(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a date (got ${ti(t)})`)}return!0}}),_de=(t,{delimiter:e}={})=>St({test:(r,i)=>{var n;if(typeof r=="string"&&typeof e!="undefined"&&typeof(i==null?void 0:i.coercions)!="undefined"){if(typeof(i==null?void 0:i.coercion)=="undefined")return mt(i,"Unbound coercion result");r=r.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,r)])}if(!Array.isArray(r))return mt(i,`Expected an array (got ${ti(r)})`);let s=!0;for(let o=0,a=r.length;o{let r=DU(t.length);return St({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e!="undefined"&&typeof(n==null?void 0:n.coercions)!="undefined"){if(typeof(n==null?void 0:n.coercion)=="undefined")return mt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return mt(n,`Expected a tuple (got ${ti(i)})`);let o=r(i,Object.assign({},n));for(let a=0,l=i.length;aSt({test:(r,i)=>{if(typeof r!="object"||r===null)return mt(i,`Expected an object (got ${ti(r)})`);let n=Object.keys(r),s=!0;for(let o=0,a=n.length;o{let r=Object.keys(t);return St({test:(i,n)=>{if(typeof i!="object"||i===null)return mt(n,`Expected an object (got ${ti(i)})`);let s=new Set([...r,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=mt(Object.assign(Object.assign({},n),{p:YA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(t,l)?t[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!="undefined"?a=c(u,Object.assign(Object.assign({},n),{p:YA(n,l),coercion:Cc(i,l)}))&&a:e===null?a=mt(Object.assign(Object.assign({},n),{p:YA(n,l)}),`Extraneous property (got ${ti(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:xU(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},$de=t=>St({test:(e,r)=>e instanceof t?!0:mt(r,`Expected an instance of ${t.name} (got ${ti(e)})`)}),eCe=(t,{exclusive:e=!1}={})=>St({test:(r,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!="undefined"?[]:void 0;for(let c=0,u=t.length;c1?mt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),hp=(t,e)=>St({test:(r,i)=>{var n,s;let o={value:r},a=typeof(i==null?void 0:i.coercions)!="undefined"?Cc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)!="undefined"?[]:void 0;if(!t(r,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!="undefined")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!="undefined"){if(o.value!==r){if(typeof(i==null?void 0:i.coercion)=="undefined")return mt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),tCe=t=>St({test:(e,r)=>typeof e=="undefined"?!0:t(e,r)}),rCe=t=>St({test:(e,r)=>e===null?!0:t(e,r)}),iCe=t=>St({test:(e,r)=>e.length>=t?!0:mt(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),nCe=t=>St({test:(e,r)=>e.length<=t?!0:mt(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),DU=t=>St({test:(e,r)=>e.length!==t?mt(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),sCe=({map:t}={})=>St({test:(e,r)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sSt({test:(t,e)=>t<=0?!0:mt(e,`Expected to be negative (got ${t})`)}),aCe=()=>St({test:(t,e)=>t>=0?!0:mt(e,`Expected to be positive (got ${t})`)}),ACe=t=>St({test:(e,r)=>e>=t?!0:mt(r,`Expected to be at least ${t} (got ${e})`)}),lCe=t=>St({test:(e,r)=>e<=t?!0:mt(r,`Expected to be at most ${t} (got ${e})`)}),cCe=(t,e)=>St({test:(r,i)=>r>=t&&r<=e?!0:mt(i,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),uCe=(t,e)=>St({test:(r,i)=>r>=t&&rSt({test:(e,r)=>e!==Math.round(e)?mt(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:mt(r,`Expected to be a safe integer (got ${e})`)}),pp=t=>St({test:(e,r)=>t.test(e)?!0:mt(r,`Expected to match the pattern ${t.toString()} (got ${ti(e)})`)}),fCe=()=>St({test:(t,e)=>t!==t.toLowerCase()?mt(e,`Expected to be all-lowercase (got ${t})`):!0}),hCe=()=>St({test:(t,e)=>t!==t.toUpperCase()?mt(e,`Expected to be all-uppercase (got ${t})`):!0}),pCe=()=>St({test:(t,e)=>SU.test(t)?!0:mt(e,`Expected to be a valid UUID v4 (got ${ti(t)})`)}),dCe=()=>St({test:(t,e)=>uv.test(t)?!1:mt(e,`Expected to be a valid ISO 8601 date string (got ${ti(t)})`)}),CCe=({alpha:t=!1})=>St({test:(e,r)=>(t?bU.test(e):QU.test(e))?!0:mt(r,`Expected to be a valid hexadecimal color string (got ${ti(e)})`)}),mCe=()=>St({test:(t,e)=>vU.test(t)?!0:mt(e,`Expected to be a valid base 64 string (got ${ti(t)})`)}),ECe=(t=PU())=>St({test:(e,r)=>{let i;try{i=JSON.parse(e)}catch(n){return mt(r,`Expected to be a valid JSON string (got ${ti(e)})`)}return t(i,r)}}),ICe=t=>{let e=new Set(t);return St({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?mt(i,`Missing required ${mI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},yCe=t=>{let e=new Set(t);return St({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?mt(i,`Forbidden ${mI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},wCe=t=>{let e=new Set(t);return St({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?mt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(mc||(mc={}));BCe={[mc.Forbids]:{expect:!1,message:"forbids using"},[mc.Requires]:{expect:!0,message:"requires using"}},gv=(t,e,r,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(r),o=BCe[e];return St({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(t)||n.has(a[t]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?mt(l,`Property "${t}" ${o.message} ${mI(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var VU=w((get,_U)=>{"use strict";_U.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var lg=w((fet,Ev)=>{"use strict";var UCe=VU(),XU=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,i=()=>{r--,e.length>0&&e.shift()()},n=(a,l,...c)=>{r++;let u=UCe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{rnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),o};Ev.exports=XU;Ev.exports.default=XU});var Ep=w((pet,ZU)=>{var HCe="2.0.0",GCe=256,jCe=Number.MAX_SAFE_INTEGER||9007199254740991,YCe=16;ZU.exports={SEMVER_SPEC_VERSION:HCe,MAX_LENGTH:GCe,MAX_SAFE_INTEGER:jCe,MAX_SAFE_COMPONENT_LENGTH:YCe}});var Ip=w((det,$U)=>{var qCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};$U.exports=qCe});var Ec=w((JA,e2)=>{var{MAX_SAFE_COMPONENT_LENGTH:Iv}=Ep(),JCe=Ip();JA=e2.exports={};var WCe=JA.re=[],tt=JA.src=[],rt=JA.t={},zCe=0,kt=(t,e,r)=>{let i=zCe++;JCe(i,e),rt[t]=i,tt[i]=e,WCe[i]=new RegExp(e,r?"g":void 0)};kt("NUMERICIDENTIFIER","0|[1-9]\\d*");kt("NUMERICIDENTIFIERLOOSE","[0-9]+");kt("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");kt("MAINVERSION",`(${tt[rt.NUMERICIDENTIFIER]})\\.(${tt[rt.NUMERICIDENTIFIER]})\\.(${tt[rt.NUMERICIDENTIFIER]})`);kt("MAINVERSIONLOOSE",`(${tt[rt.NUMERICIDENTIFIERLOOSE]})\\.(${tt[rt.NUMERICIDENTIFIERLOOSE]})\\.(${tt[rt.NUMERICIDENTIFIERLOOSE]})`);kt("PRERELEASEIDENTIFIER",`(?:${tt[rt.NUMERICIDENTIFIER]}|${tt[rt.NONNUMERICIDENTIFIER]})`);kt("PRERELEASEIDENTIFIERLOOSE",`(?:${tt[rt.NUMERICIDENTIFIERLOOSE]}|${tt[rt.NONNUMERICIDENTIFIER]})`);kt("PRERELEASE",`(?:-(${tt[rt.PRERELEASEIDENTIFIER]}(?:\\.${tt[rt.PRERELEASEIDENTIFIER]})*))`);kt("PRERELEASELOOSE",`(?:-?(${tt[rt.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${tt[rt.PRERELEASEIDENTIFIERLOOSE]})*))`);kt("BUILDIDENTIFIER","[0-9A-Za-z-]+");kt("BUILD",`(?:\\+(${tt[rt.BUILDIDENTIFIER]}(?:\\.${tt[rt.BUILDIDENTIFIER]})*))`);kt("FULLPLAIN",`v?${tt[rt.MAINVERSION]}${tt[rt.PRERELEASE]}?${tt[rt.BUILD]}?`);kt("FULL",`^${tt[rt.FULLPLAIN]}$`);kt("LOOSEPLAIN",`[v=\\s]*${tt[rt.MAINVERSIONLOOSE]}${tt[rt.PRERELEASELOOSE]}?${tt[rt.BUILD]}?`);kt("LOOSE",`^${tt[rt.LOOSEPLAIN]}$`);kt("GTLT","((?:<|>)?=?)");kt("XRANGEIDENTIFIERLOOSE",`${tt[rt.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);kt("XRANGEIDENTIFIER",`${tt[rt.NUMERICIDENTIFIER]}|x|X|\\*`);kt("XRANGEPLAIN",`[v=\\s]*(${tt[rt.XRANGEIDENTIFIER]})(?:\\.(${tt[rt.XRANGEIDENTIFIER]})(?:\\.(${tt[rt.XRANGEIDENTIFIER]})(?:${tt[rt.PRERELEASE]})?${tt[rt.BUILD]}?)?)?`);kt("XRANGEPLAINLOOSE",`[v=\\s]*(${tt[rt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${tt[rt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${tt[rt.XRANGEIDENTIFIERLOOSE]})(?:${tt[rt.PRERELEASELOOSE]})?${tt[rt.BUILD]}?)?)?`);kt("XRANGE",`^${tt[rt.GTLT]}\\s*${tt[rt.XRANGEPLAIN]}$`);kt("XRANGELOOSE",`^${tt[rt.GTLT]}\\s*${tt[rt.XRANGEPLAINLOOSE]}$`);kt("COERCE",`(^|[^\\d])(\\d{1,${Iv}})(?:\\.(\\d{1,${Iv}}))?(?:\\.(\\d{1,${Iv}}))?(?:$|[^\\d])`);kt("COERCERTL",tt[rt.COERCE],!0);kt("LONETILDE","(?:~>?)");kt("TILDETRIM",`(\\s*)${tt[rt.LONETILDE]}\\s+`,!0);JA.tildeTrimReplace="$1~";kt("TILDE",`^${tt[rt.LONETILDE]}${tt[rt.XRANGEPLAIN]}$`);kt("TILDELOOSE",`^${tt[rt.LONETILDE]}${tt[rt.XRANGEPLAINLOOSE]}$`);kt("LONECARET","(?:\\^)");kt("CARETTRIM",`(\\s*)${tt[rt.LONECARET]}\\s+`,!0);JA.caretTrimReplace="$1^";kt("CARET",`^${tt[rt.LONECARET]}${tt[rt.XRANGEPLAIN]}$`);kt("CARETLOOSE",`^${tt[rt.LONECARET]}${tt[rt.XRANGEPLAINLOOSE]}$`);kt("COMPARATORLOOSE",`^${tt[rt.GTLT]}\\s*(${tt[rt.LOOSEPLAIN]})$|^$`);kt("COMPARATOR",`^${tt[rt.GTLT]}\\s*(${tt[rt.FULLPLAIN]})$|^$`);kt("COMPARATORTRIM",`(\\s*)${tt[rt.GTLT]}\\s*(${tt[rt.LOOSEPLAIN]}|${tt[rt.XRANGEPLAIN]})`,!0);JA.comparatorTrimReplace="$1$2$3";kt("HYPHENRANGE",`^\\s*(${tt[rt.XRANGEPLAIN]})\\s+-\\s+(${tt[rt.XRANGEPLAIN]})\\s*$`);kt("HYPHENRANGELOOSE",`^\\s*(${tt[rt.XRANGEPLAINLOOSE]})\\s+-\\s+(${tt[rt.XRANGEPLAINLOOSE]})\\s*$`);kt("STAR","(<|>)?=?\\s*\\*");kt("GTE0","^\\s*>=\\s*0.0.0\\s*$");kt("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var yp=w((Cet,t2)=>{var _Ce=["includePrerelease","loose","rtl"],VCe=t=>t?typeof t!="object"?{loose:!0}:_Ce.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};t2.exports=VCe});var QI=w((met,r2)=>{var i2=/^[0-9]+$/,n2=(t,e)=>{let r=i2.test(t),i=i2.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:tn2(e,t);r2.exports={compareIdentifiers:n2,rcompareIdentifiers:XCe}});var Hi=w((Eet,s2)=>{var vI=Ip(),{MAX_LENGTH:o2,MAX_SAFE_INTEGER:SI}=Ep(),{re:a2,t:A2}=Ec(),ZCe=yp(),{compareIdentifiers:wp}=QI(),ws=class{constructor(e,r){if(r=ZCe(r),e instanceof ws){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>o2)throw new TypeError(`version is longer than ${o2} characters`);vI("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=e.trim().match(r.loose?a2[A2.LOOSE]:a2[A2.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>SI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>SI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>SI||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}r&&(this.prerelease[0]===r?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};s2.exports=ws});var Ic=w((Iet,l2)=>{var{MAX_LENGTH:$Ce}=Ep(),{re:c2,t:u2}=Ec(),g2=Hi(),eme=yp(),tme=(t,e)=>{if(e=eme(e),t instanceof g2)return t;if(typeof t!="string"||t.length>$Ce||!(e.loose?c2[u2.LOOSE]:c2[u2.FULL]).test(t))return null;try{return new g2(t,e)}catch(i){return null}};l2.exports=tme});var h2=w((yet,f2)=>{var rme=Ic(),ime=(t,e)=>{let r=rme(t,e);return r?r.version:null};f2.exports=ime});var d2=w((wet,p2)=>{var nme=Ic(),sme=(t,e)=>{let r=nme(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};p2.exports=sme});var m2=w((Bet,C2)=>{var ome=Hi(),ame=(t,e,r,i)=>{typeof r=="string"&&(i=r,r=void 0);try{return new ome(t,r).inc(e,i).version}catch(n){return null}};C2.exports=ame});var Bs=w((bet,E2)=>{var I2=Hi(),Ame=(t,e,r)=>new I2(t,r).compare(new I2(e,r));E2.exports=Ame});var kI=w((Qet,y2)=>{var lme=Bs(),cme=(t,e,r)=>lme(t,e,r)===0;y2.exports=cme});var b2=w((vet,w2)=>{var B2=Ic(),ume=kI(),gme=(t,e)=>{if(ume(t,e))return null;{let r=B2(t),i=B2(e),n=r.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in r)if((a==="major"||a==="minor"||a==="patch")&&r[a]!==i[a])return s+a;return o}};w2.exports=gme});var v2=w((ket,Q2)=>{var fme=Hi(),hme=(t,e)=>new fme(t,e).major;Q2.exports=hme});var k2=w((xet,S2)=>{var pme=Hi(),dme=(t,e)=>new pme(t,e).minor;S2.exports=dme});var P2=w((Pet,x2)=>{var Cme=Hi(),mme=(t,e)=>new Cme(t,e).patch;x2.exports=mme});var R2=w((Det,D2)=>{var Eme=Ic(),Ime=(t,e)=>{let r=Eme(t,e);return r&&r.prerelease.length?r.prerelease:null};D2.exports=Ime});var N2=w((Ret,F2)=>{var yme=Bs(),wme=(t,e,r)=>yme(e,t,r);F2.exports=wme});var T2=w((Fet,L2)=>{var Bme=Bs(),bme=(t,e)=>Bme(t,e,!0);L2.exports=bme});var xI=w((Net,O2)=>{var M2=Hi(),Qme=(t,e,r)=>{let i=new M2(t,r),n=new M2(e,r);return i.compare(n)||i.compareBuild(n)};O2.exports=Qme});var U2=w((Let,K2)=>{var vme=xI(),Sme=(t,e)=>t.sort((r,i)=>vme(r,i,e));K2.exports=Sme});var G2=w((Tet,H2)=>{var kme=xI(),xme=(t,e)=>t.sort((r,i)=>kme(i,r,e));H2.exports=xme});var Bp=w((Oet,j2)=>{var Pme=Bs(),Dme=(t,e,r)=>Pme(t,e,r)>0;j2.exports=Dme});var PI=w((Met,Y2)=>{var Rme=Bs(),Fme=(t,e,r)=>Rme(t,e,r)<0;Y2.exports=Fme});var yv=w((Ket,q2)=>{var Nme=Bs(),Lme=(t,e,r)=>Nme(t,e,r)!==0;q2.exports=Lme});var DI=w((Uet,J2)=>{var Tme=Bs(),Ome=(t,e,r)=>Tme(t,e,r)>=0;J2.exports=Ome});var RI=w((Het,W2)=>{var Mme=Bs(),Kme=(t,e,r)=>Mme(t,e,r)<=0;W2.exports=Kme});var wv=w((Get,z2)=>{var Ume=kI(),Hme=yv(),Gme=Bp(),jme=DI(),Yme=PI(),qme=RI(),Jme=(t,e,r,i)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Ume(t,r,i);case"!=":return Hme(t,r,i);case">":return Gme(t,r,i);case">=":return jme(t,r,i);case"<":return Yme(t,r,i);case"<=":return qme(t,r,i);default:throw new TypeError(`Invalid operator: ${e}`)}};z2.exports=Jme});var V2=w((jet,_2)=>{var Wme=Hi(),zme=Ic(),{re:FI,t:NI}=Ec(),_me=(t,e)=>{if(t instanceof Wme)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(FI[NI.COERCE]);else{let i;for(;(i=FI[NI.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),FI[NI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;FI[NI.COERCERTL].lastIndex=-1}return r===null?null:zme(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};_2.exports=_me});var Z2=w((Yet,X2)=>{"use strict";X2.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var bp=w((qet,$2)=>{"use strict";$2.exports=jt;jt.Node=yc;jt.create=jt;function jt(t){var e=this;if(e instanceof jt||(e=new jt),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else if(this.head)i=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)r=t(r,i.value,n),i=i.next;return r};jt.prototype.reduceReverse=function(t,e){var r,i=this.tail;if(arguments.length>1)r=e;else if(this.tail)i=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)r=t(r,i.value,n),i=i.prev;return r};jt.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};jt.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};jt.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new jt;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>t;i--,n=n.prev)r.push(n.value);return r};jt.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,n=this.head;n!==null&&i{"use strict";var $me=bp(),wc=Symbol("max"),Oa=Symbol("length"),cg=Symbol("lengthCalculator"),Qp=Symbol("allowStale"),Bc=Symbol("maxAge"),Ma=Symbol("dispose"),tH=Symbol("noDisposeOnSet"),Ii=Symbol("lruList"),so=Symbol("cache"),rH=Symbol("updateAgeOnGet"),Bv=()=>1,iH=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[wc]=e.max||Infinity,i=e.length||Bv;if(this[cg]=typeof i!="function"?Bv:i,this[Qp]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[Bc]=e.maxAge||0,this[Ma]=e.dispose,this[tH]=e.noDisposeOnSet||!1,this[rH]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[wc]=e||Infinity,vp(this)}get max(){return this[wc]}set allowStale(e){this[Qp]=!!e}get allowStale(){return this[Qp]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[Bc]=e,vp(this)}get maxAge(){return this[Bc]}set lengthCalculator(e){typeof e!="function"&&(e=Bv),e!==this[cg]&&(this[cg]=e,this[Oa]=0,this[Ii].forEach(r=>{r.length=this[cg](r.value,r.key),this[Oa]+=r.length})),vp(this)}get lengthCalculator(){return this[cg]}get length(){return this[Oa]}get itemCount(){return this[Ii].length}rforEach(e,r){r=r||this;for(let i=this[Ii].tail;i!==null;){let n=i.prev;sH(this,e,i,r),i=n}}forEach(e,r){r=r||this;for(let i=this[Ii].head;i!==null;){let n=i.next;sH(this,e,i,r),i=n}}keys(){return this[Ii].toArray().map(e=>e.key)}values(){return this[Ii].toArray().map(e=>e.value)}reset(){this[Ma]&&this[Ii]&&this[Ii].length&&this[Ii].forEach(e=>this[Ma](e.key,e.value)),this[so]=new Map,this[Ii]=new $me,this[Oa]=0}dump(){return this[Ii].map(e=>LI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Ii]}set(e,r,i){if(i=i||this[Bc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[cg](r,e);if(this[so].has(e)){if(s>this[wc])return ug(this,this[so].get(e)),!1;let l=this[so].get(e).value;return this[Ma]&&(this[tH]||this[Ma](e,l.value)),l.now=n,l.maxAge=i,l.value=r,this[Oa]+=s-l.length,l.length=s,this.get(e),vp(this),!0}let o=new nH(e,r,s,n,i);return o.length>this[wc]?(this[Ma]&&this[Ma](e,r),!1):(this[Oa]+=o.length,this[Ii].unshift(o),this[so].set(e,this[Ii].head),vp(this),!0)}has(e){if(!this[so].has(e))return!1;let r=this[so].get(e).value;return!LI(this,r)}get(e){return bv(this,e,!0)}peek(e){return bv(this,e,!1)}pop(){let e=this[Ii].tail;return e?(ug(this,e),e.value):null}del(e){ug(this,this[so].get(e))}load(e){this.reset();let r=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-r;o>0&&this.set(n.k,n.v,o)}}}prune(){this[so].forEach((e,r)=>bv(this,r,!1))}},bv=(t,e,r)=>{let i=t[so].get(e);if(i){let n=i.value;if(LI(t,n)){if(ug(t,i),!t[Qp])return}else r&&(t[rH]&&(i.value.now=Date.now()),t[Ii].unshiftNode(i));return n.value}},LI=(t,e)=>{if(!e||!e.maxAge&&!t[Bc])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[Bc]&&r>t[Bc]},vp=t=>{if(t[Oa]>t[wc])for(let e=t[Ii].tail;t[Oa]>t[wc]&&e!==null;){let r=e.prev;ug(t,e),e=r}},ug=(t,e)=>{if(e){let r=e.value;t[Ma]&&t[Ma](r.key,r.value),t[Oa]-=r.length,t[so].delete(r.key),t[Ii].removeNode(e)}},nH=class{constructor(e,r,i,n,s){this.key=e,this.value=r,this.length=i,this.now=n,this.maxAge=s||0}},sH=(t,e,r,i)=>{let n=r.value;LI(t,n)&&(ug(t,r),t[Qp]||(n=void 0)),n&&e.call(i,n.value,n.key,t)};eH.exports=iH});var bs=w((Wet,aH)=>{var gg=class{constructor(e,r){if(r=eEe(r),e instanceof gg)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new gg(e.raw,r);if(e instanceof Qv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!lH(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&sEe(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=AH.get(i);if(n)return n;let s=this.options.loose,o=s?Gi[ki.HYPHENRANGELOOSE]:Gi[ki.HYPHENRANGE];e=e.replace(o,AEe(this.options.includePrerelease)),zr("hyphen replace",e),e=e.replace(Gi[ki.COMPARATORTRIM],rEe),zr("comparator trim",e,Gi[ki.COMPARATORTRIM]),e=e.replace(Gi[ki.TILDETRIM],iEe),e=e.replace(Gi[ki.CARETTRIM],nEe),e=e.split(/\s+/).join(" ");let a=s?Gi[ki.COMPARATORLOOSE]:Gi[ki.COMPARATOR],l=e.split(" ").map(f=>oEe(f,this.options)).join(" ").split(/\s+/).map(f=>aEe(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new Qv(f,this.options)),c=l.length,u=new Map;for(let f of l){if(lH(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return AH.set(i,g),g}intersects(e,r){if(!(e instanceof gg))throw new TypeError("a Range is required");return this.set.some(i=>cH(i,r)&&e.set.some(n=>cH(n,r)&&i.every(s=>n.every(o=>s.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new tEe(e,this.options)}catch(r){return!1}for(let r=0;rt.value==="<0.0.0-0",sEe=t=>t.value==="",cH=(t,e)=>{let r=!0,i=t.slice(),n=i.pop();for(;r&&i.length;)r=i.every(s=>n.intersects(s,e)),n=i.pop();return r},oEe=(t,e)=>(zr("comp",t,e),t=gEe(t,e),zr("caret",t),t=uEe(t,e),zr("tildes",t),t=fEe(t,e),zr("xrange",t),t=hEe(t,e),zr("stars",t),t),on=t=>!t||t.toLowerCase()==="x"||t==="*",uEe=(t,e)=>t.trim().split(/\s+/).map(r=>pEe(r,e)).join(" "),pEe=(t,e)=>{let r=e.loose?Gi[ki.TILDELOOSE]:Gi[ki.TILDE];return t.replace(r,(i,n,s,o,a)=>{zr("tilde",t,i,n,s,o,a);let l;return on(n)?l="":on(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:on(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(zr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,zr("tilde return",l),l})},gEe=(t,e)=>t.trim().split(/\s+/).map(r=>dEe(r,e)).join(" "),dEe=(t,e)=>{zr("caret",t,e);let r=e.loose?Gi[ki.CARETLOOSE]:Gi[ki.CARET],i=e.includePrerelease?"-0":"";return t.replace(r,(n,s,o,a,l)=>{zr("caret",t,n,s,o,a,l);let c;return on(s)?c="":on(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:on(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(zr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(zr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),zr("caret return",c),c})},fEe=(t,e)=>(zr("replaceXRanges",t,e),t.split(/\s+/).map(r=>CEe(r,e)).join(" ")),CEe=(t,e)=>{t=t.trim();let r=e.loose?Gi[ki.XRANGELOOSE]:Gi[ki.XRANGE];return t.replace(r,(i,n,s,o,a,l)=>{zr("xRange",t,i,n,s,o,a,l);let c=on(s),u=c||on(o),g=u||on(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),zr("xRange return",i),i})},hEe=(t,e)=>(zr("replaceStars",t,e),t.trim().replace(Gi[ki.STAR],"")),aEe=(t,e)=>(zr("replaceGTE0",t,e),t.trim().replace(Gi[e.includePrerelease?ki.GTE0PRE:ki.GTE0],"")),AEe=t=>(e,r,i,n,s,o,a,l,c,u,g,f,h)=>(on(i)?r="":on(n)?r=`>=${i}.0.0${t?"-0":""}`:on(s)?r=`>=${i}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,on(c)?l="":on(u)?l=`<${+c+1}.0.0-0`:on(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:t?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${r} ${l}`.trim()),lEe=(t,e,r)=>{for(let i=0;i0){let n=t[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Sp=w((zet,uH)=>{var kp=Symbol("SemVer ANY"),xp=class{static get ANY(){return kp}constructor(e,r){if(r=mEe(r),e instanceof xp){if(e.loose===!!r.loose)return e;e=e.value}Sv("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===kp?this.value="":this.value=this.operator+this.semver.version,Sv("comp",this)}parse(e){let r=this.options.loose?gH[fH.COMPARATORLOOSE]:gH[fH.COMPARATOR],i=e.match(r);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new hH(i[2],this.options.loose):this.semver=kp}toString(){return this.value}test(e){if(Sv("Comparator.test",e,this.options.loose),this.semver===kp||e===kp)return!0;if(typeof e=="string")try{e=new hH(e,this.options)}catch(r){return!1}return vv(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof xp))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new pH(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new pH(this.value,r).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=vv(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=vv(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};uH.exports=xp;var mEe=yp(),{re:gH,t:fH}=Ec(),vv=wv(),Sv=Ip(),hH=Hi(),pH=bs()});var Pp=w((_et,dH)=>{var EEe=bs(),IEe=(t,e,r)=>{try{e=new EEe(e,r)}catch(i){return!1}return e.test(t)};dH.exports=IEe});var mH=w((Vet,CH)=>{var yEe=bs(),wEe=(t,e)=>new yEe(t,e).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));CH.exports=wEe});var IH=w((Xet,EH)=>{var BEe=Hi(),bEe=bs(),QEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new bEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new BEe(i,r))}),i};EH.exports=QEe});var wH=w((Zet,yH)=>{var vEe=Hi(),SEe=bs(),kEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new SEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new vEe(i,r))}),i};yH.exports=kEe});var QH=w(($et,BH)=>{var kv=Hi(),xEe=bs(),bH=Bp(),PEe=(t,e)=>{t=new xEe(t,e);let r=new kv("0.0.0");if(t.test(r)||(r=new kv("0.0.0-0"),t.test(r)))return r;r=null;for(let i=0;i{let a=new kv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||bH(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!r||bH(r,s))&&(r=s)}return r&&t.test(r)?r:null};BH.exports=PEe});var SH=w((ett,vH)=>{var DEe=bs(),REe=(t,e)=>{try{return new DEe(t,e).range||"*"}catch(r){return null}};vH.exports=REe});var TI=w((ttt,kH)=>{var FEe=Hi(),xH=Sp(),{ANY:NEe}=xH,LEe=bs(),TEe=Pp(),PH=Bp(),DH=PI(),OEe=RI(),MEe=DI(),KEe=(t,e,r,i)=>{t=new FEe(t,i),e=new LEe(e,i);let n,s,o,a,l;switch(r){case">":n=PH,s=OEe,o=DH,a=">",l=">=";break;case"<":n=DH,s=MEe,o=PH,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(TEe(t,e,i))return!1;for(let c=0;c{h.semver===NEe&&(h=new xH(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(t,f.semver))return!1;if(f.operator===l&&o(t,f.semver))return!1}return!0};kH.exports=KEe});var FH=w((rtt,RH)=>{var UEe=TI(),HEe=(t,e,r)=>UEe(t,e,">",r);RH.exports=HEe});var LH=w((itt,NH)=>{var GEe=TI(),jEe=(t,e,r)=>GEe(t,e,"<",r);NH.exports=jEe});var MH=w((ntt,TH)=>{var OH=bs(),YEe=(t,e,r)=>(t=new OH(t,r),e=new OH(e,r),t.intersects(e));TH.exports=YEe});var UH=w((stt,KH)=>{var qEe=Pp(),JEe=Bs();KH.exports=(t,e,r)=>{let i=[],n=null,s=null,o=t.sort((u,g)=>JEe(u,g,r));for(let u of o)qEe(u,e,r)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var GH=bs(),OI=Sp(),{ANY:xv}=OI,Dp=Pp(),Pv=Bs(),zEe=(t,e,r={})=>{if(t===e)return!0;t=new GH(t,r),e=new GH(e,r);let i=!1;e:for(let n of t.set){for(let s of e.set){let o=WEe(n,s,r);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},WEe=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===xv){if(e.length===1&&e[0].semver===xv)return!0;r.includePrerelease?t=[new OI(">=0.0.0-0")]:t=[new OI(">=0.0.0")]}if(e.length===1&&e[0].semver===xv){if(r.includePrerelease)return!0;e=[new OI(">=0.0.0")]}let i=new Set,n,s;for(let h of t)h.operator===">"||h.operator===">="?n=jH(n,h,r):h.operator==="<"||h.operator==="<="?s=YH(s,h,r):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=Pv(n.semver,s.semver,r),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!Dp(h,String(n),r)||s&&!Dp(h,String(s),r))return null;for(let p of e)if(!Dp(h,String(p),r))return!1;return!0}let a,l,c,u,g=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=jH(n,h,r),a===h&&a!==n)return!1}else if(n.operator===">="&&!Dp(n.semver,String(h),r))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=YH(s,h,r),l===h&&l!==s)return!1}else if(s.operator==="<="&&!Dp(s.semver,String(h),r))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},jH=(t,e,r)=>{if(!t)return e;let i=Pv(t.semver,e.semver,r);return i>0?t:i<0||e.operator===">"&&t.operator===">="?e:t},YH=(t,e,r)=>{if(!t)return e;let i=Pv(t.semver,e.semver,r);return i<0?t:i>0||e.operator==="<"&&t.operator==="<="?e:t};HH.exports=zEe});var ri=w((att,JH)=>{var Dv=Ec();JH.exports={re:Dv.re,src:Dv.src,tokens:Dv.t,SEMVER_SPEC_VERSION:Ep().SEMVER_SPEC_VERSION,SemVer:Hi(),compareIdentifiers:QI().compareIdentifiers,rcompareIdentifiers:QI().rcompareIdentifiers,parse:Ic(),valid:h2(),clean:d2(),inc:m2(),diff:b2(),major:v2(),minor:k2(),patch:P2(),prerelease:R2(),compare:Bs(),rcompare:N2(),compareLoose:T2(),compareBuild:xI(),sort:U2(),rsort:G2(),gt:Bp(),lt:PI(),eq:kI(),neq:yv(),gte:DI(),lte:RI(),cmp:wv(),coerce:V2(),Comparator:Sp(),Range:bs(),satisfies:Pp(),toComparators:mH(),maxSatisfying:IH(),minSatisfying:wH(),minVersion:QH(),validRange:SH(),outside:TI(),gtr:FH(),ltr:LH(),intersects:MH(),simplifyRange:UH(),subset:qH()}});var Rv=w(MI=>{"use strict";Object.defineProperty(MI,"__esModule",{value:!0});MI.VERSION=void 0;MI.VERSION="9.1.0"});var Yt=w((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var i=0,n=e.length,s;i{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof KI=="object"&&KI.exports?KI.exports=e():t.regexpToAst=e()})(typeof self!="undefined"?self:WH,function(){function t(){}t.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},t.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},t.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var m=this.disjunction();this.consumeChar("/");for(var y={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(y,"global");break;case"i":o(y,"ignoreCase");break;case"m":o(y,"multiLine");break;case"u":o(y,"unicode");break;case"y":o(y,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:y,value:m,loc:this.loc(0)}},t.prototype.disjunction=function(){var p=[],m=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(m)}},t.prototype.alternative=function(){for(var p=[],m=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(m)}},t.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},t.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var m;switch(this.popChar()){case"=":m="Lookahead";break;case"!":m="NegativeLookahead";break}a(m);var y=this.disjunction();return this.consumeChar(")"),{type:m,value:y,loc:this.loc(p)}}l()},t.prototype.quantifier=function(p){var m,y=this.idx;switch(this.popChar()){case"*":m={atLeast:0,atMost:Infinity};break;case"+":m={atLeast:1,atMost:Infinity};break;case"?":m={atLeast:0,atMost:1};break;case"{":var b=this.integerIncludingZero();switch(this.popChar()){case"}":m={atLeast:b,atMost:b};break;case",":var S;this.isDigit()?(S=this.integerIncludingZero(),m={atLeast:b,atMost:S}):m={atLeast:b,atMost:Infinity},this.consumeChar("}");break}if(p===!0&&m===void 0)return;a(m);break}if(!(p===!0&&m===void 0))return a(m),this.peekChar(0)==="?"?(this.consumeChar("?"),m.greedy=!1):m.greedy=!0,m.type="Quantifier",m.loc=this.loc(y),m},t.prototype.atom=function(){var p,m=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(m),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},t.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` +`),n("\r"),n("\u2028"),n("\u2029")]}},t.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},t.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},t.prototype.characterClassEscape=function(){var p,m=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,m=!0;break;case"s":p=f;break;case"S":p=f,m=!0;break;case"w":p=g;break;case"W":p=g,m=!0;break}return a(p),{type:"Set",value:p,complement:m}},t.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` +`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},t.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var m=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:m}},t.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},t.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},t.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},t.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},t.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},t.prototype.characterClass=function(){var p=[],m=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),m=!0);this.isClassAtom();){var y=this.classAtom(),b=y.type==="Character";if(b&&this.isRangeDash()){this.consumeChar("-");var S=this.classAtom(),k=S.type==="Character";if(k){if(S.value=this.input.length)throw Error("Unexpected end of input");this.idx++},t.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,r=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,m){p.length!==void 0?p.forEach(function(y){m.push(y)}):m.push(p)}function o(p,m){if(p[m]===!0)throw"duplicate flag "+m;p[m]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` +`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var m in p){var y=p[m];p.hasOwnProperty(m)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(b){this.visit(b)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:t,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var GI=w(fg=>{"use strict";Object.defineProperty(fg,"__esModule",{value:!0});fg.clearRegExpParserCache=fg.getRegExpAst=void 0;var _Ee=UI(),HI={},VEe=new _Ee.RegExpParser;function XEe(t){var e=t.toString();if(HI.hasOwnProperty(e))return HI[e];var r=VEe.pattern(e);return HI[e]=r,r}fg.getRegExpAst=XEe;function ZEe(){HI={}}fg.clearRegExpParserCache=ZEe});var ZH=w(Bn=>{"use strict";var $Ee=Bn&&Bn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Bn,"__esModule",{value:!0});Bn.canMatchCharCode=Bn.firstCharOptimizedIndices=Bn.getOptimizedStartCodesIndices=Bn.failedOptimizationPrefixMsg=void 0;var zH=UI(),Qs=Yt(),_H=GI(),Ka=Fv(),VH="Complement Sets are not supported for first char optimization";Bn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: +`;function eIe(t,e){e===void 0&&(e=!1);try{var r=(0,_H.getRegExpAst)(t),i=jI(r.value,{},r.flags.ignoreCase);return i}catch(s){if(s.message===VH)e&&(0,Qs.PRINT_WARNING)(""+Bn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+t.toString()+` > +`)+` Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,Qs.PRINT_ERROR)(Bn.failedOptimizationPrefixMsg+` +`+(" Failed parsing: < "+t.toString()+` > +`)+(" Using the regexp-to-ast library version: "+zH.VERSION+` +`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}Bn.getOptimizedStartCodesIndices=eIe;function jI(t,e,r){switch(t.type){case"Disjunction":for(var i=0;i=Ka.minOptimizationVal)for(var f=u.from>=Ka.minOptimizationVal?u.from:Ka.minOptimizationVal,h=u.to,p=(0,Ka.charCodeToOptimizedIndex)(f),m=(0,Ka.charCodeToOptimizedIndex)(h),y=p;y<=m;y++)e[y]=y}}});break;case"Group":jI(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&Nv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,Qs.values)(e)}Bn.firstCharOptimizedIndices=jI;function YI(t,e,r){var i=(0,Ka.charCodeToOptimizedIndex)(t);e[i]=i,r===!0&&tIe(t,e)}function tIe(t,e){var r=String.fromCharCode(t),i=r.toUpperCase();if(i!==r){var n=(0,Ka.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=r.toLowerCase();if(s!==r){var n=(0,Ka.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function XH(t,e){return(0,Qs.find)(t.value,function(r){if(typeof r=="number")return(0,Qs.contains)(e,r);var i=r;return(0,Qs.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function Nv(t){return t.quantifier&&t.quantifier.atLeast===0?!0:t.value?(0,Qs.isArray)(t.value)?(0,Qs.every)(t.value,Nv):Nv(t.value):!1}var rIe=function(t){$Ee(e,t);function e(r){var i=t.call(this)||this;return i.targetCharCodes=r,i.found=!1,i}return e.prototype.visitChildren=function(r){if(this.found!==!0){switch(r.type){case"Lookahead":this.visitLookahead(r);return;case"NegativeLookahead":this.visitNegativeLookahead(r);return}t.prototype.visitChildren.call(this,r)}},e.prototype.visitCharacter=function(r){(0,Qs.contains)(this.targetCharCodes,r.value)&&(this.found=!0)},e.prototype.visitSet=function(r){r.complement?XH(r,this.targetCharCodes)===void 0&&(this.found=!0):XH(r,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(zH.BaseRegExpVisitor);function iIe(t,e){if(e instanceof RegExp){var r=(0,_H.getRegExpAst)(e),i=new rIe(t);return i.visit(r),i.found}else return(0,Qs.find)(e,function(n){return(0,Qs.contains)(t,n.charCodeAt(0))})!==void 0}Bn.canMatchCharCode=iIe});var Fv=w(Ze=>{"use strict";var $H=Ze&&Ze.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Ze,"__esModule",{value:!0});Ze.charCodeToOptimizedIndex=Ze.minOptimizationVal=Ze.buildLineBreakIssueMessage=Ze.LineTerminatorOptimizedTester=Ze.isShortPattern=Ze.isCustomPattern=Ze.cloneEmptyGroups=Ze.performWarningRuntimeChecks=Ze.performRuntimeChecks=Ze.addStickyFlag=Ze.addStartOfInput=Ze.findUnreachablePatterns=Ze.findModesThatDoNotExist=Ze.findInvalidGroupType=Ze.findDuplicatePatterns=Ze.findUnsupportedFlags=Ze.findStartOfInputAnchor=Ze.findEmptyMatchRegExps=Ze.findEndOfInputAnchor=Ze.findInvalidPatterns=Ze.findMissingPatterns=Ze.validatePatterns=Ze.analyzeTokenTypes=Ze.enableSticky=Ze.disableSticky=Ze.SUPPORT_STICKY=Ze.MODES=Ze.DEFAULT_MODE=void 0;var eG=UI(),Ar=Rp(),Ne=Yt(),hg=ZH(),tG=GI(),Lo="PATTERN";Ze.DEFAULT_MODE="defaultMode";Ze.MODES="modes";Ze.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function nIe(){Ze.SUPPORT_STICKY=!1}Ze.disableSticky=nIe;function sIe(){Ze.SUPPORT_STICKY=!0}Ze.enableSticky=sIe;function aIe(t,e){e=(0,Ne.defaults)(e,{useSticky:Ze.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:function(S,k){return k()}});var r=e.tracer;r("initCharCodeToOptimizedIndexMap",function(){oIe()});var i;r("Reject Lexer.NA",function(){i=(0,Ne.reject)(t,function(S){return S[Lo]===Ar.Lexer.NA})});var n=!1,s;r("Transform Patterns",function(){n=!1,s=(0,Ne.map)(i,function(S){var k=S[Lo];if((0,Ne.isRegExp)(k)){var T=k.source;return T.length===1&&T!=="^"&&T!=="$"&&T!=="."&&!k.ignoreCase?T:T.length===2&&T[0]==="\\"&&!(0,Ne.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],T[1])?T[1]:e.useSticky?Tv(k):Lv(k)}else{if((0,Ne.isFunction)(k))return n=!0,{exec:k};if((0,Ne.has)(k,"exec"))return n=!0,k;if(typeof k=="string"){if(k.length===1)return k;var Y=k.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(Y);return e.useSticky?Tv(j):Lv(j)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;r("misc mapping",function(){o=(0,Ne.map)(i,function(S){return S.tokenTypeIdx}),a=(0,Ne.map)(i,function(S){var k=S.GROUP;if(k!==Ar.Lexer.SKIPPED){if((0,Ne.isString)(k))return k;if((0,Ne.isUndefined)(k))return!1;throw Error("non exhaustive match")}}),l=(0,Ne.map)(i,function(S){var k=S.LONGER_ALT;if(k){var T=(0,Ne.isArray)(k)?(0,Ne.map)(k,function(Y){return(0,Ne.indexOf)(i,Y)}):[(0,Ne.indexOf)(i,k)];return T}}),c=(0,Ne.map)(i,function(S){return S.PUSH_MODE}),u=(0,Ne.map)(i,function(S){return(0,Ne.has)(S,"POP_MODE")})});var g;r("Line Terminator Handling",function(){var S=nG(e.lineTerminatorCharacters);g=(0,Ne.map)(i,function(k){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,Ne.map)(i,function(k){if((0,Ne.has)(k,"LINE_BREAKS"))return k.LINE_BREAKS;if(iG(k,S)===!1)return(0,hg.canMatchCharCode)(S,k.PATTERN)}))});var f,h,p,m;r("Misc Mapping #2",function(){f=(0,Ne.map)(i,Ov),h=(0,Ne.map)(s,rG),p=(0,Ne.reduce)(i,function(S,k){var T=k.GROUP;return(0,Ne.isString)(T)&&T!==Ar.Lexer.SKIPPED&&(S[T]=[]),S},{}),m=(0,Ne.map)(s,function(S,k){return{pattern:s[k],longerAlt:l[k],canLineTerminator:g[k],isCustom:f[k],short:h[k],group:a[k],push:c[k],pop:u[k],tokenTypeIdx:o[k],tokenType:i[k]}})});var y=!0,b=[];return e.safeMode||r("First Char Optimization",function(){b=(0,Ne.reduce)(i,function(S,k,T){if(typeof k.PATTERN=="string"){var Y=k.PATTERN.charCodeAt(0),j=Kv(Y);Mv(S,j,m[T])}else if((0,Ne.isArray)(k.START_CHARS_HINT)){var Z;(0,Ne.forEach)(k.START_CHARS_HINT,function(re){var ee=typeof re=="string"?re.charCodeAt(0):re,A=Kv(ee);Z!==A&&(Z=A,Mv(S,A,m[T]))})}else if((0,Ne.isRegExp)(k.PATTERN))if(k.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,Ne.PRINT_ERROR)(""+hg.failedOptimizationPrefixMsg+(" Unable to analyze < "+k.PATTERN.toString()+` > pattern. +`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var J=(0,hg.getOptimizedStartCodesIndices)(k.PATTERN,e.ensureOptimizations);(0,Ne.isEmpty)(J)&&(y=!1),(0,Ne.forEach)(J,function(re){Mv(S,re,m[T])})}else e.ensureOptimizations&&(0,Ne.PRINT_ERROR)(""+hg.failedOptimizationPrefixMsg+(" TokenType: <"+k.name+`> is using a custom token pattern without providing parameter. +`)+` This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return S},[])}),r("ArrayPacking",function(){b=(0,Ne.packArray)(b)}),{emptyGroups:p,patternIdxToConfig:m,charCodeToPatternIdxToConfig:b,hasCustom:n,canBeOptimized:y}}Ze.analyzeTokenTypes=aIe;function lIe(t,e){var r=[],i=sG(t);r=r.concat(i.errors);var n=oG(i.valid),s=n.valid;return r=r.concat(n.errors),r=r.concat(AIe(s)),r=r.concat(aG(s)),r=r.concat(AG(s,e)),r=r.concat(lG(s)),r}Ze.validatePatterns=lIe;function AIe(t){var e=[],r=(0,Ne.filter)(t,function(i){return(0,Ne.isRegExp)(i[Lo])});return e=e.concat(cG(r)),e=e.concat(gG(r)),e=e.concat(fG(r)),e=e.concat(hG(r)),e=e.concat(uG(r)),e}function sG(t){var e=(0,Ne.filter)(t,function(n){return!(0,Ne.has)(n,Lo)}),r=(0,Ne.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:Ar.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,Ne.difference)(t,e);return{errors:r,valid:i}}Ze.findMissingPatterns=sG;function oG(t){var e=(0,Ne.filter)(t,function(n){var s=n[Lo];return!(0,Ne.isRegExp)(s)&&!(0,Ne.isFunction)(s)&&!(0,Ne.has)(s,"exec")&&!(0,Ne.isString)(s)}),r=(0,Ne.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Ar.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,Ne.difference)(t,e);return{errors:r,valid:i}}Ze.findInvalidPatterns=oG;var cIe=/[^\\][\$]/;function cG(t){var e=function(n){$H(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(eG.BaseRegExpVisitor),r=(0,Ne.filter)(t,function(n){var s=n[Lo];try{var o=(0,tG.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return cIe.test(s.source)}}),i=(0,Ne.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ar.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ze.findEndOfInputAnchor=cG;function uG(t){var e=(0,Ne.filter)(t,function(i){var n=i[Lo];return n.test("")}),r=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:Ar.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return r}Ze.findEmptyMatchRegExps=uG;var uIe=/[^\\[][\^]|^\^/;function gG(t){var e=function(n){$H(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(eG.BaseRegExpVisitor),r=(0,Ne.filter)(t,function(n){var s=n[Lo];try{var o=(0,tG.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return uIe.test(s.source)}}),i=(0,Ne.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ar.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ze.findStartOfInputAnchor=gG;function fG(t){var e=(0,Ne.filter)(t,function(i){var n=i[Lo];return n instanceof RegExp&&(n.multiline||n.global)}),r=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Ar.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return r}Ze.findUnsupportedFlags=fG;function hG(t){var e=[],r=(0,Ne.map)(t,function(s){return(0,Ne.reduce)(t,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,Ne.contains)(e,a)&&a.PATTERN!==Ar.Lexer.NA&&(e.push(a),o.push(a)),o},[])});r=(0,Ne.compact)(r);var i=(0,Ne.filter)(r,function(s){return s.length>1}),n=(0,Ne.map)(i,function(s){var o=(0,Ne.map)(s,function(l){return l.name}),a=(0,Ne.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:Ar.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ze.findDuplicatePatterns=hG;function aG(t){var e=(0,Ne.filter)(t,function(i){if(!(0,Ne.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==Ar.Lexer.SKIPPED&&n!==Ar.Lexer.NA&&!(0,Ne.isString)(n)}),r=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Ar.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return r}Ze.findInvalidGroupType=aG;function AG(t,e){var r=(0,Ne.filter)(t,function(n){return n.PUSH_MODE!==void 0&&!(0,Ne.contains)(e,n.PUSH_MODE)}),i=(0,Ne.map)(r,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:Ar.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ze.findModesThatDoNotExist=AG;function lG(t){var e=[],r=(0,Ne.reduce)(t,function(i,n,s){var o=n.PATTERN;return o===Ar.Lexer.NA||((0,Ne.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,Ne.isRegExp)(o)&&fIe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,Ne.forEach)(t,function(i,n){(0,Ne.forEach)(r,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:Ar.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ze.findUnreachablePatterns=lG;function gIe(t,e){if((0,Ne.isRegExp)(e)){var r=e.exec(t);return r!==null&&r.index===0}else{if((0,Ne.isFunction)(e))return e(t,0,[],{});if((0,Ne.has)(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function fIe(t){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,Ne.find)(e,function(r){return t.source.indexOf(r)!==-1})===void 0}function Lv(t){var e=t.ignoreCase?"i":"";return new RegExp("^(?:"+t.source+")",e)}Ze.addStartOfInput=Lv;function Tv(t){var e=t.ignoreCase?"iy":"y";return new RegExp(""+t.source,e)}Ze.addStickyFlag=Tv;function hIe(t,e,r){var i=[];return(0,Ne.has)(t,Ze.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ze.DEFAULT_MODE+`> property in its definition +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,Ne.has)(t,Ze.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ze.MODES+`> property in its definition +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,Ne.has)(t,Ze.MODES)&&(0,Ne.has)(t,Ze.DEFAULT_MODE)&&!(0,Ne.has)(t.modes,t.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+Ze.DEFAULT_MODE+": <"+t.defaultMode+`>which does not exist +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,Ne.has)(t,Ze.MODES)&&(0,Ne.forEach)(t.modes,function(n,s){(0,Ne.forEach)(n,function(o,a){(0,Ne.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> +`),type:Ar.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ze.performRuntimeChecks=hIe;function pIe(t,e,r){var i=[],n=!1,s=(0,Ne.compact)((0,Ne.flatten)((0,Ne.mapValues)(t.modes,function(l){return l}))),o=(0,Ne.reject)(s,function(l){return l[Lo]===Ar.Lexer.NA}),a=nG(r);return e&&(0,Ne.forEach)(o,function(l){var c=iG(l,a);if(c!==!1){var u=pG(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,Ne.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,hg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`,type:Ar.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ze.performWarningRuntimeChecks=pIe;function dIe(t){var e={},r=(0,Ne.keys)(t);return(0,Ne.forEach)(r,function(i){var n=t[i];if((0,Ne.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Ze.cloneEmptyGroups=dIe;function Ov(t){var e=t.PATTERN;if((0,Ne.isRegExp)(e))return!1;if((0,Ne.isFunction)(e))return!0;if((0,Ne.has)(e,"exec"))return!0;if((0,Ne.isString)(e))return!1;throw Error("non exhaustive match")}Ze.isCustomPattern=Ov;function rG(t){return(0,Ne.isString)(t)&&t.length===1?t.charCodeAt(0):!1}Ze.isShortPattern=rG;Ze.LineTerminatorOptimizedTester={test:function(t){for(var e=t.length,r=this.lastIndex;r Token Type +`)+(" Root cause: "+e.errMsg+`. +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===Ar.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. +`+(" The problem is in the <"+t.name+`> Token Type +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ze.buildLineBreakIssueMessage=pG;function nG(t){var e=(0,Ne.map)(t,function(r){return(0,Ne.isString)(r)&&r.length>0?r.charCodeAt(0):r});return e}function Mv(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}Ze.minOptimizationVal=256;var qI=[];function Kv(t){return t255?255+~~(t/255):t}}});var pg=w(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.isTokenType=Ft.hasExtendingTokensTypesMapProperty=Ft.hasExtendingTokensTypesProperty=Ft.hasCategoriesProperty=Ft.hasShortKeyProperty=Ft.singleAssignCategoriesToksMap=Ft.assignCategoriesMapProp=Ft.assignCategoriesTokensProp=Ft.assignTokenDefaultProps=Ft.expandCategories=Ft.augmentTokenTypes=Ft.tokenIdxToClass=Ft.tokenShortNameIdx=Ft.tokenStructuredMatcherNoCategories=Ft.tokenStructuredMatcher=void 0;var ii=Yt();function CIe(t,e){var r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}Ft.tokenStructuredMatcher=CIe;function mIe(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}Ft.tokenStructuredMatcherNoCategories=mIe;Ft.tokenShortNameIdx=1;Ft.tokenIdxToClass={};function EIe(t){var e=dG(t);CG(e),EG(e),mG(e),(0,ii.forEach)(e,function(r){r.isParent=r.categoryMatches.length>0})}Ft.augmentTokenTypes=EIe;function dG(t){for(var e=(0,ii.cloneArr)(t),r=t,i=!0;i;){r=(0,ii.compact)((0,ii.flatten)((0,ii.map)(r,function(s){return s.CATEGORIES})));var n=(0,ii.difference)(r,e);e=e.concat(n),(0,ii.isEmpty)(n)?i=!1:r=n}return e}Ft.expandCategories=dG;function CG(t){(0,ii.forEach)(t,function(e){IG(e)||(Ft.tokenIdxToClass[Ft.tokenShortNameIdx]=e,e.tokenTypeIdx=Ft.tokenShortNameIdx++),Uv(e)&&!(0,ii.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Uv(e)||(e.CATEGORIES=[]),yG(e)||(e.categoryMatches=[]),wG(e)||(e.categoryMatchesMap={})})}Ft.assignTokenDefaultProps=CG;function mG(t){(0,ii.forEach)(t,function(e){e.categoryMatches=[],(0,ii.forEach)(e.categoryMatchesMap,function(r,i){e.categoryMatches.push(Ft.tokenIdxToClass[i].tokenTypeIdx)})})}Ft.assignCategoriesTokensProp=mG;function EG(t){(0,ii.forEach)(t,function(e){Hv([],e)})}Ft.assignCategoriesMapProp=EG;function Hv(t,e){(0,ii.forEach)(t,function(r){e.categoryMatchesMap[r.tokenTypeIdx]=!0}),(0,ii.forEach)(e.CATEGORIES,function(r){var i=t.concat(e);(0,ii.contains)(i,r)||Hv(i,r)})}Ft.singleAssignCategoriesToksMap=Hv;function IG(t){return(0,ii.has)(t,"tokenTypeIdx")}Ft.hasShortKeyProperty=IG;function Uv(t){return(0,ii.has)(t,"CATEGORIES")}Ft.hasCategoriesProperty=Uv;function yG(t){return(0,ii.has)(t,"categoryMatches")}Ft.hasExtendingTokensTypesProperty=yG;function wG(t){return(0,ii.has)(t,"categoryMatchesMap")}Ft.hasExtendingTokensTypesMapProperty=wG;function IIe(t){return(0,ii.has)(t,"tokenTypeIdx")}Ft.isTokenType=IIe});var Gv=w(JI=>{"use strict";Object.defineProperty(JI,"__esModule",{value:!0});JI.defaultLexerErrorProvider=void 0;JI.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(t){return"Unable to pop Lexer Mode after encountering Token ->"+t.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(t,e,r,i,n){return"unexpected character: ->"+t.charAt(e)+"<- at offset: "+e+","+(" skipped "+r+" characters.")}}});var Rp=w(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.Lexer=bc.LexerDefinitionErrorType=void 0;var oo=Fv(),lr=Yt(),yIe=pg(),wIe=Gv(),BIe=GI(),bIe;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(bIe=bc.LexerDefinitionErrorType||(bc.LexerDefinitionErrorType={}));var Fp={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:wIe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(Fp);var QIe=function(){function t(e,r){var i=this;if(r===void 0&&(r=Fp),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=(0,lr.merge)(Fp,r);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=Infinity,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===Fp.lineTerminatorsPattern)i.config.lineTerminatorsPattern=oo.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===Fp.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,lr.isArray)(e)?(s={modes:{}},s.modes[oo.DEFAULT_MODE]=(0,lr.cloneArr)(e),s[oo.DEFAULT_MODE]=oo.DEFAULT_MODE):(o=!1,s=(0,lr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,oo.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,oo.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,lr.forEach)(s.modes,function(u,g){s.modes[g]=(0,lr.reject)(u,function(f){return(0,lr.isUndefined)(f)})});var a=(0,lr.keys)(s.modes);if((0,lr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,oo.validatePatterns)(u,a))}),(0,lr.isEmpty)(i.lexerDefinitionErrors)){(0,yIe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,oo.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,lr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,lr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,lr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+c)}(0,lr.forEach)(i.lexerDefinitionWarning,function(u){(0,lr.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(oo.SUPPORT_STICKY?(i.chopInput=lr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=lr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=lr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=lr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=lr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,lr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(r.ensureOptimizations&&!(0,lr.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,BIe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,lr.toFastProperties)(i)})})}return t.prototype.tokenize=function(e,r){if(r===void 0&&(r=this.defaultMode),!(0,lr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,lr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+n)}var s=this.tokenizeInternal(e,r);return s},t.prototype.tokenizeInternal=function(e,r){var i=this,n,s,o,a,l,c,u,g,f,h,p,m,y,b,S,k,T=e,Y=T.length,j=0,Z=0,J=this.hasCustom?0:Math.floor(e.length/10),re=new Array(J),ee=[],A=this.trackStartLines?1:void 0,oe=this.trackStartLines?1:void 0,le=(0,oo.cloneEmptyGroups)(this.emptyGroups),X=this.trackStartLines,O=this.config.lineTerminatorsPattern,L=0,pe=[],Ce=[],Oe=[],te=[];Object.freeze(te);var se=void 0;function be(){return pe}function he(vr){var Gn=(0,oo.charCodeToOptimizedIndex)(vr),gs=Ce[Gn];return gs===void 0?te:gs}var Fe=function(vr){if(Oe.length===1&&vr.tokenType.PUSH_MODE===void 0){var Gn=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(vr);ee.push({offset:vr.startOffset,line:vr.startLine!==void 0?vr.startLine:void 0,column:vr.startColumn!==void 0?vr.startColumn:void 0,length:vr.image.length,message:Gn})}else{Oe.pop();var gs=(0,lr.last)(Oe);pe=i.patternIdxToConfig[gs],Ce=i.charCodeToPatternIdxToConfig[gs],L=pe.length;var ya=i.canModeBeOptimized[gs]&&i.config.safeMode===!1;Ce&&ya?se=he:se=be}};function Ue(vr){Oe.push(vr),Ce=this.charCodeToPatternIdxToConfig[vr],pe=this.patternIdxToConfig[vr],L=pe.length,L=pe.length;var Gn=this.canModeBeOptimized[vr]&&this.config.safeMode===!1;Ce&&Gn?se=he:se=be}Ue.call(this,r);for(var xe;jc.length){c=a,u=g,xe=gt;break}}}break}}if(c!==null){if(f=c.length,h=xe.group,h!==void 0&&(p=xe.tokenTypeIdx,m=this.createTokenInstance(c,j,p,xe.tokenType,A,oe,f),this.handlePayload(m,u),h===!1?Z=this.addToken(re,Z,m):le[h].push(m)),e=this.chopInput(e,f),j=j+f,oe=this.computeNewColumn(oe,f),X===!0&&xe.canLineTerminator===!0){var Mt=0,mi=void 0,Gt=void 0;O.lastIndex=0;do mi=O.test(c),mi===!0&&(Gt=O.lastIndex-1,Mt++);while(mi===!0);Mt!==0&&(A=A+Mt,oe=f-Gt,this.updateTokenEndLineColumnLocation(m,h,Gt,Mt,A,oe,f))}this.handleModes(xe,Fe,Ue,m)}else{for(var Qr=j,Ti=A,Vs=oe,Un=!1;!Un&&j <"+e+">");var n=(0,lr.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",t.NA=/NOT_APPLICABLE/,t}();bc.Lexer=QIe});var WA=w(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.tokenMatcher=xi.createTokenInstance=xi.EOF=xi.createToken=xi.hasTokenLabel=xi.tokenName=xi.tokenLabel=void 0;var ao=Yt(),vIe=Rp(),jv=pg();function SIe(t){return BG(t)?t.LABEL:t.name}xi.tokenLabel=SIe;function kIe(t){return t.name}xi.tokenName=kIe;function BG(t){return(0,ao.isString)(t.LABEL)&&t.LABEL!==""}xi.hasTokenLabel=BG;var xIe="parent",bG="categories",QG="label",vG="group",SG="push_mode",kG="pop_mode",xG="longer_alt",PG="line_breaks",DG="start_chars_hint";function RG(t){return PIe(t)}xi.createToken=RG;function PIe(t){var e=t.pattern,r={};if(r.name=t.name,(0,ao.isUndefined)(e)||(r.PATTERN=e),(0,ao.has)(t,xIe))throw`The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,ao.has)(t,bG)&&(r.CATEGORIES=t[bG]),(0,jv.augmentTokenTypes)([r]),(0,ao.has)(t,QG)&&(r.LABEL=t[QG]),(0,ao.has)(t,vG)&&(r.GROUP=t[vG]),(0,ao.has)(t,kG)&&(r.POP_MODE=t[kG]),(0,ao.has)(t,SG)&&(r.PUSH_MODE=t[SG]),(0,ao.has)(t,xG)&&(r.LONGER_ALT=t[xG]),(0,ao.has)(t,PG)&&(r.LINE_BREAKS=t[PG]),(0,ao.has)(t,DG)&&(r.START_CHARS_HINT=t[DG]),r}xi.EOF=RG({name:"EOF",pattern:vIe.Lexer.NA});(0,jv.augmentTokenTypes)([xi.EOF]);function DIe(t,e,r,i,n,s,o,a){return{image:e,startOffset:r,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}xi.createTokenInstance=DIe;function RIe(t,e){return(0,jv.tokenStructuredMatcher)(t,e)}xi.tokenMatcher=RIe});var bn=w(Vt=>{"use strict";var Ua=Vt&&Vt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Vt,"__esModule",{value:!0});Vt.serializeProduction=Vt.serializeGrammar=Vt.Terminal=Vt.Alternation=Vt.RepetitionWithSeparator=Vt.Repetition=Vt.RepetitionMandatoryWithSeparator=Vt.RepetitionMandatory=Vt.Option=Vt.Alternative=Vt.Rule=Vt.NonTerminal=Vt.AbstractProduction=void 0;var fr=Yt(),FIe=WA(),To=function(){function t(e){this._definition=e}return Object.defineProperty(t.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),t.prototype.accept=function(e){e.visit(this),(0,fr.forEach)(this.definition,function(r){r.accept(e)})},t}();Vt.AbstractProduction=To;var FG=function(t){Ua(e,t);function e(r){var i=t.call(this,[])||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(r){},enumerable:!1,configurable:!0}),e.prototype.accept=function(r){r.visit(this)},e}(To);Vt.NonTerminal=FG;var NG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.orgText="",(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Rule=NG;var LG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.ignoreAmbiguities=!1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Alternative=LG;var TG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Option=TG;var OG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.RepetitionMandatory=OG;var MG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.RepetitionMandatoryWithSeparator=MG;var KG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Repetition=KG;var UG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.RepetitionWithSeparator=UG;var HG=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(r){this._definition=r},enumerable:!1,configurable:!0}),e}(To);Vt.Alternation=HG;var WI=function(){function t(e){this.idx=1,(0,fr.assign)(this,(0,fr.pick)(e,function(r){return r!==void 0}))}return t.prototype.accept=function(e){e.visit(this)},t}();Vt.Terminal=WI;function NIe(t){return(0,fr.map)(t,Np)}Vt.serializeGrammar=NIe;function Np(t){function e(s){return(0,fr.map)(s,Np)}if(t instanceof FG){var r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return(0,fr.isString)(t.label)&&(r.label=t.label),r}else{if(t instanceof LG)return{type:"Alternative",definition:e(t.definition)};if(t instanceof TG)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof OG)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof MG)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Np(new WI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof UG)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Np(new WI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof KG)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof HG)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof WI){var i={type:"Terminal",name:t.terminalType.name,label:(0,FIe.tokenLabel)(t.terminalType),idx:t.idx};(0,fr.isString)(t.label)&&(i.terminalLabel=t.label);var n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(i.pattern=(0,fr.isRegExp)(n)?n.source:n),i}else{if(t instanceof NG)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}Vt.serializeProduction=Np});var _I=w(zI=>{"use strict";Object.defineProperty(zI,"__esModule",{value:!0});zI.RestWalker=void 0;var Yv=Yt(),Qn=bn(),LIe=function(){function t(){}return t.prototype.walk=function(e,r){var i=this;r===void 0&&(r=[]),(0,Yv.forEach)(e.definition,function(n,s){var o=(0,Yv.drop)(e.definition,s+1);if(n instanceof Qn.NonTerminal)i.walkProdRef(n,o,r);else if(n instanceof Qn.Terminal)i.walkTerminal(n,o,r);else if(n instanceof Qn.Alternative)i.walkFlat(n,o,r);else if(n instanceof Qn.Option)i.walkOption(n,o,r);else if(n instanceof Qn.RepetitionMandatory)i.walkAtLeastOne(n,o,r);else if(n instanceof Qn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,r);else if(n instanceof Qn.RepetitionWithSeparator)i.walkManySep(n,o,r);else if(n instanceof Qn.Repetition)i.walkMany(n,o,r);else if(n instanceof Qn.Alternation)i.walkOr(n,o,r);else throw Error("non exhaustive match")})},t.prototype.walkTerminal=function(e,r,i){},t.prototype.walkProdRef=function(e,r,i){},t.prototype.walkFlat=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkOption=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkAtLeastOne=function(e,r,i){var n=[new Qn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkAtLeastOneSep=function(e,r,i){var n=GG(e,r,i);this.walk(e,n)},t.prototype.walkMany=function(e,r,i){var n=[new Qn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkManySep=function(e,r,i){var n=GG(e,r,i);this.walk(e,n)},t.prototype.walkOr=function(e,r,i){var n=this,s=r.concat(i);(0,Yv.forEach)(e.definition,function(o){var a=new Qn.Alternative({definition:[o]});n.walk(a,s)})},t}();zI.RestWalker=LIe;function GG(t,e,r){var i=[new Qn.Option({definition:[new Qn.Terminal({terminalType:t.separator})].concat(t.definition)})],n=i.concat(e,r);return n}});var dg=w(VI=>{"use strict";Object.defineProperty(VI,"__esModule",{value:!0});VI.GAstVisitor=void 0;var Oo=bn(),TIe=function(){function t(){}return t.prototype.visit=function(e){var r=e;switch(r.constructor){case Oo.NonTerminal:return this.visitNonTerminal(r);case Oo.Alternative:return this.visitAlternative(r);case Oo.Option:return this.visitOption(r);case Oo.RepetitionMandatory:return this.visitRepetitionMandatory(r);case Oo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(r);case Oo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(r);case Oo.Repetition:return this.visitRepetition(r);case Oo.Alternation:return this.visitAlternation(r);case Oo.Terminal:return this.visitTerminal(r);case Oo.Rule:return this.visitRule(r);default:throw Error("non exhaustive match")}},t.prototype.visitNonTerminal=function(e){},t.prototype.visitAlternative=function(e){},t.prototype.visitOption=function(e){},t.prototype.visitRepetition=function(e){},t.prototype.visitRepetitionMandatory=function(e){},t.prototype.visitRepetitionMandatoryWithSeparator=function(e){},t.prototype.visitRepetitionWithSeparator=function(e){},t.prototype.visitAlternation=function(e){},t.prototype.visitTerminal=function(e){},t.prototype.visitRule=function(e){},t}();VI.GAstVisitor=TIe});var Tp=w(ji=>{"use strict";var OIe=ji&&ji.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(ji,"__esModule",{value:!0});ji.collectMethods=ji.DslMethodsCollectorVisitor=ji.getProductionDslName=ji.isBranchingProd=ji.isOptionalProd=ji.isSequenceProd=void 0;var Lp=Yt(),kr=bn(),MIe=dg();function KIe(t){return t instanceof kr.Alternative||t instanceof kr.Option||t instanceof kr.Repetition||t instanceof kr.RepetitionMandatory||t instanceof kr.RepetitionMandatoryWithSeparator||t instanceof kr.RepetitionWithSeparator||t instanceof kr.Terminal||t instanceof kr.Rule}ji.isSequenceProd=KIe;function qv(t,e){e===void 0&&(e=[]);var r=t instanceof kr.Option||t instanceof kr.Repetition||t instanceof kr.RepetitionWithSeparator;return r?!0:t instanceof kr.Alternation?(0,Lp.some)(t.definition,function(i){return qv(i,e)}):t instanceof kr.NonTerminal&&(0,Lp.contains)(e,t)?!1:t instanceof kr.AbstractProduction?(t instanceof kr.NonTerminal&&e.push(t),(0,Lp.every)(t.definition,function(i){return qv(i,e)})):!1}ji.isOptionalProd=qv;function UIe(t){return t instanceof kr.Alternation}ji.isBranchingProd=UIe;function HIe(t){if(t instanceof kr.NonTerminal)return"SUBRULE";if(t instanceof kr.Option)return"OPTION";if(t instanceof kr.Alternation)return"OR";if(t instanceof kr.RepetitionMandatory)return"AT_LEAST_ONE";if(t instanceof kr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(t instanceof kr.RepetitionWithSeparator)return"MANY_SEP";if(t instanceof kr.Repetition)return"MANY";if(t instanceof kr.Terminal)return"CONSUME";throw Error("non exhaustive match")}ji.getProductionDslName=HIe;var jG=function(t){OIe(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.separator="-",r.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},r}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(r){var i=r.terminalType.name+this.separator+"Terminal";(0,Lp.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitNonTerminal=function(r){var i=r.nonTerminalName+this.separator+"Terminal";(0,Lp.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitOption=function(r){this.dslMethods.option.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.dslMethods.repetitionWithSeparator.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.dslMethods.repetitionMandatory.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.dslMethods.repetitionMandatoryWithSeparator.push(r)},e.prototype.visitRepetition=function(r){this.dslMethods.repetition.push(r)},e.prototype.visitAlternation=function(r){this.dslMethods.alternation.push(r)},e}(MIe.GAstVisitor);ji.DslMethodsCollectorVisitor=jG;var XI=new jG;function GIe(t){XI.reset(),t.accept(XI);var e=XI.dslMethods;return XI.reset(),e}ji.collectMethods=GIe});var Wv=w(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.firstForTerminal=Mo.firstForBranching=Mo.firstForSequence=Mo.first=void 0;var ZI=Yt(),YG=bn(),Jv=Tp();function $I(t){if(t instanceof YG.NonTerminal)return $I(t.referencedRule);if(t instanceof YG.Terminal)return WG(t);if((0,Jv.isSequenceProd)(t))return qG(t);if((0,Jv.isBranchingProd)(t))return JG(t);throw Error("non exhaustive match")}Mo.first=$I;function qG(t){for(var e=[],r=t.definition,i=0,n=r.length>i,s,o=!0;n&&o;)s=r[i],o=(0,Jv.isOptionalProd)(s),e=e.concat($I(s)),i=i+1,n=r.length>i;return(0,ZI.uniq)(e)}Mo.firstForSequence=qG;function JG(t){var e=(0,ZI.map)(t.definition,function(r){return $I(r)});return(0,ZI.uniq)((0,ZI.flatten)(e))}Mo.firstForBranching=JG;function WG(t){return[t.terminalType]}Mo.firstForTerminal=WG});var zv=w(ey=>{"use strict";Object.defineProperty(ey,"__esModule",{value:!0});ey.IN=void 0;ey.IN="_~IN~_"});var ZG=w(vs=>{"use strict";var jIe=vs&&vs.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(vs,"__esModule",{value:!0});vs.buildInProdFollowPrefix=vs.buildBetweenProdsFollowPrefix=vs.computeAllProdsFollows=vs.ResyncFollowsWalker=void 0;var YIe=_I(),qIe=Wv(),zG=Yt(),_G=zv(),JIe=bn(),XG=function(t){jIe(e,t);function e(r){var i=t.call(this)||this;return i.topProd=r,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(r,i,n){},e.prototype.walkProdRef=function(r,i,n){var s=VG(r.referencedRule,r.idx)+this.topProd.name,o=i.concat(n),a=new JIe.Alternative({definition:o}),l=(0,qIe.first)(a);this.follows[s]=l},e}(YIe.RestWalker);vs.ResyncFollowsWalker=XG;function WIe(t){var e={};return(0,zG.forEach)(t,function(r){var i=new XG(r).startWalking();(0,zG.assign)(e,i)}),e}vs.computeAllProdsFollows=WIe;function VG(t,e){return t.name+e+_G.IN}vs.buildBetweenProdsFollowPrefix=VG;function zIe(t){var e=t.terminalType.name;return e+t.idx+_G.IN}vs.buildInProdFollowPrefix=zIe});var Op=w(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.defaultGrammarValidatorErrorProvider=Ha.defaultGrammarResolverErrorProvider=Ha.defaultParserErrorProvider=void 0;var Cg=WA(),_Ie=Yt(),Ao=Yt(),_v=bn(),$G=Tp();Ha.defaultParserErrorProvider={buildMismatchTokenMessage:function(t){var e=t.expected,r=t.actual,i=t.previous,n=t.ruleName,s=(0,Cg.hasTokenLabel)(e),o=s?"--> "+(0,Cg.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+r.image+"' <--";return a},buildNotAllInputParsedMessage:function(t){var e=t.firstRedundant,r=t.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(t){var e=t.expectedPathsPerAlt,r=t.actual,i=t.previous,n=t.customUserDescription,s=t.ruleName,o="Expecting: ",a=(0,Ao.first)(r).image,l=` +but found: '`+a+"'";if(n)return o+n+l;var c=(0,Ao.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,Ao.map)(c,function(h){return"["+(0,Ao.map)(h,function(p){return(0,Cg.tokenLabel)(p)}).join(", ")+"]"}),g=(0,Ao.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: +`+g.join(` +`);return o+f+l},buildEarlyExitMessage:function(t){var e=t.expectedIterationPaths,r=t.actual,i=t.customUserDescription,n=t.ruleName,s="Expecting: ",o=(0,Ao.first)(r).image,a=` +but found: '`+o+"'";if(i)return s+i+a;var l=(0,Ao.map)(e,function(u){return"["+(0,Ao.map)(u,function(g){return(0,Cg.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: + `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(Ha.defaultParserErrorProvider);Ha.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(t,e){var r="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-";return r}};Ha.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(t,e){function r(u){return u instanceof _v.Terminal?u.terminalType.name:u instanceof _v.NonTerminal?u.nonTerminalName:""}var i=t.name,n=(0,Ao.first)(e),s=n.idx,o=(0,$G.getProductionDslName)(n),a=r(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` + appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` +`),c},buildNamespaceConflictError:function(t){var e=`Namespace conflict found in grammar. +`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+t.name+`>. +`)+`To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(t){var e=(0,Ao.map)(t.prefixPath,function(n){return(0,Cg.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous alternatives: <"+t.ambiguityIndices.join(" ,")+`> due to common lookahead prefix +`+("in inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`;return i},buildAlternationAmbiguityError:function(t){var e=(0,Ao.map)(t.prefixPath,function(n){return(0,Cg.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous Alternatives Detected: <"+t.ambiguityIndices.join(" ,")+"> in "+(" inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,i},buildEmptyRepetitionError:function(t){var e=(0,$G.getProductionDslName)(t.repetition);t.repetition.idx!==0&&(e+=t.repetition.idx);var r="The repetition <"+e+"> within Rule <"+t.topLevelRule.name+`> can never consume any tokens. +This could lead to an infinite loop.`;return r},buildTokenNameError:function(t){return"deprecated"},buildEmptyAlternationError:function(t){var e="Ambiguous empty alternative: <"+(t.emptyChoiceIdx+1)+">"+(" in inside <"+t.topLevelRule.name+`> Rule. +`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(t){var e=`An Alternation cannot have more than 256 alternatives: +`+(" inside <"+t.topLevelRule.name+`> Rule. + has `+(t.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(t){var e=t.topLevelRule.name,r=_Ie.map(t.leftRecursionPath,function(s){return s.name}),i=e+" --> "+r.concat([e]).join(" --> "),n=`Left Recursion found in grammar. +`+("rule: <"+e+`> can be invoked from itself (directly or indirectly) +`)+(`without consuming any Tokens. The grammar path that causes this is: + `+i+` +`)+` To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(t){return"deprecated"},buildDuplicateRuleNameError:function(t){var e;t.topLevelRule instanceof _v.Rule?e=t.topLevelRule.name:e=t.topLevelRule;var r="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+t.grammarName+"<-";return r}}});var rj=w(zA=>{"use strict";var VIe=zA&&zA.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(zA,"__esModule",{value:!0});zA.GastRefResolverVisitor=zA.resolveGrammar=void 0;var XIe=Zn(),ej=Yt(),ZIe=dg();function $Ie(t,e){var r=new tj(t,e);return r.resolveRefs(),r.errors}zA.resolveGrammar=$Ie;var tj=function(t){VIe(e,t);function e(r,i){var n=t.call(this)||this;return n.nameToTopRule=r,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var r=this;(0,ej.forEach)((0,ej.values)(this.nameToTopRule),function(i){r.currTopLevel=i,i.accept(r)})},e.prototype.visitNonTerminal=function(r){var i=this.nameToTopRule[r.nonTerminalName];if(i)r.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,r);this.errors.push({message:n,type:XIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:r.nonTerminalName})}},e}(ZIe.GAstVisitor);zA.GastRefResolverVisitor=tj});var Kp=w(Mr=>{"use strict";var Qc=Mr&&Mr.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Mr,"__esModule",{value:!0});Mr.nextPossibleTokensAfter=Mr.possiblePathsFrom=Mr.NextTerminalAfterAtLeastOneSepWalker=Mr.NextTerminalAfterAtLeastOneWalker=Mr.NextTerminalAfterManySepWalker=Mr.NextTerminalAfterManyWalker=Mr.AbstractNextTerminalAfterProductionWalker=Mr.NextAfterTokenWalker=Mr.AbstractNextPossibleTokensWalker=void 0;var ij=_I(),Kt=Yt(),eye=Wv(),Dt=bn(),nj=function(t){Qc(e,t);function e(r,i){var n=t.call(this)||this;return n.topProd=r,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Kt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Kt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(r,i){i===void 0&&(i=[]),this.found||t.prototype.walk.call(this,r,i)},e.prototype.walkProdRef=function(r,i,n){if(r.referencedRule.name===this.nextProductionName&&r.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(r.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Kt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(ij.RestWalker);Mr.AbstractNextPossibleTokensWalker=nj;var tye=function(t){Qc(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(r,i,n){if(this.isAtEndOfPath&&r.terminalType.name===this.nextTerminalName&&r.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new Dt.Alternative({definition:s});this.possibleTokTypes=(0,eye.first)(o),this.found=!0}},e}(nj);Mr.NextAfterTokenWalker=tye;var Mp=function(t){Qc(e,t);function e(r,i){var n=t.call(this)||this;return n.topRule=r,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(ij.RestWalker);Mr.AbstractNextTerminalAfterProductionWalker=Mp;var rye=function(t){Qc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkMany=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkMany.call(this,r,i,n)},e}(Mp);Mr.NextTerminalAfterManyWalker=rye;var iye=function(t){Qc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkManySep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkManySep.call(this,r,i,n)},e}(Mp);Mr.NextTerminalAfterManySepWalker=iye;var nye=function(t){Qc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOne.call(this,r,i,n)},e}(Mp);Mr.NextTerminalAfterAtLeastOneWalker=nye;var sye=function(t){Qc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOneSep.call(this,r,i,n)},e}(Mp);Mr.NextTerminalAfterAtLeastOneSepWalker=sye;function sj(t,e,r){r===void 0&&(r=[]),r=(0,Kt.cloneArr)(r);var i=[],n=0;function s(c){return c.concat((0,Kt.drop)(t,n+1))}function o(c){var u=sj(s(c),e,r);return i.concat(u)}for(;r.length=0;le--){var X=b.definition[le],O={idx:p,def:X.definition.concat((0,Kt.drop)(h)),ruleStack:m,occurrenceStack:y};g.push(O),g.push(o)}else if(b instanceof Dt.Alternative)g.push({idx:p,def:b.definition.concat((0,Kt.drop)(h)),ruleStack:m,occurrenceStack:y});else if(b instanceof Dt.Rule)g.push(oye(b,p,m,y));else throw Error("non exhaustive match")}}return u}Mr.nextPossibleTokensAfter=aye;function oye(t,e,r,i){var n=(0,Kt.cloneArr)(r);n.push(t.name);var s=(0,Kt.cloneArr)(i);return s.push(1),{idx:e,def:t.definition,ruleStack:n,occurrenceStack:s}}});var Up=w(tr=>{"use strict";var oj=tr&&tr.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(tr,"__esModule",{value:!0});tr.areTokenCategoriesNotUsed=tr.isStrictPrefixOfPath=tr.containsPath=tr.getLookaheadPathsForOptionalProd=tr.getLookaheadPathsForOr=tr.lookAheadSequenceFromAlternatives=tr.buildSingleAlternativeLookaheadFunction=tr.buildAlternativesLookAheadFunc=tr.buildLookaheadFuncForOptionalProd=tr.buildLookaheadFuncForOr=tr.getProdType=tr.PROD_TYPE=void 0;var cr=Yt(),aj=Kp(),Aye=_I(),ty=pg(),_A=bn(),lye=dg(),ci;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ci=tr.PROD_TYPE||(tr.PROD_TYPE={}));function cye(t){if(t instanceof _A.Option)return ci.OPTION;if(t instanceof _A.Repetition)return ci.REPETITION;if(t instanceof _A.RepetitionMandatory)return ci.REPETITION_MANDATORY;if(t instanceof _A.RepetitionMandatoryWithSeparator)return ci.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof _A.RepetitionWithSeparator)return ci.REPETITION_WITH_SEPARATOR;if(t instanceof _A.Alternation)return ci.ALTERNATION;throw Error("non exhaustive match")}tr.getProdType=cye;function uye(t,e,r,i,n,s){var o=Aj(t,e,r),a=Vv(o)?ty.tokenStructuredMatcherNoCategories:ty.tokenStructuredMatcher;return s(o,i,a,n)}tr.buildLookaheadFuncForOr=uye;function gye(t,e,r,i,n,s){var o=lj(t,e,n,r),a=Vv(o)?ty.tokenStructuredMatcherNoCategories:ty.tokenStructuredMatcher;return s(o[0],a,i)}tr.buildLookaheadFuncForOptionalProd=gye;function fye(t,e,r,i){var n=t.length,s=(0,cr.every)(t,function(l){return(0,cr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,cr.map)(l,function(k){return k.GATE}),u=0;u{"use strict";var $v=Xt&&Xt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Xt,"__esModule",{value:!0});Xt.checkPrefixAlternativesAmbiguities=Xt.validateSomeNonEmptyLookaheadPath=Xt.validateTooManyAlts=Xt.RepetionCollector=Xt.validateAmbiguousAlternationAlternatives=Xt.validateEmptyOrAlternative=Xt.getFirstNoneTerminal=Xt.validateNoLeftRecursion=Xt.validateRuleIsOverridden=Xt.validateRuleDoesNotAlreadyExist=Xt.OccurrenceValidationCollector=Xt.identifyProductionForDuplicates=Xt.validateGrammar=void 0;var nr=Yt(),xr=Yt(),Ko=Zn(),eS=Tp(),mg=Up(),mye=Kp(),lo=bn(),tS=dg();function yye(t,e,r,i,n){var s=nr.map(t,function(h){return Eye(h,i)}),o=nr.map(t,function(h){return rS(h,h,i)}),a=[],l=[],c=[];(0,xr.every)(o,xr.isEmpty)&&(a=(0,xr.map)(t,function(h){return hj(h,i)}),l=(0,xr.map)(t,function(h){return pj(h,e,i)}),c=Cj(t,e,i));var u=Iye(t,r,i),g=(0,xr.map)(t,function(h){return dj(h,i)}),f=(0,xr.map)(t,function(h){return fj(h,t,n,i)});return nr.flatten(s.concat(c,o,a,l,u,g,f))}Xt.validateGrammar=yye;function Eye(t,e){var r=new Ij;t.accept(r);var i=r.allProductions,n=nr.groupBy(i,mj),s=nr.pick(n,function(a){return a.length>1}),o=nr.map(nr.values(s),function(a){var l=nr.first(a),c=e.buildDuplicateFoundError(t,a),u=(0,eS.getProductionDslName)(l),g={message:c,type:Ko.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:l.idx},f=Ej(l);return f&&(g.parameter=f),g});return o}function mj(t){return(0,eS.getProductionDslName)(t)+"_#_"+t.idx+"_#_"+Ej(t)}Xt.identifyProductionForDuplicates=mj;function Ej(t){return t instanceof lo.Terminal?t.terminalType.name:t instanceof lo.NonTerminal?t.nonTerminalName:""}var Ij=function(t){$v(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitNonTerminal=function(r){this.allProductions.push(r)},e.prototype.visitOption=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e.prototype.visitAlternation=function(r){this.allProductions.push(r)},e.prototype.visitTerminal=function(r){this.allProductions.push(r)},e}(tS.GAstVisitor);Xt.OccurrenceValidationCollector=Ij;function fj(t,e,r,i){var n=[],s=(0,xr.reduce)(e,function(a,l){return l.name===t.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});n.push({message:o,type:Ko.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:t.name})}return n}Xt.validateRuleDoesNotAlreadyExist=fj;function wye(t,e,r){var i=[],n;return nr.contains(e,t)||(n="Invalid rule override, rule: ->"+t+"<- cannot be overridden in the grammar: ->"+r+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:Ko.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:t})),i}Xt.validateRuleIsOverridden=wye;function rS(t,e,r,i){i===void 0&&(i=[]);var n=[],s=Hp(e.definition);if(nr.isEmpty(s))return[];var o=t.name,a=nr.contains(s,t);a&&n.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:i}),type:Ko.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=nr.difference(s,i.concat([t])),c=nr.map(l,function(u){var g=nr.cloneArr(i);return g.push(u),rS(t,u,r,g)});return n.concat(nr.flatten(c))}Xt.validateNoLeftRecursion=rS;function Hp(t){var e=[];if(nr.isEmpty(t))return e;var r=nr.first(t);if(r instanceof lo.NonTerminal)e.push(r.referencedRule);else if(r instanceof lo.Alternative||r instanceof lo.Option||r instanceof lo.RepetitionMandatory||r instanceof lo.RepetitionMandatoryWithSeparator||r instanceof lo.RepetitionWithSeparator||r instanceof lo.Repetition)e=e.concat(Hp(r.definition));else if(r instanceof lo.Alternation)e=nr.flatten(nr.map(r.definition,function(o){return Hp(o.definition)}));else if(!(r instanceof lo.Terminal))throw Error("non exhaustive match");var i=(0,eS.isOptionalProd)(r),n=t.length>1;if(i&&n){var s=nr.drop(t);return e.concat(Hp(s))}else return e}Xt.getFirstNoneTerminal=Hp;var iS=function(t){$v(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.alternations=[],r}return e.prototype.visitAlternation=function(r){this.alternations.push(r)},e}(tS.GAstVisitor);function hj(t,e){var r=new iS;t.accept(r);var i=r.alternations,n=nr.reduce(i,function(s,o){var a=nr.dropRight(o.definition),l=nr.map(a,function(c,u){var g=(0,mye.nextPossibleTokensAfter)([c],[],null,1);return nr.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:u}),type:Ko.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(nr.compact(l))},[]);return n}Xt.validateEmptyOrAlternative=hj;function pj(t,e,r){var i=new iS;t.accept(i);var n=i.alternations;n=(0,xr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=nr.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,mg.getLookaheadPathsForOr)(l,t,c,a),g=Bye(u,a,t,r),f=yj(u,a,t,r);return o.concat(g,f)},[]);return s}Xt.validateAmbiguousAlternationAlternatives=pj;var wj=function(t){$v(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e}(tS.GAstVisitor);Xt.RepetionCollector=wj;function dj(t,e){var r=new iS;t.accept(r);var i=r.alternations,n=nr.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:Ko.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}),s},[]);return n}Xt.validateTooManyAlts=dj;function Cj(t,e,r){var i=[];return(0,xr.forEach)(t,function(n){var s=new wj;n.accept(s);var o=s.allProductions;(0,xr.forEach)(o,function(a){var l=(0,mg.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,mg.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,xr.isEmpty)((0,xr.flatten)(f))){var h=r.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:Ko.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Xt.validateSomeNonEmptyLookaheadPath=Cj;function Bye(t,e,r,i){var n=[],s=(0,xr.reduce)(t,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,xr.forEach)(l,function(u){var g=[c];(0,xr.forEach)(t,function(f,h){c!==h&&(0,mg.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,mg.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=nr.map(s,function(a){var l=(0,xr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:Ko.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function yj(t,e,r,i){var n=[],s=(0,xr.reduce)(t,function(o,a,l){var c=(0,xr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,xr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,xr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(Eg,"__esModule",{value:!0});Eg.validateGrammar=Eg.resolveGrammar=void 0;var sS=Yt(),bye=rj(),Qye=nS(),Bj=Op();function vye(t){t=(0,sS.defaults)(t,{errMsgProvider:Bj.defaultGrammarResolverErrorProvider});var e={};return(0,sS.forEach)(t.rules,function(r){e[r.name]=r}),(0,bye.resolveGrammar)(e,t.errMsgProvider)}Eg.resolveGrammar=vye;function Sye(t){return t=(0,sS.defaults)(t,{errMsgProvider:Bj.defaultGrammarValidatorErrorProvider}),(0,Qye.validateGrammar)(t.rules,t.maxLookahead,t.tokenTypes,t.errMsgProvider,t.grammarName)}Eg.validateGrammar=Sye});var Ig=w(vn=>{"use strict";var Gp=vn&&vn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(vn,"__esModule",{value:!0});vn.EarlyExitException=vn.NotAllInputParsedException=vn.NoViableAltException=vn.MismatchedTokenException=vn.isRecognitionException=void 0;var kye=Yt(),Qj="MismatchedTokenException",vj="NoViableAltException",Sj="EarlyExitException",kj="NotAllInputParsedException",xj=[Qj,vj,Sj,kj];Object.freeze(xj);function xye(t){return(0,kye.contains)(xj,t.name)}vn.isRecognitionException=xye;var ry=function(t){Gp(e,t);function e(r,i){var n=this.constructor,s=t.call(this,r)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),Pye=function(t){Gp(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=Qj,s}return e}(ry);vn.MismatchedTokenException=Pye;var Dye=function(t){Gp(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=vj,s}return e}(ry);vn.NoViableAltException=Dye;var Rye=function(t){Gp(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.name=kj,n}return e}(ry);vn.NotAllInputParsedException=Rye;var Fye=function(t){Gp(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=Sj,s}return e}(ry);vn.EarlyExitException=Fye});var aS=w(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.attemptInRepetitionRecovery=Yi.Recoverable=Yi.InRuleRecoveryException=Yi.IN_RULE_RECOVERY_EXCEPTION=Yi.EOF_FOLLOW_KEY=void 0;var iy=WA(),Ss=Yt(),Nye=Ig(),Lye=zv(),Tye=Zn();Yi.EOF_FOLLOW_KEY={};Yi.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function oS(t){this.name=Yi.IN_RULE_RECOVERY_EXCEPTION,this.message=t}Yi.InRuleRecoveryException=oS;oS.prototype=Error.prototype;var Oye=function(){function t(){}return t.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,Ss.has)(e,"recoveryEnabled")?e.recoveryEnabled:Tye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Pj)},t.prototype.getTokenToInsert=function(e){var r=(0,iy.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r},t.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},t.prototype.tryInRepetitionRecovery=function(e,r,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),m=new Nye.MismatchedTokenException(p,u,s.LA(0));m.resyncedTokens=(0,Ss.dropRight)(l),s.SAVE_ERROR(m)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},t.prototype.shouldInRepetitionRecoveryBeTried=function(e,r,i){return!(i===!1||e===void 0||r===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))},t.prototype.getFollowsForInRuleRecovery=function(e,r){var i=this.getCurrentGrammarPath(e,r),n=this.getNextPossibleTokenTypes(i);return n},t.prototype.tryInRuleRecovery=function(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new oS("sad sad panda")},t.prototype.canPerformInRuleRecovery=function(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)},t.prototype.canRecoverWithSingleTokenInsertion=function(e,r){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,Ss.isEmpty)(r))return!1;var n=this.LA(1),s=(0,Ss.find)(r,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},t.prototype.canRecoverWithSingleTokenDeletion=function(e){var r=this.tokenMatcher(this.LA(2),e);return r},t.prototype.isInCurrentRuleReSyncSet=function(e){var r=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(r);return(0,Ss.contains)(i,e)},t.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),r=this.LA(1),i=2;;){var n=r.tokenType;if((0,Ss.contains)(e,n))return n;r=this.LA(i),i++}},t.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Yi.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(i)}},t.prototype.buildFullFollowKeyStack=function(){var e=this,r=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,Ss.map)(r,function(n,s){return s===0?Yi.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(r[s-1])}})},t.prototype.flattenFollowSet=function(){var e=this,r=(0,Ss.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,Ss.flatten)(r)},t.prototype.getFollowSetFromFollowKey=function(e){if(e===Yi.EOF_FOLLOW_KEY)return[iy.EOF];var r=e.ruleName+e.idxInCallingRule+Lye.IN+e.inRule;return this.resyncFollows[r]},t.prototype.addToResyncTokens=function(e,r){return this.tokenMatcher(e,iy.EOF)||r.push(e),r},t.prototype.reSyncTo=function(e){for(var r=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,r);return(0,Ss.dropRight)(r)},t.prototype.attemptInRepetitionRecovery=function(e,r,i,n,s,o,a){},t.prototype.getCurrentGrammarPath=function(e,r){var i=this.getHumanReadableRuleStack(),n=(0,Ss.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:r};return s},t.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,Ss.map)(this.RULE_STACK,function(r){return e.shortRuleNameToFullName(r)})},t}();Yi.Recoverable=Oye;function Pj(t,e,r,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=iy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(t,e,r,f)}Yi.attemptInRepetitionRecovery=Pj});var ny=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.getKeyForAutomaticLookahead=Jt.AT_LEAST_ONE_SEP_IDX=Jt.MANY_SEP_IDX=Jt.AT_LEAST_ONE_IDX=Jt.MANY_IDX=Jt.OPTION_IDX=Jt.OR_IDX=Jt.BITS_FOR_ALT_IDX=Jt.BITS_FOR_RULE_IDX=Jt.BITS_FOR_OCCURRENCE_IDX=Jt.BITS_FOR_METHOD_TYPE=void 0;Jt.BITS_FOR_METHOD_TYPE=4;Jt.BITS_FOR_OCCURRENCE_IDX=8;Jt.BITS_FOR_RULE_IDX=12;Jt.BITS_FOR_ALT_IDX=8;Jt.OR_IDX=1<{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.LooksAhead=void 0;var Ga=Up(),co=Yt(),Dj=Zn(),ja=ny(),vc=Tp(),Kye=function(){function t(){}return t.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,co.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Dj.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,co.has)(e,"maxLookahead")?e.maxLookahead:Dj.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,co.isES2015MapSupported)()?new Map:[],(0,co.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},t.prototype.preComputeLookaheadFunctions=function(e){var r=this;(0,co.forEach)(e,function(i){r.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,vc.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,co.forEach)(s,function(g){var f=g.idx===0?"":g.idx;r.TRACE_INIT(""+(0,vc.getProductionDslName)(g)+f,function(){var h=(0,Ga.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||r.maxLookahead,g.hasPredicates,r.dynamicTokensEnabled,r.lookAheadBuilderForAlternatives),p=(0,ja.getKeyForAutomaticLookahead)(r.fullRuleNameToShort[i.name],ja.OR_IDX,g.idx);r.setLaFuncCache(p,h)})}),(0,co.forEach)(o,function(g){r.computeLookaheadFunc(i,g.idx,ja.MANY_IDX,Ga.PROD_TYPE.REPETITION,g.maxLookahead,(0,vc.getProductionDslName)(g))}),(0,co.forEach)(a,function(g){r.computeLookaheadFunc(i,g.idx,ja.OPTION_IDX,Ga.PROD_TYPE.OPTION,g.maxLookahead,(0,vc.getProductionDslName)(g))}),(0,co.forEach)(l,function(g){r.computeLookaheadFunc(i,g.idx,ja.AT_LEAST_ONE_IDX,Ga.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,vc.getProductionDslName)(g))}),(0,co.forEach)(c,function(g){r.computeLookaheadFunc(i,g.idx,ja.AT_LEAST_ONE_SEP_IDX,Ga.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,vc.getProductionDslName)(g))}),(0,co.forEach)(u,function(g){r.computeLookaheadFunc(i,g.idx,ja.MANY_SEP_IDX,Ga.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,vc.getProductionDslName)(g))})})})},t.prototype.computeLookaheadFunc=function(e,r,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(r===0?"":r),function(){var l=(0,Ga.buildLookaheadFuncForOptionalProd)(r,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,ja.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,r);a.setLaFuncCache(c,l)})},t.prototype.lookAheadBuilderForOptional=function(e,r,i){return(0,Ga.buildSingleAlternativeLookaheadFunction)(e,r,i)},t.prototype.lookAheadBuilderForAlternatives=function(e,r,i,n){return(0,Ga.buildAlternativesLookAheadFunc)(e,r,i,n)},t.prototype.getKeyForAutomaticLookahead=function(e,r){var i=this.getLastExplicitRuleShortName();return(0,ja.getKeyForAutomaticLookahead)(i,e,r)},t.prototype.getLaFuncFromCache=function(e){},t.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},t.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},t.prototype.setLaFuncCache=function(e,r){},t.prototype.setLaFuncCacheUsingMap=function(e,r){this.lookAheadFuncsCache.set(e,r)},t.prototype.setLaFuncUsingObj=function(e,r){this.lookAheadFuncsCache[e]=r},t}();sy.LooksAhead=Kye});var Fj=w(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.addNoneTerminalToCst=Uo.addTerminalToCst=Uo.setNodeLocationFull=Uo.setNodeLocationOnlyOffset=void 0;function Uye(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";Object.defineProperty(VA,"__esModule",{value:!0});VA.defineNameProp=VA.functionName=VA.classNameFromInstance=void 0;var Yye=Yt();function qye(t){return Nj(t.constructor)}VA.classNameFromInstance=qye;var Lj="name";function Nj(t){var e=t.name;return e||"anonymous"}VA.functionName=Nj;function Jye(t,e){var r=Object.getOwnPropertyDescriptor(t,Lj);return(0,Yye.isUndefined)(r)||r.configurable?(Object.defineProperty(t,Lj,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}VA.defineNameProp=Jye});var Uj=w(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});Pi.validateRedundantMethods=Pi.validateMissingCstMethods=Pi.validateVisitor=Pi.CstVisitorDefinitionError=Pi.createBaseVisitorConstructorWithDefaults=Pi.createBaseSemanticVisitorConstructor=Pi.defaultVisit=void 0;var ks=Yt(),jp=AS();function Tj(t,e){for(var r=(0,ks.keys)(t),i=r.length,n=0;n: + `+(""+s.join(` + +`).replace(/\n/g,` + `)))}}};return r.prototype=i,r.prototype.constructor=r,r._RULE_NAMES=e,r}Pi.createBaseSemanticVisitorConstructor=Wye;function zye(t,e,r){var i=function(){};(0,jp.defineNameProp)(i,t+"BaseSemanticsWithDefaults");var n=Object.create(r.prototype);return(0,ks.forEach)(e,function(s){n[s]=Tj}),i.prototype=n,i.prototype.constructor=i,i}Pi.createBaseVisitorConstructorWithDefaults=zye;var lS;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(lS=Pi.CstVisitorDefinitionError||(Pi.CstVisitorDefinitionError={}));function Oj(t,e){var r=Mj(t,e),i=Kj(t,e);return r.concat(i)}Pi.validateVisitor=Oj;function Mj(t,e){var r=(0,ks.map)(e,function(i){if(!(0,ks.isFunction)(t[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,jp.functionName)(t.constructor)+" CST Visitor.",type:lS.MISSING_METHOD,methodName:i}});return(0,ks.compact)(r)}Pi.validateMissingCstMethods=Mj;var _ye=["constructor","visit","validateVisitor"];function Kj(t,e){var r=[];for(var i in t)(0,ks.isFunction)(t[i])&&!(0,ks.contains)(_ye,i)&&!(0,ks.contains)(e,i)&&r.push({msg:"Redundant visitor method: <"+i+"> on "+(0,jp.functionName)(t.constructor)+` CST Visitor +There is no Grammar Rule corresponding to this method's name. +`,type:lS.REDUNDANT_METHOD,methodName:i});return r}Pi.validateRedundantMethods=Kj});var Gj=w(oy=>{"use strict";Object.defineProperty(oy,"__esModule",{value:!0});oy.TreeBuilder=void 0;var yg=Fj(),ni=Yt(),Hj=Uj(),Vye=Zn(),Xye=function(){function t(){}return t.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,ni.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:Vye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=ni.NOOP,this.cstFinallyStateUpdate=ni.NOOP,this.cstPostTerminal=ni.NOOP,this.cstPostNonTerminal=ni.NOOP,this.cstPostRule=ni.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=yg.setNodeLocationFull,this.setNodeLocationFromNode=yg.setNodeLocationFull,this.cstPostRule=ni.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ni.NOOP,this.setNodeLocationFromNode=ni.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=yg.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=yg.setNodeLocationOnlyOffset,this.cstPostRule=ni.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ni.NOOP,this.setNodeLocationFromNode=ni.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=ni.NOOP,this.setNodeLocationFromNode=ni.NOOP,this.cstPostRule=ni.NOOP,this.setInitialNodeLocation=ni.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},t.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},t.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},t.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.setInitialNodeLocationFullRegular=function(e){var r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.cstInvocationStateUpdate=function(e,r){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},t.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},t.prototype.cstPostRuleFull=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?(i.endOffset=r.endOffset,i.endLine=r.endLine,i.endColumn=r.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},t.prototype.cstPostRuleOnlyOffset=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?i.endOffset=r.endOffset:i.startOffset=NaN},t.prototype.cstPostTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,yg.addTerminalToCst)(i,r,e),this.setNodeLocationFromToken(i.location,r)},t.prototype.cstPostNonTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,yg.addNoneTerminalToCst)(i,r,e),this.setNodeLocationFromNode(i.location,e.location)},t.prototype.getBaseCstVisitorConstructor=function(){if((0,ni.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Hj.createBaseSemanticVisitorConstructor)(this.className,(0,ni.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},t.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,ni.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Hj.createBaseVisitorConstructorWithDefaults)(this.className,(0,ni.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},t.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},t.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},t.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},t}();oy.TreeBuilder=Xye});var Yj=w(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});ay.LexerAdapter=void 0;var jj=Zn(),Zye=function(){function t(){}return t.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(t.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),t.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):jj.END_OF_FILE},t.prototype.LA=function(e){var r=this.currIdx+e;return r<0||this.tokVectorLength<=r?jj.END_OF_FILE:this.tokVector[r]},t.prototype.consumeToken=function(){this.currIdx++},t.prototype.exportLexerState=function(){return this.currIdx},t.prototype.importLexerState=function(e){this.currIdx=e},t.prototype.resetLexerState=function(){this.currIdx=-1},t.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},t.prototype.getLexerPosition=function(){return this.exportLexerState()},t}();ay.LexerAdapter=Zye});var Jj=w(Ay=>{"use strict";Object.defineProperty(Ay,"__esModule",{value:!0});Ay.RecognizerApi=void 0;var qj=Yt(),$ye=Ig(),cS=Zn(),ewe=Op(),twe=nS(),rwe=bn(),iwe=function(){function t(){}return t.prototype.ACTION=function(e){return e.call(this)},t.prototype.consume=function(e,r,i){return this.consumeInternal(r,e,i)},t.prototype.subrule=function(e,r,i){return this.subruleInternal(r,e,i)},t.prototype.option=function(e,r){return this.optionInternal(r,e)},t.prototype.or=function(e,r){return this.orInternal(r,e)},t.prototype.many=function(e,r){return this.manyInternal(e,r)},t.prototype.atLeastOne=function(e,r){return this.atLeastOneInternal(e,r)},t.prototype.CONSUME=function(e,r){return this.consumeInternal(e,0,r)},t.prototype.CONSUME1=function(e,r){return this.consumeInternal(e,1,r)},t.prototype.CONSUME2=function(e,r){return this.consumeInternal(e,2,r)},t.prototype.CONSUME3=function(e,r){return this.consumeInternal(e,3,r)},t.prototype.CONSUME4=function(e,r){return this.consumeInternal(e,4,r)},t.prototype.CONSUME5=function(e,r){return this.consumeInternal(e,5,r)},t.prototype.CONSUME6=function(e,r){return this.consumeInternal(e,6,r)},t.prototype.CONSUME7=function(e,r){return this.consumeInternal(e,7,r)},t.prototype.CONSUME8=function(e,r){return this.consumeInternal(e,8,r)},t.prototype.CONSUME9=function(e,r){return this.consumeInternal(e,9,r)},t.prototype.SUBRULE=function(e,r){return this.subruleInternal(e,0,r)},t.prototype.SUBRULE1=function(e,r){return this.subruleInternal(e,1,r)},t.prototype.SUBRULE2=function(e,r){return this.subruleInternal(e,2,r)},t.prototype.SUBRULE3=function(e,r){return this.subruleInternal(e,3,r)},t.prototype.SUBRULE4=function(e,r){return this.subruleInternal(e,4,r)},t.prototype.SUBRULE5=function(e,r){return this.subruleInternal(e,5,r)},t.prototype.SUBRULE6=function(e,r){return this.subruleInternal(e,6,r)},t.prototype.SUBRULE7=function(e,r){return this.subruleInternal(e,7,r)},t.prototype.SUBRULE8=function(e,r){return this.subruleInternal(e,8,r)},t.prototype.SUBRULE9=function(e,r){return this.subruleInternal(e,9,r)},t.prototype.OPTION=function(e){return this.optionInternal(e,0)},t.prototype.OPTION1=function(e){return this.optionInternal(e,1)},t.prototype.OPTION2=function(e){return this.optionInternal(e,2)},t.prototype.OPTION3=function(e){return this.optionInternal(e,3)},t.prototype.OPTION4=function(e){return this.optionInternal(e,4)},t.prototype.OPTION5=function(e){return this.optionInternal(e,5)},t.prototype.OPTION6=function(e){return this.optionInternal(e,6)},t.prototype.OPTION7=function(e){return this.optionInternal(e,7)},t.prototype.OPTION8=function(e){return this.optionInternal(e,8)},t.prototype.OPTION9=function(e){return this.optionInternal(e,9)},t.prototype.OR=function(e){return this.orInternal(e,0)},t.prototype.OR1=function(e){return this.orInternal(e,1)},t.prototype.OR2=function(e){return this.orInternal(e,2)},t.prototype.OR3=function(e){return this.orInternal(e,3)},t.prototype.OR4=function(e){return this.orInternal(e,4)},t.prototype.OR5=function(e){return this.orInternal(e,5)},t.prototype.OR6=function(e){return this.orInternal(e,6)},t.prototype.OR7=function(e){return this.orInternal(e,7)},t.prototype.OR8=function(e){return this.orInternal(e,8)},t.prototype.OR9=function(e){return this.orInternal(e,9)},t.prototype.MANY=function(e){this.manyInternal(0,e)},t.prototype.MANY1=function(e){this.manyInternal(1,e)},t.prototype.MANY2=function(e){this.manyInternal(2,e)},t.prototype.MANY3=function(e){this.manyInternal(3,e)},t.prototype.MANY4=function(e){this.manyInternal(4,e)},t.prototype.MANY5=function(e){this.manyInternal(5,e)},t.prototype.MANY6=function(e){this.manyInternal(6,e)},t.prototype.MANY7=function(e){this.manyInternal(7,e)},t.prototype.MANY8=function(e){this.manyInternal(8,e)},t.prototype.MANY9=function(e){this.manyInternal(9,e)},t.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},t.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},t.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},t.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},t.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},t.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},t.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},t.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},t.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},t.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},t.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},t.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},t.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},t.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},t.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},t.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},t.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},t.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},t.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},t.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},t.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},t.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},t.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},t.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},t.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},t.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},t.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},t.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},t.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},t.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},t.prototype.RULE=function(e,r,i){if(i===void 0&&(i=cS.DEFAULT_RULE_CONFIG),(0,qj.contains)(this.definedRulesNames,e)){var n=ewe.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:cS.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,r,i);return this[e]=o,o},t.prototype.OVERRIDE_RULE=function(e,r,i){i===void 0&&(i=cS.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,twe.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,r,i);return this[e]=s,s},t.prototype.BACKTRACK=function(e,r){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,r),!0}catch(n){if((0,$ye.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},t.prototype.getGAstProductions=function(){return this.gastProductionsCache},t.prototype.getSerializedGastProductions=function(){return(0,rwe.serializeGrammar)((0,qj.values)(this.gastProductionsCache))},t}();Ay.RecognizerApi=iwe});var Vj=w(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});ly.RecognizerEngine=void 0;var Rr=Yt(),$n=ny(),cy=Ig(),Wj=Up(),wg=Kp(),zj=Zn(),nwe=aS(),_j=WA(),Yp=pg(),swe=AS(),owe=function(){function t(){}return t.prototype.initRecognizerEngine=function(e,r){if(this.className=(0,swe.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Yp.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Rr.has)(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if((0,Rr.isArray)(e)){if((0,Rr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`)}if((0,Rr.isArray)(e))this.tokensMap=(0,Rr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Rr.has)(e,"modes")&&(0,Rr.every)((0,Rr.flatten)((0,Rr.values)(e.modes)),Yp.isTokenType)){var i=(0,Rr.flatten)((0,Rr.values)(e.modes)),n=(0,Rr.uniq)(i);this.tokensMap=(0,Rr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Rr.isObject)(e))this.tokensMap=(0,Rr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=_j.EOF;var s=(0,Rr.every)((0,Rr.values)(e),function(o){return(0,Rr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Yp.tokenStructuredMatcherNoCategories:Yp.tokenStructuredMatcher,(0,Yp.augmentTokenTypes)((0,Rr.values)(this.tokensMap))},t.prototype.defineRule=function(e,r,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Rr.has)(i,"resyncEnabled")?i.resyncEnabled:zj.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Rr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:zj.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<<$n.BITS_FOR_METHOD_TYPE+$n.BITS_FOR_OCCURRENCE_IDX;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;function a(u){try{if(this.outputCst===!0){r.apply(this,u);var g=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(g),g}else return r.apply(this,u)}catch(f){return this.invokeRuleCatch(f,n,s)}finally{this.ruleFinallyStateUpdate()}}var l=function(u,g){return u===void 0&&(u=0),this.ruleInvocationStateUpdate(o,e,u),a.call(this,g)},c="ruleName";return l[c]=e,l.originalGrammarAction=r,l},t.prototype.invokeRuleCatch=function(e,r,i){var n=this.RULE_STACK.length===1,s=r&&!this.isBackTracking()&&this.recoveryEnabled;if((0,cy.isRecognitionException)(e)){var o=e;if(s){var a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(o.resyncedTokens=this.reSyncTo(a),this.outputCst){var l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return i();else{if(this.outputCst){var l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,o.partialCstResult=l}throw o}}else{if(n)return this.moveToTerminatedState(),i();throw o}}else throw e},t.prototype.optionInternal=function(e,r){var i=this.getKeyForAutomaticLookahead($n.OPTION_IDX,r);return this.optionInternalLogic(e,r,i)},t.prototype.optionInternalLogic=function(e,r,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(e.DEF!==void 0){if(o=e.DEF,a=e.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=e;if(s.call(this)===!0)return o.call(this)},t.prototype.atLeastOneInternal=function(e,r){var i=this.getKeyForAutomaticLookahead($n.AT_LEAST_ONE_IDX,e);return this.atLeastOneInternalLogic(e,r,i)},t.prototype.atLeastOneInternalLogic=function(e,r,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(r.DEF!==void 0){if(o=r.DEF,a=r.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=r;if(s.call(this)===!0)for(var c=this.doSingleRepetition(o);s.call(this)===!0&&c===!0;)c=this.doSingleRepetition(o);else throw this.raiseEarlyExitException(e,Wj.PROD_TYPE.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],s,$n.AT_LEAST_ONE_IDX,e,wg.NextTerminalAfterAtLeastOneWalker)},t.prototype.atLeastOneSepFirstInternal=function(e,r){var i=this.getKeyForAutomaticLookahead($n.AT_LEAST_ONE_SEP_IDX,e);this.atLeastOneSepFirstInternalLogic(e,r,i)},t.prototype.atLeastOneSepFirstInternalLogic=function(e,r,i){var n=this,s=r.DEF,o=r.SEP,a=this.getLaFuncFromCache(i);if(a.call(this)===!0){s.call(this);for(var l=function(){return n.tokenMatcher(n.LA(1),o)};this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),s.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,l,s,wg.NextTerminalAfterAtLeastOneSepWalker],l,$n.AT_LEAST_ONE_SEP_IDX,e,wg.NextTerminalAfterAtLeastOneSepWalker)}else throw this.raiseEarlyExitException(e,Wj.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)},t.prototype.manyInternal=function(e,r){var i=this.getKeyForAutomaticLookahead($n.MANY_IDX,e);return this.manyInternalLogic(e,r,i)},t.prototype.manyInternalLogic=function(e,r,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(r.DEF!==void 0){if(o=r.DEF,a=r.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=r;for(var c=!0;s.call(this)===!0&&c===!0;)c=this.doSingleRepetition(o);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],s,$n.MANY_IDX,e,wg.NextTerminalAfterManyWalker,c)},t.prototype.manySepFirstInternal=function(e,r){var i=this.getKeyForAutomaticLookahead($n.MANY_SEP_IDX,e);this.manySepFirstInternalLogic(e,r,i)},t.prototype.manySepFirstInternalLogic=function(e,r,i){var n=this,s=r.DEF,o=r.SEP,a=this.getLaFuncFromCache(i);if(a.call(this)===!0){s.call(this);for(var l=function(){return n.tokenMatcher(n.LA(1),o)};this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),s.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,l,s,wg.NextTerminalAfterManySepWalker],l,$n.MANY_SEP_IDX,e,wg.NextTerminalAfterManySepWalker)}},t.prototype.repetitionSepSecondInternal=function(e,r,i,n,s){for(;i();)this.CONSUME(r),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,i,n,s],i,$n.AT_LEAST_ONE_SEP_IDX,e,s)},t.prototype.doSingleRepetition=function(e){var r=this.getLexerPosition();e.call(this);var i=this.getLexerPosition();return i>r},t.prototype.orInternal=function(e,r){var i=this.getKeyForAutomaticLookahead($n.OR_IDX,r),n=(0,Rr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(r,e.ERR_MSG)},t.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new cy.NotAllInputParsedException(r,e))}},t.prototype.subruleInternal=function(e,r,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,r,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},t.prototype.subruleInternalError=function(e,r,i){throw(0,cy.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:i),delete e.partialCstResult),e},t.prototype.consumeInternal=function(e,r,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},t.prototype.consumeInternalError=function(e,r,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new cy.MismatchedTokenException(n,r,s))},t.prototype.consumeInternalRecovery=function(e,r,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===nwe.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},t.prototype.saveRecogState=function(){var e=this.errors,r=(0,Rr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}},t.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},t.prototype.ruleInvocationStateUpdate=function(e,r,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r,e)},t.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},t.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},t.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},t.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),_j.EOF)},t.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},t}();ly.RecognizerEngine=owe});var Zj=w(uy=>{"use strict";Object.defineProperty(uy,"__esModule",{value:!0});uy.ErrorHandler=void 0;var uS=Ig(),gS=Yt(),Xj=Up(),awe=Zn(),Awe=function(){function t(){}return t.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,gS.has)(e,"errorMessageProvider")?e.errorMessageProvider:awe.DEFAULT_PARSER_CONFIG.errorMessageProvider},t.prototype.SAVE_ERROR=function(e){if((0,uS.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,gS.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(t.prototype,"errors",{get:function(){return(0,gS.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),t.prototype.raiseEarlyExitException=function(e,r,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,Xj.getLookaheadPathsForOptionalProd)(e,s,r,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new uS.EarlyExitException(u,this.LA(1),this.LA(0)))},t.prototype.raiseNoAltException=function(e,r){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,Xj.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new uS.NoViableAltException(c,this.LA(1),l))},t}();uy.ErrorHandler=Awe});var tY=w(gy=>{"use strict";Object.defineProperty(gy,"__esModule",{value:!0});gy.ContentAssist=void 0;var $j=Kp(),eY=Yt(),lwe=function(){function t(){}return t.prototype.initContentAssist=function(){},t.prototype.computeContentAssist=function(e,r){var i=this.gastProductionsCache[e];if((0,eY.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,$j.nextPossibleTokensAfter)([i],r,this.tokenMatcher,this.maxLookahead)},t.prototype.getNextPossibleTokenTypes=function(e){var r=(0,eY.first)(e.ruleStack),i=this.getGAstProductions(),n=i[r],s=new $j.NextAfterTokenWalker(n,e).startWalking();return s},t}();gy.ContentAssist=lwe});var lY=w(fy=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});fy.GastRecorder=void 0;var Sn=Yt(),Ho=bn(),cwe=Rp(),rY=pg(),iY=WA(),uwe=Zn(),gwe=ny(),hy={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(hy);var nY=!0,sY=Math.pow(2,gwe.BITS_FOR_OCCURRENCE_IDX)-1,oY=(0,iY.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:cwe.Lexer.NA});(0,rY.augmentTokenTypes)([oY]);var aY=(0,iY.createTokenInstance)(oY,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(aY);var fwe={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},pwe=function(){function t(){}return t.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},t.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var r=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)r(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},t.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var r=0;r<10;r++){var i=r>0?r:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},t.prototype.ACTION_RECORD=function(e){},t.prototype.BACKTRACK_RECORD=function(e,r){return function(){return!0}},t.prototype.LA_RECORD=function(e){return uwe.END_OF_FILE},t.prototype.topLevelRuleRecord=function(e,r){try{var i=new Ho.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),r.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch(s){throw n}throw n}},t.prototype.optionInternalRecord=function(e,r){return qp.call(this,Ho.Option,e,r)},t.prototype.atLeastOneInternalRecord=function(e,r){qp.call(this,Ho.RepetitionMandatory,r,e)},t.prototype.atLeastOneSepFirstInternalRecord=function(e,r){qp.call(this,Ho.RepetitionMandatoryWithSeparator,r,e,nY)},t.prototype.manyInternalRecord=function(e,r){qp.call(this,Ho.Repetition,r,e)},t.prototype.manySepFirstInternalRecord=function(e,r){qp.call(this,Ho.RepetitionWithSeparator,r,e,nY)},t.prototype.orInternalRecord=function(e,r){return hwe.call(this,e,r)},t.prototype.subruleInternalRecord=function(e,r,i){if(py(r),!e||(0,Sn.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Sn.peek)(this.recordingProdStack),o=e.ruleName,a=new Ho.NonTerminal({idx:r,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?fwe:hy},t.prototype.consumeInternalRecord=function(e,r,i){if(py(r),!(0,rY.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Sn.peek)(this.recordingProdStack),o=new Ho.Terminal({idx:r,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),aY},t}();fy.GastRecorder=pwe;function qp(t,e,r,i){i===void 0&&(i=!1),py(r);var n=(0,Sn.peek)(this.recordingProdStack),s=(0,Sn.isFunction)(e)?e:e.DEF,o=new t({definition:[],idx:r});return i&&(o.separator=e.SEP),(0,Sn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),hy}function hwe(t,e){var r=this;py(e);var i=(0,Sn.peek)(this.recordingProdStack),n=(0,Sn.isArray)(t)===!1,s=n===!1?t:t.DEF,o=new Ho.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});(0,Sn.has)(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);var a=(0,Sn.some)(s,function(l){return(0,Sn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,Sn.forEach)(s,function(l){var c=new Ho.Alternative({definition:[]});o.definition.push(c),(0,Sn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,Sn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),r.recordingProdStack.push(c),l.ALT.call(r),r.recordingProdStack.pop()}),hy}function AY(t){return t===0?"":""+t}function py(t){if(t<0||t>sY){var e=new Error("Invalid DSL Method idx value: <"+t+`> + `+("Idx value must be a none negative value smaller than "+(sY+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var uY=w(dy=>{"use strict";Object.defineProperty(dy,"__esModule",{value:!0});dy.PerformanceTracer=void 0;var cY=Yt(),dwe=Zn(),Cwe=function(){function t(){}return t.prototype.initPerformanceTracer=function(e){if((0,cY.has)(e,"traceInitPerf")){var r=e.traceInitPerf,i=typeof r=="number";this.traceInitMaxIdent=i?r:Infinity,this.traceInitPerf=i?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=dwe.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},t.prototype.TRACE_INIT=function(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,cY.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t}();dy.PerformanceTracer=Cwe});var gY=w(Cy=>{"use strict";Object.defineProperty(Cy,"__esModule",{value:!0});Cy.applyMixins=void 0;function mwe(t,e){e.forEach(function(r){var i=r.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(t.prototype,n,s):t.prototype[n]=r.prototype[n]}})})}Cy.applyMixins=mwe});var Zn=w(Er=>{"use strict";var fY=Er&&Er.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Er,"__esModule",{value:!0});Er.EmbeddedActionsParser=Er.CstParser=Er.Parser=Er.EMPTY_ALT=Er.ParserDefinitionErrorType=Er.DEFAULT_RULE_CONFIG=Er.DEFAULT_PARSER_CONFIG=Er.END_OF_FILE=void 0;var an=Yt(),Ewe=ZG(),hY=WA(),pY=Op(),dY=bj(),Iwe=aS(),ywe=Rj(),wwe=Gj(),Bwe=Yj(),bwe=Jj(),Qwe=Vj(),vwe=Zj(),Swe=tY(),kwe=lY(),xwe=uY(),Pwe=gY();Er.END_OF_FILE=(0,hY.createTokenInstance)(hY.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Er.END_OF_FILE);Er.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:pY.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});Er.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var Dwe;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(Dwe=Er.ParserDefinitionErrorType||(Er.ParserDefinitionErrorType={}));function Rwe(t){return t===void 0&&(t=void 0),function(){return t}}Er.EMPTY_ALT=Rwe;var my=function(){function t(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(r),i.initLexerAdapter(),i.initLooksAhead(r),i.initRecognizerEngine(e,r),i.initRecoverable(r),i.initTreeBuilder(r),i.initContentAssist(),i.initGastRecorder(r),i.initPerformanceTracer(r),(0,an.has)(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=(0,an.has)(r,"skipValidations")?r.skipValidations:Er.DEFAULT_PARSER_CONFIG.skipValidations}return t.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},t.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var r;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,an.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,an.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,dY.resolveGrammar)({rules:(0,an.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,an.isEmpty)(n)&&e.skipValidations===!1){var s=(0,dY.validateGrammar)({rules:(0,an.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,an.values)(e.tokensMap),errMsgProvider:pY.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,an.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,Ewe.computeAllProdsFollows)((0,an.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,an.values)(e.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,an.isEmpty)(e.definitionErrors))throw r=(0,an.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: + `+r.join(` +------------------------------- +`))})},t.DEFER_DEFINITION_ERRORS_HANDLING=!1,t}();Er.Parser=my;(0,Pwe.applyMixins)(my,[Iwe.Recoverable,ywe.LooksAhead,wwe.TreeBuilder,Bwe.LexerAdapter,Qwe.RecognizerEngine,bwe.RecognizerApi,vwe.ErrorHandler,Swe.ContentAssist,kwe.GastRecorder,xwe.PerformanceTracer]);var Fwe=function(t){fY(e,t);function e(r,i){i===void 0&&(i=Er.DEFAULT_PARSER_CONFIG);var n=this,s=(0,an.cloneObj)(i);return s.outputCst=!0,n=t.call(this,r,s)||this,n}return e}(my);Er.CstParser=Fwe;var Nwe=function(t){fY(e,t);function e(r,i){i===void 0&&(i=Er.DEFAULT_PARSER_CONFIG);var n=this,s=(0,an.cloneObj)(i);return s.outputCst=!1,n=t.call(this,r,s)||this,n}return e}(my);Er.EmbeddedActionsParser=Nwe});var mY=w(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.createSyntaxDiagramsCode=void 0;var CY=Rv();function Lwe(t,e){var r=e===void 0?{}:e,i=r.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+CY.VERSION+"/diagrams/":i,s=r.css,o=s===void 0?"https://unpkg.com/chevrotain@"+CY.VERSION+"/diagrams/diagrams.css":s,a=` + + + + + +`,l=` + +`,c=` + + + + +`,u=` +
+`,g=` + +`,f=` + +`;return a+l+c+u+g+f}Ey.createSyntaxDiagramsCode=Lwe});var yY=w(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.Parser=Ve.createSyntaxDiagramsCode=Ve.clearCache=Ve.GAstVisitor=Ve.serializeProduction=Ve.serializeGrammar=Ve.Terminal=Ve.Rule=Ve.RepetitionWithSeparator=Ve.RepetitionMandatoryWithSeparator=Ve.RepetitionMandatory=Ve.Repetition=Ve.Option=Ve.NonTerminal=Ve.Alternative=Ve.Alternation=Ve.defaultLexerErrorProvider=Ve.NoViableAltException=Ve.NotAllInputParsedException=Ve.MismatchedTokenException=Ve.isRecognitionException=Ve.EarlyExitException=Ve.defaultParserErrorProvider=Ve.tokenName=Ve.tokenMatcher=Ve.tokenLabel=Ve.EOF=Ve.createTokenInstance=Ve.createToken=Ve.LexerDefinitionErrorType=Ve.Lexer=Ve.EMPTY_ALT=Ve.ParserDefinitionErrorType=Ve.EmbeddedActionsParser=Ve.CstParser=Ve.VERSION=void 0;var Twe=Rv();Object.defineProperty(Ve,"VERSION",{enumerable:!0,get:function(){return Twe.VERSION}});var Iy=Zn();Object.defineProperty(Ve,"CstParser",{enumerable:!0,get:function(){return Iy.CstParser}});Object.defineProperty(Ve,"EmbeddedActionsParser",{enumerable:!0,get:function(){return Iy.EmbeddedActionsParser}});Object.defineProperty(Ve,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return Iy.ParserDefinitionErrorType}});Object.defineProperty(Ve,"EMPTY_ALT",{enumerable:!0,get:function(){return Iy.EMPTY_ALT}});var EY=Rp();Object.defineProperty(Ve,"Lexer",{enumerable:!0,get:function(){return EY.Lexer}});Object.defineProperty(Ve,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return EY.LexerDefinitionErrorType}});var Bg=WA();Object.defineProperty(Ve,"createToken",{enumerable:!0,get:function(){return Bg.createToken}});Object.defineProperty(Ve,"createTokenInstance",{enumerable:!0,get:function(){return Bg.createTokenInstance}});Object.defineProperty(Ve,"EOF",{enumerable:!0,get:function(){return Bg.EOF}});Object.defineProperty(Ve,"tokenLabel",{enumerable:!0,get:function(){return Bg.tokenLabel}});Object.defineProperty(Ve,"tokenMatcher",{enumerable:!0,get:function(){return Bg.tokenMatcher}});Object.defineProperty(Ve,"tokenName",{enumerable:!0,get:function(){return Bg.tokenName}});var Owe=Op();Object.defineProperty(Ve,"defaultParserErrorProvider",{enumerable:!0,get:function(){return Owe.defaultParserErrorProvider}});var Jp=Ig();Object.defineProperty(Ve,"EarlyExitException",{enumerable:!0,get:function(){return Jp.EarlyExitException}});Object.defineProperty(Ve,"isRecognitionException",{enumerable:!0,get:function(){return Jp.isRecognitionException}});Object.defineProperty(Ve,"MismatchedTokenException",{enumerable:!0,get:function(){return Jp.MismatchedTokenException}});Object.defineProperty(Ve,"NotAllInputParsedException",{enumerable:!0,get:function(){return Jp.NotAllInputParsedException}});Object.defineProperty(Ve,"NoViableAltException",{enumerable:!0,get:function(){return Jp.NoViableAltException}});var Mwe=Gv();Object.defineProperty(Ve,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return Mwe.defaultLexerErrorProvider}});var Go=bn();Object.defineProperty(Ve,"Alternation",{enumerable:!0,get:function(){return Go.Alternation}});Object.defineProperty(Ve,"Alternative",{enumerable:!0,get:function(){return Go.Alternative}});Object.defineProperty(Ve,"NonTerminal",{enumerable:!0,get:function(){return Go.NonTerminal}});Object.defineProperty(Ve,"Option",{enumerable:!0,get:function(){return Go.Option}});Object.defineProperty(Ve,"Repetition",{enumerable:!0,get:function(){return Go.Repetition}});Object.defineProperty(Ve,"RepetitionMandatory",{enumerable:!0,get:function(){return Go.RepetitionMandatory}});Object.defineProperty(Ve,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return Go.RepetitionMandatoryWithSeparator}});Object.defineProperty(Ve,"RepetitionWithSeparator",{enumerable:!0,get:function(){return Go.RepetitionWithSeparator}});Object.defineProperty(Ve,"Rule",{enumerable:!0,get:function(){return Go.Rule}});Object.defineProperty(Ve,"Terminal",{enumerable:!0,get:function(){return Go.Terminal}});var IY=bn();Object.defineProperty(Ve,"serializeGrammar",{enumerable:!0,get:function(){return IY.serializeGrammar}});Object.defineProperty(Ve,"serializeProduction",{enumerable:!0,get:function(){return IY.serializeProduction}});var Kwe=dg();Object.defineProperty(Ve,"GAstVisitor",{enumerable:!0,get:function(){return Kwe.GAstVisitor}});function Uwe(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. + It performs no action other than printing this message. + Please avoid using it as it will be completely removed in the future`)}Ve.clearCache=Uwe;var Hwe=mY();Object.defineProperty(Ve,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return Hwe.createSyntaxDiagramsCode}});var Gwe=function(){function t(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead. +See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return t}();Ve.Parser=Gwe});var bY=w((_tt,wY)=>{var yy=yY(),Ya=yy.createToken,BY=yy.tokenMatcher,fS=yy.Lexer,jwe=yy.EmbeddedActionsParser;wY.exports=t=>{let e=Ya({name:"LogicalOperator",pattern:fS.NA}),r=Ya({name:"Or",pattern:/\|/,categories:e}),i=Ya({name:"Xor",pattern:/\^/,categories:e}),n=Ya({name:"And",pattern:/&/,categories:e}),s=Ya({name:"Not",pattern:/!/}),o=Ya({name:"LParen",pattern:/\(/}),a=Ya({name:"RParen",pattern:/\)/}),l=Ya({name:"Query",pattern:t}),u=[Ya({name:"WhiteSpace",pattern:/\s+/,group:fS.SKIPPED}),r,i,n,o,a,s,e,l],g=new fS(u);class f extends jwe{constructor(p){super(u);this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let b=y,S=this.CONSUME(e),k=this.SUBRULE2(this.atomicExpression);BY(S,r)?y=T=>b(T)||k(T):BY(S,i)?y=T=>!!(b(T)^k(T)):y=T=>b(T)&&k(T)}),y}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:m}=this.CONSUME(l);return y=>y(m)}},{ALT:()=>{this.CONSUME(s);let m=this.SUBRULE(this.atomicExpression);return y=>!m(y)}}])),this.RULE("parenthesisExpression",()=>{let m;return this.CONSUME(o),m=this.SUBRULE(this.expression),this.CONSUME(a),m}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var QY=w(wy=>{var Ywe=bY();wy.makeParser=(t=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:r}=Ywe(t),i=new r;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};wy.parse=wy.makeParser()});var SY=w((Xtt,vY)=>{"use strict";vY.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var hS=w((Ztt,kY)=>{var Wp=SY(),xY={};for(let t of Object.keys(Wp))xY[Wp[t]]=t;var at={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};kY.exports=at;for(let t of Object.keys(at)){if(!("channels"in at[t]))throw new Error("missing channels property: "+t);if(!("labels"in at[t]))throw new Error("missing channel labels property: "+t);if(at[t].labels.length!==at[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=at[t];delete at[t].channels,delete at[t].labels,Object.defineProperty(at[t],"channels",{value:e}),Object.defineProperty(at[t],"labels",{value:r})}at.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(e,r,i),s=Math.max(e,r,i),o=s-n,a,l;s===n?a=0:e===s?a=(r-i)/o:r===s?a=2+(i-e)/o:i===s&&(a=4+(e-r)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};at.rgb.hsv=function(t){let e,r,i,n,s,o=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),r=g(a),i=g(l),o===c?n=i-r:a===c?n=1/3+e-i:l===c&&(n=2/3+r-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};at.rgb.hwb=function(t){let e=t[0],r=t[1],i=t[2],n=at.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,i));return i=1-1/255*Math.max(e,Math.max(r,i)),[n,s*100,i*100]};at.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(1-e,1-r,1-i),s=(1-e-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function qwe(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}at.rgb.keyword=function(t){let e=xY[t];if(e)return e;let r=Infinity,i;for(let n of Object.keys(Wp)){let s=Wp[n],o=qwe(t,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+r*.3576+i*.1805,s=e*.2126+r*.7152+i*.0722,o=e*.0193+r*.1192+i*.9505;return[n*100,s*100,o*100]};at.rgb.lab=function(t){let e=at.rgb.xyz(t),r=e[0],i=e[1],n=e[2];r/=95.047,i/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(r-i),a=200*(i-n);return[s,o,a]};at.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n,s,o;if(r===0)return o=i*255,[o,o,o];i<.5?n=i*(1+r):n=i+r-i*r;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};at.hsl.hsv=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=r,s=Math.max(i,.01);i*=2,r*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+r)/2,a=i===0?2*n/(s+n):2*r/(i+r);return[e,a*100,o*100]};at.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,i=t[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-r),a=255*i*(1-r*s),l=255*i*(1-r*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};at.hsv.hsl=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=Math.max(i,.01),s,o;o=(2-r)*i;let a=(2-r)*n;return s=r*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};at.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n=r+i,s;n>1&&(r/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=r+s*(a-r),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=r;break;case 1:c=l,u=a,g=r;break;case 2:c=r,u=a,g=l;break;case 3:c=r,u=l,g=a;break;case 4:c=l,u=r,g=a;break;case 5:c=a,u=r,g=l;break}return[c*255,u*255,g*255]};at.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n=t[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};at.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n,s,o;return n=e*3.2406+r*-1.5372+i*-.4986,s=e*-.9689+r*1.8758+i*.0415,o=e*.0557+r*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};at.xyz.lab=function(t){let e=t[0],r=t[1],i=t[2];e/=95.047,r/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*r-16,s=500*(e-r),o=200*(r-i);return[n,s,o]};at.lab.xyz=function(t){let e=t[0],r=t[1],i=t[2],n,s,o;s=(e+16)/116,n=r/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};at.lab.lch=function(t){let e=t[0],r=t[1],i=t[2],n;n=Math.atan2(i,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+i*i);return[e,o,n]};at.lch.lab=function(t){let e=t[0],r=t[1],n=t[2]/360*2*Math.PI,s=r*Math.cos(n),o=r*Math.sin(n);return[e,s,o]};at.rgb.ansi16=function(t,e=null){let[r,i,n]=t,s=e===null?at.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(r/255));return s===2&&(o+=60),o};at.hsv.ansi16=function(t){return at.rgb.ansi16(at.hsv.rgb(t),t[2])};at.rgb.ansi256=function(t){let e=t[0],r=t[1],i=t[2];return e===r&&r===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5)};at.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,i=(e&1)*r*255,n=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[i,n,s]};at.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,r=Math.floor(t/36)/5*255,i=Math.floor((e=t%36)/6)/5*255,n=e%6/5*255;return[r,i,n]};at.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};at.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(a=>a+a).join(""));let i=parseInt(r,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};at.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.max(Math.max(e,r),i),s=Math.min(Math.min(e,r),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(r-i)/o%6:n===r?l=2+(i-e)/o:l=4+(e-r)/o,l/=6,l%=1,[l*360,o*100,a*100]};at.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=r<.5?2*e*r:2*e*(1-r),n=0;return i<1&&(n=(r-.5*i)/(1-i)),[t[0],i*100,n*100]};at.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=e*r,n=0;return i<1&&(n=(r-i)/(1-i)),[t[0],i*100,n*100]};at.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100;if(r===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-r)*i,[(r*n[0]+l)*255,(r*n[1]+l)*255,(r*n[2]+l)*255]};at.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e),n=0;return i>0&&(n=e/i),[t[0],n*100,i*100]};at.hcg.hsl=function(t){let e=t[1]/100,i=t[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[t[0],n*100,i*100]};at.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e);return[t[0],(i-e)*100,(1-i)*100]};at.hwb.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=1-r,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[t[0],n*100,s*100]};at.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};at.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};at.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};at.gray.hsl=function(t){return[0,0,t[0]]};at.gray.hsv=at.gray.hsl;at.gray.hwb=function(t){return[0,100,t[0]]};at.gray.cmyk=function(t){return[0,0,0,t[0]]};at.gray.lab=function(t){return[t[0],0,0]};at.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};at.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var DY=w(($tt,PY)=>{var By=hS();function Jwe(){let t={},e=Object.keys(By);for(let r=e.length,i=0;i{var pS=hS(),Vwe=DY(),bg={},Xwe=Object.keys(pS);function Zwe(t){let e=function(...r){let i=r[0];return i==null?i:(i.length>1&&(r=i),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function $we(t){let e=function(...r){let i=r[0];if(i==null)return i;i.length>1&&(r=i);let n=t(r);if(typeof n=="object")for(let s=n.length,o=0;o{bg[t]={},Object.defineProperty(bg[t],"channels",{value:pS[t].channels}),Object.defineProperty(bg[t],"labels",{value:pS[t].labels});let e=Vwe(t);Object.keys(e).forEach(i=>{let n=e[i];bg[t][i]=$we(n),bg[t][i].raw=Zwe(n)})});RY.exports=bg});var KY=w((trt,NY)=>{"use strict";var LY=(t,e)=>(...r)=>`[${t(...r)+e}m`,TY=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};5;${i}m`},OY=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},by=t=>t,MY=(t,e,r)=>[t,e,r],Qg=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let i=r();return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},dS,vg=(t,e,r,i)=>{dS===void 0&&(dS=FY());let n=i?10:0,s={};for(let[o,a]of Object.entries(dS)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=t(r,n):typeof a=="object"&&(s[l]=t(a[e],n))}return s};function eBe(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],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]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],t.set(s[0],s[1]);Object.defineProperty(e,r,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="",e.bgColor.close="",Qg(e.color,"ansi",()=>vg(LY,"ansi16",by,!1)),Qg(e.color,"ansi256",()=>vg(TY,"ansi256",by,!1)),Qg(e.color,"ansi16m",()=>vg(OY,"rgb",MY,!1)),Qg(e.bgColor,"ansi",()=>vg(LY,"ansi16",by,!0)),Qg(e.bgColor,"ansi256",()=>vg(TY,"ansi256",by,!0)),Qg(e.bgColor,"ansi16m",()=>vg(OY,"rgb",MY,!0)),e}Object.defineProperty(NY,"exports",{enumerable:!0,get:eBe})});var HY=w((rrt,UY)=>{"use strict";UY.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(r+t),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var tBe=require("os"),jY=require("tty"),xs=HY(),{env:ui}=process,XA;xs("no-color")||xs("no-colors")||xs("color=false")||xs("color=never")?XA=0:(xs("color")||xs("colors")||xs("color=true")||xs("color=always"))&&(XA=1);"FORCE_COLOR"in ui&&(ui.FORCE_COLOR==="true"?XA=1:ui.FORCE_COLOR==="false"?XA=0:XA=ui.FORCE_COLOR.length===0?1:Math.min(parseInt(ui.FORCE_COLOR,10),3));function CS(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function mS(t,e){if(XA===0)return 0;if(xs("color=16m")||xs("color=full")||xs("color=truecolor"))return 3;if(xs("color=256"))return 2;if(t&&!e&&XA===void 0)return 0;let r=XA||0;if(ui.TERM==="dumb")return r;if(process.platform==="win32"){let i=tBe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in ui)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in ui)||ui.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in ui)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ui.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ui)return 1;if(ui.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ui){let i=parseInt((ui.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ui.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ui.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ui.TERM)||"COLORTERM"in ui?1:r}function rBe(t){let e=mS(t,t&&t.isTTY);return CS(e)}GY.exports={supportsColor:rBe,stdout:CS(mS(!0,jY.isatty(1))),stderr:CS(mS(!0,jY.isatty(2)))}});var JY=w((nrt,qY)=>{"use strict";var iBe=(t,e,r)=>{let i=t.indexOf(e);if(i===-1)return t;let n=e.length,s=0,o="";do o+=t.substr(s,i-s)+e+r,s=i+n,i=t.indexOf(e,s);while(i!==-1);return o+=t.substr(s),o},nBe=(t,e,r,i)=>{let n=0,s="";do{let o=t[i-1]==="\r";s+=t.substr(n,(o?i-1:i)-n)+e+(o?`\r +`:` +`)+r,n=i+1,i=t.indexOf(` +`,n)}while(i!==-1);return s+=t.substr(n),s};qY.exports={stringReplaceAll:iBe,stringEncaseCRLFWithFirstIndex:nBe}});var XY=w((srt,WY)=>{"use strict";var sBe=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,zY=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,oBe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,aBe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,ABe=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function _Y(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):ABe.get(t)||t}function lBe(t,e){let r=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))r.push(o);else if(n=s.match(oBe))r.push(n[2].replace(aBe,(a,l,c)=>l?_Y(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function cBe(t){zY.lastIndex=0;let e=[],r;for(;(r=zY.exec(t))!==null;){let i=r[1];if(r[2]){let n=lBe(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function VY(t,e){let r={};for(let n of e)for(let s of n.styles)r[s[0]]=n.inverse?null:s.slice(1);let i=t;for(let[n,s]of Object.entries(r))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}WY.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(sBe,(s,o,a,l,c,u)=>{if(o)n.push(_Y(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:VY(t,r)(g)),r.push({inverse:a,styles:cBe(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(VY(t,r)(n.join(""))),n=[],r.pop()}else n.push(u)}),i.push(n.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var BS=w((ort,ZY)=>{"use strict";var zp=KY(),{stdout:ES,stderr:IS}=YY(),{stringReplaceAll:uBe,stringEncaseCRLFWithFirstIndex:gBe}=JY(),$Y=["ansi","ansi","ansi256","ansi16m"],Sg=Object.create(null),fBe=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=ES?ES.level:0;t.level=e.level===void 0?r:e.level},eq=class{constructor(e){return tq(e)}},tq=t=>{let e={};return fBe(e,t),e.template=(...r)=>hBe(e.template,...r),Object.setPrototypeOf(e,Qy.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=eq,e.template};function Qy(t){return tq(t)}for(let[t,e]of Object.entries(zp))Sg[t]={get(){let r=vy(this,yS(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Sg.visible={get(){let t=vy(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var rq=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of rq)Sg[t]={get(){let{level:e}=this;return function(...r){let i=yS(zp.color[$Y[e]][t](...r),zp.color.close,this._styler);return vy(this,i,this._isEmpty)}}};for(let t of rq){let e="bg"+t[0].toUpperCase()+t.slice(1);Sg[e]={get(){let{level:r}=this;return function(...i){let n=yS(zp.bgColor[$Y[r]][t](...i),zp.bgColor.close,this._styler);return vy(this,n,this._isEmpty)}}}}var pBe=Object.defineProperties(()=>{},ie(N({},Sg),{level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}})),yS=(t,e,r)=>{let i,n;return r===void 0?(i=t,n=e):(i=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:n,parent:r}},vy=(t,e,r)=>{let i=(...n)=>dBe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=pBe,i._generator=t,i._styler=e,i._isEmpty=r,i},dBe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:i,closeAll:n}=r;if(e.indexOf("")!==-1)for(;r!==void 0;)e=uBe(e,r.close,r.open),r=r.parent;let s=e.indexOf(` +`);return s!==-1&&(e=gBe(e,n,i,s)),i+e+n},wS,hBe=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let i=e.slice(1),n=[r.raw[0]];for(let s=1;s{"use strict";Ps.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;Ps.find=(t,e)=>t.nodes.find(r=>r.type===e);Ps.exceedsLimit=(t,e,r=1,i)=>i===!1||!Ps.isInteger(t)||!Ps.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;Ps.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};Ps.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;Ps.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;Ps.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;Ps.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);Ps.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n{"use strict";var nq=Sy();iq.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&nq.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&nq.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=r(l);return a};return r(t)}});var oq=w((lrt,sq)=>{"use strict";sq.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var pq=w((crt,aq)=>{"use strict";var Aq=oq(),Sc=(t,e,r)=>{if(Aq(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(Aq(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i=N({relaxZeros:!0},r);typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=t+":"+e+"="+n+s+o+a;if(Sc.cache.hasOwnProperty(l))return Sc.cache[l].result;let c=Math.min(t,e),u=Math.max(t,e);if(Math.abs(c-u)===1){let m=t+"|"+e;return i.capture?`(${m})`:i.wrap===!1?m:`(?:${m})`}let g=cq(t)||cq(e),f={min:t,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let m=u<0?Math.abs(u):1;p=lq(m,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=lq(c,u,f,i)),f.negatives=p,f.positives=h,f.result=CBe(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),Sc.cache[l]=f,f.result};function CBe(t,e,r){let i=bS(t,e,"-",!1,r)||[],n=bS(e,t,"",!1,r)||[],s=bS(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function EBe(t,e){let r=1,i=1,n=uq(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=uq(t,r);for(n=gq(e+1,i)-1;t1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+fq(a.count),o=c+1;continue}r.isPadded&&(g=BBe(c,r,i)),u.string=g+u.pattern+fq(u.count),s.push(u),o=c+1,a=u}return s}function bS(t,e,r,i,n){let s=[];for(let o of t){let{string:a}=o;!i&&!hq(e,"string",a)&&s.push(r+a),i&&hq(e,"string",a)&&s.push(r+a)}return s}function IBe(t,e){let r=[];for(let i=0;ie?1:e>t?-1:0}function hq(t,e,r){return t.some(i=>i[e]===r)}function uq(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function gq(t,e){return t-t%Math.pow(10,e)}function fq(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function yBe(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function cq(t){return/^-?(0+)\d/.test(t)}function BBe(t,e,r){if(!e.isPadded)return t;let i=Math.abs(e.maxLen-String(t).length),n=r.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}Sc.cache={};Sc.clearCache=()=>Sc.cache={};aq.exports=Sc});var SS=w((urt,dq)=>{"use strict";var bBe=require("util"),Cq=pq(),mq=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),QBe=t=>e=>t===!0?Number(e):String(e),QS=t=>typeof t=="number"||typeof t=="string"&&t!=="",Vp=t=>Number.isInteger(+t),vS=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},vBe=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,SBe=(t,e,r)=>{if(e>0){let i=t[0]==="-"?"-":"";i&&(t=t.slice(1)),t=i+t.padStart(i?e-1:e,"0")}return r===!1?String(t):t},Eq=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((o,a)=>oa?1:0),t.positives.sort((o,a)=>oa?1:0);let r=e.capture?"":"?:",i="",n="",s;return t.positives.length&&(i=t.positives.join("|")),t.negatives.length&&(n=`-(${r}${t.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${r}${s})`:s},Iq=(t,e,r,i)=>{if(r)return Cq(t,e,N({wrap:!1},i));let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},yq=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return Cq(t,e,r)},wq=(...t)=>new RangeError("Invalid range arguments: "+bBe.inspect(...t)),Bq=(t,e,r)=>{if(r.strictRanges===!0)throw wq([t,e]);return[]},xBe=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},PBe=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw wq([t,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(t),l=String(e),c=String(r);r=Math.max(Math.abs(r),1);let u=vS(a)||vS(l)||vS(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&vBe(t,e,i)===!1,h=i.transform||QBe(f);if(i.toRegex&&r===1)return Iq(Eq(t,g),Eq(e,g),!0,i);let p={negatives:[],positives:[]},m=S=>p[S<0?"negatives":"positives"].push(Math.abs(S)),y=[],b=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&r>1?m(n):y.push(SBe(h(n,b),g,f)),n=o?n-r:n+r,b++;return i.toRegex===!0?r>1?kBe(p,i):yq(y,null,N({wrap:!1},i)):y},DBe=(t,e,r=1,i={})=>{if(!Vp(t)&&t.length>1||!Vp(e)&&e.length>1)return Bq(t,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&r===1)return Iq(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-r:s+r,g++;return i.toRegex===!0?yq(u,null,{wrap:!1,options:i}):u},xy=(t,e,r,i={})=>{if(e==null&&QS(t))return[t];if(!QS(t)||!QS(e))return Bq(t,e,i);if(typeof r=="function")return xy(t,e,1,{transform:r});if(mq(r))return xy(t,e,0,r);let n=N({},i);return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,Vp(r)?Vp(t)&&Vp(e)?PBe(t,e,r,n):DBe(t,e,Math.max(Math.abs(r),1),n):r!=null&&!mq(r)?xBe(r,n):xy(t,e,1,r)};dq.exports=xy});var vq=w((grt,bq)=>{"use strict";var RBe=SS(),Qq=Sy(),FBe=(t,e={})=>{let r=(i,n={})=>{let s=Qq.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=Qq.reduce(i.nodes),g=RBe(...u,ie(N({},e),{wrap:!1,toRegex:!0}));if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=r(u,i);return c};return r(t)};bq.exports=FBe});var xq=w((frt,Sq)=>{"use strict";var NBe=SS(),kq=ky(),kg=Sy(),kc=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?kg.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(kc(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?kc(n,s,r):n+s);return kg.flatten(i)},LBe=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(kc(a.pop(),kq(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(kc(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=kg.reduce(n.nodes);if(kg.exceedsLimit(...g,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=NBe(...g,e);f.length===0&&(f=kq(n,e)),a.push(kc(a.pop(),f)),n.nodes=[];return}let l=kg.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";Pq.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var Tq=w((prt,Rq)=>{"use strict";var TBe=ky(),{MAX_LENGTH:Fq,CHAR_BACKSLASH:kS,CHAR_BACKTICK:OBe,CHAR_COMMA:MBe,CHAR_DOT:KBe,CHAR_LEFT_PARENTHESES:UBe,CHAR_RIGHT_PARENTHESES:HBe,CHAR_LEFT_CURLY_BRACE:GBe,CHAR_RIGHT_CURLY_BRACE:jBe,CHAR_LEFT_SQUARE_BRACKET:Nq,CHAR_RIGHT_SQUARE_BRACKET:Lq,CHAR_DOUBLE_QUOTE:YBe,CHAR_SINGLE_QUOTE:qBe,CHAR_NO_BREAK_SPACE:JBe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:WBe}=Dq(),zBe=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(Fq,r.maxLength):Fq;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],o=n,a=n,l=0,c=t.length,u=0,g=0,f,h={},p=()=>t[u++],m=y=>{if(y.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&y.type==="text"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(m({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:"text",value:TBe(o)}]}m({type:"comma",value:f}),o.commas++;continue}if(f===KBe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){m({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){y.pop();let b=y[y.length-1];b.value+=a.value+f,a=b,o.ranges--;continue}m({type:"dot",value:f});continue}m({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(S=>{S.nodes||(S.type==="open"&&(S.isOpen=!0),S.type==="close"&&(S.isClose=!0),S.nodes||(S.type="text"),S.invalid=!0)});let y=s[s.length-1],b=y.nodes.indexOf(o);y.nodes.splice(b,1,...o.nodes)}while(s.length>0);return m({type:"eos"}),n};Rq.exports=zBe});var Kq=w((drt,Oq)=>{"use strict";var Mq=ky(),_Be=vq(),VBe=xq(),XBe=Tq(),es=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=es.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat(es.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};es.parse=(t,e={})=>XBe(t,e);es.stringify=(t,e={})=>typeof t=="string"?Mq(es.parse(t,e),e):Mq(t,e);es.compile=(t,e={})=>(typeof t=="string"&&(t=es.parse(t,e)),_Be(t,e));es.expand=(t,e={})=>{typeof t=="string"&&(t=es.parse(t,e));let r=VBe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};es.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?es.compile(t,e):es.expand(t,e);Oq.exports=es});var Xp=w((Crt,Uq)=>{"use strict";var ZBe=require("path"),jo="\\\\/",Hq=`[^${jo}]`,qa="\\.",$Be="\\+",e0e="\\?",Py="\\/",t0e="(?=.)",Gq="[^/]",xS=`(?:${Py}|$)`,jq=`(?:^|${Py})`,PS=`${qa}{1,2}${xS}`,r0e=`(?!${qa})`,i0e=`(?!${jq}${PS})`,n0e=`(?!${qa}{0,1}${xS})`,s0e=`(?!${PS})`,o0e=`[^.${Py}]`,a0e=`${Gq}*?`,Yq={DOT_LITERAL:qa,PLUS_LITERAL:$Be,QMARK_LITERAL:e0e,SLASH_LITERAL:Py,ONE_CHAR:t0e,QMARK:Gq,END_ANCHOR:xS,DOTS_SLASH:PS,NO_DOT:r0e,NO_DOTS:i0e,NO_DOT_SLASH:n0e,NO_DOTS_SLASH:s0e,QMARK_NO_DOT:o0e,STAR:a0e,START_ANCHOR:jq},A0e=ie(N({},Yq),{SLASH_LITERAL:`[${jo}]`,QMARK:Hq,STAR:`${Hq}*?`,DOTS_SLASH:`${qa}{1,2}(?:[${jo}]|$)`,NO_DOT:`(?!${qa})`,NO_DOTS:`(?!(?:^|[${jo}])${qa}{1,2}(?:[${jo}]|$))`,NO_DOT_SLASH:`(?!${qa}{0,1}(?:[${jo}]|$))`,NO_DOTS_SLASH:`(?!${qa}{1,2}(?:[${jo}]|$))`,QMARK_NO_DOT:`[^.${jo}]`,START_ANCHOR:`(?:^|[${jo}])`,END_ANCHOR:`(?:[${jo}]|$)`}),l0e={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Uq.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:l0e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:ZBe.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?A0e:Yq}}});var Zp=w(kn=>{"use strict";var c0e=require("path"),u0e=process.platform==="win32",{REGEX_BACKSLASH:g0e,REGEX_REMOVE_BACKSLASH:f0e,REGEX_SPECIAL_CHARS:h0e,REGEX_SPECIAL_CHARS_GLOBAL:p0e}=Xp();kn.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);kn.hasRegexChars=t=>h0e.test(t);kn.isRegexChar=t=>t.length===1&&kn.hasRegexChars(t);kn.escapeRegex=t=>t.replace(p0e,"\\$1");kn.toPosixSlashes=t=>t.replace(g0e,"/");kn.removeBackslashes=t=>t.replace(f0e,e=>e==="\\"?"":e);kn.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};kn.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:u0e===!0||c0e.sep==="\\";kn.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?kn.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};kn.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};kn.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var Zq=w((Ert,qq)=>{"use strict";var Jq=Zp(),{CHAR_ASTERISK:DS,CHAR_AT:d0e,CHAR_BACKWARD_SLASH:$p,CHAR_COMMA:C0e,CHAR_DOT:RS,CHAR_EXCLAMATION_MARK:FS,CHAR_FORWARD_SLASH:Wq,CHAR_LEFT_CURLY_BRACE:NS,CHAR_LEFT_PARENTHESES:LS,CHAR_LEFT_SQUARE_BRACKET:m0e,CHAR_PLUS:E0e,CHAR_QUESTION_MARK:zq,CHAR_RIGHT_CURLY_BRACE:I0e,CHAR_RIGHT_PARENTHESES:_q,CHAR_RIGHT_SQUARE_BRACKET:y0e}=Xp(),Vq=t=>t===Wq||t===$p,Xq=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?Infinity:1)},w0e=(t,e)=>{let r=e||{},i=t.length-1,n=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],l=t,c=-1,u=0,g=0,f=!1,h=!1,p=!1,m=!1,y=!1,b=!1,S=!1,k=!1,T=!1,Y=!1,j=0,Z,J,re={value:"",depth:0,isGlob:!1},ee=()=>c>=i,A=()=>l.charCodeAt(c+1),oe=()=>(Z=J,l.charCodeAt(++c));for(;c0&&(X=l.slice(0,u),l=l.slice(u),g-=u),le&&p===!0&&g>0?(le=l.slice(0,g),O=l.slice(g)):p===!0?(le="",O=l):le=l,le&&le!==""&&le!=="/"&&le!==l&&Vq(le.charCodeAt(le.length-1))&&(le=le.slice(0,-1)),r.unescape===!0&&(O&&(O=Jq.removeBackslashes(O)),le&&S===!0&&(le=Jq.removeBackslashes(le)));let L={prefix:X,input:t,start:u,base:le,glob:O,isBrace:f,isBracket:h,isGlob:p,isExtglob:m,isGlobstar:y,negated:k,negatedExtglob:T};if(r.tokens===!0&&(L.maxDepth=0,Vq(J)||o.push(re),L.tokens=o),r.parts===!0||r.tokens===!0){let pe;for(let Ce=0;Ce{"use strict";var Dy=Xp(),ts=Zp(),{MAX_LENGTH:Ry,POSIX_REGEX_SOURCE:B0e,REGEX_NON_SPECIAL_CHARS:b0e,REGEX_SPECIAL_CHARS_BACKREF:Q0e,REPLACEMENTS:eJ}=Dy,v0e=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch(i){return t.map(n=>ts.escapeRegex(n)).join("..")}return r},xg=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,tJ=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=eJ[t]||t;let r=N({},e),i=typeof r.maxLength=="number"?Math.min(Ry,r.maxLength):Ry,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",l=ts.isWindows(e),c=Dy.globChars(l),u=Dy.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:m,NO_DOT:y,NO_DOT_SLASH:b,NO_DOTS_SLASH:S,QMARK:k,QMARK_NO_DOT:T,STAR:Y,START_ANCHOR:j}=c,Z=V=>`(${a}(?:(?!${j}${V.dot?m:g}).)*?)`,J=r.dot?"":y,re=r.dot?k:T,ee=r.bash===!0?Z(r):Y;r.capture&&(ee=`(${ee})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let A={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=ts.removePrefix(t,A),n=t.length;let oe=[],le=[],X=[],O=s,L,pe=()=>A.index===n-1,Ce=A.peek=(V=1)=>t[A.index+V],Oe=A.advance=()=>t[++A.index]||"",te=()=>t.slice(A.index+1),se=(V="",Qe=0)=>{A.consumed+=V,A.index+=Qe},be=V=>{A.output+=V.output!=null?V.output:V.value,se(V.value)},he=()=>{let V=1;for(;Ce()==="!"&&(Ce(2)!=="("||Ce(3)==="?");)Oe(),A.start++,V++;return V%2==0?!1:(A.negated=!0,A.start++,!0)},Fe=V=>{A[V]++,X.push(V)},Ue=V=>{A[V]--,X.pop()},xe=V=>{if(O.type==="globstar"){let Qe=A.braces>0&&(V.type==="comma"||V.type==="brace"),ce=V.extglob===!0||oe.length&&(V.type==="pipe"||V.type==="paren");V.type!=="slash"&&V.type!=="paren"&&!Qe&&!ce&&(A.output=A.output.slice(0,-O.output.length),O.type="star",O.value="*",O.output=ee,A.output+=O.output)}if(oe.length&&V.type!=="paren"&&(oe[oe.length-1].inner+=V.value),(V.value||V.output)&&be(V),O&&O.type==="text"&&V.type==="text"){O.value+=V.value,O.output=(O.output||"")+V.value;return}V.prev=O,o.push(V),O=V},Se=(V,Qe)=>{let ce=ie(N({},u[Qe]),{conditions:1,inner:""});ce.prev=O,ce.parens=A.parens,ce.output=A.output;let fe=(r.capture?"(":"")+ce.open;Fe("parens"),xe({type:V,value:Qe,output:A.output?"":p}),xe({type:"paren",extglob:!0,value:Oe(),output:fe}),oe.push(ce)},de=V=>{let Qe=V.close+(r.capture?")":""),ce;if(V.type==="negate"){let fe=ee;V.inner&&V.inner.length>1&&V.inner.includes("/")&&(fe=Z(r)),(fe!==ee||pe()||/^\)+$/.test(te()))&&(Qe=V.close=`)$))${fe}`),V.inner.includes("*")&&(ce=te())&&/^\.[^\\/.]+$/.test(ce)&&(Qe=V.close=`)${ce})${fe})`),V.prev.type==="bos"&&(A.negatedExtglob=!0)}xe({type:"paren",extglob:!0,value:L,output:Qe}),Ue("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let V=!1,Qe=t.replace(Q0e,(ce,fe,gt,Ht,Mt,mi)=>Ht==="\\"?(V=!0,ce):Ht==="?"?fe?fe+Ht+(Mt?k.repeat(Mt.length):""):mi===0?re+(Mt?k.repeat(Mt.length):""):k.repeat(gt.length):Ht==="."?g.repeat(gt.length):Ht==="*"?fe?fe+Ht+(Mt?ee:""):ee:fe?ce:`\\${ce}`);return V===!0&&(r.unescape===!0?Qe=Qe.replace(/\\/g,""):Qe=Qe.replace(/\\+/g,ce=>ce.length%2==0?"\\\\":ce?"\\":"")),Qe===t&&r.contains===!0?(A.output=t,A):(A.output=ts.wrapOutput(Qe,A,e),A)}for(;!pe();){if(L=Oe(),L==="\0")continue;if(L==="\\"){let ce=Ce();if(ce==="/"&&r.bash!==!0||ce==="."||ce===";")continue;if(!ce){L+="\\",xe({type:"text",value:L});continue}let fe=/^\\+/.exec(te()),gt=0;if(fe&&fe[0].length>2&&(gt=fe[0].length,A.index+=gt,gt%2!=0&&(L+="\\")),r.unescape===!0?L=Oe():L+=Oe(),A.brackets===0){xe({type:"text",value:L});continue}}if(A.brackets>0&&(L!=="]"||O.value==="["||O.value==="[^")){if(r.posix!==!1&&L===":"){let ce=O.value.slice(1);if(ce.includes("[")&&(O.posix=!0,ce.includes(":"))){let fe=O.value.lastIndexOf("["),gt=O.value.slice(0,fe),Ht=O.value.slice(fe+2),Mt=B0e[Ht];if(Mt){O.value=gt+Mt,A.backtrack=!0,Oe(),!s.output&&o.indexOf(O)===1&&(s.output=p);continue}}}(L==="["&&Ce()!==":"||L==="-"&&Ce()==="]")&&(L=`\\${L}`),L==="]"&&(O.value==="["||O.value==="[^")&&(L=`\\${L}`),r.posix===!0&&L==="!"&&O.value==="["&&(L="^"),O.value+=L,be({value:L});continue}if(A.quotes===1&&L!=='"'){L=ts.escapeRegex(L),O.value+=L,be({value:L});continue}if(L==='"'){A.quotes=A.quotes===1?0:1,r.keepQuotes===!0&&xe({type:"text",value:L});continue}if(L==="("){Fe("parens"),xe({type:"paren",value:L});continue}if(L===")"){if(A.parens===0&&r.strictBrackets===!0)throw new SyntaxError(xg("opening","("));let ce=oe[oe.length-1];if(ce&&A.parens===ce.parens+1){de(oe.pop());continue}xe({type:"paren",value:L,output:A.parens?")":"\\)"}),Ue("parens");continue}if(L==="["){if(r.nobracket===!0||!te().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(xg("closing","]"));L=`\\${L}`}else Fe("brackets");xe({type:"bracket",value:L});continue}if(L==="]"){if(r.nobracket===!0||O&&O.type==="bracket"&&O.value.length===1){xe({type:"text",value:L,output:`\\${L}`});continue}if(A.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(xg("opening","["));xe({type:"text",value:L,output:`\\${L}`});continue}Ue("brackets");let ce=O.value.slice(1);if(O.posix!==!0&&ce[0]==="^"&&!ce.includes("/")&&(L=`/${L}`),O.value+=L,be({value:L}),r.literalBrackets===!1||ts.hasRegexChars(ce))continue;let fe=ts.escapeRegex(O.value);if(A.output=A.output.slice(0,-O.value.length),r.literalBrackets===!0){A.output+=fe,O.value=fe;continue}O.value=`(${a}${fe}|${O.value})`,A.output+=O.value;continue}if(L==="{"&&r.nobrace!==!0){Fe("braces");let ce={type:"brace",value:L,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};le.push(ce),xe(ce);continue}if(L==="}"){let ce=le[le.length-1];if(r.nobrace===!0||!ce){xe({type:"text",value:L,output:L});continue}let fe=")";if(ce.dots===!0){let gt=o.slice(),Ht=[];for(let Mt=gt.length-1;Mt>=0&&(o.pop(),gt[Mt].type!=="brace");Mt--)gt[Mt].type!=="dots"&&Ht.unshift(gt[Mt].value);fe=v0e(Ht,r),A.backtrack=!0}if(ce.comma!==!0&&ce.dots!==!0){let gt=A.output.slice(0,ce.outputIndex),Ht=A.tokens.slice(ce.tokensIndex);ce.value=ce.output="\\{",L=fe="\\}",A.output=gt;for(let Mt of Ht)A.output+=Mt.output||Mt.value}xe({type:"brace",value:L,output:fe}),Ue("braces"),le.pop();continue}if(L==="|"){oe.length>0&&oe[oe.length-1].conditions++,xe({type:"text",value:L});continue}if(L===","){let ce=L,fe=le[le.length-1];fe&&X[X.length-1]==="braces"&&(fe.comma=!0,ce="|"),xe({type:"comma",value:L,output:ce});continue}if(L==="/"){if(O.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),O=s;continue}xe({type:"slash",value:L,output:h});continue}if(L==="."){if(A.braces>0&&O.type==="dot"){O.value==="."&&(O.output=g);let ce=le[le.length-1];O.type="dots",O.output+=L,O.value+=L,ce.dots=!0;continue}if(A.braces+A.parens===0&&O.type!=="bos"&&O.type!=="slash"){xe({type:"text",value:L,output:g});continue}xe({type:"dot",value:L,output:g});continue}if(L==="?"){if(!(O&&O.value==="(")&&r.noextglob!==!0&&Ce()==="("&&Ce(2)!=="?"){Se("qmark",L);continue}if(O&&O.type==="paren"){let fe=Ce(),gt=L;if(fe==="<"&&!ts.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(O.value==="("&&!/[!=<:]/.test(fe)||fe==="<"&&!/<([!=]|\w+>)/.test(te()))&&(gt=`\\${L}`),xe({type:"text",value:L,output:gt});continue}if(r.dot!==!0&&(O.type==="slash"||O.type==="bos")){xe({type:"qmark",value:L,output:T});continue}xe({type:"qmark",value:L,output:k});continue}if(L==="!"){if(r.noextglob!==!0&&Ce()==="("&&(Ce(2)!=="?"||!/[!=<:]/.test(Ce(3)))){Se("negate",L);continue}if(r.nonegate!==!0&&A.index===0){he();continue}}if(L==="+"){if(r.noextglob!==!0&&Ce()==="("&&Ce(2)!=="?"){Se("plus",L);continue}if(O&&O.value==="("||r.regex===!1){xe({type:"plus",value:L,output:f});continue}if(O&&(O.type==="bracket"||O.type==="paren"||O.type==="brace")||A.parens>0){xe({type:"plus",value:L});continue}xe({type:"plus",value:f});continue}if(L==="@"){if(r.noextglob!==!0&&Ce()==="("&&Ce(2)!=="?"){xe({type:"at",extglob:!0,value:L,output:""});continue}xe({type:"text",value:L});continue}if(L!=="*"){(L==="$"||L==="^")&&(L=`\\${L}`);let ce=b0e.exec(te());ce&&(L+=ce[0],A.index+=ce[0].length),xe({type:"text",value:L});continue}if(O&&(O.type==="globstar"||O.star===!0)){O.type="star",O.star=!0,O.value+=L,O.output=ee,A.backtrack=!0,A.globstar=!0,se(L);continue}let V=te();if(r.noextglob!==!0&&/^\([^?]/.test(V)){Se("star",L);continue}if(O.type==="star"){if(r.noglobstar===!0){se(L);continue}let ce=O.prev,fe=ce.prev,gt=ce.type==="slash"||ce.type==="bos",Ht=fe&&(fe.type==="star"||fe.type==="globstar");if(r.bash===!0&&(!gt||V[0]&&V[0]!=="/")){xe({type:"star",value:L,output:""});continue}let Mt=A.braces>0&&(ce.type==="comma"||ce.type==="brace"),mi=oe.length&&(ce.type==="pipe"||ce.type==="paren");if(!gt&&ce.type!=="paren"&&!Mt&&!mi){xe({type:"star",value:L,output:""});continue}for(;V.slice(0,3)==="/**";){let Gt=t[A.index+4];if(Gt&&Gt!=="/")break;V=V.slice(3),se("/**",3)}if(ce.type==="bos"&&pe()){O.type="globstar",O.value+=L,O.output=Z(r),A.output=O.output,A.globstar=!0,se(L);continue}if(ce.type==="slash"&&ce.prev.type!=="bos"&&!Ht&&pe()){A.output=A.output.slice(0,-(ce.output+O.output).length),ce.output=`(?:${ce.output}`,O.type="globstar",O.output=Z(r)+(r.strictSlashes?")":"|$)"),O.value+=L,A.globstar=!0,A.output+=ce.output+O.output,se(L);continue}if(ce.type==="slash"&&ce.prev.type!=="bos"&&V[0]==="/"){let Gt=V[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ce.output+O.output).length),ce.output=`(?:${ce.output}`,O.type="globstar",O.output=`${Z(r)}${h}|${h}${Gt})`,O.value+=L,A.output+=ce.output+O.output,A.globstar=!0,se(L+Oe()),xe({type:"slash",value:"/",output:""});continue}if(ce.type==="bos"&&V[0]==="/"){O.type="globstar",O.value+=L,O.output=`(?:^|${h}|${Z(r)}${h})`,A.output=O.output,A.globstar=!0,se(L+Oe()),xe({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-O.output.length),O.type="globstar",O.output=Z(r),O.value+=L,A.output+=O.output,A.globstar=!0,se(L);continue}let Qe={type:"star",value:L,output:ee};if(r.bash===!0){Qe.output=".*?",(O.type==="bos"||O.type==="slash")&&(Qe.output=J+Qe.output),xe(Qe);continue}if(O&&(O.type==="bracket"||O.type==="paren")&&r.regex===!0){Qe.output=L,xe(Qe);continue}(A.index===A.start||O.type==="slash"||O.type==="dot")&&(O.type==="dot"?(A.output+=b,O.output+=b):r.dot===!0?(A.output+=S,O.output+=S):(A.output+=J,O.output+=J),Ce()!=="*"&&(A.output+=p,O.output+=p)),xe(Qe)}for(;A.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(xg("closing","]"));A.output=ts.escapeLast(A.output,"["),Ue("brackets")}for(;A.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(xg("closing",")"));A.output=ts.escapeLast(A.output,"("),Ue("parens")}for(;A.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(xg("closing","}"));A.output=ts.escapeLast(A.output,"{"),Ue("braces")}if(r.strictSlashes!==!0&&(O.type==="star"||O.type==="bracket")&&xe({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let V of A.tokens)A.output+=V.output!=null?V.output:V.value,V.suffix&&(A.output+=V.suffix)}return A};tJ.fastpaths=(t,e)=>{let r=N({},e),i=typeof r.maxLength=="number"?Math.min(Ry,r.maxLength):Ry,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=eJ[t]||t;let s=ts.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=Dy.globChars(s),m=r.dot?g:u,y=r.dot?f:u,b=r.capture?"":"?:",S={negated:!1,prefix:""},k=r.bash===!0?".*?":h;r.capture&&(k=`(${k})`);let T=J=>J.noglobstar===!0?k:`(${b}(?:(?!${p}${J.dot?c:o}).)*?)`,Y=J=>{switch(J){case"*":return`${m}${l}${k}`;case".*":return`${o}${l}${k}`;case"*.*":return`${m}${k}${o}${l}${k}`;case"*/*":return`${m}${k}${a}${l}${y}${k}`;case"**":return m+T(r);case"**/*":return`(?:${m}${T(r)}${a})?${y}${l}${k}`;case"**/*.*":return`(?:${m}${T(r)}${a})?${y}${k}${o}${l}${k}`;case"**/.*":return`(?:${m}${T(r)}${a})?${o}${l}${k}`;default:{let re=/^(.*?)\.(\w+)$/.exec(J);if(!re)return;let ee=Y(re[1]);return ee?ee+o+re[2]:void 0}}},j=ts.removePrefix(t,S),Z=Y(j);return Z&&r.strictSlashes!==!0&&(Z+=`${a}?`),Z};$q.exports=tJ});var nJ=w((yrt,iJ)=>{"use strict";var S0e=require("path"),k0e=Zq(),TS=rJ(),OS=Zp(),x0e=Xp(),P0e=t=>t&&typeof t=="object"&&!Array.isArray(t),_r=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(f=>_r(f,e,r));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=P0e(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=OS.isWindows(e),o=i?_r.compileRe(t,e):_r.makeRe(t,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=ie(N({},e),{ignore:null,onMatch:null,onResult:null});l=_r(n.ignore,u,r)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=_r.test(u,o,e,{glob:t,posix:s}),m={glob:t,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(m),f===!1?(m.isMatch=!1,g?m:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(m),m.isMatch=!1,g?m:!1):(typeof n.onMatch=="function"&&n.onMatch(m),g?m:!0)};return r&&(c.state=a),c};_r.test=(t,e,r,{glob:i,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(n?OS.toPosixSlashes:null),a=t===i,l=a&&o?o(t):t;return a===!1&&(l=o?o(t):t,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=_r.matchBase(t,e,r,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};_r.matchBase=(t,e,r,i=OS.isWindows(r))=>(e instanceof RegExp?e:_r.makeRe(e,r)).test(S0e.basename(t));_r.isMatch=(t,e,r)=>_r(e,r)(t);_r.parse=(t,e)=>Array.isArray(t)?t.map(r=>_r.parse(r,e)):TS(t,ie(N({},e),{fastpaths:!1}));_r.scan=(t,e)=>k0e(t,e);_r.compileRe=(t,e,r=!1,i=!1)=>{if(r===!0)return t.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let l=_r.toRegex(a,e);return i===!0&&(l.state=t),l};_r.makeRe=(t,e={},r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(n.output=TS.fastpaths(t,e)),n.output||(n=TS(t,e)),_r.compileRe(n,e,r,i)};_r.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};_r.constants=x0e;iJ.exports=_r});var MS=w((wrt,sJ)=>{"use strict";sJ.exports=nJ()});var rs=w((Brt,oJ)=>{"use strict";var aJ=require("util"),AJ=Kq(),Yo=MS(),KS=Zp(),lJ=t=>t===""||t==="./",Pr=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),r&&r.onResult&&r.onResult(u)};for(let u=0;u!i.has(u));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Pr.match=Pr;Pr.matcher=(t,e)=>Yo(t,e);Pr.isMatch=(t,e,r)=>Yo(e,r)(t);Pr.any=Pr.isMatch;Pr.not=(t,e,r={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=a=>{r.onResult&&r.onResult(a),n.push(a.output)},o=Pr(t,e,ie(N({},r),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};Pr.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${aJ.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>Pr.contains(t,i,r));if(typeof e=="string"){if(lJ(t)||lJ(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return Pr.isMatch(t,e,ie(N({},r),{contains:!0}))};Pr.matchKeys=(t,e,r)=>{if(!KS.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=Pr(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};Pr.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=Yo(String(n),r);if(i.some(o=>s(o)))return!0}return!1};Pr.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=Yo(String(n),r);if(!i.every(o=>s(o)))return!1}return!0};Pr.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${aJ.inspect(t)}"`);return[].concat(e).every(i=>Yo(i,r)(t))};Pr.capture=(t,e,r)=>{let i=KS.isWindows(r),s=Yo.makeRe(String(t),ie(N({},r),{capture:!0})).exec(i?KS.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Pr.makeRe=(...t)=>Yo.makeRe(...t);Pr.scan=(...t)=>Yo.scan(...t);Pr.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of AJ(String(i),e))r.push(Yo.parse(n,e));return r};Pr.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:AJ(t,e)};Pr.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return Pr.braces(t,ie(N({},e),{expand:!0}))};oJ.exports=Pr});var uJ=w((brt,cJ)=>{"use strict";cJ.exports=({onlyFirst:t=!1}={})=>{let e=["[\\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(e,t?void 0:"g")}});var fJ=w((Qrt,gJ)=>{"use strict";var D0e=uJ();gJ.exports=t=>typeof t=="string"?t.replace(D0e(),""):t});var xJ=w((jrt,kJ)=>{"use strict";kJ.exports=(...t)=>[...new Set([].concat(...t))]});var ek=w((Yrt,PJ)=>{"use strict";var j0e=require("stream"),DJ=j0e.PassThrough,Y0e=Array.prototype.slice;PJ.exports=q0e;function q0e(){let t=[],e=!1,r=Y0e.call(arguments),i=r[r.length-1];i&&!Array.isArray(i)&&i.pipe==null?r.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=DJ(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(Oy,"__esModule",{value:!0});function J0e(t){return t.reduce((e,r)=>[].concat(e,r),[])}Oy.flatten=J0e;function W0e(t,e){let r=[[]],i=0;for(let n of t)e(n)?(i++,r[i]=[]):r[i].push(n);return r}Oy.splitWhen=W0e});var NJ=w(tk=>{"use strict";Object.defineProperty(tk,"__esModule",{value:!0});function z0e(t){return t.code==="ENOENT"}tk.isEnoentCodeError=z0e});var TJ=w(rk=>{"use strict";Object.defineProperty(rk,"__esModule",{value:!0});var LJ=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function _0e(t,e){return new LJ(t,e)}rk.createDirentFromStats=_0e});var OJ=w(Tg=>{"use strict";Object.defineProperty(Tg,"__esModule",{value:!0});var V0e=require("path"),X0e=2,Z0e=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function $0e(t){return t.replace(/\\/g,"/")}Tg.unixify=$0e;function ebe(t,e){return V0e.resolve(t,e)}Tg.makeAbsolute=ebe;function tbe(t){return t.replace(Z0e,"\\$2")}Tg.escape=tbe;function rbe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(X0e)}return t}Tg.removeLeadingDotSegment=rbe});var KJ=w((_rt,MJ)=>{MJ.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var GJ=w((Vrt,UJ)=>{var ibe=KJ(),HJ={"{":"}","(":")","[":"]"},nbe=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,i=-2,n=-2,s=-2,o=-2;ee&&(o===-1||o>i||(o=t.indexOf("\\",e),o===-1||o>i)))||n!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(n=t.indexOf("}",e),n>e&&(o=t.indexOf("\\",e),o===-1||o>n))||s!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(s=t.indexOf(")",e),s>e&&(o=t.indexOf("\\",e),o===-1||o>s))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(rr&&(o=t.indexOf("\\",r),o===-1||o>s))))return!0;if(t[e]==="\\"){var a=t[e+1];e+=2;var l=HJ[a];if(l){var c=t.indexOf(l,e);c!==-1&&(e=c+1)}if(t[e]==="!")return!0}else e++}return!1},sbe=function(t){if(t[0]==="!")return!0;for(var e=0;e{"use strict";var obe=GJ(),abe=require("path").posix.dirname,Abe=require("os").platform()==="win32",ik="/",lbe=/\\/g,cbe=/[\{\[].*[\}\]]$/,ube=/(^|[^\\])([\{\[]|\([^\)]+$)/,gbe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;jJ.exports=function(e,r){var i=Object.assign({flipBackslashes:!0},r);i.flipBackslashes&&Abe&&e.indexOf(ik)<0&&(e=e.replace(lbe,ik)),cbe.test(e)&&(e+=ik),e+="a";do e=abe(e);while(obe(e)||ube.test(e));return e.replace(gbe,"$1")}});var $J=w(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});var fbe=require("path"),hbe=YJ(),qJ=rs(),pbe=MS(),JJ="**",dbe="\\",Cbe=/[*?]|^!/,mbe=/\[.*]/,Ebe=/(?:^|[^!*+?@])\(.*\|.*\)/,Ibe=/[!*+?@]\(.*\)/,ybe=/{.*(?:,|\.\.).*}/;function zJ(t,e={}){return!WJ(t,e)}si.isStaticPattern=zJ;function WJ(t,e={}){return!!(e.caseSensitiveMatch===!1||t.includes(dbe)||Cbe.test(t)||mbe.test(t)||Ebe.test(t)||e.extglob!==!1&&Ibe.test(t)||e.braceExpansion!==!1&&ybe.test(t))}si.isDynamicPattern=WJ;function wbe(t){return My(t)?t.slice(1):t}si.convertToPositivePattern=wbe;function Bbe(t){return"!"+t}si.convertToNegativePattern=Bbe;function My(t){return t.startsWith("!")&&t[1]!=="("}si.isNegativePattern=My;function _J(t){return!My(t)}si.isPositivePattern=_J;function bbe(t){return t.filter(My)}si.getNegativePatterns=bbe;function Qbe(t){return t.filter(_J)}si.getPositivePatterns=Qbe;function vbe(t){return hbe(t,{flipBackslashes:!1})}si.getBaseDirectory=vbe;function Sbe(t){return t.includes(JJ)}si.hasGlobStar=Sbe;function VJ(t){return t.endsWith("/"+JJ)}si.endsWithSlashGlobStar=VJ;function kbe(t){let e=fbe.basename(t);return VJ(t)||zJ(e)}si.isAffectDepthOfReadingPattern=kbe;function xbe(t){return t.reduce((e,r)=>e.concat(XJ(r)),[])}si.expandPatternsWithBraceExpansion=xbe;function XJ(t){return qJ.braces(t,{expand:!0,nodupes:!0})}si.expandBraceExpansion=XJ;function Pbe(t,e){let r=pbe.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.parts.length===0?[t]:r.parts}si.getPatternParts=Pbe;function ZJ(t,e){return qJ.makeRe(t,e)}si.makeRe=ZJ;function Dbe(t,e){return t.map(r=>ZJ(r,e))}si.convertPatternsToRe=Dbe;function Rbe(t,e){return e.some(r=>r.test(t))}si.matchAny=Rbe});var t3=w(nk=>{"use strict";Object.defineProperty(nk,"__esModule",{value:!0});var Fbe=ek();function Nbe(t){let e=Fbe(t);return t.forEach(r=>{r.once("error",i=>e.emit("error",i))}),e.once("close",()=>e3(t)),e.once("end",()=>e3(t)),e}nk.merge=Nbe;function e3(t){t.forEach(e=>e.emit("close"))}});var r3=w(Ky=>{"use strict";Object.defineProperty(Ky,"__esModule",{value:!0});function Lbe(t){return typeof t=="string"}Ky.isString=Lbe;function Tbe(t){return t===""}Ky.isEmpty=Tbe});var za=w(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});var Obe=FJ();Wa.array=Obe;var Mbe=NJ();Wa.errno=Mbe;var Kbe=TJ();Wa.fs=Kbe;var Ube=OJ();Wa.path=Ube;var Hbe=$J();Wa.pattern=Hbe;var Gbe=t3();Wa.stream=Gbe;var jbe=r3();Wa.string=jbe});var a3=w(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});var Fc=za();function Ybe(t,e){let r=i3(t),i=n3(t,e.ignore),n=r.filter(l=>Fc.pattern.isStaticPattern(l,e)),s=r.filter(l=>Fc.pattern.isDynamicPattern(l,e)),o=sk(n,i,!1),a=sk(s,i,!0);return o.concat(a)}_a.generate=Ybe;function sk(t,e,r){let i=s3(t);return"."in i?[ok(".",t,e,r)]:o3(i,e,r)}_a.convertPatternsToTasks=sk;function i3(t){return Fc.pattern.getPositivePatterns(t)}_a.getPositivePatterns=i3;function n3(t,e){return Fc.pattern.getNegativePatterns(t).concat(e).map(Fc.pattern.convertToPositivePattern)}_a.getNegativePatternsAsPositive=n3;function s3(t){let e={};return t.reduce((r,i)=>{let n=Fc.pattern.getBaseDirectory(i);return n in r?r[n].push(i):r[n]=[i],r},e)}_a.groupPatternsByBaseDirectory=s3;function o3(t,e,r){return Object.keys(t).map(i=>ok(i,t[i],e,r))}_a.convertPatternGroupsToTasks=o3;function ok(t,e,r,i){return{dynamic:i,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Fc.pattern.convertToNegativePattern))}}_a.convertPatternGroupToTask=ok});var l3=w(Uy=>{"use strict";Object.defineProperty(Uy,"__esModule",{value:!0});Uy.read=void 0;function qbe(t,e,r){e.fs.lstat(t,(i,n)=>{if(i!==null){A3(r,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){ak(r,n);return}e.fs.stat(t,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){A3(r,s);return}ak(r,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),ak(r,o)})})}Uy.read=qbe;function A3(t,e){t(e)}function ak(t,e){t(null,e)}});var c3=w(Hy=>{"use strict";Object.defineProperty(Hy,"__esModule",{value:!0});Hy.read=void 0;function Jbe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let i=e.fs.statSync(t);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw i}}Hy.read=Jbe});var u3=w(ZA=>{"use strict";Object.defineProperty(ZA,"__esModule",{value:!0});ZA.createFileSystemAdapter=ZA.FILE_SYSTEM_ADAPTER=void 0;var Gy=require("fs");ZA.FILE_SYSTEM_ADAPTER={lstat:Gy.lstat,stat:Gy.stat,lstatSync:Gy.lstatSync,statSync:Gy.statSync};function Wbe(t){return t===void 0?ZA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},ZA.FILE_SYSTEM_ADAPTER),t)}ZA.createFileSystemAdapter=Wbe});var f3=w(Ak=>{"use strict";Object.defineProperty(Ak,"__esModule",{value:!0});var zbe=u3(),g3=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=zbe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e!=null?e:r}};Ak.default=g3});var Nc=w($A=>{"use strict";Object.defineProperty($A,"__esModule",{value:!0});$A.statSync=$A.stat=$A.Settings=void 0;var h3=l3(),_be=c3(),lk=f3();$A.Settings=lk.default;function Vbe(t,e,r){if(typeof e=="function"){h3.read(t,ck(),e);return}h3.read(t,ck(e),r)}$A.stat=Vbe;function Xbe(t,e){let r=ck(e);return _be.read(t,r)}$A.statSync=Xbe;function ck(t={}){return t instanceof lk.default?t:new lk.default(t)}});var d3=w((Ait,p3)=>{p3.exports=Zbe;function Zbe(t,e){var r,i,n,s=!0;Array.isArray(t)?(r=[],i=t.length):(n=Object.keys(t),r={},i=n.length);function o(l){function c(){e&&e(l,r),e=null}s?process.nextTick(c):c()}function a(l,c,u){r[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){t[l](function(c,u){a(l,c,u)})}):t.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var uk=w(jy=>{"use strict";Object.defineProperty(jy,"__esModule",{value:!0});jy.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var Yy=process.versions.node.split(".");if(Yy[0]===void 0||Yy[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var C3=Number.parseInt(Yy[0],10),$be=Number.parseInt(Yy[1],10),m3=10,eQe=10,tQe=C3>m3,rQe=C3===m3&&$be>=eQe;jy.IS_SUPPORT_READDIR_WITH_FILE_TYPES=tQe||rQe});var I3=w(qy=>{"use strict";Object.defineProperty(qy,"__esModule",{value:!0});qy.createDirentFromStats=void 0;var E3=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function iQe(t,e){return new E3(t,e)}qy.createDirentFromStats=iQe});var gk=w(Jy=>{"use strict";Object.defineProperty(Jy,"__esModule",{value:!0});Jy.fs=void 0;var nQe=I3();Jy.fs=nQe});var fk=w(Wy=>{"use strict";Object.defineProperty(Wy,"__esModule",{value:!0});Wy.joinPathSegments=void 0;function sQe(t,e,r){return t.endsWith(r)?t+e:t+r+e}Wy.joinPathSegments=sQe});var v3=w(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.readdir=el.readdirWithFileTypes=el.read=void 0;var oQe=Nc(),y3=d3(),aQe=uk(),w3=gk(),B3=fk();function AQe(t,e,r){if(!e.stats&&aQe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){b3(t,e,r);return}Q3(t,e,r)}el.read=AQe;function b3(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(i,n)=>{if(i!==null){zy(r,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:B3.joinPathSegments(t,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){hk(r,s);return}let o=s.map(a=>lQe(a,e));y3(o,(a,l)=>{if(a!==null){zy(r,a);return}hk(r,l)})})}el.readdirWithFileTypes=b3;function lQe(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){r(i);return}r(null,t);return}t.dirent=w3.fs.createDirentFromStats(t.name,n),r(null,t)})}}function Q3(t,e,r){e.fs.readdir(t,(i,n)=>{if(i!==null){zy(r,i);return}let s=n.map(o=>{let a=B3.joinPathSegments(t,o,e.pathSegmentSeparator);return l=>{oQe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:w3.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});y3(s,(o,a)=>{if(o!==null){zy(r,o);return}hk(r,a)})})}el.readdir=Q3;function zy(t,e){t(e)}function hk(t,e){t(null,e)}});var D3=w(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});tl.readdir=tl.readdirWithFileTypes=tl.read=void 0;var cQe=Nc(),uQe=uk(),S3=gk(),k3=fk();function gQe(t,e){return!e.stats&&uQe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?x3(t,e):P3(t,e)}tl.read=gQe;function x3(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:k3.joinPathSegments(t,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=S3.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}tl.readdirWithFileTypes=x3;function P3(t,e){return e.fs.readdirSync(t).map(i=>{let n=k3.joinPathSegments(t,i,e.pathSegmentSeparator),s=cQe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:S3.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}tl.readdir=P3});var R3=w(rl=>{"use strict";Object.defineProperty(rl,"__esModule",{value:!0});rl.createFileSystemAdapter=rl.FILE_SYSTEM_ADAPTER=void 0;var Og=require("fs");rl.FILE_SYSTEM_ADAPTER={lstat:Og.lstat,stat:Og.stat,lstatSync:Og.lstatSync,statSync:Og.statSync,readdir:Og.readdir,readdirSync:Og.readdirSync};function fQe(t){return t===void 0?rl.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},rl.FILE_SYSTEM_ADAPTER),t)}rl.createFileSystemAdapter=fQe});var N3=w(pk=>{"use strict";Object.defineProperty(pk,"__esModule",{value:!0});var hQe=require("path"),pQe=Nc(),dQe=R3(),F3=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=dQe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,hQe.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new pQe.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};pk.default=F3});var _y=w(il=>{"use strict";Object.defineProperty(il,"__esModule",{value:!0});il.Settings=il.scandirSync=il.scandir=void 0;var L3=v3(),CQe=D3(),dk=N3();il.Settings=dk.default;function mQe(t,e,r){if(typeof e=="function"){L3.read(t,Ck(),e);return}L3.read(t,Ck(e),r)}il.scandir=mQe;function EQe(t,e){let r=Ck(e);return CQe.read(t,r)}il.scandirSync=EQe;function Ck(t={}){return t instanceof dk.default?t:new dk.default(t)}});var O3=w((mit,T3)=>{"use strict";function IQe(t){var e=new t,r=e;function i(){var s=e;return s.next?e=s.next:(e=new t,r=e),s.next=null,s}function n(s){r.next=s,r=s}return{get:i,release:n}}T3.exports=IQe});var K3=w((Eit,mk)=>{"use strict";var yQe=O3();function M3(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var i=yQe(wQe),n=null,s=null,o=0,a=null,l={push:m,drain:Wo,saturated:Wo,pause:u,paused:!1,concurrency:r,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:y,empty:Wo,kill:S,killAndDrain:k,error:T};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var Y=n,j=0;Y;)Y=Y.next,j++;return j}function f(){for(var Y=n,j=[];Y;)j.push(Y.value),Y=Y.next;return j}function h(){if(!!l.paused){l.paused=!1;for(var Y=0;Y{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.joinPathSegments=zo.replacePathSegmentSeparator=zo.isAppliedFilter=zo.isFatalError=void 0;function bQe(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}zo.isFatalError=bQe;function QQe(t,e){return t===null||t(e)}zo.isAppliedFilter=QQe;function vQe(t,e){return t.split(/[/\\]/).join(e)}zo.replacePathSegmentSeparator=vQe;function SQe(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}zo.joinPathSegments=SQe});var Ik=w(Ek=>{"use strict";Object.defineProperty(Ek,"__esModule",{value:!0});var kQe=Vy(),U3=class{constructor(e,r){this._root=e,this._settings=r,this._root=kQe.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};Ek.default=U3});var wk=w(yk=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});var xQe=require("events"),PQe=_y(),DQe=K3(),Xy=Vy(),RQe=Ik(),H3=class extends RQe.default{constructor(e,r){super(e,r);this._settings=r,this._scandir=PQe.scandir,this._emitter=new xQe.EventEmitter,this._queue=DQe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let i={directory:e,base:r};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){r(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!Xy.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let i=e.path;r!==void 0&&(e.path=Xy.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Xy.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&Xy.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};yk.default=H3});var j3=w(Bk=>{"use strict";Object.defineProperty(Bk,"__esModule",{value:!0});var FQe=wk(),G3=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new FQe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{NQe(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{LQe(e,[...this._storage])}),this._reader.read()}};Bk.default=G3;function NQe(t,e){t(e)}function LQe(t,e){t(null,e)}});var q3=w(bk=>{"use strict";Object.defineProperty(bk,"__esModule",{value:!0});var TQe=require("stream"),OQe=wk(),Y3=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new OQe.default(this._root,this._settings),this._stream=new TQe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};bk.default=Y3});var W3=w(Qk=>{"use strict";Object.defineProperty(Qk,"__esModule",{value:!0});var MQe=_y(),Zy=Vy(),KQe=Ik(),J3=class extends KQe.default{constructor(){super(...arguments);this._scandir=MQe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,r)}catch(i){this._handleError(i)}}_handleError(e){if(!!Zy.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let i=e.path;r!==void 0&&(e.path=Zy.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Zy.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&Zy.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};Qk.default=J3});var _3=w(vk=>{"use strict";Object.defineProperty(vk,"__esModule",{value:!0});var UQe=W3(),z3=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new UQe.default(this._root,this._settings)}read(){return this._reader.read()}};vk.default=z3});var X3=w(Sk=>{"use strict";Object.defineProperty(Sk,"__esModule",{value:!0});var HQe=require("path"),GQe=_y(),V3=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,HQe.sep),this.fsScandirSettings=new GQe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};Sk.default=V3});var xk=w(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.Settings=_o.walkStream=_o.walkSync=_o.walk=void 0;var Z3=j3(),jQe=q3(),YQe=_3(),kk=X3();_o.Settings=kk.default;function qQe(t,e,r){if(typeof e=="function"){new Z3.default(t,$y()).read(e);return}new Z3.default(t,$y(e)).read(r)}_o.walk=qQe;function JQe(t,e){let r=$y(e);return new YQe.default(t,r).read()}_o.walkSync=JQe;function WQe(t,e){let r=$y(e);return new jQe.default(t,r).read()}_o.walkStream=WQe;function $y(t={}){return t instanceof kk.default?t:new kk.default(t)}});var Dk=w(Pk=>{"use strict";Object.defineProperty(Pk,"__esModule",{value:!0});var zQe=require("path"),_Qe=Nc(),$3=za(),eW=class{constructor(e){this._settings=e,this._fsStatSettings=new _Qe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return zQe.resolve(this._settings.cwd,e)}_makeEntry(e,r){let i={name:r,path:r,dirent:$3.fs.createDirentFromStats(r,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!$3.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};Pk.default=eW});var Fk=w(Rk=>{"use strict";Object.defineProperty(Rk,"__esModule",{value:!0});var VQe=require("stream"),XQe=Nc(),ZQe=xk(),$Qe=Dk(),tW=class extends $Qe.default{constructor(){super(...arguments);this._walkStream=ZQe.walkStream,this._stat=XQe.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let i=e.map(this._getFullEntryPath,this),n=new VQe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],r).then(l=>{l!==null&&r.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,r)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((r,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?r(s):i(n))})}};Rk.default=tW});var iW=w(Nk=>{"use strict";Object.defineProperty(Nk,"__esModule",{value:!0});var Mg=za(),rW=class{constructor(e,r,i){this._patterns=e,this._settings=r,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=Mg.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let i=this._getPatternSegments(r),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:r,segments:i,sections:n})}}_getPatternSegments(e){return Mg.pattern.getPatternParts(e,this._micromatchOptions).map(i=>Mg.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:Mg.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return Mg.array.splitWhen(e,r=>r.dynamic&&Mg.pattern.hasGlobStar(r.pattern))}};Nk.default=rW});var sW=w(Lk=>{"use strict";Object.defineProperty(Lk,"__esModule",{value:!0});var eve=iW(),nW=class extends eve.default{match(e){let r=e.split("/"),i=r.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||r.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};Lk.default=nW});var aW=w(Tk=>{"use strict";Object.defineProperty(Tk,"__esModule",{value:!0});var ew=za(),tve=sW(),oW=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,i){let n=this._getMatcher(r),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new tve.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(ew.pattern.isAffectDepthOfReadingPattern);return ew.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,i,n){let s=this._getEntryLevel(e,r.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(r))return!1;let o=ew.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,r){let i=e.split("/").length;return r.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!ew.pattern.matchAny(e,r)}};Tk.default=oW});var lW=w(Ok=>{"use strict";Object.defineProperty(Ok,"__esModule",{value:!0});var od=za(),AW=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let i=od.pattern.convertPatternsToRe(e,this._micromatchOptions),n=od.pattern.convertPatternsToRe(r,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,r,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,r)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let i=od.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,r)}_isMatchToPatterns(e,r){let i=od.path.removeLeadingDotSegment(e);return od.pattern.matchAny(i,r)}};Ok.default=AW});var uW=w(Mk=>{"use strict";Object.defineProperty(Mk,"__esModule",{value:!0});var rve=za(),cW=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return rve.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};Mk.default=cW});var hW=w(Kk=>{"use strict";Object.defineProperty(Kk,"__esModule",{value:!0});var gW=za(),fW=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=gW.path.makeAbsolute(this._settings.cwd,r),r=gW.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};Kk.default=fW});var tw=w(Uk=>{"use strict";Object.defineProperty(Uk,"__esModule",{value:!0});var ive=require("path"),nve=aW(),sve=lW(),ove=uW(),ave=hW(),pW=class{constructor(e){this._settings=e,this.errorFilter=new ove.default(this._settings),this.entryFilter=new sve.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new nve.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new ave.default(this._settings)}_getRootDirectory(e){return ive.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};Uk.default=pW});var CW=w(Hk=>{"use strict";Object.defineProperty(Hk,"__esModule",{value:!0});var Ave=Fk(),lve=tw(),dW=class extends lve.default{constructor(){super(...arguments);this._reader=new Ave.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(r,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};Hk.default=dW});var EW=w(Gk=>{"use strict";Object.defineProperty(Gk,"__esModule",{value:!0});var cve=require("stream"),uve=Fk(),gve=tw(),mW=class extends gve.default{constructor(){super(...arguments);this._reader=new uve.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(r,e,i),s=new cve.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};Gk.default=mW});var yW=w(jk=>{"use strict";Object.defineProperty(jk,"__esModule",{value:!0});var fve=Nc(),hve=xk(),pve=Dk(),IW=class extends pve.default{constructor(){super(...arguments);this._walkSync=hve.walkSync,this._statSync=fve.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,r);o===null||!r.entryFilter(o)||i.push(o)}return i}_getEntry(e,r,i){try{let n=this._getStat(e);return this._makeEntry(n,r)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};jk.default=IW});var BW=w(Yk=>{"use strict";Object.defineProperty(Yk,"__esModule",{value:!0});var dve=yW(),Cve=tw(),wW=class extends Cve.default{constructor(){super(...arguments);this._reader=new dve.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(r,e,i).map(i.transform)}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};Yk.default=wW});var QW=w(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var Kg=require("fs"),mve=require("os"),Eve=mve.cpus().length;ad.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:Kg.lstat,lstatSync:Kg.lstatSync,stat:Kg.stat,statSync:Kg.statSync,readdir:Kg.readdir,readdirSync:Kg.readdirSync};var bW=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,Eve),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},ad.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};ad.default=bW});var rw=w((jit,vW)=>{"use strict";var SW=a3(),Ive=CW(),yve=EW(),wve=BW(),qk=QW(),Lc=za();async function Wk(t,e){Ug(t);let r=Jk(t,Ive.default,e),i=await Promise.all(r);return Lc.array.flatten(i)}(function(t){function e(o,a){Ug(o);let l=Jk(o,wve.default,a);return Lc.array.flatten(l)}t.sync=e;function r(o,a){Ug(o);let l=Jk(o,yve.default,a);return Lc.stream.merge(l)}t.stream=r;function i(o,a){Ug(o);let l=[].concat(o),c=new qk.default(a);return SW.generate(l,c)}t.generateTasks=i;function n(o,a){Ug(o);let l=new qk.default(a);return Lc.pattern.isDynamicPattern(o,l)}t.isDynamicPattern=n;function s(o){return Ug(o),Lc.path.escape(o)}t.escapePath=s})(Wk||(Wk={}));function Jk(t,e,r){let i=[].concat(t),n=new qk.default(r),s=SW.generate(i,n),o=new e(n);return s.map(o.read,o)}function Ug(t){if(![].concat(t).every(i=>Lc.string.isString(i)&&!Lc.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}vW.exports=Wk});var xW=w(Tc=>{"use strict";var{promisify:Bve}=require("util"),kW=require("fs");async function zk(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await Bve(kW[t])(r))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function _k(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return kW[t](r)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}Tc.isFile=zk.bind(null,"stat","isFile");Tc.isDirectory=zk.bind(null,"stat","isDirectory");Tc.isSymlink=zk.bind(null,"lstat","isSymbolicLink");Tc.isFileSync=_k.bind(null,"statSync","isFile");Tc.isDirectorySync=_k.bind(null,"statSync","isDirectory");Tc.isSymlinkSync=_k.bind(null,"lstatSync","isSymbolicLink")});var NW=w((qit,Vk)=>{"use strict";var Oc=require("path"),PW=xW(),DW=t=>t.length>1?`{${t.join(",")}}`:t[0],RW=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return Oc.isAbsolute(r)?r:Oc.join(e,r)},bve=(t,e)=>Oc.extname(t)?`**/${t}`:`**/${t}.${DW(e)}`,FW=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>Oc.posix.join(t,bve(r,e.extensions))):e.files?e.files.map(r=>Oc.posix.join(t,`**/${r}`)):e.extensions?[Oc.posix.join(t,`**/*.${DW(e.extensions)}`)]:[Oc.posix.join(t,"**")]};Vk.exports=async(t,e)=>{if(e=N({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async i=>await PW.isDirectory(RW(i,e.cwd))?FW(i,e):i));return[].concat.apply([],r)};Vk.exports.sync=(t,e)=>{if(e=N({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(i=>PW.isDirectorySync(RW(i,e.cwd))?FW(i,e):i);return[].concat.apply([],r)}});var YW=w((Jit,LW)=>{function TW(t){return Array.isArray(t)?t:[t]}var OW="",MW=" ",Xk="\\",Qve=/^\s+$/,vve=/^\\!/,Sve=/^\\#/,kve=/\r?\n/g,xve=/^\.*\/|^\.+$/,Zk="/",KW=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",Pve=(t,e,r)=>Object.defineProperty(t,e,{value:r}),Dve=/([0-z])-([0-z])/g,Rve=t=>t.replace(Dve,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:OW),Fve=t=>{let{length:e}=t;return t.slice(0,e-e%2)},Nve=[[/\\?\s+$/,t=>t.indexOf("\\")===0?MW:OW],[/\\\s/g,()=>MW],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>Xk],[/\\\\/g,()=>Xk],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,r,i,n)=>e===Xk?`\\[${r}${Fve(i)}${n}`:n==="]"&&i.length%2==0?`[${Rve(r)}${i}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],UW=Object.create(null),Lve=(t,e)=>{let r=UW[t];return r||(r=Nve.reduce((i,n)=>i.replace(n[0],n[1].bind(t)),t),UW[t]=r),e?new RegExp(r,"i"):new RegExp(r)},$k=t=>typeof t=="string",Tve=t=>t&&$k(t)&&!Qve.test(t)&&t.indexOf("#")!==0,Ove=t=>t.split(kve),HW=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},Mve=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(vve,"!").replace(Sve,"#");let n=Lve(t,e);return new HW(r,t,i,n)},Kve=(t,e)=>{throw new e(t)},Va=(t,e,r)=>$k(t)?t?Va.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),GW=t=>xve.test(t);Va.isNotRelative=GW;Va.convert=t=>t;var jW=class{constructor({ignorecase:e=!0}={}){Pve(this,KW,!0),this._rules=[],this._ignorecase=e,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[KW]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(Tve(e)){let r=Mve(e,this._ignorecase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,TW($k(e)?Ove(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&Va.convert(e);return Va(s,e,Kve),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(Zk)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(Zk)+Zk,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return TW(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},iw=t=>new jW(t),Uve=()=>!1,Hve=t=>Va(t&&Va.convert(t),t,Uve);iw.isPathValid=Hve;iw.default=iw;LW.exports=iw;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");Va.convert=t;let e=/^[a-z]:\//i;Va.isNotRelative=r=>e.test(r)||GW(r)}});var JW=w((Wit,qW)=>{"use strict";qW.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var $W=w((zit,ex)=>{"use strict";var{promisify:Gve}=require("util"),WW=require("fs"),Xa=require("path"),zW=rw(),jve=YW(),Ad=JW(),_W=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],Yve=Gve(WW.readFile),qve=t=>e=>e.startsWith("!")?"!"+Xa.posix.join(t,e.slice(1)):Xa.posix.join(t,e),Jve=(t,e)=>{let r=Ad(Xa.relative(e.cwd,Xa.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(qve(r))},VW=t=>{let e=jve();for(let r of t)e.add(Jve(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},Wve=(t,e)=>{if(t=Ad(t),Xa.isAbsolute(e)){if(Ad(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return Xa.join(t,e)},XW=(t,e)=>r=>t.ignores(Ad(Xa.relative(e,Wve(e,r.path||r)))),zve=async(t,e)=>{let r=Xa.join(e,t),i=await Yve(r,"utf8");return{cwd:e,filePath:r,content:i}},_ve=(t,e)=>{let r=Xa.join(e,t),i=WW.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:i}},ZW=({ignore:t=[],cwd:e=Ad(process.cwd())}={})=>({ignore:t,cwd:e});ex.exports=async t=>{t=ZW(t);let e=await zW("**/.gitignore",{ignore:_W.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(n=>zve(n,t.cwd))),i=VW(r);return XW(i,t.cwd)};ex.exports.sync=t=>{t=ZW(t);let r=zW.sync("**/.gitignore",{ignore:_W.concat(t.ignore),cwd:t.cwd}).map(n=>_ve(n,t.cwd)),i=VW(r);return XW(i,t.cwd)}});var i8=w((_it,e8)=>{"use strict";var{Transform:Vve}=require("stream"),tx=class extends Vve{constructor(){super({objectMode:!0})}},t8=class extends tx{constructor(e){super();this._filter=e}_transform(e,r,i){this._filter(e)&&this.push(e),i()}},r8=class extends tx{constructor(){super();this._pushed=new Set}_transform(e,r,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};e8.exports={FilterStream:t8,UniqueStream:r8}});var sx=w((Vit,Mc)=>{"use strict";var n8=require("fs"),nw=xJ(),Xve=ek(),sw=rw(),ow=NW(),rx=$W(),{FilterStream:Zve,UniqueStream:$ve}=i8(),s8=()=>!1,o8=t=>t[0]==="!",eSe=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},tSe=(t={})=>{if(!t.cwd)return;let e;try{e=n8.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},rSe=t=>t.stats instanceof n8.Stats?t.path:t,aw=(t,e)=>{t=nw([].concat(t)),eSe(t),tSe(e);let r=[];e=N({ignore:[],expandDirectories:!0},e);for(let[i,n]of t.entries()){if(o8(n))continue;let s=t.slice(i).filter(a=>o8(a)).map(a=>a.slice(1)),o=ie(N({},e),{ignore:e.ignore.concat(s)});r.push({pattern:n,options:o})}return r},iSe=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r=ie(N({},r),{files:t.options.expandDirectories}):typeof t.options.expandDirectories=="object"&&(r=N(N({},r),t.options.expandDirectories)),e(t.pattern,r)},ix=(t,e)=>t.options.expandDirectories?iSe(t,e):[t.pattern],a8=t=>t&&t.gitignore?rx.sync({cwd:t.cwd,ignore:t.ignore}):s8,nx=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=ow.sync(r.ignore)),{pattern:e,options:r}};Mc.exports=async(t,e)=>{let r=aw(t,e),i=async()=>e&&e.gitignore?rx({cwd:e.cwd,ignore:e.ignore}):s8,n=async()=>{let l=await Promise.all(r.map(async c=>{let u=await ix(c,ow);return Promise.all(u.map(nx(c)))}));return nw(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>sw(l.pattern,l.options)));return nw(...a).filter(l=>!s(rSe(l)))};Mc.exports.sync=(t,e)=>{let r=aw(t,e),i=[];for(let o of r){let a=ix(o,ow.sync).map(nx(o));i.push(...a)}let n=a8(e),s=[];for(let o of i)s=nw(s,sw.sync(o.pattern,o.options));return s.filter(o=>!n(o))};Mc.exports.stream=(t,e)=>{let r=aw(t,e),i=[];for(let a of r){let l=ix(a,ow.sync).map(nx(a));i.push(...l)}let n=a8(e),s=new Zve(a=>!n(a)),o=new $ve;return Xve(i.map(a=>sw.stream(a.pattern,a.options))).pipe(s).pipe(o)};Mc.exports.generateGlobTasks=aw;Mc.exports.hasMagic=(t,e)=>[].concat(t).some(r=>sw.isDynamicPattern(r,e));Mc.exports.gitignore=rx});var Rn=w((Bnt,w8)=>{function dSe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}w8.exports=dSe});var hx=w((bnt,B8)=>{var CSe=typeof global=="object"&&global&&global.Object===Object&&global;B8.exports=CSe});var Fs=w((Qnt,b8)=>{var mSe=hx(),ESe=typeof self=="object"&&self&&self.Object===Object&&self,ISe=mSe||ESe||Function("return this")();b8.exports=ISe});var v8=w((vnt,Q8)=>{var ySe=Fs(),wSe=function(){return ySe.Date.now()};Q8.exports=wSe});var k8=w((Snt,S8)=>{var BSe=/\s/;function bSe(t){for(var e=t.length;e--&&BSe.test(t.charAt(e)););return e}S8.exports=bSe});var P8=w((knt,x8)=>{var QSe=k8(),vSe=/^\s+/;function SSe(t){return t&&t.slice(0,QSe(t)+1).replace(vSe,"")}x8.exports=SSe});var Hc=w((xnt,D8)=>{var kSe=Fs(),xSe=kSe.Symbol;D8.exports=xSe});var L8=w((Pnt,R8)=>{var F8=Hc(),N8=Object.prototype,PSe=N8.hasOwnProperty,DSe=N8.toString,Id=F8?F8.toStringTag:void 0;function RSe(t){var e=PSe.call(t,Id),r=t[Id];try{t[Id]=void 0;var i=!0}catch(s){}var n=DSe.call(t);return i&&(e?t[Id]=r:delete t[Id]),n}R8.exports=RSe});var O8=w((Dnt,T8)=>{var FSe=Object.prototype,NSe=FSe.toString;function LSe(t){return NSe.call(t)}T8.exports=LSe});var Gc=w((Rnt,M8)=>{var K8=Hc(),TSe=L8(),OSe=O8(),MSe="[object Null]",KSe="[object Undefined]",U8=K8?K8.toStringTag:void 0;function USe(t){return t==null?t===void 0?KSe:MSe:U8&&U8 in Object(t)?TSe(t):OSe(t)}M8.exports=USe});var Zo=w((Fnt,H8)=>{function HSe(t){return t!=null&&typeof t=="object"}H8.exports=HSe});var yd=w((Nnt,G8)=>{var GSe=Gc(),jSe=Zo(),YSe="[object Symbol]";function qSe(t){return typeof t=="symbol"||jSe(t)&&GSe(t)==YSe}G8.exports=qSe});var J8=w((Lnt,j8)=>{var JSe=P8(),Y8=Rn(),WSe=yd(),q8=0/0,zSe=/^[-+]0x[0-9a-f]+$/i,_Se=/^0b[01]+$/i,VSe=/^0o[0-7]+$/i,XSe=parseInt;function ZSe(t){if(typeof t=="number")return t;if(WSe(t))return q8;if(Y8(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Y8(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=JSe(t);var r=_Se.test(t);return r||VSe.test(t)?XSe(t.slice(2),r?2:8):zSe.test(t)?q8:+t}j8.exports=ZSe});var _8=w((Tnt,W8)=>{var $Se=Rn(),px=v8(),z8=J8(),eke="Expected a function",tke=Math.max,rke=Math.min;function ike(t,e,r){var i,n,s,o,a,l,c=0,u=!1,g=!1,f=!0;if(typeof t!="function")throw new TypeError(eke);e=z8(e)||0,$Se(r)&&(u=!!r.leading,g="maxWait"in r,s=g?tke(z8(r.maxWait)||0,e):s,f="trailing"in r?!!r.trailing:f);function h(j){var Z=i,J=n;return i=n=void 0,c=j,o=t.apply(J,Z),o}function p(j){return c=j,a=setTimeout(b,e),u?h(j):o}function m(j){var Z=j-l,J=j-c,re=e-Z;return g?rke(re,s-J):re}function y(j){var Z=j-l,J=j-c;return l===void 0||Z>=e||Z<0||g&&J>=s}function b(){var j=px();if(y(j))return S(j);a=setTimeout(b,m(j))}function S(j){return a=void 0,f&&i?h(j):(i=n=void 0,o)}function k(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function T(){return a===void 0?o:S(px())}function Y(){var j=px(),Z=y(j);if(i=arguments,n=this,l=j,Z){if(a===void 0)return p(l);if(g)return clearTimeout(a),a=setTimeout(b,e),h(l)}return a===void 0&&(a=setTimeout(b,e)),o}return Y.cancel=k,Y.flush=T,Y}W8.exports=ike});var X8=w((Ont,V8)=>{var nke=_8(),ske=Rn(),oke="Expected a function";function ake(t,e,r){var i=!0,n=!0;if(typeof t!="function")throw new TypeError(oke);return ske(r)&&(i="leading"in r?!!r.leading:i,n="trailing"in r?!!r.trailing:n),nke(t,e,{leading:i,maxWait:e,trailing:n})}V8.exports=ake});var eA=w(($a,Sw)=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});var s4=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Ike(t){return s4.includes(t)}var yke=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...s4];function wke(t){return yke.includes(t)}var Bke=["null","undefined","string","number","bigint","boolean","symbol"];function bke(t){return Bke.includes(t)}function zg(t){return e=>typeof e===t}var{toString:o4}=Object.prototype,kd=t=>{let e=o4.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&z.domElement(t))return"HTMLElement";if(wke(e))return e},hr=t=>e=>kd(e)===t;function z(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(z.observable(t))return"Observable";if(z.array(t))return"Array";if(z.buffer(t))return"Buffer";let e=kd(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}z.undefined=zg("undefined");z.string=zg("string");var Qke=zg("number");z.number=t=>Qke(t)&&!z.nan(t);z.bigint=zg("bigint");z.function_=zg("function");z.null_=t=>t===null;z.class_=t=>z.function_(t)&&t.toString().startsWith("class ");z.boolean=t=>t===!0||t===!1;z.symbol=zg("symbol");z.numericString=t=>z.string(t)&&!z.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));z.array=(t,e)=>Array.isArray(t)?z.function_(e)?t.every(e):!0:!1;z.buffer=t=>{var e,r,i,n;return(n=(i=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||i===void 0?void 0:i.call(r,t))!==null&&n!==void 0?n:!1};z.nullOrUndefined=t=>z.null_(t)||z.undefined(t);z.object=t=>!z.null_(t)&&(typeof t=="object"||z.function_(t));z.iterable=t=>{var e;return z.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};z.asyncIterable=t=>{var e;return z.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};z.generator=t=>z.iterable(t)&&z.function_(t.next)&&z.function_(t.throw);z.asyncGenerator=t=>z.asyncIterable(t)&&z.function_(t.next)&&z.function_(t.throw);z.nativePromise=t=>hr("Promise")(t);var vke=t=>{var e,r;return z.function_((e=t)===null||e===void 0?void 0:e.then)&&z.function_((r=t)===null||r===void 0?void 0:r.catch)};z.promise=t=>z.nativePromise(t)||vke(t);z.generatorFunction=hr("GeneratorFunction");z.asyncGeneratorFunction=t=>kd(t)==="AsyncGeneratorFunction";z.asyncFunction=t=>kd(t)==="AsyncFunction";z.boundFunction=t=>z.function_(t)&&!t.hasOwnProperty("prototype");z.regExp=hr("RegExp");z.date=hr("Date");z.error=hr("Error");z.map=t=>hr("Map")(t);z.set=t=>hr("Set")(t);z.weakMap=t=>hr("WeakMap")(t);z.weakSet=t=>hr("WeakSet")(t);z.int8Array=hr("Int8Array");z.uint8Array=hr("Uint8Array");z.uint8ClampedArray=hr("Uint8ClampedArray");z.int16Array=hr("Int16Array");z.uint16Array=hr("Uint16Array");z.int32Array=hr("Int32Array");z.uint32Array=hr("Uint32Array");z.float32Array=hr("Float32Array");z.float64Array=hr("Float64Array");z.bigInt64Array=hr("BigInt64Array");z.bigUint64Array=hr("BigUint64Array");z.arrayBuffer=hr("ArrayBuffer");z.sharedArrayBuffer=hr("SharedArrayBuffer");z.dataView=hr("DataView");z.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;z.urlInstance=t=>hr("URL")(t);z.urlString=t=>{if(!z.string(t))return!1;try{return new URL(t),!0}catch(e){return!1}};z.truthy=t=>Boolean(t);z.falsy=t=>!t;z.nan=t=>Number.isNaN(t);z.primitive=t=>z.null_(t)||bke(typeof t);z.integer=t=>Number.isInteger(t);z.safeInteger=t=>Number.isSafeInteger(t);z.plainObject=t=>{if(o4.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};z.typedArray=t=>Ike(kd(t));var Ske=t=>z.safeInteger(t)&&t>=0;z.arrayLike=t=>!z.nullOrUndefined(t)&&!z.function_(t)&&Ske(t.length);z.inRange=(t,e)=>{if(z.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(z.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var kke=1,xke=["innerHTML","ownerDocument","style","attributes","nodeValue"];z.domElement=t=>z.object(t)&&t.nodeType===kke&&z.string(t.nodeName)&&!z.plainObject(t)&&xke.every(e=>e in t);z.observable=t=>{var e,r,i,n;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((n=(i=t)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};z.nodeStream=t=>z.object(t)&&z.function_(t.pipe)&&!z.observable(t);z.infinite=t=>t===Infinity||t===-Infinity;var a4=t=>e=>z.integer(e)&&Math.abs(e%2)===t;z.evenInteger=a4(0);z.oddInteger=a4(1);z.emptyArray=t=>z.array(t)&&t.length===0;z.nonEmptyArray=t=>z.array(t)&&t.length>0;z.emptyString=t=>z.string(t)&&t.length===0;z.nonEmptyString=t=>z.string(t)&&t.length>0;var Pke=t=>z.string(t)&&!/\S/.test(t);z.emptyStringOrWhitespace=t=>z.emptyString(t)||Pke(t);z.emptyObject=t=>z.object(t)&&!z.map(t)&&!z.set(t)&&Object.keys(t).length===0;z.nonEmptyObject=t=>z.object(t)&&!z.map(t)&&!z.set(t)&&Object.keys(t).length>0;z.emptySet=t=>z.set(t)&&t.size===0;z.nonEmptySet=t=>z.set(t)&&t.size>0;z.emptyMap=t=>z.map(t)&&t.size===0;z.nonEmptyMap=t=>z.map(t)&&t.size>0;z.propertyKey=t=>z.any([z.string,z.number,z.symbol],t);z.formData=t=>hr("FormData")(t);z.urlSearchParams=t=>hr("URLSearchParams")(t);var A4=(t,e,r)=>{if(!z.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};z.any=(t,...e)=>(z.array(t)?t:[t]).some(i=>A4(Array.prototype.some,i,e));z.all=(t,...e)=>A4(Array.prototype.every,t,e);var We=(t,e,r,i={})=>{if(!t){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(r.map(o=>`\`${z(o)}\``))].join(", ")}`:`received value of type \`${z(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};$a.assert={undefined:t=>We(z.undefined(t),"undefined",t),string:t=>We(z.string(t),"string",t),number:t=>We(z.number(t),"number",t),bigint:t=>We(z.bigint(t),"bigint",t),function_:t=>We(z.function_(t),"Function",t),null_:t=>We(z.null_(t),"null",t),class_:t=>We(z.class_(t),"Class",t),boolean:t=>We(z.boolean(t),"boolean",t),symbol:t=>We(z.symbol(t),"symbol",t),numericString:t=>We(z.numericString(t),"string with a number",t),array:(t,e)=>{We(z.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>We(z.buffer(t),"Buffer",t),nullOrUndefined:t=>We(z.nullOrUndefined(t),"null or undefined",t),object:t=>We(z.object(t),"Object",t),iterable:t=>We(z.iterable(t),"Iterable",t),asyncIterable:t=>We(z.asyncIterable(t),"AsyncIterable",t),generator:t=>We(z.generator(t),"Generator",t),asyncGenerator:t=>We(z.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>We(z.nativePromise(t),"native Promise",t),promise:t=>We(z.promise(t),"Promise",t),generatorFunction:t=>We(z.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>We(z.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>We(z.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>We(z.boundFunction(t),"Function",t),regExp:t=>We(z.regExp(t),"RegExp",t),date:t=>We(z.date(t),"Date",t),error:t=>We(z.error(t),"Error",t),map:t=>We(z.map(t),"Map",t),set:t=>We(z.set(t),"Set",t),weakMap:t=>We(z.weakMap(t),"WeakMap",t),weakSet:t=>We(z.weakSet(t),"WeakSet",t),int8Array:t=>We(z.int8Array(t),"Int8Array",t),uint8Array:t=>We(z.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>We(z.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>We(z.int16Array(t),"Int16Array",t),uint16Array:t=>We(z.uint16Array(t),"Uint16Array",t),int32Array:t=>We(z.int32Array(t),"Int32Array",t),uint32Array:t=>We(z.uint32Array(t),"Uint32Array",t),float32Array:t=>We(z.float32Array(t),"Float32Array",t),float64Array:t=>We(z.float64Array(t),"Float64Array",t),bigInt64Array:t=>We(z.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>We(z.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>We(z.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>We(z.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>We(z.dataView(t),"DataView",t),urlInstance:t=>We(z.urlInstance(t),"URL",t),urlString:t=>We(z.urlString(t),"string with a URL",t),truthy:t=>We(z.truthy(t),"truthy",t),falsy:t=>We(z.falsy(t),"falsy",t),nan:t=>We(z.nan(t),"NaN",t),primitive:t=>We(z.primitive(t),"primitive",t),integer:t=>We(z.integer(t),"integer",t),safeInteger:t=>We(z.safeInteger(t),"integer",t),plainObject:t=>We(z.plainObject(t),"plain object",t),typedArray:t=>We(z.typedArray(t),"TypedArray",t),arrayLike:t=>We(z.arrayLike(t),"array-like",t),domElement:t=>We(z.domElement(t),"HTMLElement",t),observable:t=>We(z.observable(t),"Observable",t),nodeStream:t=>We(z.nodeStream(t),"Node.js Stream",t),infinite:t=>We(z.infinite(t),"infinite number",t),emptyArray:t=>We(z.emptyArray(t),"empty array",t),nonEmptyArray:t=>We(z.nonEmptyArray(t),"non-empty array",t),emptyString:t=>We(z.emptyString(t),"empty string",t),nonEmptyString:t=>We(z.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>We(z.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>We(z.emptyObject(t),"empty object",t),nonEmptyObject:t=>We(z.nonEmptyObject(t),"non-empty object",t),emptySet:t=>We(z.emptySet(t),"empty set",t),nonEmptySet:t=>We(z.nonEmptySet(t),"non-empty set",t),emptyMap:t=>We(z.emptyMap(t),"empty map",t),nonEmptyMap:t=>We(z.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>We(z.propertyKey(t),"PropertyKey",t),formData:t=>We(z.formData(t),"FormData",t),urlSearchParams:t=>We(z.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>We(z.evenInteger(t),"even integer",t),oddInteger:t=>We(z.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>We(z.directInstanceOf(t,e),"T",t),inRange:(t,e)=>We(z.inRange(t,e),"in range",t),any:(t,...e)=>We(z.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>We(z.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(z,{class:{value:z.class_},function:{value:z.function_},null:{value:z.null_}});Object.defineProperties($a.assert,{class:{value:$a.assert.class_},function:{value:$a.assert.function_},null:{value:$a.assert.null_}});$a.default=z;Sw.exports=z;Sw.exports.default=z;Sw.exports.assert=$a.assert});var l4=w((Gst,Lx)=>{"use strict";var Tx=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},xd=class{static fn(e){return(...r)=>new xd((i,n,s)=>{r.push(s),e(...r).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,i)=>{this._reject=i;let n=a=>{this._isPending=!1,r(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Tx(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(xd.prototype,Promise.prototype);Lx.exports=xd;Lx.exports.CancelError=Tx});var c4=w((Ox,Mx)=>{"use strict";Object.defineProperty(Ox,"__esModule",{value:!0});var Dke=require("tls"),Kx=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let i=typeof r.connect=="function",n=typeof r.secureConnect=="function",s=typeof r.close=="function",o=()=>{i&&r.connect(),t instanceof Dke.TLSSocket&&n&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),s&&t.once("close",r.close)};t.writable&&!t.connecting?o():t.connecting?t.once("connect",o):t.destroyed&&s&&r.close(t._hadError)};Ox.default=Kx;Mx.exports=Kx;Mx.exports.default=Kx});var u4=w((Ux,Hx)=>{"use strict";Object.defineProperty(Ux,"__esModule",{value:!0});var Rke=c4(),Fke=Number(process.versions.node.split(".")[0]),Gx=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||Fke>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),Rke.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?i(t.socket):t.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?n():t.prependOnceListener("finish",n),t.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,r(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};Ux.default=Gx;Hx.exports=Gx;Hx.exports.default=Gx});var m4=w((jst,jx)=>{"use strict";var{V4MAPPED:Nke,ADDRCONFIG:Lke,ALL:g4,promises:{Resolver:f4},lookup:Tke}=require("dns"),{promisify:Yx}=require("util"),Oke=require("os"),_g=Symbol("cacheableLookupCreateConnection"),qx=Symbol("cacheableLookupInstance"),h4=Symbol("expires"),Mke=typeof g4=="number",p4=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},Kke=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},d4=()=>{let t=!1,e=!1;for(let r of Object.values(Oke.networkInterfaces()))for(let i of r)if(!i.internal&&(i.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},Uke=t=>Symbol.iterator in t,C4={ttl:!0},Hke={all:!0},Jx=class{constructor({cache:e=new Map,maxTtl:r=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new f4,lookup:o=Tke}={}){if(this.maxTtl=r,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Yx(o),this._resolver instanceof f4?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Yx(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Yx(this._resolver.resolve6.bind(this._resolver))),this._iface=d4(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,i){if(typeof r=="function"?(i=r,r={}):typeof r=="number"&&(r={family:r}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(n=>{r.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let i=await this.query(e);if(r.family===6){let n=i.filter(s=>s.family===6);r.hints&Nke&&(Mke&&r.hints&g4||n.length===0)?Kke(i):i=n}else r.family===4&&(i=i.filter(n=>n.family===4));if(r.hints&Lke){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return r.all?i:i[0]}async query(e){let r=await this._cache.get(e);if(!r){let i=this._pending[e];if(i)r=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,r=await n}}return r=r.map(i=>N({},i)),r}async _resolve(e){let r=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,C4),this._resolve6(e,C4)].map(c=>r(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(r){return{entries:[],cacheTtl:0}}}async _set(e,r,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,r[h4]=Date.now()+i;try{await this._cache.set(e,r,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}Uke(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Hke);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let i=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,i),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[h4];n>=a?this._cache.delete(s):a("lookup"in r||(r.lookup=this.lookup),e[_g](r,i))}uninstall(e){if(p4(e),e[_g]){if(e[qx]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[_g],delete e[_g],delete e[qx]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=d4(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};jx.exports=Jx;jx.exports.default=Jx});var y4=w((Yst,Wx)=>{"use strict";var Gke=typeof URL=="undefined"?require("url").URL:URL,jke="text/plain",Yke="us-ascii",E4=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),qke=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let i=r[1].split(";"),n=r[2],s=e?"":r[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===Yke)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==jke)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},I4=(t,e)=>{if(e=N({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return qke(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new Gke(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];E4(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])E4(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};Wx.exports=I4;Wx.exports.default=I4});var b4=w((qst,w4)=>{w4.exports=B4;function B4(t,e){if(t&&e)return B4(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(i){r[i]=t[i]}),r;function r(){for(var i=new Array(arguments.length),n=0;n{var Q4=b4();zx.exports=Q4(kw);zx.exports.strict=Q4(v4);kw.proto=kw(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return kw(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return v4(this)},configurable:!0})});function kw(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function v4(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var Vx=w((Wst,S4)=>{var Jke=_x(),Wke=function(){},zke=function(t){return t.setHeader&&typeof t.abort=="function"},_ke=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},k4=function(t,e,r){if(typeof e=="function")return k4(t,null,e);e||(e={}),r=Jke(r||Wke);var i=t._writableState,n=t._readableState,s=e.readable||e.readable!==!1&&t.readable,o=e.writable||e.writable!==!1&&t.writable,a=function(){t.writable||l()},l=function(){o=!1,s||r.call(t)},c=function(){s=!1,o||r.call(t)},u=function(p){r.call(t,p?new Error("exited with error code: "+p):null)},g=function(p){r.call(t,p)},f=function(){if(s&&!(n&&n.ended))return r.call(t,new Error("premature close"));if(o&&!(i&&i.ended))return r.call(t,new Error("premature close"))},h=function(){t.req.on("finish",l)};return zke(t)?(t.on("complete",l),t.on("abort",f),t.req?h():t.on("request",h)):o&&!i&&(t.on("end",a),t.on("close",a)),_ke(t)&&t.on("exit",u),t.on("end",c),t.on("finish",l),e.error!==!1&&t.on("error",g),t.on("close",f),function(){t.removeListener("complete",l),t.removeListener("abort",f),t.removeListener("request",h),t.req&&t.req.removeListener("finish",l),t.removeListener("end",a),t.removeListener("close",a),t.removeListener("finish",l),t.removeListener("exit",u),t.removeListener("end",c),t.removeListener("error",g),t.removeListener("close",f)}};S4.exports=k4});var D4=w((zst,x4)=>{var Vke=_x(),Xke=Vx(),Xx=require("fs"),Pd=function(){},Zke=/^v?\.0/.test(process.version),xw=function(t){return typeof t=="function"},$ke=function(t){return!Zke||!Xx?!1:(t instanceof(Xx.ReadStream||Pd)||t instanceof(Xx.WriteStream||Pd))&&xw(t.close)},exe=function(t){return t.setHeader&&xw(t.abort)},txe=function(t,e,r,i){i=Vke(i);var n=!1;t.on("close",function(){n=!0}),Xke(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,$ke(t))return t.close(Pd);if(exe(t))return t.abort();if(xw(t.destroy))return t.destroy();i(o||new Error("stream was destroyed"))}}},P4=function(t){t()},rxe=function(t,e){return t.pipe(e)},ixe=function(){var t=Array.prototype.slice.call(arguments),e=xw(t[t.length-1]||Pd)&&t.pop()||Pd;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,i=t.map(function(n,s){var o=s0;return txe(n,o,a,function(l){r||(r=l),l&&i.forEach(P4),!o&&(i.forEach(P4),e(r))})});return t.reduce(rxe)};x4.exports=ixe});var F4=w((_st,R4)=>{"use strict";var{PassThrough:nxe}=require("stream");R4.exports=t=>{t=N({},t);let{array:e}=t,{encoding:r}=t,i=r==="buffer",n=!1;e?n=!(r||i):r=r||"utf8",i&&(r=null);let s=new nxe({objectMode:n});r&&s.setEncoding(r);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var N4=w((Vst,Vg)=>{"use strict";var sxe=D4(),oxe=F4(),Zx=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function Pw(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e=N({maxBuffer:Infinity},e);let{maxBuffer:r}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=sxe(t,oxe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>r&&o(new Zx)})}),i.getBufferedValue()}Vg.exports=Pw;Vg.exports.default=Pw;Vg.exports.buffer=(t,e)=>Pw(t,ie(N({},e),{encoding:"buffer"}));Vg.exports.array=(t,e)=>Pw(t,ie(N({},e),{array:!0}));Vg.exports.MaxBufferError=Zx});var T4=w((Zst,L4)=>{"use strict";var axe=[200,203,204,206,300,301,404,405,410,414,501],Axe=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],lxe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},cxe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function $x(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let i of r){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function uxe(t){let e=[];for(let r in t){let i=t[r];e.push(i===!0?r:r+"="+i)}if(!!e.length)return e.join(", ")}L4.exports=class{constructor(e,r,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=$x(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=$x(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":uxe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!r.headers["cache-control"]&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&Axe.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||axe.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=$x(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of r)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let i in e)lxe[i]||(r[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete r[n]}if(r.warning){let i=r.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?r.warning=i.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let r=8*3600*1e3;if(Math.abs(this._responseTime-e)e&&(e=i)}let r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(r-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let n=r["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?r["if-none-match"]=n.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),!r||!r.headers)throw Error("Response headers missing");let i=!1;if(r.status!==void 0&&r.status!=304?i=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in r.headers&&!cxe[o]?r.headers[o]:this._resHeaders[o];let s=Object.assign({},r,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Dw=w(($st,O4)=>{"use strict";O4.exports=t=>{let e={};for(let[r,i]of Object.entries(t))e[r.toLowerCase()]=i;return e}});var U4=w((eot,M4)=>{"use strict";var gxe=require("stream").Readable,fxe=Dw(),K4=class extends gxe{constructor(e,r,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super();this.statusCode=e,this.headers=fxe(r),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};M4.exports=K4});var G4=w((tot,H4)=>{"use strict";var hxe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];H4.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(hxe));for(let i of r)i in e||(e[i]=typeof t[i]=="function"?t[i].bind(t):t[i])}});var Y4=w((rot,j4)=>{"use strict";var pxe=require("stream").PassThrough,dxe=G4(),Cxe=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new pxe;return dxe(t,e),t.pipe(e)};j4.exports=Cxe});var q4=w(eP=>{eP.stringify=function t(e){if(typeof e=="undefined")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",i=Array.isArray(e);r=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]=="undefined";Object.hasOwnProperty.call(e,s)&&!o&&(n||(r+=","),n=!1,i?e[s]==null?r+="null":r+=t(e[s]):e[s]!==void 0&&(r+=t(s)+":"+t(e[s])))}return r+=i?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e=="undefined"?"null":JSON.stringify(e)};eP.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var _4=w((not,J4)=>{"use strict";var mxe=require("events"),W4=q4(),Exe=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(require(e[r]))(t)}return new Map},z4=class extends mxe{constructor(e,r){super();if(this.opts=Object.assign({namespace:"keyv",serialize:W4.stringify,deserialize:W4.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=Exe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return r&&r.raw?n:n.value}})}set(e,r,i){e=this._getKeyPrefix(e),typeof i=="undefined"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return r={value:r,expires:s},this.opts.serialize(r)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};J4.exports=z4});var Z4=w((sot,V4)=>{"use strict";var Ixe=require("events"),Rw=require("url"),yxe=y4(),wxe=N4(),tP=T4(),X4=U4(),Bxe=Dw(),bxe=Y4(),Qxe=_4(),ea=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Qxe({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,i)=>{let n;if(typeof r=="string")n=rP(Rw.parse(r)),r={};else if(r instanceof Rw.URL)n=rP(Rw.parse(r.toString())),r={};else{let[g,...f]=(r.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=rP(ie(N({},r),{pathname:g,search:h}))}r=N(N({headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1},r),vxe(n)),r.headers=Bxe(r.headers);let s=new Ixe,o=yxe(Rw.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${r.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(y=>{h=()=>{f||(f=!0,y())}}),m=y=>{if(l&&!g.forceRefresh){y.status=y.statusCode;let S=tP.fromObject(l.cachePolicy).revalidatedPolicy(g,y);if(!S.modified){let k=S.policy.responseHeaders();y=new X4(l.statusCode,k,l.body,l.url),y.cachePolicy=S.policy,y.fromCache=!0}}y.fromCache||(y.cachePolicy=new tP(g,y,g),y.fromCache=!1);let b;g.cache&&y.cachePolicy.storable()?(b=bxe(y),(async()=>{try{let S=wxe.buffer(y);if(await Promise.race([p,new Promise(j=>y.once("end",j))]),f)return;let k=await S,T={cachePolicy:y.cachePolicy.toObject(),url:y.url,statusCode:y.fromCache?l.statusCode:y.statusCode,body:k},Y=g.strictTtl?y.cachePolicy.timeToLive():void 0;g.maxTtl&&(Y=Y?Math.min(Y,g.maxTtl):g.maxTtl),await this.cache.set(a,T,Y)}catch(S){s.emit("error",new ea.CacheError(S))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(S){s.emit("error",new ea.CacheError(S))}})(),s.emit("response",b||y),typeof i=="function"&&i(b||y)};try{let y=e(g,m);y.once("error",h),y.once("abort",h),s.emit("request",y)}catch(y){s.emit("error",new ea.RequestError(y))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p=="undefined")return u(h);let m=tP.fromObject(p.cachePolicy);if(m.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let y=m.responseHeaders(),b=new X4(p.statusCode,y,p.body,p.url);b.cachePolicy=m,b.fromCache=!0,s.emit("response",b),typeof i=="function"&&i(b)}else l=p,h.headers=m.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new ea.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(r)}catch(h){r.automaticFailover&&!c&&u(r),s.emit("error",new ea.CacheError(h))}})(),s}}};function vxe(t){let e=N({},t);return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function rP(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}ea.RequestError=class extends Error{constructor(t){super(t.message);this.name="RequestError",Object.assign(this,t)}};ea.CacheError=class extends Error{constructor(t){super(t.message);this.name="CacheError",Object.assign(this,t)}};V4.exports=ea});var ez=w((oot,$4)=>{"use strict";var Sxe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];$4.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(Sxe)),i={};for(let n of r)n in e||(i[n]={get(){let s=t[n];return typeof s=="function"?s.bind(t):s},set(s){t[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var rz=w((aot,tz)=>{"use strict";var{Transform:kxe,PassThrough:xxe}=require("stream"),iP=require("zlib"),Pxe=ez();tz.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof iP.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let i=!0,n=new kxe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new xxe({autoDestroy:!1,destroy(a,l){t.destroy(),l(a)}}),o=r?iP.createBrotliDecompress():iP.createUnzip();return o.once("error",a=>{if(i&&!t.readable){s.end();return}s.destroy(a)}),Pxe(t,s),t.pipe(n).pipe(o).pipe(s),s}});var nP=w((Aot,iz)=>{"use strict";var nz=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};iz.exports=nz});var oP=w((lot,sz)=>{"use strict";var Dxe=require("events"),Rxe=require("tls"),Fxe=require("http2"),Nxe=nP(),gn=Symbol("currentStreamsCount"),oz=Symbol("request"),Ns=Symbol("cachedOriginSet"),Xg=Symbol("gracefullyClosing"),Lxe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],Txe=(t,e,r)=>{let i=0,n=t.length;for(;i>>1;r(t[s],e)?i=s+1:n=s}return i},Oxe=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,sP=(t,e)=>{for(let r of t)r[Ns].lengthe[Ns].includes(i))&&r[gn]+e[gn]<=e.remoteSettings.maxConcurrentStreams&&az(r)},Mxe=(t,e)=>{for(let r of t)e[Ns].lengthr[Ns].includes(i))&&e[gn]+r[gn]<=r.remoteSettings.maxConcurrentStreams&&az(e)},Az=({agent:t,isFree:e})=>{let r={};for(let i in t.sessions){let s=t.sessions[i].filter(o=>{let a=o[tA.kCurrentStreamsCount]{t[Xg]=!0,t[gn]===0&&t.close()},tA=class extends Dxe{constructor({timeout:e=6e4,maxSessions:r=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Nxe({maxSize:n})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let i of Lxe)e[i]&&(r+=`:${e[i]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let i=this.queue[e][r];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(r),a=tA.normalizeOrigin(e,r&&r.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let m=p.remoteSettings.maxConcurrentStreams;if(m=m||p[Xg]||p.destroyed)continue;h||(g=m),y>f&&(h=p,f=y)}}if(h){if(i.length!==1){for(let{reject:p}of i){let m=new Error(`Expected the length of listeners to be 1, got ${i.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);p(m)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=Fxe.connect(e,N({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},r));f[gn]=0,f[Xg]=!1;let h=()=>f[gn]{this.tlsSessionCache.set(u,y)}),f.once("error",y=>{for(let{reject:b}of i)b(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error("Session closed without receiving a SETTINGS frame");y.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:b}of i)b(y);l()}this._tryToCreateNewSession(o,a)});let m=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[Ns])if(y in this.queue[o]){let{listeners:b}=this.queue[o][y];for(;b.length!==0&&h();)b.shift().resolve(f);let S=this.queue[o];if(S[y].listeners.length===0&&(delete S[y],Object.keys(S).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[Ns]=f.originSet,!!h()&&(m(),sP(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error("Agent has been destroyed");for(let b of i)b.reject(y);f.destroy();return}f[Ns]=f.originSet;{let y=this.sessions;if(o in y){let b=y[o];b.splice(Txe(b,f,Oxe),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),m(),l(),f[gn]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),f.on("remoteSettings",()=>{m(),sP(this.sessions[o],f)})}),f[oz]=f.request,f.request=(y,b)=>{if(f[Xg])throw new Error("The session is gracefully closing. No new streams are allowed.");let S=f[oz](y,b);return f.ref(),++f[gn],f[gn]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,S.once("close",()=>{if(p=h(),--f[gn],!f.destroyed&&!f.closed&&(Mxe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let k=f[gn]===0;k&&f.unref(),k&&(this._freeSessionsCount>this.maxFreeSessions||f[Xg])?f.close():(sP(this.sessions[o],f),m())}}),S}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,r,i,n){return new Promise((s,o)=>{this.getSession(e,r,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,r){return tA.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof r.servername=="undefined"&&(r.servername=n),Rxe.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[gn]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let i of r)i.destroy(e);for(let r of Object.values(this.queue))for(let i of Object.values(r))i.destroyed=!0;this.queue={}}get freeSessions(){return Az({agent:this,isFree:!0})}get busySessions(){return Az({agent:this,isFree:!1})}};tA.kCurrentStreamsCount=gn;tA.kGracefullyClosing=Xg;sz.exports={Agent:tA,globalAgent:new tA}});var aP=w((cot,lz)=>{"use strict";var{Readable:Kxe}=require("stream"),cz=class extends Kxe{constructor(e,r){super({highWaterMark:r,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};lz.exports=cz});var AP=w((uot,uz)=>{"use strict";uz.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var fz=w((got,gz)=>{"use strict";gz.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var pz=w((fot,hz)=>{"use strict";hz.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var Cz=w((pot,dz)=>{"use strict";var Zg=(t,e,r)=>{dz.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n));this.name=`${super.name} [${e}]`,this.code=e}}};Zg(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],i=Array.isArray(r);return i&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${i?"one of":"of"} type ${r}. Received ${typeof t[2]}`});Zg(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);Zg(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);Zg(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);Zg(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);Zg(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var gP=w((dot,mz)=>{"use strict";var Uxe=require("http2"),{Writable:Hxe}=require("stream"),{Agent:Ez,globalAgent:Gxe}=oP(),jxe=aP(),Yxe=AP(),qxe=fz(),Jxe=pz(),{ERR_INVALID_ARG_TYPE:lP,ERR_INVALID_PROTOCOL:Wxe,ERR_HTTP_HEADERS_SENT:Iz,ERR_INVALID_HTTP_TOKEN:zxe,ERR_HTTP_INVALID_HEADER_VALUE:_xe,ERR_INVALID_CHAR:Vxe}=Cz(),{HTTP2_HEADER_STATUS:yz,HTTP2_HEADER_METHOD:wz,HTTP2_HEADER_PATH:Bz,HTTP2_METHOD_CONNECT:Xxe}=Uxe.constants,Wi=Symbol("headers"),cP=Symbol("origin"),uP=Symbol("session"),bz=Symbol("options"),Fw=Symbol("flushedHeaders"),Dd=Symbol("jobs"),Zxe=/^[\^`\-\w!#$%&*+.|~]+$/,$xe=/[^\t\u0020-\u007E\u0080-\u00FF]/,Qz=class extends Hxe{constructor(e,r,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=Yxe(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(i=r,r=n?e:N({},e)):r=N(N({},e),r),r.h2session)this[uP]=r.h2session;else if(r.agent===!1)this.agent=new Ez({maxFreeSessions:0});else if(typeof r.agent=="undefined"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new Ez({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=Gxe;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new lP("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Wxe(r.protocol,"https:");let s=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,o=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:a}=r;if(r.timeout=void 0,this[Wi]=Object.create(null),this[Dd]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[l,c]of Object.entries(r.headers))this.setHeader(l,c);r.auth&&!("authorization"in this[Wi])&&(this[Wi].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[bz]=r,s===443?(this[cP]=`https://${o}`,":authority"in this[Wi]||(this[Wi][":authority"]=o)):(this[cP]=`https://${o}:${s}`,":authority"in this[Wi]||(this[Wi][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[Fw]=!1}get method(){return this[Wi][wz]}set method(e){e&&(this[Wi][wz]=e.toUpperCase())}get path(){return this[Wi][Bz]}set path(e){e&&(this[Wi][Bz]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,r,i);this._request?n():this[Dd].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[Dd].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[Fw]||this.destroyed)return;this[Fw]=!0;let e=this.method===Xxe,r=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||qxe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new jxe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[yz],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[yz]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[Dd])o();this.emit("socket",this.socket)};if(this[uP])try{r(this[uP].request(this[Wi]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[cP],this[bz],this[Wi]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new lP("name","string",e);return this[Wi][e.toLowerCase()]}get headersSent(){return this[Fw]}removeHeader(e){if(typeof e!="string")throw new lP("name","string",e);if(this.headersSent)throw new Iz("remove");delete this[Wi][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new Iz("set");if(typeof e!="string"||!Zxe.test(e)&&!Jxe(e))throw new zxe("Header name",e);if(typeof r=="undefined")throw new _xe(r,e);if($xe.test(r))throw new Vxe("header content",e);this[Wi][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let i=()=>this._request.setTimeout(e,r);return this._request?i():this[Dd].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};mz.exports=Qz});var Sz=w((Cot,vz)=>{"use strict";var ePe=require("tls");vz.exports=(t={})=>new Promise((e,r)=>{let i=ePe.connect(t,()=>{t.resolveSocket?(i.off("error",r),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",r)})});var xz=w((mot,kz)=>{"use strict";var tPe=require("net");kz.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),tPe.isIP(e)?"":e}});var Rz=w((Eot,fP)=>{"use strict";var Pz=require("http"),hP=require("https"),rPe=Sz(),iPe=nP(),nPe=gP(),sPe=xz(),oPe=AP(),Nw=new iPe({maxSize:100}),Rd=new Map,Dz=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{t.emit("free",e,r)};e.on("free",i);let n=()=>{t.removeSocket(e,r)};e.on("close",n);let s=()=>{t.removeSocket(e,r),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),t.emit("free",e,r)},aPe=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!Nw.has(e)){if(Rd.has(e))return(await Rd.get(e)).alpnProtocol;let{path:r,agent:i}=t;t.path=t.socketPath;let n=rPe(t);Rd.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Nw.set(e,o),t.path=r,o==="h2")s.destroy();else{let{globalAgent:a}=hP,l=hP.Agent.prototype.createConnection;i?i.createConnection===l?Dz(i,s,t):s.destroy():a.createConnection===l?Dz(a,s,t):s.destroy()}return Rd.delete(e),o}catch(s){throw Rd.delete(e),s}}return Nw.get(e)};fP.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=oPe(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e=ie(N(N({ALPNProtocols:["h2","http/1.1"]},t),e),{resolveSocket:!0}),!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||sPe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?hP.globalAgent:Pz.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await aPe(e)==="h2"?(n&&(e.agent=n.http2),new nPe(e,r)):Pz.request(e,r)};fP.exports.protocolCache=Nw});var Nz=w((Iot,Fz)=>{"use strict";var APe=require("http2"),lPe=oP(),pP=gP(),cPe=aP(),uPe=Rz(),gPe=(t,e,r)=>new pP(t,e,r),fPe=(t,e,r)=>{let i=new pP(t,e,r);return i.end(),i};Fz.exports=ie(N(ie(N({},APe),{ClientRequest:pP,IncomingMessage:cPe}),lPe),{request:gPe,get:fPe,auto:uPe})});var CP=w(dP=>{"use strict";Object.defineProperty(dP,"__esModule",{value:!0});var Lz=eA();dP.default=t=>Lz.default.nodeStream(t)&&Lz.default.function_(t.getBoundary)});var Kz=w(mP=>{"use strict";Object.defineProperty(mP,"__esModule",{value:!0});var Tz=require("fs"),Oz=require("util"),Mz=eA(),hPe=CP(),pPe=Oz.promisify(Tz.stat);mP.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(Mz.default.string(t))return Buffer.byteLength(t);if(Mz.default.buffer(t))return t.length;if(hPe.default(t))return Oz.promisify(t.getLength.bind(t))();if(t instanceof Tz.ReadStream){let{size:r}=await pPe(t.path);return r===0?void 0:r}}});var IP=w(EP=>{"use strict";Object.defineProperty(EP,"__esModule",{value:!0});function dPe(t,e,r){let i={};for(let n of r)i[n]=(...s)=>{e.emit(n,...s)},t.on(n,i[n]);return()=>{for(let n of r)t.off(n,i[n])}}EP.default=dPe});var Uz=w(yP=>{"use strict";Object.defineProperty(yP,"__esModule",{value:!0});yP.default=()=>{let t=[];return{once(e,r,i){e.once(r,i),t.push({origin:e,event:r,fn:i})},unhandleAll(){for(let e of t){let{origin:r,event:i,fn:n}=e;r.removeListener(i,n)}t.length=0}}}});var Gz=w(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});Fd.TimeoutError=void 0;var CPe=require("net"),mPe=Uz(),Hz=Symbol("reentry"),EPe=()=>{},wP=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`);this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};Fd.TimeoutError=wP;Fd.default=(t,e,r)=>{if(Hz in t)return EPe;t[Hz]=!0;let i=[],{once:n,unhandleAll:s}=mPe.default(),o=(g,f,h)=>{var p;let m=setTimeout(f,g,g,h);(p=m.unref)===null||p===void 0||p.call(m);let y=()=>{clearTimeout(m)};return i.push(y),y},{host:a,hostname:l}=r,c=(g,f)=>{t.destroy(new wP(g,f))},u=()=>{for(let g of i)g();s()};if(t.once("error",g=>{if(u(),t.listenerCount("error")===0)throw g}),t.once("close",u),n(t,"response",g=>{n(g,"end",u)}),typeof e.request!="undefined"&&o(e.request,c,"request"),typeof e.socket!="undefined"){let g=()=>{c(e.socket,"socket")};t.setTimeout(e.socket,g),i.push(()=>{t.removeListener("timeout",g)})}return n(t,"socket",g=>{var f;let{socketPath:h}=t;if(g.connecting){let p=Boolean(h!=null?h:CPe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup!="undefined"&&!p&&typeof g.address().address=="undefined"){let m=o(e.lookup,c,"lookup");n(g,"lookup",m)}if(typeof e.connect!="undefined"){let m=()=>o(e.connect,c,"connect");p?n(g,"connect",m()):n(g,"lookup",y=>{y===null&&n(g,"connect",m())})}typeof e.secureConnect!="undefined"&&r.protocol==="https:"&&n(g,"connect",()=>{let m=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",m)})}if(typeof e.send!="undefined"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(t,"upload-complete",p())}):n(t,"upload-complete",p())}}),typeof e.response!="undefined"&&n(t,"upload-complete",()=>{let g=o(e.response,c,"response");n(t,"response",g)}),u}});var Yz=w(BP=>{"use strict";Object.defineProperty(BP,"__esModule",{value:!0});var jz=eA();BP.default=t=>{t=t;let e={protocol:t.protocol,hostname:jz.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return jz.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var qz=w(bP=>{"use strict";Object.defineProperty(bP,"__esModule",{value:!0});var IPe=require("url"),yPe=["protocol","host","hostname","port","pathname","search"];bP.default=(t,e)=>{var r,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(i=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&i!==void 0?i:""}`}let n=new IPe.URL(t);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of yPe)e[s]&&(n[s]=e[s].toString());return n}});var Wz=w(QP=>{"use strict";Object.defineProperty(QP,"__esModule",{value:!0});var Jz=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};QP.default=Jz});var SP=w(vP=>{"use strict";Object.defineProperty(vP,"__esModule",{value:!0});var wPe=async t=>{let e=[],r=0;for await(let i of t)e.push(i),r+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};vP.default=wPe});var _z=w(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.dnsLookupIpVersionToFamily=qc.isDnsLookupIpVersion=void 0;var zz={auto:0,ipv4:4,ipv6:6};qc.isDnsLookupIpVersion=t=>t in zz;qc.dnsLookupIpVersionToFamily=t=>{if(qc.isDnsLookupIpVersion(t))return zz[t];throw new Error("Invalid DNS lookup IP version")}});var kP=w(Lw=>{"use strict";Object.defineProperty(Lw,"__esModule",{value:!0});Lw.isResponseOk=void 0;Lw.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var Xz=w(xP=>{"use strict";Object.defineProperty(xP,"__esModule",{value:!0});var Vz=new Set;xP.default=t=>{Vz.has(t)||(Vz.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var Zz=w(PP=>{"use strict";Object.defineProperty(PP,"__esModule",{value:!0});var Ir=eA(),BPe=(t,e)=>{if(Ir.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Ir.assert.any([Ir.default.string,Ir.default.undefined],t.encoding),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],t.resolveBodyOnly),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],t.methodRewriting),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],t.isStream),Ir.assert.any([Ir.default.string,Ir.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry=N({},e.retry):t.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Ir.default.object(r)?(t.retry=N(N({},t.retry),r),t.retry.methods=[...new Set(t.retry.methods.map(i=>i.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):Ir.default.number(r)&&(t.retry.limit=r),Ir.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(Ir.default.number))),Ir.default.object(t.pagination)){e&&(t.pagination=N(N({},e.pagination),t.pagination));let{pagination:i}=t;if(!Ir.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Ir.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Ir.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Ir.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};PP.default=BPe});var $z=w(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});Nd.retryAfterStatusCodes=void 0;Nd.retryAfterStatusCodes=new Set([413,429,503]);var bPe=({attemptCount:t,retryOptions:e,error:r,retryAfter:i})=>{if(t>e.limit)return 0;let n=e.methods.includes(r.options.method),s=e.errorCodes.includes(r.code),o=r.response&&e.statusCodes.includes(r.response.statusCode);if(!n||!s&&!o)return 0;if(r.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(r.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(t-1)*1e3+a};Nd.default=bPe});var Td=w(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.UnsupportedProtocolError=qt.ReadError=qt.TimeoutError=qt.UploadError=qt.CacheError=qt.HTTPError=qt.MaxRedirectsError=qt.RequestError=qt.setNonEnumerableProperties=qt.knownHookEvents=qt.withoutBody=qt.kIsNormalizedAlready=void 0;var e5=require("util"),t5=require("stream"),QPe=require("fs"),Al=require("url"),r5=require("http"),DP=require("http"),vPe=require("https"),SPe=u4(),kPe=m4(),i5=Z4(),xPe=rz(),PPe=Nz(),DPe=Dw(),Ie=eA(),RPe=Kz(),n5=CP(),FPe=IP(),s5=Gz(),NPe=Yz(),o5=qz(),LPe=Wz(),TPe=SP(),a5=_z(),OPe=kP(),ll=Xz(),MPe=Zz(),KPe=$z(),RP,Ri=Symbol("request"),Tw=Symbol("response"),$g=Symbol("responseSize"),ef=Symbol("downloadedSize"),tf=Symbol("bodySize"),rf=Symbol("uploadedSize"),Ow=Symbol("serverResponsesPiped"),A5=Symbol("unproxyEvents"),l5=Symbol("isFromCache"),FP=Symbol("cancelTimeouts"),c5=Symbol("startedReading"),nf=Symbol("stopReading"),Mw=Symbol("triggerRead"),cl=Symbol("body"),Ld=Symbol("jobs"),u5=Symbol("originalResponse"),g5=Symbol("retryTimeout");qt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var UPe=Ie.default.string(process.versions.brotli);qt.withoutBody=new Set(["GET","HEAD"]);qt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function HPe(t){for(let e in t){let r=t[e];if(!Ie.default.string(r)&&!Ie.default.number(r)&&!Ie.default.boolean(r)&&!Ie.default.null_(r)&&!Ie.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function GPe(t){return Ie.default.object(t)&&!("statusCode"in t)}var NP=new LPe.default,jPe=async t=>new Promise((e,r)=>{let i=n=>{r(n)};t.pending||e(),t.once("error",i),t.once("ready",()=>{t.off("error",i),e()})}),YPe=new Set([300,301,302,303,304,307,308]),qPe=["context","body","json","form"];qt.setNonEnumerableProperties=(t,e)=>{let r={};for(let i of t)if(!!i)for(let n of qPe)n in i&&(r[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,r)};var fi=class extends Error{constructor(e,r,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,i instanceof LP?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[Tw]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,Ie.default.string(r.stack)&&Ie.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` +`).reverse(),a=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` +`)}${a.reverse().join(` +`)}`}}};qt.RequestError=fi;var TP=class extends fi{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};qt.MaxRedirectsError=TP;var OP=class extends fi{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};qt.HTTPError=OP;var MP=class extends fi{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};qt.CacheError=MP;var KP=class extends fi{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};qt.UploadError=KP;var UP=class extends fi{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};qt.TimeoutError=UP;var Kw=class extends fi{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};qt.ReadError=Kw;var HP=class extends fi{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};qt.UnsupportedProtocolError=HP;var JPe=["socket","connect","continue","information","upgrade","timeout"],LP=class extends t5.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[ef]=0,this[rf]=0,this.requestInitialized=!1,this[Ow]=new Set,this.redirects=[],this[nf]=!1,this[Mw]=!1,this[Ld]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof DP.IncomingMessage&&(this.options.headers=N(N({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),qt.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){Ie.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof QPe.ReadStream&&await jPe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Ri])===null||c===void 0||c.destroy();return}for(let g of this[Ld])g();this[Ld].length=0,this.requestInitialized=!0}catch(u){if(u instanceof fi){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(Ie.default.object(e)&&!Ie.default.urlInstance(e))r=N(N(N({},i),e),r);else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r=N(N({},i),r),e!==void 0&&(r.url=e),Ie.default.urlInstance(r.url)&&(r.url=new Al.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),Ie.assert.any([Ie.default.string,Ie.default.undefined],r.method),Ie.assert.any([Ie.default.object,Ie.default.undefined],r.headers),Ie.assert.any([Ie.default.string,Ie.default.urlInstance,Ie.default.undefined],r.prefixUrl),Ie.assert.any([Ie.default.object,Ie.default.undefined],r.cookieJar),Ie.assert.any([Ie.default.object,Ie.default.string,Ie.default.undefined],r.searchParams),Ie.assert.any([Ie.default.object,Ie.default.string,Ie.default.undefined],r.cache),Ie.assert.any([Ie.default.object,Ie.default.number,Ie.default.undefined],r.timeout),Ie.assert.any([Ie.default.object,Ie.default.undefined],r.context),Ie.assert.any([Ie.default.object,Ie.default.undefined],r.hooks),Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.decompress),Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.ignoreInvalidCookies),Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.followRedirect),Ie.assert.any([Ie.default.number,Ie.default.undefined],r.maxRedirects),Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.throwHttpErrors),Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.http2),Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.allowGetBody),Ie.assert.any([Ie.default.string,Ie.default.undefined],r.localAddress),Ie.assert.any([a5.isDnsLookupIpVersion,Ie.default.undefined],r.dnsLookupIpVersion),Ie.assert.any([Ie.default.object,Ie.default.undefined],r.https),Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.rejectUnauthorized),r.https&&(Ie.assert.any([Ie.default.boolean,Ie.default.undefined],r.https.rejectUnauthorized),Ie.assert.any([Ie.default.function_,Ie.default.undefined],r.https.checkServerIdentity),Ie.assert.any([Ie.default.string,Ie.default.object,Ie.default.array,Ie.default.undefined],r.https.certificateAuthority),Ie.assert.any([Ie.default.string,Ie.default.object,Ie.default.array,Ie.default.undefined],r.https.key),Ie.assert.any([Ie.default.string,Ie.default.object,Ie.default.array,Ie.default.undefined],r.https.certificate),Ie.assert.any([Ie.default.string,Ie.default.undefined],r.https.passphrase),Ie.assert.any([Ie.default.string,Ie.default.buffer,Ie.default.array,Ie.default.undefined],r.https.pfx)),Ie.assert.any([Ie.default.object,Ie.default.undefined],r.cacheOptions),Ie.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(i==null?void 0:i.headers)?r.headers=N({},r.headers):r.headers=DPe(N(N({},i==null?void 0:i.headers),r.headers)),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(i==null?void 0:i.searchParams)){let h;if(Ie.default.string(r.searchParams)||r.searchParams instanceof Al.URLSearchParams)h=new Al.URLSearchParams(r.searchParams);else{HPe(r.searchParams),h=new Al.URLSearchParams;for(let p in r.searchParams){let m=r.searchParams[p];m===null?h.append(p,""):m!==void 0&&h.append(p,m)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,m)=>{h.has(m)||h.append(m,p)}),r.searchParams=h}if(r.username=(s=r.username)!==null&&s!==void 0?s:"",r.password=(o=r.password)!==null&&o!==void 0?o:"",Ie.default.undefined(r.prefixUrl)?r.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),Ie.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=o5.default(r.prefixUrl+r.url,r)}else(Ie.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=o5.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:h}=r;Object.defineProperty(r,"prefixUrl",{set:m=>{let y=r.url;if(!y.href.startsWith(m))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${m}: ${y.href}`);r.url=new Al.URL(m+y.href.slice(h.length)),h=m},get:()=>h});let{protocol:p}=r.url;if(p==="unix:"&&(p="http:",r.url=new Al.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),p!=="http:"&&p!=="https:")throw new HP(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:u}=r;if(u){let{setCookie:h,getCookieString:p}=u;Ie.assert.function_(h),Ie.assert.function_(p),h.length===4&&p.length===0&&(h=e5.promisify(h.bind(r.cookieJar)),p=e5.promisify(p.bind(r.cookieJar)),r.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=r;if(g&&(NP.has(g)||NP.set(g,new i5((h,p)=>{let m=h[Ri](h,p);return Ie.default.promise(m)&&(m.once=(y,b)=>{if(y==="error")m.catch(b);else if(y==="abort")(async()=>{try{(await m).once("abort",b)}catch(S){}})();else throw new Error(`Unknown HTTP2 promise event: ${y}`);return m}),m},g))),r.cacheOptions=N({},r.cacheOptions),r.dnsCache===!0)RP||(RP=new kPe.default),r.dnsCache=RP;else if(!Ie.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${Ie.default(r.dnsCache)}`);Ie.default.number(r.timeout)?r.timeout={request:r.timeout}:i&&r.timeout!==i.timeout?r.timeout=N(N({},i.timeout),r.timeout):r.timeout=N({},r.timeout),r.context||(r.context={});let f=r.hooks===(i==null?void 0:i.hooks);r.hooks=N({},r.hooks);for(let h of qt.knownHookEvents)if(h in r.hooks)if(Ie.default.array(r.hooks[h]))r.hooks[h]=[...r.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${Ie.default(r.hooks[h])}`);else r.hooks[h]=[];if(i&&!f)for(let h of qt.knownHookEvents)i.hooks[h].length>0&&(r.hooks[h]=[...i.hooks[h],...r.hooks[h]]);if("family"in r&&ll.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(r.https=N(N({},i.https),r.https)),"rejectUnauthorized"in r&&ll.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&ll.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&ll.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&ll.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&ll.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&ll.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&ll.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let h in r.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return r.maxRedirects=(l=r.maxRedirects)!==null&&l!==void 0?l:0,qt.setNonEnumerableProperties([i,c],r),MPe.default(r,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,i=!Ie.default.undefined(e.form),n=!Ie.default.undefined(e.json),s=!Ie.default.undefined(e.body),o=i||n||s,a=qt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof t5.Readable)&&!Ie.default.string(e.body)&&!Ie.default.buffer(e.body)&&!n5.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!Ie.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!Ie.default.string(r["content-type"]);s?(n5.default(e.body)&&l&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[cl]=e.body):i?(l&&(r["content-type"]="application/x-www-form-urlencoded"),this[cl]=new Al.URLSearchParams(e.form).toString()):(l&&(r["content-type"]="application/json"),this[cl]=e.stringifyJson(e.json));let c=await RPe.default(this[cl],e.headers);Ie.default.undefined(r["content-length"])&&Ie.default.undefined(r["transfer-encoding"])&&!a&&!Ie.default.undefined(c)&&(r["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[tf]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:i}=r;this[u5]=e,r.decompress&&(e=xPe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:r5.STATUS_CODES[n],s.url=r.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[l5]=s.isFromCache,this[$g]=Number(e.headers["content-length"])||void 0,this[Tw]=e,e.once("end",()=>{this[$g]=this[ef],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new Kw(a,this))}),e.once("aborted",()=>{this._beforeError(new Kw({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(Ie.default.object(r.cookieJar)&&o){let a=o.map(async l=>r.cookieJar.setCookie(l,i.toString()));r.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(r.followRedirect&&e.headers.location&&YPe.has(n)){if(e.resume(),this[Ri]&&(this[FP](),delete this[Ri],this[A5]()),(n===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[cl]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new TP(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new Al.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(c.username=r.username,c.password=r.password),this.redirects.push(u),r.url=c;for(let g of r.hooks.beforeRedirect)await g(r,s);this.emit("redirect",s,r),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(r.isStream&&r.throwHttpErrors&&!OPe.isResponseOk(s)){this._beforeError(new OP(s));return}e.on("readable",()=>{this[Mw]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[Ow])if(!a.headersSent){for(let l in e.headers){let c=r.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:i,url:n}=r;SPe.default(e),this[FP]=s5.default(e,i,n);let s=r.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof s5.TimeoutError?new UP(l,this.timings,this):new fi(l.message,l,this),this._beforeError(l)}),this[A5]=FPe.default(e,this,JPe),this[Ri]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[cl],a=this.redirects.length===0?this:e;Ie.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new KP(l,this))})):(this._unlockWrite(),Ie.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((i,n)=>{Object.assign(r,NPe.default(e)),delete r.url;let s,o=NP.get(r.cache)(r,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});r.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,r,i,n,s;let{options:o}=this,{headers:a}=o;for(let b in a)if(Ie.default.undefined(a[b]))delete a[b];else if(Ie.default.null_(a[b]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${b}\` header`);if(o.decompress&&Ie.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=UPe?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let b=await o.cookieJar.getCookieString(o.url.toString());Ie.default.nonEmptyString(b)&&(o.headers.cookie=b)}for(let b of o.hooks.beforeRequest){let S=await b(o);if(!Ie.default.undefined(S)){o.request=()=>S;break}}o.body&&this[cl]!==o.body&&(this[cl]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let b=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(b==null?void 0:b.groups){let{socketPath:S,path:k}=b.groups;Object.assign(o,{socketPath:S,path:k,host:""})}}let f=g.protocol==="https:",h;o.http2?h=PPe.auto:h=f?vPe.request:r5.request;let p=(e=o.request)!==null&&e!==void 0?e:h,m=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Ri]=p,delete o.request,delete o.timeout;let y=o;if(y.shared=(r=o.cacheOptions)===null||r===void 0?void 0:r.shared,y.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,y.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,y.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{y.family=a5.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(b){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(y.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(y.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(y.ca=o.https.certificateAuthority),o.https.certificate&&(y.cert=o.https.certificate),o.https.key&&(y.key=o.https.key),o.https.passphrase&&(y.passphrase=o.https.passphrase),o.https.pfx&&(y.pfx=o.https.pfx));try{let b=await m(g,y);Ie.default.undefined(b)&&(b=h(g,y)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete y.rejectUnauthorized,o.https.checkServerIdentity&&delete y.checkServerIdentity,o.https.certificateAuthority&&delete y.ca,o.https.certificate&&delete y.cert,o.https.key&&delete y.key,o.https.passphrase&&delete y.passphrase,o.https.pfx&&delete y.pfx),GPe(b)?this._onRequest(b):this.writable?(this.once("finish",()=>{this._onResponse(b)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(b)}catch(b){throw b instanceof i5.CacheError?new MP(b,this):new fi(b.message,b,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new fi(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[nf])return;let{options:r}=this,i=this.retryCount+1;this[nf]=!0,e instanceof fi||(e=new fi(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await TPe.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await r.retry.calculateDelay({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:KPe.default({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new fi(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new fi(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[g5]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[Mw]=!0;let e=this[Tw];if(e&&!this[nf]){e.readableLength&&(this[Mw]=!1);let r;for(;(r=e.read())!==null;){this[ef]+=r.length,this[c5]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(r)}}}_write(e,r,i){let n=()=>{this._writeRequest(e,r,i)};this.requestInitialized?n():this[Ld].push(n)}_writeRequest(e,r,i){this[Ri].destroyed||(this._progressCallbacks.push(()=>{this[rf]+=Buffer.byteLength(e,r);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Ri].write(e,r,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Ri in this)){e();return}if(this[Ri].destroyed){e();return}this[Ri].end(i=>{i||(this[tf]=this[rf],this.emit("uploadProgress",this.uploadProgress),this[Ri].emit("upload-complete")),e(i)})};this.requestInitialized?r():this[Ld].push(r)}_destroy(e,r){var i;this[nf]=!0,clearTimeout(this[g5]),Ri in this&&(this[FP](),((i=this[Tw])===null||i===void 0?void 0:i.complete)||this[Ri].destroy()),e!==null&&!Ie.default.undefined(e)&&!(e instanceof fi)&&(e=new fi(e.message,e,this)),r(e)}get _isAboutToError(){return this[nf]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,i;return((r=(e=this[Ri])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!((i=this[u5])===null||i===void 0?void 0:i.complete)}get socket(){var e,r;return(r=(e=this[Ri])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[$g]?e=this[ef]/this[$g]:this[$g]===this[ef]?e=1:e=0,{percent:e,transferred:this[ef],total:this[$g]}}get uploadProgress(){let e;return this[tf]?e=this[rf]/this[tf]:this[tf]===this[rf]?e=1:e=0,{percent:e,transferred:this[rf],total:this[tf]}}get timings(){var e;return(e=this[Ri])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[l5]}pipe(e,r){if(this[c5])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof DP.ServerResponse&&this[Ow].add(e),super.pipe(e,r)}unpipe(e){return e instanceof DP.ServerResponse&&this[Ow].delete(e),super.unpipe(e),this}};qt.default=LP});var Od=w(po=>{"use strict";var WPe=po&&po.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),zPe=po&&po.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&WPe(e,t,r)};Object.defineProperty(po,"__esModule",{value:!0});po.CancelError=po.ParseError=void 0;var f5=Td(),h5=class extends f5.RequestError{constructor(e,r){let{options:i}=r.request;super(`${e.message} in "${i.url.toString()}"`,e,r.request);this.name="ParseError"}};po.ParseError=h5;var p5=class extends f5.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};po.CancelError=p5;zPe(Td(),po)});var C5=w(GP=>{"use strict";Object.defineProperty(GP,"__esModule",{value:!0});var d5=Od(),_Pe=(t,e,r,i)=>{let{rawBody:n}=t;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":r(n.toString());if(e==="buffer")return n;throw new d5.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(s){throw new d5.ParseError(s,t)}};GP.default=_Pe});var jP=w(ul=>{"use strict";var VPe=ul&&ul.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),XPe=ul&&ul.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&VPe(e,t,r)};Object.defineProperty(ul,"__esModule",{value:!0});var ZPe=require("events"),$Pe=eA(),eDe=l4(),Uw=Od(),m5=C5(),E5=Td(),tDe=IP(),rDe=SP(),I5=kP(),iDe=["request","response","redirect","uploadProgress","downloadProgress"];function y5(t){let e,r,i=new ZPe.EventEmitter,n=new eDe((o,a,l)=>{let c=u=>{let g=new E5.default(void 0,t);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new Uw.CancelError(g))),e=g,g.once("response",async p=>{var m;if(p.retryCount=u,p.request.aborted)return;let y;try{y=await rDe.default(g),p.rawBody=y}catch(T){return}if(g._isAboutToError)return;let b=((m=p.headers["content-encoding"])!==null&&m!==void 0?m:"").toLowerCase(),S=["gzip","deflate","br"].includes(b),{options:k}=g;if(S&&!k.decompress)p.body=y;else try{p.body=m5.default(p,k.responseType,k.parseJson,k.encoding)}catch(T){if(p.body=y.toString(),I5.isResponseOk(p)){g._beforeError(T);return}}try{for(let[T,Y]of k.hooks.afterResponse.entries())p=await Y(p,async j=>{let Z=E5.default.normalizeArguments(void 0,ie(N({},j),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),k);Z.hooks.afterResponse=Z.hooks.afterResponse.slice(0,T);for(let re of Z.hooks.beforeRetry)await re(Z);let J=y5(Z);return l(()=>{J.catch(()=>{}),J.cancel()}),J})}catch(T){g._beforeError(new Uw.RequestError(T.message,T,g));return}if(!I5.isResponseOk(p)){g._beforeError(new Uw.HTTPError(p));return}r=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:m}=g;if(p instanceof Uw.HTTPError&&!m.throwHttpErrors){let{response:y}=p;o(g.options.resolveBodyOnly?y.body:y);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,m)=>{var y,b;if(h===((y=m.request)===null||y===void 0?void 0:y.options.body)&&$Pe.default.nodeStream((b=m.request)===null||b===void 0?void 0:b.options.body)){f(m);return}c(p)}),tDe.default(g,i,iDe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=r.request;return m5.default(r,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}ul.default=y5;XPe(Od(),ul)});var w5=w(YP=>{"use strict";Object.defineProperty(YP,"__esModule",{value:!0});var nDe=Od();function sDe(t,...e){let r=(async()=>{if(t instanceof nDe.RequestError)try{for(let n of e)if(n)for(let s of n)t=await s(t)}catch(n){t=n}throw t})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}YP.default=sDe});var Q5=w(qP=>{"use strict";Object.defineProperty(qP,"__esModule",{value:!0});var B5=eA();function b5(t){for(let e of Object.values(t))(B5.default.plainObject(e)||B5.default.array(e))&&b5(e);return Object.freeze(t)}qP.default=b5});var S5=w(v5=>{"use strict";Object.defineProperty(v5,"__esModule",{value:!0})});var JP=w(Ls=>{"use strict";var oDe=Ls&&Ls.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),aDe=Ls&&Ls.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&oDe(e,t,r)};Object.defineProperty(Ls,"__esModule",{value:!0});Ls.defaultHandler=void 0;var k5=eA(),Ts=jP(),ADe=w5(),Hw=Td(),lDe=Q5(),cDe={RequestError:Ts.RequestError,CacheError:Ts.CacheError,ReadError:Ts.ReadError,HTTPError:Ts.HTTPError,MaxRedirectsError:Ts.MaxRedirectsError,TimeoutError:Ts.TimeoutError,ParseError:Ts.ParseError,CancelError:Ts.CancelError,UnsupportedProtocolError:Ts.UnsupportedProtocolError,UploadError:Ts.UploadError},uDe=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:Gw}=Hw.default,x5=(...t)=>{let e;for(let r of t)e=Gw(void 0,r,e);return e},gDe=t=>t.isStream?new Hw.default(void 0,t):Ts.default(t),fDe=t=>"defaults"in t&&"options"in t.defaults,hDe=["get","post","put","patch","head","delete"];Ls.defaultHandler=(t,e)=>e(t);var P5=(t,e)=>{if(t)for(let r of t)r(e)},D5=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>t.handlers[l++](u,l===t.handlers.length?gDe:c);if(k5.default.plainObject(i)){let u=N(N({},i),n);Hw.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{P5(t.options.hooks.init,n),P5((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=Gw(i,n,s!=null?s:t.options);if(g[Hw.kIsNormalizedAlready]=!0,u)throw new Ts.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return ADe.default(u,t.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[t.options],s=[...t._rawHandlers],o;for(let a of i)fDe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==Ls.defaultHandler),s.length===0&&s.push(Ls.defaultHandler),D5({options:x5(...n),handlers:s,mutableDefaults:Boolean(o)})};let r=async function*(i,n){let s=Gw(i,n,t.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!k5.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of r(i,n))s.push(o);return s},e.paginate.each=r,e.stream=(i,n)=>e(i,ie(N({},n),{isStream:!0}));for(let i of hDe)e[i]=(n,s)=>e(n,ie(N({},s),{method:i})),e.stream[i]=(n,s)=>e(n,ie(N({},s),{method:i,isStream:!0}));return Object.assign(e,cDe),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:lDe.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=x5,e};Ls.default=D5;aDe(S5(),Ls)});var Yw=w((rA,jw)=>{"use strict";var pDe=rA&&rA.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),R5=rA&&rA.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&pDe(e,t,r)};Object.defineProperty(rA,"__esModule",{value:!0});var dDe=require("url"),F5=JP(),CDe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let i of e){let n=i.split(";");if(n[1].includes("next")){r=n[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new dDe.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[F5.defaultHandler],mutableDefaults:!1},WP=F5.default(CDe);rA.default=WP;jw.exports=WP;jw.exports.default=WP;jw.exports.__esModule=!0;R5(JP(),rA);R5(jP(),rA)});var O5=w(sf=>{"use strict";var jot=require("net"),mDe=require("tls"),zP=require("http"),N5=require("https"),EDe=require("events"),Yot=require("assert"),IDe=require("util");sf.httpOverHttp=yDe;sf.httpsOverHttp=wDe;sf.httpOverHttps=BDe;sf.httpsOverHttps=bDe;function yDe(t){var e=new iA(t);return e.request=zP.request,e}function wDe(t){var e=new iA(t);return e.request=zP.request,e.createSocket=L5,e.defaultPort=443,e}function BDe(t){var e=new iA(t);return e.request=N5.request,e}function bDe(t){var e=new iA(t);return e.request=N5.request,e.createSocket=L5,e.defaultPort=443,e}function iA(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||zP.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=T5(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};iA.prototype.createSocket=function(e,r){var i=this,n={};i.sockets.push(n);var s=_P({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),gl("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){gl("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){gl("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return gl("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,r(f)}function u(g){o.removeAllListeners(),gl(`tunneling socket could not be established, cause=%s +`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};iA.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function L5(t,e){var r=this;iA.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=_P({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=mDe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function T5(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function _P(t){for(var e=1,r=arguments.length;e{M5.exports=O5()});var _5=w((Ww,eD)=>{var z5=Object.assign({},require("fs")),tD=function(){var t=typeof document!="undefined"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!="undefined"&&(t=t||__filename),function(e){e=e||{};var r=typeof e!="undefined"?e:{},i,n;r.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in r)r.hasOwnProperty(o)&&(s[o]=r[o]);var a=[],l="./this.program",c=function(d,E){throw E},u=!1,g=!0,f="";function h(d){return r.locateFile?r.locateFile(d,f):f+d}var p,m,y,b;g&&(u?f=require("path").dirname(f)+"/":f=__dirname+"/",p=function(E,I){var D=Qa(E);return D?I?D:D.toString():(y||(y=z5),b||(b=require("path")),E=b.normalize(E),y.readFileSync(E,I?null:"utf8"))},m=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),X(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),a=process.argv.slice(2),c=function(d){process.exit(d)},r.inspect=function(){return"[Emscripten Module object]"});var S=r.print||console.log.bind(console),k=r.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(r[o]=s[o]);s=null,r.arguments&&(a=r.arguments),r.thisProgram&&(l=r.thisProgram),r.quit&&(c=r.quit);var T=16;function Y(d,E){return E||(E=T),Math.ceil(d/E)*E}var j=0,Z=function(d){j=d},J;r.wasmBinary&&(J=r.wasmBinary);var re=r.noExitRuntime||!0;typeof WebAssembly!="object"&&Sr("no native wasm support detected");function ee(d,E,I){switch(E=E||"i8",E.charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":return de[d>>0];case"i8":return de[d>>0];case"i16":return Qe[d>>1];case"i32":return fe[d>>2];case"i64":return fe[d>>2];case"float":return Ht[d>>2];case"double":return Mt[d>>3];default:Sr("invalid type for getValue: "+E)}return null}var A,oe=!1,le;function X(d,E){d||Sr("Assertion failed: "+E)}function O(d){var E=r["_"+d];return X(E,"Cannot call unknown function "+d+", make sure it is exported"),E}function L(d,E,I,D,M){var _={string:function(nt){var It=0;if(nt!=null&&nt!==0){var ke=(nt.length<<2)+1;It=B(ke),be(nt,It,ke)}return It},array:function(nt){var It=B(nt.length);return Ue(nt,It),It}};function ne(nt){return E==="string"?te(nt):E==="boolean"?Boolean(nt):nt}var Be=O(d),Ee=[],_e=0;if(D)for(var ot=0;ot=D);)++M;if(M-E>16&&d.subarray&&Ce)return Ce.decode(d.subarray(E,M));for(var _="";E>10,56320|_e&1023)}}return _}function te(d,E){return d?Oe(V,d,E):""}function se(d,E,I,D){if(!(D>0))return 0;for(var M=I,_=I+D-1,ne=0;ne=55296&&Be<=57343){var Ee=d.charCodeAt(++ne);Be=65536+((Be&1023)<<10)|Ee&1023}if(Be<=127){if(I>=_)break;E[I++]=Be}else if(Be<=2047){if(I+1>=_)break;E[I++]=192|Be>>6,E[I++]=128|Be&63}else if(Be<=65535){if(I+2>=_)break;E[I++]=224|Be>>12,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}else{if(I+3>=_)break;E[I++]=240|Be>>18,E[I++]=128|Be>>12&63,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}}return E[I]=0,I-M}function be(d,E,I){return se(d,V,E,I)}function he(d){for(var E=0,I=0;I=55296&&D<=57343&&(D=65536+((D&1023)<<10)|d.charCodeAt(++I)&1023),D<=127?++E:D<=2047?E+=2:D<=65535?E+=3:E+=4}return E}function Fe(d){var E=he(d)+1,I=Et(E);return I&&se(d,de,I,E),I}function Ue(d,E){de.set(d,E)}function xe(d,E){return d%E>0&&(d+=E-d%E),d}var Se,de,V,Qe,ce,fe,gt,Ht,Mt;function mi(d){Se=d,r.HEAP8=de=new Int8Array(d),r.HEAP16=Qe=new Int16Array(d),r.HEAP32=fe=new Int32Array(d),r.HEAPU8=V=new Uint8Array(d),r.HEAPU16=ce=new Uint16Array(d),r.HEAPU32=gt=new Uint32Array(d),r.HEAPF32=Ht=new Float32Array(d),r.HEAPF64=Mt=new Float64Array(d)}var Gt=r.INITIAL_MEMORY||16777216,Qr,Ti=[],Vs=[],Un=[],Hn=!1;function vr(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)ya(r.preRun.shift());ko(Ti)}function Gn(){Hn=!0,!r.noFSInit&&!v.init.initialized&&v.init(),hs.init(),ko(Vs)}function gs(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Ru(r.postRun.shift());ko(Un)}function ya(d){Ti.unshift(d)}function kA(d){Vs.unshift(d)}function Ru(d){Un.unshift(d)}var fs=0,xA=null,wa=null;function Fu(d){return d}function PA(d){fs++,r.monitorRunDependencies&&r.monitorRunDependencies(fs)}function DA(d){if(fs--,r.monitorRunDependencies&&r.monitorRunDependencies(fs),fs==0&&(xA!==null&&(clearInterval(xA),xA=null),wa)){var E=wa;wa=null,E()}}r.preloadedImages={},r.preloadedAudios={};function Sr(d){r.onAbort&&r.onAbort(d),d+="",k(d),oe=!0,le=1,d="abort("+d+"). Build with -s ASSERTIONS=1 for more info.";var E=new WebAssembly.RuntimeError(d);throw n(E),E}var jl="data:application/octet-stream;base64,";function Nu(d){return d.startsWith(jl)}var So="data:application/octet-stream;base64,AGFzbQEAAAABlAInYAF/AX9gA39/fwF/YAF/AGACf38Bf2ACf38AYAV/f39/fwF/YAR/f39/AX9gA39/fwBgBH9+f38Bf2AAAX9gBX9/f35/AX5gA39+fwF/YAF/AX5gAn9+AX9gBH9/fn8BfmADf35/AX5gA39/fgF/YAR/f35/AX9gBn9/f39/fwF/YAR/f39/AGADf39+AX5gAn5/AX9gA398fwBgBH9/f38BfmADf39/AX5gBn98f39/fwF/YAV/f35/fwF/YAV/fn9/fwF/YAV/f39/fwBgAn9+AGACf38BfmACf3wAYAh/fn5/f39+fwF/YAV/f39+fwBgAABgBX5+f35/AX5gBX9/f39/AX5gAnx/AXxgAn9+AX4CeRQBYQFhAAIBYQFiAAABYQFjAAMBYQFkAAYBYQFlAAEBYQFmAAABYQFnAAYBYQFoAAABYQFpAAMBYQFqAAMBYQFrAAMBYQFsAAEBYQFtAAABYQFuAAUBYQFvAAEBYQFwAAMBYQFxAAEBYQFyAAABYQFzAAMBYQF0AAADggKAAgcCAgQAAQECAgANBA4EBwICAhwLEw0AFA0dAAAMDAIHHgwQAgIDAwICAQAIAAcIFBUEBgAADAAECAgDAQYAAgIBBgAfFwEBAwITAiAPBgIFEQMFAxgBCAIBAAAHBQEYABoSAQIABwQDIREIAyIGAAEBAwMAIwUbASQHAQsVAQMABQMEAA0bFw0BBAALCwMDDAwAAwAHJQMBAAgaAQECBQMBAgMDAAcHBwICAgImEQsICAsECQoJAgAAAAAAAAkFAAUFBQEGAwYGBgUSBgYBARIBAAIJBgABDgABAQ8ACQEEGQkJCQAAAAMECgoBAQIQAAAAAgEDAwAEAQoFAA4ACQAEBQFwAR8fBQcBAYACgIACBgkBfwFB0KDBAgsHvgI8AXUCAAF2AIABAXcAkwIBeADjAQF5APEBAXoA0QEBQQDQAQFCAM8BAUMAzgEBRADMAQFFAMsBAUYAyQEBRwCSAgFIAJECAUkAjwIBSgCKAgFLAOkBAUwA4gEBTQDhAQFOADwBTwD8AQFQAPkBAVEA+AEBUgDwAQFTAPoBAVQA4AEBVQAVAVYAGAFXAMcBAVgAzQEBWQDfAQFaAN4BAV8A3QEBJADkAQJhYQDcAQJiYQDbAQJjYQDaAQJkYQDZAQJlYQDYAQJmYQDXAQJnYQDqAQJoYQCcAQJpYQDWAQJqYQDVAQJrYQDUAQJsYQAvAm1hABsCbmEAygECb2EASAJwYQEAAnFhAGcCcmEA0wECc2EA6AECdGEA0gECdWEA9wECdmEA9gECd2EA9QECeGEA5wECeWEA5gECemEA5QEJQQEAQQELHsgBkAKNAo4CjAKLArcBiQKIAocChgKFAoQCgwKCAoECgAL/Af4B/QH7AVv0AfMB8gHvAe4B7QHsAesBCu+QCYACQAEBfyMAQRBrIgMgADYCDCADIAE2AgggAyACNgIEIAMoAgwEQCADKAIMIAMoAgg2AgAgAygCDCADKAIENgIECwvMDAEHfwJAIABFDQAgAEEIayIDIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgFrIgNB9JsBKAIASQ0BIAAgAWohACADQfibASgCAEcEQCABQf8BTQRAIAMoAggiAiABQQN2IgRBA3RBjJwBakYaIAIgAygCDCIBRgRAQeSbAUHkmwEoAgBBfiAEd3E2AgAMAwsgAiABNgIMIAEgAjYCCAwCCyADKAIYIQYCQCADIAMoAgwiAUcEQCADKAIIIgIgATYCDCABIAI2AggMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAQJAIAMgAygCHCICQQJ0QZSeAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQeibAUHomwEoAgBBfiACd3E2AgAMAwsgBkEQQRQgBigCECADRhtqIAE2AgAgAUUNAgsgASAGNgIYIAMoAhAiAgRAIAEgAjYCECACIAE2AhgLIAMoAhQiAkUNASABIAI2AhQgAiABNgIYDAELIAUoAgQiAUEDcUEDRw0AQeybASAANgIAIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADwsgAyAFTw0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEAgBUH8mwEoAgBGBEBB/JsBIAM2AgBB8JsBQfCbASgCACAAaiIANgIAIAMgAEEBcjYCBCADQfibASgCAEcNA0HsmwFBADYCAEH4mwFBADYCAA8LIAVB+JsBKAIARgRAQfibASADNgIAQeybAUHsmwEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSAAaiEAAkAgAUH/AU0EQCAFKAIIIgIgAUEDdiIEQQN0QYycAWpGGiACIAUoAgwiAUYEQEHkmwFB5JsBKAIAQX4gBHdxNgIADAILIAIgATYCDCABIAI2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgFHBEAgBSgCCCICQfSbASgCAEkaIAIgATYCDCABIAI2AggMAQsCQCAFQRRqIgIoAgAiBA0AIAVBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCICQQJ0QZSeAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQeibAUHomwEoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAE2AgAgAUUNAQsgASAGNgIYIAUoAhAiAgRAIAEgAjYCECACIAE2AhgLIAUoAhQiAkUNACABIAI2AhQgAiABNgIYCyADIABBAXI2AgQgACADaiAANgIAIANB+JsBKAIARw0BQeybASAANgIADwsgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgALIABB/wFNBEAgAEEDdiIBQQN0QYycAWohAAJ/QeSbASgCACICQQEgAXQiAXFFBEBB5JsBIAEgAnI2AgAgAAwBCyAAKAIICyECIAAgAzYCCCACIAM2AgwgAyAANgIMIAMgAjYCCA8LQR8hAiADQgA3AhAgAEH///8HTQRAIABBCHYiASABQYD+P2pBEHZBCHEiAXQiAiACQYDgH2pBEHZBBHEiAnQiBCAEQYCAD2pBEHZBAnEiBHRBD3YgASACciAEcmsiAUEBdCAAIAFBFWp2QQFxckEcaiECCyADIAI2AhwgAkECdEGUngFqIQECQAJAAkBB6JsBKAIAIgRBASACdCIHcUUEQEHomwEgBCAHcjYCACABIAM2AgAgAyABNgIYDAELIABBAEEZIAJBAXZrIAJBH0YbdCECIAEoAgAhAQNAIAEiBCgCBEF4cSAARg0CIAJBHXYhASACQQF0IQIgBCABQQRxaiIHQRBqKAIAIgENAAsgByADNgIQIAMgBDYCGAsgAyADNgIMIAMgAzYCCAwBCyAEKAIIIgAgAzYCDCAEIAM2AgggA0EANgIYIAMgBDYCDCADIAA2AggLQYScAUGEnAEoAgBBAWsiAEF/IAAbNgIACwtCAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDC0AAUEBcQRAIAEoAgwoAgQQFQsgASgCDBAVCyABQRBqJAALQwEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAIoAgwCfyMAQRBrIgAgAigCCDYCDCAAKAIMQQxqCxBFIAJBEGokAAuiLgEMfyMAQRBrIgwkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQeSbASgCACIFQRAgAEELakF4cSAAQQtJGyIIQQN2IgJ2IgFBA3EEQCABQX9zQQFxIAJqIgNBA3QiAUGUnAFqKAIAIgRBCGohAAJAIAQoAggiAiABQYycAWoiAUYEQEHkmwEgBUF+IAN3cTYCAAwBCyACIAE2AgwgASACNgIICyAEIANBA3QiAUEDcjYCBCABIARqIgEgASgCBEEBcjYCBAwNCyAIQeybASgCACIKTQ0BIAEEQAJAQQIgAnQiAEEAIABrciABIAJ0cSIAQQAgAGtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmoiA0EDdCIAQZScAWooAgAiBCgCCCIBIABBjJwBaiIARgRAQeSbASAFQX4gA3dxIgU2AgAMAQsgASAANgIMIAAgATYCCAsgBEEIaiEAIAQgCEEDcjYCBCAEIAhqIgIgA0EDdCIBIAhrIgNBAXI2AgQgASAEaiADNgIAIAoEQCAKQQN2IgFBA3RBjJwBaiEHQfibASgCACEEAn8gBUEBIAF0IgFxRQRAQeSbASABIAVyNgIAIAcMAQsgBygCCAshASAHIAQ2AgggASAENgIMIAQgBzYCDCAEIAE2AggLQfibASACNgIAQeybASADNgIADA0LQeibASgCACIGRQ0BIAZBACAGa3FBAWsiACAAQQx2QRBxIgJ2IgFBBXZBCHEiACACciABIAB2IgFBAnZBBHEiAHIgASAAdiIBQQF2QQJxIgByIAEgAHYiAUEBdkEBcSIAciABIAB2akECdEGUngFqKAIAIgEoAgRBeHEgCGshAyABIQIDQAJAIAIoAhAiAEUEQCACKAIUIgBFDQELIAAoAgRBeHEgCGsiAiADIAIgA0kiAhshAyAAIAEgAhshASAAIQIMAQsLIAEgCGoiCSABTQ0CIAEoAhghCyABIAEoAgwiBEcEQCABKAIIIgBB9JsBKAIASRogACAENgIMIAQgADYCCAwMCyABQRRqIgIoAgAiAEUEQCABKAIQIgBFDQQgAUEQaiECCwNAIAIhByAAIgRBFGoiAigCACIADQAgBEEQaiECIAQoAhAiAA0ACyAHQQA2AgAMCwtBfyEIIABBv39LDQAgAEELaiIAQXhxIQhB6JsBKAIAIglFDQBBACAIayEDAkACQAJAAn9BACAIQYACSQ0AGkEfIAhB////B0sNABogAEEIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAggAEEVanZBAXFyQRxqCyIFQQJ0QZSeAWooAgAiAkUEQEEAIQAMAQtBACEAIAhBAEEZIAVBAXZrIAVBH0YbdCEBA0ACQCACKAIEQXhxIAhrIgcgA08NACACIQQgByIDDQBBACEDIAIhAAwDCyAAIAIoAhQiByAHIAIgAUEddkEEcWooAhAiAkYbIAAgBxshACABQQF0IQEgAg0ACwsgACAEckUEQEECIAV0IgBBACAAa3IgCXEiAEUNAyAAQQAgAGtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmpBAnRBlJ4BaigCACEACyAARQ0BCwNAIAAoAgRBeHEgCGsiASADSSECIAEgAyACGyEDIAAgBCACGyEEIAAoAhAiAQR/IAEFIAAoAhQLIgANAAsLIARFDQAgA0HsmwEoAgAgCGtPDQAgBCAIaiIGIARNDQEgBCgCGCEFIAQgBCgCDCIBRwRAIAQoAggiAEH0mwEoAgBJGiAAIAE2AgwgASAANgIIDAoLIARBFGoiAigCACIARQRAIAQoAhAiAEUNBCAEQRBqIQILA0AgAiEHIAAiAUEUaiICKAIAIgANACABQRBqIQIgASgCECIADQALIAdBADYCAAwJCyAIQeybASgCACICTQRAQfibASgCACEDAkAgAiAIayIBQRBPBEBB7JsBIAE2AgBB+JsBIAMgCGoiADYCACAAIAFBAXI2AgQgAiADaiABNgIAIAMgCEEDcjYCBAwBC0H4mwFBADYCAEHsmwFBADYCACADIAJBA3I2AgQgAiADaiIAIAAoAgRBAXI2AgQLIANBCGohAAwLCyAIQfCbASgCACIGSQRAQfCbASAGIAhrIgE2AgBB/JsBQfybASgCACICIAhqIgA2AgAgACABQQFyNgIEIAIgCEEDcjYCBCACQQhqIQAMCwtBACEAIAhBL2oiCQJ/QbyfASgCAARAQcSfASgCAAwBC0HInwFCfzcCAEHAnwFCgKCAgICABDcCAEG8nwEgDEEMakFwcUHYqtWqBXM2AgBB0J8BQQA2AgBBoJ8BQQA2AgBBgCALIgFqIgVBACABayIHcSICIAhNDQpBnJ8BKAIAIgQEQEGUnwEoAgAiAyACaiIBIANNDQsgASAESw0LC0GgnwEtAABBBHENBQJAAkBB/JsBKAIAIgMEQEGknwEhAANAIAMgACgCACIBTwRAIAEgACgCBGogA0sNAwsgACgCCCIADQALC0EAED4iAUF/Rg0GIAIhBUHAnwEoAgAiA0EBayIAIAFxBEAgAiABayAAIAFqQQAgA2txaiEFCyAFIAhNDQYgBUH+////B0sNBkGcnwEoAgAiBARAQZSfASgCACIDIAVqIgAgA00NByAAIARLDQcLIAUQPiIAIAFHDQEMCAsgBSAGayAHcSIFQf7///8HSw0FIAUQPiIBIAAoAgAgACgCBGpGDQQgASEACwJAIABBf0YNACAIQTBqIAVNDQBBxJ8BKAIAIgEgCSAFa2pBACABa3EiAUH+////B0sEQCAAIQEMCAsgARA+QX9HBEAgASAFaiEFIAAhAQwIC0EAIAVrED4aDAULIAAiAUF/Rw0GDAQLAAtBACEEDAcLQQAhAQwFCyABQX9HDQILQaCfAUGgnwEoAgBBBHI2AgALIAJB/v///wdLDQEgAhA+IQFBABA+IQAgAUF/Rg0BIABBf0YNASAAIAFNDQEgACABayIFIAhBKGpNDQELQZSfAUGUnwEoAgAgBWoiADYCAEGYnwEoAgAgAEkEQEGYnwEgADYCAAsCQAJAAkBB/JsBKAIAIgcEQEGknwEhAANAIAEgACgCACIDIAAoAgQiAmpGDQIgACgCCCIADQALDAILQfSbASgCACIAQQAgACABTRtFBEBB9JsBIAE2AgALQQAhAEGonwEgBTYCAEGknwEgATYCAEGEnAFBfzYCAEGInAFBvJ8BKAIANgIAQbCfAUEANgIAA0AgAEEDdCIDQZScAWogA0GMnAFqIgI2AgAgA0GYnAFqIAI2AgAgAEEBaiIAQSBHDQALQfCbASAFQShrIgNBeCABa0EHcUEAIAFBCGpBB3EbIgBrIgI2AgBB/JsBIAAgAWoiADYCACAAIAJBAXI2AgQgASADakEoNgIEQYCcAUHMnwEoAgA2AgAMAgsgAC0ADEEIcQ0AIAMgB0sNACABIAdNDQAgACACIAVqNgIEQfybASAHQXggB2tBB3FBACAHQQhqQQdxGyIAaiICNgIAQfCbAUHwmwEoAgAgBWoiASAAayIANgIAIAIgAEEBcjYCBCABIAdqQSg2AgRBgJwBQcyfASgCADYCAAwBC0H0mwEoAgAgAUsEQEH0mwEgATYCAAsgASAFaiECQaSfASEAAkACQAJAAkACQAJAA0AgAiAAKAIARwRAIAAoAggiAA0BDAILCyAALQAMQQhxRQ0BC0GknwEhAANAIAcgACgCACICTwRAIAIgACgCBGoiBCAHSw0DCyAAKAIIIQAMAAsACyAAIAE2AgAgACAAKAIEIAVqNgIEIAFBeCABa0EHcUEAIAFBCGpBB3EbaiIJIAhBA3I2AgQgAkF4IAJrQQdxQQAgAkEIakEHcRtqIgUgCCAJaiIGayECIAUgB0YEQEH8mwEgBjYCAEHwmwFB8JsBKAIAIAJqIgA2AgAgBiAAQQFyNgIEDAMLIAVB+JsBKAIARgRAQfibASAGNgIAQeybAUHsmwEoAgAgAmoiADYCACAGIABBAXI2AgQgACAGaiAANgIADAMLIAUoAgQiAEEDcUEBRgRAIABBeHEhBwJAIABB/wFNBEAgBSgCCCIDIABBA3YiAEEDdEGMnAFqRhogAyAFKAIMIgFGBEBB5JsBQeSbASgCAEF+IAB3cTYCAAwCCyADIAE2AgwgASADNgIIDAELIAUoAhghCAJAIAUgBSgCDCIBRwRAIAUoAggiACABNgIMIAEgADYCCAwBCwJAIAVBFGoiACgCACIDDQAgBUEQaiIAKAIAIgMNAEEAIQEMAQsDQCAAIQQgAyIBQRRqIgAoAgAiAw0AIAFBEGohACABKAIQIgMNAAsgBEEANgIACyAIRQ0AAkAgBSAFKAIcIgNBAnRBlJ4BaiIAKAIARgRAIAAgATYCACABDQFB6JsBQeibASgCAEF+IAN3cTYCAAwCCyAIQRBBFCAIKAIQIAVGG2ogATYCACABRQ0BCyABIAg2AhggBSgCECIABEAgASAANgIQIAAgATYCGAsgBSgCFCIARQ0AIAEgADYCFCAAIAE2AhgLIAUgB2ohBSACIAdqIQILIAUgBSgCBEF+cTYCBCAGIAJBAXI2AgQgAiAGaiACNgIAIAJB/wFNBEAgAkEDdiIAQQN0QYycAWohAgJ/QeSbASgCACIBQQEgAHQiAHFFBEBB5JsBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwDC0EfIQAgAkH///8HTQRAIAJBCHYiACAAQYD+P2pBEHZBCHEiA3QiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASADciAAcmsiAEEBdCACIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRBlJ4BaiEEAkBB6JsBKAIAIgNBASAAdCIBcUUEQEHomwEgASADcjYCACAEIAY2AgAgBiAENgIYDAELIAJBAEEZIABBAXZrIABBH0YbdCEAIAQoAgAhAQNAIAEiAygCBEF4cSACRg0DIABBHXYhASAAQQF0IQAgAyABQQRxaiIEKAIQIgENAAsgBCAGNgIQIAYgAzYCGAsgBiAGNgIMIAYgBjYCCAwCC0HwmwEgBUEoayIDQXggAWtBB3FBACABQQhqQQdxGyIAayICNgIAQfybASAAIAFqIgA2AgAgACACQQFyNgIEIAEgA2pBKDYCBEGAnAFBzJ8BKAIANgIAIAcgBEEnIARrQQdxQQAgBEEna0EHcRtqQS9rIgAgACAHQRBqSRsiAkEbNgIEIAJBrJ8BKQIANwIQIAJBpJ8BKQIANwIIQayfASACQQhqNgIAQaifASAFNgIAQaSfASABNgIAQbCfAUEANgIAIAJBGGohAANAIABBBzYCBCAAQQhqIQEgAEEEaiEAIAEgBEkNAAsgAiAHRg0DIAIgAigCBEF+cTYCBCAHIAIgB2siBEEBcjYCBCACIAQ2AgAgBEH/AU0EQCAEQQN2IgBBA3RBjJwBaiECAn9B5JsBKAIAIgFBASAAdCIAcUUEQEHkmwEgACABcjYCACACDAELIAIoAggLIQAgAiAHNgIIIAAgBzYCDCAHIAI2AgwgByAANgIIDAQLQR8hACAHQgA3AhAgBEH///8HTQRAIARBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCAEIABBFWp2QQFxckEcaiEACyAHIAA2AhwgAEECdEGUngFqIQMCQEHomwEoAgAiAkEBIAB0IgFxRQRAQeibASABIAJyNgIAIAMgBzYCACAHIAM2AhgMAQsgBEEAQRkgAEEBdmsgAEEfRht0IQAgAygCACEBA0AgASICKAIEQXhxIARGDQQgAEEddiEBIABBAXQhACACIAFBBHFqIgMoAhAiAQ0ACyADIAc2AhAgByACNgIYCyAHIAc2AgwgByAHNgIIDAMLIAMoAggiACAGNgIMIAMgBjYCCCAGQQA2AhggBiADNgIMIAYgADYCCAsgCUEIaiEADAULIAIoAggiACAHNgIMIAIgBzYCCCAHQQA2AhggByACNgIMIAcgADYCCAtB8JsBKAIAIgAgCE0NAEHwmwEgACAIayIBNgIAQfybAUH8mwEoAgAiAiAIaiIANgIAIAAgAUEBcjYCBCACIAhBA3I2AgQgAkEIaiEADAMLQbSbAUEwNgIAQQAhAAwCCwJAIAVFDQACQCAEKAIcIgJBAnRBlJ4BaiIAKAIAIARGBEAgACABNgIAIAENAUHomwEgCUF+IAJ3cSIJNgIADAILIAVBEEEUIAUoAhAgBEYbaiABNgIAIAFFDQELIAEgBTYCGCAEKAIQIgAEQCABIAA2AhAgACABNgIYCyAEKAIUIgBFDQAgASAANgIUIAAgATYCGAsCQCADQQ9NBEAgBCADIAhqIgBBA3I2AgQgACAEaiIAIAAoAgRBAXI2AgQMAQsgBCAIQQNyNgIEIAYgA0EBcjYCBCADIAZqIAM2AgAgA0H/AU0EQCADQQN2IgBBA3RBjJwBaiECAn9B5JsBKAIAIgFBASAAdCIAcUUEQEHkmwEgACABcjYCACACDAELIAIoAggLIQAgAiAGNgIIIAAgBjYCDCAGIAI2AgwgBiAANgIIDAELQR8hACADQf///wdNBEAgA0EIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAMgAEEVanZBAXFyQRxqIQALIAYgADYCHCAGQgA3AhAgAEECdEGUngFqIQICQAJAIAlBASAAdCIBcUUEQEHomwEgASAJcjYCACACIAY2AgAgBiACNgIYDAELIANBAEEZIABBAXZrIABBH0YbdCEAIAIoAgAhCANAIAgiASgCBEF4cSADRg0CIABBHXYhAiAAQQF0IQAgASACQQRxaiICKAIQIggNAAsgAiAGNgIQIAYgATYCGAsgBiAGNgIMIAYgBjYCCAwBCyABKAIIIgAgBjYCDCABIAY2AgggBkEANgIYIAYgATYCDCAGIAA2AggLIARBCGohAAwBCwJAIAtFDQACQCABKAIcIgJBAnRBlJ4BaiIAKAIAIAFGBEAgACAENgIAIAQNAUHomwEgBkF+IAJ3cTYCAAwCCyALQRBBFCALKAIQIAFGG2ogBDYCACAERQ0BCyAEIAs2AhggASgCECIABEAgBCAANgIQIAAgBDYCGAsgASgCFCIARQ0AIAQgADYCFCAAIAQ2AhgLAkAgA0EPTQRAIAEgAyAIaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAELIAEgCEEDcjYCBCAJIANBAXI2AgQgAyAJaiADNgIAIAoEQCAKQQN2IgBBA3RBjJwBaiEEQfibASgCACECAn9BASAAdCIAIAVxRQRAQeSbASAAIAVyNgIAIAQMAQsgBCgCCAshACAEIAI2AgggACACNgIMIAIgBDYCDCACIAA2AggLQfibASAJNgIAQeybASADNgIACyABQQhqIQALIAxBEGokACAAC4MEAQN/IAJBgARPBEAgACABIAIQCxogAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCAAQQNxRQRAIAAhAgwBCyACQQFIBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAvBGAECfyMAQRBrIgQkACAEIAA2AgwgBCABNgIIIAQgAjYCBCAEKAIMIQAgBCgCCCECIAQoAgQhAyMAQSBrIgEkACABIAA2AhggASACNgIUIAEgAzYCEAJAIAEoAhRFBEAgAUEANgIcDAELIAFBATYCDCABLQAMBEAgASgCFCECIAEoAhAhAyMAQSBrIgAgASgCGDYCHCAAIAI2AhggACADNgIUIAAgACgCHDYCECAAIAAoAhBBf3M2AhADQCAAKAIUBH8gACgCGEEDcUEARwVBAAtBAXEEQCAAKAIQIQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQf8BcUECdEGgGWooAgAgACgCEEEIdnM2AhAgACAAKAIUQQFrNgIUDAELCyAAIAAoAhg2AgwDQCAAKAIUQSBPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIUQSBrNgIUDAELCwNAIAAoAhRBBE8EQCAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QaAZaigCACAAKAIQQRB2Qf8BcUECdEGgIWooAgAgACgCEEH/AXFBAnRBoDFqKAIAIAAoAhBBCHZB/wFxQQJ0QaApaigCAHNzczYCECAAIAAoAhRBBGs2AhQMAQsLIAAgACgCDDYCGCAAKAIUBEADQCAAKAIQIQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQf8BcUECdEGgGWooAgAgACgCEEEIdnM2AhAgACAAKAIUQQFrIgI2AhQgAg0ACwsgACAAKAIQQX9zNgIQIAEgACgCEDYCHAwBCyABKAIUIQIgASgCECEDIwBBIGsiACABKAIYNgIcIAAgAjYCGCAAIAM2AhQgACAAKAIcQQh2QYD+A3EgACgCHEEYdmogACgCHEGA/gNxQQh0aiAAKAIcQf8BcUEYdGo2AhAgACAAKAIQQX9zNgIQA0AgACgCFAR/IAAoAhhBA3FBAEcFQQALQQFxBEAgACgCEEEYdiECIAAgACgCGCIDQQFqNgIYIAAgAy0AACACc0ECdEGgOWooAgAgACgCEEEIdHM2AhAgACAAKAIUQQFrNgIUDAELCyAAIAAoAhg2AgwDQCAAKAIUQSBPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIUQSBrNgIUDAELCwNAIAAoAhRBBE8EQCAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QaDRAGooAgAgACgCEEEQdkH/AXFBAnRBoMkAaigCACAAKAIQQf8BcUECdEGgOWooAgAgACgCEEEIdkH/AXFBAnRBoMEAaigCAHNzczYCECAAIAAoAhRBBGs2AhQMAQsLIAAgACgCDDYCGCAAKAIUBEADQCAAKAIQQRh2IQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQQJ0QaA5aigCACAAKAIQQQh0czYCECAAIAAoAhRBAWsiAjYCFCACDQALCyAAIAAoAhBBf3M2AhAgASAAKAIQQQh2QYD+A3EgACgCEEEYdmogACgCEEGA/gNxQQh0aiAAKAIQQf8BcUEYdGo2AhwLIAEoAhwhACABQSBqJAAgBEEQaiQAIAAL7AIBAn8jAEEQayIBJAAgASAANgIMAkAgASgCDEUNACABKAIMKAIwBEAgASgCDCIAIAAoAjBBAWs2AjALIAEoAgwoAjANACABKAIMKAIgBEAgASgCDEEBNgIgIAEoAgwQLxoLIAEoAgwoAiRBAUYEQCABKAIMEGILAkAgASgCDCgCLEUNACABKAIMLQAoQQFxDQAgASgCDCECIwBBEGsiACABKAIMKAIsNgIMIAAgAjYCCCAAQQA2AgQDQCAAKAIEIAAoAgwoAkRJBEAgACgCDCgCTCAAKAIEQQJ0aigCACAAKAIIRgRAIAAoAgwoAkwgACgCBEECdGogACgCDCgCTCAAKAIMKAJEQQFrQQJ0aigCADYCACAAKAIMIgAgACgCREEBazYCRAUgACAAKAIEQQFqNgIEDAILCwsLIAEoAgxBAEIAQQUQIBogASgCDCgCAARAIAEoAgwoAgAQGwsgASgCDBAVCyABQRBqJAALnwIBAn8jAEEQayIBJAAgASAANgIMIAEgASgCDCgCHDYCBCABKAIEIQIjAEEQayIAJAAgACACNgIMIAAoAgwQvAEgAEEQaiQAIAEgASgCBCgCFDYCCCABKAIIIAEoAgwoAhBLBEAgASABKAIMKAIQNgIICwJAIAEoAghFDQAgASgCDCgCDCABKAIEKAIQIAEoAggQGRogASgCDCIAIAEoAgggACgCDGo2AgwgASgCBCIAIAEoAgggACgCEGo2AhAgASgCDCIAIAEoAgggACgCFGo2AhQgASgCDCIAIAAoAhAgASgCCGs2AhAgASgCBCIAIAAoAhQgASgCCGs2AhQgASgCBCgCFA0AIAEoAgQgASgCBCgCCDYCEAsgAUEQaiQAC2ABAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEICEB42AgQCQCABKAIERQRAIAFBADsBDgwBCyABIAEoAgQtAAAgASgCBC0AAUEIdGo7AQ4LIAEvAQ4hACABQRBqJAAgAAvpAQEBfyMAQSBrIgIkACACIAA2AhwgAiABNwMQIAIpAxAhASMAQSBrIgAgAigCHDYCGCAAIAE3AxACQAJAAkAgACgCGC0AAEEBcUUNACAAKQMQIAAoAhgpAxAgACkDEHxWDQAgACgCGCkDCCAAKAIYKQMQIAApAxB8Wg0BCyAAKAIYQQA6AAAgAEEANgIcDAELIAAgACgCGCgCBCAAKAIYKQMQp2o2AgwgACAAKAIMNgIcCyACIAAoAhw2AgwgAigCDARAIAIoAhwiACACKQMQIAApAxB8NwMQCyACKAIMIQAgAkEgaiQAIAALbwEBfyMAQRBrIgIkACACIAA2AgggAiABOwEGIAIgAigCCEICEB42AgACQCACKAIARQRAIAJBfzYCDAwBCyACKAIAIAIvAQY6AAAgAigCACACLwEGQQh2OgABIAJBADYCDAsgAigCDBogAkEQaiQAC7YCAQF/IwBBMGsiBCQAIAQgADYCJCAEIAE2AiAgBCACNwMYIAQgAzYCFAJAIAQoAiQpAxhCASAEKAIUrYaDUARAIAQoAiRBDGpBHEEAEBQgBEJ/NwMoDAELAkAgBCgCJCgCAEUEQCAEIAQoAiQoAgggBCgCICAEKQMYIAQoAhQgBCgCJCgCBBEOADcDCAwBCyAEIAQoAiQoAgAgBCgCJCgCCCAEKAIgIAQpAxggBCgCFCAEKAIkKAIEEQoANwMICyAEKQMIQgBTBEACQCAEKAIUQQRGDQAgBCgCFEEORg0AAkAgBCgCJCAEQghBBBAgQgBTBEAgBCgCJEEMakEUQQAQFAwBCyAEKAIkQQxqIAQoAgAgBCgCBBAUCwsLIAQgBCkDCDcDKAsgBCkDKCECIARBMGokACACC48BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQgAiACKAIIQgQQHjYCAAJAIAIoAgBFBEAgAkF/NgIMDAELIAIoAgAgAigCBDoAACACKAIAIAIoAgRBCHY6AAEgAigCACACKAIEQRB2OgACIAIoAgAgAigCBEEYdjoAAyACQQA2AgwLIAIoAgwaIAJBEGokAAsXACAALQAAQSBxRQRAIAEgAiAAEHEaCwtQAQF/IwBBEGsiASQAIAEgADYCDANAIAEoAgwEQCABIAEoAgwoAgA2AgggASgCDCgCDBAVIAEoAgwQFSABIAEoAgg2AgwMAQsLIAFBEGokAAs+AQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDCgCABAVIAEoAgwoAgwQFSABKAIMEBULIAFBEGokAAt9AQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgAUIANwMAA0AgASkDACABKAIMKQMIWkUEQCABKAIMKAIAIAEpAwCnQQR0ahB3IAEgASkDAEIBfDcDAAwBCwsgASgCDCgCABAVIAEoAgwoAigQJCABKAIMEBULIAFBEGokAAtuAQF/IwBBgAJrIgUkAAJAIARBgMAEcQ0AIAIgA0wNACAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIBGxAzIAFFBEADQCAAIAVBgAIQIiACQYACayICQf8BSw0ACwsgACAFIAIQIgsgBUGAAmokAAvRAQEBfyMAQTBrIgMkACADIAA2AiggAyABNwMgIAMgAjYCHAJAIAMoAigtAChBAXEEQCADQX82AiwMAQsCQCADKAIoKAIgBEAgAygCHEUNASADKAIcQQFGDQEgAygCHEECRg0BCyADKAIoQQxqQRJBABAUIANBfzYCLAwBCyADIAMpAyA3AwggAyADKAIcNgIQIAMoAiggA0EIakIQQQYQIEIAUwRAIANBfzYCLAwBCyADKAIoQQA6ADQgA0EANgIsCyADKAIsIQAgA0EwaiQAIAALmBcBAn8jAEEwayIEJAAgBCAANgIsIAQgATYCKCAEIAI2AiQgBCADNgIgIARBADYCFAJAIAQoAiwoAoQBQQBKBEAgBCgCLCgCACgCLEECRgRAIwBBEGsiACAEKAIsNgIIIABB/4D/n382AgQgAEEANgIAAkADQCAAKAIAQR9MBEACQCAAKAIEQQFxRQ0AIAAoAghBlAFqIAAoAgBBAnRqLwEARQ0AIABBADYCDAwDCyAAIAAoAgBBAWo2AgAgACAAKAIEQQF2NgIEDAELCwJAAkAgACgCCC8BuAENACAAKAIILwG8AQ0AIAAoAggvAcgBRQ0BCyAAQQE2AgwMAQsgAEEgNgIAA0AgACgCAEGAAkgEQCAAKAIIQZQBaiAAKAIAQQJ0ai8BAARAIABBATYCDAwDBSAAIAAoAgBBAWo2AgAMAgsACwsgAEEANgIMCyAAKAIMIQAgBCgCLCgCACAANgIsCyAEKAIsIAQoAixBmBZqEHogBCgCLCAEKAIsQaQWahB6IAQoAiwhASMAQRBrIgAkACAAIAE2AgwgACgCDCAAKAIMQZQBaiAAKAIMKAKcFhC6ASAAKAIMIAAoAgxBiBNqIAAoAgwoAqgWELoBIAAoAgwgACgCDEGwFmoQeiAAQRI2AggDQAJAIAAoAghBA0gNACAAKAIMQfwUaiAAKAIILQDgbEECdGovAQINACAAIAAoAghBAWs2AggMAQsLIAAoAgwiASABKAKoLSAAKAIIQQNsQRFqajYCqC0gACgCCCEBIABBEGokACAEIAE2AhQgBCAEKAIsKAKoLUEKakEDdjYCHCAEIAQoAiwoAqwtQQpqQQN2NgIYIAQoAhggBCgCHE0EQCAEIAQoAhg2AhwLDAELIAQgBCgCJEEFaiIANgIYIAQgADYCHAsCQAJAIAQoAhwgBCgCJEEEakkNACAEKAIoRQ0AIAQoAiwgBCgCKCAEKAIkIAQoAiAQXQwBCwJAAkAgBCgCLCgCiAFBBEcEQCAEKAIYIAQoAhxHDQELIARBAzYCEAJAIAQoAiwoArwtQRAgBCgCEGtKBEAgBCAEKAIgQQJqNgIMIAQoAiwiACAALwG4LSAEKAIMQf//A3EgBCgCLCgCvC10cjsBuC0gBCgCLC8BuC1B/wFxIQEgBCgCLCgCCCECIAQoAiwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCLC8BuC1BCHYhASAEKAIsKAIIIQIgBCgCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIsIAQoAgxB//8DcUEQIAQoAiwoArwta3U7AbgtIAQoAiwiACAAKAK8LSAEKAIQQRBrajYCvC0MAQsgBCgCLCIAIAAvAbgtIAQoAiBBAmpB//8DcSAEKAIsKAK8LXRyOwG4LSAEKAIsIgAgBCgCECAAKAK8LWo2ArwtCyAEKAIsQZDgAEGQ6QAQuwEMAQsgBEEDNgIIAkAgBCgCLCgCvC1BECAEKAIIa0oEQCAEIAQoAiBBBGo2AgQgBCgCLCIAIAAvAbgtIAQoAgRB//8DcSAEKAIsKAK8LXRyOwG4LSAEKAIsLwG4LUH/AXEhASAEKAIsKAIIIQIgBCgCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIsLwG4LUEIdiEBIAQoAiwoAgghAiAEKAIsIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAiwgBCgCBEH//wNxQRAgBCgCLCgCvC1rdTsBuC0gBCgCLCIAIAAoArwtIAQoAghBEGtqNgK8LQwBCyAEKAIsIgAgAC8BuC0gBCgCIEEEakH//wNxIAQoAiwoArwtdHI7AbgtIAQoAiwiACAEKAIIIAAoArwtajYCvC0LIAQoAiwhASAEKAIsKAKcFkEBaiECIAQoAiwoAqgWQQFqIQMgBCgCFEEBaiEFIwBBQGoiACQAIAAgATYCPCAAIAI2AjggACADNgI0IAAgBTYCMCAAQQU2AigCQCAAKAI8KAK8LUEQIAAoAihrSgRAIAAgACgCOEGBAms2AiQgACgCPCIBIAEvAbgtIAAoAiRB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8LwG4LUH/AXEhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8LwG4LUEIdiECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwgACgCJEH//wNxQRAgACgCPCgCvC1rdTsBuC0gACgCPCIBIAEoArwtIAAoAihBEGtqNgK8LQwBCyAAKAI8IgEgAS8BuC0gACgCOEGBAmtB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8IgEgACgCKCABKAK8LWo2ArwtCyAAQQU2AiACQCAAKAI8KAK8LUEQIAAoAiBrSgRAIAAgACgCNEEBazYCHCAAKAI8IgEgAS8BuC0gACgCHEH//wNxIAAoAjwoArwtdHI7AbgtIAAoAjwvAbgtQf8BcSECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwvAbgtQQh2IQIgACgCPCgCCCEDIAAoAjwiBSgCFCEBIAUgAUEBajYCFCABIANqIAI6AAAgACgCPCAAKAIcQf//A3FBECAAKAI8KAK8LWt1OwG4LSAAKAI8IgEgASgCvC0gACgCIEEQa2o2ArwtDAELIAAoAjwiASABLwG4LSAAKAI0QQFrQf//A3EgACgCPCgCvC10cjsBuC0gACgCPCIBIAAoAiAgASgCvC1qNgK8LQsgAEEENgIYAkAgACgCPCgCvC1BECAAKAIYa0oEQCAAIAAoAjBBBGs2AhQgACgCPCIBIAEvAbgtIAAoAhRB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8LwG4LUH/AXEhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8LwG4LUEIdiECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwgACgCFEH//wNxQRAgACgCPCgCvC1rdTsBuC0gACgCPCIBIAEoArwtIAAoAhhBEGtqNgK8LQwBCyAAKAI8IgEgAS8BuC0gACgCMEEEa0H//wNxIAAoAjwoArwtdHI7AbgtIAAoAjwiASAAKAIYIAEoArwtajYCvC0LIABBADYCLANAIAAoAiwgACgCMEgEQCAAQQM2AhACQCAAKAI8KAK8LUEQIAAoAhBrSgRAIAAgACgCPEH8FGogACgCLC0A4GxBAnRqLwECNgIMIAAoAjwiASABLwG4LSAAKAIMQf//A3EgACgCPCgCvC10cjsBuC0gACgCPC8BuC1B/wFxIQIgACgCPCgCCCEDIAAoAjwiBSgCFCEBIAUgAUEBajYCFCABIANqIAI6AAAgACgCPC8BuC1BCHYhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8IAAoAgxB//8DcUEQIAAoAjwoArwta3U7AbgtIAAoAjwiASABKAK8LSAAKAIQQRBrajYCvC0MAQsgACgCPCIBIAEvAbgtIAAoAjxB/BRqIAAoAiwtAOBsQQJ0ai8BAiAAKAI8KAK8LXRyOwG4LSAAKAI8IgEgACgCECABKAK8LWo2ArwtCyAAIAAoAixBAWo2AiwMAQsLIAAoAjwgACgCPEGUAWogACgCOEEBaxC5ASAAKAI8IAAoAjxBiBNqIAAoAjRBAWsQuQEgAEFAayQAIAQoAiwgBCgCLEGUAWogBCgCLEGIE2oQuwELCyAEKAIsEL4BIAQoAiAEQCAEKAIsEL0BCyAEQTBqJAAL1AEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhFOgAPAkAgAigCGEUEQCACIAIpAxCnEBgiADYCGCAARQRAIAJBADYCHAwCCwsgAkEYEBgiADYCCCAARQRAIAItAA9BAXEEQCACKAIYEBULIAJBADYCHAwBCyACKAIIQQE6AAAgAigCCCACKAIYNgIEIAIoAgggAikDEDcDCCACKAIIQgA3AxAgAigCCCACLQAPQQFxOgABIAIgAigCCDYCHAsgAigCHCEAIAJBIGokACAAC3gBAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEIEEB42AgQCQCABKAIERQRAIAFBADYCDAwBCyABIAEoAgQtAAAgASgCBC0AASABKAIELQACIAEoAgQtAANBCHRqQQh0akEIdGo2AgwLIAEoAgwhACABQRBqJAAgAAuHAwEBfyMAQTBrIgMkACADIAA2AiQgAyABNgIgIAMgAjcDGAJAIAMoAiQtAChBAXEEQCADQn83AygMAQsCQAJAIAMoAiQoAiBFDQAgAykDGEL///////////8AVg0AIAMpAxhQDQEgAygCIA0BCyADKAIkQQxqQRJBABAUIANCfzcDKAwBCyADKAIkLQA1QQFxBEAgA0J/NwMoDAELAn8jAEEQayIAIAMoAiQ2AgwgACgCDC0ANEEBcQsEQCADQgA3AygMAQsgAykDGFAEQCADQgA3AygMAQsgA0IANwMQA0AgAykDECADKQMYVARAIAMgAygCJCADKAIgIAMpAxCnaiADKQMYIAMpAxB9QQEQICICNwMIIAJCAFMEQCADKAIkQQE6ADUgAykDEFAEQCADQn83AygMBAsgAyADKQMQNwMoDAMLIAMpAwhQBEAgAygCJEEBOgA0BSADIAMpAwggAykDEHw3AxAMAgsLCyADIAMpAxA3AygLIAMpAyghAiADQTBqJAAgAgthAQF/IwBBEGsiAiAANgIIIAIgATcDAAJAIAIpAwAgAigCCCkDCFYEQCACKAIIQQA6AAAgAkF/NgIMDAELIAIoAghBAToAACACKAIIIAIpAwA3AxAgAkEANgIMCyACKAIMC+8BAQF/IwBBIGsiAiQAIAIgADYCGCACIAE3AxAgAiACKAIYQggQHjYCDAJAIAIoAgxFBEAgAkF/NgIcDAELIAIoAgwgAikDEEL/AYM8AAAgAigCDCACKQMQQgiIQv8BgzwAASACKAIMIAIpAxBCEIhC/wGDPAACIAIoAgwgAikDEEIYiEL/AYM8AAMgAigCDCACKQMQQiCIQv8BgzwABCACKAIMIAIpAxBCKIhC/wGDPAAFIAIoAgwgAikDEEIwiEL/AYM8AAYgAigCDCACKQMQQjiIQv8BgzwAByACQQA2AhwLIAIoAhwaIAJBIGokAAt/AQN/IAAhAQJAIABBA3EEQANAIAEtAABFDQIgAUEBaiIBQQNxDQALCwNAIAEiAkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC6YBAQF/IwBBEGsiASQAIAEgADYCCAJAIAEoAggoAiBFBEAgASgCCEEMakESQQAQFCABQX82AgwMAQsgASgCCCIAIAAoAiBBAWs2AiAgASgCCCgCIEUEQCABKAIIQQBCAEECECAaIAEoAggoAgAEQCABKAIIKAIAEC9BAEgEQCABKAIIQQxqQRRBABAUCwsLIAFBADYCDAsgASgCDCEAIAFBEGokACAACzYBAX8jAEEQayIBIAA2AgwCfiABKAIMLQAAQQFxBEAgASgCDCkDCCABKAIMKQMQfQwBC0IACwuyAQIBfwF+IwBBEGsiASQAIAEgADYCBCABIAEoAgRCCBAeNgIAAkAgASgCAEUEQCABQgA3AwgMAQsgASABKAIALQAArSABKAIALQAHrUI4hiABKAIALQAGrUIwhnwgASgCAC0ABa1CKIZ8IAEoAgAtAAStQiCGfCABKAIALQADrUIYhnwgASgCAC0AAq1CEIZ8IAEoAgAtAAGtQgiGfHw3AwgLIAEpAwghAiABQRBqJAAgAgvcAQEBfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAigEQCABKAIMKAIoQQA2AiggASgCDCgCKEIANwMgIAEoAgwCfiABKAIMKQMYIAEoAgwpAyBWBEAgASgCDCkDGAwBCyABKAIMKQMgCzcDGAsgASABKAIMKQMYNwMAA0AgASkDACABKAIMKQMIWkUEQCABKAIMKAIAIAEpAwCnQQR0aigCABAVIAEgASkDAEIBfDcDAAwBCwsgASgCDCgCABAVIAEoAgwoAgQQFSABKAIMEBULIAFBEGokAAvwAgICfwF+AkAgAkUNACAAIAJqIgNBAWsgAToAACAAIAE6AAAgAkEDSQ0AIANBAmsgAToAACAAIAE6AAEgA0EDayABOgAAIAAgAToAAiACQQdJDQAgA0EEayABOgAAIAAgAToAAyACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiADYCACADIAIgBGtBfHEiAmoiAUEEayAANgIAIAJBCUkNACADIAA2AgggAyAANgIEIAFBCGsgADYCACABQQxrIAA2AgAgAkEZSQ0AIAMgADYCGCADIAA2AhQgAyAANgIQIAMgADYCDCABQRBrIAA2AgAgAUEUayAANgIAIAFBGGsgADYCACABQRxrIAA2AgAgAiADQQRxQRhyIgFrIgJBIEkNACAArUKBgICAEH4hBSABIANqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBIGsiAkEfSw0ACwsLawEBfyMAQSBrIgIgADYCHCACQgEgAigCHK2GNwMQIAJBDGogATYCAANAIAIgAigCDCIAQQRqNgIMIAIgACgCADYCCCACKAIIQQBIRQRAIAIgAikDEEIBIAIoAgithoQ3AxAMAQsLIAIpAxALYAIBfwF+IwBBEGsiASQAIAEgADYCBAJAIAEoAgQoAiRBAUcEQCABKAIEQQxqQRJBABAUIAFCfzcDCAwBCyABIAEoAgRBAEIAQQ0QIDcDCAsgASkDCCECIAFBEGokACACC6UCAQJ/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNwMIIAMoAhgoAgAhASADKAIUIQQgAykDCCECIwBBIGsiACQAIAAgATYCFCAAIAQ2AhAgACACNwMIAkACQCAAKAIUKAIkQQFGBEAgACkDCEL///////////8AWA0BCyAAKAIUQQxqQRJBABAUIABCfzcDGAwBCyAAIAAoAhQgACgCECAAKQMIQQsQIDcDGAsgACkDGCECIABBIGokACADIAI3AwACQCACQgBTBEAgAygCGEEIaiADKAIYKAIAEBcgA0F/NgIcDAELIAMpAwAgAykDCFIEQCADKAIYQQhqQQZBGxAUIANBfzYCHAwBCyADQQA2AhwLIAMoAhwhACADQSBqJAAgAAsxAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDBBSIAEoAgwQFQsgAUEQaiQACy8BAX8jAEEQayIBJAAgASAANgIMIAEoAgwoAggQFSABKAIMQQA2AgggAUEQaiQAC80BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQCACKAIILQAoQQFxBEAgAkF/NgIMDAELIAIoAgRFBEAgAigCCEEMakESQQAQFCACQX82AgwMAQsgAigCBBA7IAIoAggoAgAEQCACKAIIKAIAIAIoAgQQOUEASARAIAIoAghBDGogAigCCCgCABAXIAJBfzYCDAwCCwsgAigCCCACKAIEQjhBAxAgQgBTBEAgAkF/NgIMDAELIAJBADYCDAsgAigCDCEAIAJBEGokACAAC98EAQF/IwBBIGsiAiAANgIYIAIgATYCFAJAIAIoAhhFBEAgAkEBNgIcDAELIAIgAigCGCgCADYCDAJAIAIoAhgoAggEQCACIAIoAhgoAgg2AhAMAQsgAkEBNgIQIAJBADYCCANAAkAgAigCCCACKAIYLwEETw0AAkAgAigCDCACKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAIoAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyACQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgUgAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAIoAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn83AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILjQUBA38jAEEQayIBJAAgASAANgIMIAEoAgwEQCABKAIMKAIABEAgASgCDCgCABAvGiABKAIMKAIAEBsLIAEoAgwoAhwQFSABKAIMKAIgECQgASgCDCgCJBAkIAEoAgwoAlAhAiMAQRBrIgAkACAAIAI2AgwgACgCDARAIAAoAgwoAhAEQCAAQQA2AggDQCAAKAIIIAAoAgwoAgBJBEAgACgCDCgCECAAKAIIQQJ0aigCAARAIAAoAgwoAhAgACgCCEECdGooAgAhAyMAQRBrIgIkACACIAM2AgwDQCACKAIMBEAgAiACKAIMKAIYNgIIIAIoAgwQFSACIAIoAgg2AgwMAQsLIAJBEGokAAsgACAAKAIIQQFqNgIIDAELCyAAKAIMKAIQEBULIAAoAgwQFQsgAEEQaiQAIAEoAgwoAkAEQCABQgA3AwADQCABKQMAIAEoAgwpAzBUBEAgASgCDCgCQCABKQMAp0EEdGoQdyABIAEpAwBCAXw3AwAMAQsLIAEoAgwoAkAQFQsgAUIANwMAA0AgASkDACABKAIMKAJErVQEQCABKAIMKAJMIAEpAwCnQQJ0aigCACECIwBBEGsiACQAIAAgAjYCDCAAKAIMQQE6ACgCfyMAQRBrIgIgACgCDEEMajYCDCACKAIMKAIARQsEQCAAKAIMQQxqQQhBABAUCyAAQRBqJAAgASABKQMAQgF8NwMADAELCyABKAIMKAJMEBUgASgCDCgCVCECIwBBEGsiACQAIAAgAjYCDCAAKAIMBEAgACgCDCgCCARAIAAoAgwoAgwgACgCDCgCCBECAAsgACgCDBAVCyAAQRBqJAAgASgCDEEIahA4IAEoAgwQFQsgAUEQaiQAC48OAQF/IwBBEGsiAyQAIAMgADYCDCADIAE2AgggAyACNgIEIAMoAgghASADKAIEIQIjAEEgayIAIAMoAgw2AhggACABNgIUIAAgAjYCECAAIAAoAhhBEHY2AgwgACAAKAIYQf//A3E2AhgCQCAAKAIQQQFGBEAgACAAKAIULQAAIAAoAhhqNgIYIAAoAhhB8f8DTwRAIAAgACgCGEHx/wNrNgIYCyAAIAAoAhggACgCDGo2AgwgACgCDEHx/wNPBEAgACAAKAIMQfH/A2s2AgwLIAAgACgCGCAAKAIMQRB0cjYCHAwBCyAAKAIURQRAIABBATYCHAwBCyAAKAIQQRBJBEADQCAAIAAoAhAiAUEBazYCECABBEAgACAAKAIUIgFBAWo2AhQgACABLQAAIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDAwBCwsgACgCGEHx/wNPBEAgACAAKAIYQfH/A2s2AhgLIAAgACgCDEHx/wNwNgIMIAAgACgCGCAAKAIMQRB0cjYCHAwBCwNAIAAoAhBBsCtPBEAgACAAKAIQQbArazYCECAAQdsCNgIIA0AgACAAKAIULQAAIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAEgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";Nu(So)||(So=h(So));function Lu(d){try{if(d==So&&J)return new Uint8Array(J);var E=Qa(d);if(E)return E;if(m)return m(d);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(I){Sr(I)}}function Sh(d,E){var I,D,M;try{M=Lu(d),D=new WebAssembly.Module(M),I=new WebAssembly.Instance(D,E)}catch(ne){var _=ne.toString();throw k("failed to compile wasm module: "+_),(_.includes("imported Memory")||_.includes("memory import"))&&k("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),ne}return[I,D]}function kh(){var d={a:va};function E(M,_){var ne=M.exports;r.asm=ne,A=r.asm.u,mi(A.buffer),Qr=r.asm.pa,kA(r.asm.v),DA("wasm-instantiate")}if(PA("wasm-instantiate"),r.instantiateWasm)try{var I=r.instantiateWasm(d,E);return I}catch(M){return k("Module.instantiateWasm callback failed with error: "+M),!1}var D=Sh(So,d);return E(D[0]),r.asm}var ae,Oi;function ko(d){for(;d.length>0;){var E=d.shift();if(typeof E=="function"){E(r);continue}var I=E.func;typeof I=="number"?E.arg===void 0?Qr.get(I)():Qr.get(I)(E.arg):I(E.arg===void 0?null:E.arg)}}function jn(d,E){var I=new Date(fe[d>>2]*1e3);fe[E>>2]=I.getUTCSeconds(),fe[E+4>>2]=I.getUTCMinutes(),fe[E+8>>2]=I.getUTCHours(),fe[E+12>>2]=I.getUTCDate(),fe[E+16>>2]=I.getUTCMonth(),fe[E+20>>2]=I.getUTCFullYear()-1900,fe[E+24>>2]=I.getUTCDay(),fe[E+36>>2]=0,fe[E+32>>2]=0;var D=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),M=(I.getTime()-D)/(1e3*60*60*24)|0;return fe[E+28>>2]=M,jn.GMTString||(jn.GMTString=Fe("GMT")),fe[E+40>>2]=jn.GMTString,E}function Tu(d,E){return jn(d,E)}var vt={splitPath:function(d){var E=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return E.exec(d).slice(1)},normalizeArray:function(d,E){for(var I=0,D=d.length-1;D>=0;D--){var M=d[D];M==="."?d.splice(D,1):M===".."?(d.splice(D,1),I++):I&&(d.splice(D,1),I--)}if(E)for(;I;I--)d.unshift("..");return d},normalize:function(d){var E=d.charAt(0)==="/",I=d.substr(-1)==="/";return d=vt.normalizeArray(d.split("/").filter(function(D){return!!D}),!E).join("/"),!d&&!E&&(d="."),d&&I&&(d+="/"),(E?"/":"")+d},dirname:function(d){var E=vt.splitPath(d),I=E[0],D=E[1];return!I&&!D?".":(D&&(D=D.substr(0,D.length-1)),I+D)},basename:function(d){if(d==="/")return"/";d=vt.normalize(d),d=d.replace(/\/$/,"");var E=d.lastIndexOf("/");return E===-1?d:d.substr(E+1)},extname:function(d){return vt.splitPath(d)[3]},join:function(){var d=Array.prototype.slice.call(arguments,0);return vt.normalize(d.join("/"))},join2:function(d,E){return vt.normalize(d+"/"+E)}};function Yl(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var d=new Uint8Array(1);return function(){return crypto.getRandomValues(d),d[0]}}else if(g)try{var E=require("crypto");return function(){return E.randomBytes(1)[0]}}catch(I){}return function(){Sr("randomDevice")}}var Yn={resolve:function(){for(var d="",E=!1,I=arguments.length-1;I>=-1&&!E;I--){var D=I>=0?arguments[I]:v.cwd();if(typeof D!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!D)return"";d=D+"/"+d,E=D.charAt(0)==="/"}return d=vt.normalizeArray(d.split("/").filter(function(M){return!!M}),!E).join("/"),(E?"/":"")+d||"."},relative:function(d,E){d=Yn.resolve(d).substr(1),E=Yn.resolve(E).substr(1);function I(_e){for(var ot=0;ot<_e.length&&_e[ot]==="";ot++);for(var wt=_e.length-1;wt>=0&&_e[wt]==="";wt--);return ot>wt?[]:_e.slice(ot,wt-ot+1)}for(var D=I(d.split("/")),M=I(E.split("/")),_=Math.min(D.length,M.length),ne=_,Be=0;Be<_;Be++)if(D[Be]!==M[Be]){ne=Be;break}for(var Ee=[],Be=ne;Be0?E=D.slice(0,M).toString("utf-8"):E=null}else typeof window!="undefined"&&typeof window.prompt=="function"?(E=window.prompt("Input: "),E!==null&&(E+=` +`)):typeof readline=="function"&&(E=readline(),E!==null&&(E+=` +`));if(!E)return null;d.input=FA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(S(Oe(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(S(Oe(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(k(Oe(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(k(Oe(d.output,0)),d.output=[])}}};function ps(d){for(var E=Y(d,65536),I=Et(E);d=E)){var D=1024*1024;E=Math.max(E,I*(I>>0),I!=0&&(E=Math.max(E,256));var M=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(M.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=v.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,v.isDir(d.mode)?E.size=4096:v.isFile(d.mode)?E.size=d.usedBytes:v.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&&pt.resizeFileStorage(d,E.size)},lookup:function(d,E){throw v.genericErrors[44]},mknod:function(d,E,I,D){return pt.createNode(d,E,I,D)},rename:function(d,E,I){if(v.isDir(d.mode)){var D;try{D=v.lookupNode(E,I)}catch(_){}if(D)for(var M in D.contents)throw new v.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=v.lookupNode(d,E);for(var D in I.contents)throw new v.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[".",".."];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var D=pt.createNode(d,E,511|40960,0);return D.link=I,D},readlink:function(d){if(!v.isLink(d.mode))throw new v.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,D,M){var _=d.node.contents;if(M>=d.node.usedBytes)return 0;var ne=Math.min(d.node.usedBytes-M,D);if(ne>8&&_.subarray)E.set(_.subarray(M,M+ne),I);else for(var Be=0;Be0||D+I>2)}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}return E.mode},realPath:function(d){for(var E=[];d.parent!==d;)E.push(d.name),d=d.parent;return E.push(d.mount.opts.root),E.reverse(),vt.join.apply(null,E)},flagsForNode:function(d){d&=~2097152,d&=~2048,d&=~32768,d&=~524288;var E=0;for(var I in lt.flagsForNodeMap)d&I&&(E|=lt.flagsForNodeMap[I],d^=I);if(d)throw new v.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=lt.realPath(d),I;try{I=Me.lstatSync(E)}catch(D){throw D.code?new v.ErrnoError(lt.convertNodeCode(D)):D}return lt.isWindows&&!I.blksize&&(I.blksize=4096),lt.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=lt.realPath(d);try{if(E.mode!==void 0&&(Me.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var D=new Date(E.timestamp);Me.utimesSync(I,D,D)}E.size!==void 0&&Me.truncateSync(I,E.size)}catch(M){throw M.code?new v.ErrnoError(lt.convertNodeCode(M)):M}},lookup:function(d,E){var I=vt.join2(lt.realPath(d),E),D=lt.getMode(I);return lt.createNode(d,E,D)},mknod:function(d,E,I,D){var M=lt.createNode(d,E,I,D),_=lt.realPath(M);try{v.isDir(M.mode)?Me.mkdirSync(_,M.mode):Me.writeFileSync(_,"",{mode:M.mode})}catch(ne){throw ne.code?new v.ErrnoError(lt.convertNodeCode(ne)):ne}return M},rename:function(d,E,I){var D=lt.realPath(d),M=vt.join2(lt.realPath(E),I);try{Me.renameSync(D,M)}catch(_){throw _.code?new v.ErrnoError(lt.convertNodeCode(_)):_}d.name=I},unlink:function(d,E){var I=vt.join2(lt.realPath(d),E);try{Me.unlinkSync(I)}catch(D){throw D.code?new v.ErrnoError(lt.convertNodeCode(D)):D}},rmdir:function(d,E){var I=vt.join2(lt.realPath(d),E);try{Me.rmdirSync(I)}catch(D){throw D.code?new v.ErrnoError(lt.convertNodeCode(D)):D}},readdir:function(d){var E=lt.realPath(d);try{return Me.readdirSync(E)}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}},symlink:function(d,E,I){var D=vt.join2(lt.realPath(d),E);try{Me.symlinkSync(I,D)}catch(M){throw M.code?new v.ErrnoError(lt.convertNodeCode(M)):M}},readlink:function(d){var E=lt.realPath(d);try{return E=Me.readlinkSync(E),E=Ku.relative(Ku.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=lt.realPath(d.node);try{v.isFile(d.node.mode)&&(d.nfd=Me.openSync(E,lt.flagsForNode(d.flags)))}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}},close:function(d){try{v.isFile(d.node.mode)&&d.nfd&&Me.closeSync(d.nfd)}catch(E){throw E.code?new v.ErrnoError(lt.convertNodeCode(E)):E}},read:function(d,E,I,D,M){if(D===0)return 0;try{return Me.readSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M)}catch(_){throw new v.ErrnoError(lt.convertNodeCode(_))}},write:function(d,E,I,D,M){try{return Me.writeSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M)}catch(_){throw new v.ErrnoError(lt.convertNodeCode(_))}},llseek:function(d,E,I){var D=E;if(I===1)D+=d.position;else if(I===2&&v.isFile(d.node.mode))try{var M=Me.fstatSync(d.nfd);D+=M.size}catch(_){throw new v.ErrnoError(lt.convertNodeCode(_))}if(D<0)throw new v.ErrnoError(28);return D},mmap:function(d,E,I,D,M,_){if(E!==0)throw new v.ErrnoError(28);if(!v.isFile(d.node.mode))throw new v.ErrnoError(43);var ne=ps(I);return lt.stream_ops.read(d,de,ne,I,D),{ptr:ne,allocated:!0}},msync:function(d,E,I,D,M){if(!v.isFile(d.node.mode))throw new v.ErrnoError(43);if(M&2)return 0;var _=lt.stream_ops.write(d,E,0,D,I,!1);return 0}}},mn={lookupPath:function(d){return{path:d,node:{mode:lt.getMode(d)}}},createStandardStreams:function(){v.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var d=1;d<3;d++)v.streams[d]={fd:d,nfd:d,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(d,E){v.isDir(d)?Me.mkdirSync(d,E):Me.writeFileSync(d,"",{mode:E})},mkdir:function(){Me.mkdirSync.apply(void 0,arguments)},symlink:function(){Me.symlinkSync.apply(void 0,arguments)},rename:function(){Me.renameSync.apply(void 0,arguments)},rmdir:function(){Me.rmdirSync.apply(void 0,arguments)},readdir:function(){Me.readdirSync.apply(void 0,arguments)},unlink:function(){Me.unlinkSync.apply(void 0,arguments)},readlink:function(){return Me.readlinkSync.apply(void 0,arguments)},stat:function(){return Me.statSync.apply(void 0,arguments)},lstat:function(){return Me.lstatSync.apply(void 0,arguments)},chmod:function(){Me.chmodSync.apply(void 0,arguments)},fchmod:function(){Me.fchmodSync.apply(void 0,arguments)},chown:function(){Me.chownSync.apply(void 0,arguments)},fchown:function(){Me.fchownSync.apply(void 0,arguments)},truncate:function(){Me.truncateSync.apply(void 0,arguments)},ftruncate:function(d,E){if(E<0)throw new v.ErrnoError(28);Me.ftruncateSync.apply(void 0,arguments)},utime:function(){Me.utimesSync.apply(void 0,arguments)},open:function(d,E,I,D){typeof E=="string"&&(E=Zs.modeStringToFlags(E));var M=Me.openSync(d,lt.flagsForNode(E),I),_=D!=null?D:v.nextfd(M),ne={fd:_,nfd:M,position:0,path:d,flags:E,seekable:!0};return v.streams[_]=ne,ne},close:function(d){d.stream_ops||Me.closeSync(d.nfd),v.closeStream(d.fd)},llseek:function(d,E,I){if(d.stream_ops)return Zs.llseek(d,E,I);var D=E;if(I===1)D+=d.position;else if(I===2)D+=Me.fstatSync(d.nfd).size;else if(I!==0)throw new v.ErrnoError(xo.EINVAL);if(D<0)throw new v.ErrnoError(xo.EINVAL);return d.position=D,D},read:function(d,E,I,D,M){if(d.stream_ops)return Zs.read(d,E,I,D,M);var _=typeof M!="undefined";!_&&d.seekable&&(M=d.position);var ne=Me.readSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M);return _||(d.position+=ne),ne},write:function(d,E,I,D,M){if(d.stream_ops)return Zs.write(d,E,I,D,M);d.flags&+"1024"&&v.llseek(d,0,+"2");var _=typeof M!="undefined";!_&&d.seekable&&(M=d.position);var ne=Me.writeSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M);return _||(d.position+=ne),ne},allocate:function(){throw new v.ErrnoError(xo.EOPNOTSUPP)},mmap:function(d,E,I,D,M,_){if(d.stream_ops)return Zs.mmap(d,E,I,D,M,_);if(E!==0)throw new v.ErrnoError(28);var ne=ps(I);return v.read(d,de,ne,I,D),{ptr:ne,allocated:!0}},msync:function(d,E,I,D,M){return d.stream_ops?Zs.msync(d,E,I,D,M):(M&2||v.write(d,E,0,D,I),0)},munmap:function(){return 0},ioctl:function(){throw new v.ErrnoError(xo.ENOTTY)}},v={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(d,E){if(d=Yn.resolve(v.cwd(),d),E=E||{},!d)return{path:"",node:null};var I={follow_mount:!0,recurse_count:0};for(var D in I)E[D]===void 0&&(E[D]=I[D]);if(E.recurse_count>8)throw new v.ErrnoError(32);for(var M=vt.normalizeArray(d.split("/").filter(function(ut){return!!ut}),!1),_=v.root,ne="/",Be=0;Be40)throw new v.ErrnoError(32)}}return{path:ne,node:_}},getPath:function(d){for(var E;;){if(v.isRoot(d)){var I=d.mount.mountpoint;return E?I[I.length-1]!=="/"?I+"/"+E:I+E:I}E=E?d.name+"/"+E:d.name,d=d.parent}},hashName:function(d,E){for(var I=0,D=0;D>>0)%v.nameTable.length},hashAddNode:function(d){var E=v.hashName(d.parent.id,d.name);d.name_next=v.nameTable[E],v.nameTable[E]=d},hashRemoveNode:function(d){var E=v.hashName(d.parent.id,d.name);if(v.nameTable[E]===d)v.nameTable[E]=d.name_next;else for(var I=v.nameTable[E];I;){if(I.name_next===d){I.name_next=d.name_next;break}I=I.name_next}},lookupNode:function(d,E){var I=v.mayLookup(d);if(I)throw new v.ErrnoError(I,d);for(var D=v.hashName(d.id,E),M=v.nameTable[D];M;M=M.name_next){var _=M.name;if(M.parent.id===d.id&&_===E)return M}return v.lookup(d,E)},createNode:function(d,E,I,D){var M=new v.FSNode(d,E,I,D);return v.hashAddNode(M),M},destroyNode:function(d){v.hashRemoveNode(d)},isRoot:function(d){return d===d.parent},isMountpoint:function(d){return!!d.mounted},isFile:function(d){return(d&61440)==32768},isDir:function(d){return(d&61440)==16384},isLink:function(d){return(d&61440)==40960},isChrdev:function(d){return(d&61440)==8192},isBlkdev:function(d){return(d&61440)==24576},isFIFO:function(d){return(d&61440)==4096},isSocket:function(d){return(d&49152)==49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(d){var E=v.flagModes[d];if(typeof E=="undefined")throw new Error("Unknown file open mode: "+d);return E},flagsToPermissionString:function(d){var E=["r","w","rw"][d&3];return d&512&&(E+="w"),E},nodePermissions:function(d,E){return v.ignorePermissions?0:E.includes("r")&&!(d.mode&292)||E.includes("w")&&!(d.mode&146)||E.includes("x")&&!(d.mode&73)?2:0},mayLookup:function(d){var E=v.nodePermissions(d,"x");return E||(d.node_ops.lookup?0:2)},mayCreate:function(d,E){try{var I=v.lookupNode(d,E);return 20}catch(D){}return v.nodePermissions(d,"wx")},mayDelete:function(d,E,I){var D;try{D=v.lookupNode(d,E)}catch(_){return _.errno}var M=v.nodePermissions(d,"wx");if(M)return M;if(I){if(!v.isDir(D.mode))return 54;if(v.isRoot(D)||v.getPath(D)===v.cwd())return 10}else if(v.isDir(D.mode))return 31;return 0},mayOpen:function(d,E){return d?v.isLink(d.mode)?32:v.isDir(d.mode)&&(v.flagsToPermissionString(E)!=="r"||E&512)?31:v.nodePermissions(d,v.flagsToPermissionString(E)):44},MAX_OPEN_FDS:4096,nextfd:function(d,E){d=d||0,E=E||v.MAX_OPEN_FDS;for(var I=d;I<=E;I++)if(!v.streams[I])return I;throw new v.ErrnoError(33)},getStream:function(d){return v.streams[d]},createStream:function(d,E,I){v.FSStream||(v.FSStream=function(){},v.FSStream.prototype={object:{get:function(){return this.node},set:function(ne){this.node=ne}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var D=new v.FSStream;for(var M in d)D[M]=d[M];d=D;var _=v.nextfd(E,I);return d.fd=_,v.streams[_]=d,d},closeStream:function(d){v.streams[d]=null},chrdev_stream_ops:{open:function(d){var E=v.getDevice(d.node.rdev);d.stream_ops=E.stream_ops,d.stream_ops.open&&d.stream_ops.open(d)},llseek:function(){throw new v.ErrnoError(70)}},major:function(d){return d>>8},minor:function(d){return d&255},makedev:function(d,E){return d<<8|E},registerDevice:function(d,E){v.devices[d]={stream_ops:E}},getDevice:function(d){return v.devices[d]},getMounts:function(d){for(var E=[],I=[d];I.length;){var D=I.pop();E.push(D),I.push.apply(I,D.mounts)}return E},syncfs:function(d,E){typeof d=="function"&&(E=d,d=!1),v.syncFSRequests++,v.syncFSRequests>1&&k("warning: "+v.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var I=v.getMounts(v.root.mount),D=0;function M(ne){return v.syncFSRequests--,E(ne)}function _(ne){if(ne)return _.errored?void 0:(_.errored=!0,M(ne));++D>=I.length&&M(null)}I.forEach(function(ne){if(!ne.type.syncfs)return _(null);ne.type.syncfs(ne,d,_)})},mount:function(d,E,I){var D=I==="/",M=!I,_;if(D&&v.root)throw new v.ErrnoError(10);if(!D&&!M){var ne=v.lookupPath(I,{follow_mount:!1});if(I=ne.path,_=ne.node,v.isMountpoint(_))throw new v.ErrnoError(10);if(!v.isDir(_.mode))throw new v.ErrnoError(54)}var Be={type:d,opts:E,mountpoint:I,mounts:[]},Ee=d.mount(Be);return Ee.mount=Be,Be.root=Ee,D?v.root=Ee:_&&(_.mounted=Be,_.mount&&_.mount.mounts.push(Be)),Ee},unmount:function(d){var E=v.lookupPath(d,{follow_mount:!1});if(!v.isMountpoint(E.node))throw new v.ErrnoError(28);var I=E.node,D=I.mounted,M=v.getMounts(D);Object.keys(v.nameTable).forEach(function(ne){for(var Be=v.nameTable[ne];Be;){var Ee=Be.name_next;M.includes(Be.mount)&&v.destroyNode(Be),Be=Ee}}),I.mounted=null;var _=I.mount.mounts.indexOf(D);I.mount.mounts.splice(_,1)},lookup:function(d,E){return d.node_ops.lookup(d,E)},mknod:function(d,E,I){var D=v.lookupPath(d,{parent:!0}),M=D.node,_=vt.basename(d);if(!_||_==="."||_==="..")throw new v.ErrnoError(28);var ne=v.mayCreate(M,_);if(ne)throw new v.ErrnoError(ne);if(!M.node_ops.mknod)throw new v.ErrnoError(63);return M.node_ops.mknod(M,_,E,I)},create:function(d,E){return E=E!==void 0?E:438,E&=4095,E|=32768,v.mknod(d,E,0)},mkdir:function(d,E){return E=E!==void 0?E:511,E&=511|512,E|=16384,v.mknod(d,E,0)},mkdirTree:function(d,E){for(var I=d.split("/"),D="",M=0;Mthis.length-1||ut<0)){var nt=ut%this.chunkSize,It=ut/this.chunkSize|0;return this.getter(It)[nt]}},_.prototype.setDataGetter=function(ut){this.getter=ut},_.prototype.cacheLength=function(){var ut=new XMLHttpRequest;if(ut.open("HEAD",I,!1),ut.send(null),!(ut.status>=200&&ut.status<300||ut.status===304))throw new Error("Couldn't load "+I+". Status: "+ut.status);var nt=Number(ut.getResponseHeader("Content-length")),It,ke=(It=ut.getResponseHeader("Accept-Ranges"))&&It==="bytes",Wn=(It=ut.getResponseHeader("Content-Encoding"))&&It==="gzip",Mi=1024*1024;ke||(Mi=nt);var MA=function(ds,Sa){if(ds>Sa)throw new Error("invalid range ("+ds+", "+Sa+") or no bytes requested!");if(Sa>nt-1)throw new Error("only "+nt+" bytes available! programmer error!");var qr=new XMLHttpRequest;if(qr.open("GET",I,!1),nt!==Mi&&qr.setRequestHeader("Range","bytes="+ds+"-"+Sa),typeof Uint8Array!="undefined"&&(qr.responseType="arraybuffer"),qr.overrideMimeType&&qr.overrideMimeType("text/plain; charset=x-user-defined"),qr.send(null),!(qr.status>=200&&qr.status<300||qr.status===304))throw new Error("Couldn't load "+I+". Status: "+qr.status);return qr.response!==void 0?new Uint8Array(qr.response||[]):FA(qr.responseText||"",!0)},Yr=this;Yr.setDataGetter(function(ds){var Sa=ds*Mi,qr=(ds+1)*Mi-1;if(qr=Math.min(qr,nt-1),typeof Yr.chunks[ds]=="undefined"&&(Yr.chunks[ds]=MA(Sa,qr)),typeof Yr.chunks[ds]=="undefined")throw new Error("doXHR failed!");return Yr.chunks[ds]}),(Wn||!nt)&&(Mi=nt=1,nt=this.getter(0).length,Mi=nt,S("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=nt,this._chunkSize=Mi,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var ne=new _;Object.defineProperties(ne,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var Be={isDevice:!1,contents:ne}}else var Be={isDevice:!1,url:I};var Ee=v.createFile(d,E,Be,D,M);Be.contents?Ee.contents=Be.contents:Be.url&&(Ee.contents=null,Ee.url=Be.url),Object.defineProperties(Ee,{usedBytes:{get:function(){return this.contents.length}}});var _e={},ot=Object.keys(Ee.stream_ops);return ot.forEach(function(wt){var ut=Ee.stream_ops[wt];_e[wt]=function(){return v.forceLoadFile(Ee),ut.apply(null,arguments)}}),_e.read=function(ut,nt,It,ke,Wn){v.forceLoadFile(Ee);var Mi=ut.node.contents;if(Wn>=Mi.length)return 0;var MA=Math.min(Mi.length-Wn,ke);if(Mi.slice)for(var Yr=0;Yr>2]=D.dev,fe[I+4>>2]=0,fe[I+8>>2]=D.ino,fe[I+12>>2]=D.mode,fe[I+16>>2]=D.nlink,fe[I+20>>2]=D.uid,fe[I+24>>2]=D.gid,fe[I+28>>2]=D.rdev,fe[I+32>>2]=0,Oi=[D.size>>>0,(ae=D.size,+Math.abs(ae)>=1?ae>0?(Math.min(+Math.floor(ae/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ae-+(~~ae>>>0))/4294967296)>>>0:0)],fe[I+40>>2]=Oi[0],fe[I+44>>2]=Oi[1],fe[I+48>>2]=4096,fe[I+52>>2]=D.blocks,fe[I+56>>2]=D.atime.getTime()/1e3|0,fe[I+60>>2]=0,fe[I+64>>2]=D.mtime.getTime()/1e3|0,fe[I+68>>2]=0,fe[I+72>>2]=D.ctime.getTime()/1e3|0,fe[I+76>>2]=0,Oi=[D.ino>>>0,(ae=D.ino,+Math.abs(ae)>=1?ae>0?(Math.min(+Math.floor(ae/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ae-+(~~ae>>>0))/4294967296)>>>0:0)],fe[I+80>>2]=Oi[0],fe[I+84>>2]=Oi[1],0},doMsync:function(d,E,I,D,M){var _=V.slice(d,d+I);v.msync(E,_,M,I,D)},doMkdir:function(d,E){return d=vt.normalize(d),d[d.length-1]==="/"&&(d=d.substr(0,d.length-1)),v.mkdir(d,E,0),0},doMknod:function(d,E,I){switch(E&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return v.mknod(d,E,I),0},doReadlink:function(d,E,I){if(I<=0)return-28;var D=v.readlink(d),M=Math.min(I,he(D)),_=de[E+M];return be(D,E,I+1),de[E+M]=_,M},doAccess:function(d,E){if(E&~7)return-28;var I,D=v.lookupPath(d,{follow:!0});if(I=D.node,!I)return-44;var M="";return E&4&&(M+="r"),E&2&&(M+="w"),E&1&&(M+="x"),M&&v.nodePermissions(I,M)?-2:0},doDup:function(d,E,I){var D=v.getStream(I);return D&&v.close(D),v.open(d,E,0,I,I).fd},doReadv:function(d,E,I,D){for(var M=0,_=0;_>2],Be=fe[E+(_*8+4)>>2],Ee=v.read(d,de,ne,Be,D);if(Ee<0)return-1;if(M+=Ee,Ee>2],Be=fe[E+(_*8+4)>>2],Ee=v.write(d,de,ne,Be,D);if(Ee<0)return-1;M+=Ee}return M},varargs:void 0,get:function(){Tt.varargs+=4;var d=fe[Tt.varargs-4>>2];return d},getStr:function(d){var E=te(d);return E},getStreamFromFD:function(d){var E=v.getStream(d);if(!E)throw new v.ErrnoError(8);return E},get64:function(d,E){return d}};function Ou(d,E){try{return d=Tt.getStr(d),v.chmod(d,E),0}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),-I.errno}}function ql(d){return fe[Rt()>>2]=d,d}function xh(d,E,I){Tt.varargs=I;try{var D=Tt.getStreamFromFD(d);switch(E){case 0:{var M=Tt.get();if(M<0)return-28;var _;return _=v.open(D.path,D.flags,0,M),_.fd}case 1:case 2:return 0;case 3:return D.flags;case 4:{var M=Tt.get();return D.flags|=M,0}case 12:{var M=Tt.get(),ne=0;return Qe[M+ne>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return ql(28),-1;default:return-28}}catch(Be){return(typeof v=="undefined"||!(Be instanceof v.ErrnoError))&&Sr(Be),-Be.errno}}function Ph(d,E){try{var I=Tt.getStreamFromFD(d);return Tt.doStat(v.stat,I.path,E)}catch(D){return(typeof v=="undefined"||!(D instanceof v.ErrnoError))&&Sr(D),-D.errno}}function Dh(d,E,I){Tt.varargs=I;try{var D=Tt.getStreamFromFD(d);switch(E){case 21509:case 21505:return D.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return D.tty?0:-59;case 21519:{if(!D.tty)return-59;var M=Tt.get();return fe[M>>2]=0,0}case 21520:return D.tty?-28:-59;case 21531:{var M=Tt.get();return v.ioctl(D,E,M)}case 21523:return D.tty?0:-59;case 21524:return D.tty?0:-59;default:Sr("bad ioctl syscall "+E)}}catch(_){return(typeof v=="undefined"||!(_ instanceof v.ErrnoError))&&Sr(_),-_.errno}}function Rh(d,E,I){Tt.varargs=I;try{var D=Tt.getStr(d),M=I?Tt.get():0,_=v.open(D,E,M);return _.fd}catch(ne){return(typeof v=="undefined"||!(ne instanceof v.ErrnoError))&&Sr(ne),-ne.errno}}function Fh(d,E){try{return d=Tt.getStr(d),E=Tt.getStr(E),v.rename(d,E),0}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),-I.errno}}function G(d){try{return d=Tt.getStr(d),v.rmdir(d),0}catch(E){return(typeof v=="undefined"||!(E instanceof v.ErrnoError))&&Sr(E),-E.errno}}function yt(d,E){try{return d=Tt.getStr(d),Tt.doStat(v.stat,d,E)}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),-I.errno}}function RA(d){try{return d=Tt.getStr(d),v.unlink(d),0}catch(E){return(typeof v=="undefined"||!(E instanceof v.ErrnoError))&&Sr(E),-E.errno}}function $i(d,E,I){V.copyWithin(d,E,E+I)}function Jl(d){try{return A.grow(d-Se.byteLength+65535>>>16),mi(A.buffer),1}catch(E){}}function $e(d){var E=V.length;d=d>>>0;var I=2147483648;if(d>I)return!1;for(var D=1;D<=4;D*=2){var M=E*(1+.2/D);M=Math.min(M,d+100663296);var _=Math.min(I,xe(Math.max(d,M),65536)),ne=Jl(_);if(ne)return!0}return!1}function Ba(d){try{var E=Tt.getStreamFromFD(d);return v.close(E),0}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),I.errno}}function Mu(d,E){try{var I=Tt.getStreamFromFD(d),D=I.tty?2:v.isDir(I.mode)?3:v.isLink(I.mode)?7:4;return de[E>>0]=D,0}catch(M){return(typeof v=="undefined"||!(M instanceof v.ErrnoError))&&Sr(M),M.errno}}function kE(d,E,I,D){try{var M=Tt.getStreamFromFD(d),_=Tt.doReadv(M,E,I);return fe[D>>2]=_,0}catch(ne){return(typeof v=="undefined"||!(ne instanceof v.ErrnoError))&&Sr(ne),ne.errno}}function Nh(d,E,I,D,M){try{var _=Tt.getStreamFromFD(d),ne=4294967296,Be=I*ne+(E>>>0),Ee=9007199254740992;return Be<=-Ee||Be>=Ee?-61:(v.llseek(_,Be,D),Oi=[_.position>>>0,(ae=_.position,+Math.abs(ae)>=1?ae>0?(Math.min(+Math.floor(ae/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ae-+(~~ae>>>0))/4294967296)>>>0:0)],fe[M>>2]=Oi[0],fe[M+4>>2]=Oi[1],_.getdents&&Be===0&&D===0&&(_.getdents=null),0)}catch(_e){return(typeof v=="undefined"||!(_e instanceof v.ErrnoError))&&Sr(_e),_e.errno}}function xE(d,E,I,D){try{var M=Tt.getStreamFromFD(d),_=Tt.doWritev(M,E,I);return fe[D>>2]=_,0}catch(ne){return(typeof v=="undefined"||!(ne instanceof v.ErrnoError))&&Sr(ne),ne.errno}}function gr(d){Z(d)}function qn(d){var E=Date.now()/1e3|0;return d&&(fe[d>>2]=E),E}function Wl(){if(Wl.called)return;Wl.called=!0;var d=new Date().getFullYear(),E=new Date(d,0,1),I=new Date(d,6,1),D=E.getTimezoneOffset(),M=I.getTimezoneOffset(),_=Math.max(D,M);fe[oQ()>>2]=_*60,fe[sQ()>>2]=Number(D!=M);function ne(wt){var ut=wt.toTimeString().match(/\(([A-Za-z ]+)\)$/);return ut?ut[1]:"GMT"}var Be=ne(E),Ee=ne(I),_e=Fe(Be),ot=Fe(Ee);M>2]=_e,fe[qu()+4>>2]=ot):(fe[qu()>>2]=ot,fe[qu()+4>>2]=_e)}function Lh(d){Wl();var E=Date.UTC(fe[d+20>>2]+1900,fe[d+16>>2],fe[d+12>>2],fe[d+8>>2],fe[d+4>>2],fe[d>>2],0),I=new Date(E);fe[d+24>>2]=I.getUTCDay();var D=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),M=(I.getTime()-D)/(1e3*60*60*24)|0;return fe[d+28>>2]=M,I.getTime()/1e3|0}var Xs=function(d,E,I,D){d||(d=this),this.parent=d,this.mount=d.mount,this.mounted=null,this.id=v.nextInode++,this.name=E,this.mode=I,this.node_ops={},this.stream_ops={},this.rdev=D},ba=292|73,En=146;if(Object.defineProperties(Xs.prototype,{read:{get:function(){return(this.mode&ba)===ba},set:function(d){d?this.mode|=ba:this.mode&=~ba}},write:{get:function(){return(this.mode&En)===En},set:function(d){d?this.mode|=En:this.mode&=~En}},isFolder:{get:function(){return v.isDir(this.mode)}},isDevice:{get:function(){return v.isChrdev(this.mode)}}}),v.FSNode=Xs,v.staticInit(),g){var Me=z5,Ku=require("path");lt.staticInit()}if(g){var zl=function(d){return function(){try{return d.apply(this,arguments)}catch(E){throw E.code?new v.ErrnoError(xo[E.code]):E}}},Zs=Object.assign({},v);for(var _l in mn)v[_l]=zl(mn[_l])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");function FA(d,E,I){var D=I>0?I:he(d)+1,M=new Array(D),_=se(d,M,0,M.length);return E&&(M.length=_),M}var Uu=typeof atob=="function"?atob:function(d){var E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",I="",D,M,_,ne,Be,Ee,_e,ot=0;d=d.replace(/[^A-Za-z0-9\+\/\=]/g,"");do ne=E.indexOf(d.charAt(ot++)),Be=E.indexOf(d.charAt(ot++)),Ee=E.indexOf(d.charAt(ot++)),_e=E.indexOf(d.charAt(ot++)),D=ne<<2|Be>>4,M=(Be&15)<<4|Ee>>2,_=(Ee&3)<<6|_e,I=I+String.fromCharCode(D),Ee!==64&&(I=I+String.fromCharCode(M)),_e!==64&&(I=I+String.fromCharCode(_));while(ot0||(vr(),fs>0))return;function E(){He||(He=!0,r.calledRun=!0,!oe&&(Gn(),i(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),gs()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),E()},1)):E()}if(r.run=OA,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return OA(),e}}();typeof Ww=="object"&&typeof eD=="object"?eD.exports=tD:typeof define=="function"&&define.amd?define([],function(){return tD}):typeof Ww=="object"&&(Ww.createModule=tD)});var I_=w((xat,E_)=>{function GDe(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{var jDe=Array.isArray;y_.exports=jDe});var S_=w((Dat,w_)=>{var B_=Hc(),YDe=I_(),qDe=Ms(),JDe=yd(),WDe=1/0,b_=B_?B_.prototype:void 0,Q_=b_?b_.toString:void 0;function v_(t){if(typeof t=="string")return t;if(qDe(t))return YDe(t,v_)+"";if(JDe(t))return Q_?Q_.call(t):"";var e=t+"";return e=="0"&&1/t==-WDe?"-0":e}w_.exports=v_});var of=w((Rat,k_)=>{var zDe=S_();function _De(t){return t==null?"":zDe(t)}k_.exports=_De});var AD=w((Fat,x_)=>{function VDe(t,e,r){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),r=r>n?n:r,r<0&&(r+=n),n=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(n);++i{var XDe=AD();function ZDe(t,e,r){var i=t.length;return r=r===void 0?i:r,!e&&r>=i?t:XDe(t,e,r)}P_.exports=ZDe});var lD=w((Lat,R_)=>{var $De="\\ud800-\\udfff",eRe="\\u0300-\\u036f",tRe="\\ufe20-\\ufe2f",rRe="\\u20d0-\\u20ff",iRe=eRe+tRe+rRe,nRe="\\ufe0e\\ufe0f",sRe="\\u200d",oRe=RegExp("["+sRe+$De+iRe+nRe+"]");function aRe(t){return oRe.test(t)}R_.exports=aRe});var N_=w((Tat,F_)=>{function ARe(t){return t.split("")}F_.exports=ARe});var G_=w((Oat,L_)=>{var T_="\\ud800-\\udfff",lRe="\\u0300-\\u036f",cRe="\\ufe20-\\ufe2f",uRe="\\u20d0-\\u20ff",gRe=lRe+cRe+uRe,fRe="\\ufe0e\\ufe0f",hRe="["+T_+"]",cD="["+gRe+"]",uD="\\ud83c[\\udffb-\\udfff]",pRe="(?:"+cD+"|"+uD+")",O_="[^"+T_+"]",M_="(?:\\ud83c[\\udde6-\\uddff]){2}",K_="[\\ud800-\\udbff][\\udc00-\\udfff]",dRe="\\u200d",U_=pRe+"?",H_="["+fRe+"]?",CRe="(?:"+dRe+"(?:"+[O_,M_,K_].join("|")+")"+H_+U_+")*",mRe=H_+U_+CRe,ERe="(?:"+[O_+cD+"?",cD,M_,K_,hRe].join("|")+")",IRe=RegExp(uD+"(?="+uD+")|"+ERe+mRe,"g");function yRe(t){return t.match(IRe)||[]}L_.exports=yRe});var Y_=w((Mat,j_)=>{var wRe=N_(),BRe=lD(),bRe=G_();function QRe(t){return BRe(t)?bRe(t):wRe(t)}j_.exports=QRe});var J_=w((Kat,q_)=>{var vRe=D_(),SRe=lD(),kRe=Y_(),xRe=of();function PRe(t){return function(e){e=xRe(e);var r=SRe(e)?kRe(e):void 0,i=r?r[0]:e.charAt(0),n=r?vRe(r,1).join(""):e.slice(1);return i[t]()+n}}q_.exports=PRe});var z_=w((Uat,W_)=>{var DRe=J_(),RRe=DRe("toUpperCase");W_.exports=RRe});var rB=w((Hat,__)=>{var FRe=of(),NRe=z_();function LRe(t){return NRe(FRe(t).toLowerCase())}__.exports=LRe});var V_=w((Gat,iB)=>{function TRe(){var t=0,e=1,r=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,m=15,y=16,b=17,S=0,k=1,T=2,Y=3,j=4;function Z(A,oe){return 55296<=A.charCodeAt(oe)&&A.charCodeAt(oe)<=56319&&56320<=A.charCodeAt(oe+1)&&A.charCodeAt(oe+1)<=57343}function J(A,oe){oe===void 0&&(oe=0);var le=A.charCodeAt(oe);if(55296<=le&&le<=56319&&oe=1){var X=A.charCodeAt(oe-1),O=le;return 55296<=X&&X<=56319?(X-55296)*1024+(O-56320)+65536:O}return le}function re(A,oe,le){var X=[A].concat(oe).concat([le]),O=X[X.length-2],L=le,pe=X.lastIndexOf(p);if(pe>1&&X.slice(1,pe).every(function(te){return te==i})&&[i,h,b].indexOf(A)==-1)return T;var Ce=X.lastIndexOf(n);if(Ce>0&&X.slice(1,Ce).every(function(te){return te==n})&&[f,n].indexOf(O)==-1)return X.filter(function(te){return te==n}).length%2==1?Y:j;if(O==t&&L==e)return S;if(O==r||O==t||O==e)return L==p&&oe.every(function(te){return te==i})?T:k;if(L==r||L==t||L==e)return k;if(O==o&&(L==o||L==a||L==c||L==u))return S;if((O==c||O==a)&&(L==a||L==l))return S;if((O==u||O==l)&&L==l)return S;if(L==i||L==m)return S;if(L==s)return S;if(O==f)return S;var Oe=X.indexOf(i)!=-1?X.lastIndexOf(i)-1:X.length-2;return[h,b].indexOf(X[Oe])!=-1&&X.slice(Oe+1,-1).every(function(te){return te==i})&&L==p||O==m&&[y,b].indexOf(L)!=-1?S:oe.indexOf(n)!=-1?T:O==n&&L==n?S:k}this.nextBreak=function(A,oe){if(oe===void 0&&(oe=0),oe<0)return 0;if(oe>=A.length-1)return A.length;for(var le=ee(J(A,oe)),X=[],O=oe+1;O{var ORe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,nB;function MRe(){if(nB)return nB;if(typeof Intl.Segmenter!="undefined"){let t=new Intl.Segmenter("en",{granularity:"grapheme"});return nB=e=>Array.from(t.segment(e),({segment:r})=>r)}else{let t=V_(),e=new t;return nB=r=>e.splitGraphemes(r)}}X_.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=r-e,n="",s=0,o=0;for(;t.length>0;){let a=t.match(ORe)||[t,t,void 0],l=MRe()(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]!="undefined"&&(n+=a[2]),t=t.slice(a[0].length)}return n}});var af=w((mAt,g6)=>{"use strict";var f6=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),CAt=g6.exports=t=>t?Object.keys(t).map(e=>[f6.has(e)?f6.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var Af=w((EAt,h6)=>{"use strict";var XRe=require("events"),p6=require("stream"),Jd=bp(),d6=require("string_decoder").StringDecoder,oA=Symbol("EOF"),Wd=Symbol("maybeEmitEnd"),pl=Symbol("emittedEnd"),cB=Symbol("emittingEnd"),uB=Symbol("closed"),C6=Symbol("read"),pD=Symbol("flush"),m6=Symbol("flushChunk"),Nn=Symbol("encoding"),aA=Symbol("decoder"),gB=Symbol("flowing"),zd=Symbol("paused"),_d=Symbol("resume"),pn=Symbol("bufferLength"),E6=Symbol("bufferPush"),dD=Symbol("bufferShift"),_i=Symbol("objectMode"),Vi=Symbol("destroyed"),I6=global._MP_NO_ITERATOR_SYMBOLS_!=="1",ZRe=I6&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),$Re=I6&&Symbol.iterator||Symbol("iterator not implemented"),y6=t=>t==="end"||t==="finish"||t==="prefinish",eFe=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,tFe=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);h6.exports=class w6 extends p6{constructor(e){super();this[gB]=!1,this[zd]=!1,this.pipes=new Jd,this.buffer=new Jd,this[_i]=e&&e.objectMode||!1,this[_i]?this[Nn]=null:this[Nn]=e&&e.encoding||null,this[Nn]==="buffer"&&(this[Nn]=null),this[aA]=this[Nn]?new d6(this[Nn]):null,this[oA]=!1,this[pl]=!1,this[cB]=!1,this[uB]=!1,this.writable=!0,this.readable=!0,this[pn]=0,this[Vi]=!1}get bufferLength(){return this[pn]}get encoding(){return this[Nn]}set encoding(e){if(this[_i])throw new Error("cannot set encoding in objectMode");if(this[Nn]&&e!==this[Nn]&&(this[aA]&&this[aA].lastNeed||this[pn]))throw new Error("cannot change encoding");this[Nn]!==e&&(this[aA]=e?new d6(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[aA].write(r)))),this[Nn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[_i]}set objectMode(e){this[_i]=this[_i]||!!e}write(e,r,i){if(this[oA])throw new Error("write after end");return this[Vi]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof r=="function"&&(i=r,r="utf8"),r||(r="utf8"),!this[_i]&&!Buffer.isBuffer(e)&&(tFe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):eFe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[pn]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[_i]&&!(r===this[Nn]&&!this[aA].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[Nn]&&(e=this[aA].write(e)),this.flowing?(this[pn]!==0&&this[pD](!0),this.emit("data",e)):this[E6](e),this[pn]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[Vi])return null;try{return this[pn]===0||e===0||e>this[pn]?null:(this[_i]&&(e=null),this.buffer.length>1&&!this[_i]&&(this.encoding?this.buffer=new Jd([Array.from(this.buffer).join("")]):this.buffer=new Jd([Buffer.concat(Array.from(this.buffer),this[pn])])),this[C6](e||null,this.buffer.head.value))}finally{this[Wd]()}}[C6](e,r){return e===r.length||e===null?this[dD]():(this.buffer.head.value=r.slice(e),r=r.slice(0,e),this[pn]-=e),this.emit("data",r),!this.buffer.length&&!this[oA]&&this.emit("drain"),r}end(e,r,i){return typeof e=="function"&&(i=e,e=null),typeof r=="function"&&(i=r,r="utf8"),e&&this.write(e,r),i&&this.once("end",i),this[oA]=!0,this.writable=!1,(this.flowing||!this[zd])&&this[Wd](),this}[_d](){this[Vi]||(this[zd]=!1,this[gB]=!0,this.emit("resume"),this.buffer.length?this[pD]():this[oA]?this[Wd]():this.emit("drain"))}resume(){return this[_d]()}pause(){this[gB]=!1,this[zd]=!0}get destroyed(){return this[Vi]}get flowing(){return this[gB]}get paused(){return this[zd]}[E6](e){return this[_i]?this[pn]+=1:this[pn]+=e.length,this.buffer.push(e)}[dD](){return this.buffer.length&&(this[_i]?this[pn]-=1:this[pn]-=this.buffer.head.value.length),this.buffer.shift()}[pD](e){do;while(this[m6](this[dD]()));!e&&!this.buffer.length&&!this[oA]&&this.emit("drain")}[m6](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Vi])return;let i=this[pl];r=r||{},e===process.stdout||e===process.stderr?r.end=!1:r.end=r.end!==!1;let n={dest:e,opts:r,ondrain:s=>this[_d]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[_d](),i&&n.opts.end&&n.dest.end(),e}addListener(e,r){return this.on(e,r)}on(e,r){try{return super.on(e,r)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[_d]():y6(e)&&this[pl]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[pl]}[Wd](){!this[cB]&&!this[pl]&&!this[Vi]&&this.buffer.length===0&&this[oA]&&(this[cB]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[uB]&&this.emit("close"),this[cB]=!1)}emit(e,r){if(e!=="error"&&e!=="close"&&e!==Vi&&this[Vi])return;if(e==="data"){if(!r)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(r)===!1&&this.pause())}else if(e==="end"){if(this[pl]===!0)return;this[pl]=!0,this.readable=!1,this[aA]&&(r=this[aA].end(),r&&(this.pipes.forEach(n=>n.dest.write(r)),super.emit("data",r))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[uB]=!0,!this[pl]&&!this[Vi]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=r,arguments.length>2)for(let n=2;n{e.push(i),this[_i]||(e.dataLength+=i.length)}),r.then(()=>e)}concat(){return this[_i]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[_i]?Promise.reject(new Error("cannot concat in objectMode")):this[Nn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Vi,()=>r(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>r(i))})}[ZRe](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[oA])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[oA]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Vi,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[$Re](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Vi]?(e?this.emit("error",e):this.emit(Vi),this):(this[Vi]=!0,this.buffer=new Jd,this[pn]=0,typeof this.close=="function"&&!this[uB]&&this.close(),e?this.emit("error",e):this.emit(Vi),this)}static isStream(e){return!!e&&(e instanceof w6||e instanceof p6||e instanceof XRe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var b6=w((IAt,B6)=>{var rFe=require("zlib").constants||{ZLIB_VERNUM:4736};B6.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},rFe))});var QD=w(os=>{"use strict";var CD=require("assert"),dl=require("buffer").Buffer,Q6=require("zlib"),zc=os.constants=b6(),iFe=Af(),v6=dl.concat,_c=Symbol("_superWrite"),Vd=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},nFe=Symbol("opts"),Xd=Symbol("flushFlag"),S6=Symbol("finishFlushFlag"),mD=Symbol("fullFlushFlag"),pr=Symbol("handle"),fB=Symbol("onError"),lf=Symbol("sawError"),ED=Symbol("level"),ID=Symbol("strategy"),yD=Symbol("ended"),yAt=Symbol("_defaultFullFlush"),wD=class extends iFe{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[lf]=!1,this[yD]=!1,this[nFe]=e,this[Xd]=e.flush,this[S6]=e.finishFlush;try{this[pr]=new Q6[r](e)}catch(i){throw new Vd(i)}this[fB]=i=>{this[lf]||(this[lf]=!0,this.close(),this.emit("error",i))},this[pr].on("error",i=>this[fB](new Vd(i))),this.once("end",()=>this.close)}close(){this[pr]&&(this[pr].close(),this[pr]=null,this.emit("close"))}reset(){if(!this[lf])return CD(this[pr],"zlib binding closed"),this[pr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[mD]),this.write(Object.assign(dl.alloc(0),{[Xd]:e})))}end(e,r,i){return e&&this.write(e,r),this.flush(this[S6]),this[yD]=!0,super.end(null,null,i)}get ended(){return this[yD]}write(e,r,i){if(typeof r=="function"&&(i=r,r="utf8"),typeof e=="string"&&(e=dl.from(e,r)),this[lf])return;CD(this[pr],"zlib binding closed");let n=this[pr]._handle,s=n.close;n.close=()=>{};let o=this[pr].close;this[pr].close=()=>{},dl.concat=c=>c;let a;try{let c=typeof e[Xd]=="number"?e[Xd]:this[Xd];a=this[pr]._processChunk(e,c),dl.concat=v6}catch(c){dl.concat=v6,this[fB](new Vd(c))}finally{this[pr]&&(this[pr]._handle=n,n.close=s,this[pr].close=o,this[pr].removeAllListeners("error"))}this[pr]&&this[pr].on("error",c=>this[fB](new Vd(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[_c](dl.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[pr].params(e,r)}finally{this[pr].flush=i}this[pr]&&(this[ED]=e,this[ID]=r)}}}},k6=class extends Cl{constructor(e){super(e,"Deflate")}},x6=class extends Cl{constructor(e){super(e,"Inflate")}},BD=Symbol("_portable"),P6=class extends Cl{constructor(e){super(e,"Gzip");this[BD]=e&&!!e.portable}[_c](e){return this[BD]?(this[BD]=!1,e[9]=255,super[_c](e)):super[_c](e)}},D6=class extends Cl{constructor(e){super(e,"Gunzip")}},R6=class extends Cl{constructor(e){super(e,"DeflateRaw")}},F6=class extends Cl{constructor(e){super(e,"InflateRaw")}},N6=class extends Cl{constructor(e){super(e,"Unzip")}},bD=class extends wD{constructor(e,r){e=e||{},e.flush=e.flush||zc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||zc.BROTLI_OPERATION_FINISH,super(e,r),this[mD]=zc.BROTLI_OPERATION_FLUSH}},L6=class extends bD{constructor(e){super(e,"BrotliCompress")}},T6=class extends bD{constructor(e){super(e,"BrotliDecompress")}};os.Deflate=k6;os.Inflate=x6;os.Gzip=P6;os.Gunzip=D6;os.DeflateRaw=R6;os.InflateRaw=F6;os.Unzip=N6;typeof Q6.BrotliCompress=="function"?(os.BrotliCompress=L6,os.BrotliDecompress=T6):os.BrotliCompress=os.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var Zd=w(hB=>{"use strict";hB.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);hB.code=new Map(Array.from(hB.name).map(t=>[t[1],t[0]]))});var $d=w((vAt,O6)=>{"use strict";var bAt=Zd(),sFe=Af(),vD=Symbol("slurp");O6.exports=class extends sFe{constructor(e,r,i){super();switch(this.pause(),this.extended=r,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,r&&this[vD](r),i&&this[vD](i,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-r),this.blockRemain=Math.max(0,n-r),this.ignore?!0:i>=r?super.write(e):super.write(e.slice(0,i))}[vD](e,r){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(r&&i==="path")&&(this[i]=e[i])}}});var U6=w(SD=>{"use strict";var SAt=SD.encode=(t,e)=>{if(Number.isSafeInteger(t))t<0?aFe(t,e):oFe(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},oFe=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},aFe=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var i=e.length;i>1;i--){var n=t&255;t=Math.floor(t/256),r?e[i-1]=M6(n):n===0?e[i-1]=0:(r=!0,e[i-1]=K6(n))}},kAt=SD.parse=t=>{var e=t[t.length-1],r=t[0],i;if(r===128)i=lFe(t.slice(1,t.length));else if(r===255)i=AFe(t);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},AFe=t=>{for(var e=t.length,r=0,i=!1,n=e-1;n>-1;n--){var s=t[n],o;i?o=M6(s):s===0?o=s:(i=!0,o=K6(s)),o!==0&&(r-=o*Math.pow(256,e-n-1))}return r},lFe=t=>{for(var e=t.length,r=0,i=e-1;i>-1;i--){var n=t[i];n!==0&&(r+=n*Math.pow(256,e-i-1))}return r},M6=t=>(255^t)&255,K6=t=>(255^t)+1&255});var uf=w((PAt,H6)=>{"use strict";var kD=Zd(),cf=require("path").posix,G6=U6(),xD=Symbol("slurp"),as=Symbol("type"),j6=class{constructor(e,r,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[as]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,i,n):e&&this.set(e)}decode(e,r,i,n){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=Vc(e,r,100),this.mode=ml(e,r+100,8),this.uid=ml(e,r+108,8),this.gid=ml(e,r+116,8),this.size=ml(e,r+124,12),this.mtime=PD(e,r+136,12),this.cksum=ml(e,r+148,12),this[xD](i),this[xD](n,!0),this[as]=Vc(e,r+156,1),this[as]===""&&(this[as]="0"),this[as]==="0"&&this.path.substr(-1)==="/"&&(this[as]="5"),this[as]==="5"&&(this.size=0),this.linkpath=Vc(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=Vc(e,r+265,32),this.gname=Vc(e,r+297,32),this.devmaj=ml(e,r+329,8),this.devmin=ml(e,r+337,8),e[r+475]!==0){let o=Vc(e,r+345,155);this.path=o+"/"+this.path}else{let o=Vc(e,r+345,130);o&&(this.path=o+"/"+this.path),this.atime=PD(e,r+476,12),this.ctime=PD(e,r+488,12)}let s=8*32;for(let o=r;o=r+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=cFe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=Xc(e,r,100,s)||this.needPax,this.needPax=El(e,r+100,8,this.mode)||this.needPax,this.needPax=El(e,r+108,8,this.uid)||this.needPax,this.needPax=El(e,r+116,8,this.gid)||this.needPax,this.needPax=El(e,r+124,12,this.size)||this.needPax,this.needPax=DD(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[as].charCodeAt(0),this.needPax=Xc(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=Xc(e,r+265,32,this.uname)||this.needPax,this.needPax=Xc(e,r+297,32,this.gname)||this.needPax,this.needPax=El(e,r+329,8,this.devmaj)||this.needPax,this.needPax=El(e,r+337,8,this.devmin)||this.needPax,this.needPax=Xc(e,r+345,i,o)||this.needPax,e[r+475]!==0?this.needPax=Xc(e,r+345,155,o)||this.needPax:(this.needPax=Xc(e,r+345,130,o)||this.needPax,this.needPax=DD(e,r+476,12,this.atime)||this.needPax,this.needPax=DD(e,r+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=r;l{let r=100,i=t,n="",s,o=cf.parse(t).root||".";if(Buffer.byteLength(i)r&&Buffer.byteLength(n)<=e?s=[i.substr(0,r-1),n,!0]:(i=cf.join(cf.basename(n),i),n=cf.dirname(n));while(n!==o&&!s);s||(s=[t.substr(0,r-1),"",!0])}return s},Vc=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),PD=(t,e,r)=>uFe(ml(t,e,r)),uFe=t=>t===null?null:new Date(t*1e3),ml=(t,e,r)=>t[e]&128?G6.parse(t.slice(e,e+r)):gFe(t,e,r),fFe=t=>isNaN(t)?null:t,gFe=(t,e,r)=>fFe(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),hFe={12:8589934591,8:2097151},El=(t,e,r,i)=>i===null?!1:i>hFe[r]||i<0?(G6.encode(i,t.slice(e,e+r)),!0):(pFe(t,e,r,i),!1),pFe=(t,e,r,i)=>t.write(dFe(i,r),e,r,"ascii"),dFe=(t,e)=>CFe(Math.floor(t).toString(8),e),CFe=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",DD=(t,e,r,i)=>i===null?!1:El(t,e,r,i.getTime()/1e3),mFe=new Array(156).join("\0"),Xc=(t,e,r,i)=>i===null?!1:(t.write(i+mFe,e,r,"utf8"),i.length!==Buffer.byteLength(i)||i.length>r);H6.exports=j6});var dB=w((DAt,Y6)=>{"use strict";var EFe=uf(),IFe=require("path"),pB=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),i=512*Math.ceil(1+r/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new EFe({path:("PaxHeader/"+IFe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,r,"utf8");for(let s=r+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};pB.parse=(t,e,r)=>new pB(yFe(wFe(t),e),r);var yFe=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,wFe=t=>t.replace(/\n$/,"").split(` +`).reduce(BFe,Object.create(null)),BFe=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return t;let s=i.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,t};Y6.exports=pB});var CB=w((RAt,q6)=>{"use strict";q6.exports=t=>class extends t{warn(e,r,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=r instanceof Error&&r.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(r instanceof Error&&(i=Object.assign(r,i),r=r.message),this.emit("warn",i.tarCode,r,i)):r instanceof Error?this.emit("error",Object.assign(r,i)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),i))}}});var FD=w((FAt,J6)=>{"use strict";var mB=["|","<",">","?",":"],RD=mB.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),bFe=new Map(mB.map((t,e)=>[t,RD[e]])),QFe=new Map(RD.map((t,e)=>[t,mB[e]]));J6.exports={encode:t=>mB.reduce((e,r)=>e.split(r).join(bFe.get(r)),t),decode:t=>RD.reduce((e,r)=>e.split(r).join(QFe.get(r)),t)}});var z6=w((NAt,W6)=>{"use strict";W6.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&~18),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var UD=w((KAt,_6)=>{"use strict";var V6=Af(),X6=dB(),Z6=uf(),LAt=$d(),ra=require("fs"),gf=require("path"),TAt=Zd(),vFe=16*1024*1024,$6=Symbol("process"),eV=Symbol("file"),tV=Symbol("directory"),ND=Symbol("symlink"),rV=Symbol("hardlink"),eC=Symbol("header"),EB=Symbol("read"),LD=Symbol("lstat"),IB=Symbol("onlstat"),TD=Symbol("onread"),OD=Symbol("onreadlink"),MD=Symbol("openfile"),KD=Symbol("onopenfile"),Zc=Symbol("close"),yB=Symbol("mode"),iV=CB(),SFe=FD(),nV=z6(),wB=iV(class extends V6{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||vFe,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=r.cwd||process.cwd(),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(!this.preservePaths&&gf.win32.isAbsolute(e)){let n=gf.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=SFe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||gf.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[IB](this.statCache.get(this.absolute)):this[LD]()}[LD](){ra.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[IB](r)})}[IB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=kFe(e),this.emit("stat",e),this[$6]()}[$6](){switch(this.type){case"File":return this[eV]();case"Directory":return this[tV]();case"SymbolicLink":return this[ND]();default:return this.end()}}[yB](e){return nV(e,this.type==="Directory",this.portable)}[eC](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new Z6({path:this.path,linkpath:this.linkpath,mode:this[yB](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new X6({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[tV](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[eC](),this.end()}[ND](){ra.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[OD](r)})}[OD](e){this.linkpath=e.replace(/\\/g,"/"),this[eC](),this.end()}[rV](e){this.type="Link",this.linkpath=gf.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[eC](),this.end()}[eV](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[rV](r)}this.linkCache.set(e,this.absolute)}if(this[eC](),this.stat.size===0)return this.end();this[MD]()}[MD](){ra.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[KD](r)})}[KD](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,this.maxReadSize),n=Buffer.allocUnsafe(i);this[EB](e,n,0,n.length,0,this.stat.size,r)}[EB](e,r,i,n,s,o,a){ra.read(e,r,i,n,s,(l,c)=>{if(l)return this[Zc](e,()=>this.emit("error",l));this[TD](e,r,i,n,s,o,a,c)})}[Zc](e,r){ra.close(e,r)}[TD](e,r,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[Zc](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[Zc](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(r=Buffer.allocUnsafe(n),i=0),n=r.length-i,this[EB](e,r,i,n,s,o,a)}}),sV=class extends wB{constructor(e,r){super(e,r)}[LD](){this[IB](ra.lstatSync(this.absolute))}[ND](){this[OD](ra.readlinkSync(this.absolute))}[MD](){this[KD](ra.openSync(this.absolute,"r"))}[EB](e,r,i,n,s,o,a){let l=!0;try{let c=ra.readSync(e,r,i,n,s);this[TD](e,r,i,n,s,o,a,c),l=!1}finally{if(l)try{this[Zc](e,()=>{})}catch(c){}}}[Zc](e,r){ra.closeSync(e),r()}},xFe=iV(class extends V6{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[yB](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(gf.isAbsolute(this.path)&&!this.preservePaths){let n=gf.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new Z6({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new X6({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[yB](e){return nV(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});wB.Sync=sV;wB.Tar=xFe;var kFe=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";_6.exports=wB});var PB=w((HAt,oV)=>{"use strict";var HD=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},PFe=Af(),DFe=QD(),RFe=$d(),GD=UD(),FFe=GD.Sync,NFe=GD.Tar,LFe=bp(),aV=Buffer.alloc(1024),BB=Symbol("onStat"),bB=Symbol("ended"),ia=Symbol("queue"),ff=Symbol("current"),$c=Symbol("process"),QB=Symbol("processing"),AV=Symbol("processJob"),na=Symbol("jobs"),jD=Symbol("jobDone"),vB=Symbol("addFSEntry"),lV=Symbol("addTarEntry"),YD=Symbol("stat"),qD=Symbol("readdir"),SB=Symbol("onreaddir"),kB=Symbol("pipe"),cV=Symbol("entry"),JD=Symbol("entryOpt"),WD=Symbol("writeEntryClass"),uV=Symbol("write"),zD=Symbol("ondrain"),xB=require("fs"),gV=require("path"),TFe=CB(),_D=TFe(class extends PFe{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[WD]=GD,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new DFe.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[zD]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[zD]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[ia]=new LFe,this[na]=0,this.jobs=+e.jobs||4,this[QB]=!1,this[bB]=!1}[uV](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[bB]=!0,this[$c](),this}write(e){if(this[bB])throw new Error("write after end");return e instanceof RFe?this[lV](e):this[vB](e),this.flowing}[lV](e){let r=gV.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new HD(e.path,r,!1);i.entry=new NFe(e,this[JD](i)),i.entry.on("end",n=>this[jD](i)),this[na]+=1,this[ia].push(i)}this[$c]()}[vB](e){let r=gV.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[ia].push(new HD(e,r)),this[$c]()}[YD](e){e.pending=!0,this[na]+=1;let r=this.follow?"stat":"lstat";xB[r](e.absolute,(i,n)=>{e.pending=!1,this[na]-=1,i?this.emit("error",i):this[BB](e,n)})}[BB](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[$c]()}[qD](e){e.pending=!0,this[na]+=1,xB.readdir(e.absolute,(r,i)=>{if(e.pending=!1,this[na]-=1,r)return this.emit("error",r);this[SB](e,i)})}[SB](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[$c]()}[$c](){if(!this[QB]){this[QB]=!0;for(let e=this[ia].head;e!==null&&this[na]this.warn(r,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[cV](e){this[na]+=1;try{return new this[WD](e.path,this[JD](e)).on("end",()=>this[jD](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[zD](){this[ff]&&this[ff].entry&&this[ff].entry.resume()}[kB](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[vB](o+n)});let r=e.entry,i=this.zip;i?r.on("data",n=>{i.write(n)||r.pause()}):r.on("data",n=>{super.write(n)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),fV=class extends _D{constructor(e){super(e);this[WD]=FFe}pause(){}resume(){}[YD](e){let r=this.follow?"statSync":"lstatSync";this[BB](e,xB[r](e.absolute))}[qD](e,r){this[SB](e,xB.readdirSync(e.absolute))}[kB](e){let r=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[vB](o+n)}),i?r.on("data",n=>{i.write(n)}):r.on("data",n=>{super[uV](n)})}};_D.Sync=fV;oV.exports=_D});var Ef=w(tC=>{"use strict";var OFe=Af(),MFe=require("events").EventEmitter,Ks=require("fs"),DB=process.binding("fs"),GAt=DB.writeBuffers,KFe=DB.FSReqWrap||DB.FSReqCallback,hf=Symbol("_autoClose"),sa=Symbol("_close"),rC=Symbol("_ended"),or=Symbol("_fd"),hV=Symbol("_finished"),eu=Symbol("_flags"),VD=Symbol("_flush"),XD=Symbol("_handleChunk"),ZD=Symbol("_makeBuf"),$D=Symbol("_mode"),RB=Symbol("_needDrain"),pf=Symbol("_onerror"),df=Symbol("_onopen"),eR=Symbol("_onread"),tu=Symbol("_onwrite"),Il=Symbol("_open"),yl=Symbol("_path"),ru=Symbol("_pos"),oa=Symbol("_queue"),Cf=Symbol("_read"),pV=Symbol("_readSize"),wl=Symbol("_reading"),FB=Symbol("_remain"),dV=Symbol("_size"),NB=Symbol("_write"),mf=Symbol("_writing"),LB=Symbol("_defaultFlag"),tR=class extends OFe{constructor(e,r){if(r=r||{},super(r),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[or]=typeof r.fd=="number"?r.fd:null,this[yl]=e,this[pV]=r.readSize||16*1024*1024,this[wl]=!1,this[dV]=typeof r.size=="number"?r.size:Infinity,this[FB]=this[dV],this[hf]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[or]=="number"?this[Cf]():this[Il]()}get fd(){return this[or]}get path(){return this[yl]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[Il](){Ks.open(this[yl],"r",(e,r)=>this[df](e,r))}[df](e,r){e?this[pf](e):(this[or]=r,this.emit("open",r),this[Cf]())}[ZD](){return Buffer.allocUnsafe(Math.min(this[pV],this[FB]))}[Cf](){if(!this[wl]){this[wl]=!0;let e=this[ZD]();if(e.length===0)return process.nextTick(()=>this[eR](null,0,e));Ks.read(this[or],e,0,e.length,null,(r,i,n)=>this[eR](r,i,n))}}[eR](e,r,i){this[wl]=!1,e?this[pf](e):this[XD](r,i)&&this[Cf]()}[sa](){this[hf]&&typeof this[or]=="number"&&(Ks.close(this[or],e=>this.emit("close")),this[or]=null)}[pf](e){this[wl]=!0,this[sa](),this.emit("error",e)}[XD](e,r){let i=!1;return this[FB]-=e,e>0&&(i=super.write(ethis[df](e,r))}[df](e,r){this[LB]&&this[eu]==="r+"&&e&&e.code==="ENOENT"?(this[eu]="w",this[Il]()):e?this[pf](e):(this[or]=r,this.emit("open",r),this[VD]())}end(e,r){e&&this.write(e,r),this[rC]=!0,!this[mf]&&!this[oa].length&&typeof this[or]=="number"&&this[tu](null,0)}write(e,r){return typeof e=="string"&&(e=new Buffer(e,r)),this[rC]?(this.emit("error",new Error("write() after end()")),!1):this[or]===null||this[mf]||this[oa].length?(this[oa].push(e),this[RB]=!0,!1):(this[mf]=!0,this[NB](e),!0)}[NB](e){Ks.write(this[or],e,0,e.length,this[ru],(r,i)=>this[tu](r,i))}[tu](e,r){e?this[pf](e):(this[ru]!==null&&(this[ru]+=r),this[oa].length?this[VD]():(this[mf]=!1,this[rC]&&!this[hV]?(this[hV]=!0,this[sa](),this.emit("finish")):this[RB]&&(this[RB]=!1,this.emit("drain"))))}[VD](){if(this[oa].length===0)this[rC]&&this[tu](null,0);else if(this[oa].length===1)this[NB](this[oa].pop());else{let e=this[oa];this[oa]=[],UFe(this[or],e,this[ru],(r,i)=>this[tu](r,i))}}[sa](){this[hf]&&typeof this[or]=="number"&&(Ks.close(this[or],e=>this.emit("close")),this[or]=null)}},mV=class extends rR{[Il](){let e;try{e=Ks.openSync(this[yl],this[eu],this[$D])}catch(r){if(this[LB]&&this[eu]==="r+"&&r&&r.code==="ENOENT")return this[eu]="w",this[Il]();throw r}this[df](null,e)}[sa](){if(this[hf]&&typeof this[or]=="number"){try{Ks.closeSync(this[or])}catch(e){}this[or]=null,this.emit("close")}}[NB](e){try{this[tu](null,Ks.writeSync(this[or],e,0,e.length,this[ru]))}catch(r){this[tu](r,0)}}},UFe=(t,e,r,i)=>{let n=(o,a)=>i(o,a,e),s=new KFe;s.oncomplete=n,DB.writeBuffers(t,e,r,s)};tC.ReadStream=tR;tC.ReadStreamSync=CV;tC.WriteStream=rR;tC.WriteStreamSync=mV});var sC=w((JAt,EV)=>{"use strict";var HFe=CB(),YAt=require("path"),GFe=uf(),jFe=require("events"),YFe=bp(),qFe=1024*1024,JFe=$d(),IV=dB(),WFe=QD(),iR=Buffer.from([31,139]),Us=Symbol("state"),iu=Symbol("writeEntry"),AA=Symbol("readEntry"),nR=Symbol("nextEntry"),yV=Symbol("processEntry"),Hs=Symbol("extendedHeader"),iC=Symbol("globalExtendedHeader"),Bl=Symbol("meta"),wV=Symbol("emitMeta"),yr=Symbol("buffer"),lA=Symbol("queue"),nu=Symbol("ended"),BV=Symbol("emittedEnd"),su=Symbol("emit"),Ln=Symbol("unzip"),TB=Symbol("consumeChunk"),OB=Symbol("consumeChunkSub"),sR=Symbol("consumeBody"),bV=Symbol("consumeMeta"),QV=Symbol("consumeHeader"),MB=Symbol("consuming"),oR=Symbol("bufferConcat"),aR=Symbol("maybeEnd"),nC=Symbol("writing"),bl=Symbol("aborted"),KB=Symbol("onDone"),ou=Symbol("sawValidEntry"),UB=Symbol("sawNullBlock"),HB=Symbol("sawEOF"),zFe=t=>!0;EV.exports=HFe(class extends jFe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[ou]=null,this.on(KB,r=>{(this[Us]==="begin"||this[ou]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(KB,e.ondone):this.on(KB,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||qFe,this.filter=typeof e.filter=="function"?e.filter:zFe,this.writable=!0,this.readable=!1,this[lA]=new YFe,this[yr]=null,this[AA]=null,this[iu]=null,this[Us]="begin",this[Bl]="",this[Hs]=null,this[iC]=null,this[nu]=!1,this[Ln]=null,this[bl]=!1,this[UB]=!1,this[HB]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[QV](e,r){this[ou]===null&&(this[ou]=!1);let i;try{i=new GFe(e,r,this[Hs],this[iC])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[UB]?(this[HB]=!0,this[Us]==="begin"&&(this[Us]="header"),this[su]("eof")):(this[UB]=!0,this[su]("nullBlock"));else if(this[UB]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[iu]=new JFe(i,this[Hs],this[iC]);if(!this[ou])if(s.remain){let o=()=>{s.invalid||(this[ou]=!0)};s.on("end",o)}else this[ou]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[su]("ignoredEntry",s),this[Us]="ignore",s.resume()):s.size>0&&(this[Bl]="",s.on("data",o=>this[Bl]+=o),this[Us]="meta"):(this[Hs]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[su]("ignoredEntry",s),this[Us]=s.remain?"ignore":"header",s.resume()):(s.remain?this[Us]="body":(this[Us]="header",s.end()),this[AA]?this[lA].push(s):(this[lA].push(s),this[nR]())))}}}[yV](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[AA]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[nR]()),r=!1)):(this[AA]=null,r=!1),r}[nR](){do;while(this[yV](this[lA].shift()));if(!this[lA].length){let e=this[AA];!e||e.flowing||e.size===e.remain?this[nC]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[sR](e,r){let i=this[iu],n=i.blockRemain,s=n>=e.length&&r===0?e:e.slice(r,r+n);return i.write(s),i.blockRemain||(this[Us]="header",this[iu]=null,i.end()),s.length}[bV](e,r){let i=this[iu],n=this[sR](e,r);return this[iu]||this[wV](i),n}[su](e,r,i){!this[lA].length&&!this[AA]?this.emit(e,r,i):this[lA].push([e,r,i])}[wV](e){switch(this[su]("meta",this[Bl]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[Hs]=IV.parse(this[Bl],this[Hs],!1);break;case"GlobalExtendedHeader":this[iC]=IV.parse(this[Bl],this[iC],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[Hs]=this[Hs]||Object.create(null),this[Hs].path=this[Bl].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[Hs]=this[Hs]||Object.create(null),this[Hs].linkpath=this[Bl].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[bl]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[bl])return;if(this[Ln]===null&&e){if(this[yr]&&(e=Buffer.concat([this[yr],e]),this[yr]=null),e.lengththis[TB](s)),this[Ln].on("error",s=>this.abort(s)),this[Ln].on("end",s=>{this[nu]=!0,this[TB]()}),this[nC]=!0;let n=this[Ln][i?"end":"write"](e);return this[nC]=!1,n}}this[nC]=!0,this[Ln]?this[Ln].write(e):this[TB](e),this[nC]=!1;let r=this[lA].length?!1:this[AA]?this[AA].flowing:!0;return!r&&!this[lA].length&&this[AA].once("drain",i=>this.emit("drain")),r}[oR](e){e&&!this[bl]&&(this[yr]=this[yr]?Buffer.concat([this[yr],e]):e)}[aR](){if(this[nu]&&!this[BV]&&!this[bl]&&!this[MB]){this[BV]=!0;let e=this[iu];if(e&&e.blockRemain){let r=this[yr]?this[yr].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[yr]&&e.write(this[yr]),e.end()}this[su](KB)}}[TB](e){if(this[MB])this[oR](e);else if(!e&&!this[yr])this[aR]();else{if(this[MB]=!0,this[yr]){this[oR](e);let r=this[yr];this[yr]=null,this[OB](r)}else this[OB](e);for(;this[yr]&&this[yr].length>=512&&!this[bl]&&!this[HB];){let r=this[yr];this[yr]=null,this[OB](r)}this[MB]=!1}(!this[yr]||this[nu])&&this[aR]()}[OB](e){let r=0,i=e.length;for(;r+512<=i&&!this[bl]&&!this[HB];)switch(this[Us]){case"begin":case"header":this[QV](e,r),r+=512;break;case"ignore":case"body":r+=this[sR](e,r);break;case"meta":r+=this[bV](e,r);break;default:throw new Error("invalid state: "+this[Us])}r{"use strict";var _Fe=af(),SV=sC(),If=require("fs"),VFe=Ef(),kV=require("path"),WAt=vV.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=_Fe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&ZFe(i,e),i.noResume||XFe(i),i.file&&i.sync?$Fe(i):i.file?eNe(i,r):xV(i)},XFe=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},ZFe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||kV.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(kV.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},$Fe=t=>{let e=xV(t),r=t.file,i=!0,n;try{let s=If.statSync(r),o=t.maxReadSize||16*1024*1024;if(s.size{let r=new SV(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("end",o),If.stat(n,(l,c)=>{if(l)a(l);else{let u=new VFe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},xV=t=>new SV(t)});var LV=w((XAt,PV)=>{"use strict";var tNe=af(),jB=PB(),_At=require("fs"),DV=Ef(),RV=GB(),FV=require("path"),VAt=PV.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=tNe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?rNe(i,e):i.file?iNe(i,e,r):i.sync?nNe(i,e):sNe(i,e)},rNe=(t,e)=>{let r=new jB.Sync(t),i=new DV.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(i),NV(r,e)},iNe=(t,e,r)=>{let i=new jB(t),n=new DV.WriteStream(t.file,{mode:t.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return AR(i,e),r?s.then(r,r):s},NV=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?RV({file:FV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},AR=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return RV({file:FV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>AR(t,e));t.add(r)}t.end()},nNe=(t,e)=>{let r=new jB.Sync(t);return NV(r,e),r},sNe=(t,e)=>{let r=new jB(t);return AR(r,e),r}});var lR=w((elt,TV)=>{"use strict";var oNe=af(),OV=PB(),ZAt=sC(),Gs=require("fs"),MV=Ef(),KV=GB(),UV=require("path"),HV=uf(),$At=TV.exports=(t,e,r)=>{let i=oNe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?aNe(i,e):ANe(i,e,r)},aNe=(t,e)=>{let r=new OV.Sync(t),i=!0,n,s;try{try{n=Gs.openSync(t.file,"r+")}catch(l){if(l.code==="ENOENT")n=Gs.openSync(t.file,"w+");else throw l}let o=Gs.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,t.mtimeCache&&t.mtimeCache.set(l.path,l.mtime)}i=!1,lNe(t,r,s,n,e)}finally{if(i)try{Gs.closeSync(n)}catch(o){}}},lNe=(t,e,r,i,n)=>{let s=new MV.WriteStreamSync(t.file,{fd:i,start:r});e.pipe(s),cNe(e,n)},ANe=(t,e,r)=>{e=Array.from(e);let i=new OV(t),n=(o,a,l)=>{let c=(p,m)=>{p?Gs.close(o,y=>l(p)):l(null,m)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,m)=>{if(p)return c(p);if(g+=m,g<512&&m)return Gs.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let y=new HV(f);if(!y.cksumValid)return c(null,u);let b=512*Math.ceil(y.size/512);if(u+b+512>a||(u+=b+512,u>=a))return c(null,u);t.mtimeCache&&t.mtimeCache.set(y.path,y.mtime),g=0,Gs.read(o,f,0,512,u,h)};Gs.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",Gs.open(t.file,l,c);if(u)return a(u);Gs.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,m)=>{if(p)return a(p);let y=new MV.WriteStream(t.file,{fd:g,start:m});i.pipe(y),y.on("error",a),y.on("close",o),GV(i,e)})})};Gs.open(t.file,l,c)});return r?s.then(r,r):s},cNe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?KV({file:UV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},GV=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return KV({file:UV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>GV(t,e));t.add(r)}t.end()}});var YV=w((rlt,jV)=>{"use strict";var uNe=af(),gNe=lR(),tlt=jV.exports=(t,e,r)=>{let i=uNe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),fNe(i),gNe(i,e,r)},fNe=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,i)=>e(r,i)&&!(t.mtimeCache.get(r)>i.mtime):(r,i)=>!(t.mtimeCache.get(r)>i.mtime)}});var WV=w((ilt,qV)=>{var{promisify:JV}=require("util"),Ql=require("fs"),hNe=t=>{if(!t)t={mode:511,fs:Ql};else if(typeof t=="object")t=N({mode:511,fs:Ql},t);else if(typeof t=="number")t={mode:t,fs:Ql};else if(typeof t=="string")t={mode:parseInt(t,8),fs:Ql};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||Ql.mkdir,t.mkdirAsync=JV(t.mkdir),t.stat=t.stat||t.fs.stat||Ql.stat,t.statAsync=JV(t.stat),t.statSync=t.statSync||t.fs.statSync||Ql.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||Ql.mkdirSync,t};qV.exports=hNe});var _V=w((nlt,zV)=>{var pNe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:dNe,parse:CNe}=require("path"),mNe=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=dNe(t),pNe==="win32"){let e=/[*|"<>?:]/,{root:r}=CNe(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};zV.exports=mNe});var e9=w((slt,VV)=>{var{dirname:XV}=require("path"),ZV=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(i=>i.isDirectory()?r:void 0,i=>i.code==="ENOENT"?ZV(t,XV(e),e):void 0),$V=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(i){return i.code==="ENOENT"?$V(t,XV(e),e):void 0}};VV.exports={findMade:ZV,findMadeSync:$V}});var gR=w((olt,t9)=>{var{dirname:r9}=require("path"),cR=(t,e,r)=>{e.recursive=!1;let i=r9(t);return i===t?e.mkdirAsync(t,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return cR(i,e).then(s=>cR(t,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(s=>{if(s.isDirectory())return r;throw n},()=>{throw n})})},uR=(t,e,r)=>{let i=r9(t);if(e.recursive=!1,i===t)try{return e.mkdirSync(t,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(t,e),r||t}catch(n){if(n.code==="ENOENT")return uR(t,e,uR(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(s){throw n}}};t9.exports={mkdirpManual:cR,mkdirpManualSync:uR}});var s9=w((alt,i9)=>{var{dirname:n9}=require("path"),{findMade:ENe,findMadeSync:INe}=e9(),{mkdirpManual:yNe,mkdirpManualSync:wNe}=gR(),BNe=(t,e)=>(e.recursive=!0,n9(t)===t?e.mkdirAsync(t,e):ENe(e,t).then(i=>e.mkdirAsync(t,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return yNe(t,e);throw n}))),bNe=(t,e)=>{if(e.recursive=!0,n9(t)===t)return e.mkdirSync(t,e);let i=INe(e,t);try{return e.mkdirSync(t,e),i}catch(n){if(n.code==="ENOENT")return wNe(t,e);throw n}};i9.exports={mkdirpNative:BNe,mkdirpNativeSync:bNe}});var l9=w((Alt,o9)=>{var a9=require("fs"),QNe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,fR=QNe.replace(/^v/,"").split("."),A9=+fR[0]>10||+fR[0]==10&&+fR[1]>=12,vNe=A9?t=>t.mkdir===a9.mkdir:()=>!1,SNe=A9?t=>t.mkdirSync===a9.mkdirSync:()=>!1;o9.exports={useNative:vNe,useNativeSync:SNe}});var p9=w((llt,c9)=>{var yf=WV(),wf=_V(),{mkdirpNative:u9,mkdirpNativeSync:g9}=s9(),{mkdirpManual:f9,mkdirpManualSync:h9}=gR(),{useNative:kNe,useNativeSync:xNe}=l9(),Bf=(t,e)=>(t=wf(t),e=yf(e),kNe(e)?u9(t,e):f9(t,e)),PNe=(t,e)=>(t=wf(t),e=yf(e),xNe(e)?g9(t,e):h9(t,e));Bf.sync=PNe;Bf.native=(t,e)=>u9(wf(t),yf(e));Bf.manual=(t,e)=>f9(wf(t),yf(e));Bf.nativeSync=(t,e)=>g9(wf(t),yf(e));Bf.manualSync=(t,e)=>h9(wf(t),yf(e));c9.exports=Bf});var w9=w((clt,d9)=>{"use strict";var js=require("fs"),au=require("path"),DNe=js.lchown?"lchown":"chown",RNe=js.lchownSync?"lchownSync":"chownSync",C9=js.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),m9=(t,e,r)=>{try{return js[RNe](t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},FNe=(t,e,r)=>{try{return js.chownSync(t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},NNe=C9?(t,e,r,i)=>n=>{!n||n.code!=="EISDIR"?i(n):js.chown(t,e,r,i)}:(t,e,r,i)=>i,hR=C9?(t,e,r)=>{try{return m9(t,e,r)}catch(i){if(i.code!=="EISDIR")throw i;FNe(t,e,r)}}:(t,e,r)=>m9(t,e,r),LNe=process.version,E9=(t,e,r)=>js.readdir(t,e,r),TNe=(t,e)=>js.readdirSync(t,e);/^v4\./.test(LNe)&&(E9=(t,e,r)=>js.readdir(t,r));var YB=(t,e,r,i)=>{js[DNe](t,e,r,NNe(t,e,r,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},I9=(t,e,r,i,n)=>{if(typeof e=="string")return js.lstat(au.resolve(t,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,I9(t,o,r,i,n)});if(e.isDirectory())pR(au.resolve(t,e.name),r,i,s=>{if(s)return n(s);let o=au.resolve(t,e.name);YB(o,r,i,n)});else{let s=au.resolve(t,e.name);YB(s,r,i,n)}},pR=(t,e,r,i)=>{E9(t,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return YB(t,e,r,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return YB(t,e,r,i)}};s.forEach(c=>I9(t,c,e,r,l))})},ONe=(t,e,r,i)=>{if(typeof e=="string")try{let n=js.lstatSync(au.resolve(t,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&y9(au.resolve(t,e.name),r,i),hR(au.resolve(t,e.name),r,i)},y9=(t,e,r)=>{let i;try{i=TNe(t,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return hR(t,e,r);throw n}return i&&i.length&&i.forEach(n=>ONe(t,n,e,r)),hR(t,e,r)};d9.exports=pR;pR.sync=y9});var v9=w((flt,dR)=>{"use strict";var B9=p9(),Ys=require("fs"),qB=require("path"),b9=w9(),CR=class extends Error{constructor(e,r){super("Cannot extract through symbolic link");this.path=r,this.symlink=e}get name(){return"SylinkError"}},oC=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'");this.path=e,this.code=r}get name(){return"CwdError"}},ult=dR.exports=(t,e,r)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=e.cwd,h=(y,b)=>{y?r(y):(g.set(t,!0),b&&l?b9(b,o,a,S=>h(S)):s?Ys.chmod(t,n,r):r())};if(g&&g.get(t)===!0)return h();if(t===f)return Ys.stat(t,(y,b)=>{(y||!b.isDirectory())&&(y=new oC(t,y&&y.code||"ENOTDIR")),h(y)});if(c)return B9(t,{mode:n}).then(y=>h(null,y),h);let m=qB.relative(f,t).split(/\/|\\/);JB(f,m,n,g,u,f,null,h)},JB=(t,e,r,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=t+"/"+l;if(i.get(c))return JB(c,e,r,i,n,s,o,a);Ys.mkdir(c,r,Q9(c,e,r,i,n,s,o,a))},Q9=(t,e,r,i,n,s,o,a)=>l=>{if(l){if(l.path&&qB.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new oC(s,l.code));Ys.lstat(t,(c,u)=>{if(c)a(c);else if(u.isDirectory())JB(t,e,r,i,n,s,o,a);else if(n)Ys.unlink(t,g=>{if(g)return a(g);Ys.mkdir(t,r,Q9(t,e,r,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new CR(t,t+"/"+e.join("/")));a(l)}})}else o=o||t,JB(t,e,r,i,n,s,o,a)},glt=dR.exports.sync=(t,e)=>{let r=e.umask,i=e.mode|448,n=(i&r)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,f=y=>{u.set(t,!0),y&&a&&b9.sync(y,s,o),n&&Ys.chmodSync(t,i)};if(u&&u.get(t)===!0)return f();if(t===g){let y=!1,b="ENOTDIR";try{y=Ys.statSync(t).isDirectory()}catch(S){b=S.code}finally{if(!y)throw new oC(t,b)}f();return}if(l)return f(B9.sync(t,i));let p=qB.relative(g,t).split(/\/|\\/),m=null;for(let y=p.shift(),b=g;y&&(b+="/"+y);y=p.shift())if(!u.get(b))try{Ys.mkdirSync(b,i),m=m||b,u.set(b,!0)}catch(S){if(S.path&&qB.dirname(S.path)===g&&(S.code==="ENOTDIR"||S.code==="ENOENT"))return new oC(g,S.code);let k=Ys.lstatSync(b);if(k.isDirectory()){u.set(b,!0);continue}else if(c){Ys.unlinkSync(b),Ys.mkdirSync(b,i),m=m||b,u.set(b,!0);continue}else if(k.isSymbolicLink())return new CR(b,b+"/"+p.join("/"))}return f(m)}});var x9=w((hlt,S9)=>{var k9=require("assert");S9.exports=()=>{let t=new Map,e=new Map,{join:r}=require("path"),i=u=>r(u).split(/[\\\/]/).slice(0,-1).reduce((g,f)=>g.length?g.concat(r(g[g.length-1],f)):[f],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(f=>t.get(f)),dirs:[...g.dirs].map(f=>t.get(f))}},o=u=>{let{paths:g,dirs:f}=s(u);return g.every(h=>h[0]===u)&&f.every(h=>h[0]instanceof Set&&h[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:f}=e.get(u),h=new Set;return g.forEach(p=>{let m=t.get(p);k9.equal(m[0],u),m.length===1?t.delete(p):(m.shift(),typeof m[0]=="function"?h.add(m[0]):m[0].forEach(y=>h.add(y)))}),f.forEach(p=>{let m=t.get(p);k9(m[0]instanceof Set),m[0].size===1&&m.length===1?t.delete(p):m[0].size===1?(m.shift(),h.add(m[0])):m[0].delete(u)}),n.delete(u),h.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let f=new Set(u.map(h=>i(h)).reduce((h,p)=>h.concat(p)));return e.set(g,{dirs:f,paths:u}),u.forEach(h=>{let p=t.get(h);p?p.push(g):t.set(h,[g])}),f.forEach(h=>{let p=t.get(h);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):t.set(h,[new Set([g])])}),a(g)}}}});var R9=w((plt,P9)=>{var MNe=process.env.__FAKE_PLATFORM__||process.platform,KNe=MNe==="win32",UNe=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:HNe,O_TRUNC:GNe,O_WRONLY:jNe,UV_FS_O_FILEMAP:D9=0}=UNe.constants,YNe=KNe&&!!D9,qNe=512*1024,JNe=D9|GNe|HNe|jNe;P9.exports=YNe?t=>t"w"});var vR=w((Elt,F9)=>{"use strict";var WNe=require("assert"),dlt=require("events").EventEmitter,zNe=sC(),$t=require("fs"),_Ne=Ef(),cA=require("path"),mR=v9(),Clt=mR.sync,N9=FD(),VNe=x9(),L9=Symbol("onEntry"),ER=Symbol("checkFs"),T9=Symbol("checkFs2"),IR=Symbol("isReusable"),uA=Symbol("makeFs"),yR=Symbol("file"),wR=Symbol("directory"),WB=Symbol("link"),O9=Symbol("symlink"),M9=Symbol("hardlink"),K9=Symbol("unsupported"),mlt=Symbol("unknown"),U9=Symbol("checkPath"),bf=Symbol("mkdir"),dn=Symbol("onError"),zB=Symbol("pending"),H9=Symbol("pend"),Qf=Symbol("unpend"),BR=Symbol("ended"),bR=Symbol("maybeClose"),QR=Symbol("skip"),aC=Symbol("doChown"),AC=Symbol("uid"),lC=Symbol("gid"),G9=require("crypto"),j9=R9(),_B=()=>{throw new Error("sync function called cb somehow?!?")},XNe=(t,e)=>{if(process.platform!=="win32")return $t.unlink(t,e);let r=t+".DELETE."+G9.randomBytes(16).toString("hex");$t.rename(t,r,i=>{if(i)return e(i);$t.unlink(r,e)})},ZNe=t=>{if(process.platform!=="win32")return $t.unlinkSync(t);let e=t+".DELETE."+G9.randomBytes(16).toString("hex");$t.renameSync(t,e),$t.unlinkSync(e)},Y9=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,VB=class extends zNe{constructor(e){if(e||(e={}),e.ondone=r=>{this[BR]=!0,this[bR]()},super(e),this.reservations=VNe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[zB]=0,this[BR]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=cA.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[L9](r))}warn(e,r,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,r,i)}[bR](){this[BR]&&this[zB]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[U9](e){if(this.strip){let r=e.path.split(/\/|\\/);if(r.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let r=e.path;if(r.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;if(cA.win32.isAbsolute(r)){let i=cA.win32.parse(r);e.path=r.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:r})}}if(this.win32){let r=cA.win32.parse(e.path);e.path=r.root===""?N9.encode(e.path):r.root+N9.encode(e.path.substr(r.root.length))}return cA.isAbsolute(e.path)?e.absolute=e.path:e.absolute=cA.resolve(this.cwd,e.path),!0}[L9](e){if(!this[U9](e))return e.resume();switch(WNe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[ER](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[K9](e)}}[dn](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[Qf](),r.resume())}[bf](e,r,i){mR(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[aC](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[AC](e){return Y9(this.uid,e.uid,this.processUid)}[lC](e){return Y9(this.gid,e.gid,this.processGid)}[yR](e,r){let i=e.mode&4095||this.fmode,n=new _Ne.WriteStream(e.absolute,{flags:j9(e.size),mode:i,autoClose:!1});n.on("error",l=>this[dn](l,e));let s=1,o=l=>{if(l)return this[dn](l,e);--s==0&&$t.close(n.fd,c=>{r(),c?this[dn](c,e):this[Qf]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;$t.futimes(u,g,f,h=>h?$t.utimes(c,g,f,p=>o(p&&h)):o())}if(this[aC](e)){s++;let g=this[AC](e),f=this[lC](e);$t.fchown(u,g,f,h=>h?$t.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[dn](l,e)),e.pipe(a)),a.pipe(n)}[wR](e,r){let i=e.mode&4095||this.dmode;this[bf](e.absolute,i,n=>{if(n)return r(),this[dn](n,e);let s=1,o=a=>{--s==0&&(r(),this[Qf](),e.resume())};e.mtime&&!this.noMtime&&(s++,$t.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[aC](e)&&(s++,$t.chown(e.absolute,this[AC](e),this[lC](e),o)),o()})}[K9](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[O9](e,r){this[WB](e,e.linkpath,"symlink",r)}[M9](e,r){this[WB](e,cA.resolve(this.cwd,e.linkpath),"link",r)}[H9](){this[zB]++}[Qf](){this[zB]--,this[bR]()}[QR](e){this[Qf](),e.resume()}[IR](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&process.platform!=="win32"}[ER](e){this[H9]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,i=>this[T9](e,i))}[T9](e,r){this[bf](cA.dirname(e.absolute),this.dmode,i=>{if(i)return r(),this[dn](i,e);$t.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[QR](e),r()):n||this[IR](e,s)?this[uA](null,e,r):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[uA](null,e,r):$t.chmod(e.absolute,e.mode,o=>this[uA](o,e,r)):$t.rmdir(e.absolute,o=>this[uA](o,e,r)):XNe(e.absolute,o=>this[uA](o,e,r))})})}[uA](e,r,i){if(e)return this[dn](e,r);switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[yR](r,i);case"Link":return this[M9](r,i);case"SymbolicLink":return this[O9](r,i);case"Directory":case"GNUDumpDir":return this[wR](r,i)}}[WB](e,r,i,n){$t[i](r,e.absolute,s=>{if(s)return this[dn](s,e);n(),this[Qf](),e.resume()})}},q9=class extends VB{constructor(e){super(e)}[ER](e){let r=this[bf](cA.dirname(e.absolute),this.dmode,_B);if(r)return this[dn](r,e);try{let i=$t.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[QR](e);if(this[IR](e,i))return this[uA](null,e,_B);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&$t.chmodSync(e.absolute,e.mode):$t.rmdirSync(e.absolute):ZNe(e.absolute),this[uA](null,e,_B)}catch(n){return this[dn](n,e)}}catch(i){return this[uA](null,e,_B)}}[yR](e,r){let i=e.mode&4095||this.fmode,n=l=>{let c;try{$t.closeSync(o)}catch(u){c=u}(l||c)&&this[dn](l||c,e)},s,o;try{o=$t.openSync(e.absolute,j9(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[dn](l,e)),e.pipe(a)),a.on("data",l=>{try{$t.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{$t.futimesSync(o,u,g)}catch(f){try{$t.utimesSync(e.absolute,u,g)}catch(h){c=f}}}if(this[aC](e)){let u=this[AC](e),g=this[lC](e);try{$t.fchownSync(o,u,g)}catch(f){try{$t.chownSync(e.absolute,u,g)}catch(h){c=c||f}}}n(c)})}[wR](e,r){let i=e.mode&4095||this.dmode,n=this[bf](e.absolute,i);if(n)return this[dn](n,e);if(e.mtime&&!this.noMtime)try{$t.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[aC](e))try{$t.chownSync(e.absolute,this[AC](e),this[lC](e))}catch(s){}e.resume()}[bf](e,r){try{return mR.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(i){return i}}[WB](e,r,i,n){try{$t[i+"Sync"](r,e.absolute),e.resume()}catch(s){return this[dn](s,e)}}};VB.Sync=q9;F9.exports=VB});var V9=w((ylt,J9)=>{"use strict";var $Ne=af(),XB=vR(),W9=require("fs"),z9=Ef(),_9=require("path"),Ilt=J9.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=$Ne(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&eLe(i,e),i.file&&i.sync?tLe(i):i.file?rLe(i,r):i.sync?iLe(i):nLe(i)},eLe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||_9.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(_9.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},tLe=t=>{let e=new XB.Sync(t),r=t.file,i=!0,n,s=W9.statSync(r),o=t.maxReadSize||16*1024*1024;new z9.ReadStreamSync(r,{readSize:o,size:s.size}).pipe(e)},rLe=(t,e)=>{let r=new XB(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("close",o),W9.stat(n,(l,c)=>{if(l)a(l);else{let u=new z9.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},iLe=t=>new XB.Sync(t),nLe=t=>new XB(t)});var X9=w(hi=>{"use strict";hi.c=hi.create=LV();hi.r=hi.replace=lR();hi.t=hi.list=GB();hi.u=hi.update=YV();hi.x=hi.extract=V9();hi.Pack=PB();hi.Unpack=vR();hi.Parse=sC();hi.ReadEntry=$d();hi.WriteEntry=UD();hi.Header=uf();hi.Pax=dB();hi.types=Zd()});var r7=w((blt,t7)=>{var kR;t7.exports.getContent=()=>(typeof kR=="undefined"&&(kR=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),kR)});var A7=w((xR,a7)=>{(function(t,e){typeof xR=="object"?a7.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(xR,function(){function t(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function r(n,s,o,a,l,c,u){var g="",f=0,h,p,m=a.slice(0);if(m.push([s,o])&&a.length>0&&(a.forEach(function(b,S){S>0&&(g+=(b[1]?" ":"\u2502")+" "),!p&&b[0]===s&&(p=!0)}),g+=t(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var y=e(s,c);y.forEach(function(b){h=++f===y.length,r(b,s[b],h,m,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;r(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return r(".",n,!1,[],s,o,function(l){a+=l+` +`}),a},i})});var fA=w(RR=>{"use strict";Object.defineProperty(RR,"__esModule",{value:!0});RR.default=h7;function h7(){}h7.prototype={diff:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(m){return n?(setTimeout(function(){n(void 0,m)},0),!0):m}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,l=e.length,c=1,u=a+l,g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],r,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(r),count:r.length}]);function h(){for(var m=-1*c;m<=c;m+=2){var y=void 0,b=g[m-1],S=g[m+1],k=(S?S.newPos:0)-m;b&&(g[m-1]=void 0);var T=b&&b.newPos+1=a&&k+1>=l)return o(gLe(s,y.components,r,e,s.useLongestToken));g[m]=y}c++}if(n)(function m(){setTimeout(function(){if(c>u)return n();h()||m()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,r,i){var n=e[e.length-1];n&&n.added===r&&n.removed===i?e[e.length-1]={count:n.count+1,added:r,removed:i}:e.push({count:1,added:r,removed:i})},extractCommon:function(e,r,i,n){for(var s=r.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?m:h}),c.value=t.join(u)}else c.value=t.join(r.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&t.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function fLe(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var d7=w(cC=>{"use strict";Object.defineProperty(cC,"__esModule",{value:!0});cC.diffChars=hLe;cC.characterDiff=void 0;var dLe=pLe(fA());function pLe(t){return t&&t.__esModule?t:{default:t}}var p7=new dLe.default;cC.characterDiff=p7;function hLe(t,e,r){return p7.diff(t,e,r)}});var NR=w(FR=>{"use strict";Object.defineProperty(FR,"__esModule",{value:!0});FR.generateOptions=CLe;function CLe(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}});var E7=w(vf=>{"use strict";Object.defineProperty(vf,"__esModule",{value:!0});vf.diffWords=mLe;vf.diffWordsWithSpace=ELe;vf.wordDiff=void 0;var yLe=ILe(fA()),wLe=NR();function ILe(t){return t&&t.__esModule?t:{default:t}}var C7=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,m7=/\S/,uC=new yLe.default;vf.wordDiff=uC;uC.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!m7.test(t)&&!m7.test(e)};uC.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r{"use strict";Object.defineProperty(Sf,"__esModule",{value:!0});Sf.diffLines=BLe;Sf.diffTrimmedLines=bLe;Sf.lineDiff=void 0;var vLe=QLe(fA()),SLe=NR();function QLe(t){return t&&t.__esModule?t:{default:t}}var ZB=new vLe.default;Sf.lineDiff=ZB;ZB.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var i=0;i{"use strict";Object.defineProperty(gC,"__esModule",{value:!0});gC.diffSentences=kLe;gC.sentenceDiff=void 0;var PLe=xLe(fA());function xLe(t){return t&&t.__esModule?t:{default:t}}var LR=new PLe.default;gC.sentenceDiff=LR;LR.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};function kLe(t,e,r){return LR.diff(t,e,r)}});var y7=w(fC=>{"use strict";Object.defineProperty(fC,"__esModule",{value:!0});fC.diffCss=DLe;fC.cssDiff=void 0;var FLe=RLe(fA());function RLe(t){return t&&t.__esModule?t:{default:t}}var TR=new FLe.default;fC.cssDiff=TR;TR.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function DLe(t,e,r){return TR.diff(t,e,r)}});var B7=w(kf=>{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});kf.diffJson=NLe;kf.canonicalize=e0;kf.jsonDiff=void 0;var w7=LLe(fA()),TLe=$B();function LLe(t){return t&&t.__esModule?t:{default:t}}function t0(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?t0=function(r){return typeof r}:t0=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},t0(t)}var OLe=Object.prototype.toString,Au=new w7.default;kf.jsonDiff=Au;Au.useLongestToken=!0;Au.tokenize=TLe.lineDiff.tokenize;Au.castInput=function(t){var e=this.options,r=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o=="undefined"?r:o}:i;return typeof t=="string"?t:JSON.stringify(e0(t,null,null,n),n," ")};Au.equals=function(t,e){return w7.default.prototype.equals.call(Au,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function NLe(t,e,r){return Au.diff(t,e,r)}function e0(t,e,r,i,n){e=e||[],r=r||[],i&&(t=i(n,t));var s;for(s=0;s{"use strict";Object.defineProperty(hC,"__esModule",{value:!0});hC.diffArrays=MLe;hC.arrayDiff=void 0;var ULe=KLe(fA());function KLe(t){return t&&t.__esModule?t:{default:t}}var pC=new ULe.default;hC.arrayDiff=pC;pC.tokenize=function(t){return t.slice()};pC.join=pC.removeEmpty=function(t){return t};function MLe(t,e,r){return pC.diff(t,e,r)}});var r0=w(OR=>{"use strict";Object.defineProperty(OR,"__esModule",{value:!0});OR.parsePatch=HLe;function HLe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.split(/\r\n|[\n\v\f\r\x85]/),i=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],n=[],s=0;function o(){var c={};for(n.push(c);s{"use strict";Object.defineProperty(MR,"__esModule",{value:!0});MR.default=GLe;function GLe(t,e,r){var i=!0,n=!1,s=!1,o=1;return function a(){if(i&&!s){if(n?o++:i=!1,t+o<=r)return o;s=!0}if(!n)return s||(i=!0),e<=t-o?-o++:(n=!0,a())}}});var k7=w(i0=>{"use strict";Object.defineProperty(i0,"__esModule",{value:!0});i0.applyPatch=v7;i0.applyPatches=jLe;var S7=r0(),qLe=YLe(Q7());function YLe(t){return t&&t.__esModule?t:{default:t}}function v7(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,S7.parsePatch)(e)),Array.isArray(e)){if(e.length>1)throw new Error("applyPatch only works with a single input.");e=e[0]}var i=t.split(/\r\n|[\n\v\f\r\x85]/),n=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=e.hunks,o=r.compareLine||function(O,L,pe,Ce){return L===Ce},a=0,l=r.fuzzFactor||0,c=0,u=0,g,f;function h(O,L){for(var pe=0;pe0?Ce[0]:" ",te=Ce.length>0?Ce.substr(1):Ce;if(Oe===" "||Oe==="-"){if(!o(L+1,i[L],Oe,te)&&(a++,a>l))return!1;L++}}return!0}for(var p=0;p0?re[0]:" ",A=re.length>0?re.substr(1):re,oe=j.linedelimiters[J];if(ee===" ")Z++;else if(ee==="-")i.splice(Z,1),n.splice(Z,1);else if(ee==="+")i.splice(Z,0,A),n.splice(Z,0,oe),Z++;else if(ee==="\\"){var le=j.lines[J-1]?j.lines[J-1][0]:null;le==="+"?g=!0:le==="-"&&(f=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else f&&(i.push(""),n.push(` +`));for(var X=0;X{"use strict";Object.defineProperty(dC,"__esModule",{value:!0});dC.structuredPatch=x7;dC.createTwoFilesPatch=P7;dC.createPatch=JLe;var WLe=$B();function KR(t){return VLe(t)||_Le(t)||zLe()}function zLe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _Le(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function VLe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e0?l(j.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(Y=f).push.apply(Y,KR(T.map(function(X){return(k.added?"+":"-")+X}))),k.added?p+=T.length:h+=T.length}else{if(u)if(T.length<=o.context*2&&S=a.length-2&&T.length<=o.context){var A=/\n$/.test(r),oe=/\n$/.test(i),le=T.length==0&&f.length>ee.oldLines;!A&&le&&f.splice(ee.oldLines,0,"\\ No newline at end of file"),(!A&&!le||!oe)&&f.push("\\ No newline at end of file")}c.push(ee),u=0,g=0,f=[]}h+=T.length,p+=T.length}},y=0;y{"use strict";Object.defineProperty(n0,"__esModule",{value:!0});n0.arrayEqual=XLe;n0.arrayStartsWith=D7;function XLe(t,e){return t.length!==e.length?!1:D7(t,e)}function D7(t,e){if(e.length>t.length)return!1;for(var r=0;r{"use strict";Object.defineProperty(s0,"__esModule",{value:!0});s0.calcLineCount=F7;s0.merge=ZLe;var $Le=UR(),eTe=r0(),HR=R7();function xf(t){return iTe(t)||rTe(t)||tTe()}function tTe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function rTe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function iTe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e{"use strict";Object.defineProperty(YR,"__esModule",{value:!0});YR.convertChangesToDMP=aTe;function aTe(t){for(var e=[],r,i,n=0;n{"use strict";Object.defineProperty(qR,"__esModule",{value:!0});qR.convertChangesToXML=ATe;function ATe(t){for(var e=[],r=0;r"):i.removed&&e.push(""),e.push(lTe(i.value)),i.added?e.push(""):i.removed&&e.push("")}return e.join("")}function lTe(t){var e=t;return e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e}});var V7=w(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Object.defineProperty(Ur,"Diff",{enumerable:!0,get:function(){return cTe.default}});Object.defineProperty(Ur,"diffChars",{enumerable:!0,get:function(){return uTe.diffChars}});Object.defineProperty(Ur,"diffWords",{enumerable:!0,get:function(){return J7.diffWords}});Object.defineProperty(Ur,"diffWordsWithSpace",{enumerable:!0,get:function(){return J7.diffWordsWithSpace}});Object.defineProperty(Ur,"diffLines",{enumerable:!0,get:function(){return W7.diffLines}});Object.defineProperty(Ur,"diffTrimmedLines",{enumerable:!0,get:function(){return W7.diffTrimmedLines}});Object.defineProperty(Ur,"diffSentences",{enumerable:!0,get:function(){return gTe.diffSentences}});Object.defineProperty(Ur,"diffCss",{enumerable:!0,get:function(){return fTe.diffCss}});Object.defineProperty(Ur,"diffJson",{enumerable:!0,get:function(){return z7.diffJson}});Object.defineProperty(Ur,"canonicalize",{enumerable:!0,get:function(){return z7.canonicalize}});Object.defineProperty(Ur,"diffArrays",{enumerable:!0,get:function(){return hTe.diffArrays}});Object.defineProperty(Ur,"applyPatch",{enumerable:!0,get:function(){return _7.applyPatch}});Object.defineProperty(Ur,"applyPatches",{enumerable:!0,get:function(){return _7.applyPatches}});Object.defineProperty(Ur,"parsePatch",{enumerable:!0,get:function(){return pTe.parsePatch}});Object.defineProperty(Ur,"merge",{enumerable:!0,get:function(){return dTe.merge}});Object.defineProperty(Ur,"structuredPatch",{enumerable:!0,get:function(){return JR.structuredPatch}});Object.defineProperty(Ur,"createTwoFilesPatch",{enumerable:!0,get:function(){return JR.createTwoFilesPatch}});Object.defineProperty(Ur,"createPatch",{enumerable:!0,get:function(){return JR.createPatch}});Object.defineProperty(Ur,"convertChangesToDMP",{enumerable:!0,get:function(){return CTe.convertChangesToDMP}});Object.defineProperty(Ur,"convertChangesToXML",{enumerable:!0,get:function(){return mTe.convertChangesToXML}});var cTe=ETe(fA()),uTe=d7(),J7=E7(),W7=$B(),gTe=I7(),fTe=y7(),z7=B7(),hTe=b7(),_7=k7(),pTe=r0(),dTe=j7(),JR=UR(),CTe=Y7(),mTe=q7();function ETe(t){return t&&t.__esModule?t:{default:t}}});var a0=w((dct,X7)=>{var ITe=Ms(),yTe=yd(),wTe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,BTe=/^\w*$/;function bTe(t,e){if(ITe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||yTe(t)?!0:BTe.test(t)||!wTe.test(t)||e!=null&&t in Object(e)}X7.exports=bTe});var A0=w((Cct,Z7)=>{var QTe=Gc(),vTe=Rn(),STe="[object AsyncFunction]",kTe="[object Function]",xTe="[object GeneratorFunction]",PTe="[object Proxy]";function DTe(t){if(!vTe(t))return!1;var e=QTe(t);return e==kTe||e==xTe||e==STe||e==PTe}Z7.exports=DTe});var eX=w((mct,$7)=>{var RTe=Fs(),FTe=RTe["__core-js_shared__"];$7.exports=FTe});var iX=w((Ect,tX)=>{var WR=eX(),rX=function(){var t=/[^.]+$/.exec(WR&&WR.keys&&WR.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function NTe(t){return!!rX&&rX in t}tX.exports=NTe});var zR=w((Ict,nX)=>{var LTe=Function.prototype,TTe=LTe.toString;function OTe(t){if(t!=null){try{return TTe.call(t)}catch(e){}try{return t+""}catch(e){}}return""}nX.exports=OTe});var oX=w((yct,sX)=>{var MTe=A0(),KTe=iX(),UTe=Rn(),HTe=zR(),GTe=/[\\^$.*+?()[\]{}|]/g,jTe=/^\[object .+?Constructor\]$/,YTe=Function.prototype,qTe=Object.prototype,JTe=YTe.toString,WTe=qTe.hasOwnProperty,zTe=RegExp("^"+JTe.call(WTe).replace(GTe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _Te(t){if(!UTe(t)||KTe(t))return!1;var e=MTe(t)?zTe:jTe;return e.test(HTe(t))}sX.exports=_Te});var AX=w((wct,aX)=>{function VTe(t,e){return t==null?void 0:t[e]}aX.exports=VTe});var Sl=w((Bct,lX)=>{var XTe=oX(),ZTe=AX();function $Te(t,e){var r=ZTe(t,e);return XTe(r)?r:void 0}lX.exports=$Te});var CC=w((bct,cX)=>{var eOe=Sl(),tOe=eOe(Object,"create");cX.exports=tOe});var fX=w((Qct,uX)=>{var gX=CC();function rOe(){this.__data__=gX?gX(null):{},this.size=0}uX.exports=rOe});var pX=w((vct,hX)=>{function iOe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}hX.exports=iOe});var CX=w((Sct,dX)=>{var nOe=CC(),sOe="__lodash_hash_undefined__",oOe=Object.prototype,aOe=oOe.hasOwnProperty;function AOe(t){var e=this.__data__;if(nOe){var r=e[t];return r===sOe?void 0:r}return aOe.call(e,t)?e[t]:void 0}dX.exports=AOe});var EX=w((kct,mX)=>{var lOe=CC(),cOe=Object.prototype,uOe=cOe.hasOwnProperty;function gOe(t){var e=this.__data__;return lOe?e[t]!==void 0:uOe.call(e,t)}mX.exports=gOe});var yX=w((xct,IX)=>{var fOe=CC(),hOe="__lodash_hash_undefined__";function pOe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=fOe&&e===void 0?hOe:e,this}IX.exports=pOe});var BX=w((Pct,wX)=>{var dOe=fX(),COe=pX(),mOe=CX(),EOe=EX(),IOe=yX();function Pf(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{function yOe(){this.__data__=[],this.size=0}bX.exports=yOe});var Df=w((Rct,vX)=>{function wOe(t,e){return t===e||t!==t&&e!==e}vX.exports=wOe});var mC=w((Fct,SX)=>{var BOe=Df();function bOe(t,e){for(var r=t.length;r--;)if(BOe(t[r][0],e))return r;return-1}SX.exports=bOe});var xX=w((Nct,kX)=>{var QOe=mC(),vOe=Array.prototype,SOe=vOe.splice;function kOe(t){var e=this.__data__,r=QOe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():SOe.call(e,r,1),--this.size,!0}kX.exports=kOe});var DX=w((Lct,PX)=>{var xOe=mC();function POe(t){var e=this.__data__,r=xOe(e,t);return r<0?void 0:e[r][1]}PX.exports=POe});var FX=w((Tct,RX)=>{var DOe=mC();function ROe(t){return DOe(this.__data__,t)>-1}RX.exports=ROe});var LX=w((Oct,NX)=>{var FOe=mC();function NOe(t,e){var r=this.__data__,i=FOe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}NX.exports=NOe});var EC=w((Mct,TX)=>{var LOe=QX(),TOe=xX(),OOe=DX(),MOe=FX(),KOe=LX();function Rf(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var UOe=Sl(),HOe=Fs(),GOe=UOe(HOe,"Map");OX.exports=GOe});var UX=w((Uct,MX)=>{var KX=BX(),jOe=EC(),YOe=l0();function qOe(){this.size=0,this.__data__={hash:new KX,map:new(YOe||jOe),string:new KX}}MX.exports=qOe});var GX=w((Hct,HX)=>{function JOe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}HX.exports=JOe});var IC=w((Gct,jX)=>{var WOe=GX();function zOe(t,e){var r=t.__data__;return WOe(e)?r[typeof e=="string"?"string":"hash"]:r.map}jX.exports=zOe});var qX=w((jct,YX)=>{var _Oe=IC();function VOe(t){var e=_Oe(this,t).delete(t);return this.size-=e?1:0,e}YX.exports=VOe});var WX=w((Yct,JX)=>{var XOe=IC();function ZOe(t){return XOe(this,t).get(t)}JX.exports=ZOe});var _X=w((qct,zX)=>{var $Oe=IC();function eMe(t){return $Oe(this,t).has(t)}zX.exports=eMe});var XX=w((Jct,VX)=>{var tMe=IC();function rMe(t,e){var r=tMe(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}VX.exports=rMe});var c0=w((Wct,ZX)=>{var iMe=UX(),nMe=qX(),sMe=WX(),oMe=_X(),aMe=XX();function Ff(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var eZ=c0(),AMe="Expected a function";function _R(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(AMe);var r=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=r.cache;if(s.has(n))return s.get(n);var o=t.apply(this,i);return r.cache=s.set(n,o)||s,o};return r.cache=new(_R.Cache||eZ),r}_R.Cache=eZ;$X.exports=_R});var iZ=w((_ct,rZ)=>{var lMe=tZ(),cMe=500;function uMe(t){var e=lMe(t,function(i){return r.size===cMe&&r.clear(),i}),r=e.cache;return e}rZ.exports=uMe});var sZ=w((Vct,nZ)=>{var gMe=iZ(),fMe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,hMe=/\\(\\)?/g,pMe=gMe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(fMe,function(r,i,n,s){e.push(n?s.replace(hMe,"$1"):i||r)}),e});nZ.exports=pMe});var Nf=w((Xct,oZ)=>{var dMe=Ms(),CMe=a0(),mMe=sZ(),EMe=of();function IMe(t,e){return dMe(t)?t:CMe(t,e)?[t]:mMe(EMe(t))}oZ.exports=IMe});var cu=w((Zct,aZ)=>{var yMe=yd(),wMe=1/0;function BMe(t){if(typeof t=="string"||yMe(t))return t;var e=t+"";return e=="0"&&1/t==-wMe?"-0":e}aZ.exports=BMe});var yC=w(($ct,AZ)=>{var bMe=Nf(),QMe=cu();function vMe(t,e){e=bMe(e,t);for(var r=0,i=e.length;t!=null&&r{var SMe=Sl(),kMe=function(){try{var t=SMe(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();lZ.exports=kMe});var Lf=w((tut,cZ)=>{var uZ=VR();function xMe(t,e,r){e=="__proto__"&&uZ?uZ(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}cZ.exports=xMe});var u0=w((rut,gZ)=>{var PMe=Lf(),DMe=Df(),RMe=Object.prototype,FMe=RMe.hasOwnProperty;function NMe(t,e,r){var i=t[e];(!(FMe.call(t,e)&&DMe(i,r))||r===void 0&&!(e in t))&&PMe(t,e,r)}gZ.exports=NMe});var wC=w((iut,fZ)=>{var LMe=9007199254740991,TMe=/^(?:0|[1-9]\d*)$/;function OMe(t,e){var r=typeof t;return e=e==null?LMe:e,!!e&&(r=="number"||r!="symbol"&&TMe.test(t))&&t>-1&&t%1==0&&t{var MMe=u0(),KMe=Nf(),UMe=wC(),pZ=Rn(),HMe=cu();function GMe(t,e,r,i){if(!pZ(t))return t;e=KMe(e,t);for(var n=-1,s=e.length,o=s-1,a=t;a!=null&&++n{var jMe=yC(),YMe=XR(),qMe=Nf();function JMe(t,e,r){for(var i=-1,n=e.length,s={};++i{function WMe(t,e){return t!=null&&e in Object(t)}mZ.exports=WMe});var yZ=w((aut,IZ)=>{var zMe=Gc(),_Me=Zo(),VMe="[object Arguments]";function XMe(t){return _Me(t)&&zMe(t)==VMe}IZ.exports=XMe});var BC=w((Aut,wZ)=>{var BZ=yZ(),ZMe=Zo(),bZ=Object.prototype,$Me=bZ.hasOwnProperty,eKe=bZ.propertyIsEnumerable,tKe=BZ(function(){return arguments}())?BZ:function(t){return ZMe(t)&&$Me.call(t,"callee")&&!eKe.call(t,"callee")};wZ.exports=tKe});var g0=w((lut,QZ)=>{var rKe=9007199254740991;function iKe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=rKe}QZ.exports=iKe});var ZR=w((cut,vZ)=>{var nKe=Nf(),sKe=BC(),oKe=Ms(),aKe=wC(),AKe=g0(),lKe=cu();function cKe(t,e,r){e=nKe(e,t);for(var i=-1,n=e.length,s=!1;++i{var uKe=EZ(),gKe=ZR();function fKe(t,e){return t!=null&&gKe(t,e,uKe)}SZ.exports=fKe});var xZ=w((gut,kZ)=>{var hKe=CZ(),pKe=$R();function dKe(t,e){return hKe(t,e,function(r,i){return pKe(t,i)})}kZ.exports=dKe});var f0=w((fut,PZ)=>{function CKe(t,e){for(var r=-1,i=e.length,n=t.length;++r{var RZ=Hc(),mKe=BC(),EKe=Ms(),FZ=RZ?RZ.isConcatSpreadable:void 0;function IKe(t){return EKe(t)||mKe(t)||!!(FZ&&t&&t[FZ])}DZ.exports=IKe});var OZ=w((put,LZ)=>{var yKe=f0(),wKe=NZ();function TZ(t,e,r,i,n){var s=-1,o=t.length;for(r||(r=wKe),n||(n=[]);++s0&&r(a)?e>1?TZ(a,e-1,r,i,n):yKe(n,a):i||(n[n.length]=a)}return n}LZ.exports=TZ});var KZ=w((dut,MZ)=>{var BKe=OZ();function bKe(t){var e=t==null?0:t.length;return e?BKe(t,1):[]}MZ.exports=bKe});var HZ=w((Cut,UZ)=>{function QKe(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}UZ.exports=QKe});var eF=w((mut,GZ)=>{var vKe=HZ(),jZ=Math.max;function SKe(t,e,r){return e=jZ(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=jZ(i.length-e,0),o=Array(s);++n{function kKe(t){return function(){return t}}YZ.exports=kKe});var h0=w((Iut,JZ)=>{function xKe(t){return t}JZ.exports=xKe});var _Z=w((yut,WZ)=>{var PKe=qZ(),zZ=VR(),DKe=h0(),RKe=zZ?function(t,e){return zZ(t,"toString",{configurable:!0,enumerable:!1,value:PKe(e),writable:!0})}:DKe;WZ.exports=RKe});var XZ=w((wut,VZ)=>{var FKe=800,NKe=16,LKe=Date.now;function TKe(t){var e=0,r=0;return function(){var i=LKe(),n=NKe-(i-r);if(r=i,n>0){if(++e>=FKe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}VZ.exports=TKe});var tF=w((But,ZZ)=>{var OKe=_Z(),MKe=XZ(),KKe=MKe(OKe);ZZ.exports=KKe});var e$=w((but,$Z)=>{var UKe=KZ(),HKe=eF(),GKe=tF();function jKe(t){return GKe(HKe(t,void 0,UKe),t+"")}$Z.exports=jKe});var r$=w((Qut,t$)=>{var YKe=xZ(),qKe=e$(),JKe=qKe(function(t,e){return t==null?{}:YKe(t,e)});t$.exports=JKe});var p$=w((yft,g$)=>{"use strict";var uF;try{uF=Map}catch(t){}var gF;try{gF=Set}catch(t){}function f$(t,e,r){if(!t||typeof t!="object"||typeof t=="function")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t);if(Array.isArray(t))return t.map(h$);if(uF&&t instanceof uF)return new Map(Array.from(t.entries()));if(gF&&t instanceof gF)return new Set(Array.from(t.values()));if(t instanceof Object){e.push(t);var i=Object.create(t);r.push(i);for(var n in t){var s=e.findIndex(function(o){return o===t[n]});i[n]=s>-1?r[s]:f$(t[n],e,r)}return i}return t}function h$(t){return f$(t,[],[])}g$.exports=h$});var SC=w(fF=>{"use strict";Object.defineProperty(fF,"__esModule",{value:!0});fF.default=t1e;var r1e=Object.prototype.toString,i1e=Error.prototype.toString,n1e=RegExp.prototype.toString,s1e=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",o1e=/^Symbol\((.*)\)(.*)$/;function a1e(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function d$(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let r=typeof t;if(r==="number")return a1e(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return s1e.call(t).replace(o1e,"Symbol($1)");let i=r1e.call(t).slice(8,-1);return i==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):i==="Error"||t instanceof Error?"["+i1e.call(t)+"]":i==="RegExp"?n1e.call(t):null}function t1e(t,e){let r=d$(t,e);return r!==null?r:JSON.stringify(t,function(i,n){let s=d$(this[i],e);return s!==null?s:n},2)}});var hA=w(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.default=Bi.array=Bi.object=Bi.boolean=Bi.date=Bi.number=Bi.string=Bi.mixed=void 0;var C$=A1e(SC());function A1e(t){return t&&t.__esModule?t:{default:t}}var m$={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:r,originalValue:i})=>{let n=i!=null&&i!==r,s=`${t} must be a \`${e}\` type, but the final value was: \`${(0,C$.default)(r,!0)}\``+(n?` (cast from the value \`${(0,C$.default)(i,!0)}\`).`:".");return r===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};Bi.mixed=m$;var E$={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};Bi.string=E$;var I$={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};Bi.number=I$;var y$={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};Bi.date=y$;var w$={isValue:"${path} field must be ${value}"};Bi.boolean=w$;var B$={noUnknown:"${path} field has unspecified keys: ${unknown}"};Bi.object=B$;var b$={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};Bi.array=b$;var l1e=Object.assign(Object.create(null),{mixed:m$,string:E$,number:I$,date:y$,object:B$,array:b$,boolean:w$});Bi.default=l1e});var v$=w((bft,Q$)=>{var c1e=Object.prototype,u1e=c1e.hasOwnProperty;function g1e(t,e){return t!=null&&u1e.call(t,e)}Q$.exports=g1e});var kC=w((Qft,S$)=>{var f1e=v$(),h1e=ZR();function p1e(t,e){return t!=null&&h1e(t,e,f1e)}S$.exports=p1e});var Of=w(m0=>{"use strict";Object.defineProperty(m0,"__esModule",{value:!0});m0.default=void 0;var d1e=t=>t&&t.__isYupSchema__;m0.default=d1e});var P$=w(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});E0.default=void 0;var C1e=k$(kC()),m1e=k$(Of());function k$(t){return t&&t.__esModule?t:{default:t}}var x$=class{constructor(e,r){if(this.refs=e,this.refs=e,typeof r=="function"){this.fn=r;return}if(!(0,C1e.default)(r,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=r,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,r){let i=this.refs.map(s=>s.getValue(r==null?void 0:r.value,r==null?void 0:r.parent,r==null?void 0:r.context)),n=this.fn.apply(e,i.concat(e,r));if(n===void 0||n===e)return e;if(!(0,m1e.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(r)}},E1e=x$;E0.default=E1e});var pF=w(hF=>{"use strict";Object.defineProperty(hF,"__esModule",{value:!0});hF.default=I1e;function I1e(t){return t==null?[]:[].concat(t)}});var uu=w(I0=>{"use strict";Object.defineProperty(I0,"__esModule",{value:!0});I0.default=void 0;var y1e=D$(SC()),w1e=D$(pF());function D$(t){return t&&t.__esModule?t:{default:t}}function dF(){return dF=Object.assign||function(t){for(var e=1;e(0,y1e.default)(r[s])):typeof e=="function"?e(r):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,r,i,n){super();this.name="ValidationError",this.value=r,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,w1e.default)(e).forEach(s=>{xC.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,xC)}};I0.default=xC});var y0=w(CF=>{"use strict";Object.defineProperty(CF,"__esModule",{value:!0});CF.default=b1e;var mF=Q1e(uu());function Q1e(t){return t&&t.__esModule?t:{default:t}}var v1e=t=>{let e=!1;return(...r)=>{e||(e=!0,t(...r))}};function b1e(t,e){let{endEarly:r,tests:i,args:n,value:s,errors:o,sort:a,path:l}=t,c=v1e(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new mF.default(o,s,l)):c(null,s);for(let f=0;f{function S1e(t){return function(e,r,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[t?a:++n];if(r(s[l],l,s)===!1)break}return e}}R$.exports=S1e});var EF=w((Rft,N$)=>{var k1e=F$(),x1e=k1e();N$.exports=x1e});var T$=w((Fft,L$)=>{function P1e(t,e){for(var r=-1,i=Array(t);++r{function D1e(){return!1}O$.exports=D1e});var DC=w((PC,Mf)=>{var R1e=Fs(),F1e=M$(),K$=typeof PC=="object"&&PC&&!PC.nodeType&&PC,U$=K$&&typeof Mf=="object"&&Mf&&!Mf.nodeType&&Mf,N1e=U$&&U$.exports===K$,H$=N1e?R1e.Buffer:void 0,L1e=H$?H$.isBuffer:void 0,T1e=L1e||F1e;Mf.exports=T1e});var j$=w((Lft,G$)=>{var O1e=Gc(),M1e=g0(),K1e=Zo(),U1e="[object Arguments]",H1e="[object Array]",G1e="[object Boolean]",j1e="[object Date]",Y1e="[object Error]",q1e="[object Function]",J1e="[object Map]",W1e="[object Number]",z1e="[object Object]",_1e="[object RegExp]",V1e="[object Set]",X1e="[object String]",Z1e="[object WeakMap]",$1e="[object ArrayBuffer]",eUe="[object DataView]",tUe="[object Float32Array]",rUe="[object Float64Array]",iUe="[object Int8Array]",nUe="[object Int16Array]",sUe="[object Int32Array]",oUe="[object Uint8Array]",aUe="[object Uint8ClampedArray]",AUe="[object Uint16Array]",lUe="[object Uint32Array]",wr={};wr[tUe]=wr[rUe]=wr[iUe]=wr[nUe]=wr[sUe]=wr[oUe]=wr[aUe]=wr[AUe]=wr[lUe]=!0;wr[U1e]=wr[H1e]=wr[$1e]=wr[G1e]=wr[eUe]=wr[j1e]=wr[Y1e]=wr[q1e]=wr[J1e]=wr[W1e]=wr[z1e]=wr[_1e]=wr[V1e]=wr[X1e]=wr[Z1e]=!1;function cUe(t){return K1e(t)&&M1e(t.length)&&!!wr[O1e(t)]}G$.exports=cUe});var w0=w((Tft,Y$)=>{function uUe(t){return function(e){return t(e)}}Y$.exports=uUe});var B0=w((RC,Kf)=>{var gUe=hx(),q$=typeof RC=="object"&&RC&&!RC.nodeType&&RC,FC=q$&&typeof Kf=="object"&&Kf&&!Kf.nodeType&&Kf,fUe=FC&&FC.exports===q$,IF=fUe&&gUe.process,hUe=function(){try{var t=FC&&FC.require&&FC.require("util").types;return t||IF&&IF.binding&&IF.binding("util")}catch(e){}}();Kf.exports=hUe});var b0=w((Oft,J$)=>{var pUe=j$(),dUe=w0(),W$=B0(),z$=W$&&W$.isTypedArray,CUe=z$?dUe(z$):pUe;J$.exports=CUe});var yF=w((Mft,_$)=>{var mUe=T$(),EUe=BC(),IUe=Ms(),yUe=DC(),wUe=wC(),BUe=b0(),bUe=Object.prototype,QUe=bUe.hasOwnProperty;function vUe(t,e){var r=IUe(t),i=!r&&EUe(t),n=!r&&!i&&yUe(t),s=!r&&!i&&!n&&BUe(t),o=r||i||n||s,a=o?mUe(t.length,String):[],l=a.length;for(var c in t)(e||QUe.call(t,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||wUe(c,l)))&&a.push(c);return a}_$.exports=vUe});var Q0=w((Kft,V$)=>{var SUe=Object.prototype;function kUe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||SUe;return t===r}V$.exports=kUe});var wF=w((Uft,X$)=>{function xUe(t,e){return function(r){return t(e(r))}}X$.exports=xUe});var $$=w((Hft,Z$)=>{var PUe=wF(),DUe=PUe(Object.keys,Object);Z$.exports=DUe});var tee=w((Gft,eee)=>{var RUe=Q0(),FUe=$$(),NUe=Object.prototype,LUe=NUe.hasOwnProperty;function TUe(t){if(!RUe(t))return FUe(t);var e=[];for(var r in Object(t))LUe.call(t,r)&&r!="constructor"&&e.push(r);return e}eee.exports=TUe});var NC=w((jft,ree)=>{var OUe=A0(),MUe=g0();function KUe(t){return t!=null&&MUe(t.length)&&!OUe(t)}ree.exports=KUe});var Uf=w((Yft,iee)=>{var UUe=yF(),HUe=tee(),GUe=NC();function jUe(t){return GUe(t)?UUe(t):HUe(t)}iee.exports=jUe});var BF=w((qft,nee)=>{var YUe=EF(),qUe=Uf();function JUe(t,e){return t&&YUe(t,e,qUe)}nee.exports=JUe});var oee=w((Jft,see)=>{var WUe=EC();function zUe(){this.__data__=new WUe,this.size=0}see.exports=zUe});var Aee=w((Wft,aee)=>{function _Ue(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}aee.exports=_Ue});var cee=w((zft,lee)=>{function VUe(t){return this.__data__.get(t)}lee.exports=VUe});var gee=w((_ft,uee)=>{function XUe(t){return this.__data__.has(t)}uee.exports=XUe});var hee=w((Vft,fee)=>{var ZUe=EC(),$Ue=l0(),e2e=c0(),t2e=200;function r2e(t,e){var r=this.__data__;if(r instanceof ZUe){var i=r.__data__;if(!$Ue||i.length{var i2e=EC(),n2e=oee(),s2e=Aee(),o2e=cee(),a2e=gee(),A2e=hee();function Hf(t){var e=this.__data__=new i2e(t);this.size=e.size}Hf.prototype.clear=n2e;Hf.prototype.delete=s2e;Hf.prototype.get=o2e;Hf.prototype.has=a2e;Hf.prototype.set=A2e;pee.exports=Hf});var Cee=w((Zft,dee)=>{var l2e="__lodash_hash_undefined__";function c2e(t){return this.__data__.set(t,l2e),this}dee.exports=c2e});var Eee=w(($ft,mee)=>{function u2e(t){return this.__data__.has(t)}mee.exports=u2e});var yee=w((eht,Iee)=>{var g2e=c0(),f2e=Cee(),h2e=Eee();function v0(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new g2e;++e{function p2e(t,e){for(var r=-1,i=t==null?0:t.length;++r{function d2e(t,e){return t.has(e)}bee.exports=d2e});var bF=w((iht,vee)=>{var C2e=yee(),m2e=Bee(),E2e=Qee(),I2e=1,y2e=2;function w2e(t,e,r,i,n,s){var o=r&I2e,a=t.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(t),u=s.get(e);if(c&&u)return c==e&&u==t;var g=-1,f=!0,h=r&y2e?new C2e:void 0;for(s.set(t,e),s.set(e,t);++g{var B2e=Fs(),b2e=B2e.Uint8Array;See.exports=b2e});var xee=w((sht,kee)=>{function Q2e(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}kee.exports=Q2e});var Dee=w((oht,Pee)=>{function v2e(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}Pee.exports=v2e});var Tee=w((aht,Ree)=>{var Fee=Hc(),Nee=QF(),S2e=Df(),k2e=bF(),x2e=xee(),P2e=Dee(),D2e=1,R2e=2,F2e="[object Boolean]",N2e="[object Date]",L2e="[object Error]",T2e="[object Map]",O2e="[object Number]",M2e="[object RegExp]",K2e="[object Set]",U2e="[object String]",H2e="[object Symbol]",G2e="[object ArrayBuffer]",j2e="[object DataView]",Lee=Fee?Fee.prototype:void 0,vF=Lee?Lee.valueOf:void 0;function Y2e(t,e,r,i,n,s,o){switch(r){case j2e:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case G2e:return!(t.byteLength!=e.byteLength||!s(new Nee(t),new Nee(e)));case F2e:case N2e:case O2e:return S2e(+t,+e);case L2e:return t.name==e.name&&t.message==e.message;case M2e:case U2e:return t==e+"";case T2e:var a=x2e;case K2e:var l=i&D2e;if(a||(a=P2e),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;i|=R2e,o.set(t,e);var u=k2e(a(t),a(e),i,n,s,o);return o.delete(t),u;case H2e:if(vF)return vF.call(t)==vF.call(e)}return!1}Ree.exports=Y2e});var SF=w((Aht,Oee)=>{var q2e=f0(),J2e=Ms();function W2e(t,e,r){var i=e(t);return J2e(t)?i:q2e(i,r(t))}Oee.exports=W2e});var Kee=w((lht,Mee)=>{function z2e(t,e){for(var r=-1,i=t==null?0:t.length,n=0,s=[];++r{function _2e(){return[]}Uee.exports=_2e});var S0=w((uht,Hee)=>{var V2e=Kee(),X2e=kF(),Z2e=Object.prototype,$2e=Z2e.propertyIsEnumerable,Gee=Object.getOwnPropertySymbols,eHe=Gee?function(t){return t==null?[]:(t=Object(t),V2e(Gee(t),function(e){return $2e.call(t,e)}))}:X2e;Hee.exports=eHe});var xF=w((ght,jee)=>{var tHe=SF(),rHe=S0(),iHe=Uf();function nHe(t){return tHe(t,iHe,rHe)}jee.exports=nHe});var Jee=w((fht,Yee)=>{var qee=xF(),sHe=1,oHe=Object.prototype,aHe=oHe.hasOwnProperty;function AHe(t,e,r,i,n,s){var o=r&sHe,a=qee(t),l=a.length,c=qee(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:aHe.call(e,f)))return!1}var h=s.get(t),p=s.get(e);if(h&&p)return h==e&&p==t;var m=!0;s.set(t,e),s.set(e,t);for(var y=o;++g{var lHe=Sl(),cHe=Fs(),uHe=lHe(cHe,"DataView");Wee.exports=uHe});var Vee=w((pht,_ee)=>{var gHe=Sl(),fHe=Fs(),hHe=gHe(fHe,"Promise");_ee.exports=hHe});var Zee=w((dht,Xee)=>{var pHe=Sl(),dHe=Fs(),CHe=pHe(dHe,"Set");Xee.exports=CHe});var ete=w((Cht,$ee)=>{var mHe=Sl(),EHe=Fs(),IHe=mHe(EHe,"WeakMap");$ee.exports=IHe});var TC=w((mht,tte)=>{var PF=zee(),DF=l0(),RF=Vee(),FF=Zee(),NF=ete(),rte=Gc(),Gf=zR(),ite="[object Map]",yHe="[object Object]",nte="[object Promise]",ste="[object Set]",ote="[object WeakMap]",ate="[object DataView]",wHe=Gf(PF),BHe=Gf(DF),bHe=Gf(RF),QHe=Gf(FF),vHe=Gf(NF),gu=rte;(PF&&gu(new PF(new ArrayBuffer(1)))!=ate||DF&&gu(new DF)!=ite||RF&&gu(RF.resolve())!=nte||FF&&gu(new FF)!=ste||NF&&gu(new NF)!=ote)&&(gu=function(t){var e=rte(t),r=e==yHe?t.constructor:void 0,i=r?Gf(r):"";if(i)switch(i){case wHe:return ate;case BHe:return ite;case bHe:return nte;case QHe:return ste;case vHe:return ote}return e});tte.exports=gu});var pte=w((Eht,Ate)=>{var LF=LC(),SHe=bF(),kHe=Tee(),xHe=Jee(),lte=TC(),cte=Ms(),ute=DC(),PHe=b0(),DHe=1,gte="[object Arguments]",fte="[object Array]",k0="[object Object]",RHe=Object.prototype,hte=RHe.hasOwnProperty;function FHe(t,e,r,i,n,s){var o=cte(t),a=cte(e),l=o?fte:lte(t),c=a?fte:lte(e);l=l==gte?k0:l,c=c==gte?k0:c;var u=l==k0,g=c==k0,f=l==c;if(f&&ute(t)){if(!ute(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new LF),o||PHe(t)?SHe(t,e,r,i,n,s):kHe(t,e,l,r,i,n,s);if(!(r&DHe)){var h=u&&hte.call(t,"__wrapped__"),p=g&&hte.call(e,"__wrapped__");if(h||p){var m=h?t.value():t,y=p?e.value():e;return s||(s=new LF),n(m,y,r,i,s)}}return f?(s||(s=new LF),xHe(t,e,r,i,n,s)):!1}Ate.exports=FHe});var TF=w((Iht,dte)=>{var NHe=pte(),Cte=Zo();function mte(t,e,r,i,n){return t===e?!0:t==null||e==null||!Cte(t)&&!Cte(e)?t!==t&&e!==e:NHe(t,e,r,i,mte,n)}dte.exports=mte});var Ite=w((yht,Ete)=>{var LHe=LC(),THe=TF(),OHe=1,MHe=2;function KHe(t,e,r,i){var n=r.length,s=n,o=!i;if(t==null)return!s;for(t=Object(t);n--;){var a=r[n];if(o&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++n{var UHe=Rn();function HHe(t){return t===t&&!UHe(t)}yte.exports=HHe});var Bte=w((Bht,wte)=>{var GHe=OF(),jHe=Uf();function YHe(t){for(var e=jHe(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,GHe(n)]}return e}wte.exports=YHe});var MF=w((bht,bte)=>{function qHe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}bte.exports=qHe});var vte=w((Qht,Qte)=>{var JHe=Ite(),WHe=Bte(),zHe=MF();function _He(t){var e=WHe(t);return e.length==1&&e[0][2]?zHe(e[0][0],e[0][1]):function(r){return r===t||JHe(r,t,e)}}Qte.exports=_He});var x0=w((vht,Ste)=>{var VHe=yC();function XHe(t,e,r){var i=t==null?void 0:VHe(t,e);return i===void 0?r:i}Ste.exports=XHe});var xte=w((Sht,kte)=>{var ZHe=TF(),$He=x0(),eGe=$R(),tGe=a0(),rGe=OF(),iGe=MF(),nGe=cu(),sGe=1,oGe=2;function aGe(t,e){return tGe(t)&&rGe(e)?iGe(nGe(t),e):function(r){var i=$He(r,t);return i===void 0&&i===e?eGe(r,t):ZHe(e,i,sGe|oGe)}}kte.exports=aGe});var Dte=w((kht,Pte)=>{function AGe(t){return function(e){return e==null?void 0:e[t]}}Pte.exports=AGe});var Fte=w((xht,Rte)=>{var lGe=yC();function cGe(t){return function(e){return lGe(e,t)}}Rte.exports=cGe});var Lte=w((Pht,Nte)=>{var uGe=Dte(),gGe=Fte(),fGe=a0(),hGe=cu();function pGe(t){return fGe(t)?uGe(hGe(t)):gGe(t)}Nte.exports=pGe});var KF=w((Dht,Tte)=>{var dGe=vte(),CGe=xte(),mGe=h0(),EGe=Ms(),IGe=Lte();function yGe(t){return typeof t=="function"?t:t==null?mGe:typeof t=="object"?EGe(t)?CGe(t[0],t[1]):dGe(t):IGe(t)}Tte.exports=yGe});var UF=w((Rht,Ote)=>{var wGe=Lf(),BGe=BF(),bGe=KF();function QGe(t,e){var r={};return e=bGe(e,3),BGe(t,function(i,n,s){wGe(r,n,e(i,n,s))}),r}Ote.exports=QGe});var OC=w((Fht,Mte)=>{"use strict";function fu(t){this._maxSize=t,this.clear()}fu.prototype.clear=function(){this._size=0,this._values=Object.create(null)};fu.prototype.get=function(t){return this._values[t]};fu.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var vGe=/[^.^\]^[]+|(?=\[\]|\.\.)/g,Kte=/^\d+$/,SGe=/^\d/,kGe=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,xGe=/^\s*(['"]?)(.*?)(\1)\s*$/,HF=512,Ute=new fu(HF),Hte=new fu(HF),Gte=new fu(HF);Mte.exports={Cache:fu,split:jF,normalizePath:GF,setter:function(t){var e=GF(t);return Hte.get(t)||Hte.set(t,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(MC,"__esModule",{value:!0});MC.create=NGe;MC.default=void 0;var LGe=OC(),P0={context:"$",value:"."};function NGe(t,e){return new D0(t,e)}var D0=class{constructor(e,r={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===P0.context,this.isValue=this.key[0]===P0.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?P0.context:this.isValue?P0.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,LGe.getter)(this.path,!0),this.map=r.map}getValue(e,r,i){let n=this.isContext?i:this.isValue?e:r;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,r){return this.getValue(e,r==null?void 0:r.parent,r==null?void 0:r.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};MC.default=D0;D0.prototype.__isYupRef=!0});var jte=w(qF=>{"use strict";Object.defineProperty(qF,"__esModule",{value:!0});qF.default=TGe;var OGe=JF(UF()),R0=JF(uu()),MGe=JF(hu());function JF(t){return t&&t.__esModule?t:{default:t}}function F0(){return F0=Object.assign||function(t){for(var e=1;e=0)&&(r[n]=t[n]);return r}function TGe(t){function e(r,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=r,u=KGe(r,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=t,{parent:m,context:y}=a;function b(j){return MGe.default.isRef(j)?j.getValue(n,m,y):j}function S(j={}){let Z=(0,OGe.default)(F0({value:n,originalValue:l,label:o,path:j.path||s},h,j.params),b),J=new R0.default(R0.default.formatError(j.message||p,Z),n,Z.path,j.type||g);return J.params=Z,J}let k=F0({path:s,parent:m,type:g,createError:S,resolve:b,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(k,n,k)).then(j=>{R0.default.isError(j)?i(j):j?i(null,j):i(S())})}catch(j){i(j)}return}let T;try{var Y;if(T=f.call(k,n,k),typeof((Y=T)==null?void 0:Y.then)=="function")throw new Error(`Validation test of type: "${k.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(j){i(j);return}R0.default.isError(T)?i(T):T?i(null,T):i(S())}return e.OPTIONS=t,e}});var WF=w(KC=>{"use strict";Object.defineProperty(KC,"__esModule",{value:!0});KC.getIn=Yte;KC.default=void 0;var UGe=OC(),HGe=t=>t.substr(0,t.length-1).substr(1);function Yte(t,e,r,i=r){let n,s,o;return e?((0,UGe.forEach)(e,(a,l,c)=>{let u=l?HGe(a):a;if(t=t.resolve({context:i,parent:n,value:r}),t.innerType){let g=c?parseInt(u,10):0;if(r&&g>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=r,r=r&&r[g],t=t.innerType}if(!c){if(!t.fields||!t.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${t._type}")`);n=r,r=r&&r[u],t=t.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:t,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:t}}var GGe=(t,e,r,i)=>Yte(t,e,r,i).schema,jGe=GGe;KC.default=jGe});var Jte=w(N0=>{"use strict";Object.defineProperty(N0,"__esModule",{value:!0});N0.default=void 0;var qte=YGe(hu());function YGe(t){return t&&t.__esModule?t:{default:t}}var L0=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let r of this.list)e.push(r);for(let[,r]of this.refs)e.push(r.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){qte.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){qte.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,r){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(r(i.value)===e)return!0;return!1}clone(){let e=new L0;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,r){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),r.list.forEach(n=>i.delete(n)),r.refs.forEach(n=>i.delete(n)),i}};N0.default=L0});var dA=w(T0=>{"use strict";Object.defineProperty(T0,"__esModule",{value:!0});T0.default=void 0;var Wte=pA(p$()),jf=hA(),qGe=pA(P$()),zte=pA(y0()),O0=pA(jte()),_te=pA(SC()),JGe=pA(hu()),WGe=WF(),zGe=pA(pF()),Vte=pA(uu()),Xte=pA(Jte());function pA(t){return t&&t.__esModule?t:{default:t}}function qs(){return qs=Object.assign||function(t){for(var e=1;e{this.typeError(jf.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=qs({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeError=this._typeError,r._whitelistError=this._whitelistError,r._blacklistError=this._blacklistError,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.exclusiveTests=qs({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,Wte.default)(qs({},this.spec,e)),r}label(e){var r=this.clone();return r.spec.label=e,r}meta(...e){if(e.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},e[0]),r}withMutation(e){let r=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=r,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let r=this,i=e.clone(),n=qs({},r.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=r._typeError),i._whitelistError||(i._whitelistError=r._whitelistError),i._blacklistError||(i._blacklistError=r._blacklistError),i._whitelist=r._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=r._blacklist.merge(e._blacklist,e._whitelist),i.tests=r.tests,i.exclusiveTests=r.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let r=this;if(r.conditions.length){let i=r.conditions;r=r.clone(),r.conditions=[],r=i.reduce((n,s)=>s.resolve(n,e),r),r=r.resolve(e)}return r}cast(e,r={}){let i=this.resolve(qs({value:e},r)),n=i._cast(e,r);if(e!==void 0&&r.assert!==!1&&i.isType(n)!==!0){let s=(0,_te.default)(e),o=(0,_te.default)(n);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". + +attempted value: ${s} +`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,r){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,r={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=r,u=e;l||(u=this._cast(u,qs({assert:!1},r)));let g={value:u,path:s,options:r,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,zte.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,zte.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(qs({},r,{value:e}));return typeof i=="function"?n._validate(e,r,i):new Promise((s,o)=>n._validate(e,r,(a,l)=>{a?o(a):s(l)}))}validateSync(e,r){let i=this.resolve(qs({},r,{value:e})),n;return i._validate(e,qs({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if(Vte.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if(Vte.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,Wte.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=jf.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=jf.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=jf.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,O0.default)(r),s=r.exclusive||r.name&&i.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(i.exclusiveTests[r.name]=!!r.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===r.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let i=this.clone(),n=(0,zGe.default)(e).map(s=>new JGe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new qGe.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,O0.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=jf.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,O0.default)({message:r,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,r=jf.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,O0.default)({message:r,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:i}=e.spec;return{meta:i,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};T0.default=Aa;Aa.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])Aa.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,WGe.getIn)(this,e,r,i.context);return o[t](n&&n[s],qs({},i,{parent:n,path:e}))};for(let t of["equals","is"])Aa.prototype[t]=Aa.prototype.oneOf;for(let t of["not","nope"])Aa.prototype[t]=Aa.prototype.notOneOf;Aa.prototype.optional=Aa.prototype.notRequired});var $te=w(UC=>{"use strict";Object.defineProperty(UC,"__esModule",{value:!0});UC.create=Zte;UC.default=void 0;var VGe=_Ge(dA());function _Ge(t){return t&&t.__esModule?t:{default:t}}var zF=VGe.default,XGe=zF;UC.default=XGe;function Zte(){return new zF}Zte.prototype=zF.prototype});var Yf=w(M0=>{"use strict";Object.defineProperty(M0,"__esModule",{value:!0});M0.default=void 0;var ZGe=t=>t==null;M0.default=ZGe});var nre=w(HC=>{"use strict";Object.defineProperty(HC,"__esModule",{value:!0});HC.create=ere;HC.default=void 0;var $Ge=tre(dA()),rre=hA(),ire=tre(Yf());function tre(t){return t&&t.__esModule?t:{default:t}}function ere(){return new K0}var K0=class extends $Ge.default{constructor(){super({type:"boolean"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=rre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,ire.default)(r)||r===!0}})}isFalse(e=rre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,ire.default)(r)||r===!1}})}};HC.default=K0;ere.prototype=K0.prototype});var are=w(GC=>{"use strict";Object.defineProperty(GC,"__esModule",{value:!0});GC.create=sre;GC.default=void 0;var la=hA(),CA=ore(Yf()),eje=ore(dA());function ore(t){return t&&t.__esModule?t:{default:t}}var tje=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,rje=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,ije=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,nje=t=>(0,CA.default)(t)||t===t.trim(),sje={}.toString();function sre(){return new U0}var U0=class extends eje.default{constructor(){super({type:"string"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===sje?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=la.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,CA.default)(i)||i.length===this.resolve(e)}})}min(e,r=la.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,CA.default)(i)||i.length>=this.resolve(e)}})}max(e,r=la.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(i){return(0,CA.default)(i)||i.length<=this.resolve(e)}})}matches(e,r){let i=!1,n,s;return r&&(typeof r=="object"?{excludeEmptyString:i=!1,message:n,name:s}=r:n=r),this.test({name:s||"matches",message:n||la.string.matches,params:{regex:e},test:o=>(0,CA.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=la.string.email){return this.matches(tje,{name:"email",message:e,excludeEmptyString:!0})}url(e=la.string.url){return this.matches(rje,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=la.string.uuid){return this.matches(ije,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=la.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:nje})}lowercase(e=la.string.lowercase){return this.transform(r=>(0,CA.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,CA.default)(r)||r===r.toLowerCase()})}uppercase(e=la.string.uppercase){return this.transform(r=>(0,CA.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,CA.default)(r)||r===r.toUpperCase()})}};GC.default=U0;sre.prototype=U0.prototype});var cre=w(jC=>{"use strict";Object.defineProperty(jC,"__esModule",{value:!0});jC.create=Are;jC.default=void 0;var pu=hA(),du=lre(Yf()),oje=lre(dA());function lre(t){return t&&t.__esModule?t:{default:t}}var aje=t=>t!=+t;function Are(){return new H0}var H0=class extends oje.default{constructor(){super({type:"number"});this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!aje(e)}min(e,r=pu.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,du.default)(i)||i>=this.resolve(e)}})}max(e,r=pu.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,du.default)(i)||i<=this.resolve(e)}})}lessThan(e,r=pu.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(i){return(0,du.default)(i)||ithis.resolve(e)}})}positive(e=pu.number.positive){return this.moreThan(0,e)}negative(e=pu.number.negative){return this.lessThan(0,e)}integer(e=pu.number.integer){return this.test({name:"integer",message:e,test:r=>(0,du.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,du.default)(e)?e:e|0)}round(e){var r,i=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,du.default)(n)?n:Math[e](n))}};jC.default=H0;Are.prototype=H0.prototype});var ure=w(_F=>{"use strict";Object.defineProperty(_F,"__esModule",{value:!0});_F.default=Aje;var lje=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function Aje(t){var e=[1,4,5,6,7,10,11],r=0,i,n;if(n=lje.exec(t)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(r=n[10]*60+n[11],n[9]==="+"&&(r=0-r)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7]))}else i=Date.parse?Date.parse(t):NaN;return i}});var hre=w(YC=>{"use strict";Object.defineProperty(YC,"__esModule",{value:!0});YC.create=VF;YC.default=void 0;var cje=G0(ure()),gre=hA(),fre=G0(Yf()),uje=G0(hu()),gje=G0(dA());function G0(t){return t&&t.__esModule?t:{default:t}}var XF=new Date(""),fje=t=>Object.prototype.toString.call(t)==="[object Date]";function VF(){return new qC}var qC=class extends gje.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,cje.default)(e),isNaN(e)?XF:new Date(e))})})}_typeCheck(e){return fje(e)&&!isNaN(e.getTime())}prepareParam(e,r){let i;if(uje.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,r=gre.date.min){let i=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,fre.default)(n)||n>=this.resolve(i)}})}max(e,r=gre.date.max){var i=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,fre.default)(n)||n<=this.resolve(i)}})}};YC.default=qC;qC.INVALID_DATE=XF;VF.prototype=qC.prototype;VF.INVALID_DATE=XF});var dre=w((Jht,pre)=>{function hje(t,e,r,i){var n=-1,s=t==null?0:t.length;for(i&&s&&(r=t[++n]);++n{function pje(t){return function(e){return t==null?void 0:t[e]}}Cre.exports=pje});var Ire=w((zht,Ere)=>{var dje=mre(),Cje={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},mje=dje(Cje);Ere.exports=mje});var wre=w((_ht,yre)=>{var Eje=Ire(),Ije=of(),yje=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,wje="\\u0300-\\u036f",Bje="\\ufe20-\\ufe2f",bje="\\u20d0-\\u20ff",Qje=wje+Bje+bje,vje="["+Qje+"]",Sje=RegExp(vje,"g");function kje(t){return t=Ije(t),t&&t.replace(yje,Eje).replace(Sje,"")}yre.exports=kje});var bre=w((Vht,Bre)=>{var xje=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Pje(t){return t.match(xje)||[]}Bre.exports=Pje});var vre=w((Xht,Qre)=>{var Dje=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function Rje(t){return Dje.test(t)}Qre.exports=Rje});var qre=w((Zht,Sre)=>{var kre="\\ud800-\\udfff",Fje="\\u0300-\\u036f",Nje="\\ufe20-\\ufe2f",Lje="\\u20d0-\\u20ff",Tje=Fje+Nje+Lje,xre="\\u2700-\\u27bf",Pre="a-z\\xdf-\\xf6\\xf8-\\xff",Oje="\\xac\\xb1\\xd7\\xf7",Mje="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Kje="\\u2000-\\u206f",Uje=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Dre="A-Z\\xc0-\\xd6\\xd8-\\xde",Hje="\\ufe0e\\ufe0f",Rre=Oje+Mje+Kje+Uje,Fre="['\u2019]",Nre="["+Rre+"]",Gje="["+Tje+"]",Lre="\\d+",jje="["+xre+"]",Tre="["+Pre+"]",Ore="[^"+kre+Rre+Lre+xre+Pre+Dre+"]",Yje="\\ud83c[\\udffb-\\udfff]",qje="(?:"+Gje+"|"+Yje+")",Jje="[^"+kre+"]",Mre="(?:\\ud83c[\\udde6-\\uddff]){2}",Kre="[\\ud800-\\udbff][\\udc00-\\udfff]",qf="["+Dre+"]",Wje="\\u200d",Ure="(?:"+Tre+"|"+Ore+")",zje="(?:"+qf+"|"+Ore+")",Hre="(?:"+Fre+"(?:d|ll|m|re|s|t|ve))?",Gre="(?:"+Fre+"(?:D|LL|M|RE|S|T|VE))?",jre=qje+"?",Yre="["+Hje+"]?",_je="(?:"+Wje+"(?:"+[Jje,Mre,Kre].join("|")+")"+Yre+jre+")*",Vje="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Xje="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Zje=Yre+jre+_je,$je="(?:"+[jje,Mre,Kre].join("|")+")"+Zje,eYe=RegExp([qf+"?"+Tre+"+"+Hre+"(?="+[Nre,qf,"$"].join("|")+")",zje+"+"+Gre+"(?="+[Nre,qf+Ure,"$"].join("|")+")",qf+"?"+Ure+"+"+Hre,qf+"+"+Gre,Xje,Vje,Lre,$je].join("|"),"g");function tYe(t){return t.match(eYe)||[]}Sre.exports=tYe});var Wre=w(($ht,Jre)=>{var rYe=bre(),iYe=vre(),nYe=of(),sYe=qre();function oYe(t,e,r){return t=nYe(t),e=r?void 0:e,e===void 0?iYe(t)?sYe(t):rYe(t):t.match(e)||[]}Jre.exports=oYe});var ZF=w((ept,zre)=>{var aYe=dre(),AYe=wre(),lYe=Wre(),cYe="['\u2019]",uYe=RegExp(cYe,"g");function gYe(t){return function(e){return aYe(lYe(AYe(e).replace(uYe,"")),t,"")}}zre.exports=gYe});var Vre=w((tpt,_re)=>{var fYe=ZF(),hYe=fYe(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});_re.exports=hYe});var Zre=w((rpt,Xre)=>{var pYe=rB(),dYe=ZF(),CYe=dYe(function(t,e,r){return e=e.toLowerCase(),t+(r?pYe(e):e)});Xre.exports=CYe});var eie=w((ipt,$re)=>{var mYe=Lf(),EYe=BF(),IYe=KF();function yYe(t,e){var r={};return e=IYe(e,3),EYe(t,function(i,n,s){mYe(r,e(i,n,s),i)}),r}$re.exports=yYe});var rie=w((npt,$F)=>{$F.exports=function(t){return tie(wYe(t),t)};$F.exports.array=tie;function tie(t,e){var r=t.length,i=new Array(r),n={},s=r,o=BYe(e),a=bYe(t);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(t[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch(m){f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--r]=c}}}function wYe(t){for(var e=new Set,r=0,i=t.length;r{"use strict";Object.defineProperty(eN,"__esModule",{value:!0});eN.default=QYe;var vYe=j0(kC()),SYe=j0(rie()),kYe=OC(),xYe=j0(hu()),PYe=j0(Of());function j0(t){return t&&t.__esModule?t:{default:t}}function QYe(t,e=[]){let r=[],i=[];function n(s,o){var a=(0,kYe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||r.push([o,a])}for(let s in t)if((0,vYe.default)(t,s)){let o=t[s];~i.indexOf(s)||i.push(s),xYe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,PYe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return SYe.default.array(i,r).reverse()}});var sie=w(tN=>{"use strict";Object.defineProperty(tN,"__esModule",{value:!0});tN.default=DYe;function nie(t,e){let r=Infinity;return t.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return r=n,!0}),r}function DYe(t){return(e,r)=>nie(t,e)-nie(t,r)}});var gie=w(JC=>{"use strict";Object.defineProperty(JC,"__esModule",{value:!0});JC.create=oie;JC.default=void 0;var aie=ca(kC()),Aie=ca(Vre()),RYe=ca(Zre()),FYe=ca(eie()),NYe=ca(UF()),LYe=OC(),lie=hA(),TYe=ca(iie()),cie=ca(sie()),OYe=ca(y0()),MYe=ca(uu()),rN=ca(dA());function ca(t){return t&&t.__esModule?t:{default:t}}function Jf(){return Jf=Object.assign||function(t){for(var e=1;eObject.prototype.toString.call(t)==="[object Object]";function KYe(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(i=>r.indexOf(i)===-1)}var UYe=(0,cie.default)([]),Y0=class extends rN.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=UYe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return uie(e)||typeof e=="function"}_cast(e,r={}){var i;let n=super._cast(e,r);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=r.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=Jf({},r,{parent:l,__validating:r.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,aie.default)(n,g);if(f){let p,m=n[g];c.path=(r.path?`${r.path}.`:"")+g,f=f.resolve({value:m,context:r.context,parent:l});let y="spec"in f?f.spec:void 0,b=y==null?void 0:y.strict;if(y==null?void 0:y.strip){u=u||g in n;continue}p=!r.__validating||!b?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,r={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=r;o=[{schema:this,value:a},...o],r.__validating=!0,r.originalValue=a,r.from=o,super._validate(e,r,(u,g)=>{if(u){if(!MYe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!uie(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,m)=>{let y=h.indexOf(".")===-1?(r.path?`${r.path}.`:"")+h:`${r.path||""}["${h}"]`,b=this.fields[h];if(b&&"validate"in b){b.validate(g[h],Jf({},r,{path:y,from:o,strict:!0,parent:g,originalValue:a[h]}),m);return}m(null)});(0,OYe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:r.path},i)})}clone(e){let r=super.clone(e);return r.fields=Jf({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),i=r.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof rN.default&&s instanceof rN.default&&(i[n]=s.concat(o))}return r.withMutation(()=>r.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let i=this.fields[r];e[r]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,cie.default)(Object.keys(n)),r.length){Array.isArray(r[0])||(r=[r]);let s=r.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,TYe.default)(n,i._excludedEdges),i}pick(e){let r={};for(let i of e)this.fields[i]&&(r[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(r)))}omit(e){let r=this.clone(),i=r.fields;r.fields={};for(let n of e)delete i[n];return r.withMutation(()=>r.shape(i))}from(e,r,i){let n=(0,LYe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,aie.default)(s,e)&&(o=Jf({},s),i||delete o[e],o[r]=n(s)),o})}noUnknown(e=!0,r=lie.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:r,test(n){if(n==null)return!0;let s=KYe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,r=lie.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,FYe.default)(r,(i,n)=>e(n)))}camelCase(){return this.transformKeys(RYe.default)}snakeCase(){return this.transformKeys(Aie.default)}constantCase(){return this.transformKeys(e=>(0,Aie.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,NYe.default)(this.fields,r=>r.describe()),e}};JC.default=Y0;function oie(t){return new Y0(t)}oie.prototype=Y0.prototype});var hie=w(WC=>{"use strict";Object.defineProperty(WC,"__esModule",{value:!0});WC.create=fie;WC.default=void 0;var iN=Wf(Yf()),HYe=Wf(Of()),GYe=Wf(SC()),nN=hA(),jYe=Wf(y0()),YYe=Wf(uu()),qYe=Wf(dA());function Wf(t){return t&&t.__esModule?t:{default:t}}function q0(){return q0=Object.assign||function(t){for(var e=1;e{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(i){r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let i=super._cast(e,r);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,q0({},r,{path:`${r.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,r={},i){var n,s;let o=[],a=r.sync,l=r.path,c=this.innerType,u=(n=r.abortEarly)!=null?n:this.spec.abortEarly,g=(s=r.recursive)!=null?s:this.spec.recursive,f=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(h,p)=>{if(h){if(!YYe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let m=new Array(p.length);for(let y=0;yc.validate(b,k,Y)}(0,jYe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:m},i)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,HYe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,GYe.default)(e));return r.innerType=e,r}length(e,r=nN.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,iN.default)(i)||i.length===this.resolve(e)}})}min(e,r){return r=r||nN.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,iN.default)(i)||i.length>=this.resolve(e)}})}max(e,r){return r=r||nN.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,iN.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(r):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};WC.default=J0;fie.prototype=J0.prototype});var pie=w(zC=>{"use strict";Object.defineProperty(zC,"__esModule",{value:!0});zC.create=JYe;zC.default=void 0;var zYe=WYe(Of());function WYe(t){return t&&t.__esModule?t:{default:t}}function JYe(t){return new sN(t)}var sN=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,i={})=>{let n=this.builder(r,i);if(!(0,zYe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,i){return this._resolve(e,r).validate(e,r,i)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,i){return this._resolve(r,i).validateAt(e,r,i)}validateSyncAt(e,r,i){return this._resolve(r,i).validateSyncAt(e,r,i)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},_Ye=sN;zC.default=_Ye});var die=w(oN=>{"use strict";Object.defineProperty(oN,"__esModule",{value:!0});oN.default=VYe;var ZYe=XYe(hA());function XYe(t){return t&&t.__esModule?t:{default:t}}function VYe(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{ZYe.default[e][r]=t[e][r]})})}});var AN=w(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.addMethod=$Ye;Object.defineProperty(Br,"MixedSchema",{enumerable:!0,get:function(){return Cie.default}});Object.defineProperty(Br,"mixed",{enumerable:!0,get:function(){return Cie.create}});Object.defineProperty(Br,"BooleanSchema",{enumerable:!0,get:function(){return aN.default}});Object.defineProperty(Br,"bool",{enumerable:!0,get:function(){return aN.create}});Object.defineProperty(Br,"boolean",{enumerable:!0,get:function(){return aN.create}});Object.defineProperty(Br,"StringSchema",{enumerable:!0,get:function(){return mie.default}});Object.defineProperty(Br,"string",{enumerable:!0,get:function(){return mie.create}});Object.defineProperty(Br,"NumberSchema",{enumerable:!0,get:function(){return Eie.default}});Object.defineProperty(Br,"number",{enumerable:!0,get:function(){return Eie.create}});Object.defineProperty(Br,"DateSchema",{enumerable:!0,get:function(){return Iie.default}});Object.defineProperty(Br,"date",{enumerable:!0,get:function(){return Iie.create}});Object.defineProperty(Br,"ObjectSchema",{enumerable:!0,get:function(){return yie.default}});Object.defineProperty(Br,"object",{enumerable:!0,get:function(){return yie.create}});Object.defineProperty(Br,"ArraySchema",{enumerable:!0,get:function(){return wie.default}});Object.defineProperty(Br,"array",{enumerable:!0,get:function(){return wie.create}});Object.defineProperty(Br,"ref",{enumerable:!0,get:function(){return eqe.create}});Object.defineProperty(Br,"lazy",{enumerable:!0,get:function(){return tqe.create}});Object.defineProperty(Br,"ValidationError",{enumerable:!0,get:function(){return rqe.default}});Object.defineProperty(Br,"reach",{enumerable:!0,get:function(){return iqe.default}});Object.defineProperty(Br,"isSchema",{enumerable:!0,get:function(){return Bie.default}});Object.defineProperty(Br,"setLocale",{enumerable:!0,get:function(){return nqe.default}});Object.defineProperty(Br,"BaseSchema",{enumerable:!0,get:function(){return sqe.default}});var Cie=Cu($te()),aN=Cu(nre()),mie=Cu(are()),Eie=Cu(cre()),Iie=Cu(hre()),yie=Cu(gie()),wie=Cu(hie()),eqe=hu(),tqe=pie(),rqe=_C(uu()),iqe=_C(WF()),Bie=_C(Of()),nqe=_C(die()),sqe=_C(dA());function _C(t){return t&&t.__esModule?t:{default:t}}function bie(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return bie=function(){return t},t}function Cu(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=bie();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function $Ye(t,e,r){if(!t||!(0,Bie.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}});var xie=w((bpt,XC)=>{"use strict";var Aqe=process.env.TERM_PROGRAM==="Hyper",lqe=process.platform==="win32",vie=process.platform==="linux",lN={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Sie=Object.assign({},lN,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),kie=Object.assign({},lN,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:vie?"\u25B8":"\u276F",pointerSmall:vie?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});XC.exports=lqe&&!Aqe?Sie:kie;Reflect.defineProperty(XC.exports,"common",{enumerable:!1,value:lN});Reflect.defineProperty(XC.exports,"windows",{enumerable:!1,value:Sie});Reflect.defineProperty(XC.exports,"other",{enumerable:!1,value:kie})});var mo=w((Qpt,cN)=>{"use strict";var cqe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),uqe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,Pie=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`[${s.codes[0]}m`,a=s.close=`[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},r=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(t.enabled===!1)return s;if(t.visible===!1)return"";let a=""+s,l=a.includes(` +`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=r(t.styles[o[c]],a,l);return a},n=(s,o,a)=>{t.styles[s]=e({name:s,codes:o}),(t.keys[a]||(t.keys[a]=[])).push(s),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(c){t.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,t),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=uqe,t.hasColor=t.hasAnsi=s=>(t.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&t.ansiRegex.test(s)),t.alias=(s,o)=>{let a=typeof o=="string"?t[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),t.styles[s]=a,a.stack=[s]),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(l){t.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,t),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},t.theme=s=>{if(!cqe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))t.alias(o,s[o]);return t},t.alias("unstyle",s=>typeof s=="string"&&s!==""?(t.ansiRegex.lastIndex=0,s.replace(t.ansiRegex,"")):""),t.alias("noop",s=>s),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=xie(),t.define=n,t};cN.exports=Pie();cN.exports.create=Pie});var Xi=w(Lt=>{"use strict";var gqe=Object.prototype.toString,Js=mo(),Die=!1,uN=[],Rie={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};Lt.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);Lt.hasColor=t=>!!t&&Js.hasColor(t);var z0=Lt.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Lt.nativeType=t=>gqe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");Lt.isAsyncFn=t=>Lt.nativeType(t)==="asyncfunction";Lt.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";Lt.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;Lt.scrollDown=(t=[])=>[...t.slice(1),t[0]];Lt.scrollUp=(t=[])=>[t.pop(),...t];Lt.reorder=(t=[])=>{let e=t.slice();return e.sort((r,i)=>r.index>i.index?1:r.index{let i=t.length,n=r===i?0:r<0?i-1:r,s=t[e];t[e]=t[n],t[n]=s};Lt.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};Lt.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};Lt.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:i=` +`+r,width:n=80}=e;n-=((i+r).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=t.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),r+c.join(i)};Lt.unmute=t=>{let e=t.stack.find(i=>Js.keys.color.includes(i));return e?Js[e]:t.stack.find(i=>i.slice(2)==="bg")?Js[e.slice(2)]:i=>i};Lt.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";Lt.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Js.keys.color.includes(i));if(e){let i=Js["bg"+Lt.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?Js[r.slice(2).toLowerCase()]||t:Js.none};Lt.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Js.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return Js[Rie[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=Rie[i];return n&&Js["bg"+Lt.pascal(n)]||t}return Js.none};Lt.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=r<10?"0"+r:r;return n+":"+s+" "+i};Lt.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!Lt.isObject(a)&&s{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};Lt.mixin=(t,e)=>{if(!z0(t))return e;if(!z0(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&z0(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);z0(n.value)?t[r]=Lt.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};Lt.merge=(...t)=>{let e={};for(let r of t)Lt.mixin(e,r);return e};Lt.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?Lt.define(t,i,n.bind(e)):Lt.define(t,i,n)}};Lt.onExit=t=>{let e=(r,i)=>{Die||(Die=!0,uN.forEach(n=>n()),r===!0&&process.exit(128+i))};uN.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),uN.push(t)};Lt.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};Lt.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var Fie=w(_f=>{"use strict";_f.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};_f.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};_f.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};_f.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};_f.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var Tie=w((kpt,Nie)=>{"use strict";var Lie=require("readline"),fqe=Fie(),hqe=/^(?:\x1b)([a-zA-Z0-9])$/,pqe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,dqe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function Cqe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function mqe(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var _0=(t="",e={})=>{let r,i=N({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t},e);if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t=""+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=i.sequence||""),i.sequence=i.sequence||t||i.name,t==="\r")i.raw=void 0,i.name="return";else if(t===` +`)i.name="enter";else if(t===" ")i.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x7F"||t==="\b")i.name="backspace",i.meta=t.charAt(0)==="";else if(t===""||t==="")i.name="escape",i.meta=t.length===2;else if(t===" "||t===" ")i.name="space",i.meta=t.length===2;else if(t<="")i.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")i.name="number";else if(t.length===1&&t>="a"&&t<="z")i.name=t;else if(t.length===1&&t>="A"&&t<="Z")i.name=t.toLowerCase(),i.shift=!0;else if(r=hqe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=pqe.exec(t)){let n=[...t];n[0]===""&&n[1]===""&&(i.option=!0);let s=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=dqe[s],i.shift=Cqe(s)||i.shift,i.ctrl=mqe(s)||i.ctrl}return i};_0.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=Lie.createInterface({terminal:!0,input:r});Lie.emitKeypressEvents(r,i);let n=(a,l)=>e(a,_0(a,l),i),s=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",n),i.resume(),()=>{r.isTTY&&r.setRawMode(s),r.removeListener("keypress",n),i.pause(),i.close()}};_0.action=(t,e,r)=>{let i=N(N({},fqe),r);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};Nie.exports=_0});var Mie=w((xpt,Oie)=>{"use strict";Oie.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let i=e[r];typeof i=="number"&&(i={interval:i}),Eqe(t,r,i)}};function Eqe(t,e,r={}){let i=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=r.interval||120;i.frames=r.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,t.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),t.once("close",()=>i.stop()),i.stop}});var Hie=w((Ppt,Kie)=>{"use strict";var{define:Iqe,width:yqe}=Xi(),Uie=class{constructor(e){let r=e.options;Iqe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=yqe(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=N({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};Kie.exports=Uie});var jie=w((Dpt,Gie)=>{"use strict";var gN=Xi(),Fi=mo(),fN={default:Fi.noop,noop:Fi.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||gN.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||gN.complement(this.primary)},primary:Fi.cyan,success:Fi.green,danger:Fi.magenta,strong:Fi.bold,warning:Fi.yellow,muted:Fi.dim,disabled:Fi.gray,dark:Fi.dim.gray,underline:Fi.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};fN.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Fi.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Fi.visible=t.styles.visible);let e=gN.merge({},fN,t.styles);delete e.merge;for(let r of Object.keys(Fi))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Fi[r]});for(let r of Object.keys(Fi.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Fi[r]});return e};Gie.exports=fN});var qie=w((Rpt,Yie)=>{"use strict";var hN=process.platform==="win32",mA=mo(),wqe=Xi(),pN=ie(N({},mA.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:mA.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:mA.symbols.question,submitted:mA.symbols.check,cancelled:mA.symbols.cross},separator:{pending:mA.symbols.pointerSmall,submitted:mA.symbols.middot,cancelled:mA.symbols.middot},radio:{off:hN?"( )":"\u25EF",on:hN?"(*)":"\u25C9",disabled:hN?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]});pN.merge=t=>{let e=wqe.merge({},mA.symbols,pN,t.symbols);return delete e.merge,e};Yie.exports=pN});var Wie=w((Fpt,Jie)=>{"use strict";var Bqe=jie(),bqe=qie(),Qqe=Xi();Jie.exports=t=>{t.options=Qqe.merge({},t.options.theme,t.options),t.symbols=bqe.merge(t.options),t.styles=Bqe.merge(t.options)}});var Zie=w((zie,_ie)=>{"use strict";var Vie=process.env.TERM_PROGRAM==="Apple_Terminal",vqe=mo(),dN=Xi(),Eo=_ie.exports=zie,Nr="[",Xie="\x07",CN=!1,kl=Eo.code={bell:Xie,beep:Xie,beginning:`${Nr}G`,down:`${Nr}J`,esc:Nr,getPosition:`${Nr}6n`,hide:`${Nr}?25l`,line:`${Nr}2K`,lineEnd:`${Nr}K`,lineStart:`${Nr}1K`,restorePosition:Nr+(Vie?"8":"u"),savePosition:Nr+(Vie?"7":"s"),screen:`${Nr}2J`,show:`${Nr}?25h`,up:`${Nr}1J`},mu=Eo.cursor={get hidden(){return CN},hide(){return CN=!0,kl.hide},show(){return CN=!1,kl.show},forward:(t=1)=>`${Nr}${t}C`,backward:(t=1)=>`${Nr}${t}D`,nextLine:(t=1)=>`${Nr}E`.repeat(t),prevLine:(t=1)=>`${Nr}F`.repeat(t),up:(t=1)=>t?`${Nr}${t}A`:"",down:(t=1)=>t?`${Nr}${t}B`:"",right:(t=1)=>t?`${Nr}${t}C`:"",left:(t=1)=>t?`${Nr}${t}D`:"",to(t,e){return e?`${Nr}${e+1};${t+1}H`:`${Nr}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?mu.left(-t):t>0?mu.right(t):"",r+=e<0?mu.up(-e):e>0?mu.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:i,input:n,prompt:s,size:o,value:a}=t;if(i=dN.isPrimitive(i)?String(i):"",n=dN.isPrimitive(n)?String(n):"",a=dN.isPrimitive(a)?String(a):"",o){let l=Eo.cursor.up(o)+Eo.cursor.to(s.length),c=n.length-r;return c>0&&(l+=Eo.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+r;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),Eo.cursor.move(l)}}},mN=Eo.erase={screen:kl.screen,up:kl.up,down:kl.down,line:kl.line,lineEnd:kl.lineEnd,lineStart:kl.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return mN.line+mu.to(0);let r=s=>[...vqe.unstyle(s)].length,i=t.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(r(s)-1,0)/e);return(mN.line+mu.prevLine()).repeat(n-1)+mN.line+mu.to(0)}});var Vf=w((Npt,$ie)=>{"use strict";var Sqe=require("events"),ene=mo(),EN=Tie(),kqe=Mie(),xqe=Hie(),Pqe=Wie(),Tn=Xi(),Eu=Zie(),V0=class extends Sqe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,Pqe(this),kqe(this),this.state=new xqe(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=Rqe(this.options.margin),this.setMaxListeners(0),Dqe(this)}async keypress(e,r={}){this.keypressed=!0;let i=EN.action(e,EN(e,r),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Eu.code.beep)}cursorHide(){this.stdout.write(Eu.cursor.hide()),Tn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Eu.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(Eu.cursor.down(e)+Eu.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:r,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=Eu.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:r,prompt:i}=this.state;i=ene.unstyle(i);let n=ene.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` +`),c=l[0],u=l[l.length-1],f=(i+(r?" "+r:"")).length,h=fe.call(this,this.value),this.result=()=>i.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let n=r.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=r&&r[e]!=null?r[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,r,i);return!g&&r&&r[e]?this.resolve(c,s,r,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,i=this.state;return i.timer=r,Tn.isObject(e)&&(e=e[i.status]||e.pending),Tn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Tn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,i=this.state;i.timer=r;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return Tn.isObject(s)&&(s=s[i.status]||s.pending),Tn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&Tn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===r,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=Tn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,r){let i=await this.element("indicator",e,r);if(typeof i=="string"&&Tn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return Tn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Tn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return Tn.resolve(this,e,...r)}get base(){return V0.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Tn.height(this.stdout,25)}get width(){return this.options.columns||Tn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,i=[r,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function Dqe(t){let e=n=>t[n]===void 0||typeof t[n]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(t.options)){if(r.includes(n)||/^on[A-Z]/.test(n))continue;let s=t.options[n];typeof s=="function"&&e(n)?i.includes(n)||(t[n]=s.bind(t)):typeof t[n]!="function"&&(t[n]=s)}}function Rqe(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=n=>n%2==0?` +`:" ",i=[];for(let n=0;n<4;n++){let s=r(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}$ie.exports=V0});var ine=w((Lpt,tne)=>{"use strict";var Fqe=Xi(),rne={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return rne.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};tne.exports=(t,e={})=>{let r=Fqe.merge({},rne,e.roles);return r[t]||r.default}});var ZC=w((Tpt,nne)=>{"use strict";var Nqe=mo(),Lqe=Vf(),Tqe=ine(),X0=Xi(),{reorder:IN,scrollUp:Oqe,scrollDown:Mqe,isObject:sne,swap:Kqe}=X0,one=class extends Lqe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");sne(r)&&(r=Object.keys(r)),Array.isArray(r)?(i!=null&&(this.index=this.findIndex(i)),r.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(r=i),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,r,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=Tqe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,X0.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,Nqe.unstyle(e.message).length));let o=N({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,i){let n=await this.toChoice(e,r,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,r,i){let n=N({name:"New choice name?",editable:!0,newChoice:!0},e),s=await this.addChoice(n,r,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(n=>this.toggle(n,r));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return ane(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=IN(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=r(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=IN(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=IN(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>r&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===r-1?this.alert():e>r&&i===r-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=Oqe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=Mqe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){Kqe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&r.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,r),i),{})}filter(e,r){let i=(a,l)=>[a.name,l].includes(e),n=typeof e=="function"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return r?o.map(a=>a[r]):o}find(e,r){if(sne(e))return r?e[r]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e=="function"?e:i,s=this.choices.find(n);if(s)return r?s[r]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:r,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&r!==!1&&i!==!0&&(s=X0.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(i=>i.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let i=this.find(r);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return ane(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:i}=this,n=e.limit||this._limit||r.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function ane(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(X0.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let i=r.choices.filter(n=>!t.isDisabled(n));r.enabled=i.every(n=>n.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}nne.exports=one});var xl=w((Opt,Ane)=>{"use strict";var Uqe=ZC(),yN=Xi(),lne=class extends Uqe{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let i=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!yN.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await this.indicator(e,r)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,r);o&&!yN.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,r),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(yN.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let i=this.margin[0]+r.join(` +`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(r),this.write([n,i,u,g].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Ane.exports=lne});var gne=w((Mpt,cne)=>{"use strict";var Hqe=xl(),Gqe=(t,e)=>{let r=t.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(r),o=e(i.slice(s,s+r.length));return s>=0?i.slice(0,s)+o+i.slice(s+r.length):i}},une=class extends Hqe{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:i}=this.state;return this.input=i.slice(0,r)+e+i.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let i=e.toLowerCase();return r.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=Gqe(this.input,e),i=this.choices;this.choices=i.map(n=>ie(N({},n),{message:r(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};cne.exports=une});var BN=w((Kpt,fne)=>{"use strict";var wN=Xi();fne.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=wN.inverse(t.styles.primary),c=m=>l(t.styles.black(m)),u=r,g=" ",f=c(g);if(t.blink&&t.blink.off===!0&&(c=m=>m,f=""),s&&n===0&&i===""&&r==="")return c(g);if(s&&n===0&&(r===i||r===""))return c(i[0])+a(i.slice(1));i=wN.isPrimitive(i)?`${i}`:"",r=wN.isPrimitive(r)?`${r}`:"";let h=i&&i.startsWith(r)&&i!==r,p=h?c(i[r.length]):f;if(n!==r.length&&s===!0&&(u=r.slice(0,n)+c(r[n])+r.slice(n+1),p=""),s===!1&&(p=""),h){let m=t.styles.unstyle(u+p);return u+p+a(i.slice(m.length))}return u+p}});var Z0=w((Upt,hne)=>{"use strict";var jqe=mo(),Yqe=xl(),qqe=BN(),pne=class extends Yqe{constructor(e){super(ie(N({},e),{multiple:!0}));this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:i,input:n}=r;return r.value=r.input=n.slice(0,i)+e+n.slice(i),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:i}=e;return e.value=e.input=i.slice(0,r-1)+i.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:i}=e;if(i[r]===void 0)return this.alert();let n=`${i}`.slice(0,r)+`${i}`.slice(r+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:i}=e;return r&&r.startsWith(i)&&i!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let i=await this.resolve(e.separator,this.state,e,r)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,m=this.index===r,y=e.validate||(()=>!0),b=await this.choiceSeparator(e,r),S=e.message;this.align==="right"&&(S=S.padStart(this.longest+1," ")),this.align==="left"&&(S=S.padEnd(this.longest+1," "));let k=this.values[a]=c||o,T=c?"success":"dark";await y.call(e,k,this.state)!==!0&&(T="danger");let j=n[T](await this.indicator(e,r))+(e.pad||""),Z=this.indent(e),J=()=>[Z,j,S+b,c,p].filter(Boolean).join(" ");if(i.submitted)return S=jqe.unstyle(S),c=g(c),p="",J();if(e.format)c=await e.format.call(this,c,e,r);else{let re=this.styles.muted;c=qqe(this,{input:c,initial:o,pos:s,showCursor:m,color:re})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,k,e,r)),m&&(S=f(S)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),J()}async submit(){return this.value=this.values,super.base.submit.call(this)}};hne.exports=pne});var bN=w((Hpt,dne)=>{"use strict";var Jqe=Z0(),Wqe=()=>{throw new Error("expected prompt to have a custom authenticate method")},Cne=(t=Wqe)=>{class e extends Jqe{constructor(i){super(i)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return Cne(i)}}return e};dne.exports=Cne()});var Ine=w((Gpt,mne)=>{"use strict";var zqe=bN();function _qe(t,e){return t.username===this.options.username&&t.password===this.options.password}var Ene=(t=_qe)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class r extends zqe.create(t){constructor(n){super(ie(N({},n),{choices:e}))}static create(n){return Ene(n)}}return r};mne.exports=Ene()});var $0=w((jpt,yne)=>{"use strict";var Vqe=Vf(),{isPrimitive:Xqe,hasColor:Zqe}=Xi(),wne=class extends Vqe{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:i}=this;return i.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return Xqe(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return Zqe(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(r),this.write([l,a,f].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};yne.exports=wne});var Qne=w((Ypt,Bne)=>{"use strict";var $qe=$0(),bne=class extends $qe{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};Bne.exports=bne});var kne=w((qpt,vne)=>{"use strict";var eJe=xl(),tJe=Z0(),Xf=tJe.prototype,Sne=class extends eJe{constructor(e){super(ie(N({},e),{multiple:!0}));this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():Xf.dispatch.call(this,e,r)}append(e,r){return Xf.append.call(this,e,r)}delete(e,r){return Xf.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?Xf.next.call(this):super.next()}prev(){return this.focused.editable?Xf.prev.call(this):super.prev()}async indicator(e,r){let i=e.indicator||"",n=e.editable?i:super.indicator(e,r);return await this.resolve(n,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?Xf.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let i=r.parent?this.value[r.parent.name]:this.value;if(r.editable?i=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(i=r.enabled===!0),e=await r.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};vne.exports=Sne});var Iu=w((Jpt,xne)=>{"use strict";var rJe=Vf(),iJe=BN(),{isPrimitive:nJe}=Xi(),Pne=class extends rJe{constructor(e){super(e);this.initial=nJe(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let i=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!i||i.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:i}=this.state;this.input=`${i}`.slice(0,r)+e+`${i}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),i=this.input.slice(e),n=r.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):iJe(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),i=await this.separator(),n=await this.message(),s=[r,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` +`)),this.restore()}};xne.exports=Pne});var Rne=w((Wpt,Dne)=>{"use strict";var sJe=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),eb=t=>sJe(t).filter(Boolean);Dne.exports=(t,e={},r="")=>{let{past:i=[],present:n=""}=e,s,o;switch(t){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:eb([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:eb([...s,r]),present:o};case"save":return{past:eb([...i,r]),present:""};case"remove":return o=eb(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var QN=w((zpt,Fne)=>{"use strict";var oJe=Iu(),Nne=Rne(),Lne=class extends oJe{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let i=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=Nne(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=Nne("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};Fne.exports=Lne});var Mne=w((_pt,Tne)=>{"use strict";var aJe=Iu(),One=class extends aJe{format(){return""}};Tne.exports=One});var Hne=w((Vpt,Kne)=>{"use strict";var AJe=Iu(),Une=class extends AJe{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Kne.exports=Une});var Yne=w((Xpt,Gne)=>{"use strict";var lJe=xl(),jne=class extends lJe{constructor(e){super(ie(N({},e),{multiple:!0}))}};Gne.exports=jne});var vN=w((Zpt,qne)=>{"use strict";var cJe=Iu(),Jne=class extends cJe{constructor(e={}){super(N({style:"number"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,i=this.toNumber(this.input);return i>this.max+r?this.alert():(this.input=`${i+r}`,this.render())}down(e){let r=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};qne.exports=Jne});var zne=w(($pt,Wne)=>{Wne.exports=vN()});var Xne=w((edt,_ne)=>{"use strict";var uJe=Iu(),Vne=class extends uJe{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};_ne.exports=Vne});var tse=w((tdt,Zne)=>{"use strict";var gJe=mo(),fJe=ZC(),$ne=Xi(),ese=class extends fJe{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` + `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(` +`)}renderScaleHeading(e){let r=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-r.join("").length,n=Math.round(i/(r.length-1)),o=r.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,r,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,i);let n=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let i=e.scale.map(s=>this.scaleIndicator(e,s,r)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await e.hint;s&&!$ne.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,r),u=await this.renderScale(e,r),g=this.margin[1]+this.margin[3];this.scaleLength=gJe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=$ne.wordWrap(c,{width:this.widths[0],newline:a}).split(` +`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),r=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...r.map(n=>n.join(" "))].join(` +`)}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(r),this.write([a,o,c,g,f].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};Zne.exports=ese});var sse=w((rdt,rse)=>{"use strict";var ise=mo(),hJe=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",nse=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=hJe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},pJe=async(t={},e={},r=i=>i)=>{let i=new Set,n=t.fields||[],s=t.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});uT.name===b.key);b.field=n.find(T=>T.name===b.key),k||(k=new nse(b),a.push(k)),k.lines.push(b.line-1);continue}let m=o[o.length-1];m.type==="text"&&m.line===c?m.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};rse.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i=N(N({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await pJe(e,i),a=SN("result",t,e),l=SN("format",t,e),c=SN("validate",t,e,!0),u=t.isValue.bind(t);return async(g={},f=!1)=>{let h=0;g.required=r,g.items=s,g.keys=o,g.output="";let p=async(S,k,T,Y)=>{let j=await c(S,k,T,Y);return j===!1?"Invalid field "+T.name:j};for(let S of n){let k=S.value,T=S.key;if(S.type!=="template"){k&&(g.output+=k);continue}if(S.type==="template"){let Y=s.find(ee=>ee.name===T);e.required===!0&&g.required.add(Y.name);let j=[Y.input,g.values[Y.value],Y.value,k].find(u),J=(Y.field||{}).message||S.inner;if(f){let ee=await p(g.values[T],g,Y,h);if(ee&&typeof ee=="string"||ee===!1){g.invalid.set(T,ee);continue}g.invalid.delete(T);let A=await a(g.values[T],g,Y,h);g.output+=ise.unstyle(A);continue}Y.placeholder=!1;let re=k;k=await l(k,g,Y,h),j!==k?(g.values[T]=j,k=t.styles.typing(j),g.missing.delete(J)):(g.values[T]=void 0,j=`<${J}>`,k=t.styles.primary(j),Y.placeholder=!0,g.required.has(T)&&g.missing.add(J)),g.missing.has(J)&&g.validating&&(k=t.styles.warning(j)),g.invalid.has(T)&&g.validating&&(k=t.styles.danger(j)),h===g.index&&(re!==k?k=t.styles.underline(k):k=t.styles.heading(ise.unstyle(k))),h++}k&&(g.output+=k)}let m=g.output.split(` +`).map(S=>" "+S),y=s.length,b=0;for(let S of s)g.invalid.has(S.name)&&S.lines.forEach(k=>{m[k][0]===" "&&(m[k]=g.styles.danger(g.symbols.bullet)+m[k].slice(1))}),t.isValue(g.values[S.name])&&b++;return g.completed=(b/y*100).toFixed(0),g.output=m.join(` +`),g.output}};function SN(t,e,r,i){return(n,s,o,a)=>typeof o.field[t]=="function"?o.field[t].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var Ase=w((idt,ose)=>{"use strict";var dJe=mo(),CJe=sse(),mJe=Vf(),ase=class extends mJe{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await CJe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:i,size:n}=this.state,s=[this.options.newline,` +`].find(S=>S!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=r[e]||"",m=await this.format(p),y=await this.footer();m&&(c+=" "+m),f&&!m&&this.state.completed===0&&(c+=" "+f),this.clear(n);let b=[u,c,h,y,g.trim()];this.write(b.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:r,keys:i,index:n}=this.state,s=r.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} +`;return this.state.error=a,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let o=dJe.unstyle(i).split(` +`).map(a=>a.slice(1)).join(` +`);return this.value={values:n,result:o},super.submit()}};ose.exports=ase});var use=w((ndt,lse)=>{"use strict";var EJe="(Use + to sort)",IJe=xl(),cse=class extends IJe{constructor(e){super(ie(N({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,EJe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let i=await super.renderChoice(e,r),n=this.symbols.identicalTo+" ",s=this.index===r&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${r+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};lse.exports=cse});var hse=w((sdt,gse)=>{"use strict";var yJe=ZC(),fse=class extends yJe{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(i=>this.styles.muted(i)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let i of r)i.scale=wJe(5,this.options),i.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],i=r.selected;return e.scale.forEach(n=>n.selected=!1),r.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=k=>(k?this.styles.success("\u25C9"):"\u25EF")+o,u=r+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,r),h=this.indent(e),p=h+e.scale.map((k,T)=>c(T===e.scaleIdx)).join(a),m=k=>k===e.scaleIdx?g(k):k,y=h+e.scale.map((k,T)=>m(T)).join(l),b=()=>[u,f].filter(Boolean).join(" "),S=()=>[b(),p,y," "].filter(Boolean).join(` +`);return i&&(p=this.styles.cyan(p),y=this.styles.cyan(y)),S()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([o,a,u,g].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function wJe(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>N({},i));let r=[];for(let i=1;i{pse.exports=QN()});var Ese=w((adt,Cse)=>{"use strict";var BJe=$0(),mse=class extends BJe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([r,c,l].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Cse.exports=mse});var wse=w((Adt,Ise)=>{"use strict";var bJe=xl(),yse=class extends bJe{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let i=await super.toChoices(e,r);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Ise.exports=yse});var bse=w(kN=>{"use strict";var Bse=Xi(),Ci=(t,e)=>{Bse.defineExport(kN,t,e),Bse.defineExport(kN,t.toLowerCase(),e)};Ci("AutoComplete",()=>gne());Ci("BasicAuth",()=>Ine());Ci("Confirm",()=>Qne());Ci("Editable",()=>kne());Ci("Form",()=>Z0());Ci("Input",()=>QN());Ci("Invisible",()=>Mne());Ci("List",()=>Hne());Ci("MultiSelect",()=>Yne());Ci("Numeral",()=>zne());Ci("Password",()=>Xne());Ci("Scale",()=>tse());Ci("Select",()=>xl());Ci("Snippet",()=>Ase());Ci("Sort",()=>use());Ci("Survey",()=>hse());Ci("Text",()=>dse());Ci("Toggle",()=>Ese());Ci("Quiz",()=>wse())});var vse=w((cdt,Qse)=>{Qse.exports={ArrayPrompt:ZC(),AuthPrompt:bN(),BooleanPrompt:$0(),NumberPrompt:vN(),StringPrompt:Iu()}});var em=w((udt,Sse)=>{"use strict";var kse=require("assert"),xN=require("events"),Pl=Xi(),ua=class extends xN{constructor(e,r){super();this.options=Pl.merge({},e),this.answers=N({},r)}register(e,r){if(Pl.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}kse.equal(typeof r,"function","expected a function");let i=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[i]=r:this.prompts[i]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(Pl.merge({},this.options,r))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=Pl.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=Pl;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];kse(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](r),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),r.autofill&&l!=null?(a.value=a.input=l,r.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||Vf()}static get prompts(){return bse()}static get types(){return vse()}static get prompt(){let e=(r,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(r)};return Pl.mixinEmitter(e,new xN),e}};Pl.mixinEmitter(ua,new xN);var PN=ua.prompts;for(let t of Object.keys(PN)){let e=t.toLowerCase(),r=i=>new PN[t](i).run();ua.prompt[e]=r,ua[e]=r,ua[t]||Reflect.defineProperty(ua,t,{get:()=>PN[t]})}var $C=t=>{Pl.defineExport(ua,t,()=>ua.types[t])};$C("ArrayPrompt");$C("AuthPrompt");$C("BooleanPrompt");$C("NumberPrompt");$C("StringPrompt");Sse.exports=ua});var Hse=w((eCt,Use)=>{function xJe(t,e){for(var r=-1,i=t==null?0:t.length;++r{var PJe=u0(),DJe=Lf();function RJe(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s{var FJe=$f(),NJe=Uf();function LJe(t,e){return t&&FJe(e,NJe(e),t)}jse.exports=LJe});var Jse=w((iCt,qse)=>{function TJe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}qse.exports=TJe});var zse=w((nCt,Wse)=>{var OJe=Rn(),MJe=Q0(),KJe=Jse(),UJe=Object.prototype,HJe=UJe.hasOwnProperty;function GJe(t){if(!OJe(t))return KJe(t);var e=MJe(t),r=[];for(var i in t)i=="constructor"&&(e||!HJe.call(t,i))||r.push(i);return r}Wse.exports=GJe});var eh=w((sCt,_se)=>{var jJe=yF(),YJe=zse(),qJe=NC();function JJe(t){return qJe(t)?jJe(t,!0):YJe(t)}_se.exports=JJe});var Xse=w((oCt,Vse)=>{var WJe=$f(),zJe=eh();function _Je(t,e){return t&&WJe(e,zJe(e),t)}Vse.exports=_Je});var TN=w((am,th)=>{var VJe=Fs(),Zse=typeof am=="object"&&am&&!am.nodeType&&am,$se=Zse&&typeof th=="object"&&th&&!th.nodeType&&th,XJe=$se&&$se.exports===Zse,eoe=XJe?VJe.Buffer:void 0,toe=eoe?eoe.allocUnsafe:void 0;function ZJe(t,e){if(e)return t.slice();var r=t.length,i=toe?toe(r):new t.constructor(r);return t.copy(i),i}th.exports=ZJe});var ON=w((aCt,roe)=>{function $Je(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{var e3e=$f(),t3e=S0();function r3e(t,e){return e3e(t,t3e(t),e)}ioe.exports=r3e});var tb=w((lCt,soe)=>{var i3e=wF(),n3e=i3e(Object.getPrototypeOf,Object);soe.exports=n3e});var MN=w((cCt,ooe)=>{var s3e=f0(),o3e=tb(),a3e=S0(),A3e=kF(),l3e=Object.getOwnPropertySymbols,c3e=l3e?function(t){for(var e=[];t;)s3e(e,a3e(t)),t=o3e(t);return e}:A3e;ooe.exports=c3e});var Aoe=w((uCt,aoe)=>{var u3e=$f(),g3e=MN();function f3e(t,e){return u3e(t,g3e(t),e)}aoe.exports=f3e});var coe=w((gCt,loe)=>{var h3e=SF(),p3e=MN(),d3e=eh();function C3e(t){return h3e(t,d3e,p3e)}loe.exports=C3e});var goe=w((fCt,uoe)=>{var m3e=Object.prototype,E3e=m3e.hasOwnProperty;function I3e(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&E3e.call(t,"index")&&(r.index=t.index,r.input=t.input),r}uoe.exports=I3e});var rb=w((hCt,foe)=>{var hoe=QF();function y3e(t){var e=new t.constructor(t.byteLength);return new hoe(e).set(new hoe(t)),e}foe.exports=y3e});var doe=w((pCt,poe)=>{var w3e=rb();function B3e(t,e){var r=e?w3e(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}poe.exports=B3e});var moe=w((dCt,Coe)=>{var b3e=/\w*$/;function Q3e(t){var e=new t.constructor(t.source,b3e.exec(t));return e.lastIndex=t.lastIndex,e}Coe.exports=Q3e});var Boe=w((CCt,Eoe)=>{var Ioe=Hc(),yoe=Ioe?Ioe.prototype:void 0,woe=yoe?yoe.valueOf:void 0;function v3e(t){return woe?Object(woe.call(t)):{}}Eoe.exports=v3e});var KN=w((mCt,boe)=>{var S3e=rb();function k3e(t,e){var r=e?S3e(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}boe.exports=k3e});var voe=w((ECt,Qoe)=>{var x3e=rb(),P3e=doe(),D3e=moe(),R3e=Boe(),F3e=KN(),N3e="[object Boolean]",L3e="[object Date]",T3e="[object Map]",O3e="[object Number]",M3e="[object RegExp]",K3e="[object Set]",U3e="[object String]",H3e="[object Symbol]",G3e="[object ArrayBuffer]",j3e="[object DataView]",Y3e="[object Float32Array]",q3e="[object Float64Array]",J3e="[object Int8Array]",W3e="[object Int16Array]",z3e="[object Int32Array]",_3e="[object Uint8Array]",V3e="[object Uint8ClampedArray]",X3e="[object Uint16Array]",Z3e="[object Uint32Array]";function $3e(t,e,r){var i=t.constructor;switch(e){case G3e:return x3e(t);case N3e:case L3e:return new i(+t);case j3e:return P3e(t,r);case Y3e:case q3e:case J3e:case W3e:case z3e:case _3e:case V3e:case X3e:case Z3e:return F3e(t,r);case T3e:return new i;case O3e:case U3e:return new i(t);case M3e:return D3e(t);case K3e:return new i;case H3e:return R3e(t)}}Qoe.exports=$3e});var xoe=w((ICt,Soe)=>{var eWe=Rn(),koe=Object.create,tWe=function(){function t(){}return function(e){if(!eWe(e))return{};if(koe)return koe(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();Soe.exports=tWe});var UN=w((yCt,Poe)=>{var rWe=xoe(),iWe=tb(),nWe=Q0();function sWe(t){return typeof t.constructor=="function"&&!nWe(t)?rWe(iWe(t)):{}}Poe.exports=sWe});var Roe=w((wCt,Doe)=>{var oWe=TC(),aWe=Zo(),AWe="[object Map]";function lWe(t){return aWe(t)&&oWe(t)==AWe}Doe.exports=lWe});var Toe=w((BCt,Foe)=>{var cWe=Roe(),uWe=w0(),Noe=B0(),Loe=Noe&&Noe.isMap,gWe=Loe?uWe(Loe):cWe;Foe.exports=gWe});var Moe=w((bCt,Ooe)=>{var fWe=TC(),hWe=Zo(),pWe="[object Set]";function dWe(t){return hWe(t)&&fWe(t)==pWe}Ooe.exports=dWe});var Goe=w((QCt,Koe)=>{var CWe=Moe(),mWe=w0(),Uoe=B0(),Hoe=Uoe&&Uoe.isSet,EWe=Hoe?mWe(Hoe):CWe;Koe.exports=EWe});var Woe=w((vCt,joe)=>{var IWe=LC(),yWe=Hse(),wWe=u0(),BWe=Yse(),bWe=Xse(),QWe=TN(),vWe=ON(),SWe=noe(),kWe=Aoe(),xWe=xF(),PWe=coe(),DWe=TC(),RWe=goe(),FWe=voe(),NWe=UN(),LWe=Ms(),TWe=DC(),OWe=Toe(),MWe=Rn(),KWe=Goe(),UWe=Uf(),HWe=eh(),GWe=1,jWe=2,YWe=4,Yoe="[object Arguments]",qWe="[object Array]",JWe="[object Boolean]",WWe="[object Date]",zWe="[object Error]",qoe="[object Function]",_We="[object GeneratorFunction]",VWe="[object Map]",XWe="[object Number]",Joe="[object Object]",ZWe="[object RegExp]",$We="[object Set]",e8e="[object String]",t8e="[object Symbol]",r8e="[object WeakMap]",i8e="[object ArrayBuffer]",n8e="[object DataView]",s8e="[object Float32Array]",o8e="[object Float64Array]",a8e="[object Int8Array]",A8e="[object Int16Array]",l8e="[object Int32Array]",c8e="[object Uint8Array]",u8e="[object Uint8ClampedArray]",g8e="[object Uint16Array]",f8e="[object Uint32Array]",dr={};dr[Yoe]=dr[qWe]=dr[i8e]=dr[n8e]=dr[JWe]=dr[WWe]=dr[s8e]=dr[o8e]=dr[a8e]=dr[A8e]=dr[l8e]=dr[VWe]=dr[XWe]=dr[Joe]=dr[ZWe]=dr[$We]=dr[e8e]=dr[t8e]=dr[c8e]=dr[u8e]=dr[g8e]=dr[f8e]=!0;dr[zWe]=dr[qoe]=dr[r8e]=!1;function ib(t,e,r,i,n,s){var o,a=e&GWe,l=e&jWe,c=e&YWe;if(r&&(o=n?r(t,i,n,s):r(t)),o!==void 0)return o;if(!MWe(t))return t;var u=LWe(t);if(u){if(o=RWe(t),!a)return vWe(t,o)}else{var g=DWe(t),f=g==qoe||g==_We;if(TWe(t))return QWe(t,a);if(g==Joe||g==Yoe||f&&!n){if(o=l||f?{}:NWe(t),!a)return l?kWe(t,bWe(o,t)):SWe(t,BWe(o,t))}else{if(!dr[g])return n?t:{};o=FWe(t,g,a)}}s||(s=new IWe);var h=s.get(t);if(h)return h;s.set(t,o),KWe(t)?t.forEach(function(y){o.add(ib(y,e,r,y,t,s))}):OWe(t)&&t.forEach(function(y,b){o.set(b,ib(y,e,r,b,t,s))});var p=c?l?PWe:xWe:l?HWe:UWe,m=u?void 0:p(t);return yWe(m||t,function(y,b){m&&(b=y,y=t[b]),wWe(o,b,ib(y,e,r,b,t,s))}),o}joe.exports=ib});var HN=w((SCt,zoe)=>{var h8e=Woe(),p8e=1,d8e=4;function C8e(t){return h8e(t,p8e|d8e)}zoe.exports=C8e});var Voe=w((kCt,_oe)=>{var m8e=XR();function E8e(t,e,r){return t==null?t:m8e(t,e,r)}_oe.exports=E8e});var rae=w((NCt,tae)=>{function I8e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}tae.exports=I8e});var nae=w((LCt,iae)=>{var y8e=yC(),w8e=AD();function B8e(t,e){return e.length<2?t:y8e(t,w8e(e,0,-1))}iae.exports=B8e});var oae=w((TCt,sae)=>{var b8e=Nf(),Q8e=rae(),v8e=nae(),S8e=cu();function k8e(t,e){return e=b8e(e,t),t=v8e(t,e),t==null||delete t[S8e(Q8e(e))]}sae.exports=k8e});var Aae=w((OCt,aae)=>{var x8e=oae();function P8e(t,e){return t==null?!0:x8e(t,e)}aae.exports=P8e});var Cae=w((fmt,dae)=>{dae.exports={name:"@yarnpkg/cli",version:"3.2.1",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"^3.2.0-rc.4",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var $N=w((qyt,iAe)=>{"use strict";iAe.exports=function(e,r){r===!0&&(r=0);var i=e.indexOf("://"),n=e.substring(0,i).split("+").filter(Boolean);return typeof r=="number"?n[r]:n}});var eL=w((Jyt,nAe)=>{"use strict";var X8e=$N();function sAe(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=X8e(t);return t=t.substring(t.indexOf("://")+3),sAe(e)?!0:t.indexOf("@"){"use strict";var Z8e=$N(),$8e=eL(),e4e=require("querystring");function t4e(t){t=(t||"").trim();var e={protocols:Z8e(t),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:t,query:Object.create(null)},r=t.indexOf("://"),i=-1,n=null,s=null;t.startsWith(".")&&(t.startsWith("./")&&(t=t.substring(2)),e.pathname=t,e.protocol="file");var o=t.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||($8e(t)?e.protocol="ssh":((o==="/"||o==="~")&&(t=t.substring(2)),e.protocol="file"))),r!==-1&&(t=t.substring(r+3)),s=t.split("/"),e.protocol!=="file"?e.resource=s.shift():e.resource="",n=e.resource.split("@"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(":"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol==="file"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!=="file"||e.href[0]==="/"?"/":"")+s.join("/"),n=e.pathname.split("#"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split("?"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=e4e.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}oAe.exports=t4e});var cAe=w((zyt,AAe)=>{"use strict";var r4e="text/plain",i4e="us-ascii",lAe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),n4e=(t,{stripHash:e})=>{let r=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(t);if(!r)throw new Error(`Invalid URL: ${t}`);let{type:i,data:n,hash:s}=r.groups,o=i.split(";");s=e?"":s;let a=!1;o[o.length-1]==="base64"&&(o.pop(),a=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(g=>{let[f,h=""]=g.split("=").map(p=>p.trim());return f==="charset"&&(h=h.toLowerCase(),h===i4e)?"":`${f}${h?`=${h}`:""}`}).filter(Boolean)];return a&&u.push("base64"),(u.length!==0||l&&l!==r4e)&&u.unshift(l),`data:${u.join(";")},${a?n.trim():n}${s?`#${s}`:""}`},s4e=(t,e)=>{if(e=N({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),t=t.trim(),/^data:/i.test(t))return n4e(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash?n.hash="":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,"")),n.pathname&&(n.pathname=n.pathname.replace(/(?0){let o=n.pathname.split("/"),a=o[o.length-1];lAe(a,e.removeDirectoryIndex)&&(o=o.slice(0,o.length-1),n.pathname=o.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)(?:[a-z\-\d]{1,63})\.(?:[a-z.\-\d]{2,63})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])lAe(o,e.removeQueryParameters)&&n.searchParams.delete(o);e.removeQueryParameters===!0&&(n.search=""),e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,""));let s=t;return t=n.toString(),!e.removeSingleSlash&&n.pathname==="/"&&!s.endsWith("/")&&n.hash===""&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};AAe.exports=s4e});var gAe=w((_yt,uAe)=>{"use strict";var o4e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a4e=aAe(),A4e=cAe();function l4e(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof t!="string"||!t.trim())throw new Error("Invalid url.");e&&((typeof e=="undefined"?"undefined":o4e(e))!=="object"&&(e={stripHash:!1}),t=A4e(t,e));var r=a4e(t);return r}uAe.exports=l4e});var pAe=w((Vyt,fAe)=>{"use strict";var c4e=gAe(),hAe=eL();function u4e(t){var e=c4e(t);e.token="";var r=e.user.split(":");return r.length===2&&(r[1]==="x-oauth-basic"?e.token=r[0]:r[0]==="x-token-auth"&&(e.token=r[1])),hAe(e.protocols)||hAe(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}fAe.exports=u4e});var CAe=w((Xyt,dAe)=>{"use strict";var g4e=pAe();function tL(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=g4e(t),r=e.resource.split("."),i=null;switch(e.toString=function(l){return tL.stringify(this,l)},e.source=r.length>2?r.slice(1-r.length).join("."):e.source=e.resource,e.git_suffix=/\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\//,"").replace(/\.git$/,"")),e.owner=decodeURIComponent(e.user),e.source){case"git.cloudforge.com":e.owner=e.user,e.organization=r[0],e.source="cloudforge.com";break;case"visualstudio.com":if(e.resource==="vs-ssh.visualstudio.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+"/"+i[3]);break}else{i=e.name.split("/"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}case"dev.azure.com":case"azure.com":if(e.resource==="ssh.dev.azure.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split("/"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}default:i=e.name.split("/");var n=i.length-1;if(i.length>=2){var s=i.indexOf("blob",2),o=i.indexOf("tree",2),a=i.indexOf("commit",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join("/"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref="",e.filepathtype="",e.filepath="",i.length>n+2&&["blob","tree"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join("/"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+="/"),e.full_name+=e.name)),e}tL.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",i=t.user||"git",n=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+i+"@"+t.resource+r+"/"+t.full_name+n:i+"@"+t.resource+":"+t.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+t.resource+r+"/"+t.full_name+n;case"http":case"https":var s=t.token?f4e(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+s+t.resource+r+"/"+t.full_name+n;default:return t.href}};function f4e(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}dAe.exports=tL});var DL=w((ibt,UAe)=>{var R4e=Lf(),F4e=Df();function N4e(t,e,r){(r!==void 0&&!F4e(t[e],r)||r===void 0&&!(e in t))&&R4e(t,e,r)}UAe.exports=N4e});var GAe=w((nbt,HAe)=>{var L4e=NC(),T4e=Zo();function O4e(t){return T4e(t)&&L4e(t)}HAe.exports=O4e});var qAe=w((sbt,jAe)=>{var M4e=Gc(),K4e=tb(),U4e=Zo(),H4e="[object Object]",G4e=Function.prototype,j4e=Object.prototype,YAe=G4e.toString,Y4e=j4e.hasOwnProperty,q4e=YAe.call(Object);function J4e(t){if(!U4e(t)||M4e(t)!=H4e)return!1;var e=K4e(t);if(e===null)return!0;var r=Y4e.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&YAe.call(r)==q4e}jAe.exports=J4e});var RL=w((obt,JAe)=>{function W4e(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}JAe.exports=W4e});var zAe=w((abt,WAe)=>{var z4e=$f(),_4e=eh();function V4e(t){return z4e(t,_4e(t))}WAe.exports=V4e});var ele=w((Abt,_Ae)=>{var VAe=DL(),X4e=TN(),Z4e=KN(),$4e=ON(),eze=UN(),XAe=BC(),ZAe=Ms(),tze=GAe(),rze=DC(),ize=A0(),nze=Rn(),sze=qAe(),oze=b0(),$Ae=RL(),aze=zAe();function Aze(t,e,r,i,n,s,o){var a=$Ae(t,r),l=$Ae(e,r),c=o.get(l);if(c){VAe(t,r,c);return}var u=s?s(a,l,r+"",t,e,o):void 0,g=u===void 0;if(g){var f=ZAe(l),h=!f&&rze(l),p=!f&&!h&&oze(l);u=l,f||h||p?ZAe(a)?u=a:tze(a)?u=$4e(a):h?(g=!1,u=X4e(l,!0)):p?(g=!1,u=Z4e(l,!0)):u=[]:sze(l)||XAe(l)?(u=a,XAe(a)?u=aze(a):(!nze(a)||ize(a))&&(u=eze(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),VAe(t,r,u)}_Ae.exports=Aze});var ile=w((lbt,tle)=>{var lze=LC(),cze=DL(),uze=EF(),gze=ele(),fze=Rn(),hze=eh(),pze=RL();function rle(t,e,r,i,n){t!==e&&uze(e,function(s,o){if(n||(n=new lze),fze(s))gze(t,e,o,r,rle,i,n);else{var a=i?i(pze(t,o),s,o+"",t,e,n):void 0;a===void 0&&(a=s),cze(t,o,a)}},hze)}tle.exports=rle});var sle=w((cbt,nle)=>{var dze=h0(),Cze=eF(),mze=tF();function Eze(t,e){return mze(Cze(t,e,dze),t+"")}nle.exports=Eze});var ale=w((ubt,ole)=>{var Ize=Df(),yze=NC(),wze=wC(),Bze=Rn();function bze(t,e,r){if(!Bze(r))return!1;var i=typeof e;return(i=="number"?yze(r)&&wze(e,r.length):i=="string"&&e in r)?Ize(r[e],t):!1}ole.exports=bze});var lle=w((gbt,Ale)=>{var Qze=sle(),vze=ale();function Sze(t){return Qze(function(e,r){var i=-1,n=r.length,s=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,o&&vze(r[0],r[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var kze=ile(),xze=lle(),Pze=xze(function(t,e,r){kze(t,e,r)});cle.exports=Pze});var Sle=w((mQt,vle)=>{var JL;vle.exports=()=>(typeof JL=="undefined"&&(JL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),JL)});var Mle=w((XQt,Ole)=>{var VL;Ole.exports=()=>(typeof VL=="undefined"&&(VL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),VL)});var Jle=w((iT,nT)=>{(function(t){iT&&typeof iT=="object"&&typeof nT!="undefined"?nT.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window!="undefined"?window.isWindows=t():typeof global!="undefined"?global.isWindows=t():typeof self!="undefined"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var Vle=w((iSt,Wle)=>{"use strict";sT.ifExists=m5e;var Ah=require("util"),Ws=require("path"),zle=Jle(),E5e=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,I5e={createPwshFile:!0,createCmdFile:zle(),fs:require("fs")},y5e=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function _le(t){let e=N(N({},I5e),t),r=e.fs;return e.fs_={chmod:r.chmod?Ah.promisify(r.chmod):async()=>{},mkdir:Ah.promisify(r.mkdir),readFile:Ah.promisify(r.readFile),stat:Ah.promisify(r.stat),unlink:Ah.promisify(r.unlink),writeFile:Ah.promisify(r.writeFile)},e}async function sT(t,e,r){let i=_le(r);await i.fs_.stat(t),await w5e(t,e,i)}function m5e(t,e,r){return sT(t,e,r).catch(()=>{})}function B5e(t,e){return e.fs_.unlink(t).catch(()=>{})}async function w5e(t,e,r){let i=await v5e(t,r);return await b5e(e,r),Q5e(t,e,i,r)}function b5e(t,e){return e.fs_.mkdir(Ws.dirname(t),{recursive:!0})}function Q5e(t,e,r,i){let n=_le(i),s=[{generator:x5e,extension:""}];return n.createCmdFile&&s.push({generator:k5e,extension:".cmd"}),n.createPwshFile&&s.push({generator:P5e,extension:".ps1"}),Promise.all(s.map(o=>S5e(t,e+o.extension,r,o.generator,n)))}function D5e(t,e){return B5e(t,e)}function F5e(t,e){return R5e(t,e)}async function v5e(t,e){let n=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(E5e);if(!n){let s=Ws.extname(t).toLowerCase();return{program:y5e.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function S5e(t,e,r,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[r.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:r.program,args:o}),await D5e(e,n),await n.fs_.writeFile(e,i(t,e,n),"utf8"),F5e(e,n)}function k5e(t,e,r){let n=Ws.relative(Ws.dirname(e),t).split("/").join("\\"),s=Ws.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=r.prog,l=r.args||"",c=oT(r.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=r.progArgs?`${r.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`:"";return o?g+=`@IF EXIST ${o} (\r + ${o} ${l} ${n} ${u}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${a} ${l} ${n} ${u}%*\r +)\r +`:g+=`@${a} ${l} ${n} ${u}%*\r +`,g}function x5e(t,e,r){let i=Ws.relative(Ws.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=Ws.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=oT(r.nodePath).posix;n?(s=`"$basedir/${r.prog}"`,i=o):(n=o,a="",i="");let c=r.progArgs?`${r.progArgs.join(" ")} `:"",u=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,g=r.nodePath?`export NODE_PATH="${l}" +`:"";return s?u+=`${g}if [ -x ${s} ]; then + exec ${s} ${a} ${i} ${c}"$@" +else + exec ${n} ${a} ${i} ${c}"$@" +fi +`:u+=`${g}${n} ${a} ${i} ${c}"$@" +exit $? +`,u}function P5e(t,e,r){let i=Ws.relative(Ws.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=Ws.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=oT(r.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${r.prog}$exe"`,i=a):(s=a,l="",i="");let f=r.progArgs?`${r.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${u}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(h+=` else { + $env:NODE_PATH="${g}" +}`),o?h+=` +$ret=0 +if (Test-Path ${o}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${o} ${l} ${i} ${f}$args + } else { + & ${o} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args + } else { + & ${s} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:h+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args +} else { + & ${s} ${l} ${i} ${f}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,h}function R5e(t,e){return e.fs_.chmod(t,493)}function oT(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(Ws.delimiter):Array.from(t),r={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];r.win32=r.win32?`${r.win32};${n}`:n,r.posix=r.posix?`${r.posix}:${s}`:s,r[i]={win32:n,posix:s}}return r}Wle.exports=sT});var yT=w((Kkt,dce)=>{dce.exports=require("stream")});var Ice=w((Ukt,Cce)=>{"use strict";function mce(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function $5e(t){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return yb.alloc(0);for(var i=yb.allocUnsafe(r>>>0),n=this.head,s=0;n;)s_e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return ro.length?o.length:r;if(a===o.length?s+=o:s+=o.slice(0,r),r-=a,r===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(r){var i=yb.allocUnsafe(r),n=this.head,s=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var o=n.data,a=r>o.length?o.length:r;if(o.copy(i,i.length-r,0,a),r-=a,r===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:n_e,value:function(r,i){return wT(this,$5e({},i,{depth:0,customInspect:!1}))}}]),t}()});var bT=w((Hkt,yce)=>{"use strict";function o_e(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(BT,this,t)):process.nextTick(BT,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!e&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(wb,r):(r._writableState.errorEmitted=!0,process.nextTick(wce,r,s)):process.nextTick(wce,r,s):e?(process.nextTick(wb,r),e(s)):process.nextTick(wb,r)}),this)}function wce(t,e){BT(t,e),wb(t)}function wb(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function a_e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function BT(t,e){t.emit("error",e)}function A_e(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}yce.exports={destroy:o_e,undestroy:a_e,errorOrDestroy:A_e}});var Ll=w((Gkt,Bce)=>{"use strict";var bce={};function zs(t,e,r){r||(r=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends r{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=r.name,n.prototype.code=t,bce[t]=n}function Qce(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(i=>String(i)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function l_e(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function c_e(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function u_e(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}zs("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);zs("ERR_INVALID_ARG_TYPE",function(t,e,r){let i;typeof e=="string"&&l_e(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(c_e(t," argument"))n=`The ${t} ${i} ${Qce(e,"type")}`;else{let s=u_e(t,".")?"property":"argument";n=`The "${t}" ${s} ${i} ${Qce(e,"type")}`}return n+=`. Received type ${typeof r}`,n},TypeError);zs("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");zs("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});zs("ERR_STREAM_PREMATURE_CLOSE","Premature close");zs("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});zs("ERR_MULTIPLE_CALLBACK","Callback called multiple times");zs("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");zs("ERR_STREAM_WRITE_AFTER_END","write after end");zs("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);zs("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);zs("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");Bce.exports.codes=bce});var QT=w((jkt,vce)=>{"use strict";var g_e=Ll().codes.ERR_INVALID_OPT_VALUE;function f_e(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function h_e(t,e,r,i){var n=f_e(e,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?r:"highWaterMark";throw new g_e(s,n)}return Math.floor(n)}return t.objectMode?16:16*1024}vce.exports={getHighWaterMark:h_e}});var Sce=w((Ykt,vT)=>{typeof Object.create=="function"?vT.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:vT.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var Tl=w((qkt,ST)=>{try{if(kT=require("util"),typeof kT.inherits!="function")throw"";ST.exports=kT.inherits}catch(t){ST.exports=Sce()}var kT});var xce=w((Jkt,kce)=>{kce.exports=require("util").deprecate});var DT=w((Wkt,Pce)=>{"use strict";Pce.exports=jr;function Dce(t){var e=this;this.next=null,this.entry=null,this.finish=function(){p_e(e,t)}}var uh;jr.WritableState=Vm;var d_e={deprecate:xce()},Rce=yT(),Bb=require("buffer").Buffer,C_e=global.Uint8Array||function(){};function m_e(t){return Bb.from(t)}function E_e(t){return Bb.isBuffer(t)||t instanceof C_e}var xT=bT(),I_e=QT(),y_e=I_e.getHighWaterMark,Ol=Ll().codes,w_e=Ol.ERR_INVALID_ARG_TYPE,B_e=Ol.ERR_METHOD_NOT_IMPLEMENTED,b_e=Ol.ERR_MULTIPLE_CALLBACK,Q_e=Ol.ERR_STREAM_CANNOT_PIPE,v_e=Ol.ERR_STREAM_DESTROYED,S_e=Ol.ERR_STREAM_NULL_VALUES,k_e=Ol.ERR_STREAM_WRITE_AFTER_END,x_e=Ol.ERR_UNKNOWN_ENCODING,gh=xT.errorOrDestroy;Tl()(jr,Rce);function P_e(){}function Vm(t,e,r){uh=uh||Su(),t=t||{},typeof r!="boolean"&&(r=e instanceof uh),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=y_e(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=t.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){D_e(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Dce(this)}Vm.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(Vm.prototype,"buffer",{get:d_e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}})();var bb;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(bb=Function.prototype[Symbol.hasInstance],Object.defineProperty(jr,Symbol.hasInstance,{value:function(e){return bb.call(this,e)?!0:this!==jr?!1:e&&e._writableState instanceof Vm}})):bb=function(e){return e instanceof this};function jr(t){uh=uh||Su();var e=this instanceof uh;if(!e&&!bb.call(jr,this))return new jr(t);this._writableState=new Vm(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),Rce.call(this)}jr.prototype.pipe=function(){gh(this,new Q_e)};function R_e(t,e){var r=new k_e;gh(t,r),process.nextTick(e,r)}function F_e(t,e,r,i){var n;return r===null?n=new S_e:typeof r!="string"&&!e.objectMode&&(n=new w_e("chunk",["string","Buffer"],r)),n?(gh(t,n),process.nextTick(i,n),!1):!0}jr.prototype.write=function(t,e,r){var i=this._writableState,n=!1,s=!i.objectMode&&E_e(t);return s&&!Bb.isBuffer(t)&&(t=m_e(t)),typeof e=="function"&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof r!="function"&&(r=P_e),i.ending?R_e(this,r):(s||F_e(this,i,t,r))&&(i.pendingcb++,n=N_e(this,i,s,t,e,r)),n};jr.prototype.cork=function(){this._writableState.corked++};jr.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Fce(this,t))};jr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new x_e(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(jr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function L_e(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=Bb.from(e,r)),e}Object.defineProperty(jr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function N_e(t,e,r,i,n,s){if(!r){var o=L_e(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var G_e=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};Tce.exports=da;var Oce=RT(),FT=DT();Tl()(da,Oce);for(NT=G_e(FT.prototype),Qb=0;Qb{var Sb=require("buffer"),bA=Sb.Buffer;function Kce(t,e){for(var r in t)e[r]=t[r]}bA.from&&bA.alloc&&bA.allocUnsafe&&bA.allocUnsafeSlow?Mce.exports=Sb:(Kce(Sb,LT),LT.Buffer=fh);function fh(t,e,r){return bA(t,e,r)}Kce(bA,fh);fh.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return bA(t,e,r)};fh.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=bA(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};fh.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return bA(t)};fh.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Sb.SlowBuffer(t)}});var MT=w(Hce=>{"use strict";var TT=Uce().Buffer,Gce=TT.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function q_e(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function J_e(t){var e=q_e(t);if(typeof e!="string"&&(TT.isEncoding===Gce||!Gce(t)))throw new Error("Unknown encoding: "+t);return e||t}Hce.StringDecoder=Zm;function Zm(t){this.encoding=J_e(t);var e;switch(this.encoding){case"utf16le":this.text=z_e,this.end=__e,e=4;break;case"utf8":this.fillLast=W_e,e=4;break;case"base64":this.text=V_e,this.end=X_e,e=3;break;default:this.write=Z_e,this.end=$_e;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=TT.allocUnsafe(e)}Zm.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function r6e(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:t.lastNeed=n-3),n):0))}function i6e(t,e,r){if((e[0]&192)!=128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return t.lastNeed=2,"\uFFFD"}}function W_e(t){var e=this.lastTotal-this.lastNeed,r=i6e(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function t6e(t,e){var r=r6e(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function e6e(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function z_e(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function __e(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function V_e(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function X_e(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function Z_e(t){return t.toString(this.encoding)}function $_e(t){return t&&t.length?this.write(t):""}});var kb=w((Vkt,jce)=>{"use strict";var Yce=Ll().codes.ERR_STREAM_PREMATURE_CLOSE;function n6e(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{"use strict";var xb;function Ml(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a6e=kb(),Kl=Symbol("lastResolve"),ku=Symbol("lastReject"),$m=Symbol("error"),Pb=Symbol("ended"),xu=Symbol("lastPromise"),KT=Symbol("handlePromise"),Pu=Symbol("stream");function Ul(t,e){return{value:t,done:e}}function A6e(t){var e=t[Kl];if(e!==null){var r=t[Pu].read();r!==null&&(t[xu]=null,t[Kl]=null,t[ku]=null,e(Ul(r,!1)))}}function l6e(t){process.nextTick(A6e,t)}function c6e(t,e){return function(r,i){t.then(function(){if(e[Pb]){r(Ul(void 0,!0));return}e[KT](r,i)},i)}}var u6e=Object.getPrototypeOf(function(){}),g6e=Object.setPrototypeOf((xb={get stream(){return this[Pu]},next:function(){var e=this,r=this[$m];if(r!==null)return Promise.reject(r);if(this[Pb])return Promise.resolve(Ul(void 0,!0));if(this[Pu].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[$m]?a(e[$m]):o(Ul(void 0,!0))})});var i=this[xu],n;if(i)n=new Promise(c6e(i,this));else{var s=this[Pu].read();if(s!==null)return Promise.resolve(Ul(s,!1));n=new Promise(this[KT])}return this[xu]=n,n}},Ml(xb,Symbol.asyncIterator,function(){return this}),Ml(xb,"return",function(){var e=this;return new Promise(function(r,i){e[Pu].destroy(null,function(n){if(n){i(n);return}r(Ul(void 0,!0))})})}),xb),u6e),f6e=function(e){var r,i=Object.create(g6e,(r={},Ml(r,Pu,{value:e,writable:!0}),Ml(r,Kl,{value:null,writable:!0}),Ml(r,ku,{value:null,writable:!0}),Ml(r,$m,{value:null,writable:!0}),Ml(r,Pb,{value:e._readableState.endEmitted,writable:!0}),Ml(r,KT,{value:function(s,o){var a=i[Pu].read();a?(i[xu]=null,i[Kl]=null,i[ku]=null,s(Ul(a,!1))):(i[Kl]=s,i[ku]=o)},writable:!0}),r));return i[xu]=null,a6e(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[ku];s!==null&&(i[xu]=null,i[Kl]=null,i[ku]=null,s(n)),i[$m]=n;return}var o=i[Kl];o!==null&&(i[xu]=null,i[Kl]=null,i[ku]=null,o(Ul(void 0,!0))),i[Pb]=!0}),e.on("readable",l6e.bind(null,i)),i};Jce.exports=f6e});var Xce=w((Zkt,zce)=>{"use strict";function _ce(t,e,r,i,n,s,o){try{var a=t[s](o),l=a.value}catch(c){r(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function h6e(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var s=t.apply(e,r);function o(l){_ce(s,i,n,o,a,"next",l)}function a(l){_ce(s,i,n,o,a,"throw",l)}o(void 0)})}}function Vce(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function d6e(t){for(var e=1;e{"use strict";Zce.exports=Ut;var hh;Ut.ReadableState=$ce;var $kt=require("events").EventEmitter,eue=function(e,r){return e.listeners(r).length},eE=yT(),Db=require("buffer").Buffer,E6e=global.Uint8Array||function(){};function I6e(t){return Db.from(t)}function y6e(t){return Db.isBuffer(t)||t instanceof E6e}var UT=require("util"),xt;UT&&UT.debuglog?xt=UT.debuglog("stream"):xt=function(){};var w6e=Ice(),HT=bT(),B6e=QT(),b6e=B6e.getHighWaterMark,Rb=Ll().codes,Q6e=Rb.ERR_INVALID_ARG_TYPE,v6e=Rb.ERR_STREAM_PUSH_AFTER_EOF,S6e=Rb.ERR_METHOD_NOT_IMPLEMENTED,k6e=Rb.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ph,GT,jT;Tl()(Ut,eE);var tE=HT.errorOrDestroy,YT=["error","close","destroy","pause","resume"];function x6e(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function $ce(t,e,r){hh=hh||Su(),t=t||{},typeof r!="boolean"&&(r=e instanceof hh),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=b6e(this,t,"readableHighWaterMark",r),this.buffer=new w6e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(ph||(ph=MT().StringDecoder),this.decoder=new ph(t.encoding),this.encoding=t.encoding)}function Ut(t){if(hh=hh||Su(),!(this instanceof Ut))return new Ut(t);var e=this instanceof hh;this._readableState=new $ce(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),eE.call(this)}Object.defineProperty(Ut.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ut.prototype.destroy=HT.destroy;Ut.prototype._undestroy=HT.undestroy;Ut.prototype._destroy=function(t,e){e(t)};Ut.prototype.push=function(t,e){var r=this._readableState,i;return r.objectMode?i=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=Db.from(t,e),e=""),i=!0),tue(this,t,e,!1,i)};Ut.prototype.unshift=function(t){return tue(this,t,null,!0,!1)};function tue(t,e,r,i,n){xt("readableAddChunk",e);var s=t._readableState;if(e===null)s.reading=!1,D6e(t,s);else{var o;if(n||(o=P6e(s,e)),o)tE(t,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==Db.prototype&&(e=I6e(e)),i)s.endEmitted?tE(t,new k6e):qT(t,s,e,!0);else if(s.ended)tE(t,new v6e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||e.length!==0?qT(t,s,e,!1):JT(t,s)):qT(t,s,e,!1)}else i||(s.reading=!1,JT(t,s))}return!s.ended&&(s.length=rue?t=rue:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function iue(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=R6e(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}Ut.prototype.read=function(t){xt("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return xt("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?WT(this):Fb(this),null;if(t=iue(t,e),t===0&&e.ended)return e.length===0&&WT(this),null;var i=e.needReadable;xt("need readable",i),(e.length===0||e.length-t0?n=nue(t,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&WT(this)),n!==null&&this.emit("data",n),n};function D6e(t,e){if(xt("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?Fb(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,sue(t)))}}function Fb(t){var e=t._readableState;xt("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(xt("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(sue,t))}function sue(t){var e=t._readableState;xt("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,zT(t)}function JT(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(F6e,t,e))}function F6e(t,e){for(;!e.reading&&!e.ended&&(e.length1&&oue(i.pipes,t)!==-1)&&!c&&(xt("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(y){xt("onerror",y),m(),t.removeListener("error",f),eue(t,"error")===0&&tE(t,y)}x6e(t,"error",f);function h(){t.removeListener("finish",p),m()}t.once("close",h);function p(){xt("onfinish"),t.removeListener("close",h),m()}t.once("finish",p);function m(){xt("unpipe"),r.unpipe(t)}return t.emit("pipe",r),i.flowing||(xt("pipe resume"),r.resume()),t};function N6e(t){return function(){var r=t._readableState;xt("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&eue(t,"data")&&(r.flowing=!0,zT(t))}}Ut.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):t==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,xt("on readable",i.length,i.reading),i.length?Fb(this):i.reading||process.nextTick(L6e,this)),r};Ut.prototype.addListener=Ut.prototype.on;Ut.prototype.removeListener=function(t,e){var r=eE.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(aue,this),r};Ut.prototype.removeAllListeners=function(t){var e=eE.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(aue,this),e};function aue(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function L6e(t){xt("readable nexttick read 0"),t.read(0)}Ut.prototype.resume=function(){var t=this._readableState;return t.flowing||(xt("resume"),t.flowing=!t.readableListening,T6e(this,t)),t.paused=!1,this};function T6e(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(O6e,t,e))}function O6e(t,e){xt("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),zT(t),e.flowing&&!e.reading&&t.read(0)}Ut.prototype.pause=function(){return xt("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(xt("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function zT(t){var e=t._readableState;for(xt("flow",e.flowing);e.flowing&&t.read()!==null;);}Ut.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;t.on("end",function(){if(xt("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),t.on("data",function(o){if(xt("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,t.pause())}});for(var n in t)this[n]===void 0&&typeof t[n]=="function"&&(this[n]=function(a){return function(){return t[a].apply(t,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function WT(t){var e=t._readableState;xt("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(M6e,e,t))}function M6e(t,e){if(xt("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(Ut.from=function(t,e){return jT===void 0&&(jT=Xce()),jT(Ut,t,e)});function oue(t,e){for(var r=0,i=t.length;r{"use strict";Aue.exports=QA;var Nb=Ll().codes,K6e=Nb.ERR_METHOD_NOT_IMPLEMENTED,U6e=Nb.ERR_MULTIPLE_CALLBACK,H6e=Nb.ERR_TRANSFORM_ALREADY_TRANSFORMING,G6e=Nb.ERR_TRANSFORM_WITH_LENGTH_0,Lb=Su();Tl()(QA,Lb);function j6e(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new U6e);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";cue.exports=rE;var uue=_T();Tl()(rE,uue);function rE(t){if(!(this instanceof rE))return new rE(t);uue.call(this,t)}rE.prototype._transform=function(t,e,r){r(null,t)}});var Cue=w((ixt,fue)=>{"use strict";var VT;function q6e(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var hue=Ll().codes,J6e=hue.ERR_MISSING_ARGS,W6e=hue.ERR_STREAM_DESTROYED;function pue(t){if(t)throw t}function z6e(t){return t.setHeader&&typeof t.abort=="function"}function _6e(t,e,r,i){i=q6e(i);var n=!1;t.on("close",function(){n=!0}),VT===void 0&&(VT=kb()),VT(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,z6e(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();i(o||new W6e("pipe"))}}}function due(t){t()}function V6e(t,e){return t.pipe(e)}function X6e(t){return!t.length||typeof t[t.length-1]!="function"?pue:t.pop()}function Z6e(){for(var t=arguments.length,e=new Array(t),r=0;r0;return _6e(o,l,c,function(u){n||(n=u),u&&s.forEach(due),!l&&(s.forEach(due),i(n))})});return e.reduce(V6e)}fue.exports=Z6e});var dh=w((_s,iE)=>{var nE=require("stream");process.env.READABLE_STREAM==="disable"&&nE?(iE.exports=nE.Readable,Object.assign(iE.exports,nE),iE.exports.Stream=nE):(_s=iE.exports=RT(),_s.Stream=nE||_s,_s.Readable=_s,_s.Writable=DT(),_s.Duplex=Su(),_s.Transform=_T(),_s.PassThrough=gue(),_s.finished=kb(),_s.pipeline=Cue())});var Iue=w((nxt,mue)=>{"use strict";var{Buffer:Qo}=require("buffer"),Eue=Symbol.for("BufferList");function mr(t){if(!(this instanceof mr))return new mr(t);mr._init.call(this,t)}mr._init=function(e){Object.defineProperty(this,Eue,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};mr.prototype._new=function(e){return new mr(e)};mr.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let i=0;ithis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};mr.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};mr.prototype.copy=function(e,r,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||Qo.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&r||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Qo.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};mr.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let i=this._offset(e),n=this._offset(r),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};mr.prototype.toString=function(e,r,i){return this.slice(r,i).toString(e)};mr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};mr.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=t.length){let l=o.indexOf(t,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-t.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,t))return l;s++}s=0}return-1};mr.prototype._match=function(t,e){if(this.length-t{"use strict";var XT=dh().Duplex,$6e=Tl(),sE=Iue();function Zi(t){if(!(this instanceof Zi))return new Zi(t);if(typeof t=="function"){this._callback=t;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),t=null}sE._init.call(this,t),XT.call(this)}$6e(Zi,XT);Object.assign(Zi.prototype,sE.prototype);Zi.prototype._new=function(e){return new Zi(e)};Zi.prototype._write=function(e,r,i){this._appendBuffer(e),typeof i=="function"&&i()};Zi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Zi.prototype.end=function(e){XT.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Zi.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Zi.prototype._isBufferList=function(e){return e instanceof Zi||e instanceof sE||Zi.isBufferList(e)};Zi.isBufferList=sE.isBufferList;Tb.exports=Zi;Tb.exports.BufferListStream=Zi;Tb.exports.BufferList=sE});var eO=w(Ch=>{var eVe=Buffer.alloc,tVe="0000000000000000000",rVe="7777777777777777777",wue="0".charCodeAt(0),Bue=Buffer.from("ustar\0","binary"),iVe=Buffer.from("00","binary"),nVe=Buffer.from("ustar ","binary"),sVe=Buffer.from(" \0","binary"),oVe=parseInt("7777",8),oE=257,ZT=263,aVe=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},AVe=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},lVe=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},bue=function(t,e,r,i){for(;re?rVe.slice(0,e)+" ":tVe.slice(0,e-t.length)+t+" "};function cVe(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],i=t.length-1;i>0;i--){var n=t[i];e?r.push(n):r.push(255-n)}var s=0,o=r.length;for(i=0;i=Math.pow(10,r)&&r++,e+r+t};Ch.decodeLongPath=function(t,e){return mh(t,0,t.length,e)};Ch.encodePax=function(t){var e="";t.name&&(e+=$T(" path="+t.name+` +`)),t.linkname&&(e+=$T(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var i in r)e+=$T(" "+i+"="+r[i]+` +`);return Buffer.from(e)};Ch.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var n=r.indexOf("/");if(n===-1)return null;i+=i?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(i)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(Hl(t.mode&oVe,6),100),e.write(Hl(t.uid,6),108),e.write(Hl(t.gid,6),116),e.write(Hl(t.size,11),124),e.write(Hl(t.mtime.getTime()/1e3|0,11),136),e[156]=wue+lVe(t.type),t.linkname&&e.write(t.linkname,157),Bue.copy(e,oE),iVe.copy(e,ZT),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(Hl(t.devmajor||0,6),329),e.write(Hl(t.devminor||0,6),337),i&&e.write(i,345),e.write(Hl(Que(e),6),148),e)};Ch.decode=function(t,e,r){var i=t[156]===0?0:t[156]-wue,n=mh(t,0,100,e),s=Gl(t,100,8),o=Gl(t,108,8),a=Gl(t,116,8),l=Gl(t,124,12),c=Gl(t,136,12),u=AVe(i),g=t[157]===0?null:mh(t,157,100,e),f=mh(t,265,32),h=mh(t,297,32),p=Gl(t,329,8),m=Gl(t,337,8),y=Que(t);if(y===8*32)return null;if(y!==Gl(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(Bue.compare(t,oE,oE+6)===0)t[345]&&(n=mh(t,345,155,e)+"/"+n);else if(!(nVe.compare(t,oE,oE+6)===0&&sVe.compare(t,ZT,ZT+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:m}}});var Rue=w((axt,vue)=>{var Sue=require("util"),uVe=yue(),aE=eO(),kue=dh().Writable,xue=dh().PassThrough,Pue=function(){},Due=function(t){return t&=511,t&&512-t},gVe=function(t,e){var r=new Ob(t,e);return r.end(),r},fVe=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},Ob=function(t,e){this._parent=t,this.offset=e,xue.call(this,{autoDestroy:!1})};Sue.inherits(Ob,xue);Ob.prototype.destroy=function(t){this._parent.destroy(t)};var vA=function(t){if(!(this instanceof vA))return new vA(t);kue.call(this,t),t=t||{},this._offset=0,this._buffer=uVe(),this._missing=0,this._partial=!1,this._onparse=Pue,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=Due(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Due(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=aE.decodePax(r.slice(0,f)),r.consume(f),s()},l=function(){var f=e._header.size;e._pax=aE.decodePax(r.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=aE.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=aE.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=aE.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(p){e.emit("error",p)}if(r.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=fVe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,gVe(e,f),n);return}e._stream=new Ob(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};Sue.inherits(vA,kue);vA.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};vA.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};vA.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=Pue,this._overflow?this._write(this._overflow,void 0,t):t()}};vA.prototype._write=function(t,e,r){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(t.length&&(this._partial=!0),t.lengths&&(o=t.slice(s),t=t.slice(0,s)),i?i.end(t):n.append(t),this._overflow=o,this._onparse()}};vA.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};vue.exports=vA});var Nue=w((Axt,Fue)=>{Fue.exports=require("fs").constants||require("constants")});var Kue=w((lxt,Lue)=>{var Eh=Nue(),Tue=Vx(),Mb=Tl(),hVe=Buffer.alloc,Oue=dh().Readable,Ih=dh().Writable,pVe=require("string_decoder").StringDecoder,Kb=eO(),dVe=parseInt("755",8),CVe=parseInt("644",8),Mue=hVe(1024),tO=function(){},rO=function(t,e){e&=511,e&&t.push(Mue.slice(0,512-e))};function mVe(t){switch(t&Eh.S_IFMT){case Eh.S_IFBLK:return"block-device";case Eh.S_IFCHR:return"character-device";case Eh.S_IFDIR:return"directory";case Eh.S_IFIFO:return"fifo";case Eh.S_IFLNK:return"symlink"}return"file"}var Ub=function(t){Ih.call(this),this.written=0,this._to=t,this._destroyed=!1};Mb(Ub,Ih);Ub.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};Ub.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Hb=function(){Ih.call(this),this.linkname="",this._decoder=new pVe("utf-8"),this._destroyed=!1};Mb(Hb,Ih);Hb.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};Hb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var AE=function(){Ih.call(this),this._destroyed=!1};Mb(AE,Ih);AE.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};AE.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Ca=function(t){if(!(this instanceof Ca))return new Ca(t);Oue.call(this,t),this._drain=tO,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Mb(Ca,Oue);Ca.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=tO);var i=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=mVe(t.mode)),t.mode||(t.mode=t.type==="directory"?dVe:CVe),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var n=this.push(e);return rO(i,t.size),n?process.nextTick(r):this._drain=r,new AE}if(t.type==="symlink"&&!t.linkname){var s=new Hb;return Tue(s,function(a){if(a)return i.destroy(),r(a);t.linkname=s.linkname,i._encode(t),r()}),s}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new AE;var o=new Ub(this);return this._stream=o,Tue(o,function(a){if(i._stream=null,a)return i.destroy(),r(a);if(o.written!==t.size)return i.destroy(),r(new Error("size mismatch"));rO(i,t.size),i._finalizing&&i.finalize(),r()}),o}};Ca.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(Mue),this.push(null))};Ca.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};Ca.prototype._encode=function(t){if(!t.pax){var e=Kb.encode(t);if(e){this.push(e);return}}this._encodePax(t)};Ca.prototype._encodePax=function(t){var e=Kb.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(Kb.encode(r)),this.push(e),rO(this,e.length),r.size=t.size,r.type=t.type,this.push(Kb.encode(r))};Ca.prototype._read=function(t){var e=this._drain;this._drain=tO,e()};Lue.exports=Ca});var Uue=w(iO=>{iO.extract=Rue();iO.pack=Kue()});var $ue=w((Rxt,_ue)=>{"use strict";var yh=class{constructor(e,r,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=r||{},this.__providers=Xue(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return lO(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[i,n]of this.entries())e.call(r,n,i,this)}toJSON(){let e={};return this.forEach((r,i)=>{e[i]=r}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let r=e||this.__opts.other;if(r){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(r):DVe(n);for(let[o,a]of s)r(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new yh(this.__specs,this.__opts,Xue(this.__providers).concat(e)),Vue)}};try{let t=require("util");yh.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch(t){}function RVe(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function lO(t,e,r){let i=t.__specs[e];if(r&&!i&&(!t.__opts.other||!t.__opts.other(e)))RVe(e);else{i||(i={});let n;for(let s of t.__providers){if(n=Zue(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=Zue(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(t):i.default:n}}function Zue(t,e){let r;return e.__isFiggyPudding?r=lO(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var Vue={has(t,e){return e in t.__specs&&lO(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in yh.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};_ue.exports=FVe;function FVe(t,e){function r(...i){return new Proxy(new yh(t,e,i),Vue)}return r}function Xue(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function DVe(t){return Object.keys(t).map(e=>[e,t[e]])}});var rge=w((Fxt,ma)=>{"use strict";var cE=require("crypto"),NVe=$ue(),LVe=require("stream").Transform,ege=["sha256","sha384","sha512"],TVe=/^[a-z0-9+/]+(?:=?=?)$/i,OVe=/^([^-]+)-([^?]+)([?\S*]*)$/,MVe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,KVe=/^[\x21-\x7E]+$/,Cn=NVe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>UVe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Du=class{get isHash(){return!0}constructor(e,r){r=Cn(r);let i=!!r.strict;this.source=e.trim();let n=this.source.match(i?MVe:OVe);if(!n||i&&!ege.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=Cn(e),e.strict&&!(ege.some(i=>i===this.algorithm)&&this.digest.match(TVe)&&(this.options||[]).every(i=>i.match(KVe))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},wh=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=Cn(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>Du.prototype.toString.call(n,e)).filter(n=>n.length).join(r)).filter(i=>i.length).join(r)}concat(e,r){r=Cn(r);let i=typeof e=="string"?e:uE(e,r);return Ea(`${this.toString(r)} ${i}`,r)}hexDigest(){return Ea(this,{single:!0}).hexDigest()}match(e,r){r=Cn(r);let i=Ea(e,r),n=i.pickAlgorithm(r);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=Cn(e);let r=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>r(n,s)||n)}};ma.exports.parse=Ea;function Ea(t,e){if(e=Cn(e),typeof t=="string")return cO(t,e);if(t.algorithm&&t.digest){let r=new wh;return r[t.algorithm]=[t],cO(uE(r,e),e)}else return cO(uE(t,e),e)}function cO(t,e){return e.single?new Du(t,e):t.trim().split(/\s+/).reduce((r,i)=>{let n=new Du(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;r[s]||(r[s]=[]),r[s].push(n)}return r},new wh)}ma.exports.stringify=uE;function uE(t,e){return e=Cn(e),t.algorithm&&t.digest?Du.prototype.toString.call(t,e):typeof t=="string"?uE(Ea(t,e),e):wh.prototype.toString.call(t,e)}ma.exports.fromHex=HVe;function HVe(t,e,r){r=Cn(r);let i=r.options&&r.options.length?`?${r.options.join("?")}`:"";return Ea(`${e}-${Buffer.from(t,"hex").toString("base64")}${i}`,r)}ma.exports.fromData=GVe;function GVe(t,e){e=Cn(e);let r=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((n,s)=>{let o=cE.createHash(s).update(t).digest("base64"),a=new Du(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new wh)}ma.exports.fromStream=jVe;function jVe(t,e){e=Cn(e);let r=e.Promise||Promise,i=uO(e);return new r((n,s)=>{t.pipe(i),t.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}ma.exports.checkData=YVe;function YVe(t,e,r){if(r=Cn(r),e=Ea(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(r),n=cE.createHash(i).update(t).digest("base64"),s=Ea({algorithm:i,digest:n}),o=s.match(e,r);if(o||!r.error)return o;if(typeof r.size=="number"&&t.length!==r.size){let a=new Error(`data size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}ma.exports.checkStream=qVe;function qVe(t,e,r){r=Cn(r);let i=r.Promise||Promise,n=uO(r.concat({integrity:e}));return new i((s,o)=>{t.pipe(n),t.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}ma.exports.integrityStream=uO;function uO(t){t=Cn(t);let e=t.integrity&&Ea(t.integrity,t),r=e&&Object.keys(e).length,i=r&&e.pickAlgorithm(t),n=r&&e[i],s=Array.from(new Set(t.algorithms.concat(i?[i]:[]))),o=s.map(cE.createHash),a=0,l=new LVe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=t.options&&t.options.length?`?${t.options.join("?")}`:"",u=Ea(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),t),g=r&&u.match(e,t);if(typeof t.size=="number"&&a!==t.size){let f=new Error(`stream size mismatch when checking ${e}. + Wanted: ${t.size} + Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=t.size,f.sri=e,l.emit("error",f)}else if(t.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}ma.exports.create=JVe;function JVe(t){t=Cn(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(cE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new Du(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new wh)}}}var WVe=new Set(cE.getHashes()),tge=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>WVe.has(t));function UVe(t,e){return tge.indexOf(t.toLowerCase())>=tge.indexOf(e.toLowerCase())?t:e}});var vC={};ft(vC,{BuildType:()=>ls,Cache:()=>Nt,Configuration:()=>we,DEFAULT_LOCK_FILENAME:()=>Qx,DEFAULT_RC_FILENAME:()=>bx,FormatType:()=>Di,InstallMode:()=>di,LightReport:()=>gA,LinkType:()=>Qt,Manifest:()=>At,MessageName:()=>$,MultiFetcher:()=>wd,PackageExtensionStatus:()=>qi,PackageExtensionType:()=>yi,Project:()=>ze,ProjectLookup:()=>al,Report:()=>Ji,ReportError:()=>ct,SettingsType:()=>ye,StreamReport:()=>Je,TAG_REGEXP:()=>qg,TelemetryManager:()=>QC,ThrowReport:()=>pi,VirtualFetcher:()=>bd,Workspace:()=>bC,WorkspaceFetcher:()=>Qd,WorkspaceResolver:()=>oi,YarnVersion:()=>Kr,execUtils:()=>Fr,folderUtils:()=>Cx,formatUtils:()=>Ae,hashUtils:()=>Dn,httpUtils:()=>ir,miscUtils:()=>ve,nodeUtils:()=>Wg,parseMessageName:()=>bI,scriptUtils:()=>Zt,semverUtils:()=>Wt,stringifyMessageName:()=>qA,structUtils:()=>P,tgzUtils:()=>wi,treeUtils:()=>As});var Fr={};ft(Fr,{EndStrategy:()=>ns,ExecError:()=>Rx,PipeError:()=>vw,execvp:()=>mke,pipevp:()=>$o});var $h={};ft($h,{AliasFS:()=>Da,CwdFS:()=>_t,DEFAULT_COMPRESSION_LEVEL:()=>nc,FakeFS:()=>HA,Filename:()=>Pt,JailFS:()=>Ra,LazyFS:()=>Vh,LinkStrategy:()=>Yh,NoFS:()=>_E,NodeFS:()=>ar,PortablePath:()=>Ke,PosixFS:()=>Xh,ProxiedFS:()=>bi,VirtualFS:()=>Wr,ZipFS:()=>Ai,ZipOpenFS:()=>Es,constants:()=>Dr,extendFs:()=>XE,normalizeLineEndings:()=>ec,npath:()=>H,opendir:()=>JE,patchFs:()=>SQ,ppath:()=>x,statUtils:()=>hQ,toFilename:()=>Jr,xfs:()=>K});var Dr={};ft(Dr,{SAFE_TIME:()=>fQ,S_IFDIR:()=>ka,S_IFLNK:()=>Pa,S_IFMT:()=>_n,S_IFREG:()=>xa});var _n=61440,ka=16384,xa=32768,Pa=40960,fQ=456789e3;var hQ={};ft(hQ,{BigIntStatsEntry:()=>Hh,DEFAULT_MODE:()=>Uh,DirEntry:()=>oM,StatEntry:()=>KA,areStatsEqual:()=>dQ,clearStats:()=>KE,convertToBigIntStats:()=>UE,makeDefaultStats:()=>Gh,makeEmptyStats:()=>pfe});var pQ=ge(require("util"));var Uh=xa|420,oM=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&_n)===ka}isFIFO(){return!1}isFile(){return(this.mode&_n)===xa}isSocket(){return!1}isSymbolicLink(){return(this.mode&_n)===Pa}},KA=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Uh;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&_n)===ka}isFIFO(){return!1}isFile(){return(this.mode&_n)===xa}isSocket(){return!1}isSymbolicLink(){return(this.mode&_n)===Pa}},Hh=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Uh);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(_n))===BigInt(ka)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(_n))===BigInt(xa)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(_n))===BigInt(Pa)}};function Gh(){return new KA}function pfe(){return KE(Gh())}function KE(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):pQ.types.isDate(r)&&(t[e]=new Date(0))}return t}function UE(t){let e=new Hh;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):pQ.types.isDate(i)&&(e[r]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function dQ(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,i=e;return!(r.atimeNs!==i.atimeNs||r.mtimeNs!==i.mtimeNs||r.ctimeNs!==i.ctimeNs||r.birthtimeNs!==i.birthtimeNs)}var GE=ge(require("fs"));var jh=ge(require("path")),aM;(function(i){i[i.File=0]="File",i[i.Portable=1]="Portable",i[i.Native=2]="Native"})(aM||(aM={}));var Ke={root:"/",dot:"."},Pt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},H=Object.create(jh.default),x=Object.create(jh.default.posix);H.cwd=()=>process.cwd();x.cwd=()=>CQ(process.cwd());x.resolve=(...t)=>t.length>0&&x.isAbsolute(t[0])?jh.default.posix.resolve(...t):jh.default.posix.resolve(x.cwd(),...t);var AM=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};H.fromPortablePath=lM;H.toPortablePath=CQ;H.contains=(t,e)=>AM(H,t,e);x.contains=(t,e)=>AM(x,t,e);var dfe=/^([a-zA-Z]:.*)$/,Cfe=/^\/\/(\.\/)?(.*)$/,mfe=/^\/([a-zA-Z]:.*)$/,Efe=/^\/unc\/(\.dot\/)?(.*)$/;function lM(t){if(process.platform!=="win32")return t;let e,r;if(e=t.match(mfe))t=e[1];else if(r=t.match(Efe))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function CQ(t){if(process.platform!=="win32")return t;t=t.replace(/\\/g,"/");let e,r;return(e=t.match(dfe))?t=`/${e[1]}`:(r=t.match(Cfe))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function HE(t,e){return t===H?lM(e):CQ(e)}function Jr(t){if(H.parse(t).dir!==""||x.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var jE=new Date(fQ*1e3),Yh;(function(r){r.Allow="allow",r.ReadOnly="readOnly"})(Yh||(Yh={}));async function cM(t,e,r,i,n){let s=t.pathUtils.normalize(e),o=r.pathUtils.normalize(i),a=[],l=[],{atime:c,mtime:u}=n.stableTime?{atime:jE,mtime:jE}:await r.lstatPromise(o);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[c,u]});let g=typeof t.lutimesPromise=="function"?t.lutimesPromise.bind(t):t.utimesPromise.bind(t);await mQ(a,l,g,t,s,r,o,ie(N({},n),{didParentExist:!0}));for(let f of a)await f();await Promise.all(l.map(f=>f()))}async function mQ(t,e,r,i,n,s,o,a){var h,p;let l=a.didParentExist?await Ife(i,n):null,c=await s.lstatPromise(o),{atime:u,mtime:g}=a.stableTime?{atime:jE,mtime:jE}:c,f;switch(!0){case c.isDirectory():f=await yfe(t,e,r,i,n,l,s,o,c,a);break;case c.isFile():f=await wfe(t,e,r,i,n,l,s,o,c,a);break;case c.isSymbolicLink():f=await Bfe(t,e,r,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(f||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==g.getTime()||((p=l==null?void 0:l.atime)==null?void 0:p.getTime())!==u.getTime())&&(e.push(()=>r(n,u,g)),f=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),f=!0),f}async function Ife(t,e){try{return await t.lstatPromise(e)}catch(r){return null}}async function yfe(t,e,r,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(t.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(h){if(h.code!=="EEXIST")throw h}}),u=!0);let g=await o.readdirPromise(a),f=c.didParentExist&&!s?ie(N({},c),{didParentExist:!1}):c;if(c.stableSort)for(let h of g.sort())await mQ(t,e,r,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),f)&&(u=!0);else(await Promise.all(g.map(async p=>{await mQ(t,e,r,i,i.pathUtils.join(n,p),o,o.pathUtils.join(a,p),f)}))).some(p=>p)&&(u=!0);return u}var EQ=new WeakMap;function IQ(t,e,r,i,n){return async()=>{await t.linkPromise(r,e),n===Yh.ReadOnly&&(i.mode&=~146,await t.chmodPromise(e,i.mode))}}function bfe(t,e,r,i,n){let s=EQ.get(t);return typeof s=="undefined"?async()=>{try{await t.copyFilePromise(r,e,GE.default.constants.COPYFILE_FICLONE_FORCE),EQ.set(t,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")EQ.set(t,!1),await IQ(t,e,r,i,n)();else throw o}}:s?async()=>t.copyFilePromise(r,e,GE.default.constants.COPYFILE_FICLONE_FORCE):IQ(t,e,r,i,n)}async function wfe(t,e,r,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?bfe(i,n,a,l,u):async()=>i.copyFilePromise(a,n,GE.default.constants.COPYFILE_FICLONE):u!==null?IQ(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return t.push(async()=>g()),!0}async function Bfe(t,e,r,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;return t.push(async()=>{await i.symlinkPromise(HE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function ms(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function YE(t){return ms("EBUSY",t)}function qh(t,e){return ms("ENOSYS",`${t}, ${e}`)}function UA(t){return ms("EINVAL",`invalid argument, ${t}`)}function en(t){return ms("EBADF",`bad file descriptor, ${t}`)}function ro(t){return ms("ENOENT",`no such file or directory, ${t}`)}function Do(t){return ms("ENOTDIR",`not a directory, ${t}`)}function Jh(t){return ms("EISDIR",`illegal operation on a directory, ${t}`)}function qE(t){return ms("EEXIST",`file already exists, ${t}`)}function In(t){return ms("EROFS",`read-only filesystem, ${t}`)}function uM(t){return ms("ENOTEMPTY",`directory not empty, ${t}`)}function gM(t){return ms("EOPNOTSUPP",`operation not supported, ${t}`)}function fM(){return ms("ERR_DIR_CLOSED","Directory handle was closed")}var yQ=class extends Error{constructor(e,r){super(e);this.name="Libzip Error",this.code=r}};var hM=class{constructor(e,r,i={}){this.path=e;this.nextDirent=r;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw fM()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e!="undefined"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!="undefined"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}};function JE(t,e,r,i){let n=()=>{let s=r.shift();return typeof s=="undefined"?null:Object.assign(t.statSync(t.pathUtils.join(e,s)),{name:s})};return new hM(e,n,i)}var pM=ge(require("os"));var HA=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(r)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:r=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(r){let s=await this.readdirPromise(e);await Promise.all(s.map(o=>this.removePromise(this.pathUtils.resolve(e,o))))}for(let s=0;s<=i;s++)try{await this.rmdirPromise(e);break}catch(o){if(o.code!=="EBUSY"&&o.code!=="ENOTEMPTY")throw o;ssetTimeout(a,s*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let i;try{i=this.lstatSync(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(i.isDirectory()){if(r)for(let n of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,n));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep);for(let s=2;s<=n.length;++s){let o=n.slice(0,s).join(this.pathUtils.sep);if(!this.existsSync(o)){try{await this.mkdirPromise(o)}catch(a){if(a.code==="EEXIST")continue;throw a}if(r!=null&&await this.chmodPromise(o,r),i!=null)await this.utimesPromise(o,i[0],i[1]);else{let a=await this.statPromise(this.pathUtils.dirname(o));await this.utimesPromise(o,a.atime,a.mtime)}}}}mkdirpSync(e,{chmod:r,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep);for(let s=2;s<=n.length;++s){let o=n.slice(0,s).join(this.pathUtils.sep);if(!this.existsSync(o)){try{this.mkdirSync(o)}catch(a){if(a.code==="EEXIST")continue;throw a}if(r!=null&&this.chmodSync(o,r),i!=null)this.utimesSync(o,i[0],i[1]);else{let a=this.statSync(this.pathUtils.dirname(o));this.utimesSync(o,a.atime,a.mtime)}}}}async copyPromise(e,r,{baseFs:i=this,overwrite:n=!0,stableSort:s=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await cM(this,e,i,r,{overwrite:n,stableSort:s,stableTime:o,linkStrategy:a})}copySync(e,r,{baseFs:i=this,overwrite:n=!0}={}){let s=i.lstatSync(r),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);let l=i.readdirSync(r);for(let c of l)this.copySync(this.pathUtils.join(e,c),i.pathUtils.join(r,c),{baseFs:i,overwrite:n})}else if(s.isFile()){if(!o||n){o&&this.removeSync(e);let l=i.readFileSync(r);this.writeFileSync(e,l)}}else if(s.isSymbolicLink()){if(!o||n){o&&this.removeSync(e);let l=i.readlinkSync(r);this.symlinkSync(HE(this.pathUtils,l),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${s.mode.toString(8).padStart(6,"0")})`);let a=s.mode&511;this.chmodSync(e,a)}async changeFilePromise(e,r,i={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,i):this.changeFileTextPromise(e,r,i)}async changeFileBufferPromise(e,r,{mode:i}={}){let n=Buffer.alloc(0);try{n=await this.readFilePromise(e)}catch(s){}Buffer.compare(n,r)!==0&&await this.writeFilePromise(e,r,{mode:i})}async changeFileTextPromise(e,r,{automaticNewlines:i,mode:n}={}){let s="";try{s=await this.readFilePromise(e,"utf8")}catch(a){}let o=i?ec(s,r):r;s!==o&&await this.writeFilePromise(e,o,{mode:n})}changeFileSync(e,r,i={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,i):this.changeFileTextSync(e,r,i)}changeFileBufferSync(e,r,{mode:i}={}){let n=Buffer.alloc(0);try{n=this.readFileSync(e)}catch(s){}Buffer.compare(n,r)!==0&&this.writeFileSync(e,r,{mode:i})}changeFileTextSync(e,r,{automaticNewlines:i=!1,mode:n}={}){let s="";try{s=this.readFileSync(e,"utf8")}catch(a){}let o=i?ec(s,r):r;s!==o&&this.writeFileSync(e,o,{mode:n})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(i){if(i.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw i}}moveSync(e,r){try{this.renameSync(e,r)}catch(i){if(i.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw i}}async lockPromise(e,r){let i=`${e}.flock`,n=1e3/60,s=Date.now(),o=null,a=async()=>{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} +`)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} +`)}async preserveTimePromise(e,r){let i=await this.lstatPromise(e),n=await r();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,r){let i=this.lstatSync(e),n=r();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},tc=class extends HA{constructor(){super(x)}};function Qfe(t){let e=t.match(/\r?\n/g);if(e===null)return pM.EOL;let r=e.filter(n=>n===`\r +`).length,i=e.length-r;return r>i?`\r +`:` +`}function ec(t,e){return e.replace(/\r?\n/g,Qfe(t))}var Ju=ge(require("fs")),wQ=ge(require("stream")),EM=ge(require("util")),BQ=ge(require("zlib"));var dM=ge(require("fs"));var ar=class extends tc{constructor(e=dM.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Ke.root}resolve(e){return x.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(H.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(H.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(H.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(H.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,r){let i=typeof r!="undefined"?this.realFs.opendirSync(H.fromPortablePath(e),r):this.realFs.opendirSync(H.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,r,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,r,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,r,i,n,s){return this.realFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return await new Promise((o,a)=>typeof r=="string"?this.realFs.write(e,r,i,this.makeCallback(o,a)):this.realFs.write(e,r,i,n,s,this.makeCallback(o,a)))}writeSync(e,r,i,n,s){return typeof r=="string"?this.realFs.writeSync(e,r,i):this.realFs.writeSync(e,r,i,n,s)}async closePromise(e){await new Promise((r,i)=>{this.realFs.close(e,this.makeCallback(r,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let i=e!==null?H.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?H.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(H.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>H.toPortablePath(r))}realpathSync(e){return H.toPortablePath(this.realFs.realpathSync(H.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(H.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(H.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(H.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(H.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(H.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(H.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(H.fromPortablePath(e),r):this.realFs.statSync(H.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.fstat(e,r,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.lstat(H.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(H.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(H.fromPortablePath(e),r):this.realFs.lstatSync(H.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(H.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(H.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(H.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(H.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(H.fromPortablePath(e),H.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(H.fromPortablePath(e),H.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(H.fromPortablePath(e),H.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(H.fromPortablePath(e),H.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?H.fromPortablePath(e):e;i?this.realFs.appendFile(o,r,i,this.makeCallback(n,s)):this.realFs.appendFile(o,r,this.makeCallback(n,s))})}appendFileSync(e,r,i){let n=typeof e=="string"?H.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,r,i):this.realFs.appendFileSync(n,r)}async writeFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?H.fromPortablePath(e):e;i?this.realFs.writeFile(o,r,i,this.makeCallback(n,s)):this.realFs.writeFile(o,r,this.makeCallback(n,s))})}writeFileSync(e,r,i){let n=typeof e=="string"?H.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,r,i):this.realFs.writeFileSync(n,r)}async unlinkPromise(e){return await new Promise((r,i)=>{this.realFs.unlink(H.fromPortablePath(e),this.makeCallback(r,i))})}unlinkSync(e){return this.realFs.unlinkSync(H.fromPortablePath(e))}async utimesPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.utimes(H.fromPortablePath(e),r,i,this.makeCallback(n,s))})}utimesSync(e,r,i){this.realFs.utimesSync(H.fromPortablePath(e),r,i)}async lutimesPromiseImpl(e,r,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw qh("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,H.fromPortablePath(e),r,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,r,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw qh("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,H.fromPortablePath(e),r,i)}async mkdirPromise(e,r){return await new Promise((i,n)=>{this.realFs.mkdir(H.fromPortablePath(e),r,this.makeCallback(i,n))})}mkdirSync(e,r){return this.realFs.mkdirSync(H.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.rmdir(H.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.rmdir(H.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,r){return this.realFs.rmdirSync(H.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((i,n)=>{this.realFs.link(H.fromPortablePath(e),H.fromPortablePath(r),this.makeCallback(i,n))})}linkSync(e,r){return this.realFs.linkSync(H.fromPortablePath(e),H.fromPortablePath(r))}async symlinkPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.symlink(H.fromPortablePath(e.replace(/\/+$/,"")),H.fromPortablePath(r),i,this.makeCallback(n,s))})}symlinkSync(e,r,i){return this.realFs.symlinkSync(H.fromPortablePath(e.replace(/\/+$/,"")),H.fromPortablePath(r),i)}async readFilePromise(e,r){return await new Promise((i,n)=>{let s=typeof e=="string"?H.fromPortablePath(e):e;this.realFs.readFile(s,r,this.makeCallback(i,n))})}readFileSync(e,r){let i=typeof e=="string"?H.fromPortablePath(e):e;return this.realFs.readFileSync(i,r)}async readdirPromise(e,r){return await new Promise((i,n)=>{(r==null?void 0:r.withFileTypes)?this.realFs.readdir(H.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(H.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,r){return(r==null?void 0:r.withFileTypes)?this.realFs.readdirSync(H.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(H.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,i)=>{this.realFs.readlink(H.fromPortablePath(e),this.makeCallback(r,i))}).then(r=>H.toPortablePath(r))}readlinkSync(e){return H.toPortablePath(this.realFs.readlinkSync(H.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((i,n)=>{this.realFs.truncate(H.fromPortablePath(e),r,this.makeCallback(i,n))})}truncateSync(e,r){return this.realFs.truncateSync(H.fromPortablePath(e),r)}watch(e,r,i){return this.realFs.watch(H.fromPortablePath(e),r,i)}watchFile(e,r,i){return this.realFs.watchFile(H.fromPortablePath(e),r,i)}unwatchFile(e,r){return this.realFs.unwatchFile(H.fromPortablePath(e),r)}makeCallback(e,r){return(i,n)=>{i?r(i):e(n)}}};var CM=ge(require("events"));var rc;(function(r){r.Change="change",r.Stop="stop"})(rc||(rc={}));var ic;(function(i){i.Ready="ready",i.Running="running",i.Stopped="stopped"})(ic||(ic={}));function mM(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var Wh=class extends CM.EventEmitter{constructor(e,r,{bigint:i=!1}={}){super();this.status=ic.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=r,this.bigint=i,this.lastStats=this.stat()}static create(e,r,i){let n=new Wh(e,r,i);return n.start(),n}start(){mM(this.status,ic.Ready),this.status=ic.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(rc.Change,this.lastStats,this.lastStats)},3)}stop(){mM(this.status,ic.Running),this.status=ic.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(rc.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){let r=this.bigint?new Hh:new KA;return KE(r)}}makeInterval(e){let r=setInterval(()=>{let i=this.stat(),n=this.lastStats;dQ(i,n)||(this.lastStats=i,this.emit(rc.Change,i,n))},e.interval);return e.persistent?r:r.unref()}registerChangeListener(e,r){this.addListener(rc.Change,e),this.changeListeners.set(e,this.makeInterval(r))}unregisterChangeListener(e){this.removeListener(rc.Change,e);let r=this.changeListeners.get(e);typeof r!="undefined"&&clearInterval(r),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var WE=new WeakMap;function zE(t,e,r,i){let n,s,o,a;switch(typeof r){case"function":n=!1,s=!0,o=5007,a=r;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=r),a=i;break}let l=WE.get(t);typeof l=="undefined"&&WE.set(t,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=Wh.create(t,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function zh(t,e,r){let i=WE.get(t);if(typeof i=="undefined")return;let n=i.get(e);typeof n!="undefined"&&(typeof r=="undefined"?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function _h(t){let e=WE.get(t);if(typeof e!="undefined")for(let r of e.keys())zh(t,r)}var nc="mixed";function vfe(t){if(typeof t=="string"&&String(+t)===t)return+t;if(Number.isFinite(t))return t<0?Date.now()/1e3:t;if(EM.types.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}function IM(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Ai=class extends tc{constructor(e,r){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=r.libzip;let i=r;if(this.level=typeof i.level!="undefined"?i.level:nc,e!=null||(e=IM()),typeof e=="string"){let{baseFs:o=new ar}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(r.stats)this.stats=r.stats;else if(typeof e=="string")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code==="ENOENT"&&i.create)this.stats=Gh();else throw o}else this.stats=Gh();let n=this.libzip.malloc(4);try{let o=0;if(typeof e=="string"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),r.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e=="string")this.zip=this.libzip.open(H.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,"i32")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(Ke.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;oe)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(r,r+e);return Buffer.from(n)}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw YE("archive closed, close");_h(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)||this.stats.mode===Uh?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,IM(),{mode:e});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof e!="undefined"&&this.baseFs.chmodSync(this.path,e)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return x.resolve(Ke.root,e)}async openPromise(e,r,i){return this.openSync(e,r,i)}openSync(e,r,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,r){return this.opendirSync(e,r)}opendirSync(e,r={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw ro(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw Do(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return JE(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,r,i,n,s){return this.readSync(e,r,i,n,s)}readSync(e,r,i=0,n=r.byteLength,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw en("read");let a=s===-1||s===null?o.cursor:s,l=this.readFileSync(o.p);l.copy(r,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,r,i,n,s){return typeof r=="string"?this.writeSync(e,r,s):this.writeSync(e,r,i,n,s)}writeSync(e,r,i,n,s){throw typeof this.fds.get(e)=="undefined"?en("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw en("read");this.fds.delete(e)}createReadStream(e,{encoding:r}={}){if(e===null)throw new Error("Unimplemented");let i=this.openSync(e,"r"),n=Object.assign(new wQ.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,r);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:r}={}){if(this.readOnly)throw In(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new wQ.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),r),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let r=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw ro(`lstat '${e}'`);return r}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw YE(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=x.resolve(Ke.root,e);return this.entries.has(i)||this.listings.has(i)}let r;try{r=this.resolveFilename(`stat '${e}'`,e)}catch(i){return!1}return this.entries.has(r)||this.listings.has(r)}async accessPromise(e,r){return this.accessSync(e,r)}accessSync(e,r=Ju.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw ro(`access '${e}'`);if(this.readOnly&&r&Ju.constants.W_OK)throw In(`access '${e}'`)}async statPromise(e,r){return this.statSync(e,r)}statSync(e,r){let i=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw ro(`stat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Do(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,r)}async fstatPromise(e,r){return this.fstatSync(e,r)}fstatSync(e,r){let i=this.fds.get(e);if(typeof i=="undefined")throw en("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw ro(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw Do(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,r)}async lstatPromise(e,r){return this.lstatSync(e,r)}lstatSync(e,r){let i=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw ro(`lstat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Do(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,r)}statImpl(e,r,i={}){let n=this.entries.get(r);if(typeof n!="undefined"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),f=(this.libzip.struct.statMtime(s)>>>0)*1e3,h=f,p=f,m=f,y=new Date(h),b=new Date(p),S=new Date(m),k=new Date(f),T=this.listings.has(r)?ka:this.isSymbolicLink(n)?Pa:xa,Y=T===ka?493:420,j=T|this.getUnixMode(n,Y)&511,Z=this.libzip.struct.statCrc(s),J=Object.assign(new KA,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:y,birthtime:b,ctime:S,mtime:k,atimeMs:h,birthtimeMs:p,ctimeMs:m,mtimeMs:f,mode:j,crc:Z});return i.bigint===!0?UE(J):J}if(this.listings.has(r)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=new Date(u),m=new Date(g),y=new Date(f),b=new Date(h),S=ka|493,k=0,T=Object.assign(new KA,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:m,ctime:y,mtime:b,atimeMs:u,birthtimeMs:g,ctimeMs:f,mtimeMs:h,mode:S,crc:k});return i.bigint===!0?UE(T):T}throw new Error("Unreachable")}getUnixMode(e,r){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?r:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let r=this.listings.get(e);if(r)return r;this.registerListing(x.dirname(e)).add(x.basename(e));let n=new Set;return this.listings.set(e,n),n}registerEntry(e,r){this.registerListing(x.dirname(e)).add(x.basename(e)),this.entries.set(e,r)}unregisterListing(e){this.listings.delete(e);let r=this.listings.get(x.dirname(e));r==null||r.delete(x.basename(e))}unregisterEntry(e){this.unregisterListing(e);let r=this.entries.get(e);this.entries.delete(e),typeof r!="undefined"&&(this.fileSources.delete(r),this.isSymbolicLink(r)&&this.symlinkCount--)}deleteEntry(e,r){if(this.unregisterEntry(e),this.libzip.delete(this.zip,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,r,i=!0){if(!this.ready)throw YE(`archive closed, ${e}`);let n=x.resolve(Ke.root,r);if(n==="/")return Ke.root;let s=this.entries.get(n);if(i&&s!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(s)){let o=this.getFileSource(s).toString();return this.resolveFilename(e,x.resolve(x.dirname(n),o),!0)}else return n;for(;;){let o=this.resolveFilename(e,x.dirname(n),!0),a=this.listings.has(o),l=this.entries.has(o);if(!a&&!l)throw ro(e);if(!a)throw Do(e);if(n=x.resolve(o,x.basename(n)),!i||this.symlinkCount===0)break;let c=this.libzip.name.locate(this.zip,n.slice(1));if(c===-1)break;if(this.isSymbolicLink(c)){let u=this.getFileSource(c).toString();n=x.resolve(x.dirname(n),u)}else break}return n}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libzip.malloc(e.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,e.byteLength).set(e),{buffer:r,byteLength:e.byteLength}}allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,r);if(s===0)throw this.libzip.free(r),this.makeLibzipError(r);return s}allocateSource(e){let{buffer:r,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,r,i,0,!0);if(n===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,r){let i=Buffer.isBuffer(r)?r:Buffer.from(r),n=x.relative(Ke.root,e),s=this.allocateSource(r);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let a=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&_n)===Pa}getFileSource(e,r={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!="undefined")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(uo)throw new Error("Overread");let g=this.libzip.HEAPU8.subarray(l,l+o),f=Buffer.from(g);if(a===0)return this.fileSources.set(e,f),f;if(r.asyncDecompress)return new Promise((h,p)=>{BQ.default.inflateRaw(f,(m,y)=>{m?p(m):(this.fileSources.set(e,y),h(y))})});{let h=BQ.default.inflateRawSync(f);return this.fileSources.set(e,h),h}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async chmodPromise(e,r){return this.chmodSync(e,r)}chmodSync(e,r){if(this.readOnly)throw In(`chmod '${e}'`);r&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n=="undefined")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,xa|0)&~511|r;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,r,i){return this.chownSync(e,r,i)}chownSync(e,r,i){throw new Error("Unimplemented")}async renamePromise(e,r){return this.renameSync(e,r)}renameSync(e,r){throw new Error("Unimplemented")}async copyFilePromise(e,r,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,r,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,r,i=0){if(this.readOnly)throw In(`copyfile '${e} -> '${r}'`);if((i&Ju.constants.COPYFILE_FICLONE_FORCE)!=0)throw qh("unsupported clone operation",`copyfile '${e}' -> ${r}'`);let n=this.resolveFilename(`copyfile '${e} -> ${r}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw UA(`copyfile '${e}' -> '${r}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${r}'`,r),a=this.entries.get(o);if((i&(Ju.constants.COPYFILE_EXCL|Ju.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw qE(`copyfile '${e}' -> '${r}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,r,i){if(this.readOnly)throw In(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=N({flag:"a"},i)),this.writeFilePromise(e,r,i)}appendFileSync(e,r,i={}){if(this.readOnly)throw In(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=N({flag:"a"},i)),this.writeFileSync(e,r,i)}fdToPath(e,r){var n;let i=(n=this.fds.get(e))==null?void 0:n.p;if(typeof i=="undefined")throw en(r);return i}async writeFilePromise(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([await this.getFileSource(o,{asyncDecompress:!0}),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&await this.chmodPromise(a,s)}writeFileSync(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([this.getFileSource(o),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&this.chmodSync(a,s)}prepareWriteFile(e,r){if(typeof e=="number"&&(e=this.fdToPath(e,"read")),this.readOnly)throw In(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw Jh(`open '${e}'`);let n=null,s=null;typeof r=="string"?n=r:typeof r=="object"&&({encoding:n=null,mode:s=null}=r);let o=this.entries.get(i);return{encoding:n,mode:s,resolvedP:i,index:o}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw In(`unlink '${e}'`);let r=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(r))throw Jh(`unlink '${e}'`);let i=this.entries.get(r);if(typeof i=="undefined")throw UA(`unlink '${e}'`);this.deleteEntry(r,i)}async utimesPromise(e,r,i){return this.utimesSync(e,r,i)}utimesSync(e,r,i){if(this.readOnly)throw In(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,r,i){return this.lutimesSync(e,r,i)}lutimesSync(e,r,i){if(this.readOnly)throw In(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,r){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,i,0,vfe(r),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,r){return this.mkdirSync(e,r)}mkdirSync(e,{mode:r=493,recursive:i=!1}={}){if(i){this.mkdirpSync(e,{chmod:r});return}if(this.readOnly)throw In(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw qE(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,r)}async rmdirPromise(e,r){return this.rmdirSync(e,r)}rmdirSync(e,{recursive:r=!1}={}){if(this.readOnly)throw In(`rmdir '${e}'`);if(r){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw Do(`rmdir '${e}'`);if(n.size>0)throw uM(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw UA(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let r=this.libzip.dir.add(this.zip,x.relative(Ke.root,e));if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,r),r}async linkPromise(e,r){return this.linkSync(e,r)}linkSync(e,r){throw gM(`link '${e}' -> '${r}'`)}async symlinkPromise(e,r){return this.symlinkSync(e,r)}symlinkSync(e,r){if(this.readOnly)throw In(`symlink '${e}' -> '${r}'`);let i=this.resolveFilename(`symlink '${e}' -> '${r}'`,r);if(this.listings.has(i))throw Jh(`symlink '${e}' -> '${r}'`);if(this.entries.has(i))throw qE(`symlink '${e}' -> '${r}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(Pa|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return r?i.toString(r):i}readFileSync(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=this.readFileBuffer(e);return r?i.toString(r):i}readFileBuffer(e,r={asyncDecompress:!1}){typeof e=="number"&&(e=this.fdToPath(e,"read"));let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw ro(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Do(`open '${e}'`);if(this.listings.has(i))throw Jh("read");let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,r)}async readdirPromise(e,r){return this.readdirSync(e,r)}readdirSync(e,r){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw ro(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw Do(`scandir '${e}'`);let s=[...n];return(r==null?void 0:r.withFileTypes)?s.map(o=>Object.assign(this.statImpl("lstat",x.join(e,o)),{name:o})):s}async readlinkPromise(e){let r=this.prepareReadlink(e);return(await this.getFileSource(r,{asyncDecompress:!0})).toString()}readlinkSync(e){let r=this.prepareReadlink(e);return this.getFileSource(r).toString()}prepareReadlink(e){let r=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(r)&&!this.listings.has(r))throw ro(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(r))throw Do(`open '${e}'`);if(this.listings.has(r))throw UA(`readlink '${e}'`);let i=this.entries.get(r);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw UA(`readlink '${e}'`);return i}async truncatePromise(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw UA(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(r,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw UA(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(r,0);return s.copy(o),this.writeFileSync(e,o)}watch(e,r,i){let n;switch(typeof r){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=r);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,r,i){let n=x.resolve(Ke.root,e);return zE(this,n,r,i)}unwatchFile(e,r){let i=x.resolve(Ke.root,e);return zh(this,i,r)}};var bi=class extends HA{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,i){return this.baseFs.openPromise(this.mapToBase(e),r,i)}openSync(e,r,i){return this.baseFs.openSync(this.mapToBase(e),r,i)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async chownPromise(e,r,i){return this.baseFs.chownPromise(this.mapToBase(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.mapToBase(e),r,i)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),i)}copyFileSync(e,r,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),i)}async appendFilePromise(e,r,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,i)}async writeFilePromise(e,r,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,i){return this.baseFs.utimesPromise(this.mapToBase(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.mapToBase(e),r,i)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,r){return r==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),r):this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return r==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),r):this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}watch(e,r,i){return this.baseFs.watch(this.mapToBase(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.mapToBase(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var Da=class extends bi{constructor(e,{baseFs:r,pathUtils:i}){super(i);this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var _t=class extends bi{constructor(e,{baseFs:r=new ar}={}){super(x);this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?x.normalize(e):this.baseFs.resolve(x.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var yM=Ke.root,Ra=class extends bi{constructor(e,{baseFs:r=new ar}={}){super(x);this.target=this.pathUtils.resolve(Ke.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Ke.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(yM,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(yM,this.pathUtils.relative(this.target,e))}};var Vh=class extends bi{constructor(e,r){super(r);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var st=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),bQ=class extends HA{constructor(){super(x)}getExtractHint(){throw st()}getRealPath(){throw st()}resolve(){throw st()}async openPromise(){throw st()}openSync(){throw st()}async opendirPromise(){throw st()}opendirSync(){throw st()}async readPromise(){throw st()}readSync(){throw st()}async writePromise(){throw st()}writeSync(){throw st()}async closePromise(){throw st()}closeSync(){throw st()}createWriteStream(){throw st()}createReadStream(){throw st()}async realpathPromise(){throw st()}realpathSync(){throw st()}async readdirPromise(){throw st()}readdirSync(){throw st()}async existsPromise(e){throw st()}existsSync(e){throw st()}async accessPromise(){throw st()}accessSync(){throw st()}async statPromise(){throw st()}statSync(){throw st()}async fstatPromise(e){throw st()}fstatSync(e){throw st()}async lstatPromise(e){throw st()}lstatSync(e){throw st()}async chmodPromise(){throw st()}chmodSync(){throw st()}async chownPromise(){throw st()}chownSync(){throw st()}async mkdirPromise(){throw st()}mkdirSync(){throw st()}async rmdirPromise(){throw st()}rmdirSync(){throw st()}async linkPromise(){throw st()}linkSync(){throw st()}async symlinkPromise(){throw st()}symlinkSync(){throw st()}async renamePromise(){throw st()}renameSync(){throw st()}async copyFilePromise(){throw st()}copyFileSync(){throw st()}async appendFilePromise(){throw st()}appendFileSync(){throw st()}async writeFilePromise(){throw st()}writeFileSync(){throw st()}async unlinkPromise(){throw st()}unlinkSync(){throw st()}async utimesPromise(){throw st()}utimesSync(){throw st()}async readFilePromise(){throw st()}readFileSync(){throw st()}async readlinkPromise(){throw st()}readlinkSync(){throw st()}async truncatePromise(){throw st()}truncateSync(){throw st()}watch(){throw st()}watchFile(){throw st()}unwatchFile(){throw st()}},_E=bQ;_E.instance=new bQ;var Xh=class extends bi{constructor(e){super(H);this.baseFs=e}mapFromBase(e){return H.fromPortablePath(e)}mapToBase(e){return H.toPortablePath(e)}};var Sfe=/^[0-9]+$/,QQ=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,kfe=/^([^/]+-)?[a-f0-9]+$/,Wr=class extends bi{static makeVirtualPath(e,r,i){if(x.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!x.basename(r).match(kfe))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=x.relative(x.dirname(e),i).split("/"),o=0;for(;o{let r=t.indexOf(e);if(r<=0)return null;let i=r;for(;r>=0&&(i=r+e.length,t[i]!==x.sep);){if(t[r-1]===x.sep)return null;r=t.indexOf(e,i)}return t.length>i&&t[i]!==x.sep?null:t.slice(0,i)},Es=class extends tc{constructor({libzip:e,baseFs:r=new ar,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3,fileExtensions:l=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof e!="function"?()=>e:e,this.baseFs=r,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a,this.fileExtensions=l}static async openPromise(e,r){let i=new Es(r);try{return await e(i)}finally{i.saveAndClose()}}get libzip(){return typeof this.libzipInstance=="undefined"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(_h(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(_h(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,r){let i=this.nextFd++|Fa;return this.fdMap.set(i,[e,r]),i}async openPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,r,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,r,i)))}openSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,r,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,r,i)))}async opendirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,r),async(i,{subPath:n})=>await i.opendirPromise(n,r),{requireSubpath:!1})}opendirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,r),(i,{subPath:n})=>i.opendirSync(n,r),{requireSubpath:!1})}async readPromise(e,r,i,n,s){if((e&Fa)==0)return await this.baseFs.readPromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("read");let[a,l]=o;return await a.readPromise(l,r,i,n,s)}readSync(e,r,i,n,s){if((e&Fa)==0)return this.baseFs.readSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("readSync");let[a,l]=o;return a.readSync(l,r,i,n,s)}async writePromise(e,r,i,n,s){if((e&Fa)==0)return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("write");let[a,l]=o;return typeof r=="string"?await a.writePromise(l,r,i):await a.writePromise(l,r,i,n,s)}writeSync(e,r,i,n,s){if((e&Fa)==0)return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("writeSync");let[a,l]=o;return typeof r=="string"?a.writeSync(l,r,i):a.writeSync(l,r,i,n,s)}async closePromise(e){if((e&Fa)==0)return await this.baseFs.closePromise(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw en("close");this.fdMap.delete(e);let[i,n]=r;return await i.closePromise(n)}closeSync(e){if((e&Fa)==0)return this.baseFs.closeSync(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw en("closeSync");this.fdMap.delete(e);let[i,n]=r;return i.closeSync(n)}createReadStream(e,r){return e===null?this.baseFs.createReadStream(e,r):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,r),(i,{archivePath:n,subPath:s})=>{let o=i.createReadStream(s,r);return o.path=H.fromPortablePath(this.pathUtils.join(n,s)),o})}createWriteStream(e,r){return e===null?this.baseFs.createWriteStream(e,r):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,r),(i,{subPath:n})=>i.createWriteStream(n,r))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Ke.root,await r.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Ke.root,r.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(r,{subPath:i})=>await r.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(r,{subPath:i})=>r.existsSync(i))}async accessPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,r),async(i,{subPath:n})=>await i.accessPromise(n,r))}accessSync(e,r){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,r),(i,{subPath:n})=>i.accessSync(n,r))}async statPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,r),async(i,{subPath:n})=>await i.statPromise(n,r))}statSync(e,r){return this.makeCallSync(e,()=>this.baseFs.statSync(e,r),(i,{subPath:n})=>i.statSync(n,r))}async fstatPromise(e,r){if((e&Fa)==0)return this.baseFs.fstatPromise(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw en("fstat");let[n,s]=i;return n.fstatPromise(s,r)}fstatSync(e,r){if((e&Fa)==0)return this.baseFs.fstatSync(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw en("fstatSync");let[n,s]=i;return n.fstatSync(s,r)}async lstatPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,r),async(i,{subPath:n})=>await i.lstatPromise(n,r))}lstatSync(e,r){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,r),(i,{subPath:n})=>i.lstatSync(n,r))}async chmodPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,r),async(i,{subPath:n})=>await i.chmodPromise(n,r))}chmodSync(e,r){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,r),(i,{subPath:n})=>i.chmodSync(n,r))}async chownPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,r,i),async(n,{subPath:s})=>await n.chownPromise(s,r,i))}chownSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,r,i),(n,{subPath:s})=>n.chownSync(s,r,i))}async renamePromise(e,r){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.renamePromise(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(i,{subPath:n})=>await this.makeCallPromise(r,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await i.renamePromise(n,o)}))}renameSync(e,r){return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.renameSync(e,r),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(i,{subPath:n})=>this.makeCallSync(r,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return i.renameSync(n,o)}))}async copyFilePromise(e,r,i=0){let n=async(s,o,a,l)=>{if((i&Zh.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Zh.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.copyFilePromise(e,r,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(r,async()=>await n(s,o,this.baseFs,r),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,r,i=0){let n=(s,o,a,l)=>{if((i&Zh.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Zh.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.copyFileSync(e,r,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(r,()=>n(s,o,this.baseFs,r),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,r,i),async(n,{subPath:s})=>await n.appendFilePromise(s,r,i))}appendFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,r,i),(n,{subPath:s})=>n.appendFileSync(s,r,i))}async writeFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,r,i),async(n,{subPath:s})=>await n.writeFilePromise(s,r,i))}writeFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,r,i),(n,{subPath:s})=>n.writeFileSync(s,r,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(r,{subPath:i})=>await r.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(r,{subPath:i})=>r.unlinkSync(i))}async utimesPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,r,i),async(n,{subPath:s})=>await n.utimesPromise(s,r,i))}utimesSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,r,i),(n,{subPath:s})=>n.utimesSync(s,r,i))}async mkdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,r),async(i,{subPath:n})=>await i.mkdirPromise(n,r))}mkdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,r),(i,{subPath:n})=>i.mkdirSync(n,r))}async rmdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,r),async(i,{subPath:n})=>await i.rmdirPromise(n,r))}rmdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,r),(i,{subPath:n})=>i.rmdirSync(n,r))}async linkPromise(e,r){return await this.makeCallPromise(r,async()=>await this.baseFs.linkPromise(e,r),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,r){return this.makeCallSync(r,()=>this.baseFs.linkSync(e,r),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,r,i){return await this.makeCallPromise(r,async()=>await this.baseFs.symlinkPromise(e,r,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,r,i){return this.makeCallSync(r,()=>this.baseFs.symlinkSync(e,r,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,r){return this.makeCallPromise(e,async()=>{switch(r){case"utf8":return await this.baseFs.readFilePromise(e,r);default:return await this.baseFs.readFilePromise(e,r)}},async(i,{subPath:n})=>await i.readFilePromise(n,r))}readFileSync(e,r){return this.makeCallSync(e,()=>{switch(r){case"utf8":return this.baseFs.readFileSync(e,r);default:return this.baseFs.readFileSync(e,r)}},(i,{subPath:n})=>i.readFileSync(n,r))}async readdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,r),async(i,{subPath:n})=>await i.readdirPromise(n,r),{requireSubpath:!1})}readdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,r),(i,{subPath:n})=>i.readdirSync(n,r),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(r,{subPath:i})=>await r.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(r,{subPath:i})=>r.readlinkSync(i))}async truncatePromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,r),async(i,{subPath:n})=>await i.truncatePromise(n,r))}truncateSync(e,r){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,r),(i,{subPath:n})=>i.truncateSync(n,r))}watch(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,r,i),(n,{subPath:s})=>n.watch(s,r,i))}watchFile(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,r,i),()=>zE(this,e,r,i))}unwatchFile(e,r){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,r),()=>zh(this,e,r))}async makeCallPromise(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return await r();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath==="/"?await r():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await r()}makeCallSync(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return r();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath==="/"?r():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let r="";for(;;){let i=e.substring(r.length),n;if(!this.fileExtensions)n=wM(i,".zip");else for(let s of this.fileExtensions)if(n=wM(i,s),n)break;if(!n)return null;if(r=this.pathUtils.join(r,n),this.isZip.has(r)===!1){if(this.notZip.has(r))continue;try{if(!this.baseFs.lstatSync(r).isFile()){this.notZip.add(r);continue}}catch{return null}this.isZip.add(r)}return{archivePath:r,subPath:this.pathUtils.join(Ke.root,e.substring(r.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let r=Date.now(),i=r+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(r>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-r).unref())}async getZipPromise(e,r){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new Ai(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await r(n.zipFs)}finally{n.refCount-=1}}else{let n=new Ai(e,await i());try{return await r(n)}finally{n.saveAndClose()}}}getZipSync(e,r){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new Ai(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,r(n.zipFs)}else{let n=new Ai(e,i());try{return r(n)}finally{n.saveAndClose()}}}};var Wu=ge(require("util"));var VE=ge(require("url"));var vQ=class extends bi{constructor(e){super(H);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof VE.URL?(0,VE.fileURLToPath)(e):e}};var xfe=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),BM=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),Pfe=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]);function SQ(t,e){e=new vQ(e);let r=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Wu.promisify.custom])!="undefined"&&(s[Wu.promisify.custom]=o[Wu.promisify.custom])};{r(t,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),r(t,"read",(...i)=>{let[n,s,o,a,l,c]=i;if(i.length<=3){let u={};i.length<3?c=i[1]:(u=i[1],c=i[2]),{buffer:s=Buffer.alloc(16384),offset:o=0,length:a=s.byteLength,position:l}=u}if(o==null&&(o=0),a|=0,a===0){process.nextTick(()=>{c(null,0,s)});return}l==null&&(l=-1),process.nextTick(()=>{e.readPromise(n,s,o,a,l).then(u=>{c(null,u,s)},u=>{c(u,0,s)})})});for(let i of BM){let n=i.replace(/Promise$/,"");if(typeof t[n]=="undefined")continue;let s=e[i];if(typeof s=="undefined")continue;r(t,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",i=>{try{return e.existsSync(i)}catch(n){return!1}}),r(t,"readSync",(...i)=>{let[n,s,o,a,l]=i;return i.length<=3&&({offset:o=0,length:a=s.byteLength,position:l}=i[2]||{}),o==null&&(o=0),a|=0,a===0?0:(l==null&&(l=-1),e.readSync(n,s,o,a,l))});for(let i of xfe){let n=i;if(typeof t[n]=="undefined")continue;let s=e[i];typeof s!="undefined"&&r(t,n,s.bind(e))}t.realpathSync.native=t.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=t.promises}finally{process.emitWarning=i}if(typeof n!="undefined"){for(let o of BM){let a=o.replace(/Promise$/,"");if(typeof n[a]=="undefined")continue;let l=e[o];typeof l!="undefined"&&o!=="open"&&r(n,a,l.bind(e))}class s{constructor(a){this.fd=a}}for(let o of Pfe){let a=o.replace(/Promise$/,""),l=e[o];typeof l!="undefined"&&r(s.prototype,a,function(...c){return l.call(e,this.fd,...c)})}r(n,"open",async(...o)=>{let a=await e.openPromise(...o);return new s(a)})}}t.read[Wu.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n}),t.write[Wu.promisify.custom]=async(i,n,...s)=>({bytesWritten:await e.writePromise(i,n,...s),buffer:n})}function XE(t,e){let r=Object.create(t);return SQ(r,e),r}var bM=ge(require("os"));function QM(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}var io=new Set,kQ=null;function vM(){if(kQ)return kQ;let t=H.toPortablePath(bM.default.tmpdir()),e=K.realpathSync(t);return process.once("exit",()=>{K.rmtempSync()}),kQ={tmpdir:t,realTmpdir:e}}var K=Object.assign(new ar,{detachTemp(t){io.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=vM();for(;;){let i=QM("xfs-");try{this.mkdirSync(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(r,i);if(io.add(n),typeof t=="undefined")return n;try{return t(n)}finally{if(io.has(n)){io.delete(n);try{this.removeSync(n)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=vM();for(;;){let i=QM("xfs-");try{await this.mkdirPromise(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(r,i);if(io.add(n),typeof t=="undefined")return n;try{return await t(n)}finally{if(io.has(n)){io.delete(n);try{await this.removePromise(n)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(io.values()).map(async t=>{try{await K.removePromise(t,{maxRetries:0}),io.delete(t)}catch{}}))},rmtempSync(){for(let t of io)try{K.removeSync(t),io.delete(t)}catch{}}});var Px=ge(MQ());var ap={};ft(ap,{parseResolution:()=>iI,parseShell:()=>$E,parseSyml:()=>Qi,stringifyArgument:()=>GQ,stringifyArgumentSegment:()=>jQ,stringifyArithmeticExpression:()=>rI,stringifyCommand:()=>HQ,stringifyCommandChain:()=>Xu,stringifyCommandChainThen:()=>UQ,stringifyCommandLine:()=>eI,stringifyCommandLineThen:()=>KQ,stringifyEnvSegment:()=>tI,stringifyRedirectArgument:()=>ep,stringifyResolution:()=>nI,stringifyShell:()=>Vu,stringifyShellLine:()=>Vu,stringifySyml:()=>La,stringifyValueArgument:()=>oc});var dK=ge(pK());function $E(t,e={isGlobPattern:()=>!1}){try{return(0,dK.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function Vu(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:i},n)=>`${eI(r)}${i===";"?n!==t.length-1||e?";":"":" &"}`).join(" ")}function eI(t){return`${Xu(t.chain)}${t.then?` ${KQ(t.then)}`:""}`}function KQ(t){return`${t.type} ${eI(t.line)}`}function Xu(t){return`${HQ(t)}${t.then?` ${UQ(t.then)}`:""}`}function UQ(t){return`${t.type} ${Xu(t.chain)}`}function HQ(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>tI(e)).join(" ")} `:""}${t.args.map(e=>GQ(e)).join(" ")}`;case"subshell":return`(${Vu(t.subshell)})${t.args.length>0?` ${t.args.map(e=>ep(e)).join(" ")}`:""}`;case"group":return`{ ${Vu(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>ep(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>tI(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function tI(t){return`${t.name}=${t.args[0]?oc(t.args[0]):""}`}function GQ(t){switch(t.type){case"redirection":return ep(t);case"argument":return oc(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function ep(t){return`${t.subtype} ${t.args.map(e=>oc(e)).join(" ")}`}function oc(t){return t.segments.map(e=>jQ(e)).join("")}function jQ(t){let e=(i,n)=>n?`"${i}"`:i,r=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${Vu(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue=="undefined"?typeof t.alternativeValue=="undefined"?`\${${t.name}}`:t.alternativeValue.length===0?`\${${t.name}:+}`:`\${${t.name}:+${t.alternativeValue.map(i=>oc(i)).join(" ")}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(i=>oc(i)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${rI(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function rI(t){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},r=(n,s)=>s?`( ${n} )`:n,i=n=>r(rI(n),!["number","variable"].includes(n.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${i(t.left)} ${e(t.type)} ${i(t.right)}`}}var EK=ge(mK());function iI(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,EK.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function nI(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var pI=ge(lU()),gU=ge(uU()),Kde=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,fU=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],rv=class{constructor(e){this.data=e}};function hU(t){return t.match(Kde)?t:JSON.stringify(t)}function pU(t){return typeof t=="undefined"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>pU(t[e])):!1}function iv(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${hU(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let i=" ".repeat(e);return` +${t.map(s=>`${i}- ${iv(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof rv?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=fU.indexOf(l),g=fU.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!pU(i[l])).map((l,c)=>{let u=i[l],g=hU(l),f=iv(u,e+1,!0),h=c>0||r?s:"",p=g.length>1024?`? ${g} +${h}:`:`${g}:`,m=f.startsWith(` +`)?f:` ${f}`;return`${h}${p}${m}`}).join(e===0?` +`:"")||` +`;return r?` +${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function La(t){try{let e=iv(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}La.PreserveOrdering=rv;function Ude(t){return t.endsWith(` +`)||(t+=` +`),(0,gU.parse)(t)}var Hde=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function Gde(t){if(Hde.test(t))return Ude(t);let e=(0,pI.safeLoad)(t,{schema:pI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Qi(t){return Gde(t)}var i4=ge(CU()),ww=ge(pc());var mp={};ft(mp,{Builtins:()=>mv,Cli:()=>ys,Command:()=>Re,Option:()=>W,UsageError:()=>Pe,formatMarkdownish:()=>Ui});var dc=0,Ap=1,tn=2,sv="",vi="\0",og=-1,ov=/^(-h|--help)(?:=([0-9]+))?$/,dI=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,wU=/^-[a-zA-Z]{2,}$/,av=/^([^=]+)=([\s\S]*)$/,Av=process.env.DEBUG_CLI==="1";var Pe=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},lp=class extends Error{constructor(e,r){super();if(this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===r[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} + +${this.candidates.map(({usage:n})=>`$ ${n}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${i} +${lv(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${lv(e)}`}},cv=class extends Error{constructor(e,r){super();this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${lv(e)}`}},lv=t=>`While running ${t.filter(e=>e!==vi).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var cp=Symbol("clipanion/isOption");function rn(t){return ie(N({},t),{[cp]:!0})}function No(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function CI(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function up(t,e){return e.length===1?new Pe(`${t}: ${CI(e[0],!0)}`):new Pe(`${t}: +${e.map(r=>` +- ${CI(r)}`).join("")}`)}function gp(t,e,r){if(typeof r=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!r(e,{errors:i,coercions:n,coercion:s}))throw up(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var Re=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(Is(),ag)),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw up("Invalid option schema",l);for(let[,g]of c)g()}else if(r!=null)throw new Error("Invalid command schema");let i=await this.execute();return typeof i!="undefined"?i:0}};Re.isOption=cp;Re.Default=[];var RU=80,fv=Array(RU).fill("\u2501");for(let t=0;t<=24;++t)fv[fv.length-t]=`[38;5;${232+t}m\u2501`;var hv={header:t=>`\u2501\u2501\u2501 ${t}${t.length`${t}`,error:t=>`${t}`,code:t=>`${t}`},FU={header:t=>t,bold:t=>t,error:t=>t,code:t=>t};function bCe(t){let e=t.split(` +`),r=e.filter(n=>n.match(/\S/)),i=r.length>0?r.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` +`)}function Ui(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=bCe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),t=t.replace(/\n(\n)?\n*/g,"$1"),r&&(t=t.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` +`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` +`)}).join(` + +`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),t?`${t} +`:""}var Cv=ge(require("tty"));function wn(t){Av&&console.log(t)}var NU={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:og};function LU(){return{nodes:[sn(),sn(),sn()]}}function vCe(t){let e=LU(),r=[],i=e.nodes.length;for(let n of t){r.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=t.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)r(a);for(let[,{to:o}]of n.dynamics)r(o);for(let{to:o}of n.shortcuts)r(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=t.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};r(dc)}function kCe(t,{prefix:e=""}={}){if(Av){wn(`${e}Nodes are:`);for(let r=0;rl!==tn).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===tn))throw new lp(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=xCe(a)}if(i.length>0){wn(" Results:");for(let s of i)wn(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else wn(" No results");return i}function PCe(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,vi)){for(let{to:r}of t.statics[vi])if(r===Ap)return!0}return!1}function RCe(t,e,r){let i=r&&e.length>0?[""]:[],n=OU(t,e,r),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let m=t.nodes[p],y=Object.keys(m.statics);for(let b of Object.keys(m.statics)){let S=y[0];for(let{to:k,reducer:T}of m.statics[S])T==="pushPath"&&(u||l.push(S),g.push(k))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=t.nodes[l],g=PCe(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==vi||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===tn)continue;let p=DCe(f,c);if(p!==null)for(let m of p)a([...i,m],l)}}return[...s].sort()}function NCe(t,e){let r=OU(t,[...e,vi]);return FCe(e,r.map(({state:i})=>i))}function xCe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function FCe(t,e){let r=e.filter(g=>g.selectedIndex!==null);if(r.length===0)throw new Error;let i=r.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new lp(t,r.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=LCe(c);if(u.length>1)throw new cv(t,u.map(g=>g.candidateUsage));return u[0]}function LCe(t){let e=[],r=[];for(let i of t)i.selectedIndex===og?r.push(i):e.push(i);return r.length>0&&e.push(ie(N({},NU),{path:MU(...r.map(i=>i.path)),options:r.reduce((i,n)=>i.concat(n.options),[])})),e}function MU(t,e,...r){return e===void 0?Array.from(t):MU(t.filter((i,n)=>i===e[n]),...r)}function sn(){return{dynamics:[],shortcuts:[],statics:{}}}function TU(t){return t===Ap||t===tn}function dv(t,e=0){return{to:TU(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function QCe(t,e=0){let r=sn();for(let[i,n]of t.dynamics)r.dynamics.push([i,dv(n,e)]);for(let i of t.shortcuts)r.shortcuts.push(dv(i,e));for(let[i,n]of Object.entries(t.statics))r.statics[i]=n.map(s=>dv(s,e));return r}function Si(t,e,r,i,n){t.nodes[e].dynamics.push([r,{to:i,reducer:n}])}function Ag(t,e,r,i){t.nodes[e].shortcuts.push({to:r,reducer:i})}function Ta(t,e,r,i,n){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:i,reducer:n})}function EI(t,e,r,i){if(Array.isArray(e)){let[n,...s]=e;return t[n](r,i,...s)}else return t[e](r,i)}function DCe(t,e){let r=Array.isArray(t)?II[t[0]]:II[t];if(typeof r.suggest=="undefined")return null;let i=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...i)}var II={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,i)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&wU.test(e)&&[...e.slice(1)].every(i=>r.includes(`-${i}`)),isBoundOption:(t,e,r,i)=>{let n=e.match(av);return!t.ignoreOptions&&!!n&&dI.test(n[1])&&r.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&ov.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&dI.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!dI.test(e)};II.isOption.suggest=(t,e,r=!0)=>r?null:[e];var pv={setCandidateState:(t,e,r)=>N(N({},t),r),setSelectedIndex:(t,e,r)=>ie(N({},t),{selectedIndex:r}),pushBatch:(t,e)=>ie(N({},t),{options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,i]=e.match(av);return ie(N({},t),{options:t.options.concat({name:r,value:i})})},pushPath:(t,e)=>ie(N({},t),{path:t.path.concat(e)}),pushPositional:(t,e)=>ie(N({},t),{positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>ie(N({},t),{positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>ie(N({},t),{positionals:t.positionals.concat({value:e,extra:Xn})}),pushTrue:(t,e,r=e)=>ie(N({},t),{options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>ie(N({},t),{options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>ie(N({},t),{options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let i=ie(N({},t),{options:[...t.options]}),n=t.options[t.options.length-1];return n.value=((r=n.value)!==null&&r!==void 0?r:[]).concat([e]),i},setStringValue:(t,e)=>{let r=ie(N({},t),{options:[...t.options]}),i=t.options[t.options.length-1];return i.value=e,r},inhibateOptions:t=>ie(N({},t),{ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,i]=e.match(ov);return typeof i!="undefined"?ie(N({},t),{options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}):ie(N({},t),{options:[{name:"-c",value:String(r)}]})},setError:(t,e,r)=>e===vi?ie(N({},t),{errorMessage:`${r}.`}):ie(N({},t),{errorMessage:`${r} ("${e}").`}),setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return ie(N({},t),{errorMessage:`Not enough arguments to option ${r.name}.`})}},Xn=Symbol(),KU=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:i,proxy:n})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===Xn)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==Xn?this.arity.extra.push(e):this.arity.extra!==Xn&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===Xn)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Xn?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context=="undefined")throw new Error("Assertion failed: No context attached");let e=LU(),r=dc,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);r=no(e,sn()),Ta(e,dc,sv,r,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=r;if(a.length>0){let f=no(e,sn());Ag(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=no(e,sn());Si(e,l,"isHelp",f,["useHelp",this.cliIndex]),Ta(e,f,vi,Ap,["setSelectedIndex",og]),this.registerOptions(e,l)}this.arity.leading.length>0&&Ta(e,l,vi,tn,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&Ta(e,h,vi,tn,["setError","Not enough positional arguments"]),Si(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Xn||this.arity.extra.length>0){let f=no(e,sn());if(Ag(e,c,f),this.arity.extra===Xn){let h=no(e,sn());this.arity.proxy||this.registerOptions(e,h),Si(e,c,s,h,"pushExtraNoLimits"),Si(e,h,s,h,"pushExtraNoLimits"),Ag(e,h,f)}else for(let h=0;h0&&Ta(e,u,vi,tn,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)Si(e,r,["isOption",s,i.hidden||s!==n],r,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Si(e,r,["isNegatedOption",s],r,["pushFalse",s]);else{let s=no(e,sn());for(let o of i.names)Si(e,r,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eNCe(i,n),suggest:(n,s)=>RCe(i,n,s)}}};var Cp=class extends Re{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new Cp(r);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}};var UU=Symbol("clipanion/errorCommand");function TCe(){return process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY?8:1}var ys=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new dp({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,r={}){let i=new ys(r);for(let n of e)i.register(n);return i}register(e){var r;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[Re.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(r=e.paths)!==null&&r!==void 0?r:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:r,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case og:return Cp.from(n,r);default:{let{commandClass:s}=r[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[UU]=a,l}}break}}async run(e,r){var i;let n,s=N(N({},ys.defaultContext),r),o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,N(N({},s),u)),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?OCe(s):HU,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:i}=this.builder.compile();return i(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?Ui(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?Ui(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?Ui(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([f,h])=>[Ui(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return r}usage(e=null,{colored:r,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage!="undefined";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof Re?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Ui(l,{format:this.format(r),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` +`),(c!==""||u.length>0)&&(a+=`${this.format(r).header("Usage")} +`,a+=` +`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(r).bold(n)}${g} +`,f.length>0){a+=` +`,a+=`${hv.header("Options")} +`;let h=f.reduce((p,m)=>Math.max(p,m.definition.length),0);a+=` +`;for(let{definition:p,description:m}of f)a+=` ${this.format(r).bold(p.padEnd(h))} ${Ui(m,{format:this.format(r),paragraphs:!1})}`}if(c!==""&&(a+=` +`,a+=`${this.format(r).header("Details")} +`,a+=` +`,a+=Ui(c,{format:this.format(r),paragraphs:!0})),u.length>0){a+=` +`,a+=`${this.format(r).header("Examples")} +`;for(let[h,p]of u)a+=` +`,a+=Ui(h,{format:this.format(r),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(r).bold(n)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(r).bold(n)}${l} +`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage=="undefined")continue;let p=typeof f.usage.category!="undefined"?Ui(f.usage.category,{format:this.format(r),paragraphs:!1}):null,m=l.get(p);typeof m=="undefined"&&l.set(p,m=[]);let{usage:y}=this.getUsageByIndex(h);m.push({commandClass:f,usage:y})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel!="undefined",g=typeof this.binaryVersion!="undefined";u||g?(u&&g?a+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:u?a+=`${this.format(r).header(`${this.binaryLabel}`)} +`:a+=`${this.format(r).header(`${this.binaryVersion}`)} +`,a+=` ${this.format(r).bold(n)}${this.binaryName} +`):a+=`${this.format(r).bold(n)}${this.binaryName} +`;for(let f of c){let h=l.get(f).slice().sort((m,y)=>m.usage.localeCompare(y.usage,"en",{usage:"sort",caseFirst:"upper"})),p=f!==null?f.trim():"General commands";a+=` +`,a+=`${this.format(r).header(`${p}`)} +`;for(let{commandClass:m,usage:y}of h){let b=m.usage.description||"undocumented";a+=` +`,a+=` ${this.format(r).bold(y)} +`,a+=` ${Ui(b,{format:this.format(r),paragraphs:!1})}`}}a+=` +`,a+=Ui("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return a}error(e,r){var i,{colored:n,command:s=(i=e[UU])!==null&&i!==void 0?i:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} +`;let l=e.clipanion;return typeof l!="undefined"?l.type==="usage"&&(o+=` +`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} +`),o}format(e){var r;return((r=e!=null?e:this.enableColors)!==null&&r!==void 0?r:ys.defaultContext.colorDepth>1)?hv:FU}getUsageByRegistration(e,r){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};ys.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:"getColorDepth"in Cv.default.WriteStream.prototype?Cv.default.WriteStream.prototype.getColorDepth():TCe()};var GU;function OCe(t){let e=GU;if(typeof e=="undefined"){if(t.stdout===process.stdout&&t.stderr===process.stderr)return HU;let{AsyncLocalStorage:r}=require("async_hooks");e=GU=new r;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l=="undefined"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l=="undefined"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return r=>e.run(t,r)}function HU(t){return t()}var mv={};ft(mv,{DefinitionsCommand:()=>yI,HelpCommand:()=>wI,VersionCommand:()=>BI});var yI=class extends Re{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};yI.paths=[["--clipanion=definitions"]];var wI=class extends Re{async execute(){this.context.stdout.write(this.cli.usage())}};wI.paths=[["-h"],["--help"]];var BI=class extends Re{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};BI.paths=[["-v"],["--version"]];var W={};ft(W,{Array:()=>jU,Boolean:()=>YU,Counter:()=>qU,Proxy:()=>JU,Rest:()=>WU,String:()=>zU,applyValidator:()=>gp,cleanValidationError:()=>CI,formatError:()=>up,isOptionSymbol:()=>cp,makeCommandOption:()=>rn,rerouteArguments:()=>No});function jU(t,e,r){let[i,n]=No(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return rn({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function YU(t,e,r){let[i,n]=No(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return rn({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function qU(t,e,r){let[i,n]=No(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return rn({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function JU(t={}){return rn({definition(e,r){var i;e.addProxy({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){return i.positionals.map(({value:n})=>n)}})}function WU(t={}){return rn({definition(e,r){var i;e.addRest({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){let n=o=>{let a=i.positionals[o];return a.extra===Xn||a.extra===!1&&oo)}})}function MCe(t,e,r){let[i,n]=No(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return rn({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?gp(g!=null?g:c,f,n.validator):f}})}function KCe(t={}){let{required:e=!0}=t;return rn({definition(r,i){var n;r.addPositional({name:(n=t.name)!==null&&n!==void 0?n:i,required:t.required})},transformer(r,i,n){var s;for(let o=0;ou8,areIdentsEqual:()=>hd,areLocatorsEqual:()=>pd,areVirtualPackagesEquivalent:()=>cSe,bindDescriptor:()=>ASe,bindLocator:()=>lSe,convertDescriptorToLocator:()=>gw,convertLocatorToDescriptor:()=>ax,convertPackageToLocator:()=>aSe,convertToIdent:()=>oSe,convertToManifestRange:()=>fSe,copyPackage:()=>ud,devirtualizeDescriptor:()=>gd,devirtualizeLocator:()=>fd,getIdentVendorPath:()=>gx,isPackageCompatible:()=>dw,isVirtualDescriptor:()=>nl,isVirtualLocator:()=>Xo,makeDescriptor:()=>rr,makeIdent:()=>Vo,makeLocator:()=>cn,makeRange:()=>hw,parseDescriptor:()=>sl,parseFileStyleRange:()=>uSe,parseIdent:()=>An,parseLocator:()=>Kc,parseRange:()=>Gg,prettyDependent:()=>WS,prettyDescriptor:()=>sr,prettyIdent:()=>gi,prettyLocator:()=>Bt,prettyLocatorNoColors:()=>ux,prettyRange:()=>uw,prettyReference:()=>Cd,prettyResolution:()=>zS,prettyWorkspace:()=>md,renamePackage:()=>cd,slugifyIdent:()=>cx,slugifyLocator:()=>jg,sortDescriptors:()=>Yg,stringifyDescriptor:()=>Pn,stringifyIdent:()=>Ot,stringifyLocator:()=>Ds,tryParseDescriptor:()=>dd,tryParseIdent:()=>g8,tryParseLocator:()=>fw,virtualizeDescriptor:()=>Ax,virtualizePackage:()=>lx});var Hg=ge(require("querystring")),A8=ge(ri()),l8=ge(QY());var Ae={};ft(Ae,{LogLevel:()=>fo,Style:()=>Dc,Type:()=>Ye,addLogFilterSupport:()=>sd,applyColor:()=>is,applyHyperlink:()=>Lg,applyStyle:()=>Ty,json:()=>Rc,jsonOrPretty:()=>G0e,mark:()=>$S,pretty:()=>et,prettyField:()=>Jo,prettyList:()=>ZS,supportsColor:()=>Ny,supportsHyperlinks:()=>VS,tuple:()=>go});var id=ge(BS()),nd=ge(pc());var vJ=ge(rs()),SJ=ge(fJ());var ve={};ft(ve,{AsyncActions:()=>IJ,BufferStream:()=>EJ,CachingStrategy:()=>Pc,DefaultStream:()=>yJ,allSettledSafe:()=>uo,assertNever:()=>GS,bufferStream:()=>Fg,buildIgnorePattern:()=>M0e,convertMapsToIndexableObjects:()=>Fy,dynamicRequire:()=>Ng,escapeRegExp:()=>F0e,getArrayWithDefault:()=>Pg,getFactoryWithDefault:()=>Ja,getMapWithDefault:()=>Dg,getSetWithDefault:()=>xc,isIndexableObject:()=>jS,isPathLike:()=>K0e,isTaggedYarnVersion:()=>R0e,mapAndFilter:()=>qo,mapAndFind:()=>ed,overrideType:()=>HS,parseBoolean:()=>rd,parseOptionalBoolean:()=>QJ,prettifyAsyncErrors:()=>Rg,prettifySyncErrors:()=>YS,releaseAfterUseAsync:()=>L0e,replaceEnvVariables:()=>qS,sortMap:()=>xn,tryParseOptionalBoolean:()=>JS,validateEnum:()=>N0e});var hJ=ge(rs()),pJ=ge(lg()),dJ=ge(ri()),US=ge(require("stream"));function R0e(t){return!!(dJ.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/))}function F0e(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function HS(t){}function GS(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function N0e(t,e){let r=Object.values(t);if(!r.includes(e))throw new Pe(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(i=>JSON.stringify(i)).join(", ")})`);return e}function qo(t,e){let r=[];for(let i of t){let n=e(i);n!==CJ&&r.push(n)}return r}var CJ=Symbol();qo.skip=CJ;function ed(t,e){for(let r of t){let i=e(r);if(i!==mJ)return i}}var mJ=Symbol();ed.skip=mJ;function jS(t){return typeof t=="object"&&t!==null}async function uo(t){let e=await Promise.allSettled(t),r=[];for(let i of e){if(i.status==="rejected")throw i.reason;r.push(i.value)}return r}function Fy(t){if(t instanceof Map&&(t=Object.fromEntries(t)),jS(t))for(let e of Object.keys(t)){let r=t[e];jS(r)&&(t[e]=Fy(r))}return t}function Ja(t,e,r){let i=t.get(e);return typeof i=="undefined"&&t.set(e,i=r()),i}function Pg(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=[]),r}function xc(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Set),r}function Dg(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Map),r}async function L0e(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function Rg(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function YS(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Fg(t){return await new Promise((e,r)=>{let i=[];t.on("error",n=>{r(n)}),t.on("data",n=>{i.push(n)}),t.on("end",()=>{e(Buffer.concat(i))})})}var EJ=class extends US.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}};function T0e(){let t,e;return{promise:new Promise((i,n)=>{t=i,e=n}),resolve:t,reject:e}}var IJ=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,pJ.default)(e)}set(e,r){let i=this.deferred.get(e);typeof i=="undefined"&&this.deferred.set(e,i=T0e());let n=this.limit(()=>r());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,r){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>r(i))}async wait(){await Promise.all(this.promises.values())}},yJ=class extends US.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},td=eval("require");function wJ(t){return td(H.fromPortablePath(t))}function BJ(path){let physicalPath=H.fromPortablePath(path),currentCacheEntry=td.cache[physicalPath];delete td.cache[physicalPath];let result;try{result=wJ(physicalPath);let freshCacheEntry=td.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{td.cache[physicalPath]=currentCacheEntry}return result}var bJ=new Map;function O0e(t){let e=bJ.get(t),r=K.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let i=BJ(t);return bJ.set(t,{mtime:r.mtimeMs,instance:i}),i}var Pc;(function(i){i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node"})(Pc||(Pc={}));function Ng(t,{cachingStrategy:e=2}={}){switch(e){case 0:return BJ(t);case 1:return O0e(t);case 2:return wJ(t);default:throw new Error("Unsupported caching strategy")}}function xn(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(r.map(o=>s(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function M0e(t){return t.length===0?null:t.map(e=>`(${hJ.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function qS(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new Pe(`Environment variable not found (${n})`)})}function rd(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function QJ(t){return typeof t=="undefined"?t:rd(t)}function JS(t){try{return QJ(t)}catch{return null}}function K0e(t){return!!(H.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}var Qt;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Qt||(Qt={}));var yi;(function(i){i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta"})(yi||(yi={}));var qi;(function(i){i.Inactive="inactive",i.Redundant="redundant",i.Active="active"})(qi||(qi={}));var Ye={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},Dc;(function(e){e[e.BOLD=2]="BOLD"})(Dc||(Dc={}));var _S=nd.default.GITHUB_ACTIONS?{level:2}:id.default.supportsColor?{level:id.default.supportsColor.level}:{level:0},Ny=_S.level!==0,VS=Ny&&!nd.default.GITHUB_ACTIONS&&!nd.default.CIRCLE&&!nd.default.GITLAB,XS=new id.default.Instance(_S),U0e=new Map([[Ye.NO_HINT,null],[Ye.NULL,["#a853b5",129]],[Ye.SCOPE,["#d75f00",166]],[Ye.NAME,["#d7875f",173]],[Ye.RANGE,["#00afaf",37]],[Ye.REFERENCE,["#87afff",111]],[Ye.NUMBER,["#ffd700",220]],[Ye.PATH,["#d75fd7",170]],[Ye.URL,["#d75fd7",170]],[Ye.ADDED,["#5faf00",70]],[Ye.REMOVED,["#d70000",160]],[Ye.CODE,["#87afff",111]],[Ye.SIZE,["#ffd700",220]]]),Rs=t=>t,Ly={[Ye.NUMBER]:Rs({pretty:(t,e)=>`${e}`,json:t=>t}),[Ye.IDENT]:Rs({pretty:(t,e)=>gi(t,e),json:t=>Ot(t)}),[Ye.LOCATOR]:Rs({pretty:(t,e)=>Bt(t,e),json:t=>Ds(t)}),[Ye.DESCRIPTOR]:Rs({pretty:(t,e)=>sr(t,e),json:t=>Pn(t)}),[Ye.RESOLUTION]:Rs({pretty:(t,{descriptor:e,locator:r})=>zS(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:Pn(t),locator:e!==null?Ds(e):null})}),[Ye.DEPENDENT]:Rs({pretty:(t,{locator:e,descriptor:r})=>WS(t,e,r),json:({locator:t,descriptor:e})=>({locator:Ds(t),descriptor:Pn(e)})}),[Ye.PACKAGE_EXTENSION]:Rs({pretty:(t,e)=>{switch(e.type){case yi.Dependency:return`${gi(t,e.parentDescriptor)} \u27A4 ${is(t,"dependencies",Ye.CODE)} \u27A4 ${gi(t,e.descriptor)}`;case yi.PeerDependency:return`${gi(t,e.parentDescriptor)} \u27A4 ${is(t,"peerDependencies",Ye.CODE)} \u27A4 ${gi(t,e.descriptor)}`;case yi.PeerDependencyMeta:return`${gi(t,e.parentDescriptor)} \u27A4 ${is(t,"peerDependenciesMeta",Ye.CODE)} \u27A4 ${gi(t,An(e.selector))} \u27A4 ${is(t,e.key,Ye.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case yi.Dependency:return`${Ot(t.parentDescriptor)} > ${Ot(t.descriptor)}`;case yi.PeerDependency:return`${Ot(t.parentDescriptor)} >> ${Ot(t.descriptor)}`;case yi.PeerDependencyMeta:return`${Ot(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Ye.SETTING]:Rs({pretty:(t,e)=>(t.get(e),Lg(t,is(t,e,Ye.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Ye.DURATION]:Rs({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),i=Math.ceil((e-r*60*1e3)/1e3);return i===0?`${r}m`:`${r}m ${i}s`}else{let r=Math.floor(e/1e3),i=e-r*1e3;return i===0?`${r}s`:`${r}s ${i}ms`}},json:t=>t}),[Ye.SIZE]:Rs({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],i=r.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return is(t,`${s} ${r[i-1]}`,Ye.NUMBER)},json:t=>t}),[Ye.PATH]:Rs({pretty:(t,e)=>is(t,H.fromPortablePath(e),Ye.PATH),json:t=>H.fromPortablePath(t)}),[Ye.MARKDOWN]:Rs({pretty:(t,{text:e,format:r,paragraphs:i})=>Ui(e,{format:r,paragraphs:i}),json:({text:t})=>t})};function go(t,e){return[e,t]}function Ty(t,e,r){return t.get("enableColors")&&r&2&&(e=id.default.bold(e)),e}function is(t,e,r){if(!t.get("enableColors"))return e;let i=U0e.get(r);if(i===null)return e;let n=typeof i=="undefined"?r:_S.level>=3?i[0]:i[1],s=typeof n=="number"?XS.ansi256(n):n.startsWith("#")?XS.hex(n):XS[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var H0e=!!process.env.KONSOLE_VERSION;function Lg(t,e,r){return t.get("enableHyperlinks")?H0e?`]8;;${r}\\${e}]8;;\\`:`]8;;${r}\x07${e}]8;;\x07`:e}function et(t,e,r){if(e===null)return is(t,"null",Ye.NULL);if(Object.prototype.hasOwnProperty.call(Ly,r))return Ly[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return is(t,e,r)}function ZS(t,e,r,{separator:i=", "}={}){return[...e].map(n=>et(t,n,r)).join(i)}function Rc(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(Ly,e))return HS(e),Ly[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function G0e(t,e,[r,i]){return t?Rc(r,i):et(e,r,i)}function $S(t){return{Check:is(t,"\u2713","green"),Cross:is(t,"\u2718","red"),Question:is(t,"?","cyan")}}function Jo(t,{label:e,value:[r,i]}){return`${et(t,e,Ye.CODE)}: ${et(t,r,i)}`}var fo;(function(n){n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard"})(fo||(fo={}));function sd(t,{configuration:e}){let r=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of r){let f=g.get("level");if(typeof f=="undefined")continue;let h=g.get("code");typeof h!="undefined"&&i.set(h,f);let p=g.get("text");typeof p!="undefined"&&n.set(p,f);let m=g.get("pattern");typeof m!="undefined"&&s.push([vJ.default.matcher(m,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===$.UNNAMED)return h;let p=n.size>0||s.length>0?(0,SJ.default)(f):f;if(n.size>0){let m=n.get(p);if(typeof m!="undefined")return m!=null?m:h}if(s.length>0){for(let[m,y]of s)if(m(p))return y!=null?y:h}if(i.size>0){let m=i.get(qA(g));if(typeof m!="undefined")return m!=null?m:h}return h},a=t.reportInfo,l=t.reportWarning,c=t.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case fo.Info:a.call(g,f,h);break;case fo.Warning:l.call(g,f!=null?f:$.UNNAMED,h);break;case fo.Error:c.call(g,f!=null?f:$.UNNAMED,h);break}};t.reportInfo=function(...g){return u(this,...g,fo.Info)},t.reportWarning=function(...g){return u(this,...g,fo.Warning)},t.reportError=function(...g){return u(this,...g,fo.Error)}}var Dn={};ft(Dn,{checksumFile:()=>lw,checksumPattern:()=>cw,makeHash:()=>ln});var Aw=ge(require("crypto")),ox=ge(sx());function ln(...t){let e=(0,Aw.createHash)("sha512"),r="";for(let i of t)typeof i=="string"?r+=i:i&&(r&&(e.update(r),r=""),e.update(i));return r&&e.update(r),e.digest("hex")}async function lw(t,{baseFs:e,algorithm:r}={baseFs:K,algorithm:"sha512"}){let i=await e.openPromise(t,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,Aw.createHash)(r),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function cw(t,{cwd:e}){let i=(await(0,ox.default)(t,{cwd:H.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,ox.default)([t,...i],{cwd:H.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=H.toPortablePath(a),u=await K.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await K.readlinkPromise(c))):u.isFile()&&l.push(await K.readFilePromise(c)),l.join("\0")})),o=(0,Aw.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var ld="virtual:",nSe=5,c8=/(os|cpu|libc)=([a-z0-9_-]+)/,sSe=(0,l8.makeParser)(c8);function Vo(t,e){if(t==null?void 0:t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:ln(t,e),scope:t,name:e}}function rr(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:ln(t.identHash,e),range:e}}function cn(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:ln(t.identHash,e),reference:e}}function oSe(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function gw(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function ax(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function aSe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function cd(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function ud(t){return cd(t,t)}function Ax(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return rr(t,`virtual:${e}#${t.range}`)}function lx(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return cd(t,cn(t,`virtual:${e}#${t.reference}`))}function nl(t){return t.range.startsWith(ld)}function Xo(t){return t.reference.startsWith(ld)}function gd(t){if(!nl(t))throw new Error("Not a virtual descriptor");return rr(t,t.range.replace(/^[^#]*#/,""))}function fd(t){if(!Xo(t))throw new Error("Not a virtual descriptor");return cn(t,t.reference.replace(/^[^#]*#/,""))}function ASe(t,e){return t.range.includes("::")?t:rr(t,`${t.range}::${Hg.default.stringify(e)}`)}function lSe(t,e){return t.reference.includes("::")?t:cn(t,`${t.reference}::${Hg.default.stringify(e)}`)}function hd(t,e){return t.identHash===e.identHash}function u8(t,e){return t.descriptorHash===e.descriptorHash}function pd(t,e){return t.locatorHash===e.locatorHash}function cSe(t,e){if(!Xo(t))throw new Error("Invalid package type");if(!Xo(e))throw new Error("Invalid package type");if(!hd(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let i=e.dependencies.get(r.identHash);if(!i||!u8(r,i))return!1}return!0}function An(t){let e=g8(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function g8(t){let e=t.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,r,i]=e,n=typeof r!="undefined"?r:null;return Vo(n,i)}function sl(t,e=!1){let r=dd(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function dd(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid range (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return rr(Vo(o,n),a)}function Kc(t,e=!1){let r=fw(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function fw(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid reference (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return cn(Vo(o,n),a)}function Gg(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let i=typeof r[1]!="undefined"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof r[3]!="undefined"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${t})`);let s=typeof r[3]!="undefined"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),o=(e==null?void 0:e.parseSelector)?Hg.default.parse(s):s,a=typeof r[4]!="undefined"?Hg.default.parse(r[4]):null;return{protocol:i,source:n,selector:o,params:a}}function uSe(t,{protocol:e}){let{selector:r,params:i}=Gg(t,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:Kc(i.locator,!0),path:r}}function f8(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function gSe(t){return t===null?!1:Object.entries(t).length>0}function hw({protocol:t,source:e,selector:r,params:i}){let n="";return t!==null&&(n+=`${t}`),e!==null&&(n+=`${f8(e)}#`),n+=f8(r),gSe(i)&&(n+=`::${Hg.default.stringify(i)}`),n}function fSe(t){let{params:e,protocol:r,source:i,selector:n}=Gg(t);for(let s in e)s.startsWith("__")&&delete e[s];return hw({protocol:r,source:i,params:e,selector:n})}function Ot(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function Pn(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function Ds(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function cx(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function jg(t){let{protocol:e,selector:r}=Gg(t.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=A8.default.valid(r),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=t.scope?`${cx(t)}-${s}-${t.locatorHash.slice(0,o)}`:`${cx(t)}-${s}-${t.locatorHash.slice(0,o)}`;return Jr(a)}function gi(t,e){return e.scope?`${et(t,`@${e.scope}/`,Ye.SCOPE)}${et(t,e.name,Ye.NAME)}`:`${et(t,e.name,Ye.NAME)}`}function pw(t){if(t.startsWith(ld)){let e=pw(t.substring(t.indexOf("#")+1)),r=t.substring(ld.length,ld.length+nSe);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function uw(t,e){return`${et(t,pw(e),Ye.RANGE)}`}function sr(t,e){return`${gi(t,e)}${et(t,"@",Ye.RANGE)}${uw(t,e.range)}`}function Cd(t,e){return`${et(t,pw(e),Ye.REFERENCE)}`}function Bt(t,e){return`${gi(t,e)}${et(t,"@",Ye.REFERENCE)}${Cd(t,e.reference)}`}function ux(t){return`${Ot(t)}@${pw(t.reference)}`}function Yg(t){return xn(t,[e=>Ot(e),e=>e.range])}function md(t,e){return gi(t,e.locator)}function zS(t,e,r){let i=nl(e)?gd(e):e;return r===null?`${sr(t,i)} \u2192 ${$S(t).Cross}`:i.identHash===r.identHash?`${sr(t,i)} \u2192 ${Cd(t,r.reference)}`:`${sr(t,i)} \u2192 ${Bt(t,r)}`}function WS(t,e,r){return r===null?`${Bt(t,e)}`:`${Bt(t,e)} (via ${uw(t,r.range)})`}function gx(t){return`node_modules/${Ot(t)}`}function dw(t,e){return t.conditions?sSe(t.conditions,r=>{let[,i,n]=r.match(c8),s=e[i];return s?s.includes(n):!0}):!0}var h8={hooks:{reduceDependency:(t,e,r,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==Ot(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==Ot(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(rr(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=md(t.configuration,r);await t.configuration.triggerHook(n=>n.validateWorkspace,r,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let i of r.errors)e.reportWarning($.INVALID_MANIFEST,i.message)}}};var m8=ge(ri());var Ed=class{supportsDescriptor(e,r){return!!(e.range.startsWith(Ed.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(Ed.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.getWorkspaceByCwd(e.reference.slice(Ed.protocol.length));return ie(N({},e),{version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:Qt.SOFT,conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin})}},oi=Ed;oi.protocol="workspace:";var Wt={};ft(Wt,{SemVer:()=>p8.SemVer,clean:()=>pSe,satisfiesWithPrereleases:()=>Uc,validRange:()=>ho});var Cw=ge(ri()),p8=ge(ri()),d8=new Map;function Uc(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=d8.get(i);if(typeof n=="undefined")try{n=new Cw.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{d8.set(i,n||null)}else if(n===null)return!1;let s;try{s=new Cw.default.SemVer(t,n)}catch(o){return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var C8=new Map;function ho(t){if(t.indexOf(":")!==-1)return null;let e=C8.get(t);if(typeof e!="undefined")return e;try{e=new Cw.default.Range(t)}catch{e=null}return C8.set(t,e),e}var hSe=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/;function pSe(t){let e=hSe.exec(t);return e?e[1]:null}var ol=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new ar}={}){let i=x.join(e,"package.json");try{return await ol.fromFile(i,{baseFs:r})}catch(n){if(n.code==="ENOENT")return null;throw n}}static async find(e,{baseFs:r}={}){let i=await ol.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new ar}={}){let i=new ol;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new ol;return r.loadFromText(e),r}static isManifestFieldCompatible(e,r){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,r===s.slice(1))return!1}else if(i=!1,s===r)return!0;return n&&i}loadFromText(e){let r;try{r=JSON.parse(I8(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=E8(e)}async loadFile(e,{baseFs:r=new ar}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse(I8(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=E8(i)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=An(e.name)}catch(s){i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(Array.isArray(e.libc)){let s=[];this.libc=s;for(let o of e.libc)typeof o!="string"?i.push(new Error("Parsing failed for the 'libc' field")):s.push(o)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=un(e.main):this.main=null,typeof e.module=="string"?this.module=un(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=un(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(un(s),typeof o=="string"?un(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,un(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}let a=An(s);this.bin.set(a.name,un(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(oi.protocol)&&!ho(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=rr(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=sl(s),l=this.ensureDependencyMeta(a),c=mw(o.built,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=mw(o.optional,{yamlCompatibilityMode:r});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=mw(o.unplugged,{yamlCompatibilityMode:r});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=sl(s),l=this.ensurePeerDependencyMeta(a),c=mw(o.optional,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:iI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=un(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=un(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=un(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(un(s),typeof o=="string"?un(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,un(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,un(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(un(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.dependencies.set(l.identHash,l);let c=rr(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(fx("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(fx("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(fx("libc",this.libc)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return ol.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return ol.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!m8.default.valid(e.range))throw new Error(`Invalid meta field range for '${Pn(e)}'`);let r=Ot(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(r);n||this.dependenciesMeta.set(r,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Pn(e)}'`);let r=Ot(e),i=this.peerDependenciesMeta.get(r);return i||this.peerDependenciesMeta.set(r,i={}),i}setRawField(e,r,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=r,a=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=Ot(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=ie(N({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:o})=>o)}):e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(Ot(o)),l=!1;if(r&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Yg(i).map(o=>({[Ot(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Yg(n).map(o=>({[Ot(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Yg(this.devDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Yg(this.peerDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of xn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of xn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?Pn(rr(An(o),l)):o,g=N({},c);r&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...xn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[nI(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},At=ol;At.fileName="package.json",At.allDependencies=["dependencies","devDependencies","peerDependencies"],At.hardDependencies=["dependencies","devDependencies"];function E8(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function I8(t){return t.charCodeAt(0)===65279?t.slice(1):t}function un(t){return t.replace(/\\/g,"/")}function mw(t,{yamlCompatibilityMode:e}){return e?JS(t):typeof t=="undefined"||typeof t=="boolean"?t:null}function y8(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let i=r%2==0?"":"!",n=e.slice(r);return`${i}${t}=${n}`}function fx(t,e){return e.length===1?y8(t,e[0]):`(${e.map(r=>y8(t,r)).join(" | ")})`}var Z8=ge(X8()),$8=ge(require("stream")),e4=ge(require("string_decoder"));var Ake=15,ct=class extends Error{constructor(e,r,i){super(r);this.reportExtra=i;this.reportCode=e}};function lke(t){return typeof t.reportCode!="undefined"}var Ji=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),r=l,c()},o=(l=0)=>{s(r+1)},a=async function*(){for(;r{r=o}),n=(0,Z8.default)(o=>{let a=r;i=new Promise(l=>{r=l}),e=o,a()},1e3/Ake),s=async function*(){for(;;)await i,yield{title:e}}();return{[Symbol.asyncIterator](){return s},hasProgress:!1,hasTitle:!0,setTitle:n}}async startProgressPromise(e,r){let i=this.reportProgress(e);try{return await r(e)}finally{i.stop()}}startProgressSync(e,r){let i=this.reportProgress(e);try{return r(e)}finally{i.stop()}}reportInfoOnce(e,r,i){var s;let n=i&&i.key?i.key:r;this.reportedInfos.has(n)||(this.reportedInfos.add(n),this.reportInfo(e,r),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportWarningOnce(e,r,i){var s;let n=i&&i.key?i.key:r;this.reportedWarnings.has(n)||(this.reportedWarnings.add(n),this.reportWarning(e,r),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportErrorOnce(e,r,i){var s;let n=i&&i.key?i.key:r;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,r),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportExceptionOnce(e){lke(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce($.EXCEPTION,e.stack||e.message,{key:e})}createStreamReporter(e=null){let r=new $8.PassThrough,i=new e4.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),r}};var wd=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));return i||null}getFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));if(!i)throw new ct($.FETCHER_NOT_FOUND,`${Bt(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var Bd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,r,i)}async getSatisfying(e,r,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,r,i)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));return i||null}getResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));if(!i)throw new Error(`${sr(r.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));return i||null}getResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));if(!i)throw new Error(`${Bt(r.project.configuration,e)} isn't supported by any available resolver`);return i}};var t4=ge(ri());var qg=/^(?!v)[a-z0-9._-]+$/i,dx=class{supportsDescriptor(e,r){return!!(ho(e.range)||qg.test(e.range))}supportsLocator(e,r){return!!(t4.default.valid(e.reference)||qg.test(e.reference))}shouldPersistResolution(e,r){return r.resolver.shouldPersistResolution(this.forwardLocator(e,r),r)}bindDescriptor(e,r,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),r,i)}getResolutionDependencies(e,r){return r.resolver.getResolutionDependencies(this.forwardDescriptor(e,r),r)}async getCandidates(e,r,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),r,i)}async getSatisfying(e,r,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),r,i)}async resolve(e,r){let i=await r.resolver.resolve(this.forwardLocator(e,r),r);return cd(i,e)}forwardDescriptor(e,r){return rr(e,`${r.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,r){return cn(e,`${r.project.configuration.get("defaultProtocol")}${e.reference}`)}};var bd=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=cn(e,n);return r.fetcher.getLocalPath(s,r)}async fetch(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=cn(e,n),o=await r.fetcher.fetch(s,r);return await this.ensureVirtualLink(e,o,r)}getLocatorFilename(e){return jg(e)}async ensureVirtualLink(e,r,i){let n=r.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Wr.makeVirtualPath(s,o,n),l=new Da(a,{baseFs:r.packageFs,pathUtils:x});return ie(N({},r),{packageFs:l})}};var Jg=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Jg.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Jg.protocol)}supportsDescriptor(e,r){return Jg.isVirtualDescriptor(e)}supportsLocator(e,r){return Jg.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},Ew=Jg;Ew.protocol="virtual:";var Qd=class{supports(e){return!!e.reference.startsWith(oi.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let i=this.getWorkspace(e,r).cwd;return{packageFs:new _t(i),prefixPath:Ke.dot,localPath:i}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(oi.protocol.length))}};var Cx={};ft(Cx,{getDefaultGlobalFolder:()=>Ex,getHomeFolder:()=>vd,isFolderInside:()=>Ix});var mx=ge(require("os"));function Ex(){if(process.platform==="win32"){let t=H.toPortablePath(process.env.LOCALAPPDATA||H.join((0,mx.homedir)(),"AppData","Local"));return x.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=H.toPortablePath(process.env.XDG_DATA_HOME);return x.resolve(t,"yarn/berry")}return x.resolve(vd(),".yarn/berry")}function vd(){return H.toPortablePath((0,mx.homedir)()||"/usr/local/share")}function Ix(t,e){let r=x.relative(e,t);return r&&!r.startsWith("..")&&!x.isAbsolute(r)}var Wg={};ft(Wg,{builtinModules:()=>yx,getArchitecture:()=>Sd,getArchitectureName:()=>uke,getArchitectureSet:()=>wx});var r4=ge(require("module"));function yx(){return new Set(r4.default.builtinModules||Object.keys(process.binding("natives")))}function cke(){var i,n,s,o;if(process.platform==="win32")return null;let e=(s=((n=(i=process.report)==null?void 0:i.getReport())!=null?n:{}).sharedObjects)!=null?s:[],r=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return(o=ed(e,a=>{let l=a.match(r);if(!l)return ed.skip;if(l[1])return"glibc";if(l[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")}))!=null?o:null}var Iw,yw;function Sd(){return Iw=Iw!=null?Iw:{os:process.platform,cpu:process.arch,libc:cke()}}function uke(t=Sd()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}-${t.cpu}`}function wx(){let t=Sd();return yw=yw!=null?yw:{os:[t.os],cpu:[t.cpu],libc:t.libc?[t.libc]:[]}}var gke=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),Bw="yarn_",bx=".yarnrc.yml",Qx="yarn.lock",fke="********",ye;(function(u){u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP"})(ye||(ye={}));var Di=Ye,vx={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:ye.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:ye.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:ye.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:ye.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:ye.STRING,default:null},globalFolder:{description:"Folder where all system-global files are stored",type:ye.ABSOLUTE_PATH,default:Ex()},cacheFolder:{description:"Folder where the cache files must be written",type:ye.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:ye.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:nc},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:ye.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:ye.STRING,default:Qx},installStatePath:{description:"Path of the file where the install state will be persisted",type:ye.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:ye.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:ye.STRING,default:bw()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:ye.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:ye.BOOLEAN,default:Ny,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:ye.BOOLEAN,default:VS,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:ye.BOOLEAN,default:ww.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:ye.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:ye.BOOLEAN,default:!ww.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:ye.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:ye.BOOLEAN,default:ww.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:ye.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:ye.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:ye.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:ye.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:ye.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:ye.BOOLEAN,default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:ye.SHAPE,properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:ye.STRING,isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:ye.STRING,isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:ye.STRING,isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:ye.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ye.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ye.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ye.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:ye.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:ye.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:ye.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:ye.NUMBER,default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:ye.MAP,valueDefinition:{description:"",type:ye.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:ye.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ye.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ye.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ye.STRING,default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:ye.ABSOLUTE_PATH,default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:ye.ABSOLUTE_PATH,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:ye.ABSOLUTE_PATH,default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:ye.ABSOLUTE_PATH,default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:ye.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:ye.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:ye.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:ye.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:ye.STRING,default:void 0},pattern:{description:"Code of the patterns covered by this override",type:ye.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:ye.STRING,values:Object.values(fo),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:ye.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:ye.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:ye.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:ye.BOOLEAN,default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:ye.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:ye.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:ye.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:ye.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:ye.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:ye.MAP,valueDefinition:{description:"A range",type:ye.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:ye.MAP,valueDefinition:{description:"A semver range",type:ye.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:ye.MAP,valueDefinition:{description:"The peerDependency meta",type:ye.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:ye.BOOLEAN,default:!1}}}}}}}};function kx(t,e,r,i,n){if(i.isArray||i.type===ye.ANY&&Array.isArray(r))return Array.isArray(r)?r.map((s,o)=>Sx(t,`${e}[${o}]`,s,i,n)):String(r).split(/,/).map(s=>Sx(t,e,s,i,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return Sx(t,e,r,i,n)}function Sx(t,e,r,i,n){var a;switch(i.type){case ye.ANY:return r;case ye.SHAPE:return hke(t,e,r,i,n);case ye.MAP:return pke(t,e,r,i,n)}if(r===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(r))return r;let o=(()=>{if(i.type===ye.BOOLEAN&&typeof r!="string")return rd(r);if(typeof r!="string")throw new Error(`Expected value (${r}) to be a string`);let l=qS(r,{env:process.env});switch(i.type){case ye.ABSOLUTE_PATH:return x.resolve(n,H.toPortablePath(l));case ye.LOCATOR_LOOSE:return Kc(l,!1);case ye.NUMBER:return parseInt(l);case ye.LOCATOR:return Kc(l);case ye.BOOLEAN:return rd(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function hke(t,e,r,i,n){if(typeof r!="object"||Array.isArray(r))throw new Pe(`Object configuration settings "${e}" must be an object`);let s=xx(t,i,{ignoreArrays:!0});if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=`${e}.${o}`;if(!i.properties[o])throw new Pe(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,kx(t,l,a,i.properties[o],n))}return s}function pke(t,e,r,i,n){let s=new Map;if(typeof r!="object"||Array.isArray(r))throw new Pe(`Map configuration settings "${e}" must be an object`);if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,kx(t,c,a,u,n))}return s}function xx(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case ye.SHAPE:{if(e.isArray&&!r)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,xx(t,s));return i}break;case ye.MAP:return e.isArray&&!r?[]:new Map;case ye.ABSOLUTE_PATH:return e.default===null?null:t.projectCwd===null?x.isAbsolute(e.default)?x.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>x.resolve(t.projectCwd,i)):x.resolve(t.projectCwd,e.default);default:return e.default}}function Qw(t,e,r){if(e.type===ye.SECRET&&typeof t=="string"&&r.hideSecrets)return fke;if(e.type===ye.ABSOLUTE_PATH&&typeof t=="string"&&r.getNativePaths)return H.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let i=[];for(let n of t)i.push(Qw(n,e,r));return i}if(e.type===ye.MAP&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries())i.set(n,Qw(s,e.valueDefinition,r));return i}if(e.type===ye.SHAPE&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries()){let o=e.properties[n];i.set(n,Qw(s,o,r))}return i}return t}function dke(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(Bw)&&(e=(0,i4.default)(e.slice(Bw.length)),t[e]=r);return t}function bw(){let t=`${Bw}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return bx}var al;(function(i){i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE"})(al||(al={}));var Za=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,i){let n=new Za(e);typeof r!="undefined"&&!(r instanceof Map)&&(n.projectCwd=r),n.importSettings(vx);let s=typeof i!="undefined"?i:r instanceof Map?r:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,r,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=dke();delete a.rcFilename;let l=await Za.findRcFiles(e),c=await Za.findHomeRcFile();if(c){let b=l.find(S=>S.path===c.path);b?b.strict=!1:l.push(ie(N({},c),{strict:!1}))}let u=({ignoreCwd:b,yarnPath:S,ignorePath:k,lockfileFilename:T})=>({ignoreCwd:b,yarnPath:S,ignorePath:k,lockfileFilename:T}),g=j=>{var Z=j,{ignoreCwd:b,yarnPath:S,ignorePath:k,lockfileFilename:T}=Z,Y=Tr(Z,["ignoreCwd","yarnPath","ignorePath","lockfileFilename"]);return Y},f=new Za(e);f.importSettings(u(vx)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:b,cwd:S,data:k}of l)f.useWithSource(b,u(k),S,{strict:!1});if(s){let b=f.get("yarnPath"),S=f.get("ignorePath");if(b!==null&&!S)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await Za.findProjectCwd(e,h);break;case 1:p=await Za.findProjectCwd(e,null);break;case 2:K.existsSync(x.join(e,"package.json"))?p=x.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(vx));let m=new Map([["@@core",h8]]),y=b=>"default"in b?b.default:b;if(r!==null){for(let T of r.plugins.keys())m.set(T,y(r.modules.get(T)));let b=new Map;for(let T of yx())b.set(T,()=>Ng(T));for(let[T,Y]of r.modules)b.set(T,()=>Y);let S=new Set,k=async(T,Y)=>{let{factory:j,name:Z}=Ng(T);if(S.has(Z))return;let J=new Map(b),re=A=>{if(J.has(A))return J.get(A)();throw new Pe(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},ee=await Rg(async()=>y(await j(re)),A=>`${A} (when initializing ${Z}, defined in ${Y})`);b.set(Z,()=>ee),S.add(Z),m.set(Z,ee)};if(a.plugins)for(let T of a.plugins.split(";")){let Y=x.resolve(e,H.toPortablePath(T));await k(Y,"")}for(let{path:T,cwd:Y,data:j}of l)if(!!o&&!!Array.isArray(j.plugins))for(let Z of j.plugins){let J=typeof Z!="string"?Z.path:Z,re=x.resolve(Y,H.toPortablePath(J));await k(re,T)}}for(let[b,S]of m)f.activatePlugin(b,S);f.useWithSource("",g(a),e,{strict:n});for(let{path:b,cwd:S,data:k,strict:T}of l)f.useWithSource(b,g(k),S,{strict:T!=null?T:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let r=bw(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=x.join(s,r);if(K.existsSync(o)){let a=await K.readFilePromise(o,"utf8"),l;try{l=Qi(a)}catch(c){let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new Pe(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=x.dirname(s)}return i}static async findHomeRcFile(){let e=bw(),r=vd(),i=x.join(r,e);if(K.existsSync(i)){let n=await K.readFilePromise(i,"utf8"),s=Qi(n);return{path:i,cwd:r,data:s}}return null}static async findProjectCwd(e,r){let i=null,n=e,s=null;for(;n!==s;){if(s=n,K.existsSync(x.join(s,"package.json"))&&(i=s),r!==null){if(K.existsSync(x.join(s,r))){i=s;break}}else if(i!==null)break;n=x.dirname(s)}return i}static async updateConfiguration(e,r){let i=bw(),n=x.join(e,i),s=K.existsSync(n)?Qi(await K.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof r=="function"){try{a=r(s)}catch{a=r({})}if(a===s)return}else{a=s;for(let l of Object.keys(r)){let c=s[l],u=r[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await K.changeFilePromise(n,La(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let r=vd();return await Za.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration!="undefined"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,i]of Object.entries(e))if(i!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,i),this.values.set(r,xx(this,i))}}useWithSource(e,r,i,n){try{this.use(e,r,i,n)}catch(s){throw s.message+=` (in ${et(this,e,Ye.PATH)})`,s}}use(e,r,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(r)]){if(typeof r[o]=="undefined"||o==="plugins"||e===""&&gke.has(o))continue;if(o==="rcFilename")throw new Pe(`The rcFilename settings can only be set via ${`${Bw}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new Pe(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===ye.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=kx(this,o,r[o],l,i)}catch(u){throw u.message+=` in ${et(this,e,Ye.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type===ye.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s=="undefined")throw new Pe(`Couldn't find a configuration settings named "${e}"`);return Qw(n,s,{hideSecrets:r,getNativePaths:i})}getSubprocessStreams(e,{header:r,prefix:i,report:n}){let s,o,a=K.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${et(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${et(this,"STDERR","red")}`);s=new Bx.PassThrough,s.pipe(l),s.pipe(a),o=new Bx.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof r!="undefined"&&s.write(`${r} +`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let i of r.resolvers||[])e.push(new i);return new Bd([new Ew,new oi,new dx,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new wd([new bd,new Qd,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=Sd(),r=this.get("supportedArchitectures"),i=r.get("os");i!==null&&(i=i.map(o=>o==="current"?e.os:o));let n=r.get("cpu");n!==null&&(n=n.map(o=>o==="current"?e.cpu:o));let s=r.get("libc");return s!==null&&(s=qo(s,o=>{var a;return o==="current"?(a=e.libc)!=null?a:qo.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!ho(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new At;o.load(n,{yamlCompatibilityMode:!0});let a=Pg(e,i.identHash),l=[];a.push([i.range,l]);let c={status:qi.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(ie(N({},c),{type:yi.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(ie(N({},c),{type:yi.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push(ie(N({},c),{type:yi.PeerDependencyMeta,selector:u,key:f,value:h}))};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(sl(i,!0),Fy(n),{userProvided:!0})}normalizePackage(e){let r=ud(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!Uc(s,o))for(let l of a)switch(l.status===qi.Inactive&&(l.status=qi.Redundant),l.type){case yi.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qi.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case yi.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qi.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case yi.PeerDependencyMeta:{let c=r.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=qi.Active,Ja(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:GS(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependenciesMeta.keys()){let o=An(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,rr(o,"*"))}for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Vo("types",o),l=Ot(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||(r.peerDependencies.set(a.identHash,rr(a,"*")),r.peerDependenciesMeta.set(l,{optional:!0}))}return r.dependencies=new Map(xn(r.dependencies,([,s])=>Pn(s))),r.peerDependencies=new Map(xn(r.peerDependencies,([,s])=>Pn(s))),r}getLimit(e){return Ja(this.limits,e,()=>(0,n4.default)(this.get(e)))}async triggerHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...r)}}async triggerMultipleHooks(e,r){for(let i of r)await this.triggerHook(e,...i)}async reduceHook(e,r,...i){let n=r;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...r);if(typeof o!="undefined")return o}return null}},we=Za;we.telemetry=null;var ns;(function(i){i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always"})(ns||(ns={}));var vw=class extends ct{constructor({fileName:e,code:r,signal:i}){let n=we.create(x.cwd()),s=et(n,e,Ye.PATH);super($.EXCEPTION,`Child ${s} reported an error`,o=>{Cke(r,i,{configuration:n,report:o})});this.code=Dx(r,i)}},Rx=class extends vw{constructor({fileName:e,code:r,signal:i,stdout:n,stderr:s}){super({fileName:e,code:r,signal:i});this.stdout=n,this.stderr=s}};function jc(t){return t!==null&&typeof t.fd=="number"}var Yc=new Set;function Fx(){}function Nx(){for(let t of Yc)t.kill()}async function $o(t,e,{cwd:r,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":jc(s)&&(c[0]=s),jc(o)&&(c[1]=o),jc(a)&&(c[2]=a);let u=(0,Px.default)(t,e,{cwd:H.fromPortablePath(r),env:ie(N({},i),{PWD:H.fromPortablePath(r)}),stdio:c});Yc.add(u),Yc.size===1&&(process.on("SIGINT",Fx),process.on("SIGTERM",Nx)),!jc(s)&&s!==null&&s.pipe(u.stdin),jc(o)||u.stdout.pipe(o,{end:!1}),jc(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))jc(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{Yc.delete(u),Yc.size===0&&(process.off("SIGINT",Fx),process.off("SIGTERM",Nx)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,m)=>{Yc.delete(u),Yc.size===0&&(process.off("SIGINT",Fx),process.off("SIGTERM",Nx)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:Dx(p,m)}):h(new vw({fileName:t,code:p,signal:m}))})})}async function mke(t,e,{cwd:r,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=H.fromPortablePath(r);typeof i.PWD!="undefined"&&(i=ie(N({},i),{PWD:c}));let u=(0,Px.default)(t,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",h=>{let p=we.create(r),m=et(p,t,Ye.PATH);f(new ct($.EXCEPTION,`Process ${m} failed to spawn`,y=>{y.reportError($.EXCEPTION,` ${Jo(p,{label:"Thrown Error",value:go(Ye.NO_HINT,h.message)})}`)}))}),u.on("close",(h,p)=>{let m=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),y=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:Dx(h,p),stdout:m,stderr:y}):f(new Rx({fileName:t,code:h,signal:p,stdout:m,stderr:y}))})})}var Eke=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function Dx(t,e){let r=Eke.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}function Cke(t,e,{configuration:r,report:i}){i.reportError($.EXCEPTION,` ${Jo(r,t!==null?{label:"Exit Code",value:go(Ye.NUMBER,t)}:{label:"Exit Signal",value:go(Ye.CODE,e)})}`)}var ir={};ft(ir,{Method:()=>fl,RequestError:()=>j5.RequestError,del:()=>DDe,get:()=>xDe,getNetworkSettings:()=>W5,post:()=>$P,put:()=>PDe,request:()=>Md});var U5=ge(Yw()),H5=ge(require("https")),G5=ge(require("http")),VP=ge(rs()),XP=ge(K5()),qw=ge(require("url"));var j5=ge(Yw()),Y5=new Map,q5=new Map,QDe=new G5.Agent({keepAlive:!0}),vDe=new H5.Agent({keepAlive:!0});function J5(t){let e=new qw.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function ZP(t){return Ja(q5,t,()=>K.readFilePromise(t).then(e=>(q5.set(t,e),e)))}function SDe({statusCode:t,statusMessage:e},r){let i=et(r,t,Ye.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Lg(r,`${i}${e?` (${e})`:""}`,n)}async function Jw(t,{configuration:e,customErrorMessage:r}){var i,n;try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=r==null?void 0:r(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof U5.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${et(e,"httpTimeout",Ye.SETTING)})`);let a=new ct($.NETWORK_ERROR,o,l=>{s.response&&l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Response Code",value:go(Ye.NO_HINT,SDe(s.response,e))})}`),s.request&&(l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request Method",value:go(Ye.NO_HINT,s.request.options.method)})}`),l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request URL",value:go(Ye.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request Redirects",value:go(Ye.NO_HINT,ZS(e,s.request.redirects,Ye.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request Retry Count",value:go(Ye.NO_HINT,`${et(e,s.request.retryCount,Ye.NUMBER)} (can be increased via ${et(e,"httpRetry",Ye.SETTING)})`)})}`)});throw a.originalError=s,a}}function W5(t,e){let r=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},n=Object.keys(i),s=typeof t=="string"?new qw.URL(t):t;for(let[o,a]of r)if(VP.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var fl;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(fl||(fl={}));async function Md(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=fl.GET}){let a=async()=>await kDe(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o});return await(await r.reduceHook(c=>c.wrapNetworkRequest,a,{target:t,body:e,configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o}))()}async function xDe(t,n){var s=n,{configuration:e,jsonResponse:r}=s,i=Tr(s,["configuration","jsonResponse"]);let o=Ja(Y5,t,()=>Jw(Md(t,null,N({configuration:e},i)),{configuration:e}).then(a=>(Y5.set(t,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),r?JSON.parse(o.toString()):o}async function PDe(t,e,n){var s=n,{customErrorMessage:r}=s,i=Tr(s,["customErrorMessage"]);return(await Jw(Md(t,e,ie(N({},i),{method:fl.PUT})),i)).body}async function $P(t,e,n){var s=n,{customErrorMessage:r}=s,i=Tr(s,["customErrorMessage"]);return(await Jw(Md(t,e,ie(N({},i),{method:fl.POST})),i)).body}async function DDe(t,i){var n=i,{customErrorMessage:e}=n,r=Tr(n,["customErrorMessage"]);return(await Jw(Md(t,null,ie(N({},r),{method:fl.DELETE})),r)).body}async function kDe(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=fl.GET}){let a=typeof t=="string"?new qw.URL(t):t,l=W5(a,{configuration:r});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!VP.default.isMatch(a.hostname,r.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?XP.default.httpOverHttp(J5(l.httpProxy)):QDe,https:l.httpsProxy?XP.default.httpsOverHttp(J5(l.httpsProxy)):vDe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=r.get("httpTimeout"),f=r.get("httpRetry"),h=r.get("enableStrictSsl"),p=l.caFilePath,m=l.httpsCertFilePath,y=l.httpsKeyFilePath,{default:b}=await Promise.resolve().then(()=>ge(Yw())),S=p?await ZP(p):void 0,k=m?await ZP(m):void 0,T=y?await ZP(y):void 0,Y=b.extend(N({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:S,certificate:k,key:T}},u));return r.getLimit("networkConcurrency")(()=>Y(a))}var Zt={};ft(Zt,{PackageManager:()=>hn,detectPackageManager:()=>o6,executePackageAccessibleBinary:()=>u6,executePackageScript:()=>AB,executePackageShellcode:()=>hD,executeWorkspaceAccessibleBinary:()=>VRe,executeWorkspaceLifecycleScript:()=>c6,executeWorkspaceScript:()=>l6,getPackageAccessibleBinaries:()=>lB,getWorkspaceAccessibleBinaries:()=>A6,hasPackageScript:()=>WRe,hasWorkspaceScript:()=>fD,makeScriptEnv:()=>qd,maybeExecuteWorkspaceLifecycleScript:()=>_Re,prepareExternalProject:()=>JRe});var Kd={};ft(Kd,{getLibzipPromise:()=>fn,getLibzipSync:()=>Z5});var X5=ge(_5());var hl=["number","number"],rD;(function(L){L[L.ZIP_ER_OK=0]="ZIP_ER_OK",L[L.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",L[L.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",L[L.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",L[L.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",L[L.ZIP_ER_READ=5]="ZIP_ER_READ",L[L.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",L[L.ZIP_ER_CRC=7]="ZIP_ER_CRC",L[L.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",L[L.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",L[L.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",L[L.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",L[L.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",L[L.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",L[L.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",L[L.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",L[L.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",L[L.ZIP_ER_EOF=17]="ZIP_ER_EOF",L[L.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",L[L.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",L[L.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",L[L.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",L[L.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",L[L.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",L[L.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",L[L.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",L[L.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",L[L.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",L[L.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",L[L.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",L[L.ZIP_ER_TELL=30]="ZIP_ER_TELL",L[L.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})(rD||(rD={}));var V5=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:rD,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,open:t.cwrap("zip_open","number",["string","number","number"]),openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...hl,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...hl,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...hl,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...hl,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...hl,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...hl,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...hl,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...hl,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}});var iD=null;function Z5(){return iD===null&&(iD=V5((0,X5.default)())),iD}async function fn(){return Z5()}var Hd={};ft(Hd,{ShellError:()=>Os,execute:()=>tB,globUtils:()=>zw});var c_=ge(BS()),u_=ge(require("os")),ss=ge(require("stream")),g_=ge(require("util"));var Os=class extends Error{constructor(e){super(e);this.name="ShellError"}};var zw={};ft(zw,{fastGlobOptions:()=>t_,isBraceExpansion:()=>r_,isGlobPattern:()=>RDe,match:()=>FDe,micromatchOptions:()=>Vw});var $5=ge(rw()),e_=ge(require("fs")),_w=ge(rs()),Vw={strictBrackets:!0},t_={onlyDirectories:!1,onlyFiles:!1};function RDe(t){if(!_w.default.scan(t,Vw).isGlob)return!1;try{_w.default.parse(t,Vw)}catch{return!1}return!0}function FDe(t,{cwd:e,baseFs:r}){return(0,$5.default)(t,ie(N({},t_),{cwd:H.fromPortablePath(e),fs:XE(e_.default,new Xh(r))}))}function r_(t){return _w.default.scan(t,Vw).isBrace}var i_=ge(MQ()),ta=ge(require("stream")),n_=ge(require("string_decoder")),Fn;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(Fn||(Fn={}));var Jc=new Set;function nD(){}function sD(){for(let t of Jc)t.kill()}function s_(t,e,r,i){return n=>{let s=n[0]instanceof ta.Transform?"pipe":n[0],o=n[1]instanceof ta.Transform?"pipe":n[1],a=n[2]instanceof ta.Transform?"pipe":n[2],l=(0,i_.default)(t,e,ie(N({},i),{stdio:[s,o,a]}));return Jc.add(l),Jc.size===1&&(process.on("SIGINT",nD),process.on("SIGTERM",sD)),n[0]instanceof ta.Transform&&n[0].pipe(l.stdin),n[1]instanceof ta.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof ta.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(Jc.delete(l),Jc.size===0&&(process.off("SIGINT",nD),process.off("SIGTERM",sD)),u.code){case"ENOENT":n[2].write(`command not found: ${t} +`),c(127);break;case"EACCES":n[2].write(`permission denied: ${t} +`),c(128);break;default:n[2].write(`uncaught error: ${u.message} +`),c(1);break}}),l.on("exit",u=>{Jc.delete(l),Jc.size===0&&(process.off("SIGINT",nD),process.off("SIGTERM",sD)),c(u!==null?u:129)})})}}}function o_(t){return e=>{let r=e[0]==="pipe"?new ta.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var Co=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},a_=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Ud=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:i,stderr:n}){let s=new Ud(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new Ud(this,e),n=new a_;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(r&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(r.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function Xw(t,e){return Ud.start(t,e)}function A_(t,e=null){let r=new ta.PassThrough,i=new n_.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",t(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&t(e!==null?`${e} ${s}`:s)}),r}function l_(t,{prefix:e}){return{stdout:A_(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:A_(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var NDe=(0,g_.promisify)(setTimeout);var zi;(function(r){r[r.Readable=1]="Readable",r[r.Writable=2]="Writable"})(zi||(zi={}));function f_(t,e,r){let i=new ss.PassThrough({autoDestroy:!0});switch(t){case Fn.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof ss.Writable&&i.pipe(r.stdin,{end:!1});break;case Fn.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case Fn.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new Os(`Bad file descriptor: "${t}"`)}return i}function Zw(t,e={}){let r=N(N({},t),e);return r.environment=N(N({},t.environment),e.environment),r.variables=N(N({},t.variables),e.variables),r}var LDe=new Map([["cd",async([t=(0,u_.homedir)(),...e],r,i)=>{let n=x.resolve(i.cwd,H.toPortablePath(t));if(!(await r.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new Os(`cd: no such file or directory: ${t}`):o})).isDirectory())throw new Os(`cd: not a directory: ${t}`);return i.cwd=n,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${H.fromPortablePath(r.cwd)} +`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,i)=>i.exitCode=parseInt(t!=null?t:i.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} +`),0)],["sleep",async([t],e,r)=>{if(typeof t=="undefined")throw new Os("sleep: missing operand");let i=Number(t);if(Number.isNaN(i))throw new Os(`sleep: invalid time interval '${t}'`);return await NDe(1e3*i,0)}],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await Xw(i,{stdin:new Co(r.stdin),stdout:new Co(r.stdout),stderr:new Co(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let i=r.stdin,n=r.stdout,s=r.stderr,o=[],a=[],l=[],c=0;for(;t[c]!=="--";){let g=t[c++],{type:f,fd:h}=JSON.parse(g),p=S=>{switch(h){case null:case 0:o.push(S);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},m=S=>{switch(h){case null:case 1:a.push(S);break;case 2:l.push(S);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},y=Number(t[c++]),b=c+y;for(let S=c;Se.baseFs.createReadStream(x.resolve(r.cwd,H.toPortablePath(t[S]))));break;case"<<<":p(()=>{let k=new ss.PassThrough;return process.nextTick(()=>{k.write(`${t[S]} +`),k.end()}),k});break;case"<&":p(()=>f_(Number(t[S]),1,r));break;case">":case">>":{let k=x.resolve(r.cwd,H.toPortablePath(t[S]));m(k==="/dev/null"?new ss.Writable({autoDestroy:!0,emitClose:!0,write(T,Y,j){setImmediate(j)}}):e.baseFs.createWriteStream(k,f===">>"?{flags:"a"}:void 0))}break;case">&":m(f_(Number(t[S]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new ss.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new ss.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new ss.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await Xw(Gd(t.slice(c+1),e,r),{stdin:new Co(i),stdout:new Co(n),stderr:new Co(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function TDe(t,e,r){let i=[],n=new ss.PassThrough;return n.on("data",s=>i.push(s)),await $w(t,e,Zw(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function h_(t,e,r){let i=t.map(async s=>{let o=await nA(s.args,e,r);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function eB(t){return t.match(/[^ \r\n\t]+/g)||[]}async function p_(t,e,r,i,n=i){switch(t.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(t.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=eB(s);for(let a=0;a=0&&st+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)};async function jd(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let i=[];await p_(ie(N({},t),{quoted:!0}),e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?jd({type:"variable",name:i.join(" ")},e,r):jd({type:"number",value:n},e,r)}else return ODe[t.type](await jd(t.left,e,r),await jd(t.right,e,r))}async function nA(t,e,r){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p=="undefined"&&i.set(h,p=[]),p.push(f)};for(let u of t){let g=!1;switch(u.type){case"redirection":{let f=await nA(u.args,e,r);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await TDe(f.shell,e,r);if(f.quoted)o(h);else{let p=eB(h);for(let m=0;m0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function Gd(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=H.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n=ie(N({},n),{PWD:i}));let[s,...o]=t;if(s==="command")return s_(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return o_(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=r;r.stdin=l,r.stdout=c,r.stderr=u;try{return await a(o,e,r)}finally{r.stdin=g,r.stdout=f,r.stderr=h}})}function MDe(t,e,r){return i=>{let n=new ss.PassThrough,s=$w(t,e,Zw(r,{stdin:n}));return{stdin:n,promise:s}}}function KDe(t,e,r){return i=>{let n=new ss.PassThrough,s=$w(t,e,r);return{stdin:n,promise:s}}}function d_(t,e,r,i){if(e.length===0)return t;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures=N({},i.procedures),i.procedures[n]=t,Gd([...e,"__ysh_run_procedure",n],r,i)}}async function C_(t,e,r){let i=t,n=null,s=null;for(;i;){let o=i.then?N({},r):r,a;switch(i.type){case"command":{let l=await nA(i.args,e,r),c=await h_(i.envs,e,r);a=i.envs.length?Gd(l,e,Zw(o,{environment:c})):Gd(l,e,o)}break;case"subshell":{let l=await nA(i.args,e,r),c=MDe(i.subshell,e,o);a=d_(c,l,e,o)}break;case"group":{let l=await nA(i.args,e,r),c=KDe(i.group,e,o);a=d_(c,l,e,o)}break;case"envs":{let l=await h_(i.envs,e,r);o.environment=N(N({},o.environment),l),a=Gd(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=Xw(a,{stdin:new Co(o.stdin),stdout:new Co(o.stdout),stderr:new Co(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,Fn.STDOUT);break;case"|&":s=s.pipeTo(a,Fn.STDOUT|Fn.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function UDe(t,e,r,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return c_.default.hex(a)}if(i){let s=r.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=l_(r,{prefix:l});return r.backgroundJobs.push(C_(t,e,Zw(r,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${l}, '${o(Xu(t))}' has ended +`)})),0}return await C_(t,e,r)}async function HDe(t,e,r,{background:i=!1}={}){let n,s=a=>{n=a,r.variables["?"]=String(a)},o=async a=>{try{return await UDe(a.chain,e,r,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof Os))throw l;return r.stderr.write(`${l.message} +`),1}};for(s(await o(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":n===0&&s(await o(t.then.line));break;case"||":n!==0&&s(await o(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return n}async function $w(t,e,r){let i=r.backgroundJobs;r.backgroundJobs=[];let n=0;for(let{command:s,type:o}of t){if(n=await HDe(s,e,r,{background:o==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(n)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=i,n}function m_(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>Yd(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>Yd(e));case"arithmetic":return oD(t.arithmetic);case"shell":return aD(t.shell);default:return!1}}function Yd(t){switch(t.type){case"redirection":return t.args.some(e=>Yd(e));case"argument":return t.segments.some(e=>m_(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function oD(t){switch(t.type){case"variable":return m_(t);case"number":return!1;default:return oD(t.left)||oD(t.right)}}function aD(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=aD(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>Yd(s)))||r.args.some(n=>Yd(n));break}if(i)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function tB(t,e=[],{baseFs:r=new ar,builtins:i={},cwd:n=H.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=zw}={}){let g={};for(let[p,m]of Object.entries(s))typeof m!="undefined"&&(g[p]=m);let f=new Map(LDe);for(let[p,m]of Object.entries(i))f.set(p,m);o===null&&(o=new ss.PassThrough,o.end());let h=$E(t,u);if(!aD(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let m=p.chain;for(;m.then;)m=m.then.chain;m.type==="command"&&(m.args=m.args.concat(e.map(y=>({type:"argument",segments:[{type:"text",text:y}]}))))}return await $w(h,{args:e,baseFs:r,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var n6=ge(rB()),s6=ge(lg()),Wc=ge(require("stream"));var $_=ge(Z_()),sB=ge(pc());var e6=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],t6=80,KRe=new Set([$.FETCH_NOT_CACHED,$.UNUSED_CACHE_ENTRY]),URe=5,oB=sB.default.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:sB.default.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:sB.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,r6=new Date,HRe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,GRe=t=>t,aB=GRe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),jRe=HRe&&Object.keys(aB).find(t=>{let e=aB[t];return!(e.date&&(e.date[0]!==r6.getDate()||e.date[1]!==r6.getMonth()+1))})||"default";function i6(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=qA(t===null?0:t);return!r&&t===null?et(e,n,"grey"):n}function gD(t,{configuration:e,json:r}){let i=i6(t,{configuration:e,json:r});if(!i||t===null||t===$.UNNAMED)return i;let n=$[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return Lg(e,i,s)}var Je=class extends Ji{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=URe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(sd(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...KRe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r,e.get("enableProgressBars")&&!i&&r.isTTY&&r.columns>22){let u=e.get("progressBarStyle")||jRe;if(!Object.prototype.hasOwnProperty.call(aB,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=aB[u];let g="\u27A4 YN0000: \u250C ".length,f=Math.max(0,Math.min(r.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*f/80)}}static async start(e,r){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning($.UNNAMED,a)};try{await r(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,r){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof r!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo($.FETCH_NOT_CACHED,r)}startSectionSync({reportHeader:e,reportFooter:r,skipIfEmpty:i},n){let s={committed:!1,action:()=>{e==null||e()}};i?this.uncommitted.add(s):(s.action(),s.committed=!0);let o=Date.now();try{return n()}catch(a){throw this.reportExceptionOnce(a),a}finally{let a=Date.now();this.uncommitted.delete(s),s.committed&&(r==null||r(a-o))}}async startSectionPromise({reportHeader:e,reportFooter:r,skipIfEmpty:i},n){let s={committed:!1,action:()=>{e==null||e()}};i?this.uncommitted.add(s):(s.action(),s.committed=!0);let o=Date.now();try{return await n()}catch(a){throw this.reportExceptionOnce(a),a}finally{let a=Date.now();this.uncommitted.delete(s),s.committed&&(r==null||r(a-o))}}startTimerImpl(e,r,i){let n=typeof r=="function"?{}:r;return{cb:typeof r=="function"?r:i,reportHeader:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,oB!==null&&!this.json&&this.includeInfos&&this.stdout.write(oB.start(e))},reportFooter:o=>{this.indent-=1,oB!==null&&!this.json&&this.includeInfos&&this.stdout.write(oB.end(e)),this.configuration.get("enableTimers")&&o>200?this.reportInfo(null,`\u2514 Completed in ${et(this.configuration,o,Ye.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:n.skipIfEmpty}}startTimerSync(e,r,i){let o=this.startTimerImpl(e,r,i),{cb:n}=o,s=Tr(o,["cb"]);return this.startSectionSync(s,n)}async startTimerPromise(e,r,i){let o=this.startTimerImpl(e,r,i),{cb:n}=o,s=Tr(o,["cb"]);return this.startSectionPromise(s,n)}async startCacheReport(e){let r=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{r!==null&&this.reportCacheChanges(r)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,r){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${et(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${r}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,r){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${et(this.configuration,"\u27A4","yellowBright")} ${n}${this.formatIndent()}${r}`)}reportError(e,r){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${et(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${r}`,{truncate:!1})}reportProgress(e){if(this.progressStyle===null)return ie(N({},Promise.resolve()),{stop:()=>{}});if(e.hasProgress&&e.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let r=!1,i=Promise.resolve().then(async()=>{let s={progress:e.hasProgress?0:void 0,title:e.hasTitle?"":void 0};this.progress.set(e,{definition:s,lastScaledSize:e.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:o,title:a}of e)r||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{r||(r=!0,this.progress.delete(e),this.refreshProgress({delta:1}))};return ie(N({},i),{stop:n})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";this.errorCount>0?e="Failed with errors":this.warningCount>0?e="Done with warnings":e="Done";let r=et(this.configuration,Date.now()-this.startTime,Ye.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${r}`:e;this.errorCount>0?this.reportError($.UNNAMED,i):this.warningCount>0?this.reportWarning($.UNNAMED,i):this.reportInfo($.UNNAMED,i)}writeLine(e,{truncate:r}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:r})} +`),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:r}={}){this.forgettableLines=[],this.writeLine(e,{truncate:r})}writeLines(e,{truncate:r}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:r})} +`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:r}){let i=this.cacheHitCount-e,n=this.cacheMissCount-r;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${Bt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${Bt(this.configuration,this.lastCacheMiss)})`),this.reportInfo($.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let r of e)r.committed=!0,r.action()}clearProgress({delta:e=0,clear:r=!1}){this.progressStyle!==null&&this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>t6&&(this.progressFrame=(this.progressFrame+1)%e6.length,this.progressTime=e);let r=e6[this.progressFrame];for(let i of this.progress.values()){let n="";if(typeof i.lastScaledSize!="undefined"){let l=this.progressStyle.chars[0].repeat(i.lastScaledSize),c=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize);n=` ${l}${c}`}let s=this.formatName(null),o=s?`${s}: `:"",a=i.definition.title?` ${i.definition.title}`:"";this.stdout.write(`${et(this.configuration,"\u27A4","blueBright")} ${o}${r}${n}${a} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},t6)}refreshProgress({delta:e=0,force:r=!1}={}){let i=!1,n=!1;if(r||this.progress.size===0)i=!0;else for(let s of this.progress.values()){let o=typeof s.definition.progress!="undefined"?Math.trunc(this.progressMaxScaledSize*s.definition.progress):void 0,a=s.lastScaledSize;s.lastScaledSize=o;let l=s.lastTitle;if(s.lastTitle=s.definition.title,o!==a||(n=l!==s.definition.title)){i=!0;break}}i&&(this.clearProgress({delta:e,clear:n}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.progressStyle===null&&(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=(0,$_.default)(e,0,this.stdout.columns-1)),e}formatName(e){return i6(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return gD(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Kr="3.2.1";var hn;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(hn||(hn={}));async function sA(t,e,r,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await K.writeFilePromise(x.format({dir:t,name:e,ext:".cmd"}),n)}await K.writeFilePromise(x.join(t,e),`#!/bin/sh +exec "${r}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function o6(t){let e=await At.tryFind(t);if(e==null?void 0:e.packageManager){let i=fw(e.packageManager);if(i==null?void 0:i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":return{packageManager:Number(s)===1?hn.Yarn1:hn.Yarn2,reason:n};case"npm":return{packageManager:hn.Npm,reason:n};case"pnpm":return{packageManager:hn.Pnpm,reason:n}}}}let r;try{r=await K.readFilePromise(x.join(t,Pt.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:hn.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:hn.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:K.existsSync(x.join(t,"package-lock.json"))?{packageManager:hn.Npm,reason:`found npm's "package-lock.json" lockfile`}:K.existsSync(x.join(t,"pnpm-lock.yaml"))?{packageManager:hn.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function qd({project:t,locator:e,binFolder:r,lifecycleScript:i}){var l,c;let n={};for(let[u,g]of Object.entries(process.env))typeof g!="undefined"&&(n[u.toLowerCase()!=="path"?u:"PATH"]=g);let s=H.fromPortablePath(r);n.BERRY_BIN_FOLDER=H.fromPortablePath(s);let o=process.env.COREPACK_ROOT?H.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([sA(r,"node",process.execPath),...Kr!==null?[sA(r,"run",process.execPath,[o,"run"]),sA(r,"yarn",process.execPath,[o]),sA(r,"yarnpkg",process.execPath,[o]),sA(r,"node-gyp",process.execPath,[o,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=H.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=H.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${H.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${H.sep}yarn`,n.npm_node_execpath=`${s}${H.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let u=t.tryWorkspaceByLocator(e),g=u?(l=u.manifest.version)!=null?l:"":(c=t.storedPackages.get(e.locatorHash).version)!=null?c:"";n.npm_package_name=Ot(e),n.npm_package_version=g}let a=Kr!==null?`yarn/${Kr}`:`yarn/${Ng("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${a} npm/? node/${process.version} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),t&&await t.configuration.triggerHook(u=>u.setupScriptEnvironment,t,n,async(u,g,f)=>await sA(r,Jr(u),g,f)),n}var YRe=2,qRe=(0,s6.default)(YRe);async function JRe(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await qRe(async()=>{await K.mktempPromise(async o=>{let a=x.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:H.fromPortablePath(t),report:i}),g=s&&Xo(s)?fd(s):s,f=g?Ds(g):"an external project";c.write(`Packing ${f} from sources +`);let h=await o6(t),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} + +`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn + +`),p=hn.Yarn2),await K.mktempPromise(async m=>{let y=await qd({binFolder:m}),S=new Map([[hn.Yarn1,async()=>{let T=n!==null?["workspace",n]:[],Y=await $o("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:y,stdin:l,stdout:c,stderr:u,end:ns.ErrorCode});if(Y.code!==0)return Y.code;await K.appendFilePromise(x.join(t,".npmignore"),`/.yarn +`),c.write(` +`),delete y.NODE_ENV;let j=await $o("yarn",["install"],{cwd:t,env:y,stdin:l,stdout:c,stderr:u,end:ns.ErrorCode});if(j.code!==0)return j.code;c.write(` +`);let Z=await $o("yarn",[...T,"pack","--filename",H.fromPortablePath(e)],{cwd:t,env:y,stdin:l,stdout:c,stderr:u});return Z.code!==0?Z.code:0}],[hn.Yarn2,async()=>{let T=n!==null?["workspace",n]:[];y.YARN_ENABLE_INLINE_BUILDS="1";let Y=x.join(t,Pt.lockfile);await K.existsPromise(Y)||await K.writeFilePromise(Y,"");let j=await $o("yarn",[...T,"pack","--install-if-needed","--filename",H.fromPortablePath(e)],{cwd:t,env:y,stdin:l,stdout:c,stderr:u});return j.code!==0?j.code:0}],[hn.Npm,async()=>{if(n!==null){let A=new Wc.PassThrough,oe=Fg(A);A.pipe(c,{end:!1});let le=await $o("npm",["--version"],{cwd:t,env:y,stdin:l,stdout:A,stderr:u,end:ns.Never});if(A.end(),le.code!==0)return c.end(),u.end(),le.code;let X=(await oe).toString().trim();if(!Uc(X,">=7.x")){let O=Vo(null,"npm"),L=rr(O,X),pe=rr(O,">=7.x");throw new Error(`Workspaces aren't supported by ${sr(r,L)}; please upgrade to ${sr(r,pe)} (npm has been detected as the primary package manager for ${et(r,t,Ye.PATH)})`)}}let T=n!==null?["--workspace",n]:[];delete y.npm_config_user_agent,delete y.npm_config_production,delete y.NPM_CONFIG_PRODUCTION,delete y.NODE_ENV;let Y=await $o("npm",["install"],{cwd:t,env:y,stdin:l,stdout:c,stderr:u,end:ns.ErrorCode});if(Y.code!==0)return Y.code;let j=new Wc.PassThrough,Z=Fg(j);j.pipe(c);let J=await $o("npm",["pack","--silent",...T],{cwd:t,env:y,stdin:l,stdout:j,stderr:u});if(J.code!==0)return J.code;let re=(await Z).toString().trim().replace(/^.*\n/s,""),ee=x.resolve(t,H.toPortablePath(re));return await K.renamePromise(ee,e),0}]]).get(p);if(typeof S=="undefined")throw new Error("Assertion failed: Unsupported workflow");let k=await S();if(!(k===0||typeof k=="undefined"))throw K.detachTemp(o),new ct($.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${k}, logs can be found here: ${et(r,a,Ye.PATH)})`)})})})}async function WRe(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return fD(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${Bt(r.configuration,t)} not found in the project`);return await Es.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new Je({stdout:new Wc.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${Bt(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new _t(u,{baseFs:s});return(await At.find(Ke.dot,{baseFs:g})).scripts.has(e)},{libzip:await fn()})}async function AB(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await K.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await a6(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f=="undefined")return 1;let h=async()=>await tB(f,r,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(m=>m.wrapScriptExecution,h,n,t,e,{script:f,args:r,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function hD(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await K.mktempPromise(async l=>{let{env:c,cwd:u}=await a6(t,{project:n,binFolder:l,cwd:i});return await tB(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function zRe(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await qd({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await A6(t),([s,[,o]])=>sA(e,Jr(s),process.execPath,[o]))),typeof r=="undefined"&&(r=x.dirname(await K.realpathPromise(x.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function a6(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return zRe(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${Bt(e.configuration,t)} not found in the project`);return await Es.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Je({stdout:new Wc.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${Bt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await qd({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await lB(t,{project:e}),([y,[,b]])=>sA(r,Jr(y),process.execPath,[b])));let h=await g.findPackageLocation(o,u),p=new _t(h,{baseFs:a}),m=await At.find(Ke.dot,{baseFs:p});return typeof i=="undefined"&&(i=h),{manifest:m,binFolder:r,env:f,cwd:i}},{libzip:await fn()})}async function l6(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await AB(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function fD(t,e){return t.manifest.scripts.has(e)}async function c6(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await K.mktempPromise(async o=>{let a=x.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${H.fromPortablePath(t.cwd)}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:Bt(n,t.anchoredLocator),header:l});i.reportInfo($.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await l6(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw K.detachTemp(o),new ct($.LIFECYCLE_SCRIPT,`${(0,n6.default)(e)} script failed (exit code ${et(n,g,Ye.NUMBER)}, logs can be found here: ${et(n,a,Ye.PATH)}); run ${et(n,`yarn ${e}`,Ye.CODE)} to investigate`)})}async function _Re(t,e,r){fD(t,e)&&await c6(t,e,r)}async function lB(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${Bt(r,t)} not found in the project`);let s=new Wc.Writable,o=r.getLinkers(),a={project:e,report:new Je({configuration:r,stdout:s})},l=new Set([t.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${sr(r,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return qo.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return qo.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return qo.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===qo.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,H.fromPortablePath(x.resolve(f,p))])}return i}async function A6(t){return await lB(t.anchoredLocator,{project:t.project})}async function u6(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await lB(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${Bt(n.configuration,t)}`);return await K.mktempPromise(async g=>{let[,f]=u,h=await qd({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([m,[,y]])=>sA(h.BERRY_BIN_FOLDER,Jr(m),process.execPath,[y])));let p;try{p=await $o(process.execPath,[...l,f,...r],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await K.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function VRe(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await u6(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var wi={};ft(wi,{convertToZip:()=>oLe,extractArchiveTo:()=>ALe,makeArchiveFromDirectory:()=>sLe});var i7=ge(require("stream")),n7=ge(X9());var Z9=ge(require("os")),$9=ge(lg()),e7=ge(require("worker_threads")),vl=Symbol("kTaskInfo"),SR=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,$9.default)(Math.max(1,(0,Z9.cpus)().length));this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let r=this.workers.pop();r?r.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new e7.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",r=>{if(!e[vl])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[vl].resolve(r),e[vl]=null,e.unref(),this.workers.push(e)}),e.on("error",r=>{var i;(i=e[vl])==null||i.reject(r),e[vl]=null}),e.on("exit",r=>{var i;r!==0&&((i=e[vl])==null||i.reject(new Error(`Worker exited with code ${r}`))),e[vl]=null}),e}run(e){return this.limit(()=>{var i;let r=(i=this.workers.pop())!=null?i:this.createWorker();return r.ref(),new Promise((n,s)=>{r[vl]={resolve:n,reject:s},r.postMessage(e)})})}};var s7=ge(r7());async function sLe(t,{baseFs:e=new ar,prefixPath:r=Ke.root,compressionLevel:i,inMemory:n=!1}={}){let s=await fn(),o;if(n)o=new Ai(null,{libzip:s,level:i});else{let l=await K.mktempPromise(),c=x.join(l,"archive.zip");o=new Ai(c,{create:!0,libzip:s,level:i})}let a=x.resolve(Ke.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var o7;async function oLe(t,e){let r=await K.mktempPromise(),i=x.join(r,"archive.zip");return o7||(o7=new SR((0,s7.getContent)())),await o7.run({tmpFile:i,tgz:t,opts:e}),new Ai(i,{libzip:await fn(),level:e.compressionLevel})}async function*aLe(t){let e=new n7.default.Parse,r=new i7.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{r.write(i)}),e.on("error",i=>{r.destroy(i)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function ALe(t,e,{stripComponents:r=0,prefixPath:i=Ke.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=r)}for await(let a of aLe(t)){if(n(a))continue;let l=x.normalize(H.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=x.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,Dr.SAFE_TIME,Dr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),e.writeFileSync(u,await Fg(a),{mode:g}),e.utimesSync(u,Dr.SAFE_TIME,Dr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,Dr.SAFE_TIME,Dr.SAFE_TIME);break}}return e}var As={};ft(As,{emitList:()=>lLe,emitTree:()=>g7,treeNodeToJson:()=>u7,treeNodeToTreeify:()=>c7});var l7=ge(A7());function c7(t,{configuration:e}){let r={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!="undefined"&&g.push(Ty(e,l,Dc.BOLD)),typeof c!="undefined"&&g.push(et(e,c[0],c[1])),g.length===0&&g.push(Ty(e,`${a}`,Dc.BOLD));let f=g.join(": "),h=s[f]={};typeof u!="undefined"&&i(u,h)}};if(typeof t.children=="undefined")throw new Error("The root node must only contain children");return i(t.children,r),r}function u7(t){let e=r=>{var s;if(typeof r.children=="undefined"){if(typeof r.value=="undefined")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Rc(r.value[0],r.value[1])}let i=Array.isArray(r.children)?r.children.entries():Object.entries((s=r.children)!=null?s:{}),n=Array.isArray(r.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof r.value=="undefined"?n:{value:Rc(r.value[0],r.value[1]),children:n}};return e(t)}function lLe(t,{configuration:e,stdout:r,json:i}){let n=t.map(s=>({value:s}));g7({children:n},{configuration:e,stdout:r,json:i})}function g7(t,{configuration:e,stdout:r,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(t.children)?t.children.values():Object.values((o=t.children)!=null?o:{});for(let l of a)r.write(`${JSON.stringify(u7(l))} +`);return}let s=(0,l7.asTree)(c7(t,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(s)}var f7=ge(require("crypto")),PR=ge(require("fs"));var cLe=8,Nt=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,f7.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=i,this.check=n;let s=r.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=r.get("compressionLevel"),a=o!==nc?`c${o}`:"";this.cacheKey=[cLe,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new Nt(e.get("cacheFolder"),{configuration:e,immutable:r,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${jg(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=uLe(r).slice(0,10);return`${jg(e)}-${n}.zip`}getLocatorPath(e,r,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?x.resolve(this.cwd,this.getVersionFilename(e)):r===null||DR(r)!==this.cacheKey?null:x.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?x.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await K.existsPromise(this.cwd))throw new ct($.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await K.mkdirPromise(this.cwd,{recursive:!0});let e=x.resolve(this.cwd,".gitignore");await K.changeFilePromise(e,`/.gitignore +*.flock +*.tmp +`)}(this.mirrorCwd||!this.immutable)&&await K.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,a){var l=a,{onHit:i,onMiss:n,loader:s}=l,o=Tr(l,["onHit","onMiss","loader"]);var A;let c=this.getLocatorMirrorPath(e),u=new ar,g=()=>{let oe=new Ai(null,{libzip:Y}),le=x.join(Ke.root,gx(e));return oe.mkdirSync(le,{recursive:!0}),oe.writeJsonSync(x.join(le,Pt.manifest),{name:Ot(e),mocked:!0}),oe},f=async(oe,le=null)=>{var O;if(le===null&&((O=o.unstablePackages)==null?void 0:O.has(e.locatorHash)))return null;let X=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await lw(oe)}`:r;if(le!==null){let L=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await lw(le)}`:r;if(X!==L)throw new ct($.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&X!==r){let L;switch(this.check?L="throw":DR(r)!==DR(X)?L="update":L=this.configuration.get("checksumBehavior"),L){case"ignore":return r;case"update":return X;default:case"throw":throw new ct($.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return X},h=async oe=>{if(!s)throw new Error(`Cache check required but no loader configured for ${Bt(this.configuration,e)}`);let le=await s(),X=le.getRealPath();return le.saveAndClose(),await K.chmodPromise(X,420),await f(oe,X)},p=async()=>{if(c===null||!await K.existsPromise(c)){let oe=await s(),le=oe.getRealPath();return oe.saveAndClose(),{source:"loader",path:le}}return{source:"mirror",path:c}},m=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${Bt(this.configuration,e)}`);if(this.immutable)throw new ct($.IMMUTABLE_CACHE,`Cache entry required but missing for ${Bt(this.configuration,e)}`);let{path:oe,source:le}=await p(),X=await f(oe),O=this.getLocatorPath(e,X,o);if(!O)throw new Error("Assertion failed: Expected the cache path to be available");let L=[];le!=="mirror"&&c!==null&&L.push(async()=>{let Ce=`${c}${this.cacheId}`;await K.copyFilePromise(oe,Ce,PR.default.constants.COPYFILE_FICLONE),await K.chmodPromise(Ce,420),await K.renamePromise(Ce,c)}),(!o.mirrorWriteOnly||c===null)&&L.push(async()=>{let Ce=`${O}${this.cacheId}`;await K.copyFilePromise(oe,Ce,PR.default.constants.COPYFILE_FICLONE),await K.chmodPromise(Ce,420),await K.renamePromise(Ce,O)});let pe=o.mirrorWriteOnly&&c!=null?c:O;return await Promise.all(L.map(Ce=>Ce())),[!1,pe,X]},y=async()=>{let le=(async()=>{var Oe;let X=this.getLocatorPath(e,r,o),O=X!==null?await u.existsPromise(X):!1,L=!!((Oe=o.mockedPackages)==null?void 0:Oe.has(e.locatorHash))&&(!this.check||!O),pe=L||O,Ce=pe?i:n;if(Ce&&Ce(),pe){let te=null,se=X;return L||(te=this.check?await h(se):await f(se)),[L,se,te]}else return m()})();this.mutexes.set(e.locatorHash,le);try{return await le}finally{this.mutexes.delete(e.locatorHash)}};for(let oe;oe=this.mutexes.get(e.locatorHash);)await oe;let[b,S,k]=await y();this.markedFiles.add(S);let T,Y=await fn(),j=b?()=>g():()=>new Ai(S,{baseFs:u,libzip:Y,readOnly:!0}),Z=new Vh(()=>YS(()=>T=j(),oe=>`Failed to open the cache entry for ${Bt(this.configuration,e)}: ${oe}`),x),J=new Da(S,{baseFs:Z,pathUtils:x}),re=()=>{T==null||T.discardAndClose()},ee=((A=o.unstablePackages)==null?void 0:A.has(e.locatorHash))?null:k;return[J,re,ee]}};function DR(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function uLe(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var ls;(function(r){r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE"})(ls||(ls={}));var gA=class extends Ji{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;sd(this,{configuration:e}),this.configuration=e,this.stdout=r,this.suggestInstall=i}static async start(e,r){let i=new this(e);try{await r(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){this.errorCount+=1,this.stdout.write(`${et(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r} +`)}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return ie(N({},r),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${et(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${et(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(e){return gD(e,{configuration:this.configuration,json:!1})}};var p0=ge(require("crypto")),n$=ge(V7()),d0=ge(r$()),s$=ge(lg()),o$=ge(ri()),sF=ge(require("util")),oF=ge(require("v8")),aF=ge(require("zlib"));var WKe=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,i)=>`${r}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>hw({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],rF=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let i=x.join(e.cwd,e.configuration.get("lockfileFilename"));if(!K.existsSync(i))return;let n=await K.readFilePromise(i,"utf8"),s=Qi(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=dd(a);if(!l){r.reportWarning($.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}ho(l.range)&&(l=rr(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[h,p]of WKe){let m=u.match(h);if(m){g=p(c,...m);break}}if(!g){r.reportWarning($.YARN_IMPORT_FAILED,`${sr(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let f=l;try{let h=Gg(l.range),p=dd(h.selector,!0);p&&(f=p)}catch{}o.set(l.descriptorHash,cn(f,g))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return await this.resolver.getCandidates(ax(n),r,i)}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var iF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(gw(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){let n=i.project.originalPackages.get(gw(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var nF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.resolver.bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){throw new ct($.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,i){throw new ct($.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new ct($.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var pi=class extends Ji{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return ie(N({},r),{stop:i})}reportJson(e){}async finalize(){}};var i$=ge(sx());var bC=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=r,this.cwd=e}async setup(){var s;this.manifest=(s=await At.tryFind(this.cwd))!=null?s:new At,this.relativeCwd=x.relative(this.project.cwd,this.cwd)||Ke.dot;let e=this.manifest.name?this.manifest.name:Vo(null,`${this.computeCandidateName()}-${ln(this.relativeCwd).substring(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=cn(e,r),this.anchoredDescriptor=rr(this.locator,`${oi.protocol}${this.relativeCwd}`),this.anchoredLocator=cn(this.locator,`${oi.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:o})=>o),n=await(0,i$.default)(i,{cwd:H.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let o of n){let a=x.resolve(this.cwd,H.toPortablePath(o));K.existsSync(x.join(a,"package.json"))&&this.workspacesCwds.add(a)}}accepts(e){var o;let r=e.indexOf(":"),i=r!==-1?e.slice(0,r+1):null,n=r!==-1?e.slice(r+1):e;if(i===oi.protocol&&x.normalize(n)===this.relativeCwd||i===oi.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=ho(n);return s?i===oi.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${x.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=At.hardDependencies}={}){let r=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||r.has(a)||(r.add(a),i(a))}};return i(this),r}getRecursiveWorkspaceDependents({dependencies:e=At.hardDependencies}={}){let r=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&pd(c.anchoredLocator,n.anchoredLocator)}))&&!r.has(s)&&(r.add(s),i(s))};return i(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let i=this.project.workspacesByCwd.get(r);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=x.join(this.cwd,At.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await K.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var a$=6,zKe=1,_Ke=/ *, */g,A$=/\/$/,VKe=32,XKe=(0,sF.promisify)(aF.default.gzip),ZKe=(0,sF.promisify)(aF.default.gunzip),di;(function(r){r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build"})(di||(di={}));var AF={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},l$=t=>ln(`${zKe}`,t),ze=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var p,m,y;if(!e.projectCwd)throw new Pe(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,K.existsSync(x.join(s,Pt.manifest))){i=s;break}n=x.dirname(s)}let o=new ze(e.projectCwd,{configuration:e});(p=we.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(m=we.telemetry)==null||m.reportWorkspaceCount(o.workspaces.length),(y=we.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((b,S)=>b+S.manifest.dependencies.size+S.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=et(e,o.cwd,Ye.PATH),u=et(e,x.relative(o.cwd,i),Ye.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new Pe(`The nearest package directory (${et(e,i,Ye.PATH)}) doesn't seem to be part of the project declared in ${et(e,o.cwd,Ye.PATH)}. + +${[g,f,h].join(` +`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(K.existsSync(e)){let n=await K.readFilePromise(e,"utf8");this.lockFileChecksum=l$(n);let s=Qi(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o0;){let r=e;e=[];for(let i of r){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let r=new bC(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${gi(this.configuration,r.locator)}: ${H.fromPortablePath(e)} conflicts with ${H.fromPortablePath(i.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){x.isAbsolute(e)||(e=x.resolve(this.cwd,e)),e=x.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let i of this.workspaces)x.relative(i.cwd,e).startsWith("../")||r&&r.cwd.length>=i.cwd.length||(r=i);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r=="undefined"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${gi(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(nl(e)&&(e=gd(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${sr(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(Xo(e)&&(e=fd(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${Bt(this.configuration,e)})`);return r}refreshWorkspaceDependencies(){for(let e of this.workspaces){let r=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!r)throw new Error(`Assertion failed: Expected workspace ${md(this.configuration,e)} (${et(this.configuration,x.join(e.cwd,Pt.manifest),Ye.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(r.dependencies)}}forgetResolution(e){let r=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&r(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,i]of e.dependencies)nl(i)&&e.dependencies.set(r,gd(i))}getDependencyMeta(e,r){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(Ot(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),r===null||!o$.default.valid(r))return i;for(let[a,l]of s)a!==null&&a===r&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:r=!1}={}){let i=new pi,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(r&&(await o.findPackageLocation(a,s)).replace(A$,"")!==e.replace(A$,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),i=new rF(r);await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new nF(r)]:[i,r],s=new Bd([new iF(r),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,m=new Set,y=[],b=wx(),S=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Ji.progressViaTitle(),async re=>{let ee=async O=>{let L=await Rg(async()=>await s.resolve(O,a),Oe=>`${Bt(this.configuration,O)}: ${Oe}`);if(!pd(O,L))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${Bt(this.configuration,O)} to ${Bt(this.configuration,L)})`);g.set(L.locatorHash,L);let pe=this.configuration.normalizePackage(L);for(let[Oe,te]of pe.dependencies){let se=await this.configuration.reduceHook(he=>he.reduceDependency,te,this,pe,te,{resolver:s,resolveOptions:a});if(!hd(te,se))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let be=s.bindDescriptor(se,O,a);pe.dependencies.set(Oe,be)}let Ce=uo([...pe.dependencies.values()].map(Oe=>X(Oe)));return y.push(Ce),Ce.catch(()=>{}),c.set(pe.locatorHash,pe),pe},A=async O=>{let L=f.get(O.locatorHash);if(typeof L!="undefined")return L;let pe=Promise.resolve().then(()=>ee(O));return f.set(O.locatorHash,pe),pe},oe=async(O,L)=>{let pe=await X(L);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,pe.locatorHash),pe},le=async O=>{re.setTitle(sr(this.configuration,O));let L=this.resolutionAliases.get(O.descriptorHash);if(typeof L!="undefined")return oe(O,this.storedDescriptors.get(L));let pe=s.getResolutionDependencies(O,a),Ce=new Map(await uo(pe.map(async se=>{let be=s.bindDescriptor(se,p,a),he=await X(be);return m.add(he.locatorHash),[se.descriptorHash,he]}))),te=(await Rg(async()=>await s.getCandidates(O,Ce,a),se=>`${sr(this.configuration,O)}: ${se}`))[0];if(typeof te=="undefined")throw new Error(`${sr(this.configuration,O)}: No candidates found`);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,te.locatorHash),A(te)},X=O=>{let L=h.get(O.descriptorHash);if(typeof L!="undefined")return L;l.set(O.descriptorHash,O);let pe=Promise.resolve().then(()=>le(O));return h.set(O.descriptorHash,pe),pe};for(let O of this.workspaces){let L=O.anchoredDescriptor;y.push(X(L))}for(;y.length>0;){let O=[...y];y.length=0,await uo(O)}});let k=new Set(this.resolutionAliases.values()),T=new Set(c.keys()),Y=new Set,j=new Map;$Ke({project:this,report:e.report,accessibleLocators:Y,volatileDescriptors:k,optionalBuilds:T,peerRequirements:j,allDescriptors:l,allResolutions:u,allPackages:c});for(let re of m)T.delete(re);for(let re of k)l.delete(re),u.delete(re);let Z=new Set,J=new Set;for(let re of c.values())re.conditions!=null&&(!T.has(re.locatorHash)||(dw(re,S)||(dw(re,b)&&e.report.reportWarningOnce($.GHOST_ARCHITECTURE,`${Bt(this.configuration,re)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${et(this.configuration,"supportedArchitectures",Di.SETTING)} setting`),J.add(re.locatorHash)),Z.add(re.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=Y,this.conditionalLocators=Z,this.disabledLocators=J,this.originalPackages=g,this.optionalBuilds=T,this.peerRequirements=j,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:r,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,cacheOptions:s},l=Array.from(new Set(xn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return Ds(h)}])));n===di.UpdateLockfile&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=Ji.progressViaCounter(l.length);r.reportProgress(u);let g=(0,s$.default)(VKe);if(await r.startCacheReport(async()=>{await uo(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(Xo(h))return;let p;try{p=await o.fetch(h,a)}catch(m){m.message=`${Bt(this.configuration,h)}: ${m.message}`,r.reportExceptionOnce(m),c=m;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:r,fetcher:i,mode:n}){var A,oe,le;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:r},u=new Map(l.map(X=>{let O=X.makeInstaller(c),L=O.getCustomDataKey(),pe=this.installersCustomData.get(L);return typeof pe!="undefined"&&O.attachCustomData(pe),[X,O]})),g=new Map,f=new Map,h=new Map,p=new Map(await uo([...this.accessibleLocators].map(async X=>{let O=this.storedPackages.get(X);if(!O)throw new Error("Assertion failed: The locator should have been registered");return[X,await o.fetch(O,a)]}))),m=[];for(let X of this.accessibleLocators){let O=this.storedPackages.get(X);if(typeof O=="undefined")throw new Error("Assertion failed: The locator should have been registered");let L=p.get(O.locatorHash);if(typeof L=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let pe=[],Ce=te=>{pe.push(te)},Oe=this.tryWorkspaceByLocator(O);if(Oe!==null){let te=[],{scripts:se}=Oe.manifest;for(let he of["preinstall","install","postinstall"])se.has(he)&&te.push([ls.SCRIPT,he]);try{for(let[he,Fe]of u)if(he.supportsPackage(O,c)&&(await Fe.installPackage(O,L,{holdFetchResult:Ce})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{pe.length===0?(A=L.releaseFs)==null||A.call(L):m.push(uo(pe).catch(()=>{}).then(()=>{var he;(he=L.releaseFs)==null||he.call(L)}))}let be=x.join(L.packageFs.getRealPath(),L.prefixPath);f.set(O.locatorHash,be),!Xo(O)&&te.length>0&&h.set(O.locatorHash,{directives:te,buildLocations:[be]})}else{let te=l.find(he=>he.supportsPackage(O,c));if(!te)throw new ct($.LINKER_NOT_FOUND,`${Bt(this.configuration,O)} isn't supported by any available linker`);let se=u.get(te);if(!se)throw new Error("Assertion failed: The installer should have been registered");let be;try{be=await se.installPackage(O,L,{holdFetchResult:Ce})}finally{pe.length===0?(oe=L.releaseFs)==null||oe.call(L):m.push(uo(pe).then(()=>{}).then(()=>{var he;(he=L.releaseFs)==null||he.call(L)}))}g.set(O.locatorHash,te),f.set(O.locatorHash,be.packageLocation),be.buildDirective&&be.buildDirective.length>0&&be.packageLocation&&h.set(O.locatorHash,{directives:be.buildDirective,buildLocations:[be.packageLocation]})}}let y=new Map;for(let X of this.accessibleLocators){let O=this.storedPackages.get(X);if(!O)throw new Error("Assertion failed: The locator should have been registered");let L=this.tryWorkspaceByLocator(O)!==null,pe=async(Ce,Oe)=>{let te=f.get(O.locatorHash);if(typeof te=="undefined")throw new Error(`Assertion failed: The package (${Bt(this.configuration,O)}) should have been registered`);let se=[];for(let be of O.dependencies.values()){let he=this.storedResolutions.get(be.descriptorHash);if(typeof he=="undefined")throw new Error(`Assertion failed: The resolution (${sr(this.configuration,be)}, from ${Bt(this.configuration,O)})should have been registered`);let Fe=this.storedPackages.get(he);if(typeof Fe=="undefined")throw new Error(`Assertion failed: The package (${he}, resolved from ${sr(this.configuration,be)}) should have been registered`);let Ue=this.tryWorkspaceByLocator(Fe)===null?g.get(he):null;if(typeof Ue=="undefined")throw new Error(`Assertion failed: The package (${he}, resolved from ${sr(this.configuration,be)}) should have been registered`);Ue===Ce||Ue===null?f.get(Fe.locatorHash)!==null&&se.push([be,Fe]):!L&&te!==null&&Pg(y,he).push(te)}te!==null&&await Oe.attachInternalDependencies(O,se)};if(L)for(let[Ce,Oe]of u)Ce.supportsPackage(O,c)&&await pe(Ce,Oe);else{let Ce=g.get(O.locatorHash);if(!Ce)throw new Error("Assertion failed: The linker should have been found");let Oe=u.get(Ce);if(!Oe)throw new Error("Assertion failed: The installer should have been registered");await pe(Ce,Oe)}}for(let[X,O]of y){let L=this.storedPackages.get(X);if(!L)throw new Error("Assertion failed: The package should have been registered");let pe=g.get(L.locatorHash);if(!pe)throw new Error("Assertion failed: The linker should have been found");let Ce=u.get(pe);if(!Ce)throw new Error("Assertion failed: The installer should have been registered");await Ce.attachExternalDependents(L,O)}let b=new Map;for(let X of u.values()){let O=await X.finalizeInstall();for(let L of(le=O==null?void 0:O.records)!=null?le:[])h.set(L.locatorHash,{directives:L.buildDirective,buildLocations:L.buildLocations});typeof(O==null?void 0:O.customData)!="undefined"&&b.set(X.getCustomDataKey(),O.customData)}if(this.installersCustomData=b,await uo(m),n===di.SkipBuild)return;let S=new Set(this.storedPackages.keys()),k=new Set(h.keys());for(let X of k)S.delete(X);let T=(0,p0.createHash)("sha512");T.update(process.versions.node),await this.configuration.triggerHook(X=>X.globalHashGeneration,this,X=>{T.update("\0"),T.update(X)});let Y=T.digest("hex"),j=new Map,Z=X=>{let O=j.get(X.locatorHash);if(typeof O!="undefined")return O;let L=this.storedPackages.get(X.locatorHash);if(typeof L=="undefined")throw new Error("Assertion failed: The package should have been registered");let pe=(0,p0.createHash)("sha512");pe.update(X.locatorHash),j.set(X.locatorHash,"");for(let Ce of L.dependencies.values()){let Oe=this.storedResolutions.get(Ce.descriptorHash);if(typeof Oe=="undefined")throw new Error(`Assertion failed: The resolution (${sr(this.configuration,Ce)}) should have been registered`);let te=this.storedPackages.get(Oe);if(typeof te=="undefined")throw new Error("Assertion failed: The package should have been registered");pe.update(Z(te))}return O=pe.digest("hex"),j.set(X.locatorHash,O),O},J=(X,O)=>{let L=(0,p0.createHash)("sha512");L.update(Y),L.update(Z(X));for(let pe of O)L.update(pe);return L.digest("hex")},re=new Map,ee=!1;for(;k.size>0;){let X=k.size,O=[];for(let L of k){let pe=this.storedPackages.get(L);if(!pe)throw new Error("Assertion failed: The package should have been registered");let Ce=!0;for(let se of pe.dependencies.values()){let be=this.storedResolutions.get(se.descriptorHash);if(!be)throw new Error(`Assertion failed: The resolution (${sr(this.configuration,se)}) should have been registered`);if(k.has(be)){Ce=!1;break}}if(!Ce)continue;k.delete(L);let Oe=h.get(pe.locatorHash);if(!Oe)throw new Error("Assertion failed: The build directive should have been registered");let te=J(pe,Oe.buildLocations);if(this.storedBuildState.get(pe.locatorHash)===te){re.set(pe.locatorHash,te);continue}ee||(await this.persistInstallStateFile(),ee=!0),this.storedBuildState.has(pe.locatorHash)?r.reportInfo($.MUST_REBUILD,`${Bt(this.configuration,pe)} must be rebuilt because its dependency tree changed`):r.reportInfo($.MUST_BUILD,`${Bt(this.configuration,pe)} must be built because it never has been before or the last one failed`);for(let se of Oe.buildLocations){if(!x.isAbsolute(se))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${se})`);O.push((async()=>{for(let[be,he]of Oe.directives){let Fe=`# This file contains the result of Yarn building a package (${Ds(pe)}) +`;switch(be){case ls.SCRIPT:Fe+=`# Script name: ${he} +`;break;case ls.SHELLCODE:Fe+=`# Script code: ${he} +`;break}let Ue=null;if(!await K.mktempPromise(async Se=>{let de=x.join(Se,"build.log"),{stdout:V,stderr:Qe}=this.configuration.getSubprocessStreams(de,{header:Fe,prefix:Bt(this.configuration,pe),report:r}),ce;try{switch(be){case ls.SCRIPT:ce=await AB(pe,he,[],{cwd:se,project:this,stdin:Ue,stdout:V,stderr:Qe});break;case ls.SHELLCODE:ce=await hD(pe,he,[],{cwd:se,project:this,stdin:Ue,stdout:V,stderr:Qe});break}}catch(gt){Qe.write(gt.stack),ce=1}if(V.end(),Qe.end(),ce===0)return re.set(pe.locatorHash,te),!0;K.detachTemp(Se);let fe=`${Bt(this.configuration,pe)} couldn't be built successfully (exit code ${et(this.configuration,ce,Ye.NUMBER)}, logs can be found here: ${et(this.configuration,de,Ye.PATH)})`;return this.optionalBuilds.has(pe.locatorHash)?(r.reportInfo($.BUILD_FAILED,fe),re.set(pe.locatorHash,te),!0):(r.reportError($.BUILD_FAILED,fe),!1)}))return}})())}}if(await uo(O),X===k.size){let L=Array.from(k).map(pe=>{let Ce=this.storedPackages.get(pe);if(!Ce)throw new Error("Assertion failed: The package should have been registered");return Bt(this.configuration,Ce)}).join(", ");r.reportError($.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${L})`);break}}this.storedBuildState=re}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=we.telemetry)==null||a.reportInstall(r),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=qi.Inactive;let i=x.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await K.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new ct($.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=et(this.configuration,g,Ye.PACKAGE_EXTENSION);switch(g.status){case qi.Inactive:e.report.reportWarning($.UNUSED_PACKAGE_EXTENSION,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case qi.Redundant:e.report.reportWarning($.REDUNDANT_PACKAGE_EXTENSION,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=ec(n,this.generateLockfile());if(c!==n){let u=(0,n$.structuredPatch)(i,i,n,c);e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError($.FROZEN_LOCKFILE_EXCEPTION,et(this.configuration,f,Ye.ADDED)):f.startsWith("-")?e.report.reportError($.FROZEN_LOCKFILE_EXCEPTION,et(this.configuration,f,Ye.REMOVED)):e.report.reportInfo(null,et(this.configuration,f,"grey"))}throw e.report.reportSeparator(),new ct($.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===qi.Active&&((l=we.telemetry)==null||l.reportPackageExtension(Rc(g,Ye.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&e.mode!==di.UpdateLockfile&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>cw(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode===di.UpdateLockfile){e.report.reportWarning($.UPDATE_LOCKFILE_ONLY_SKIP_LINK,`Skipped due to ${et(this.configuration,"mode=update-lockfile",Ye.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>cw(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let r={};r.__metadata={version:a$,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>Pn(f)).sort().join(", "),c=new At;c.version=o.linkType===Qt.HARD?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!="undefined"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof r.__metadata.cacheKey=="undefined"&&(r.__metadata.cacheKey=h),h===r.__metadata.cacheKey?u=p:u=g}r[l]=ie(N({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:Ds(o),checksum:u,conditions:o.conditions||void 0})}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+La(r)}async persistLockfile(){let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),r="";try{r=await K.readFilePromise(e,"utf8")}catch(s){}let i=this.generateLockfile(),n=ec(r,i);n!==r&&(await K.writeFilePromise(e,n),this.lockFileChecksum=l$(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(AF))e.push(...o);let r=(0,d0.default)(this,e),i=oF.default.serialize(r),n=ln(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await K.mkdirPromise(x.dirname(s),{recursive:!0}),await K.writeFilePromise(s,await XKe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath"),s;try{let o=await ZKe(await K.readFilePromise(n));s=oF.default.deserialize(o),this.installStateChecksum=ln(o)}catch{r&&await this.applyLightResolution();return}e&&typeof s.installersCustomData!="undefined"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,d0.default)(s,AF.restoreBuildState)),r&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,d0.default)(s,AF.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new pi}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){if(this.configuration.get("enableGlobalCache"))return;let i=new Set([".gitignore"]);if(!Ix(e.cwd,this.cwd)||!await K.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await K.readdirPromise(e.cwd)){if(i.has(a))continue;let l=x.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError($.IMMUTABLE_CACHE,`${et(this.configuration,x.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo($.UNUSED_CACHE_ENTRY,`${et(this.configuration,x.basename(l),"magenta")} appears to be unused - removing`),await K.removePromise(l)))}n&&s!==0&&r.reportInfo($.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function $Ke({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l,tolerateMissingPackages:c=!1}){var re;let u=new Map,g=[],f=new Map,h=new Map,p=new Map,m=new Map,y=new Map,b=new Map(t.workspaces.map(ee=>{let A=ee.anchoredLocator.locatorHash,oe=i.get(A);if(typeof oe=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,ud(oe)]})),S=()=>{let ee=K.mktempSync(),A=x.join(ee,"stacktrace.log"),oe=String(g.length+1).length,le=g.map((X,O)=>`${`${O+1}.`.padStart(oe," ")} ${Ds(X)} +`).join("");throw K.writeFileSync(A,le),K.detachTemp(ee),new ct($.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${H.fromPortablePath(A)}`)},k=ee=>{let A=r.get(ee.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let oe=i.get(A);if(!oe)throw new Error("Assertion failed: The package could not be found");return oe},T=(ee,A,oe,{top:le,optional:X})=>{g.length>1e3&&S(),g.push(A);let O=Y(ee,A,oe,{top:le,optional:X});return g.pop(),O},Y=(ee,A,oe,{top:le,optional:X})=>{if(n.has(A.locatorHash))return;n.add(A.locatorHash),X||s.delete(A.locatorHash);let O=i.get(A.locatorHash);if(!O){if(c)return;throw new Error(`Assertion failed: The package (${Bt(t.configuration,A)}) should have been registered`)}let L=[],pe=[],Ce=[],Oe=[],te=[];for(let be of Array.from(O.dependencies.values())){if(O.peerDependencies.has(be.identHash)&&O.locatorHash!==le)continue;if(nl(be))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");a.delete(be.descriptorHash);let he=X;if(!he){let Qe=O.dependenciesMeta.get(Ot(be));if(typeof Qe!="undefined"){let ce=Qe.get(null);typeof ce!="undefined"&&ce.optional&&(he=!0)}}let Fe=r.get(be.descriptorHash);if(!Fe){if(c)continue;throw new Error(`Assertion failed: The resolution (${sr(t.configuration,be)}) should have been registered`)}let Ue=b.get(Fe)||i.get(Fe);if(!Ue)throw new Error(`Assertion failed: The package (${Fe}, resolved from ${sr(t.configuration,be)}) should have been registered`);if(Ue.peerDependencies.size===0){T(be,Ue,new Map,{top:le,optional:he});continue}let xe,Se,de=new Set,V;pe.push(()=>{xe=Ax(be,A.locatorHash),Se=lx(Ue,A.locatorHash),O.dependencies.delete(be.identHash),O.dependencies.set(xe.identHash,xe),r.set(xe.descriptorHash,Se.locatorHash),e.set(xe.descriptorHash,xe),i.set(Se.locatorHash,Se),L.push([Ue,xe,Se])}),Ce.push(()=>{var Qe;V=new Map;for(let ce of Se.peerDependencies.values()){let fe=O.dependencies.get(ce.identHash);if(!fe&&hd(A,ce)&&(ee.identHash===A.identHash?fe=ee:(fe=rr(A,ee.range),e.set(fe.descriptorHash,fe),r.set(fe.descriptorHash,A.locatorHash),a.delete(fe.descriptorHash))),(!fe||fe.range==="missing:")&&Se.dependencies.has(ce.identHash)){Se.peerDependencies.delete(ce.identHash);continue}fe||(fe=rr(ce,"missing:")),Se.dependencies.set(fe.identHash,fe),nl(fe)&&xc(p,fe.descriptorHash).add(Se.locatorHash),f.set(fe.identHash,fe),fe.range==="missing:"&&de.add(fe.identHash),V.set(ce.identHash,(Qe=oe.get(ce.identHash))!=null?Qe:Se.locatorHash)}Se.dependencies=new Map(xn(Se.dependencies,([ce,fe])=>Ot(fe)))}),Oe.push(()=>{if(!i.has(Se.locatorHash))return;let Qe=u.get(Ue.locatorHash);typeof Qe=="number"&&Qe>=2&&S();let ce=u.get(Ue.locatorHash),fe=typeof ce!="undefined"?ce+1:1;u.set(Ue.locatorHash,fe),T(xe,Se,V,{top:le,optional:he}),u.set(Ue.locatorHash,fe-1)}),te.push(()=>{let Qe=O.dependencies.get(be.identHash);if(typeof Qe=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let ce=r.get(Qe.descriptorHash);if(typeof ce=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(xc(y,ce).add(A.locatorHash),!!i.has(Se.locatorHash)){for(let fe of Se.peerDependencies.values()){let gt=V.get(fe.identHash);if(typeof gt=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Pg(Dg(m,gt),Ot(fe)).push(Se.locatorHash)}for(let fe of de)Se.dependencies.delete(fe)}})}for(let be of[...pe,...Ce])be();let se;do{se=!0;for(let[be,he,Fe]of L){let Ue=Dg(h,be.locatorHash),xe=ln(...[...Fe.dependencies.values()].map(Qe=>{let ce=Qe.range!=="missing:"?r.get(Qe.descriptorHash):"missing:";if(typeof ce=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${sr(t.configuration,Qe)} to have been registered`);return ce===le?`${ce} (top)`:ce}),he.identHash),Se=Ue.get(xe);if(typeof Se=="undefined"){Ue.set(xe,he);continue}if(Se===he)continue;i.delete(Fe.locatorHash),e.delete(he.descriptorHash),r.delete(he.descriptorHash),n.delete(Fe.locatorHash);let de=p.get(he.descriptorHash)||[],V=[O.locatorHash,...de];p.delete(he.descriptorHash);for(let Qe of V){let ce=i.get(Qe);typeof ce!="undefined"&&(ce.dependencies.get(he.identHash).descriptorHash!==Se.descriptorHash&&(se=!1),ce.dependencies.set(he.identHash,Se))}}}while(!se);for(let be of[...Oe,...te])be()};for(let ee of t.workspaces){let A=ee.anchoredLocator;a.delete(ee.anchoredDescriptor.descriptorHash),T(ee.anchoredDescriptor,A,new Map,{top:A.locatorHash,optional:!1})}var j;(function(oe){oe[oe.NotProvided=0]="NotProvided",oe[oe.NotCompatible=1]="NotCompatible"})(j||(j={}));let Z=[];for(let[ee,A]of y){let oe=i.get(ee);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let le=m.get(ee);if(typeof le!="undefined")for(let X of A){let O=i.get(X);if(typeof O!="undefined")for(let[L,pe]of le){let Ce=An(L);if(O.peerDependencies.has(Ce.identHash))continue;let Oe=`p${ln(X,L,ee).slice(0,5)}`;o.set(Oe,{subject:X,requested:Ce,rootRequester:ee,allRequesters:pe});let te=oe.dependencies.get(Ce.identHash);if(typeof te!="undefined"){let se=k(te),be=(re=se.version)!=null?re:"0.0.0",he=new Set;for(let Ue of pe){let xe=i.get(Ue);if(typeof xe=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let Se=xe.peerDependencies.get(Ce.identHash);if(typeof Se=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");he.add(Se.range)}[...he].every(Ue=>{if(Ue.startsWith(oi.protocol)){if(!t.tryWorkspaceByLocator(se))return!1;Ue=Ue.slice(oi.protocol.length),(Ue==="^"||Ue==="~")&&(Ue="*")}return Uc(be,Ue)})||Z.push({type:1,subject:O,requested:Ce,requester:oe,version:be,hash:Oe,requirementCount:pe.length})}else{let se=oe.peerDependenciesMeta.get(L);(se==null?void 0:se.optional)||Z.push({type:0,subject:O,requested:Ce,requester:oe,hash:Oe})}}}}let J=[ee=>ux(ee.subject),ee=>Ot(ee.requested),ee=>`${ee.type}`];l==null||l.startSectionSync({reportFooter:()=>{l.reportWarning($.UNNAMED,`Some peer dependencies are incorrectly met; run ${et(t.configuration,"yarn explain peer-requirements ",Ye.CODE)} for details, where ${et(t.configuration,"",Ye.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let ee of xn(Z,J))switch(ee.type){case 0:l.reportWarning($.MISSING_PEER_DEPENDENCY,`${Bt(t.configuration,ee.subject)} doesn't provide ${gi(t.configuration,ee.requested)} (${et(t.configuration,ee.hash,Ye.CODE)}), requested by ${gi(t.configuration,ee.requester)}`);break;case 1:{let A=ee.requirementCount>1?"and some of its descendants request":"requests";l.reportWarning($.INCOMPATIBLE_PEER_DEPENDENCY,`${Bt(t.configuration,ee.subject)} provides ${gi(t.configuration,ee.requested)} (${et(t.configuration,ee.hash,Ye.CODE)}) with version ${Cd(t.configuration,ee.version)}, which doesn't satisfy what ${gi(t.configuration,ee.requester)} ${A}`)}break}})}var aa;(function(l){l.VERSION="version",l.COMMAND_NAME="commandName",l.PLUGIN_NAME="pluginName",l.INSTALL_COUNT="installCount",l.PROJECT_COUNT="projectCount",l.WORKSPACE_COUNT="workspaceCount",l.DEPENDENCY_COUNT="dependencyCount",l.EXTENSION="packageExtension"})(aa||(aa={}));var QC=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!K.existsSync(i),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue(aa.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(aa.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(aa.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(aa.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(aa.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(aa.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(aa.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(aa.DEPENDENCY_COUNT,String(e))}reportValue(e,r){xc(this.values,e).add(r)}reportEnumerator(e,r){xc(this.enumerators,e).add(ln(r))}reportHit(e,r="*"){let i=Dg(this.hits,e),n=Ja(i,r,()=>0);i.set(r,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return x.join(e,"telemetry.json")}sendReport(e){var u,g,f;let r=this.getRegistryPath(),i;try{i=K.readJsonSync(r)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{K.mkdirSync(x.dirname(r),{recursive:!0}),K.writeJsonSync(r,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>$P(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let m=p;m.userId=h,m.reportType="primary";for(let S of Object.keys((f=m.enumerators)!=null?f:{}))m.enumerators[S]=m.enumerators[S].length;c(m);let y=new Map,b=20;for(let[S,k]of Object.entries(m.values))k.length>0&&y.set(S,k.slice(0,b));for(;y.size>0;){let S={};S.userId=h,S.reportType="secondary",S.metrics={};for(let[k,T]of y)S.metrics[k]=T.shift(),T.length===0&&y.delete(k);c(S)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),r;try{r=K.readJsonSync(e)}catch{r={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=r.blocks=(a=r.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let m of this.hits.keys()){let y=s.hits=(c=s.hits)!=null?c:{},b=y[m]=(u=y[m])!=null?u:{};for(let[S,k]of this.hits.get(m))b[S]=((g=b[S])!=null?g:0)+k}for(let m of["values","enumerators"])for(let y of this[m].keys()){let b=s[m]=(f=s[m])!=null?f:{};b[y]=[...new Set([...(h=b[y])!=null?h:[],...(p=this[m].get(y))!=null?p:[]])]}K.mkdirSync(x.dirname(e),{recursive:!0}),K.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var lF=ge(require("child_process")),c$=ge(pc());var cF=ge(require("fs"));var Tf=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function e1e(t){let e=H.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,lF.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:ie(N({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):(0,lF.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:ie(N({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}async function C0({binaryVersion:t,pluginConfiguration:e}){async function r(){let n=new ys({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var m,y,b,S,k;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(!ve.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!Wt.satisfiesWithPrereleases(s,o))throw new Pe(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let l=await we.find(H.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),c=l.get("yarnPath"),u=l.get("ignorePath"),g=l.get("ignoreCwd"),f=H.toPortablePath(H.resolve(process.argv[1])),h=T=>K.readFilePromise(T).catch(()=>Buffer.of());if(!u&&!g&&await(async()=>c===f||Buffer.compare(...await Promise.all([h(c),h(f)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(c!==null&&!u)if(!K.existsSync(c))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${l.sources.get("yarnPath")}), but the specified location doesn't exist (${c}).`))),process.exitCode=1;else try{e1e(c)}catch(T){process.exitCode=T.code||1}else{u&&delete process.env.YARN_IGNORE_PATH,l.get("enableTelemetry")&&!c$.isCI&&process.stdout.isTTY&&(we.telemetry=new QC(l,"puba9cdc10ec5790a2cf4969dd413a47270")),(m=we.telemetry)==null||m.reportVersion(t);for(let[Z,J]of l.plugins.entries()){Tf.has((b=(y=Z.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:y[1])!=null?b:"")&&((S=we.telemetry)==null||S.reportPluginName(Z));for(let re of J.commands||[])n.register(re)}let Y=n.process(process.argv.slice(2));Y.help||(k=we.telemetry)==null||k.reportCommandName(Y.path.join(" "));let j=Y.cwd;if(typeof j!="undefined"&&!g){let Z=(0,cF.realpathSync)(process.cwd()),J=(0,cF.realpathSync)(j);if(Z!==J){process.chdir(j),await r();return}}await n.runExit(Y,{cwd:H.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return r().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>K.rmtempPromise())}function u$(t){t.Command.Path=(...e)=>r=>{r.paths=r.paths||[],r.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])t.Command[e]=(...r)=>(i,n)=>{let s=t.Option[e](...r);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return t}var VC={};ft(VC,{BaseCommand:()=>Le,WorkspaceRequiredError:()=>ht,getDynamicLibs:()=>Qie,getPluginConfiguration:()=>W0,main:()=>C0,openWorkspace:()=>zf,pluginCommands:()=>Tf});var Le=class extends Re{constructor(){super(...arguments);this.cwd=W.String("--cwd",{hidden:!0})}};var ht=class extends Pe{constructor(e,r){let i=x.relative(e,r),n=x.join(e,At.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var oqe=ge(ri());Is();var aqe=ge(AN()),Qie=()=>new Map([["@yarnpkg/cli",VC],["@yarnpkg/core",vC],["@yarnpkg/fslib",$h],["@yarnpkg/libzip",Kd],["@yarnpkg/parsers",ap],["@yarnpkg/shell",Hd],["clipanion",mp],["semver",oqe],["typanion",ag],["yup",aqe]]);async function zf(t,e){let{project:r,workspace:i}=await ze.find(t,e);if(!i)throw new ht(r.cwd,e);return i}var v9e=ge(ri());Is();var S9e=ge(AN());var uL={};ft(uL,{dedupeUtils:()=>YN,default:()=>E4e,suggestUtils:()=>DN});var SAe=ge(pc());var Nse=ge(em());Is();var DN={};ft(DN,{Modifier:()=>ga,Strategy:()=>Vr,Target:()=>Hr,WorkspaceModifier:()=>Zf,applyModifier:()=>Pse,extractDescriptorFromPath:()=>NN,extractRangeModifier:()=>xse,fetchDescriptorFrom:()=>FN,findProjectDescriptors:()=>Fse,getModifier:()=>tm,getSuggestedDescriptors:()=>rm,makeWorkspaceDescriptor:()=>Rse,toWorkspaceModifier:()=>Dse});var RN=ge(ri()),QJe="workspace:",Hr;(function(i){i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies"})(Hr||(Hr={}));var ga;(function(i){i.CARET="^",i.TILDE="~",i.EXACT=""})(ga||(ga={}));var Zf;(function(i){i.CARET="^",i.TILDE="~",i.EXACT="*"})(Zf||(Zf={}));var Vr;(function(s){s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache"})(Vr||(Vr={}));function tm(t,e){return t.exact?ga.EXACT:t.caret?ga.CARET:t.tilde?ga.TILDE:e.configuration.get("defaultSemverRangePrefix")}var vJe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function xse(t,{project:e}){let r=t.match(vJe);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function Pse(t,e){let{protocol:r,source:i,params:n,selector:s}=P.parseRange(t.range);return RN.default.valid(s)&&(s=`${e}${t.range}`),P.makeDescriptor(t,P.makeRange({protocol:r,source:i,params:n,selector:s}))}function Dse(t){switch(t){case ga.CARET:return Zf.CARET;case ga.TILDE:return Zf.TILDE;case ga.EXACT:return Zf.EXACT;default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function Rse(t,e){return P.makeDescriptor(t.anchoredDescriptor,`${QJe}${Dse(e)}`)}async function Fse(t,{project:e,target:r}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(r===Hr.PEER){let o=s.manifest.peerDependencies.get(t.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(t.identHash),a=s.manifest.devDependencies.get(t.identHash);r===Hr.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function NN(t,{cwd:e,workspace:r}){return await SJe(async i=>{x.isAbsolute(t)||(t=x.relative(r.cwd,x.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:n}=r,s=await FN(P.makeIdent(null,"archive"),t,{project:r.project,cache:i,workspace:r});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new pi,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,r.anchoredLocator,c),g=P.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await At.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return P.makeDescriptor(h.name,t)})}async function rm(t,{project:e,workspace:r,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(t.range!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${P.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof r!="undefined"&&r!==null&&r.manifest[n].get(t.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case Vr.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${P.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case Vr.REUSE:await g(async()=>{for(let{descriptor:h,locators:p}of(await Fse(t,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===r.anchoredLocator.locatorHash&&o.includes(Vr.KEEP))continue;let m=`(originally used by ${P.prettyLocator(e.configuration,p[0])}`;m+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:m})}});break;case Vr.CACHE:await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===t.identHash&&c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case Vr.PROJECT:await g(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(t);if(h===null)return;let p=Rse(h,s);c.push({descriptor:p,name:`Attach ${P.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${Ae.pretty(e.configuration,h.relativeCwd,Ae.Type.PATH)})`})});break;case Vr.LATEST:await g(async()=>{if(t.range!=="unknown")c.push({descriptor:t,name:`Use ${P.prettyRange(e.configuration,t.range)}`,reason:"(explicit range requested)"});else if(n===Hr.PEER)c.push({descriptor:P.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:Ae.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await FN(t,"latest",{project:e,cache:i,workspace:r,preserveModifier:!1});h&&(h=Pse(h,s),c.push({descriptor:h,name:`Use ${P.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function FN(t,e,{project:r,cache:i,workspace:n,preserveModifier:s=!0}){let o=P.makeDescriptor(t,e),a=new pi,l=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),u={project:r,fetcher:l,cache:i,checksums:r.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g=ie(N({},u),{resolver:c,fetchOptions:u}),f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:m,source:y,params:b,selector:S}=P.parseRange(P.convertToManifestRange(p.reference));if(m===r.configuration.get("defaultProtocol")&&(m=null),RN.default.valid(S)&&s!==!1){let k=typeof s=="string"?s:o.range;S=xse(k,{project:r})+S}return P.makeDescriptor(p,P.makeRange({protocol:m,source:y,params:b,selector:S}))}async function SJe(t){return await K.mktempPromise(async e=>{let r=we.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Nt(e,{configuration:r,check:!1,immutable:!1}))})}var im=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=W.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=W.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=W.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=W.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=W.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=W.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=W.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=W.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=W.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=W.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.silent=W.Boolean("--silent",{hidden:!0});this.packages=W.Rest()}async execute(){var m;let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=tm(this,r),a=[...s?[Vr.REUSE]:[],Vr.PROJECT,...this.cached?[Vr.CACHE]:[],Vr.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async y=>{let b=y.match(/^\.{0,2}\//)?await NN(y,{cwd:this.context.cwd,workspace:i}):P.tryParseDescriptor(y),S=y.match(/^(https?:|git@github)/);if(S)throw new Pe(`It seems you are trying to add a package using a ${Ae.pretty(e,`${S[0]}...`,Di.RANGE)} url; we now require package names to be explicitly specified. +Try running the command again with the package name prefixed: ${Ae.pretty(e,"yarn add",Di.CODE)} ${Ae.pretty(e,P.makeDescriptor(P.makeIdent(null,"my-package"),`${S[0]}...`),Di.DESCRIPTOR)}`);if(!b)throw new Pe(`The ${Ae.pretty(e,y,Di.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let k=kJe(i,b,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),T=await rm(b,{project:r,workspace:i,cache:n,target:k,modifier:o,strategies:a,maxResults:l});return[b,T,k]})),u=await gA.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async y=>{for(let[b,{suggestions:S,rejections:k}]of c)if(S.filter(Y=>Y.descriptor!==null).length===0){let[Y]=k;if(typeof Y=="undefined")throw new Error("Assertion failed: Expected an error to have been set");r.configuration.get("enableNetwork")?y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range`):y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),y.reportSeparator(),y.reportExceptionOnce(Y)}});if(u.hasErrors())return u.exitCode();let g=!1,f=[],h=[];for(let[,{suggestions:y},b]of c){let S,k=y.filter(Z=>Z.descriptor!==null),T=k[0].descriptor,Y=k.every(Z=>P.areDescriptorsEqual(Z.descriptor,T));k.length===1||Y?S=T:(g=!0,{answer:S}=await(0,Nse.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:y.map(({descriptor:Z,name:J,reason:re})=>Z?{name:J,hint:re,descriptor:Z}:{name:J,hint:re,disabled:!0}),onCancel:()=>process.exit(130),result(Z){return this.find(Z,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let j=i.manifest[b].get(S.identHash);(typeof j=="undefined"||j.descriptorHash!==S.descriptorHash)&&(i.manifest[b].set(S.identHash,S),this.optional&&(b==="dependencies"?i.manifest.ensureDependencyMeta(ie(N({},S),{range:"unknown"})).optional=!0:b==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta(ie(N({},S),{range:"unknown"})).optional=!0)),typeof j=="undefined"?f.push([i,b,S,a]):h.push([i,b,j,S]))}return await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyAddition,f),await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyReplacement,h),g&&this.context.stdout.write(` +`),(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async y=>{await r.install({cache:n,report:y,mode:this.mode})})).exitCode()}};im.paths=[["add"]],im.usage=Re.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var Lse=im;function kJe(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[Hr.REGULAR].has(e.identHash),a=t.manifest[Hr.DEVELOPMENT].has(e.identHash),l=t.manifest[Hr.PEER].has(e.identHash);if((r||i)&&o)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!i&&l)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||n)&&s)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?Hr.PEER:r||n?Hr.DEVELOPMENT:o?Hr.REGULAR:a?Hr.DEVELOPMENT:Hr.REGULAR}var nm=class extends Le{constructor(){super(...arguments);this.verbose=W.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=W.String({required:!1})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await ze.find(e,this.context.cwd);if(await r.restoreInstallState(),this.name){let o=(await Zt.getPackageAccessibleBinaries(i,{project:r})).get(this.name);if(!o)throw new Pe(`Couldn't find a binary named "${this.name}" for package "${P.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} +`),0}return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await Zt.getPackageAccessibleBinaries(i,{project:r}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:P.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${P.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};nm.paths=[["bin"]],nm.usage=Re.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var Tse=nm;var sm=class extends Le{constructor(){super(...arguments);this.mirror=W.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=W.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=await Nt.find(e);return(await Je.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await K.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await K.removePromise(r.cwd)})).exitCode()}};sm.paths=[["cache","clean"],["cache","clear"]],sm.usage=Re.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var Ose=sm;var Mse=ge(x0()),LN=ge(require("util")),om=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=W.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=ve.convertMapsToIndexableObjects(s),a=i?(0,Mse.default)(o,i):o,l=await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a} +`),l.exitCode();LN.inspect.styles.name="cyan",this.context.stdout.write(`${(0,LN.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} +`)}return l.exitCode()}};om.paths=[["config","get"]],om.usage=Re.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var Kse=om;var Xoe=ge(HN()),Zoe=ge(x0()),$oe=ge(Voe()),GN=ge(require("util")),Am=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=W.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=W.String();this.value=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new Pe("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${i}"`);if(i==="enableStrictSettings")throw new Pe("This setting only affects the file it's in, and thus cannot be set from the CLI");let o=this.json?JSON.parse(this.value):this.value;await(this.home?h=>we.updateHomeConfiguration(h):h=>we.updateConfiguration(r(),h))(h=>{if(n){let p=(0,Xoe.default)(h);return(0,$oe.default)(p,this.name,o),p}else return ie(N({},h),{[i]:o})});let c=(await we.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=ve.convertMapsToIndexableObjects(c),g=n?(0,Zoe.default)(u,n):u;return(await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async h=>{GN.inspect.styles.name="cyan",h.reportInfo($.UNNAMED,`Successfully set ${this.name} to ${(0,GN.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};Am.paths=[["config","set"]],Am.usage=Re.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var eae=Am;var lae=ge(HN()),cae=ge(kC()),uae=ge(Aae()),lm=class extends Le{constructor(){super(...arguments);this.home=W.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new Pe("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${i}"`);let o=this.home?l=>we.updateHomeConfiguration(l):l=>we.updateConfiguration(r(),l);return(await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async l=>{let c=!1;await o(u=>{if(!(0,cae.default)(u,this.name))return l.reportWarning($.UNNAMED,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),c=!0,u;let g=n?(0,lae.default)(u):N({},u);return(0,uae.default)(g,this.name),g}),c||l.reportInfo($.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};lm.paths=[["config","unset"]],lm.usage=Re.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var gae=lm;var jN=ge(require("util")),cm=class extends Le{constructor(){super(...arguments);this.verbose=W.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=W.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError($.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=ve.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(N({key:s,effective:a,source:l},o))}}else{let n=ve.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${(0,jN.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,jN.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};cm.paths=[["config"]],cm.usage=Re.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]});var fae=cm;Is();var YN={};ft(YN,{Strategy:()=>yu,acceptedStrategies:()=>D8e,dedupe:()=>qN});var hae=ge(rs()),yu;(function(e){e.HIGHEST="highest"})(yu||(yu={}));var D8e=new Set(Object.values(yu)),R8e={highest:async(t,e,{resolver:r,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of t.storedResolutions){let c=t.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);ve.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!hae.default.isMatch(P.stringifyIdent(a),e))return null;let l=t.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=t.originalPackages.get(l);if(typeof c=="undefined"||!r.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let b=t.originalPackages.get(y);if(typeof b=="undefined")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return b.reference}),f=await r.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h=="undefined")return null;let p=h.locatorHash,m=t.originalPackages.get(p);if(typeof m=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:m}})}};async function qN(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new pi,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let f=await R8e[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=Ji.progressViaCounter(f.length);n.reportProgress(h);let p=0;await Promise.all(f.map(b=>b.then(S=>{if(S===null)return;p++;let{descriptor:k,currentPackage:T,updatedPackage:Y}=S;n.reportInfo($.UNNAMED,`${P.prettyDescriptor(s,k)} can be deduped from ${P.prettyLocator(s,T)} to ${P.prettyLocator(s,Y)}`),n.reportJson({descriptor:P.stringifyDescriptor(k),currentResolution:P.stringifyLocator(T),updatedResolution:P.stringifyLocator(Y)}),t.storedResolutions.set(k.descriptorHash,Y.locatorHash)}).finally(()=>h.tick())));let m;switch(p){case 0:m="No packages";break;case 1:m="One package";break;default:m=`${p} packages`}let y=Ae.pretty(s,e,Ae.Type.CODE);return n.reportInfo($.UNNAMED,`${m} can be deduped using the ${y} strategy`),p})}var um=class extends Le{constructor(){super(...arguments);this.strategy=W.String("-s,--strategy",yu.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:nn(yu)});this.check=W.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=W.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.patterns=W.Rest()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd),i=await Nt.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await qN(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await Je.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a,mode:this.mode})})).exitCode()}};um.paths=[["dedupe"]],um.usage=Re.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var pae=um;var nb=class extends Le{async execute(){let{plugins:e}=await we.find(this.context.cwd,this.context.plugins),r=[];for(let o of e){let{commands:a}=o[1];if(a){let c=ys.from(a).definitions();r.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=Cae()["@yarnpkg/builder"].bundles.standard;for(let o of r){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} +`)}};nb.paths=[["--clipanion=definitions"]];var mae=nb;var sb=class extends Le{async execute(){this.context.stdout.write(this.cli.usage(null))}};sb.paths=[["help"],["--help"],["-h"]];var Eae=sb;var JN=class extends Le{constructor(){super(...arguments);this.leadingArgument=W.String();this.args=W.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!P.tryParseIdent(this.leadingArgument)){let e=x.resolve(this.context.cwd,H.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},Iae=JN;var ob=class extends Le{async execute(){this.context.stdout.write(`${Kr||""} +`)}};ob.paths=[["-v"],["--version"]];var yae=ob;var gm=class extends Le{constructor(){super(...arguments);this.commandName=W.String();this.args=W.Proxy()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await ze.find(e,this.context.cwd);return await r.restoreInstallState(),await Zt.executePackageShellcode(i,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:r})}};gm.paths=[["exec"]],gm.usage=Re.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});var wae=gm;Is();var fm=class extends Le{constructor(){super(...arguments);this.hash=W.String({required:!1,validator:hp(fp(),[pp(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await F8e(this.hash,r,{stdout:this.context.stdout}):(await Je.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>P.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>P.stringifyIdent(a.requested)];for(let[a,l]of ve.sortMap(r.peerRequirements,s)){let c=r.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=r.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,f=Ae.pretty(e,a,Ae.Type.CODE),h=P.prettyLocator(e,c),p=P.prettyIdent(e,l.requested),m=P.prettyIdent(e,u),y=l.allRequesters.length-1,b=`descendant${y===1?"":"s"}`,S=y>0?` and ${y} ${b}`:"",k=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${f} \u2192 ${h} ${k} ${p} to ${m}${S}`)}})).exitCode()}};fm.paths=[["explain","peer-requirements"]],fm.usage=Re.Usage({description:"explain a set of peer requirements",details:` + A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. + + When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. + + When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. + + **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var Bae=fm;async function F8e(t,e,r){let{configuration:i}=e,n=e.peerRequirements.get(t);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await Je.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var b,S;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(b=a.dependencies.get(n.requested.identHash))!=null?b:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(k=>{let T=e.storedPackages.get(k);if(typeof T=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let Y=P.devirtualizeLocator(T),j=e.storedPackages.get(Y.locatorHash);if(typeof j=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let Z=j.peerDependencies.get(n.requested.identHash);if(typeof Z=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:T,peerDependency:Z}});if(g!==null){let k=f.every(({peerDependency:T})=>Wt.satisfiesWithPrereleases(g.version,T.range));o.reportInfo($.UNNAMED,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(S=g.version)!=null?S:"")}, which ${k?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo($.UNNAMED,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=Ae.mark(i),p=[];for(let{pkg:k,peerDependency:T}of ve.sortMap(f,Y=>P.stringifyLocator(Y.pkg))){let j=(g!==null?Wt.satisfiesWithPrereleases(g.version,T.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(k),prettyLocator:P.prettyLocator(i,k),prettyRange:P.prettyRange(i,T.range),mark:j})}let m=Math.max(...p.map(({stringifiedLocator:k})=>k.length)),y=Math.max(...p.map(({prettyRange:k})=>k.length));for(let{stringifiedLocator:k,prettyLocator:T,prettyRange:Y,mark:j}of ve.sortMap(p,({stringifiedLocator:Z})=>Z))o.reportInfo(null,`${T.padEnd(m+(T.length-k.length)," ")} \u2192 ${Y.padEnd(y," ")} ${j}`);p.length>1&&(o.reportSeparator(),o.reportInfo($.UNNAMED,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}Is();var bae=ge(ri()),hm=class extends Le{constructor(){super(...arguments);this.onlyIfNeeded=W.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r=()=>{if(typeof Kr=="undefined")throw new Pe("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},i;if(this.version==="self")i=r();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")i=`https://repo.yarnpkg.com/${await pm(e,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")i=`https://repo.yarnpkg.com/${await pm(e,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")i="https://nightly.yarnpkg.com/latest.js";else if(this.version.match(/^https?:/))i=this.version;else if(this.version.match(/^\.{0,2}[\\/]/)||H.isAbsolute(this.version))i=`file://${H.resolve(this.version)}`;else if(Wt.satisfiesWithPrereleases(this.version,">=2.0.0"))i=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(Wt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))i=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(Wt.validRange(this.version))i=`https://repo.yarnpkg.com/${await N8e(e,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new Pe(`Invalid version descriptor "${this.version}"`);return(await Je.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async s=>{let o="file://",a;i.startsWith(o)?(s.reportInfo($.UNNAMED,`Downloading ${Ae.pretty(e,i,Di.URL)}`),a=await K.readFilePromise(H.toPortablePath(i.slice(o.length)))):(s.reportInfo($.UNNAMED,`Retrieving ${Ae.pretty(e,i,Di.PATH)}`),a=await ir.get(i,{configuration:e})),await WN(e,null,a,{report:s})})).exitCode()}};hm.paths=[["set","version"]],hm.usage=Re.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});var Qae=hm;async function N8e(t,e){let i=(await ir.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(n=>Wt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new Pe(`No matching release found for range ${Ae.pretty(t,e,Ae.Type.RANGE)}.`);return i[0]}async function pm(t,e){let r=await ir.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new Pe(`Tag ${Ae.pretty(t,e,Ae.Type.RANGE)} not found`);return r.latest[e]}async function WN(t,e,r,{report:i}){var g;e===null&&await K.mktempPromise(async f=>{let h=x.join(f,"yarn.cjs");await K.writeFilePromise(h,r);let{stdout:p}=await Fr.execvp(process.execPath,[H.fromPortablePath(h),"--version"],{cwd:f,env:ie(N({},process.env),{YARN_IGNORE_PATH:"1"})});if(e=p.trim(),!bae.default.valid(e))throw new Error(`Invalid semver version. ${Ae.pretty(t,"yarn --version",Ae.Type.CODE)} returned: +${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=x.resolve(n,".yarn/releases"),o=x.resolve(s,`yarn-${e}.cjs`),a=x.relative(t.startingCwd,o),l=x.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);if(i.reportInfo($.UNNAMED,`Saving the new release in ${Ae.pretty(t,a,"magenta")}`),await K.removePromise(x.dirname(o)),await K.mkdirPromise(x.dirname(o),{recursive:!0}),await K.writeFilePromise(o,r,{mode:493}),u){await we.updateConfiguration(n,{yarnPath:l});let f=await At.tryFind(n)||new At;f.packageManager=`yarn@${e&&ve.isTaggedYarnVersion(e)?e:await pm(t,"stable")}`;let h={};f.exportTo(h);let p=x.join(n,At.fileName),m=`${JSON.stringify(h,null,f.indent)} +`;await K.changeFilePromise(p,m,{automaticNewlines:!0})}}function vae(t){return $[bI(t)]}var L8e=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
(?:.(?!##))+)/gs;async function T8e(t){let r=`https://repo.yarnpkg.com/${ve.isTaggedYarnVersion(Kr)?Kr:await pm(t,"canary")}/packages/gatsby/content/advanced/error-codes.md`,i=await ir.get(r,{configuration:t});return new Map(Array.from(i.toString().matchAll(L8e),({groups:n})=>{if(!n)throw new Error("Assertion failed: Expected the match to have been successful");let s=vae(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected "${n.name}" to be named "${s}"`);return[n.code,n.details]}))}var dm=class extends Le{constructor(){super(...arguments);this.code=W.String({required:!1,validator:hp(fp(),[pp(/^YN[0-9]{4}$/)])});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins);if(typeof this.code!="undefined"){let r=vae(this.code),i=Ae.pretty(e,r,Ae.Type.CODE),n=this.cli.format().header(`${this.code} - ${i}`),o=(await T8e(e)).get(this.code),a=typeof o!="undefined"?Ae.jsonOrPretty(this.json,e,Ae.tuple(Ae.Type.MARKDOWN,{text:o,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. + +You can help us by editing this page on GitHub \u{1F642}: +${Ae.jsonOrPretty(this.json,e,Ae.tuple(Ae.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))} +`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:r,details:a})} +`):this.context.stdout.write(`${n} + +${a} +`)}else{let r={children:ve.mapAndFilter(Object.entries($),([i,n])=>Number.isNaN(Number(i))?ve.mapAndFilter.skip:{label:qA(Number(i)),value:Ae.tuple(Ae.Type.CODE,n)})};As.emitTree(r,{configuration:e,stdout:this.context.stdout,json:this.json})}}};dm.paths=[["explain"]],dm.usage=Re.Usage({description:"explain an error code",details:` + When the code argument is specified, this command prints its name and its details. + + When used without arguments, this command lists all error codes and their names. + `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});var Sae=dm;var kae=ge(rs()),Cm=class extends Le{constructor(){super(...arguments);this.all=W.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=W.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=W.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=W.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=W.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=W.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=W.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=W.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=W.Rest()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i&&!this.all)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(k,{recursive:T})=>{let Y=k.anchoredLocator.locatorHash,j=new Map,Z=[Y];for(;Z.length>0;){let J=Z.shift();if(j.has(J))continue;let re=r.storedPackages.get(J);if(typeof re=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(j.set(J,re),P.isVirtualLocator(re)&&Z.push(P.devirtualizeLocator(re).locatorHash),!(!T&&J!==Y))for(let ee of re.dependencies.values()){let A=r.storedResolutions.get(ee.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");Z.push(A)}}return j.values()},a=({recursive:k})=>{let T=new Map;for(let Y of r.workspaces)for(let j of o(Y,{recursive:k}))T.set(j.locatorHash,j);return T.values()},l=({all:k,recursive:T})=>k&&T?r.storedPackages.values():k?a({recursive:T}):o(i,{recursive:T}),c=({all:k,recursive:T})=>{let Y=l({all:k,recursive:T}),j=this.patterns.map(re=>{let ee=P.parseLocator(re),A=kae.default.makeRe(P.stringifyIdent(ee)),oe=P.isVirtualLocator(ee),le=oe?P.devirtualizeLocator(ee):ee;return X=>{let O=P.stringifyIdent(X);if(!A.test(O))return!1;if(ee.reference==="unknown")return!0;let L=P.isVirtualLocator(X),pe=L?P.devirtualizeLocator(X):X;return!(oe&&L&&ee.reference!==X.reference||le.reference!==pe.reference)}}),Z=ve.sortMap([...Y],re=>P.stringifyLocator(re));return{selection:Z.filter(re=>j.length===0||j.some(ee=>ee(re))),sortedLookup:Z}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new Pe("No package matched your request");let f=new Map;if(this.dependents)for(let k of g)for(let T of k.dependencies.values()){let Y=r.storedResolutions.get(T.descriptorHash);if(typeof Y=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");ve.getArrayWithDefault(f,Y).push(k)}let h=new Map;for(let k of g){if(!P.isVirtualLocator(k))continue;let T=P.devirtualizeLocator(k);ve.getArrayWithDefault(h,T.locatorHash).push(k)}let p={},m={children:p},y=e.makeFetcher(),b={project:r,fetcher:y,cache:n,checksums:r.storedChecksums,report:new pi,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},S=[async(k,T,Y)=>{var J,re;if(!T.has("manifest"))return;let j=await y.fetch(k,b),Z;try{Z=await At.find(j.prefixPath,{baseFs:j.packageFs})}finally{(J=j.releaseFs)==null||J.call(j)}Y("Manifest",{License:Ae.tuple(Ae.Type.NO_HINT,Z.license),Homepage:Ae.tuple(Ae.Type.URL,(re=Z.raw.homepage)!=null?re:null)})},async(k,T,Y)=>{var A;if(!T.has("cache"))return;let j={mockedPackages:r.disabledLocators,unstablePackages:r.conditionalLocators},Z=(A=r.storedChecksums.get(k.locatorHash))!=null?A:null,J=n.getLocatorPath(k,Z,j),re;if(J!==null)try{re=K.statSync(J)}catch{}let ee=typeof re!="undefined"?[re.size,Ae.Type.SIZE]:void 0;Y("Cache",{Checksum:Ae.tuple(Ae.Type.NO_HINT,Z),Path:Ae.tuple(Ae.Type.PATH,J),Size:ee})}];for(let k of u){let T=P.isVirtualLocator(k);if(!this.virtuals&&T)continue;let Y={},j={value:[k,Ae.Type.LOCATOR],children:Y};if(p[P.stringifyLocator(k)]=j,this.nameOnly){delete j.children;continue}let Z=h.get(k.locatorHash);typeof Z!="undefined"&&(Y.Instances={label:"Instances",value:Ae.tuple(Ae.Type.NUMBER,Z.length)}),Y.Version={label:"Version",value:Ae.tuple(Ae.Type.NO_HINT,k.version)};let J=(ee,A)=>{let oe={};if(Y[ee]=oe,Array.isArray(A))oe.children=A.map(le=>({value:le}));else{let le={};oe.children=le;for(let[X,O]of Object.entries(A))typeof O!="undefined"&&(le[X]={label:X,value:O})}};if(!T){for(let ee of S)await ee(k,s,J);await e.triggerHook(ee=>ee.fetchPackageInfo,k,s,J)}k.bin.size>0&&!T&&J("Exported Binaries",[...k.bin.keys()].map(ee=>Ae.tuple(Ae.Type.PATH,ee)));let re=f.get(k.locatorHash);typeof re!="undefined"&&re.length>0&&J("Dependents",re.map(ee=>Ae.tuple(Ae.Type.LOCATOR,ee))),k.dependencies.size>0&&!T&&J("Dependencies",[...k.dependencies.values()].map(ee=>{var le;let A=r.storedResolutions.get(ee.descriptorHash),oe=typeof A!="undefined"&&(le=r.storedPackages.get(A))!=null?le:null;return Ae.tuple(Ae.Type.RESOLUTION,{descriptor:ee,locator:oe})})),k.peerDependencies.size>0&&T&&J("Peer dependencies",[...k.peerDependencies.values()].map(ee=>{var X,O;let A=k.dependencies.get(ee.identHash),oe=typeof A!="undefined"&&(X=r.storedResolutions.get(A.descriptorHash))!=null?X:null,le=oe!==null&&(O=r.storedPackages.get(oe))!=null?O:null;return Ae.tuple(Ae.Type.RESOLUTION,{descriptor:ee,locator:le})}))}As.emitTree(m,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};Cm.paths=[["info"]],Cm.usage=Re.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var xae=Cm;var ab=ge(pc());Is();var mm=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=W.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=W.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=W.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=W.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=W.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.cacheFolder=W.String("--cache-folder",{hidden:!0});this.frozenLockfile=W.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=W.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=W.Boolean("--non-interactive",{hidden:!0});this.preferOffline=W.Boolean("--prefer-offline",{hidden:!0});this.production=W.Boolean("--production",{hidden:!0});this.registry=W.String("--registry",{hidden:!0});this.silent=W.Boolean("--silent",{hidden:!0});this.networkTimeout=W.String("--network-timeout",{hidden:!0})}async execute(){var g;let e=await we.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let r=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,i=async(f,{error:h})=>{let p=await Je.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async m=>{h?m.reportError($.DEPRECATED_CLI_SETTINGS,f):m.reportWarning($.DEPRECATED_CLI_SETTINGS,f)});return p.hasErrors()?p.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let f=await i("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!ab.default.VERCEL});if(f!==null)return f}if(typeof this.registry!="undefined"){let f=await i("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(f!==null)return f}if(typeof this.preferOffline!="undefined"){let f=await i("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!ab.default.VERCEL});if(f!==null)return f}if(typeof this.production!="undefined"){let f=await i("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(f!==null)return f}if(typeof this.nonInteractive!="undefined"){let f=await i("The --non-interactive option is deprecated",{error:!r});if(f!==null)return f}if(typeof this.frozenLockfile!="undefined"&&(await i("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!="undefined"){let f=await i("The cache-folder option has been deprecated; use rc settings instead",{error:!ab.default.NETLIFY});if(f!==null)return f}let n=this.mode===di.UpdateLockfile;if(n&&(this.immutable||this.immutableCache))throw new Pe(`${Ae.pretty(e,"--immutable",Ae.Type.CODE)} and ${Ae.pretty(e,"--immutable-cache",Ae.Type.CODE)} cannot be used with ${Ae.pretty(e,"--mode=update-lockfile",Ae.Type.CODE)}`);let s=((g=this.immutable)!=null?g:e.get("enableImmutableInstalls"))&&!n,o=this.immutableCache&&!n;if(e.projectCwd!==null){let f=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{await O8e(e,s)&&(h.reportInfo($.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts \u{1F44D}"),h.reportSeparator())});if(f.hasErrors())return f.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get("nodeLinker")=="undefined"){let f=e.projectCwd,h;try{h=await K.readFilePromise(x.join(f,Pt.lockfile),"utf8")}catch{}if(h==null?void 0:h.includes("yarn lockfile v1")){let p=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async m=>{m.reportInfo($.AUTO_NM_SUCCESS,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),m.reportSeparator(),e.use("",{nodeLinker:"node-modules"},f,{overwrite:!0}),await we.updateConfiguration(f,{nodeLinker:"node-modules"})});if(p.hasErrors())return p.exitCode()}}if(e.projectCwd!==null){let f=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{var p;((p=we.telemetry)==null?void 0:p.isNew)&&(h.reportInfo($.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),h.reportInfo($.TELEMETRY_NOTICE,`Run ${Ae.pretty(e,"yarn config set --home enableTelemetry 0",Ae.Type.CODE)} to disable`),h.reportSeparator())});if(f.hasErrors())return f.exitCode()}let{project:a,workspace:l}=await ze.find(e,this.context.cwd),c=await Nt.find(e,{immutable:o,check:this.checkCache});if(!l)throw new ht(a.cwd,this.context.cwd);return await a.restoreInstallState({restoreResolutions:!1}),(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async f=>{await a.install({cache:c,report:f,immutable:s,mode:this.mode})})).exitCode()}};mm.paths=[["install"],Re.Default],mm.usage=Re.Usage({description:"install the project dependencies",details:` + This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics: + + - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). + + - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \`cacheFolder\` in \`yarn config\` to see where the cache files are stored). + + - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know). + + - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail. + + Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches. + + If the \`--immutable\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \`immutablePatterns\` configuration setting). For backward compatibility we offer an alias under the name of \`--frozen-lockfile\`, but it will be removed in a later release. + + If the \`--immutable-cache\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed). + + If the \`--check-cache\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them. + + If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var Pae=mm,M8e="|||||||",K8e=">>>>>>>",U8e="=======",Dae="<<<<<<<";async function O8e(t,e){if(!t.projectCwd)return!1;let r=x.join(t.projectCwd,t.get("lockfileFilename"));if(!await K.existsPromise(r))return!1;let i=await K.readFilePromise(r,"utf8");if(!i.includes(Dae))return!1;if(e)throw new ct($.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=H8e(i),o,a;try{o=Qi(n),a=Qi(s)}catch(c){throw new ct($.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=N(N({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await K.changeFilePromise(r,La(l),{automaticNewlines:!0}),!0}function H8e(t){let e=[[],[]],r=t.split(/\r?\n/g),i=!1;for(;r.length>0;){let n=r.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(Dae)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===U8e){i=!1;break}else if(i||s.startsWith(M8e)){i=!0;continue}else e[0].push(s)}for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(K8e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` +`),e[1].join(` +`)]}var Em=class extends Le{constructor(){super(...arguments);this.all=W.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=W.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=W.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=x.resolve(this.context.cwd,H.toPortablePath(this.destination)),o=await we.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await ze.find(o,s);if(r.cwd===a.cwd)throw new Pe("Invalid destination; Can't link the project to itself");if(!l)throw new ht(a.cwd,s);let c=r.topLevelWorkspace,u=[];if(this.all){for(let f of a.workspaces)f.manifest.name&&(!f.manifest.private||this.private)&&u.push(f);if(u.length===0)throw new Pe("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new Pe("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new Pe("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let f of u){let h=P.stringifyIdent(f.locator),p=this.relative?x.relative(r.cwd,f.cwd):f.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${p}`})}return(await Je.start({configuration:e,stdout:this.context.stdout},async f=>{await r.install({cache:n,report:f})})).exitCode()}};Em.paths=[["link"]],Em.usage=Re.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var Rae=Em;var Im=class extends Le{constructor(){super(...arguments);this.args=W.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Im.paths=[["node"]],Im.usage=Re.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var Fae=Im;var Gae=ge(require("os"));var Lae=ge(require("os"));var G8e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function wu(t){let e=await ir.get(G8e,{configuration:t});return Qi(e.toString())}var ym=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await wu(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=Tr(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(N({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};ym.paths=[["plugin","list"]],ym.usage=Re.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var Nae=ym;var j8e=/^[0-9]+$/;function Tae(t){return j8e.test(t)?`pull/${t}/head`:t}var Y8e=({repository:t,branch:e},r)=>[["git","init",H.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",Tae(e)],["git","reset","--hard","FETCH_HEAD"]],q8e=({branch:t})=>[["git","fetch","origin","--depth=1",Tae(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],J8e=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",x.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],wm=class extends Le{constructor(){super(...arguments);this.installPath=W.String("--path",{description:"The path where the repository should be cloned to"});this.repository=W.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=W.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=W.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=W.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=W.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=W.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?x.resolve(this.context.cwd,H.toPortablePath(this.installPath)):x.resolve(H.toPortablePath((0,Lae.tmpdir)()),"yarnpkg-sources",Dn.makeHash(this.repository).slice(0,6));return(await Je.start({configuration:e,stdout:this.context.stdout},async s=>{await _N(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo($.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await Bm(J8e(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=x.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await K.readFilePromise(o);await WN(e,"sources",a,{report:s}),this.skipPlugins||await W8e(this,{project:r,report:s,target:i})})).exitCode()}};wm.paths=[["set","version","from","sources"]],wm.usage=Re.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]});var Oae=wm;async function Bm(t,{configuration:e,context:r,target:i}){for(let[n,...s]of t){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await Fr.pipevp(n,s,{cwd:i,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${Ae.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} +`);try{await Fr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function _N(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&K.existsSync(x.join(i,".git"))){r.reportInfo($.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await Bm(q8e(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning($.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo($.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await K.removePromise(i),await K.mkdirPromise(i,{recursive:!0}),await Bm(Y8e(t,i),{configuration:e,context:t.context,target:i}))}async function W8e(t,{project:e,report:r,target:i}){let n=await wu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await zN(o,t,{project:e,report:r,target:i})}var Mae=ge(ri()),Kae=ge(require("url")),Uae=ge(require("vm"));var bm=class extends Le{constructor(){super(...arguments);this.name=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await ze.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||H.isAbsolute(this.name)){let a=x.resolve(this.context.cwd,H.toPortablePath(this.name));i.reportInfo($.UNNAMED,`Reading ${Ae.pretty(e,a,Ae.Type.PATH)}`),s=x.relative(n.cwd,a),o=await K.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new Kae.URL(this.name)}catch{throw new ct($.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=P.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!Mae.default.valid(l.reference))throw new ct($.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=P.stringifyIdent(l),u=await wu(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new ct($.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):Kr!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Kr}/`))}i.reportInfo($.UNNAMED,`Downloading ${Ae.pretty(e,a,"green")}`),o=await ir.get(a,{configuration:e})}await VN(s,o,{project:n,report:i})})).exitCode()}};bm.paths=[["plugin","import"]],bm.usage=Re.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var Hae=bm;async function VN(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};(0,Uae.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=x.resolve(r.cwd,l);i.reportInfo($.UNNAMED,`Saving the new plugin in ${Ae.pretty(n,l,"magenta")}`),await K.mkdirPromise(x.dirname(c),{recursive:!0}),await K.writeFilePromise(c,e);let u={path:l,spec:t};await we.updateConfiguration(r.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let m=typeof p!="string"?p.path:p,y=x.resolve(r.cwd,H.toPortablePath(m)),{name:b}=ve.dynamicRequire(y);b!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),ie(N({},g),{plugins:f})})}var z8e=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],Qm=class extends Le{constructor(){super(...arguments);this.installPath=W.String("--path",{description:"The path where the repository should be cloned to"});this.repository=W.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=W.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=W.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=W.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?x.resolve(this.context.cwd,H.toPortablePath(this.installPath)):x.resolve(H.toPortablePath((0,Gae.tmpdir)()),"yarnpkg-sources",Dn.makeHash(this.repository).slice(0,6));return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await ze.find(e,this.context.cwd),o=P.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=P.stringifyIdent(o),l=await wu(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new ct($.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await _N(this,{configuration:e,report:n,target:r}),await zN(c,this,{project:s,report:n,target:r})})).exitCode()}};Qm.paths=[["plugin","import","from","sources"]],Qm.usage=Re.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var jae=Qm;async function zN(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo($.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await Bm(z8e({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=x.resolve(s,`packages/${o}/bundles/${t}.js`),c=await K.readFilePromise(l);await VN(t,c,{project:i,report:n})}var vm=class extends Le{constructor(){super(...arguments);this.name=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd);return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=P.parseIdent(s);if(!e.plugins.has(s))throw new Pe(`${P.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=x.resolve(r.cwd,a);K.existsSync(l)&&(n.reportInfo($.UNNAMED,`Removing ${Ae.pretty(e,a,Ae.Type.PATH)}...`),await K.removePromise(l)),n.reportInfo($.UNNAMED,"Updating the configuration..."),await we.updateConfiguration(r.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:ie(N({},c),{plugins:u})})})).exitCode()}};vm.paths=[["plugin","remove"]],vm.usage=Re.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var Yae=vm;var Sm=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};Sm.paths=[["plugin","runtime"]],Sm.usage=Re.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var qae=Sm;var km=class extends Le{constructor(){super(...arguments);this.idents=W.Rest()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(P.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new pi}),s.size>0)for(let a of r.storedPackages.values())s.has(a.identHash)&&r.storedBuildState.delete(a.locatorHash);else r.storedBuildState.clear();return(await Je.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};km.paths=[["rebuild"]],km.usage=Re.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var Jae=km;var XN=ge(rs());Is();var xm=class extends Le{constructor(){super(...arguments);this.all=W.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=W.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.patterns=W.Rest()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[Hr.REGULAR,Hr.DEVELOPMENT,Hr.PEER],a=[],l=!1,c=[];for(let h of this.patterns){let p=!1,m=P.parseIdent(h);for(let y of s){let b=[...y.manifest.peerDependenciesMeta.keys()];for(let S of(0,XN.default)(b,h))y.manifest.peerDependenciesMeta.delete(S),l=!0,p=!0;for(let S of o){let k=y.manifest.getForScope(S),T=[...k.values()].map(Y=>P.stringifyIdent(Y));for(let Y of(0,XN.default)(T,P.stringifyIdent(m))){let{identHash:j}=P.parseIdent(Y),Z=k.get(j);if(typeof Z=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");y.manifest[S].delete(j),c.push([y,S,Z]),l=!0,p=!0}}}p||a.push(h)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",f=this.all?"any":"this";if(a.length>0)throw new Pe(`${u} ${Ae.prettyList(e,a,Di.CODE)} ${g} match any packages referenced by ${f} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await Je.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p,mode:this.mode})})).exitCode()):0}};xm.paths=[["remove"]],xm.usage=Re.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var Wae=xm;var zae=ge(require("util")),Ab=class extends Le{async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);return(await Je.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=ve.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,zae.inspect)(g,l)}`)})).exitCode()}};Ab.paths=[["run"]];var _ae=Ab;var Pm=class extends Le{constructor(){super(...arguments);this.inspect=W.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=W.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=W.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=W.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.silent=W.Boolean("--silent",{hidden:!0});this.scriptName=W.String();this.args=W.Proxy()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await ze.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Zt.hasPackageScript(s,this.scriptName,{project:r}))return await Zt.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await Zt.getPackageAccessibleBinaries(s,{project:r});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await Zt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(r.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await Zt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new Pe(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new Pe(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new Pe("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of Tf)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new Pe(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new Pe(`Couldn't find a script named "${this.scriptName}".`)}}};Pm.paths=[["run"]],Pm.usage=Re.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var Vae=Pm;var Dm=class extends Le{constructor(){super(...arguments);this.save=W.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=W.String();this.resolution=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new ht(r.cwd,this.context.cwd);let s=P.parseDescriptor(this.descriptor,!0),o=P.makeDescriptor(s,this.resolution);return r.storedDescriptors.set(s.descriptorHash,s),r.storedDescriptors.set(o.descriptorHash,o),r.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Dm.paths=[["set","resolution"]],Dm.usage=Re.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var Xae=Dm;var Zae=ge(rs()),Rm=class extends Le{constructor(){super(...arguments);this.all=W.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=W.Rest()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);let s=r.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith("portal:")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=x.resolve(this.context.cwd,H.toPortablePath(l));if(ve.isPathLike(l)){let u=await we.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:f}=await ze.find(u,c);if(!f)throw new ht(g.cwd,c);if(this.all){for(let h of g.workspaces)h.manifest.name&&o.add(P.stringifyIdent(h.locator));if(o.size===0)throw new Pe("No workspace found to be unlinked in the target project")}else{if(!f.manifest.name)throw new Pe("The target workspace doesn't have a name and thus cannot be unlinked");o.add(P.stringifyIdent(f.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,Zae.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Rm.paths=[["unlink"]],Rm.usage=Re.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var $ae=Rm;var eAe=ge(em()),ZN=ge(rs());Is();var rh=class extends Le{constructor(){super(...arguments);this.interactive=W.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=W.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=W.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=W.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=W.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=W.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.patterns=W.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>P.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(P.parseDescriptor(u).range!=="unknown")throw new Pe("Ranges aren't allowed when using --recursive");for(let g of(0,ZN.default)(o,u)){let f=P.parseIdent(g);a.add(f.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)r.storedDescriptors.delete(u.descriptorHash),r.storedResolutions.delete(u.descriptorHash);return(await Je.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var m;let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=tm(this,r),a=s?[Vr.KEEP,Vr.REUSE,Vr.PROJECT,Vr.LATEST]:[Vr.PROJECT,Vr.LATEST],l=[],c=[];for(let y of this.patterns){let b=!1,S=P.parseDescriptor(y);for(let k of r.workspaces)for(let T of[Hr.REGULAR,Hr.DEVELOPMENT]){let j=[...k.manifest.getForScope(T).values()].map(Z=>P.stringifyIdent(Z));for(let Z of(0,ZN.default)(j,P.stringifyIdent(S))){let J=P.parseIdent(Z),re=k.manifest[T].get(J.identHash);if(typeof re=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let ee=P.makeDescriptor(J,S.range);l.push(Promise.resolve().then(async()=>[k,T,re,await rm(ee,{project:r,workspace:k,cache:n,target:T,modifier:o,strategies:a})])),b=!0}}b||c.push(y)}if(c.length>1)throw new Pe(`Patterns ${Ae.prettyList(e,c,Di.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new Pe(`Pattern ${Ae.prettyList(e,c,Di.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await gA.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async y=>{for(let[,,b,{suggestions:S,rejections:k}]of u){let T=S.filter(Y=>Y.descriptor!==null);if(T.length===0){let[Y]=k;if(typeof Y=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let j=this.cli.error(Y);r.configuration.get("enableNetwork")?y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range + +${j}`):y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${j}`)}else T.length>1&&!s&&y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[];for(let[y,b,,{suggestions:S}]of u){let k,T=S.filter(J=>J.descriptor!==null),Y=T[0].descriptor,j=T.every(J=>P.areDescriptorsEqual(J.descriptor,Y));T.length===1||j?k=Y:(f=!0,{answer:k}=await(0,eAe.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${P.prettyWorkspace(e,y)} \u276F ${b}?`,choices:S.map(({descriptor:J,name:re,reason:ee})=>J?{name:re,hint:ee,descriptor:J}:{name:re,hint:ee,disabled:!0}),onCancel:()=>process.exit(130),result(J){return this.find(J,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let Z=y.manifest[b].get(k.identHash);if(typeof Z=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(Z.descriptorHash!==k.descriptorHash)y.manifest[b].set(k.identHash,k),h.push([y,b,Z,k]);else{let J=e.makeResolver(),re={project:r,resolver:J},ee=J.bindDescriptor(Z,y.anchoredLocator,re);r.forgetResolution(ee)}}return await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyReplacement,h),f&&this.context.stdout.write(` +`),(await Je.start({configuration:e,stdout:this.context.stdout},async y=>{await r.install({cache:n,report:y,mode:this.mode})})).exitCode()}};rh.paths=[["up"]],rh.usage=Re.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),rh.schema=[gv("recursive",mc.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var tAe=rh;var Fm=class extends Le{constructor(){super(...arguments);this.recursive=W.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=W.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let n=P.parseIdent(this.package).identHash,s=this.recursive?V8e(r,n,{configuration:e,peers:this.peers}):_8e(r,n,{configuration:e,peers:this.peers});As.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};Fm.paths=[["why"]],Fm.usage=Re.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var rAe=Fm;function _8e(t,e,{configuration:r,peers:i}){let n=ve.sortMap(t.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=t.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=t.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;if(c===null){let p=P.stringifyLocator(a);s[p]={value:[a,Ae.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},Ae.Type.DEPENDENT]}}}return o}function V8e(t,e,{configuration:r,peers:i}){let n=ve.sortMap(t.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let m=t.storedResolutions.get(p.descriptorHash);if(!m)throw new Error("Assertion failed: The resolution should have been registered");let y=t.storedPackages.get(m);if(!y)throw new Error("Assertion failed: The package should have been registered");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let m=p!==null?Ae.tuple(Ae.Type.DEPENDENT,{locator:f,descriptor:p}):Ae.tuple(Ae.Type.LOCATOR,f),y={},b={value:m,children:y},S=P.stringifyLocator(f);if(h[S]=b,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(f))))for(let k of f.dependencies.values()){if(!i&&f.peerDependencies.has(k.identHash))continue;let T=t.storedResolutions.get(k.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let Y=t.storedPackages.get(T);if(!Y)throw new Error("Assertion failed: The package should have been registered");g(Y,y,k)}};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var cL={};ft(cL,{default:()=>C4e,gitUtils:()=>Bu});var Bu={};ft(Bu,{TreeishProtocols:()=>On,clone:()=>aL,fetchBase:()=>BAe,fetchChangedFiles:()=>bAe,fetchChangedWorkspaces:()=>p4e,fetchRoot:()=>wAe,isGitUrl:()=>nh,lsRemote:()=>yAe,normalizeLocator:()=>nL,normalizeRepoUrl:()=>Nm,resolveUrl:()=>oL,splitRepoUrl:()=>Lm});var rL=ge(CAe()),mAe=ge(rB()),ih=ge(require("querystring")),iL=ge(ri()),EAe=ge(require("url"));function IAe(){return ie(N({},process.env),{GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`})}var h4e=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],On;(function(n){n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver"})(On||(On={}));function nh(t){return t?h4e.some(e=>!!t.match(e)):!1}function Lm(t){t=Nm(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:On.Head,request:"HEAD"},extra:{}};let r=t.slice(0,e),i=t.slice(e+1);if(i.match(/^[a-z]+=/)){let n=ih.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(On).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=On.Head,a="HEAD");for(let l of Object.values(On))delete n[l];return{repo:r,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:r,treeish:{protocol:s,request:o},extra:{}}}}function Nm(t,{git:e=!1}={}){var r;if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){t=t.replace(/^git\+([^:]+):/,"$1:");let i;try{i=EAe.default.parse(t)}catch{i=null}i&&i.protocol==="ssh:"&&((r=i.path)==null?void 0:r.startsWith("/:"))&&(t=t.replace(/^ssh:\/\//,""))}return t}function nL(t){return P.makeLocator(t,Nm(t.reference))}async function yAe(t,e){let r=Nm(t,{git:!0});if(!ir.getNetworkSettings(`https://${(0,rL.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let n=await sL("listing refs",["ls-remote",r],{cwd:e.startingCwd,env:IAe()},{configuration:e,normalizedRepoUrl:r}),s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function oL(t,e){let{repo:r,treeish:{protocol:i,request:n},extra:s}=Lm(t),o=await yAe(r,e),a=(c,u)=>{switch(c){case On.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return ih.default.stringify(ie(N({},s),{commit:u}))}case On.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return ih.default.stringify(ie(N({},s),{commit:g}))}case On.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return ih.default.stringify(ie(N({},s),{commit:g}))}case On.Semver:{let g=Wt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,m])=>[iL.default.parse(p.slice(10)),m]).filter(p=>p[0]!==null)),h=iL.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return ih.default.stringify(ie(N({},s),{commit:f.get(h)}))}case null:{let g;if((g=l(On.Commit,u))!==null||(g=l(On.Tag,u))!==null||(g=l(On.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${r}#${a(i,n)}`}async function aL(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:i,request:n}}=Lm(t);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=Nm(r,{git:!0});if(ir.getNetworkSettings(`https://${(0,rL.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await K.mktempPromise(),a={cwd:o,env:IAe()};return await sL("cloning the repository",["clone","-c core.autocrlf=false",s,H.fromPortablePath(o)],a,{configuration:e,normalizedRepoUrl:s}),await sL("switching branch",["checkout",`${n}`],a,{configuration:e,normalizedRepoUrl:s}),o})}async function wAe(t){let e=null,r,i=t;do r=i,await K.existsPromise(x.join(r,".git"))&&(e=r),i=x.dirname(r);while(e===null&&i!==r);return e}async function BAe(t,{baseRefs:e}){if(e.length===0)throw new Pe("Can't run this command with zero base refs specified.");let r=[];for(let a of e){let{code:l}=await Fr.execvp("git",["merge-base",a,"HEAD"],{cwd:t});l===0&&r.push(a)}if(r.length===0)throw new Pe(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await Fr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),n=i.trim(),{stdout:s}=await Fr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:t,strict:!0}),o=s.trim();return{hash:n,title:o}}async function bAe(t,{base:e,project:r}){let i=ve.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:n}=await Fr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(t,H.toPortablePath(c))),{stdout:o}=await Fr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(t,H.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!x.relative(r.cwd,c).match(i)):l}async function p4e({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new Pe("This command can only be run from within a Yarn project");let r=[x.resolve(e.cwd,e.configuration.get("cacheFolder")),x.resolve(e.cwd,e.configuration.get("installStatePath")),x.resolve(e.cwd,e.configuration.get("lockfileFilename")),x.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&r.push(o)});let i=await wAe(e.configuration.projectCwd);if(i==null)throw new Pe("This command can only be run on Git repositories");let n=await BAe(i,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),s=await bAe(i,{base:n.hash,project:e});return new Set(ve.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?ve.mapAndFilter.skip:r.some(l=>o.startsWith(l))?ve.mapAndFilter.skip:a}))}async function sL(t,e,r,{configuration:i,normalizedRepoUrl:n}){try{return await Fr.execvp("git",e,ie(N({},r),{strict:!0}))}catch(s){if(!(s instanceof Fr.ExecError))throw s;let o=s.reportExtra,a=s.stderr.toString();throw new ct($.EXCEPTION,`Failed ${t}`,l=>{l.reportError($.EXCEPTION,` ${Ae.prettyField(i,{label:"Repository URL",value:Ae.tuple(Ae.Type.URL,n)})}`);for(let c of a.matchAll(/^(.+?): (.*)$/gm)){let[,u,g]=c;u=u.toLowerCase();let f=u==="error"?"Error":`${(0,mAe.default)(u)} Error`;l.reportError($.EXCEPTION,` ${Ae.prettyField(i,{label:f,value:Ae.tuple(Ae.Type.NO_HINT,g)})}`)}o==null||o(l)})}}var AL=class{supports(e,r){return nh(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,n=nL(e),s=new Map(r.checksums);s.set(n.locatorHash,i);let o=ie(N({},r),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:l,releaseFs:c,prefixPath:P.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,r){return r.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let i=await aL(e.reference,r.project.configuration),n=Lm(e.reference),s=x.join(i,"package.tgz");await Zt.prepareExternalProject(i,s,{configuration:r.project.configuration,report:r.report,workspace:n.extra.workspace,locator:e});let o=await K.readFilePromise(s);return await ve.releaseAfterUseAsync(async()=>await wi.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}))}};var lL=class{supportsDescriptor(e,r){return nh(e.range)}supportsLocator(e,r){return nh(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=await oL(e.range,i.project.configuration);return[P.makeLocator(e,n)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await ve.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return ie(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var d4e={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:ye.STRING,isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:ye.STRING,default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:ye.NUMBER,default:2}},fetchers:[AL],resolvers:[lL]};var C4e=d4e;var Tm=class extends Le{constructor(){super(...arguments);this.since=W.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=W.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.verbose=W.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{let s=this.since?await Bu.fetchChangedWorkspaces({ref:this.since,project:r}):r.workspaces,o=new Set(s);if(this.recursive)for(let a of[...s].map(l=>l.getRecursiveWorkspaceDependents()))for(let l of a)o.add(l);for(let a of o){let{manifest:l}=a,c;if(this.verbose){let u=new Set,g=new Set;for(let f of At.hardDependencies)for(let[h,p]of l.getForScope(f)){let m=r.tryWorkspaceByDescriptor(p);m===null?r.workspacesByIdent.has(h)&&g.add(p):u.add(m)}c={workspaceDependencies:Array.from(u).map(f=>f.relativeCwd),mismatchedWorkspaceDependencies:Array.from(g).map(f=>P.stringifyDescriptor(f))}}n.reportInfo(null,`${a.relativeCwd}`),n.reportJson(N({location:a.relativeCwd,name:l.name?P.stringifyIdent(l.name):null},c))}})).exitCode()}};Tm.paths=[["workspaces","list"]],Tm.usage=Re.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var QAe=Tm;var Om=class extends Le{constructor(){super(...arguments);this.workspaceName=W.String();this.commandName=W.String();this.args=W.Proxy()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=P.convertToIdent(a.locator);return[P.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new Pe(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${a.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};Om.paths=[["workspace"]],Om.usage=Re.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var vAe=Om;var m4e={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:ye.BOOLEAN,default:SAe.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:ye.STRING,values:["^","~",""],default:ga.CARET}},commands:[Ose,Kse,eae,gae,Xae,Oae,Qae,QAe,mae,Eae,Iae,yae,Lse,Tse,fae,pae,wae,Bae,Sae,xae,Pae,Rae,$ae,Fae,jae,Hae,Yae,Nae,qae,Jae,Wae,_ae,Vae,tAe,rAe,vAe]},E4e=m4e;var pL={};ft(pL,{default:()=>y4e});var qe={optional:!0},kAe=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:qe,zenObservable:qe}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:qe,zenObservable:qe}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:qe}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:qe,["postcss-jsx"]:qe,["postcss-less"]:qe,["postcss-markdown"]:qe,["postcss-scss"]:qe}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:qe}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:qe}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:qe,"vue-template-compiler":qe}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:qe,"utf-8-validate":qe}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":qe,"vuetify-loader":qe}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":qe}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":qe}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":qe}}],["consolidate@*",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:qe,tinyliquid:qe,"liquid-node":qe,jade:qe,"then-jade":qe,dust:qe,"dustjs-helpers":qe,"dustjs-linkedin":qe,swig:qe,"swig-templates":qe,"razor-tmpl":qe,atpl:qe,liquor:qe,twig:qe,ejs:qe,eco:qe,jazz:qe,jqtpl:qe,hamljs:qe,hamlet:qe,whiskers:qe,"haml-coffee":qe,"hogan.js":qe,templayed:qe,handlebars:qe,underscore:qe,lodash:qe,pug:qe,"then-pug":qe,qejs:qe,walrus:qe,mustache:qe,just:qe,ect:qe,mote:qe,toffee:qe,dot:qe,"bracket-template":qe,ractive:qe,nunjucks:qe,htmling:qe,"babel-core":qe,plates:qe,"react-dom":qe,react:qe,"arc-templates":qe,vash:qe,slm:qe,marko:qe,teacup:qe,"coffee-script":qe,squirrelly:qe,twing:qe}}],["vue-loader@<=16.3.1",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"}}],["scss-parser@*",{dependencies:{lodash:"^4.17.21"}}],["query-ast@*",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:qe}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:qe}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":qe,"webpack-command":qe}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":qe}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":qe}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:qe,jimp:qe}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":qe,"eslint-import-resolver-typescript":qe,"eslint-import-resolver-webpack":qe,"@typescript-eslint/parser":qe}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":qe}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":qe}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:qe}}],["@vue/eslint-config-typescript@*",{peerDependenciesMeta:{typescript:qe}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}]];var gL;function xAe(){return typeof gL=="undefined"&&(gL=require("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),gL}var fL;function PAe(){return typeof fL=="undefined"&&(fL=require("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),fL}var hL;function DAe(){return typeof hL=="undefined"&&(hL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),hL}var RAe=new Map([[P.makeIdent(null,"fsevents").identHash,xAe],[P.makeIdent(null,"resolve").identHash,PAe],[P.makeIdent(null,"typescript").identHash,DAe]]),I4e={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,i]of kAe)e(P.parseDescriptor(r,!0),i)},getBuiltinPatch:async(t,e)=>{var s;let r="compat/";if(!e.startsWith(r))return;let i=P.parseIdent(e.slice(r.length)),n=(s=RAe.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(t,e,r,i)=>typeof RAe.get(t.identHash)=="undefined"?t:P.makeDescriptor(t,P.makeRange({protocol:"patch:",source:P.stringifyDescriptor(t),selector:`~builtin`,params:null}))}},y4e=I4e;var dL={};ft(dL,{default:()=>B4e});var lb=class extends Le{constructor(){super(...arguments);this.pkg=W.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=W.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=W.String();this.args=W.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let r=P.parseIdent(this.command),i=P.makeIdent(r.scope,`create-${r.name}`);return this.cli.run(["dlx",...e,P.stringifyIdent(i),...this.args])}};lb.paths=[["create"]];var FAe=lb;var Mm=class extends Le{constructor(){super(...arguments);this.packages=W.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=W.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=W.String();this.args=W.Proxy()}async execute(){return we.telemetry=null,await K.mktempPromise(async e=>{var p;let r=x.join(e,`dlx-${process.pid}`);await K.mkdirPromise(r),await K.writeFilePromise(x.join(r,"package.json"),`{} +`),await K.writeFilePromise(x.join(r,"yarn.lock"),"");let i=x.join(r,".yarnrc.yml"),n=await we.findProjectCwd(this.context.cwd,Pt.lockfile),s=!(await we.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?x.join(n,".yarnrc.yml"):null;o!==null&&K.existsSync(o)?(await K.copyFilePromise(o,i),await we.updateConfiguration(r,m=>{let y=ie(N({},m),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(m.plugins)&&(y.plugins=m.plugins.map(b=>{let S=typeof b=="string"?b:b.path,k=H.isAbsolute(S)?S:H.resolve(H.fromPortablePath(n),S);return typeof b=="string"?k:{path:k,spec:b.spec}})),y})):await K.writeFilePromise(i,`enableGlobalCache: ${s} +enableTelemetry: false +`);let a=(p=this.packages)!=null?p:[this.command],l=P.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:r,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(` +`);let u=await we.find(r,this.context.plugins),{project:g,workspace:f}=await ze.find(u,r);if(f===null)throw new ht(g.cwd,r);await g.restoreInstallState();let h=await Zt.getWorkspaceAccessibleBinaries(f);return h.has(l)===!1&&h.size===1&&typeof this.packages=="undefined"&&(l=Array.from(h)[0][0]),await Zt.executeWorkspaceAccessibleBinary(f,l,this.args,{packageAccessibleBinaries:h,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Mm.paths=[["dlx"]],Mm.usage=Re.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var NAe=Mm;var w4e={commands:[FAe,NAe]},B4e=w4e;var QL={};ft(QL,{default:()=>v4e,fileUtils:()=>CL});var sh=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Km=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Xr="file:";var CL={};ft(CL,{makeArchiveFromLocator:()=>cb,makeBufferFromLocator:()=>IL,makeLocator:()=>EL,makeSpec:()=>LAe,parseSpec:()=>mL});function mL(t){let{params:e,selector:r}=P.parseRange(t),i=H.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?P.parseLocator(e.locator):null,path:i}}function LAe({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:P.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return P.makeRange({protocol:i,source:e,selector:e,params:N(N({},s),n)})}function EL(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return P.makeLocator(t,LAe({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function cb(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(t.reference,{protocol:e}),o=x.isAbsolute(s)?{packageFs:new _t(Ke.root),prefixPath:Ke.dot,localPath:Ke.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new _t(Ke.root),prefixPath:x.relative(Ke.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=x.join(a.prefixPath,s);return await ve.releaseAfterUseAsync(async()=>await wi.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function IL(t,{protocol:e,fetchOptions:r}){return(await cb(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var yL=class{supports(e,r){return!!e.reference.startsWith(Xr)}getLocalPath(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:Xr});if(x.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:x.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return cb(e,{protocol:Xr,fetchOptions:r})}};var b4e=2,wL=class{supportsDescriptor(e,r){return e.range.match(sh)?!0:!!e.range.startsWith(Xr)}supportsLocator(e,r){return!!e.reference.startsWith(Xr)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return sh.test(e.range)&&(e=P.makeDescriptor(e,`${Xr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=mL(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await IL(P.makeLocator(e,P.makeRange({protocol:Xr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:Xr,fetchOptions:i.fetchOptions}),a=Dn.makeHash(`${b4e}`,o).slice(0,6);return[EL(e,{parentLocator:s,path:n,folderHash:a,protocol:Xr})]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await ve.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return ie(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var BL=class{supports(e,r){return Km.test(e.reference)?!!e.reference.startsWith(Xr):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:Xr}),s=x.isAbsolute(n)?{packageFs:new _t(Ke.root),prefixPath:Ke.dot,localPath:Ke.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new _t(Ke.root),prefixPath:x.relative(Ke.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.join(o.prefixPath,n),c=await a.readFilePromise(l);return await ve.releaseAfterUseAsync(async()=>await wi.convertToZip(c,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var bL=class{supportsDescriptor(e,r){return Km.test(e.range)?!!(e.range.startsWith(Xr)||sh.test(e.range)):!1}supportsLocator(e,r){return Km.test(e.reference)?!!e.reference.startsWith(Xr):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return sh.test(e.range)&&(e=P.makeDescriptor(e,`${Xr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range;return n.startsWith(Xr)&&(n=n.slice(Xr.length)),[P.makeLocator(e,`${Xr}${H.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await ve.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return ie(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Q4e={fetchers:[BL,yL],resolvers:[bL,wL]},v4e=Q4e;var SL={};ft(SL,{default:()=>x4e});var TAe=ge(require("querystring")),OAe=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function MAe(t){return t?OAe.some(e=>!!t.match(e)):!1}function KAe(t){let e;for(let a of OAe)if(e=t.match(a),e)break;if(!e)throw new Error(S4e(t));let[,r,i,n,s="master"]=e,{commit:o}=TAe.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:r,username:i,reponame:n,treeish:s}}function S4e(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var vL=class{supports(e,r){return!!MAe(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await ir.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await K.mktempPromise(async n=>{let s=new _t(n);await wi.extractArchiveTo(i,s,{stripComponents:1});let o=Bu.splitRepoUrl(e.reference),a=x.join(n,"package.tgz");await Zt.prepareExternalProject(n,a,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let l=await K.readFilePromise(a);return await wi.convertToZip(l,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:i,username:n,reponame:s,treeish:o}=KAe(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var k4e={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let i=new vL;if(!i.supports(e,r))return null;try{return await i.fetch(e,r)}catch(n){return null}}}},x4e=k4e;var PL={};ft(PL,{default:()=>D4e});var Um=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,Hm=/^https?:/;var kL=class{supports(e,r){return Um.test(e.reference)?!!Hm.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await ir.get(e.reference,{configuration:r.project.configuration});return await wi.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var xL=class{supportsDescriptor(e,r){return Um.test(e.range)?!!Hm.test(e.range):!1}supportsLocator(e,r){return Um.test(e.reference)?!!Hm.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[P.convertDescriptorToLocator(e)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await ve.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return ie(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var P4e={fetchers:[kL],resolvers:[xL]},D4e=P4e;var NL={};ft(NL,{default:()=>Rze});var gle=ge(ule()),FL=ge(require("util")),Gm=class extends Le{constructor(){super(...arguments);this.private=W.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=W.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=W.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=W.Boolean("-2",!1,{hidden:!0});this.yes=W.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=W.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return r!==null?await this.executeProxy(e,r):await this.executeRegular(e)}async executeProxy(e,r){if(e.projectCwd!==null&&e.projectCwd!==this.context.cwd)throw new Pe("Cannot use the --install flag from within a project subdirectory");K.existsSync(this.context.cwd)||await K.mkdirPromise(this.context.cwd,{recursive:!0});let i=x.join(this.context.cwd,e.get("lockfileFilename"));K.existsSync(i)||await K.writeFilePromise(i,"");let n=await this.cli.run(["set","version",r],{quiet:!0});if(n!==0)return n;let s=[];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await K.mktempPromise(async o=>{let{code:a}=await Fr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Zt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){var l;let r=null;try{r=(await ze.find(e,this.context.cwd)).project}catch{r=null}K.existsSync(this.context.cwd)||await K.mkdirPromise(this.context.cwd,{recursive:!0});let i=await At.tryFind(this.context.cwd)||new At,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=(l=i.name)!=null?l:P.makeIdent(e.get("initScope"),x.basename(this.context.cwd)),i.packageManager=Kr&&ve.isTaggedYarnVersion(Kr)?`yarn@${Kr}`:null,typeof i.raw.private=="undefined"&&(this.private||this.workspace&&i.workspaceDefinitions.length===0)&&(i.private=!0),this.workspace&&i.workspaceDefinitions.length===0&&(await K.mkdirPromise(x.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),FL.inspect.styles.name="cyan",this.context.stdout.write(`${(0,FL.inspect)(s,{depth:Infinity,colors:!0,compact:!1})} +`);let o=x.join(this.context.cwd,At.fileName);await K.changeFilePromise(o,`${JSON.stringify(s,null,2)} +`,{automaticNewlines:!0});let a=x.join(this.context.cwd,"README.md");if(K.existsSync(a)||await K.writeFilePromise(a,`# ${P.stringifyIdent(i.name)} +`),!r||r.cwd===this.context.cwd){let c=x.join(this.context.cwd,Pt.lockfile);K.existsSync(c)||await K.writeFilePromise(c,"");let g=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!.yarn/cache","#.pnp.*"].map(y=>`${y} +`).join(""),f=x.join(this.context.cwd,".gitignore");K.existsSync(f)||await K.writeFilePromise(f,g);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,gle.default)(h,e.get("initEditorConfig"));let p=`root = true +`;for(let[y,b]of Object.entries(h)){p+=` +[${y}] +`;for(let[S,k]of Object.entries(b))p+=`${S.replace(/[A-Z]/g,Y=>`_${Y.toLowerCase()}`)} = ${k} +`}let m=x.join(this.context.cwd,".editorconfig");K.existsSync(m)||await K.writeFilePromise(m,p),K.existsSync(x.join(this.context.cwd,".git"))||await Fr.execvp("git",["init"],{cwd:this.context.cwd})}}};Gm.paths=[["init"]],Gm.usage=Re.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var fle=Gm;var Dze={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:ye.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:ye.MAP,valueDefinition:{description:"",type:ye.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:ye.MAP,valueDefinition:{description:"",type:ye.ANY}}},commands:[fle]},Rze=Dze;var KL={};ft(KL,{default:()=>Nze});var EA="portal:",IA="link:";var LL=class{supports(e,r){return!!e.reference.startsWith(EA)}getLocalPath(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:EA});if(x.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:x.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:EA}),s=x.isAbsolute(n)?{packageFs:new _t(Ke.root),prefixPath:Ke.dot,localPath:Ke.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new _t(Ke.root),prefixPath:x.relative(Ke.root,s.localPath),localPath:Ke.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new _t(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ke.dot,localPath:l}:{packageFs:new Ra(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ke.dot}}};var TL=class{supportsDescriptor(e,r){return!!e.range.startsWith(EA)}supportsLocator(e,r){return!!e.reference.startsWith(EA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(EA.length);return[P.makeLocator(e,`${EA}${H.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await ve.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return ie(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.SOFT,conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var OL=class{supports(e,r){return!!e.reference.startsWith(IA)}getLocalPath(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:IA});if(x.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:x.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:IA}),s=x.isAbsolute(n)?{packageFs:new _t(Ke.root),prefixPath:Ke.dot,localPath:Ke.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new _t(Ke.root),prefixPath:x.relative(Ke.root,s.localPath),localPath:Ke.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new _t(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ke.dot,discardFromLookup:!0,localPath:l}:{packageFs:new Ra(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ke.dot,discardFromLookup:!0}}};var ML=class{supportsDescriptor(e,r){return!!e.range.startsWith(IA)}supportsLocator(e,r){return!!e.reference.startsWith(IA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(IA.length);return[P.makeLocator(e,`${IA}${H.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){return ie(N({},e),{version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:Qt.SOFT,conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var Fze={fetchers:[OL,LL],resolvers:[ML,TL]},Nze=Fze;var fT={};ft(fT,{default:()=>j5e});var Mn;(function(i){i[i.REGULAR=0]="REGULAR",i[i.WORKSPACE=1]="WORKSPACE",i[i.EXTERNAL_SOFT_LINK=2]="EXTERNAL_SOFT_LINK"})(Mn||(Mn={}));var yA;(function(i){i[i.YES=0]="YES",i[i.NO=1]="NO",i[i.DEPENDS=2]="DEPENDS"})(yA||(yA={}));var UL=(t,e)=>`${t}@${e}`,hle=(t,e)=>{let r=e.indexOf("#"),i=r>=0?e.substring(r+1):e;return UL(t,i)},Io;(function(s){s[s.NONE=-1]="NONE",s[s.PERF=0]="PERF",s[s.CHECK=1]="CHECK",s[s.REASONS=2]="REASONS",s[s.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"})(Io||(Io={}));var dle=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||r>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:r,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=Lze(t,s),l=!1,c=0;do l=HL(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=jm(a);if(HL(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${u}, next tree: +${jm(a)}`);let f=ple(a);if(f)throw new Error(`${f}, after hoisting finished: +${jm(a)}`)}return s.debugLevel>=2&&console.log(jm(a)),Tze(a)},Oze=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())r.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),r},Mze=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of t)u=g.dependencies.get(c.name),u&&r.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),r},Cle=(t,e)=>{if(e.decoupled)return e;let{name:r,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:m}=e,y={name:r,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(m)},b=y.dependencies.get(r);return b&&b.ident==y.ident&&y.dependencies.set(r,y),t.dependencies.set(y.name,y),y},Kze=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let n of t.dependencies.values())t.peerNames.has(n.name)||r.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!t.peerNames.has(s)){let a=r.get(s);a||(a=[],r.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return r},GL=t=>{let e=new Set,r=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!t.peerNames.has(s)){let o=t.dependencies.get(s);o&&!e.has(o)&&r(o,n)}e.add(i)}};for(let i of t.dependencies.values())t.peerNames.has(i.name)||r(i);return e},HL=(t,e,r,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=Hze(o),l=Kze(o,a),c=t==o?new Map:n.fastLookupPossible?Oze(e):Mze(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([m,y])=>[m,y[0]])),p=new Map;do{let m=Uze(t,e,r,c,h,l,i,p,n);m.isGraphChanged&&(f=!0),m.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,b]of l)b.length>1&&!o.dependencies.has(y)&&(h.delete(y),b.shift(),h.set(y,b[0]),u=!0)}while(u);for(let m of o.dependencies.values())if(!o.peerNames.has(m.name)&&!r.has(m.locator)){r.add(m.locator);let y=HL(t,[...e,m],r,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),r.delete(m.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},Gze=t=>{for(let[e,r]of t.dependencies)if(!t.peerNames.has(e)&&r.ident!==t.ident)return!0;return!1},jze=(t,e,r,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>Ni(y)).join("\u2192")}`);let h=r[r.length-1],m=!(i.ident===h.ident);if(l&&!m&&(g="- self-reference"),m&&(m=i.dependencyKind!==1,l&&!m&&(g="- workspace")),m&&i.dependencyKind===2&&(m=!Gze(i),l&&!m&&(g="- external soft link with unhoisted dependencies")),m&&(m=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!m&&(g=h.reasons.get(i.name))),m&&(m=!t.peerNames.has(i.name),l&&!m&&(g=`- cannot shadow peer: ${Ni(t.originalDependencies.get(i.name).locator)} at ${u}`)),m){let y=!1,b=n.get(i.name);if(y=!b||b.ident===i.ident,l&&!y&&(g=`- filled by: ${Ni(b.locator)} at ${u}`),y)for(let S=r.length-1;S>=1;S--){let T=r[S].dependencies.get(i.name);if(T&&T.ident!==i.ident){y=!1;let Y=a.get(h);Y||(Y=new Set,a.set(h,Y)),Y.add(i.name),l&&(g=`- filled by ${Ni(T.locator)} at ${r.slice(0,S).map(j=>Ni(j.locator)).join("\u2192")}`);break}}m=y}if(m&&(m=s.get(i.name)===i.ident,l&&!m&&(g=`- filled by: ${Ni(o.get(i.name)[0])} at ${u}`)),m){let y=!0,b=new Set(i.peerNames);for(let S=r.length-1;S>=1;S--){let k=r[S];for(let T of b){if(k.peerNames.has(T)&&k.originalDependencies.has(T))continue;let Y=k.dependencies.get(T);Y&&t.dependencies.get(T)!==Y&&(S===r.length-1?f.add(Y):(f=null,y=!1,l&&(g=`- peer dependency ${Ni(Y.locator)} from parent ${Ni(k.locator)} was not hoisted to ${u}`))),b.delete(T)}if(!y)break}m=y}if(m&&!c)for(let y of i.hoistedDependencies.values()){let b=n.get(y.name)||t.dependencies.get(y.name);if(!b||y.ident!==b.ident){m=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${Ni(y.locator)}, available: ${Ni(b==null?void 0:b.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:m?0:1,reason:g}},ub=t=>`${t.name}@${t.locator}`,Uze=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(b,S,k,T,Y)=>{if(u.has(T))return;let j=[...S,ub(T)],Z=[...k,ub(T)],J=new Map,re=new Map;for(let X of GL(T)){let O=jze(c,r,[c,...b,T],X,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(re.set(X,O),O.isHoistable===2)for(let L of O.dependsOn){let pe=J.get(L.name)||new Set;pe.add(X.name),J.set(L.name,pe)}}let ee=new Set,A=(X,O,L)=>{if(!ee.has(X)){ee.add(X),re.set(X,{isHoistable:1,reason:L});for(let pe of J.get(X.name)||[])A(T.dependencies.get(pe),O,l.debugLevel>=2?`- peer dependency ${Ni(X.locator)} from parent ${Ni(T.locator)} was not hoisted`:"")}};for(let[X,O]of re)O.isHoistable===1&&A(X,O,O.reason);let oe=!1;for(let X of re.keys())if(!ee.has(X)){f=!0;let O=o.get(T);O&&O.has(X.name)&&(g=!0),oe=!0,T.dependencies.delete(X.name),T.hoistedDependencies.set(X.name,X),T.reasons.delete(X.name);let L=c.dependencies.get(X.name);if(l.debugLevel>=2){let pe=Array.from(S).concat([T.locator]).map(Oe=>Ni(Oe)).join("\u2192"),Ce=c.hoistedFrom.get(X.name);Ce||(Ce=[],c.hoistedFrom.set(X.name,Ce)),Ce.push(pe),T.hoistedTo.set(X.name,Array.from(e).map(Oe=>Ni(Oe.locator)).join("\u2192"))}if(!L)c.ident!==X.ident&&(c.dependencies.set(X.name,X),Y.add(X));else for(let pe of X.references)L.references.add(pe)}if(T.dependencyKind===2&&oe&&(g=!0),l.check){let X=ple(t);if(X)throw new Error(`${X}, after hoisting dependencies of ${[c,...b,T].map(O=>Ni(O.locator)).join("\u2192")}: +${jm(t)}`)}let le=GL(T);for(let X of le)if(ee.has(X)){let O=re.get(X);if((n.get(X.name)===X.ident||!T.reasons.has(X.name))&&O.isHoistable!==0&&T.reasons.set(X.name,O.reason),!X.isHoistBorder&&Z.indexOf(ub(X))<0){u.add(T);let pe=Cle(T,X);h([...b,T],j,Z,pe,m),u.delete(T)}}},p,m=new Set(GL(c)),y=Array.from(e).map(b=>ub(b));do{p=m,m=new Set;for(let b of p){if(b.locator===c.locator||b.isHoistBorder)continue;let S=Cle(c,b);h([],Array.from(r),y,S,m)}}while(m.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},ple=t=>{let e=[],r=new Set,i=new Set,n=(s,o,a)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>Ni(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,m=`${h?` hoisted to ${h}`:""}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${m}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${m} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(t,t.dependencies,t),e.join(` +`)},Lze=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:UL(r,n),ident:hle(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[t,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:m,peerNames:y,hoistPriority:b,dependencyKind:S}=c,k=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([m]),locator:UL(p,m),ident:hle(p,m),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:k?k.has(h):!1,hoistPriority:b||0,dependencyKind:S||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=m=>{if(!h.has(m)){h.add(m),m.decoupled=!1;for(let y of m.dependencies.values())m.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of t.dependencies)l(c,o);return o},jL=t=>t.substring(0,t.indexOf("@",1)),Tze=t=>{let e={name:t.name,identName:jL(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),i=(n,s,o)=>{let a=r.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:jL(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){r.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);r.delete(n)}};for(let n of t.dependencies.values())i(n,t,e);return e},Hze=t=>{let e=new Map,r=new Set([t]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!r.has(a);if(n(a).dependents.add(o.ident),!l){r.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},Ni=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let i=t.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(r=`v:${r}`),n.startsWith("workspace")&&(r=`w:${r}`,n=""),`${r}${n?`@${n}`:""}`}else return`${r}`},mle=5e4,jm=t=>{let e=0,r=(n,s,o="")=>{if(e>mle||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+Ni(u.locator)+(g?` ${g}`:"")} +`,l+=r(u,s,`${o}${cmle?` +Tree is too large, part of the tree has been dunped +`:"")};var yo;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(yo||(yo={}));var Kn;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Kn||(Kn={}));var Ele="node_modules",bu="$wsroot$";var Ym=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=Yze(t,e),o=null;if(n.length===0){let a=dle(r,{hoistingLimits:i});o=qze(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},fa=t=>`${t.name}@${t.reference}`,YL=t=>{let e=new Map;for(let[r,i]of t.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((i,n)=>{let s=i.split(x.delimiter).length,o=n.split(x.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},Ile=(t,e)=>{let r=P.isVirtualLocator(t)?P.devirtualizeLocator(t):t,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(r,i)},qL=(t,e,r,i)=>{if(t.linkType!==yo.SOFT)return!1;let n=H.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return x.contains(i,n)===null},Jze=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=H.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=t.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=fa(f);if(l.has(p))return;l.add(p);let m=t.getPackageInformation(f);if(m){let y=h?fa(h):"";if(fa(f)!==y&&m.linkType===yo.SOFT&&!qL(m,f,t,i)){let b=yle(m,f,t);(!a.get(b)||f.reference.startsWith("workspace:"))&&a.set(b,f)}for(let[b,S]of m.packageDependencies)S!==null&&(m.packagePeers.has(b)||c(t.getLocator(b,S),f))}};for(let f of o)c(f,null);let u=i.split(x.sep);for(let f of a.values()){let h=t.getPackageInformation(f),m=H.toPortablePath(h.packageLocation.slice(0,-1)).split(x.sep).slice(u.length),y=s;for(let b of m){let S=y.children.get(b);S||(S={children:new Map},y.children.set(b,S)),y=S}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=fa(h),m=n.get(p);m||(m=new Set,n.set(p,m)),m.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},Yze=(t,e)=>{let r=[],i=!1,n=new Map,s=Jze(t),o=t.getPackageInformation(t.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=t.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=H.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:Mn.WORKSPACE},u=new Map,g=(h,p)=>`${fa(p)}:${h}`,f=(h,p,m,y,b,S,k,T)=>{var X,O;let Y=g(h,m),j=u.get(Y),Z=!!j;!Z&&m.name===a.name&&m.reference===a.reference&&(j=c,u.set(Y,c));let J=qL(p,m,t,l);if(!j){let L=Mn.REGULAR;J?L=Mn.EXTERNAL_SOFT_LINK:p.linkType===yo.SOFT&&m.name.endsWith(bu)&&(L=Mn.WORKSPACE),j={name:h,identName:m.name,reference:m.reference,dependencies:new Set,peerNames:L===Mn.WORKSPACE?new Set:p.packagePeers,dependencyKind:L},u.set(Y,j)}let re;if(J?re=2:b.linkType===yo.SOFT?re=1:re=0,j.hoistPriority=Math.max(j.hoistPriority||0,re),T&&!J){let L=fa({name:y.identName,reference:y.reference}),pe=n.get(L)||new Set;n.set(L,pe),pe.add(j.name)}let ee=new Map(p.packageDependencies);if(e.project){let L=e.project.workspacesByCwd.get(H.toPortablePath(p.packageLocation.slice(0,-1)));if(L){let pe=new Set([...Array.from(L.manifest.peerDependencies.values(),Ce=>P.stringifyIdent(Ce)),...Array.from(L.manifest.peerDependenciesMeta.keys())]);for(let Ce of pe)ee.has(Ce)||(ee.set(Ce,S.get(Ce)||null),j.peerNames.add(Ce))}}let A=fa({name:m.name.replace(bu,""),reference:m.reference}),oe=s.get(A);if(oe)for(let L of oe)ee.set(`${L.name}${bu}`,L.reference);(p!==b||p.linkType!==yo.SOFT||!J&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(k)))&&y.dependencies.add(j);let le=m!==a&&p.linkType===yo.SOFT&&!m.name.endsWith(bu)&&!J;if(!Z&&!le){let L=new Map;for(let[pe,Ce]of ee)if(Ce!==null){let Oe=t.getLocator(pe,Ce),te=t.getLocator(pe.replace(bu,""),Ce),se=t.getPackageInformation(te);if(se===null)throw new Error("Assertion failed: Expected the package to have been registered");let be=qL(se,Oe,t,l);if(e.validateExternalSoftLinks&&e.project&&be){se.packageDependencies.size>0&&(i=!0);for(let[Se,de]of se.packageDependencies)if(de!==null){let V=P.parseLocator(Array.isArray(de)?`${de[0]}@${de[1]}`:`${Se}@${de}`);if(fa(V)!==fa(Oe)){let Qe=ee.get(Se);if(Qe){let ce=P.parseLocator(Array.isArray(Qe)?`${Qe[0]}@${Qe[1]}`:`${Se}@${Qe}`);Ile(ce,V)||r.push({messageName:$.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(Oe.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${m.name}@${m.reference}`))} dependency ${P.prettyLocator(e.project.configuration,V)} conflicts with parent dependency ${P.prettyLocator(e.project.configuration,ce)}`})}else{let ce=L.get(Se);if(ce){let fe=ce.target,gt=P.parseLocator(Array.isArray(fe)?`${fe[0]}@${fe[1]}`:`${Se}@${fe}`);Ile(gt,V)||r.push({messageName:$.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(Oe.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${m.name}@${m.reference}`))} dependency ${P.prettyLocator(e.project.configuration,V)} conflicts with dependency ${P.prettyLocator(e.project.configuration,gt)} from sibling portal ${P.prettyIdent(e.project.configuration,P.parseIdent(ce.portal.name))}`})}else L.set(Se,{target:V.reference,portal:Oe})}}}}let he=(X=e.hoistingLimitsByCwd)==null?void 0:X.get(k),Fe=be?k:x.relative(l,H.toPortablePath(se.packageLocation))||Ke.dot,Ue=(O=e.hoistingLimitsByCwd)==null?void 0:O.get(Fe),xe=he===Kn.DEPENDENCIES||Ue===Kn.DEPENDENCIES||Ue===Kn.WORKSPACES;f(pe,se,Oe,j,p,ee,Fe,xe)}}};return f(a.name,o,a,c,o,o.packageDependencies,Ke.dot,!1),{packageTree:c,hoistingLimits:n,errors:r,preserveSymlinksRequired:i}};function yle(t,e,r){let i=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return H.toPortablePath(i||t.packageLocation)}function Wze(t,e,r){let i=e.getLocator(t.name.replace(bu,""),t.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return r.pnpifyFs?(o=H.toPortablePath(n.packageLocation),s=yo.SOFT):(o=yle(n,t,e),s=n.linkType),{linkType:s,target:o}}var qze=(t,e,r)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=Wze(u,t,r);return{locator:fa(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:Jr(g),name:Jr(f)}:{scope:null,name:Jr(g)}},o=new Set,a=(u,g,f)=>{if(!o.has(u)){o.add(u);for(let h of u.dependencies){if(h===u)continue;let p=Array.from(h.references).sort(),m={name:h.identName,reference:p[0]},{name:y,scope:b}=s(h.name),S=b?[b,y]:[y],k=x.join(g,Ele),T=x.join(k,...S),Y=`${f}/${m.name}`,j=n(m,f,p.slice(1)),Z=!1;if(j.linkType===yo.SOFT&&r.project){let J=r.project.workspacesByCwd.get(j.target.slice(0,-1));Z=!!(J&&!J.manifest.name)}if(!h.name.endsWith(bu)&&!Z){let J=i.get(T);if(J){if(J.dirList)throw new Error(`Assertion failed: ${T} cannot merge dir node with leaf node`);{let oe=P.parseLocator(J.locator),le=P.parseLocator(j.locator);if(J.linkType!==j.linkType)throw new Error(`Assertion failed: ${T} cannot merge nodes with different link types ${J.nodePath}/${P.stringifyLocator(oe)} and ${f}/${P.stringifyLocator(le)}`);if(oe.identHash!==le.identHash)throw new Error(`Assertion failed: ${T} cannot merge nodes with different idents ${J.nodePath}/${P.stringifyLocator(oe)} and ${f}/s${P.stringifyLocator(le)}`);j.aliases=[...j.aliases,...J.aliases,P.parseLocator(J.locator).reference]}}i.set(T,j);let re=T.split("/"),ee=re.indexOf(Ele),A=re.length-1;for(;ee>=0&&A>ee;){let oe=H.toPortablePath(re.slice(0,A).join(x.sep)),le=Jr(re[A]),X=i.get(oe);if(!X)i.set(oe,{dirList:new Set([le])});else if(X.dirList){if(X.dirList.has(le))break;X.dirList.add(le)}A--}}a(h,j.linkType===yo.SOFT?j.target:T,Y)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var rT={};ft(rT,{PnpInstaller:()=>ah,PnpLinker:()=>vu,default:()=>C5e,getPnpPath:()=>Dl,jsInstallUtils:()=>ha,pnpUtils:()=>eT,quotePathIfNeeded:()=>qle});var jle=ge(ri()),Yle=ge(require("url"));var wle;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(wle||(wle={}));var er;(function(f){f.DEFAULT="DEFAULT",f.TOP_LEVEL="TOP_LEVEL",f.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",f.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",f.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",f.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",f.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",f.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",f.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",f.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",f.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",f.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"})(er||(er={}));var Ble={[er.DEFAULT]:{collapsed:!1,next:{["*"]:er.DEFAULT}},[er.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:er.FALLBACK_EXCLUSION_LIST,packageRegistryData:er.PACKAGE_REGISTRY_DATA,["*"]:er.DEFAULT}},[er.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:er.FALLBACK_EXCLUSION_ENTRIES}},[er.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:er.FALLBACK_EXCLUSION_DATA}},[er.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:er.DEFAULT}},[er.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:er.PACKAGE_REGISTRY_ENTRIES}},[er.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:er.PACKAGE_STORE_DATA}},[er.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:er.PACKAGE_STORE_ENTRIES}},[er.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:er.PACKAGE_INFORMATION_DATA}},[er.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:er.PACKAGE_DEPENDENCIES,["*"]:er.DEFAULT}},[er.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:er.PACKAGE_DEPENDENCY}},[er.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:er.DEFAULT}}};function zze(t,e,r){let i="";i+="[";for(let n=0,s=t.length;ns(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function Zze(t){let e=new Map,r=qm(t.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of r){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function $ze(t){return qm(t.fallbackPool||[],([e])=>e)}function e5e(t){let e=[];for(let[r,i]of qm(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([r,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of qm(i,([g])=>g===null?"0":`1${g}`)){let g=[];r!==null&&s!==null&&!a.has(r)&&g.push([r,s]);for(let[p,m]of qm(a.entries(),([y])=>y))g.push([p,m]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function Jm(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:Zze(t),fallbackPool:$ze(t),packageRegistryData:e5e(t)}}var kle=ge(Sle());function xle(t,e){return[t?`${t} +`:"",`/* eslint-disable */ + +`,`try { +`,` Object.freeze({}).detectStrictMode = true; +`,`} catch (error) { +`," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n",`} +`,` +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,e.replace(/^/gm," "),`} +`,` +`,(0,kle.default)()].join("")}function t5e(t){return JSON.stringify(t,null,2)}function r5e(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ +`)}'`}function i5e(t){return[`return hydrateRuntimeState(JSON.parse(${r5e(Qle(t))}), {basePath: basePath || __dirname}); +`].join("")}function n5e(t){return[`var path = require('path'); +`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(t)}); +`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); +`].join("")}function Ple(t){let e=Jm(t),r=i5e(e);return xle(t.shebang,r)}function Dle(t){let e=Jm(t),r=n5e(t.dataLocation),i=xle(t.shebang,r);return{dataFile:t5e(e),loaderFile:i}}var Nle=ge(require("fs")),c5e=ge(require("path")),Lle=ge(require("util"));function WL(t,{basePath:e}){let r=H.toPortablePath(e),i=x.resolve(r),n=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,s=new Map,o=new Map(t.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var k;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let m=(k=p.discardFromLookup)!=null?k:!1,y={name:g,reference:h},b=s.get(p.packageLocation);b?(b.discardFromLookup=b.discardFromLookup&&m,m||(b.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:m});let S=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:m,get packageLocation(){return S||(S=x.join(i,p.packageLocation))}}]}))])),a=new Map(t.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(t.fallbackPool),c=t.dependencyTreeRoots,u=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var Wm=ge(require("module"));function oh(t,e){if(typeof t=="string")return t;if(t){let r,i;if(Array.isArray(t)){for(r=0;r0)return(f=oh(n[g],u))?f.replace("*",c.substring(g.length-1)):Qu(i,c,1)}return Qu(i,c)}}var zL=ge(require("util"));var ur;(function(c){c.API_ERROR="API_ERROR",c.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",c.EXPORTS_RESOLUTION_FAILED="EXPORTS_RESOLUTION_FAILED",c.MISSING_DEPENDENCY="MISSING_DEPENDENCY",c.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",c.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",c.INTERNAL="INTERNAL",c.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",c.UNSUPPORTED="UNSUPPORTED"})(ur||(ur={}));var o5e=new Set([ur.BUILTIN_NODE_RESOLUTION_FAILED,ur.MISSING_DEPENDENCY,ur.MISSING_PEER_DEPENDENCY,ur.QUALIFIED_PATH_RESOLUTION_FAILED,ur.UNDECLARED_DEPENDENCY]);function ai(t,e,r={},i){i!=null||(i=o5e.has(t)?"MODULE_NOT_FOUND":t);let n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:ie(N({},n),{value:i}),pnpCode:ie(N({},n),{value:t}),data:ie(N({},n),{value:r})})}function wo(t){return H.normalize(H.fromPortablePath(t))}var a5e=ge(require("fs")),Fle=ge(require("module")),A5e=ge(require("path")),l5e=new Set(Fle.Module.builtinModules||Object.keys(process.binding("natives"))),fb=t=>t.startsWith("node:")||l5e.has(t);function _L(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,s=/^(\/|\.{1,2}(\/|$))/,o=/\/$/,a=/^\.{0,2}\//,l={name:null,reference:null},c=[],u=new Set;if(t.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let te of["react-scripts","gatsby"]){let se=t.packageRegistry.get(te);if(se)for(let be of se.keys()){if(be===null)throw new Error("Assertion failed: This reference shouldn't be null");c.push({name:te,reference:be})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=t;function p(te,se){return{fn:te,args:se,error:null,result:null}}function m(te){var Ue,xe,Se,de,V,Qe;let se=(Se=(xe=(Ue=process.stderr)==null?void 0:Ue.hasColors)==null?void 0:xe.call(Ue))!=null?Se:process.stdout.isTTY,be=(ce,fe)=>`[${ce}m${fe}`,he=te.error;console.error(he?be("31;1",`\u2716 ${(de=te.error)==null?void 0:de.message.replace(/\n.*/s,"")}`):be("33;1","\u203C Resolution")),te.args.length>0&&console.error();for(let ce of te.args)console.error(` ${be("37;1","In \u2190")} ${(0,zL.inspect)(ce,{colors:se,compact:!0})}`);te.result&&(console.error(),console.error(` ${be("37;1","Out \u2192")} ${(0,zL.inspect)(te.result,{colors:se,compact:!0})}`));let Fe=(Qe=(V=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:V.slice(2))!=null?Qe:[];if(Fe.length>0){console.error();for(let ce of Fe)console.error(` ${be("38;5;244",ce)}`)}console.error()}function y(te,se){if(e.allowDebug===!1)return se;if(Number.isFinite(i)){if(i>=2)return(...be)=>{let he=p(te,be);try{return he.result=se(...be)}catch(Fe){throw he.error=Fe}finally{m(he)}};if(i>=1)return(...be)=>{try{return se(...be)}catch(he){let Fe=p(te,be);throw Fe.error=he,m(Fe),he}}}return se}function b(te){let se=A(te);if(!se)throw ai(ur.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return se}function S(te){if(te.name===null)return!0;for(let se of t.dependencyTreeRoots)if(se.name===te.name&&se.reference===te.reference)return!0;return!1}let k=new Set(["default","node","require"]);function T(te,se=k){let be=X(x.join(te,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(be===null)throw ai(ur.INTERNAL,`The locator that owns the "${te}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:he}=b(be),Fe=x.join(he,Pt.manifest);if(!e.fakeFs.existsSync(Fe))return null;let Ue=JSON.parse(e.fakeFs.readFileSync(Fe,"utf8")),xe=x.contains(he,te);if(xe===null)throw ai(ur.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");a.test(xe)||(xe=`./${xe}`);let Se;try{Se=Rle(Ue,x.normalize(xe),{conditions:se,unsafe:!0})}catch(de){throw ai(ur.EXPORTS_RESOLUTION_FAILED,de.message,{unqualifiedPath:wo(te),locator:be,pkgJson:Ue,subpath:wo(xe),conditions:se},"ERR_PACKAGE_PATH_NOT_EXPORTED")}return typeof Se=="string"?x.join(he,Se):null}function Y(te,se,{extensions:be}){let he;try{se.push(te),he=e.fakeFs.statSync(te)}catch(Fe){}if(he&&!he.isDirectory())return e.fakeFs.realpathSync(te);if(he&&he.isDirectory()){let Fe;try{Fe=JSON.parse(e.fakeFs.readFileSync(x.join(te,Pt.manifest),"utf8"))}catch(xe){}let Ue;if(Fe&&Fe.main&&(Ue=x.resolve(te,Fe.main)),Ue&&Ue!==te){let xe=Y(Ue,se,{extensions:be});if(xe!==null)return xe}}for(let Fe=0,Ue=be.length;Fe{let Se=JSON.stringify(xe.name);if(he.has(Se))return;he.add(Se);let de=oe(xe);for(let V of de)if(b(V).packagePeers.has(te))Fe(V);else{let ce=be.get(V.name);typeof ce=="undefined"&&be.set(V.name,ce=new Set),ce.add(V.reference)}};Fe(se);let Ue=[];for(let xe of[...be.keys()].sort())for(let Se of[...be.get(xe)].sort())Ue.push({name:xe,reference:Se});return Ue}function X(te,{resolveIgnored:se=!1,includeDiscardFromLookup:be=!1}={}){if(J(te)&&!se)return null;let he=x.relative(t.basePath,te);he.match(s)||(he=`./${he}`),he.endsWith("/")||(he=`${he}/`);do{let Fe=h.get(he);if(typeof Fe=="undefined"||Fe.discardFromLookup&&!be){he=he.substring(0,he.lastIndexOf("/",he.length-2)+1);continue}return Fe.locator}while(he!=="");return null}function O(te,se,{considerBuiltins:be=!0}={}){if(te==="pnpapi")return H.toPortablePath(e.pnpapiResolution);if(be&&fb(te))return null;let he=wo(te),Fe=se&&wo(se);if(se&&J(se)&&(!x.isAbsolute(te)||X(te)===null)){let Se=Z(te,se);if(Se===!1)throw ai(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${he}" +Required by: ${Fe} +`,{request:he,issuer:Fe});return H.toPortablePath(Se)}let Ue,xe=te.match(n);if(xe){if(!se)throw ai(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Fe});let[,Se,de]=xe,V=X(se);if(!V){let Gt=Z(te,se);if(Gt===!1)throw ai(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${he}" +Required by: ${Fe} +`,{request:he,issuer:Fe});return H.toPortablePath(Gt)}let ce=b(V).packageDependencies.get(Se),fe=null;if(ce==null&&V.name!==null){let Gt=t.fallbackExclusionList.get(V.name);if(!Gt||!Gt.has(V.reference)){for(let Ti=0,Vs=c.length;TiS(Qr))?gt=ai(ur.MISSING_PEER_DEPENDENCY,`${V.name} tried to access ${Se} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${Se}${Se!==he?` (via "${he}")`:""} +Required by: ${V.name}@${V.reference} (via ${Fe}) +${Gt.map(Qr=>`Ancestor breaking the chain: ${Qr.name}@${Qr.reference} +`).join("")} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:Se,brokenAncestors:Gt}):gt=ai(ur.MISSING_PEER_DEPENDENCY,`${V.name} tried to access ${Se} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${Se}${Se!==he?` (via "${he}")`:""} +Required by: ${V.name}@${V.reference} (via ${Fe}) + +${Gt.map(Qr=>`Ancestor breaking the chain: ${Qr.name}@${Qr.reference} +`).join("")} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:Se,brokenAncestors:Gt})}else ce===void 0&&(!be&&fb(te)?S(V)?gt=ai(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${Se}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Se} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${Se}${Se!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,dependencyName:Se}):gt=ai(ur.UNDECLARED_DEPENDENCY,`${V.name} tried to access ${Se}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Se} isn't otherwise declared in ${V.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${Se}${Se!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:Se}):S(V)?gt=ai(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${Se}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${Se}${Se!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,dependencyName:Se}):gt=ai(ur.UNDECLARED_DEPENDENCY,`${V.name} tried to access ${Se}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${Se}${Se!==he?` (via "${he}")`:""} +Required by: ${V.name}@${V.reference} (via ${Fe}) +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:Se}));if(ce==null){if(fe===null||gt===null)throw gt||new Error("Assertion failed: Expected an error to have been set");ce=fe;let Gt=gt.message.replace(/\n.*/g,"");gt.message=Gt,!u.has(Gt)&&i!==0&&(u.add(Gt),process.emitWarning(gt))}let Ht=Array.isArray(ce)?{name:ce[0],reference:ce[1]}:{name:Se,reference:ce},Mt=b(Ht);if(!Mt.packageLocation)throw ai(ur.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${Ht.name}@${Ht.reference}${Ht.name!==he?` (via "${he}")`:""} +Required by: ${V.name}@${V.reference} (via ${Fe}) +`,{request:he,issuer:Fe,dependencyLocator:Object.assign({},Ht)});let mi=Mt.packageLocation;de?Ue=x.join(mi,de):Ue=mi}else if(x.isAbsolute(te))Ue=x.normalize(te);else{if(!se)throw ai(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Fe});let Se=x.resolve(se);se.match(o)?Ue=x.normalize(x.join(Se,te)):Ue=x.normalize(x.join(x.dirname(Se),te))}return x.normalize(Ue)}function L(te,se,be=k){if(s.test(te))return se;let he=T(se,be);return he?x.normalize(he):se}function pe(te,{extensions:se=Object.keys(Wm.Module._extensions)}={}){var Fe,Ue;let be=[],he=Y(te,be,{extensions:se});if(he)return x.normalize(he);{let xe=wo(te),Se=X(te);if(Se){let{packageLocation:de}=b(Se),V=!0;try{e.fakeFs.accessSync(de)}catch(Qe){if((Qe==null?void 0:Qe.code)==="ENOENT")V=!1;else{let ce=((Ue=(Fe=Qe==null?void 0:Qe.message)!=null?Fe:Qe)!=null?Ue:"empty exception thrown").replace(/^[A-Z]/,fe=>fe.toLowerCase());throw ai(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Required package exists but could not be accessed (${ce}). + +Missing package: ${Se.name}@${Se.reference} +Expected package location: ${wo(de)} +`,{unqualifiedPath:xe,extensions:se})}}if(!V){let Qe=de.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw ai(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`${Qe} + +Missing package: ${Se.name}@${Se.reference} +Expected package location: ${wo(de)} +`,{unqualifiedPath:xe,extensions:se})}}throw ai(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${xe} +${be.map(de=>`Not found: ${wo(de)} +`).join("")}`,{unqualifiedPath:xe,extensions:se})}}function Ce(te,se,{considerBuiltins:be,extensions:he,conditions:Fe}={}){try{let Ue=O(te,se,{considerBuiltins:be});if(te==="pnpapi")return Ue;if(Ue===null)return null;let xe=()=>se!==null?J(se):!1,Se=(!be||!fb(te))&&!xe()?L(te,Ue,Fe):Ue;return pe(Se,{extensions:he})}catch(Ue){throw Object.prototype.hasOwnProperty.call(Ue,"pnpCode")&&Object.assign(Ue.data,{request:wo(te),issuer:se&&wo(se)}),Ue}}function Oe(te){let se=x.normalize(te),be=Wr.resolveVirtual(se);return be!==se?be:null}return{VERSIONS:re,topLevel:ee,getLocator:(te,se)=>Array.isArray(se)?{name:se[0],reference:se[1]}:{name:te,reference:se},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let te=[];for(let[se,be]of f)for(let he of be.keys())se!==null&&he!==null&&te.push({name:se,reference:he});return te},getPackageInformation:te=>{let se=A(te);if(se===null)return null;let be=H.fromPortablePath(se.packageLocation);return ie(N({},se),{packageLocation:be})},findPackageLocator:te=>X(H.toPortablePath(te)),resolveToUnqualified:y("resolveToUnqualified",(te,se,be)=>{let he=se!==null?H.toPortablePath(se):null,Fe=O(H.toPortablePath(te),he,be);return Fe===null?null:H.fromPortablePath(Fe)}),resolveUnqualified:y("resolveUnqualified",(te,se)=>H.fromPortablePath(pe(H.toPortablePath(te),se))),resolveRequest:y("resolveRequest",(te,se,be)=>{let he=se!==null?H.toPortablePath(se):null,Fe=Ce(H.toPortablePath(te),he,be);return Fe===null?null:H.fromPortablePath(Fe)}),resolveVirtual:y("resolveVirtual",te=>{let se=Oe(H.toPortablePath(te));return se!==null?H.fromPortablePath(se):null})}}var YQt=(0,Lle.promisify)(Nle.readFile);var Tle=(t,e,r)=>{let i=Jm(t),n=WL(i,{basePath:e}),s=H.join(e,Pt.pnpCjs);return _L(n,{fakeFs:r,pnpapiResolution:s})};var XL=ge(Mle());var ha={};ft(ha,{checkAndReportManifestCompatibility:()=>Ule,checkManifestCompatibility:()=>Kle,extractBuildScripts:()=>hb,getExtractHint:()=>ZL,hasBindingGyp:()=>$L});function Kle(t){return P.isPackageCompatible(t,Wg.getArchitectureSet())}function Ule(t,e,{configuration:r,report:i}){return Kle(t)?!0:(i==null||i.reportWarningOnce($.INCOMPATIBLE_ARCHITECTURE,`${P.prettyLocator(r,t)} The ${Wg.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function hb(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([ls.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([ls.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==Qt.HARD?(n==null||n.reportWarningOnce($.SOFT_LINK_BUILD,`${P.prettyLocator(i,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(n==null||n.reportInfoOnce($.BUILD_DISABLED,`${P.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce($.DISABLED_BUILD_SCRIPTS,`${P.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):Ule(t,"build",{configuration:i,report:n})?s:[]}var u5e=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function ZL(t){return t.packageFs.getExtractHint({relevantExtensions:u5e})}function $L(t){let e=x.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var eT={};ft(eT,{getUnpluggedPath:()=>zm});function zm(t,{configuration:e}){return x.resolve(e.get("pnpUnpluggedFolder"),P.slugifyLocator(t))}var g5e=new Set([P.makeIdent(null,"nan").identHash,P.makeIdent(null,"node-gyp").identHash,P.makeIdent(null,"node-pre-gyp").identHash,P.makeIdent(null,"node-addon-api").identHash,P.makeIdent(null,"fsevents").identHash]),vu=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let i=Dl(r.project).cjs;if(!K.existsSync(i))throw new Pe(`The project in ${Ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,Ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=ve.getFactoryWithDefault(this.pnpCache,i,()=>ve.dynamicRequire(i,{cachingStrategy:ve.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new Pe(`Couldn't find ${P.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return H.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let i=Dl(r.project).cjs;if(!K.existsSync(i))return null;let s=ve.getFactoryWithDefault(this.pnpCache,i,()=>ve.dynamicRequire(i,{cachingStrategy:ve.CachingStrategy.FsTime})).findPackageLocator(H.fromPortablePath(e));return s?P.makeLocator(P.parseIdent(s.name),s.reference):null}makeInstaller(e){return new ah(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},ah=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new ve.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,r,i){let n=P.stringifyIdent(e),s=e.reference,o=!!this.opts.project.tryWorkspaceByLocator(e),a=P.isVirtualLocator(e),l=e.peerDependencies.size>0&&!a,c=!l&&!o,u=!l&&e.linkType!==Qt.SOFT,g,f;if(c||u){let k=a?P.devirtualizeLocator(e):e;g=this.customData.store.get(k.locatorHash),typeof g=="undefined"&&(g=await f5e(r),e.linkType===Qt.HARD&&this.customData.store.set(k.locatorHash,g)),g.manifest.type==="module"&&(this.isESMLoaderRequired=!0),f=this.opts.project.getDependencyMeta(k,e.version)}let h=c?hb(e,g,f,{configuration:this.opts.project.configuration,report:this.opts.report}):[],p=u?await this.unplugPackageIfNeeded(e,g,r,f,i):r.packageFs;if(x.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let m=x.resolve(p.getRealPath(),r.prefixPath),y=tT(this.opts.project.cwd,m),b=new Map,S=new Set;if(a){for(let k of e.peerDependencies.values())b.set(P.stringifyIdent(k),null),S.add(P.stringifyIdent(k));if(!o){let k=P.devirtualizeLocator(e);this.virtualTemplates.set(k.locatorHash,{location:tT(this.opts.project.cwd,Wr.resolveVirtual(m)),locator:k})}}return ve.getMapWithDefault(this.packageRegistry,n).set(s,{packageLocation:y,packageDependencies:b,packagePeers:S,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:m,buildDirective:h.length>0?h:null}}async attachInternalDependencies(e,r){let i=this.getPackageInformation(e);for(let[n,s]of r){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,r){for(let i of r)this.getDiskInformation(i).packageDependencies.set(P.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=Dl(this.opts.project);if(K.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning($.UNNAMED,`Removing the old ${Ae.pretty(this.opts.project.configuration,Pt.pnpJs,Ae.Type.PATH)} file. You might need to manually update existing references to reference the new ${Ae.pretty(this.opts.project.configuration,Pt.pnpCjs,Ae.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${Ae.pretty(this.opts.project.configuration,"yarn sdks",Ae.Type.CODE)}.`),await K.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await K.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await K.removePromise(e.cjs),await K.removePromise(this.opts.project.configuration.get("pnpDataPath")),await K.removePromise(e.esmLoader);return}for(let{locator:u,location:g}of this.virtualTemplates.values())ve.getMapWithDefault(this.packageRegistry,P.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:Qt.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:P.stringifyIdent(u),reference:u.reference})),n=r!=="none",s=[],o=new Map,a=ve.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:P.stringifyIdent(u),reference:u.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=Dl(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning($.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await K.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=Ple(e);await K.changeFilePromise(r.cjs,o,{automaticNewlines:!0,mode:493}),await K.removePromise(i)}else{let o=x.relative(x.dirname(r.cjs),i),{dataFile:a,loaderFile:l}=Dle(ie(N({},e),{dataLocation:o}));await K.changeFilePromise(r.cjs,l,{automaticNewlines:!0,mode:493}),await K.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning($.UNNAMED,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await K.changeFilePromise(r.esmLoader,(0,XL.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await K.removePromise(s);else for(let o of await K.readdirPromise(s)){let a=x.resolve(s,o);this.unpluggedPaths.has(a)||await K.removePromise(a)}}async locateNodeModules(e){let r=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=x.join(n.cwd,"node_modules");if(i&&i.test(x.relative(this.opts.project.cwd,n.cwd))||!K.existsSync(s))continue;let o=await K.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)r.push(s);else for(let l of a)r.push(x.join(s,l.name))}return r}async unplugPackageIfNeeded(e,r,i,n,s){return this.shouldBeUnplugged(e,r,n)?this.unplugPackage(e,i,s):i.packageFs}shouldBeUnplugged(e,r,i){return typeof i.unplugged!="undefined"?i.unplugged:g5e.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(hb(e,r,i,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r,i){let n=zm(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new Da(n,{baseFs:r.packageFs,pathUtils:x}):(this.unpluggedPaths.add(n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let s=x.join(n,r.prefixPath,".ready");await K.existsPromise(s)||(this.opts.project.storedBuildState.delete(e.locatorHash),await K.mkdirPromise(n,{recursive:!0}),await K.copyPromise(n,Ke.dot,{baseFs:r.packageFs,overwrite:!1}),await K.writeFilePromise(s,""))})),new _t(n))}getPackageInformation(e){let r=P.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(r);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${P.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${P.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let r=ve.getMapWithDefault(this.packageRegistry,"@@disk"),i=tT(this.opts.project.cwd,e);return ve.getFactoryWithDefault(r,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:Qt.SOFT,discardFromLookup:!1}))}};function tT(t,e){let r=x.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function f5e(t){var i;let e=(i=await At.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?i:new At,r=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())r.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:ZL(t),hasBindingGyp:$L(t)}}}var Hle=ge(rs());var _m=class extends Le{constructor(){super(...arguments);this.all=W.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=W.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=W.Rest()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new Pe("This command can only be used if the `nodeLinker` option is set to `pnp`");await r.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(f=>{let h=P.parseDescriptor(f),p=h.range!=="unknown"?h:P.makeDescriptor(h,"*");if(!Wt.validRange(p.range))throw new Pe(`The range of the descriptor patterns must be a valid semver range (${P.prettyDescriptor(e,p)})`);return m=>{let y=P.stringifyIdent(m);return!Hle.default.isMatch(y,P.stringifyIdent(p))||m.version&&!Wt.satisfiesWithPrereleases(m.version,p.range)?!1:(s.delete(f),!0)}}),a=()=>{let f=[];for(let h of r.storedPackages.values())!r.tryWorkspaceByLocator(h)&&!P.isVirtualLocator(h)&&o.some(p=>p(h))&&f.push(h);return f},l=f=>{let h=new Set,p=[],m=(y,b)=>{if(!h.has(y.locatorHash)&&(h.add(y.locatorHash),!r.tryWorkspaceByLocator(y)&&o.some(S=>S(y))&&p.push(y),!(b>0&&!this.recursive)))for(let S of y.dependencies.values()){let k=r.storedResolutions.get(S.descriptorHash);if(!k)throw new Error("Assertion failed: The resolution should have been registered");let T=r.storedPackages.get(k);if(!T)throw new Error("Assertion failed: The package should have been registered");m(T,b+1)}};for(let y of f){let b=r.storedPackages.get(y.anchoredLocator.locatorHash);if(!b)throw new Error("Assertion failed: The package should have been registered");m(b,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u="the project"):this.all?(c=l(r.workspaces),u="any workspace"):(c=l([i]),u="this workspace"),s.size>1)throw new Pe(`Patterns ${Ae.prettyList(e,s,Ae.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new Pe(`Pattern ${Ae.prettyList(e,s,Ae.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=ve.sortMap(c,f=>P.stringifyLocator(f)),(await Je.start({configuration:e,stdout:this.context.stdout,json:this.json},async f=>{var h;for(let p of c){let m=(h=p.version)!=null?h:"unknown",y=r.topLevelWorkspace.manifest.ensureDependencyMeta(P.makeDescriptor(p,m));y.unplugged=!0,f.reportInfo($.UNNAMED,`Will unpack ${P.prettyLocator(e,p)} to ${Ae.pretty(e,zm(p,{configuration:e}),Ae.Type.PATH)}`),f.reportJson({locator:P.stringifyLocator(p),version:m})}await r.topLevelWorkspace.persistManifest(),f.reportSeparator(),await r.install({cache:n,report:f})})).exitCode()}};_m.paths=[["unplug"]],_m.usage=Re.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Gle=_m;var Dl=t=>({cjs:x.join(t.cwd,Pt.pnpCjs),cjsLegacy:x.join(t.cwd,Pt.pnpJs),esmLoader:x.join(t.cwd,".pnp.loader.mjs")}),qle=t=>/\s/.test(t)?JSON.stringify(t):t;async function h5e(t,e,r){let i=Dl(t),n=`--require ${qle(H.fromPortablePath(i.cjs))}`;if(K.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,Yle.pathToFileURL)(H.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&jle.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(K.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function p5e(t,e){let r=Dl(t);e(r.cjs),e(r.esmLoader),e(t.configuration.get("pnpDataPath")),e(t.configuration.get("pnpUnpluggedFolder"))}var d5e={hooks:{populateYarnPaths:p5e,setupScriptEnvironment:h5e},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:ye.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:ye.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:ye.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:ye.STRING,default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:ye.BOOLEAN,default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:ye.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:ye.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:ye.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:ye.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[vu],commands:[Gle]},C5e=d5e;var Xle=ge(Vle());var aT=ge(require("crypto")),Zle=ge(require("fs")),$le=1,Gr="node_modules",pb=".bin",ece=".yarn-state.yml",Li;(function(i){i.CLASSIC="classic",i.HARDLINKS_LOCAL="hardlinks-local",i.HARDLINKS_GLOBAL="hardlinks-global"})(Li||(Li={}));var AT=class{constructor(){this.installStateCache=new Map}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let i=r.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await ve.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await lT(r.project,{unrollAliases:!0}));if(n===null)throw new Pe("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(P.stringifyLocator(e));if(!s){let a=new Pe(`Couldn't find ${P.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code="LOCATOR_NOT_INSTALLED",a}let o=r.project.configuration.startingCwd;return s.locations.find(a=>x.contains(o,a))||s.locations[0]}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let i=await ve.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await lT(r.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=db(x.resolve(e),{skipPrefix:r.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return P.parseLocator(a)}makeInstaller(e){return new tce(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},tce=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,r){var u;let i=x.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await N5e(e,r),e.linkType===Qt.HARD&&this.customData.store.set(e.locatorHash,n)),!P.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(P.stringifyIdent(e))||s.set(P.stringifyIdent(e),e.reference);let a=e;if(P.isVirtualLocator(e)){a=P.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(P.stringifyIdent(g),null),o.add(P.stringifyIdent(g))}let l={packageLocation:`${H.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=r.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,r){let i=this.localStore.get(e.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of r){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Wr({baseFs:new Es({libzip:await fn(),maxOpenFiles:80,readOnlyArchives:!0})}),r=await lT(this.opts.project),i=this.opts.project.configuration.get("nmMode");(r===null||i!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i,mtimeMs:0});let n=new Map(this.opts.project.workspaces.map(f=>{var p,m;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=ve.validateEnum(Kn,(m=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?m:h)}catch(y){let b=P.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning($.INVALID_MANIFEST,`${b}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Kn).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,m;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(m=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?m:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:P.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:P.makeLocator(P.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(H.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:P.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>H.fromPortablePath(Wr.resolveVirtual(H.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=Ym(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=YL(a);await L5e(r,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=P.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(rce(f))continue;let p=P.parseLocator(f),m=this.localStore.get(p.locatorHash);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(m.pkg))continue;let y=ha.extractBuildScripts(m.pkg,m.customPackageData,m.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});y.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:y})}return c&&this.opts.report.reportWarning($.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${Ae.pretty(this.opts.project.configuration,"--preserve-symlinks",Ae.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function N5e(t,e){var n;let r=(n=await At.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new At,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{extractHint:ha.getExtractHint(e),hasBindingGyp:ha.hasBindingGyp(e)}}}async function T5e(t,e,r,i,{installChangedByUser:n}){let s="";s+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,s+=`# cause your node_modules installation to become invalidated. +`,s+=` +`,s+=`__metadata: +`,s+=` version: ${$le} +`,s+=` nmMode: ${i.value} +`;let o=Array.from(e.keys()).sort(),a=P.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let u of o){let g=e.get(u);s+=` +`,s+=`${JSON.stringify(u)}: +`,s+=` locations: +`;for(let f of g.locations){let h=x.contains(t.cwd,f);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=` - ${JSON.stringify(h)} +`}if(g.aliases.length>0){s+=` aliases: +`;for(let f of g.aliases)s+=` - ${JSON.stringify(f)} +`}if(u===a&&r.size>0){s+=` bin: +`;for(let[f,h]of r){let p=x.contains(t.cwd,f);if(p===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=` ${JSON.stringify(p)}: +`;for(let[m,y]of h){let b=x.relative(x.join(f,Gr),y);s+=` ${JSON.stringify(m)}: ${JSON.stringify(b)} +`}}}}let l=t.cwd,c=x.join(l,Gr,ece);n&&await K.removePromise(c),await K.changeFilePromise(c,s,{automaticNewlines:!0})}async function lT(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=x.join(r,Gr,ece),n;try{n=await K.statPromise(i)}catch(c){}if(!n)return null;let s=Qi(await K.readFilePromise(i,"utf8"));if(s.__metadata.version>$le)return null;let o=s.__metadata.nmMode||Li.CLASSIC,a=new Map,l=new Map;delete s.__metadata;for(let[c,u]of Object.entries(s)){let g=u.locations.map(h=>x.join(r,h)),f=u.bin;if(f)for(let[h,p]of Object.entries(f)){let m=x.join(r,H.toPortablePath(h)),y=ve.getMapWithDefault(l,m);for(let[b,S]of Object.entries(p))y.set(Jr(b),H.toPortablePath([m,Gr,S].join(x.sep)))}if(a.set(c,{target:Ke.dot,linkType:Qt.HARD,locations:g,aliases:u.aliases||[]}),e&&u.aliases)for(let h of u.aliases){let{scope:p,name:m}=P.parseLocator(c),y=P.makeLocator(P.makeIdent(p,m),h),b=P.stringifyLocator(y);a.set(b,{target:Ke.dot,linkType:Qt.HARD,locations:g,aliases:[]})}}return{locatorMap:a,binSymlinks:l,locationTree:ice(a,{skipPrefix:t.cwd}),nmMode:o,mtimeMs:n.mtimeMs}}var lh=async(t,e)=>{if(t.split(x.sep).indexOf(Gr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop){let i=e.allowSymlink?await K.statPromise(t):await K.lstatPromise(t);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await K.unlinkPromise(t);return}}let r=await K.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=x.join(t,Jr(i.name));i.isDirectory()?(i.name!==Gr||e&&e.innerLoop)&&await lh(n,{innerLoop:!0,contentsOnly:!1}):await K.unlinkPromise(n)}e.contentsOnly||await K.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},nce=4,db=(t,{skipPrefix:e})=>{let r=x.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let i=r.split(x.sep).filter(l=>l!==""),n=i.indexOf(Gr),s=i.slice(0,n).join(x.sep),o=x.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},ice=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:Qt.HARD});for(let[n,s]of t.entries()){if(s.linkType===Qt.SOFT&&x.contains(e,s.target)!==null){let a=ve.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=db(o,{skipPrefix:e}),c=ve.getFactoryWithDefault(r,a,i);for(let u=0;u{let r;try{process.platform==="win32"&&(r=await K.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await K.symlinkPromise(t,e,"junction"):await K.symlinkPromise(x.relative(x.dirname(e),t),e)};async function sce(t,e,r){let i=x.join(t,Jr(`${aT.default.randomBytes(16).toString("hex")}.tmp`));try{await K.writeFilePromise(i,r);try{await K.linkPromise(i,e)}catch(n){}}finally{await K.unlinkPromise(i)}}async function O5e({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s.value===Li.HARDLINKS_GLOBAL&&i&&o){let l=x.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await Dn.checksumFile(l,{baseFs:K,algorithm:"sha1"})!==o){let g=x.join(i,Jr(`${aT.default.randomBytes(16).toString("hex")}.tmp`));await K.renamePromise(l,g);let f=await n.readFilePromise(t);await K.writeFilePromise(g,f);try{await K.linkPromise(g,l),await K.unlinkPromise(g)}catch(h){}}await K.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await sce(i,l,u);try{await K.linkPromise(l,e)}catch(g){g&&g.code&&g.code=="EXDEV"&&(s.value=Li.HARDLINKS_LOCAL,await n.copyFilePromise(t,e))}}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await K.chmodPromise(e,a)}var Rl;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(Rl||(Rl={}));var M5e=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await K.mkdirPromise(t,{recursive:!0});let o=async(l=Ke.dot)=>{let c=x.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let f of u){let h=x.join(l,f.name),p,m=x.join(c,f.name);if(f.isFile()){if(p={kind:Rl.FILE,mode:(await r.lstatPromise(m)).mode},n.value===Li.HARDLINKS_GLOBAL){let y=await Dn.checksumFile(m,{baseFs:r,algorithm:"sha1"});p.digest=y}}else if(f.isDirectory())p={kind:Rl.DIRECTORY};else if(f.isSymbolicLink())p={kind:Rl.SYMLINK,symlinkTo:await r.readlinkPromise(m)};else throw new Error(`Unsupported file type (file: ${m}, mode: 0o${await r.statSync(m).mode.toString(8).padStart(6,"0")})`);if(g.set(h,p),f.isDirectory()&&h!==Gr){let y=await o(h);for(let[b,S]of y)g.set(b,S)}}return g},a;if(n.value===Li.HARDLINKS_GLOBAL&&i&&s){let l=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await K.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await sce(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=x.join(e,l),g=x.join(t,l);c.kind===Rl.DIRECTORY?await K.mkdirPromise(g,{recursive:!0}):c.kind===Rl.FILE?await O5e({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===Rl.SYMLINK&&await cT(x.resolve(x.dirname(g),c.symlinkTo),g)}};function K5e(t,e,r,i){let n=new Map,s=new Map,o=new Map,a=!1,l=(c,u,g,f,h)=>{let p=!0,m=x.join(c,u),y=new Set;if(u===Gr||u.startsWith("@")){let S;try{S=K.statSync(m)}catch(T){}p=!!S,S?S.mtimeMs>r?(a=!0,y=new Set(K.readdirSync(m))):y=new Set(g.children.get(u).children.keys()):a=!0;let k=e.get(c);if(k){let T=x.join(c,Gr,pb),Y;try{Y=K.statSync(T)}catch(j){}if(!Y)a=!0;else if(Y.mtimeMs>r){a=!0;let j=new Set(K.readdirSync(T)),Z=new Map;s.set(c,Z);for(let[J,re]of k)j.has(J)&&Z.set(J,re)}else s.set(c,k)}}else p=h.has(u);let b=g.children.get(u);if(p){let{linkType:S,locator:k}=b,T={children:new Map,linkType:S,locator:k};if(f.children.set(u,T),k){let Y=ve.getSetWithDefault(o,k);Y.add(m),o.set(k,Y)}for(let Y of b.children.keys())l(m,Y,b,T,y)}else b.locator&&i.storedBuildState.delete(P.parseLocator(b.locator).locatorHash)};for(let[c,u]of t){let{linkType:g,locator:f}=u,h={children:new Map,linkType:g,locator:f};if(n.set(c,h),f){let p=ve.getSetWithDefault(o,u.locator);p.add(c),o.set(u.locator,p)}u.children.has(Gr)&&l(c,Gr,u,h,new Set)}return{locationTree:n,binSymlinks:s,locatorLocations:o,installChangedByUser:a}}function rce(t){let e=P.parseDescriptor(t);return P.isVirtualDescriptor(e)&&(e=P.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function U5e(t,e,r,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of t){let c=rce(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=x.join(l[0],f);f!==""&&K.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=x.contains(r,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let m=x.join(a,H.toPortablePath(p));u.set(Jr(h),m)}for(let[h,p]of c.children){let m=x.join(a,h),y=o(m,m,p);y.size>0&&s.set(a,new Map([...s.get(a)||new Map,...y]))}}else for(let[f,h]of c.children){let p=o(x.join(a,f),l,h);for(let[m,y]of p)u.set(m,y)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var oce=(t,e)=>{if(!t||!e)return t===e;let r=P.parseLocator(t);P.isVirtualLocator(r)&&(r=P.devirtualizeLocator(r));let i=P.parseLocator(e);return P.isVirtualLocator(i)&&(i=P.devirtualizeLocator(i)),P.areLocatorsEqual(r,i)};function uT(t){return x.join(t.get("globalFolder"),"store")}async function L5e(t,e,{baseFs:r,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=x.join(i.cwd,Gr),{locationTree:l,binSymlinks:c,locatorLocations:u,installChangedByUser:g}=K5e(t.locationTree,t.binSymlinks,t.mtimeMs,i),f=ice(e,{skipPrefix:i.cwd}),h=[],p=async({srcDir:J,dstDir:re,linkType:ee,globalHardlinksStore:A,nmMode:oe,packageChecksum:le})=>{let X=(async()=>{try{ee===Qt.SOFT?(await K.mkdirPromise(x.dirname(re),{recursive:!0}),await cT(x.resolve(J),re)):await M5e(re,J,{baseFs:r,globalHardlinksStore:A,nmMode:oe,packageChecksum:le})}catch(O){throw O.message=`While persisting ${J} -> ${re} ${O.message}`,O}finally{T.tick()}})().then(()=>h.splice(h.indexOf(X),1));h.push(X),h.length>nce&&await Promise.race(h)},m=async(J,re,ee)=>{let A=(async()=>{let oe=async(le,X,O)=>{try{O.innerLoop||await K.mkdirPromise(X,{recursive:!0});let L=await K.readdirPromise(le,{withFileTypes:!0});for(let pe of L){if(!O.innerLoop&&pe.name===pb)continue;let Ce=x.join(le,pe.name),Oe=x.join(X,pe.name);pe.isDirectory()?(pe.name!==Gr||O&&O.innerLoop)&&(await K.mkdirPromise(Oe,{recursive:!0}),await oe(Ce,Oe,ie(N({},O),{innerLoop:!0}))):Z.value===Li.HARDLINKS_LOCAL||Z.value===Li.HARDLINKS_GLOBAL?await K.linkPromise(Ce,Oe):await K.copyFilePromise(Ce,Oe,Zle.default.constants.COPYFILE_FICLONE)}}catch(L){throw O.innerLoop||(L.message=`While cloning ${le} -> ${X} ${L.message}`),L}finally{O.innerLoop||T.tick()}};await oe(J,re,ee)})().then(()=>h.splice(h.indexOf(A),1));h.push(A),h.length>nce&&await Promise.race(h)},y=async(J,re,ee)=>{if(ee)for(let[A,oe]of re.children){let le=ee.children.get(A);await y(x.join(J,A),oe,le)}else{re.children.has(Gr)&&await lh(x.join(J,Gr),{contentsOnly:!1});let A=x.basename(J)===Gr&&f.has(x.join(x.dirname(J),x.sep));await lh(J,{contentsOnly:J===a,allowSymlink:A})}};for(let[J,re]of l){let ee=f.get(J);for(let[A,oe]of re.children){if(A===".")continue;let le=ee&&ee.children.get(A),X=x.join(J,A);await y(X,oe,le)}}let b=async(J,re,ee)=>{if(ee){oce(re.locator,ee.locator)||await lh(J,{contentsOnly:re.linkType===Qt.HARD});for(let[A,oe]of re.children){let le=ee.children.get(A);await b(x.join(J,A),oe,le)}}else{re.children.has(Gr)&&await lh(x.join(J,Gr),{contentsOnly:!0});let A=x.basename(J)===Gr&&f.has(x.join(x.dirname(J),x.sep));await lh(J,{contentsOnly:re.linkType===Qt.HARD,allowSymlink:A})}};for(let[J,re]of f){let ee=l.get(J);for(let[A,oe]of re.children){if(A===".")continue;let le=ee&&ee.children.get(A);await b(x.join(J,A),oe,le)}}let S=new Map,k=[];for(let[J,re]of u)for(let ee of re){let{locationRoot:A,segments:oe}=db(ee,{skipPrefix:i.cwd}),le=f.get(A),X=A;if(le){for(let O of oe)if(X=x.join(X,O),le=le.children.get(O),!le)break;if(le){let O=oce(le.locator,J),L=e.get(le.locator),pe=L.target,Ce=X,Oe=L.linkType;if(O)S.has(pe)||S.set(pe,Ce);else if(pe!==Ce){let te=P.parseLocator(le.locator);P.isVirtualLocator(te)&&(te=P.devirtualizeLocator(te)),k.push({srcDir:pe,dstDir:Ce,linkType:Oe,realLocatorHash:te.locatorHash})}}}}for(let[J,{locations:re}]of e.entries())for(let ee of re){let{locationRoot:A,segments:oe}=db(ee,{skipPrefix:i.cwd}),le=l.get(A),X=f.get(A),O=A,L=e.get(J),pe=P.parseLocator(J);P.isVirtualLocator(pe)&&(pe=P.devirtualizeLocator(pe));let Ce=pe.locatorHash,Oe=L.target,te=ee;if(Oe===te)continue;let se=L.linkType;for(let be of oe)X=X.children.get(be);if(!le)k.push({srcDir:Oe,dstDir:te,linkType:se,realLocatorHash:Ce});else for(let be of oe)if(O=x.join(O,be),le=le.children.get(be),!le){k.push({srcDir:Oe,dstDir:te,linkType:se,realLocatorHash:Ce});break}}let T=Ji.progressViaCounter(k.length),Y=n.reportProgress(T),j=i.configuration.get("nmMode"),Z={value:j};try{let J=Z.value===Li.HARDLINKS_GLOBAL?`${uT(i.configuration)}/v1`:null;if(J&&!await K.existsPromise(J)){await K.mkdirpPromise(J);for(let ee=0;ee<256;ee++)await K.mkdirPromise(x.join(J,ee.toString(16).padStart(2,"0")))}for(let ee of k)(ee.linkType===Qt.SOFT||!S.has(ee.srcDir))&&(S.set(ee.srcDir,ee.dstDir),await p(ie(N({},ee),{globalHardlinksStore:J,nmMode:Z,packageChecksum:o.get(ee.realLocatorHash)||null})));await Promise.all(h),h.length=0;for(let ee of k){let A=S.get(ee.srcDir);ee.linkType!==Qt.SOFT&&ee.dstDir!==A&&await m(A,ee.dstDir,{nmMode:Z})}await Promise.all(h),await K.mkdirPromise(a,{recursive:!0});let re=await U5e(e,f,i.cwd,{loadManifest:s});await H5e(c,re,i.cwd),await T5e(i,e,re,Z,{installChangedByUser:g}),j==Li.HARDLINKS_GLOBAL&&Z.value==Li.HARDLINKS_LOCAL&&n.reportWarningOnce($.NM_HARDLINKS_MODE_DOWNGRADED,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{Y.stop()}}async function H5e(t,e,r){for(let i of t.keys()){if(x.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=x.join(i,Gr,pb);await K.removePromise(n)}}for(let[i,n]of e){if(x.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=x.join(i,Gr,pb),o=t.get(i)||new Map;await K.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await K.removePromise(x.join(s,a)),process.platform==="win32"&&await K.removePromise(x.join(s,Jr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=x.join(s,a);c!==l&&(process.platform==="win32"?await(0,Xle.default)(H.fromPortablePath(l),H.fromPortablePath(u),{createPwshFile:!1}):(await K.removePromise(u),await cT(l,u),x.contains(r,await K.realpathPromise(l))!==null&&await K.chmodPromise(l,493)))}}}var gT=class extends vu{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new ace(e)}},ace=class extends ah{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let r=new Wr({baseFs:new Es({libzip:await fn(),maxOpenFiles:80,readOnlyArchives:!0})}),i=Tle(e,this.opts.project.cwd,r),{tree:n,errors:s}=Ym(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let f=P.parseLocator(g.locator),h=P.stringifyIdent(f);h===u?o.set(u,f.reference):o.set(u,[h,f.reference])},l=x.join(this.opts.project.cwd,Pt.nodeModules),c=n.get(l);if(typeof c!="undefined"){if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let u of c.dirList){let g=x.join(l,u),f=n.get(g);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in f)a(u,f);else for(let h of f.dirList){let p=x.join(g,h),m=n.get(p);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in m)a(`${u}/${h}`,m);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var G5e={hooks:{cleanGlobalArtifacts:async t=>{let e=uT(t);await K.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:ye.STRING,values:[Kn.WORKSPACES,Kn.DEPENDENCIES,Kn.NONE],default:Kn.NONE},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:ye.STRING,values:[Li.CLASSIC,Li.HARDLINKS_LOCAL,Li.HARDLINKS_GLOBAL],default:Li.CLASSIC},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:ye.BOOLEAN,default:!0}},linkers:[AT,gT]},j5e=G5e;var gO={};ft(gO,{default:()=>XVe,npmConfigUtils:()=>br,npmHttpUtils:()=>zt,npmPublishUtils:()=>Bh});var gce=ge(ri());var Cr="npm:";var zt={};ft(zt,{AuthType:()=>cs,customPackageError:()=>J5e,del:()=>_5e,get:()=>Bo,getIdentUrl:()=>Nl,handleInvalidAuthenticationError:()=>Fl,post:()=>W5e,put:()=>z5e});var cce=ge(em()),uce=ge(require("url"));var br={};ft(br,{RegistryType:()=>wA,getAuditRegistry:()=>Y5e,getAuthConfiguration:()=>pT,getDefaultRegistry:()=>Cb,getPublishRegistry:()=>Ace,getRegistryConfiguration:()=>lce,getScopeConfiguration:()=>hT,getScopeRegistry:()=>BA,normalizeRegistry:()=>pa});var wA;(function(i){i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry"})(wA||(wA={}));function pa(t){return t.replace(/\/$/,"")}function Y5e(t,{configuration:e}){let r=e.get(wA.AUDIT_REGISTRY);return r!==null?pa(r):Ace(t,{configuration:e})}function Ace(t,{configuration:e}){var r;return((r=t.publishConfig)==null?void 0:r.registry)?pa(t.publishConfig.registry):t.name?BA(t.name.scope,{configuration:e,type:wA.PUBLISH_REGISTRY}):Cb({configuration:e,type:wA.PUBLISH_REGISTRY})}function BA(t,{configuration:e,type:r=wA.FETCH_REGISTRY}){let i=hT(t,{configuration:e});if(i===null)return Cb({configuration:e,type:r});let n=i.get(r);return n===null?Cb({configuration:e,type:r}):pa(n)}function Cb({configuration:t,type:e=wA.FETCH_REGISTRY}){let r=t.get(e);return pa(r!==null?r:t.get(wA.FETCH_REGISTRY))}function lce(t,{configuration:e}){let r=e.get("npmRegistries"),i=pa(t),n=r.get(i);if(typeof n!="undefined")return n;let s=r.get(i.replace(/^[a-z]+:/,""));return typeof s!="undefined"?s:null}function hT(t,{configuration:e}){if(t===null)return null;let i=e.get("npmScopes").get(t);return i||null}function pT(t,{configuration:e,ident:r}){let i=r&&hT(r.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:lce(t,{configuration:e})||e}var cs;(function(n){n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH"})(cs||(cs={}));async function Fl(t,{attemptedAs:e,registry:r,headers:i,configuration:n}){var s,o;if(mb(t))throw new ct($.AUTHENTICATION_INVALID,"Invalid OTP token");if(((s=t.originalError)==null?void 0:s.name)==="HTTPError"&&((o=t.originalError)==null?void 0:o.response.statusCode)===401)throw new ct($.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await q5e(r,i,{configuration:n})}`:`attempted as ${e}`})`)}function J5e(t){var e;return((e=t.response)==null?void 0:e.statusCode)===404?"Package not found":null}function Nl(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function Bo(t,a){var l=a,{configuration:e,headers:r,ident:i,authType:n,registry:s}=l,o=Tr(l,["configuration","headers","ident","authType","registry"]);if(i&&typeof s=="undefined"&&(s=BA(i.scope,{configuration:e})),i&&i.scope&&typeof n=="undefined"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let c=await Eb(s,{authType:n,configuration:e,ident:i});c&&(r=ie(N({},r),{authorization:c}));try{return await ir.get(t.charAt(0)==="/"?`${s}${t}`:t,N({configuration:e,headers:r},o))}catch(u){throw await Fl(u,{registry:s,configuration:e,headers:r}),u}}async function W5e(t,e,u){var g=u,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l}=g,c=Tr(g,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(s&&typeof a=="undefined"&&(a=BA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let f=await Eb(a,{authType:o,configuration:i,ident:s});f&&(n=ie(N({},n),{authorization:f})),l&&(n=N(N({},n),ch(l)));try{return await ir.post(a+t,e,N({configuration:i,headers:n},c))}catch(h){if(!mb(h)||l)throw await Fl(h,{attemptedAs:r,registry:a,configuration:i,headers:n}),h;l=await dT();let p=N(N({},n),ch(l));try{return await ir.post(`${a}${t}`,e,N({configuration:i,headers:p},c))}catch(m){throw await Fl(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function z5e(t,e,u){var g=u,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l}=g,c=Tr(g,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(s&&typeof a=="undefined"&&(a=BA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let f=await Eb(a,{authType:o,configuration:i,ident:s});f&&(n=ie(N({},n),{authorization:f})),l&&(n=N(N({},n),ch(l)));try{return await ir.put(a+t,e,N({configuration:i,headers:n},c))}catch(h){if(!mb(h))throw await Fl(h,{attemptedAs:r,registry:a,configuration:i,headers:n}),h;l=await dT();let p=N(N({},n),ch(l));try{return await ir.put(`${a}${t}`,e,N({configuration:i,headers:p},c))}catch(m){throw await Fl(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function _5e(t,c){var u=c,{attemptedAs:e,configuration:r,headers:i,ident:n,authType:s=3,registry:o,otp:a}=u,l=Tr(u,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(n&&typeof o=="undefined"&&(o=BA(n.scope,{configuration:r})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let g=await Eb(o,{authType:s,configuration:r,ident:n});g&&(i=ie(N({},i),{authorization:g})),a&&(i=N(N({},i),ch(a)));try{return await ir.del(o+t,N({configuration:r,headers:i},l))}catch(f){if(!mb(f)||a)throw await Fl(f,{attemptedAs:e,registry:o,configuration:r,headers:i}),f;a=await dT();let h=N(N({},i),ch(a));try{return await ir.del(`${o}${t}`,N({configuration:r,headers:h},l))}catch(p){throw await Fl(p,{attemptedAs:e,registry:o,configuration:r,headers:i}),p}}}async function Eb(t,{authType:e=2,configuration:r,ident:i}){let n=pT(t,{configuration:r,ident:i}),s=V5e(n,e);if(!s)return null;let o=await r.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new ct($.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function V5e(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function q5e(t,e,{configuration:r}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await ir.get(new uce.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function dT(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:t}=await(0,cce.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return t}function mb(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch(i){return!1}}function ch(t){return{["npm-otp"]:t}}var CT=class{supports(e,r){if(!e.reference.startsWith(Cr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!gce.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await Bo(i.__archiveUrl,{configuration:r.project.configuration,ident:e});return await wi.convertToZip(n,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var mT=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Cr)||!P.tryParseDescriptor(e.range.slice(Cr.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){let i=P.parseDescriptor(e.range.slice(Cr.length),!0);return r.resolver.getResolutionDependencies(i,r)}async getCandidates(e,r,i){let n=P.parseDescriptor(e.range.slice(Cr.length),!0);return await i.resolver.getCandidates(n,r,i)}async getSatisfying(e,r,i){let n=P.parseDescriptor(e.range.slice(Cr.length),!0);return i.resolver.getSatisfying(n,r,i)}resolve(e,r){throw new Error("Unreachable")}};var fce=ge(ri()),hce=ge(require("url"));var bo=class{supports(e,r){if(!e.reference.startsWith(Cr))return!1;let i=new hce.URL(e.reference);return!(!fce.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i;try{i=await Bo(bo.getLocatorUrl(e),{configuration:r.project.configuration,ident:e})}catch(n){i=await Bo(bo.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:r.project.configuration,ident:e})}return await wi.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:i}){let n=BA(e.scope,{configuration:i}),s=bo.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===n+s||r===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=Wt.clean(e.reference.slice(Cr.length));if(r===null)throw new ct($.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${Nl(e)}/-/${e.name}-${r}.tgz`}};var pce=ge(ri());var Ib=P.makeIdent(null,"node-gyp"),X5e=/\b(node-gyp|prebuild-install)\b/,ET=class{supportsDescriptor(e,r){return e.range.startsWith(Cr)?!!Wt.validRange(e.range.slice(Cr.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(Cr))return!1;let{selector:i}=P.parseRange(e.reference);return!!pce.default.valid(i)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=Wt.validRange(e.range.slice(Cr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Cr.length)}`);let s=await Bo(Nl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=ve.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new Wt.SemVer(c);if(n.test(u))return u}catch{}return ve.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${Cr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return bo.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,r,i){let n=Wt.validRange(e.range.slice(Cr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Cr.length)}`);return ve.mapAndFilter(r,s=>{try{let{selector:o}=P.parseRange(s,{requireProtocol:Cr}),a=new Wt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return ve.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>P.makeLocator(e,s))}async resolve(e,r){let{selector:i}=P.parseRange(e.reference),n=Wt.clean(i);if(n===null)throw new ct($.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await Bo(Nl(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new ct($.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new ct($.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new At;if(o.load(s.versions[n]),!o.dependencies.has(Ib.identHash)&&!o.peerDependencies.has(Ib.identHash)){for(let a of o.scripts.values())if(a.match(X5e)){o.dependencies.set(Ib.identHash,P.makeDescriptor(Ib,"latest")),r.report.reportWarningOnce($.NODE_GYP_INJECTED,`${P.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof o.raw.deprecated=="string"&&o.raw.deprecated!==""){let a=P.prettyLocator(r.project.configuration,e),l=o.raw.deprecated.match(/\S/)?`${a} is deprecated: ${o.raw.deprecated}`:`${a} is deprecated`;r.report.reportWarningOnce($.DEPRECATED_PACKAGE,l)}return ie(N({},e),{version:n,languageName:"node",linkType:Qt.HARD,conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var IT=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Cr)||!qg.test(e.range.slice(Cr.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Cr.length),s=await Bo(Nl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new ct($.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new ct($.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=P.makeLocator(e,`${Cr}${a}`),c=s.versions[a].dist.tarball;return bo.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[P.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Unreachable")}};var Bh={};ft(Bh,{getGitHead:()=>_Ve,makePublishBody:()=>zVe});var AO={};ft(AO,{default:()=>PVe,packUtils:()=>SA});var SA={};ft(SA,{genPackList:()=>Gb,genPackStream:()=>aO,genPackageManifest:()=>jue,hasPackScripts:()=>sO,prepareForPack:()=>oO});var nO=ge(rs()),Hue=ge(Uue()),Gue=ge(require("zlib")),EVe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],IVe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function sO(t){return!!(Zt.hasWorkspaceScript(t,"prepack")||Zt.hasWorkspaceScript(t,"postpack"))}async function oO(t,{report:e},r){await Zt.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let i=x.join(t.cwd,At.fileName);await K.existsPromise(i)&&await t.manifest.loadFile(i,{baseFs:K}),await r()}finally{await Zt.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function aO(t,e){var s,o;typeof e=="undefined"&&(e=await Gb(t));let r=new Set;for(let a of(o=(s=t.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)r.add(x.normalize(a));for(let a of t.manifest.bin.values())r.add(x.normalize(a));let i=Hue.default.pack();process.nextTick(async()=>{for(let a of e){let l=x.normalize(a),c=x.resolve(t.cwd,l),u=x.join("package",l),g=await K.lstatPromise(c),f={name:u,mtime:new Date(Dr.SAFE_TIME*1e3)},h=r.has(l)?493:420,p,m,y=new Promise((S,k)=>{p=S,m=k}),b=S=>{S?m(S):p()};if(g.isFile()){let S;l==="package.json"?S=Buffer.from(JSON.stringify(await jue(t),null,2)):S=await K.readFilePromise(c),i.entry(ie(N({},f),{mode:h,type:"file"}),S,b)}else g.isSymbolicLink()?i.entry(ie(N({},f),{mode:h,type:"symlink",linkname:await K.readlinkPromise(c)}),b):b(new Error(`Unsupported file type ${g.mode} for ${H.fromPortablePath(l)}`));await y}i.finalize()});let n=(0,Gue.createGzip)();return i.pipe(n),n}async function jue(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function Gb(t){var g,f,h,p,m,y,b,S;let e=t.project,r=e.configuration,i={accept:[],reject:[]};for(let k of IVe)i.reject.push(k);for(let k of EVe)i.accept.push(k);i.reject.push(r.get("rcFilename"));let n=k=>{if(k===null||!k.startsWith(`${t.cwd}/`))return;let T=x.relative(t.cwd,k),Y=x.resolve(Ke.root,T);i.reject.push(Y)};n(x.resolve(e.cwd,r.get("lockfileFilename"))),n(r.get("cacheFolder")),n(r.get("globalFolder")),n(r.get("installStatePath")),n(r.get("virtualFolder")),n(r.get("yarnPath")),await r.triggerHook(k=>k.populateYarnPaths,e,k=>{n(k)});for(let k of e.workspaces){let T=x.relative(t.cwd,k.cwd);T!==""&&!T.match(/^(\.\.)?\//)&&i.reject.push(`/${T}`)}let s={accept:[],reject:[]},o=(f=(g=t.manifest.publishConfig)==null?void 0:g.main)!=null?f:t.manifest.main,a=(p=(h=t.manifest.publishConfig)==null?void 0:h.module)!=null?p:t.manifest.module,l=(y=(m=t.manifest.publishConfig)==null?void 0:m.browser)!=null?y:t.manifest.browser,c=(S=(b=t.manifest.publishConfig)==null?void 0:b.bin)!=null?S:t.manifest.bin;o!=null&&s.accept.push(x.resolve(Ke.root,o)),a!=null&&s.accept.push(x.resolve(Ke.root,a)),typeof l=="string"&&s.accept.push(x.resolve(Ke.root,l));for(let k of c.values())s.accept.push(x.resolve(Ke.root,k));if(l instanceof Map)for(let[k,T]of l.entries())s.accept.push(x.resolve(Ke.root,k)),typeof T=="string"&&s.accept.push(x.resolve(Ke.root,T));let u=t.manifest.files!==null;if(u){s.reject.push("/*");for(let k of t.manifest.files)Yue(s.accept,k,{cwd:Ke.root})}return await yVe(t.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function yVe(t,{hasExplicitFileList:e,globalList:r,ignoreList:i}){let n=[],s=new Ra(t),o=[[Ke.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Jue(a,{globalList:r,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Ke.root)for(let m of u)g=g||m===".gitignore",f=f||m===".npmignore";let h=f?await que(s,a,".npmignore"):g?await que(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;Jue(a,{globalList:r,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let m of u)o.push([x.resolve(a,m),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(x.relative(Ke.root,a))}return n.sort()}async function que(t,e,r){let i={accept:[],reject:[]},n=await t.readFilePromise(x.join(e,r),"utf8");for(let s of n.split(/\n/g))Yue(i.reject,s,{cwd:e});return i}function wVe(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=x.resolve(e,t)),r&&(t=`!${t}`),t}function Yue(t,e,{cwd:r}){let i=e.trim();i===""||i[0]==="#"||t.push(wVe(i,{cwd:r}))}var us;(function(i){i[i.None=0]="None",i[i.Match=1]="Match",i[i.NegatedMatch=2]="NegatedMatch"})(us||(us={}));function Jue(t,{globalList:e,ignoreLists:r}){let i=jb(t,e.accept);if(i!==0)return i===2;let n=jb(t,e.reject);if(n!==0)return n===1;if(r!==null)for(let s of r){let o=jb(t,s.accept);if(o!==0)return o===2;let a=jb(t,s.reject);if(a!==0)return a===1}return!1}function jb(t,e){let r=e,i=[];for(let n=0;n{await oO(i,{report:l},async()=>{l.reportJson({base:H.fromPortablePath(i.cwd)});let c=await Gb(i);for(let u of c)l.reportInfo(null,H.fromPortablePath(u)),l.reportJson({location:H.fromPortablePath(u)});if(!this.dryRun){let u=await aO(i,c),g=K.createWriteStream(s);u.pipe(g),await new Promise(f=>{g.on("finish",f)})}}),this.dryRun||(l.reportInfo($.UNNAMED,`Package archive generated in ${Ae.pretty(e,s,Ae.Type.PATH)}`),l.reportJson({output:H.fromPortablePath(s)}))})).exitCode()}};lE.paths=[["pack"]],lE.usage=Re.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});var zue=lE;function BVe(t,{workspace:e}){let r=t.replace("%s",bVe(e)).replace("%v",QVe(e));return H.toPortablePath(r)}function bVe(t){return t.manifest.name!==null?P.slugifyIdent(t.manifest.name):"package"}function QVe(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var vVe=["dependencies","devDependencies","peerDependencies"],SVe="workspace:",kVe=(t,e)=>{var i,n;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let s of vVe)for(let o of t.manifest.getForScope(s).values()){let a=r.tryWorkspaceByDescriptor(o),l=P.parseRange(o.range);if(l.protocol===SVe)if(a===null){if(r.tryWorkspaceByIdent(o)===null)throw new ct($.WORKSPACE_NOT_FOUND,`${P.prettyDescriptor(r.configuration,o)}: No local workspace found for this range`)}else{let c;P.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector;let u=s==="dependencies"?P.makeDescriptor(o,"unknown"):null,g=u!==null&&t.manifest.ensureDependencyMeta(u).optional?"optionalDependencies":s;e[g][P.stringifyIdent(o)]=c}}},xVe={hooks:{beforeWorkspacePacking:kVe},commands:[zue]},PVe=xVe;var ige=ge(require("crypto")),nge=ge(rge()),sge=ge(require("url"));async function zVe(t,e,{access:r,tag:i,registry:n,gitHead:s}){let o=t.project.configuration,a=t.manifest.name,l=t.manifest.version,c=P.stringifyIdent(a),u=(0,ige.createHash)("sha1").update(e).digest("hex"),g=nge.default.fromData(e).toString();typeof r=="undefined"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:o.get("npmPublishAccess")!==null?r=o.get("npmPublishAccess"):a.scope?r="restricted":r="public");let f=await SA.genPackageManifest(t),h=`${c}-${l}.tgz`,p=new sge.URL(`${pa(n)}/${c}/-/${h}`);return{_id:c,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:c,access:r,["dist-tags"]:{[i]:l},versions:{[l]:ie(N({},f),{_id:`${c}@${l}`,name:c,version:l,gitHead:s,dist:{shasum:u,integrity:g,tarball:p.toString()}})}}}async function _Ve(t){try{let{stdout:e}=await Fr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}var fO={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ye.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:ye.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:ye.SECRET,default:null}},oge={npmAuditRegistry:{description:"Registry to query for audit reports",type:ye.STRING,default:null},npmPublishRegistry:{description:"Registry to push packages to",type:ye.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ye.STRING,default:"https://registry.yarnpkg.com"}},VVe={configuration:ie(N(N({},fO),oge),{npmScopes:{description:"Settings per package scope",type:ye.MAP,valueDefinition:{description:"",type:ye.SHAPE,properties:N(N({},fO),oge)}},npmRegistries:{description:"Settings per registry",type:ye.MAP,normalizeKeys:pa,valueDefinition:{description:"",type:ye.SHAPE,properties:N({},fO)}}}),fetchers:[CT,bo],resolvers:[mT,ET,IT]},XVe=VVe;var CO={};ft(CO,{default:()=>o9e});Is();var Ia;(function(i){i.All="all",i.Production="production",i.Development="development"})(Ia||(Ia={}));var vo;(function(s){s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical"})(vo||(vo={}));var Yb=[vo.Info,vo.Low,vo.Moderate,vo.High,vo.Critical];function age(t,e){let r=[],i=new Set,n=o=>{i.has(o)||(i.add(o),r.push(o))};for(let o of e)n(o);let s=new Set;for(;r.length>0;){let o=r.shift(),a=t.storedResolutions.get(o);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=t.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function ZVe(t,e){return new Set([...t].filter(r=>!e.has(r)))}function $Ve(t,e,{all:r}){let i=r?t.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=age(t,l),g=age(t,c);return ZVe(g,u)}function Age(t){let e={};for(let r of t)e[P.stringifyIdent(r)]=P.parseRange(r.range).selector;return e}function lge(t){if(typeof t=="undefined")return new Set;let e=Yb.indexOf(t),r=Yb.slice(e);return new Set(r)}function e9e(t,e){let r=lge(e),i={};for(let n of r)i[n]=t[n];return i}function cge(t,e){var i;let r=e9e(t,e);for(let n of Object.keys(r))if((i=r[n])!=null?i:0>0)return!0;return!1}function uge(t,e){var s;let r={},i={children:r},n=Object.values(t.advisories);if(e!=null){let o=lge(e);n=n.filter(a=>o.has(a.severity))}for(let o of ve.sortMap(n,a=>a.module_name))r[o.module_name]={label:o.module_name,value:Ae.tuple(Ae.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{Issue:{label:"Issue",value:Ae.tuple(Ae.Type.NO_HINT,o.title)},URL:{label:"URL",value:Ae.tuple(Ae.Type.URL,o.url)},Severity:{label:"Severity",value:Ae.tuple(Ae.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:Ae.tuple(Ae.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:Ae.tuple(Ae.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:Ae.tuple(Ae.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:Ae.tuple(Ae.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function gge(t,e,{all:r,environment:i}){let n=r?t.workspaces:[e],s=[Ia.All,Ia.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[Ia.All,Ia.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return Age([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function fge(t,e,{all:r}){var s;let i=$Ve(t,e,{all:r}),n={};for(let o of t.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:Age(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var gE=class extends Le{constructor(){super(...arguments);this.all=W.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=W.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=W.String("--environment",Ia.All,{description:"Which environments to cover",validator:nn(Ia)});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=W.String("--severity",vo.Info,{description:"Minimal severity requested for packages to be displayed",validator:nn(vo)})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let n=gge(r,i,{all:this.all,environment:this.environment}),s=fge(r,i,{all:this.all});if(!this.recursive)for(let f of Object.keys(s))Object.prototype.hasOwnProperty.call(n,f)?s[f].requires={}:delete s[f];let o={requires:n,dependencies:s},a=br.getAuditRegistry(i.manifest,{configuration:e}),l,c=await gA.start({configuration:e,stdout:this.context.stdout},async()=>{l=await zt.post("/-/npm/v1/security/audits/quick",o,{authType:zt.AuthType.BEST_EFFORT,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=cge(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(As.emitTree(uge(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async f=>{f.reportJson(l),u||f.reportInfo($.EXCEPTION,"No audit suggestions")})).exitCode()}};gE.paths=[["npm","audit"]],gE.usage=Re.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${Yb.map(e=>`\`${e}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var hge=gE;var hO=ge(ri()),pO=ge(require("util")),fE=class extends Le{constructor(){super(...arguments);this.fields=W.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=W.Rest()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let k=r.topLevelWorkspace;if(!k.manifest.name)throw new Pe(`Missing ${Ae.pretty(e,"name",Ae.Type.CODE)} field in ${H.fromPortablePath(x.join(k.cwd,Pt.manifest))}`);c=P.makeDescriptor(k.manifest.name,"unknown")}else c=P.parseDescriptor(l);let u=zt.getIdentUrl(c),g=dO(await zt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:zt.customPackageError})),f=Object.keys(g.versions).sort(hO.default.compareLoose),p=g["dist-tags"].latest||f[f.length-1],m=Wt.validRange(c.range);if(m){let k=hO.default.maxSatisfying(f,m);k!==null?p=k:(a.reportWarning($.UNNAMED,`Unmet range ${P.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else Object.prototype.hasOwnProperty.call(g["dist-tags"],c.range)?p=g["dist-tags"][c.range]:c.range!=="unknown"&&(a.reportWarning($.UNNAMED,`Unknown tag ${P.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let y=g.versions[p],b=ie(N(N({},g),y),{version:p,versions:f}),S;if(i!==null){S={};for(let k of i){let T=b[k];if(typeof T!="undefined")S[k]=T;else{a.reportWarning($.EXCEPTION,`The ${Ae.pretty(e,k,Ae.Type.CODE)} field doesn't exist inside ${P.prettyIdent(e,c)}'s information`),s=!0;continue}}}else this.json||(delete b.dist,delete b.readme,delete b.users),S=b;a.reportJson(S),this.json||n.push(S)}});pO.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,pO.inspect)(a,{depth:Infinity,colors:!0,compact:!1})} +`);return o.exitCode()}};fE.paths=[["npm","info"]],fE.usage=Re.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var pge=fE;function dO(t){if(Array.isArray(t)){let e=[];for(let r of t)r=dO(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let i=dO(t[r]);i&&(e[r]=i)}return e}else return t||null}var dge=ge(em()),hE=class extends Le{constructor(){super(...arguments);this.scope=W.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=W.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=await qb({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await r9e({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await zt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:zt.AuthType.NO_AUTH});return await t9e(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo($.UNNAMED,"Successfully logged in")})).exitCode()}};hE.paths=[["npm","login"]],hE.usage=Re.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var Cge=hE;async function qb({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?br.getScopeRegistry(t,{configuration:r,type:br.RegistryType.PUBLISH_REGISTRY}):t?br.getScopeRegistry(t,{configuration:r}):e?br.getPublishRegistry((await zf(r,i)).manifest,{configuration:r}):br.getDefaultRegistry({configuration:r})}async function t9e(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=ve.isIndexableObject(a)?a:{},c=l[o],u=ve.isIndexableObject(c)?c:{};return ie(N({},l),{[o]:ie(N({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await we.updateHomeConfiguration(s)}async function r9e({registry:t,report:e,stdin:r,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo($.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo($.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{username:s,password:o}=await(0,dge.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var bh=new Set(["npmAuthIdent","npmAuthToken"]),pE=class extends Le{constructor(){super(...arguments);this.scope=W.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=W.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=W.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r=async()=>{var l;let n=await qb({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await we.find(this.context.cwd,this.context.plugins),o=P.makeIdent((l=this.scope)!=null?l:null,"pkg");return!br.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await i9e(),n.reportInfo($.UNNAMED,"Successfully logged out from everything")),this.scope){await mge("npmScopes",this.scope),await r()?n.reportInfo($.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning($.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await qb({configuration:e,cwd:this.context.cwd,publish:this.publish});await mge("npmRegistries",s),await r()?n.reportInfo($.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning($.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};pE.paths=[["npm","logout"]],pE.usage=Re.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});var Ege=pE;function n9e(t,e){let r=t[e];if(!ve.isIndexableObject(r))return!1;let i=new Set(Object.keys(r));if([...bh].every(s=>!i.has(s)))return!1;for(let s of bh)i.delete(s);if(i.size===0)return t[e]=void 0,!0;let n=N({},r);for(let s of bh)delete n[s];return t[e]=n,!0}async function i9e(){let t=e=>{let r=!1,i=ve.isIndexableObject(e)?N({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,r=!0);for(let n of Object.keys(i))n9e(i,n)&&(r=!0);if(Object.keys(i).length!==0)return r?i:e};return await we.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function mge(t,e){return await we.updateHomeConfiguration({[t]:r=>{let i=ve.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(i,e))return r;let n=i[e],s=ve.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...bh].every(l=>!o.has(l)))return r;for(let l of bh)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:ie(N({},i),{[e]:void 0});let a={};for(let l of bh)a[l]=void 0;return ie(N({},i),{[e]:N(N({},s),a)})}})}var dE=class extends Le{constructor(){super(...arguments);this.access=W.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=W.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=W.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=W.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);if(i.manifest.private)throw new Pe("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new Pe("Workspaces must have valid names and versions to be published on an external registry");await r.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=br.getPublishRegistry(i.manifest,{configuration:e});return(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await zt.get(zt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new ct($.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning($.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await Zt.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await SA.prepareForPack(i,{report:l},async()=>{let g=await SA.genPackList(i);for(let y of g)l.reportInfo(null,y);let f=await SA.genPackStream(i,g),h=await ve.bufferStream(f),p=await Bh.getGitHead(i.cwd),m=await Bh.makePublishBody(i,h,{access:this.access,tag:this.tag,registry:o,gitHead:p});await zt.put(zt.getIdentUrl(n),m,{configuration:e,registry:o,ident:n,otp:this.otp,jsonResponse:!0})}),l.reportInfo($.UNNAMED,"Package archive published")})).exitCode()}};dE.paths=[["npm","publish"]],dE.usage=Re.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var Ige=dE;var wge=ge(ri());var CE=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=W.String({required:!1})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=P.parseIdent(this.package);else{if(!i)throw new ht(r.cwd,this.context.cwd);if(!i.manifest.name)throw new Pe(`Missing 'name' field in ${H.fromPortablePath(x.join(i.cwd,Pt.manifest))}`);n=i.manifest.name}let s=await mE(n,e),a={children:ve.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:Ae.tuple(Ae.Type.RESOLUTION,{descriptor:P.makeDescriptor(n,l),locator:P.makeLocator(n,c)})}))};return As.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};CE.paths=[["npm","tag","list"]],CE.usage=Re.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var yge=CE;async function mE(t,e){let r=`/-/package${zt.getIdentUrl(t)}/dist-tags`;return zt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:zt.customPackageError})}var EE=class extends Le{constructor(){super(...arguments);this.package=W.String();this.tag=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);let n=P.parseDescriptor(this.package,!0),s=n.range;if(!wge.default.valid(s))throw new Pe(`The range ${Ae.pretty(e,n.range,Ae.Type.RANGE)} must be a valid semver version`);let o=br.getPublishRegistry(i.manifest,{configuration:e}),a=Ae.pretty(e,n,Ae.Type.IDENT),l=Ae.pretty(e,s,Ae.Type.RANGE),c=Ae.pretty(e,this.tag,Ae.Type.CODE);return(await Je.start({configuration:e,stdout:this.context.stdout},async g=>{let f=await mE(n,e);Object.prototype.hasOwnProperty.call(f,this.tag)&&f[this.tag]===s&&g.reportWarning($.UNNAMED,`Tag ${c} is already set to version ${l}`);let h=`/-/package${zt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await zt.put(h,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo($.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};EE.paths=[["npm","tag","add"]],EE.usage=Re.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var Bge=EE;var IE=class extends Le{constructor(){super(...arguments);this.package=W.String();this.tag=W.String()}async execute(){if(this.tag==="latest")throw new Pe("The 'latest' tag cannot be removed.");let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);let n=P.parseIdent(this.package),s=br.getPublishRegistry(i.manifest,{configuration:e}),o=Ae.pretty(e,this.tag,Ae.Type.CODE),a=Ae.pretty(e,n,Ae.Type.IDENT),l=await mE(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new Pe(`${o} is not a tag of package ${a}`);return(await Je.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${zt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await zt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo($.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};IE.paths=[["npm","tag","remove"]],IE.usage=Re.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var bge=IE;var yE=class extends Le{constructor(){super(...arguments);this.scope=W.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=W.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=br.getScopeRegistry(this.scope,{configuration:e,type:br.RegistryType.PUBLISH_REGISTRY}):this.scope?r=br.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=br.getPublishRegistry((await zf(e,this.context.cwd)).manifest,{configuration:e}):r=br.getDefaultRegistry({configuration:e}),(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await zt.get("/-/whoami",{configuration:e,registry:r,authType:zt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError($.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo($.UNNAMED,s.username)})).exitCode()}};yE.paths=[["npm","whoami"]],yE.usage=Re.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var Qge=yE;var s9e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:ye.STRING,default:null}},commands:[hge,pge,Cge,Ege,Ige,Bge,yge,bge,Qge]},o9e=s9e;var QO={};ft(QO,{default:()=>w9e,patchUtils:()=>mO});var mO={};ft(mO,{applyPatchFile:()=>zb,diffFolders:()=>wO,extractPackageToDisk:()=>yO,extractPatchFlags:()=>Fge,isParentRequired:()=>IO,loadPatchFiles:()=>QE,makeDescriptor:()=>E9e,makeLocator:()=>EO,parseDescriptor:()=>BE,parseLocator:()=>bE,parsePatchFile:()=>Wb});var wE=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var a9e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Qh(t){return x.relative(Ke.root,x.resolve(Ke.root,H.toPortablePath(t)))}function A9e(t){let e=t.trim().match(a9e);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var l9e=420,c9e=493,Zr;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(Zr||(Zr={}));var vge=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),u9e=t=>({header:A9e(t),parts:[]}),g9e={["@"]:"header",["-"]:Zr.Deletion,["+"]:Zr.Insertion,[" "]:Zr.Context,["\\"]:"pragma",undefined:Zr.Context};function h9e(t){let e=[],r=vge(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),r.hunks.push(n),n=null)}function a(){o(),e.push(r),r=vge()}for(let l=0;l0?"patch":"mode change",S=null;switch(b){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Qh(u),toPath:Qh(g)}),S=g}break;case"file deletion":{let k=n||p;if(!k)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:y&&y[0]||null,path:Qh(k),mode:Jb(l),hash:f})}break;case"file creation":{let k=s||m;if(!k)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:y&&y[0]||null,path:Qh(k),mode:Jb(c),hash:h})}break;case"patch":case"mode change":S=m||s;break;default:ve.assertNever(b);break}S&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Qh(S),oldMode:Jb(o),newMode:Jb(a)}),S&&y&&y.length&&e.push({type:"patch",semverExclusivity:i,path:Qh(S),hunks:y,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function Jb(t){let e=parseInt(t,8)&511;if(e!==l9e&&e!==c9e)throw new Error(`Unexpected file mode string: ${t}`);return e}function Wb(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),p9e(h9e(e))}function f9e(t){let e=0,r=0;for(let{type:i,lines:n}of t.parts)switch(i){case Zr.Context:r+=n.length,e+=n.length;break;case Zr.Deletion:e+=n.length;break;case Zr.Insertion:r+=n.length;break;default:ve.assertNever(i);break}if(e!==t.header.original.length||r!==t.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(t.header.original.length)} ${i(t.header.patched.length)} @@, got @@ ${i(e)} ${i(r)} @@)`)}}async function vh(t,e,r){let i=await t.lstatPromise(e),n=await r();if(typeof n!="undefined"&&(e=n),t.lutimesPromise)await t.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await t.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function zb(t,{baseFs:e=new ar,dryRun:r=!1,version:i=null}={}){for(let n of t)if(!(n.semverExclusivity!==null&&i!==null&&!Wt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(r){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await vh(e,x.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(r){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await vh(e,x.dirname(n.fromPath),async()=>{await vh(e,x.dirname(n.toPath),async()=>{await vh(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` +`)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(x.dirname(n.path),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,Dr.SAFE_TIME,Dr.SAFE_TIME)}break;case"patch":await vh(e,n.path,async()=>{await d9e(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(Sge(n.newMode)!==Sge(o))continue;await vh(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:ve.assertNever(n);break}}function Sge(t){return(t&64)>0}function kge(t){return t.replace(/\s+$/,"")}function C9e(t,e){return kge(t)===kge(e)}async function d9e({hunks:t,path:e},{baseFs:r,dryRun:i=!1}){let n=await r.statSync(e).mode,o=(await r.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of t){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),m=Math.max(h,p),y=0,b=0,S=null;for(;y<=m;){if(y<=h&&(b=f-y,S=xge(g,o,b),S!==null)){y=-y;break}if(y<=p&&(b=f+y,S=xge(g,o,b),S!==null))break;y+=1}if(S===null)throw new wE(t.indexOf(g),g);a.push(S),l+=y,c=b+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:ve.assertNever(f);break}await r.writeFilePromise(e,o.join(` +`),{mode:n})}function xge(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case Zr.Context:case Zr.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!C9e(o,s))return null;r+=1}n.type===Zr.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case Zr.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:ve.assertNever(n.type);break}return i}var m9e=/^builtin<([^>]+)>$/;function Pge(t,e){let{source:r,selector:i,params:n}=P.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>H.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?P.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(r);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function BE(t){let i=Pge(t.range,P.parseDescriptor),{sourceItem:e}=i,r=Tr(i,["sourceItem"]);return ie(N({},r),{sourceDescriptor:e})}function bE(t){let i=Pge(t.reference,P.parseLocator),{sourceItem:e}=i,r=Tr(i,["sourceItem"]);return ie(N({},r),{sourceLocator:e})}function Dge({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:P.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return P.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:N(N(N({},a),l),o)})}function E9e(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return P.makeLocator(t,Dge({parentLocator:e,sourceItem:r,patchPaths:i},P.stringifyDescriptor))}function EO(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return P.makeLocator(t,Dge({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function Rge({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(m9e);return s!==null?r(s[1]):x.isAbsolute(i)?t(i):e(i)}function Fge(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function IO(t){return Rge({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function QE(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new _t(Ke.root),prefixPath:x.relative(Ke.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await ve.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=Fge(o),l=await Rge({onAbsolute:async()=>await K.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(x.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return ie(N({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function yO(t,{cache:e,project:r}){let i=r.storedPackages.get(t.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=r.storedChecksums,s=new pi,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await K.mktempPromise(),c=x.join(l,"source"),u=x.join(l,"user"),g=x.join(l,".yarn-patch.json");return await Promise.all([K.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),K.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),K.writeJsonPromise(g,{locator:P.stringifyLocator(t),version:i.version})]),K.detachTemp(l),u}async function wO(t,e){let r=H.fromPortablePath(t).replace(/\\/g,"/"),i=H.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Fr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--text",r,i],{cwd:H.toPortablePath(process.cwd()),env:ie(N({},process.env),{GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${s}`);let o=r.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${ve.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${ve.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(ve.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(ve.escapeRegExp(`${i}/`),"g"),"")}function Nge(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case Zr.Context:r.reportInfo(null,` ${Ae.pretty(e,n,"grey")}`);break;case Zr.Deletion:r.reportError($.FROZEN_LOCKFILE_EXCEPTION,`- ${Ae.pretty(e,n,Ae.Type.REMOVED)}`);break;case Zr.Insertion:r.reportError($.FROZEN_LOCKFILE_EXCEPTION,`+ ${Ae.pretty(e,n,Ae.Type.ADDED)}`);break;default:ve.assertNever(i.type)}}var BO=class{supports(e,r){return!!e.reference.startsWith("patch:")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=bE(e),a=await QE(i,o,r),l=await K.mktempPromise(),c=x.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=P.getIdentVendorPath(e),f=await fn(),h=new Ai(c,{libzip:f,create:!0,level:r.project.configuration.get("compressionLevel")});await ve.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:m}of a){if(p===null)continue;let y=new Ai(c,{libzip:f,level:r.project.configuration.get("compressionLevel")}),b=new _t(x.resolve(Ke.root,g),{baseFs:y});try{await zb(Wb(p),{baseFs:b,version:s})}catch(S){if(!(S instanceof wE))throw S;let k=r.project.configuration.get("enableInlineHunks"),T=!k&&!m?" (set enableInlineHunks for details)":"",Y=`${P.prettyLocator(r.project.configuration,e)}: ${S.message}${T}`,j=Z=>{!k||Nge(S.hunk,{configuration:r.project.configuration,report:Z})};if(y.discardAndClose(),m){r.report.reportWarningOnce($.PATCH_HUNK_FAILED,Y,{reportExtra:j});continue}else throw new ct($.PATCH_HUNK_FAILED,Y,j)}y.saveAndClose()}return new Ai(c,{libzip:f,level:r.project.configuration.get("compressionLevel")})}};var I9e=3,bO=class{supportsDescriptor(e,r){return!!e.range.startsWith("patch:")}supportsLocator(e,r){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){let{patchPaths:n}=BE(e);return n.every(s=>!IO(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=BE(e);return[i]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=BE(e),a=await QE(n,o,i.fetchOptions),l=r.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=Dn.makeHash(`${I9e}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[EO(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=bE(e),n=await r.resolver.resolve(i,r);return N(N({},n),e)}};var vE=class extends Le{constructor(){super(...arguments);this.save=W.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let n=x.resolve(this.context.cwd,H.toPortablePath(this.patchFolder)),s=x.join(n,"../source"),o=x.join(n,"../.yarn-patch.json");if(!K.existsSync(s))throw new Pe("The argument folder didn't get created by 'yarn patch'");let a=await wO(s,n),l=await K.readJsonPromise(o),c=P.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new Pe("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=x.join(u,`${P.slugifyLocator(c)}.patch`);await K.mkdirPromise(u,{recursive:!0}),await K.writeFilePromise(g,a);let f=x.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:P.stringifyIdent(c),description:l.version}},reference:`patch:${P.stringifyLocator(c)}#${f}`}),await r.persist()}};vE.paths=[["patch-commit"]],vE.usage=Re.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var Lge=vE;var SE=class extends Le{constructor(){super(...arguments);this.json=W.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=W.String()}async execute(){let e=await we.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let s=P.parseLocator(this.package);if(s.reference==="unknown"){let o=ve.mapAndFilter([...r.storedPackages.values()],a=>a.identHash!==s.identHash?ve.mapAndFilter.skip:P.isVirtualLocator(a)?ve.mapAndFilter.skip:a);if(o.length===0)throw new Pe("No package found in the project for the given locator");if(o.length>1)throw new Pe(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${o.map(a=>` +- ${P.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new Pe("No package found in the project for the given locator");await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await yO(s,{cache:n,project:r});o.reportJson({locator:P.stringifyLocator(s),path:H.fromPortablePath(a)}),o.reportInfo($.UNNAMED,`Package ${P.prettyLocator(e,s)} got extracted with success!`),o.reportInfo($.UNNAMED,`You can now edit the following folder: ${Ae.pretty(e,H.fromPortablePath(a),"magenta")}`),o.reportInfo($.UNNAMED,`Once you are done run ${Ae.pretty(e,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${H.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};SE.paths=[["patch"]],SE.usage=Re.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n \n Once you're done with your changes, run `yarn patch-commit -s ` (with `` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n "});var Tge=SE;var y9e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:ye.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:ye.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[Lge,Tge],fetchers:[BO],resolvers:[bO]},w9e=y9e;var xO={};ft(xO,{default:()=>Q9e});var vO=class{supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let i=SO(),n=r.project.installersCustomData.get(i);if(!n)throw new Pe(`The project in ${Ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,Ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s=="undefined")throw new Pe(`Couldn't find ${P.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let i=SO(),n=r.project.installersCustomData.get(i);if(!n)throw new Pe(`The project in ${Ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,Ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=x.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new Oge(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},Oge=class{constructor(e){this.opts=e;this.asyncActions=new ve.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return SO()}attachCustomData(e){}async installPackage(e,r,i){switch(e.linkType){case Qt.SOFT:return this.installPackageSoft(e,r,i);case Qt.HARD:return this.installPackageHard(e,r,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,i){let n=x.resolve(r.packageFs.getRealPath(),r.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,r,i){var u;let n=B9e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await K.mkdirPromise(n,{recursive:!0}),await K.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await At.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?u:new At,misc:{hasBindingGyp:ha.hasBindingGyp(r)}},l=this.opts.project.getDependencyMeta(o,e.version),c=ha.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,r){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!Uge(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=x.join(n,Pt.nodeModules),o=[],a=await Hge(s);for(let[l,c]of r){let u=c;Uge(c,{project:this.opts.project})||(this.opts.report.reportWarning($.UNNAMED,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(c)})`);let f=P.stringifyIdent(l),h=x.join(s,f),p=x.relative(x.dirname(h),g),m=a.get(f);a.delete(f),o.push(Promise.resolve().then(async()=>{if(m){if(m.isSymbolicLink()&&await K.readlinkPromise(h)===p)return;await K.removePromise(h)}await K.mkdirpPromise(x.dirname(h)),process.platform=="win32"?await K.symlinkPromise(g,h,"junction"):await K.symlinkPromise(p,h)}))}o.push(Gge(s,a)),await Promise.all(o)}))}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=Kge(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await K.removePromise(e);else{let r=[],i=new Set;for(let s of this.customData.pathByLocator.values()){let o=x.contains(e,s);if(o!==null){let[a,,...l]=o.split(x.sep);i.add(a);let c=x.join(e,a);r.push(K.readdirPromise(c).then(u=>Promise.all(u.map(async g=>{let f=x.join(c,g);if(g===Pt.nodeModules){let h=await Hge(f);return h.delete(l.join(x.sep)),Gge(f,h)}else return K.removePromise(f)}))).catch(u=>{if(u.code!=="ENOENT")throw u}))}}let n;try{n=await K.readdirPromise(e)}catch{n=[]}for(let s of n)i.has(s)||r.push(K.removePromise(x.join(e,s)));await Promise.all(r)}return await this.asyncActions.wait(),await kO(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await kO(Mge(this.opts.project)),{customData:this.customData}}};function SO(){return JSON.stringify({name:"PnpmInstaller",version:2})}function Mge(t){return x.join(t.cwd,Pt.nodeModules)}function Kge(t){return x.join(Mge(t),".store")}function B9e(t,{project:e}){let r=P.slugifyLocator(t),i=P.getIdentVendorPath(t);return x.join(Kge(e),r,i)}function Uge(t,{project:e}){return!P.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function Hge(t){let e=new Map,r=[];try{r=await K.readdirPromise(t,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of r)if(!i.name.startsWith("."))if(i.name.startsWith("@")){let n=await K.readdirPromise(x.join(t,i.name),{withFileTypes:!0});if(n.length===0)e.set(i.name,i);else for(let s of n)e.set(`${i.name}/${s.name}`,s)}else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}async function Gge(t,e){var n;let r=[],i=new Set;for(let s of e.keys()){r.push(K.removePromise(x.join(t,s)));let o=(n=P.tryParseIdent(s))==null?void 0:n.scope;o&&i.add(`@${o}`)}return Promise.all(r).then(()=>Promise.all([...i].map(s=>kO(x.join(t,s)))))}async function kO(t){try{await K.rmdirPromise(t)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var b9e={linkers:[vO]},Q9e=b9e;var W0=()=>({modules:new Map([["@yarnpkg/cli",VC],["@yarnpkg/core",vC],["@yarnpkg/fslib",$h],["@yarnpkg/libzip",Kd],["@yarnpkg/parsers",ap],["@yarnpkg/shell",Hd],["clipanion",u$(mp)],["semver",v9e],["typanion",ag],["yup",S9e],["@yarnpkg/plugin-essentials",uL],["@yarnpkg/plugin-compat",pL],["@yarnpkg/plugin-dlx",dL],["@yarnpkg/plugin-file",QL],["@yarnpkg/plugin-git",cL],["@yarnpkg/plugin-github",SL],["@yarnpkg/plugin-http",PL],["@yarnpkg/plugin-init",NL],["@yarnpkg/plugin-link",KL],["@yarnpkg/plugin-nm",fT],["@yarnpkg/plugin-npm",gO],["@yarnpkg/plugin-npm-cli",CO],["@yarnpkg/plugin-pack",AO],["@yarnpkg/plugin-patch",QO],["@yarnpkg/plugin-pnp",rT],["@yarnpkg/plugin-pnpm",xO]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});C0({binaryVersion:Kr||"",pluginConfiguration:W0()});})(); +/*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + */ +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ diff --git a/.yarnrc b/.yarnrc deleted file mode 100644 index 5455c6c5d3..0000000000 --- a/.yarnrc +++ /dev/null @@ -1 +0,0 @@ -ignore-scripts true diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 0000000000..10d4eb4c70 --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1,9 @@ +# We use allow-scripts to manually enable scripts and then run them +enableScripts: false + +# This ensures Yarn still uses a `node_modules` directory, which is required +# right now for TypeScript to find @types/* packages +nodeLinker: node-modules + +# The current version of Yarn we're using +yarnPath: .yarn/releases/yarn-3.2.1.cjs diff --git a/README.md b/README.md index 2f5e006381..b02190b3b6 100644 --- a/README.md +++ b/README.md @@ -259,7 +259,7 @@ console.log(datamodel.flatState); // {infura: {...}, contractExchangeRates: [... - Install [Node.js](https://nodejs.org) version 12 - If you are using [nvm](https://github.com/creationix/nvm#installation) (recommended) running `nvm use` will automatically choose the right node version for you. -- Install [Yarn v1](https://yarnpkg.com/en/docs/install) +- Install [Yarn v3](https://yarnpkg.com/getting-started/install) - Run `yarn setup` to install dependencies and run any requried post-install scripts - **Warning:** Do not use the `yarn` / `yarn install` command directly. Use `yarn setup` instead. The normal install command will skip required post-install scripts, leaving your development environment in an invalid state. diff --git a/package.json b/package.json index c703fccf54..d0ada6a4d8 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "lint:eslint": "eslint . --cache --ext js,ts", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write", "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' --ignore-path .gitignore", - "prepublishOnly": "yarn build", + "prepack": "yarn build", "setup": "yarn install && yarn allow-scripts", "test": "jest", "test:watch": "jest --watch" @@ -110,6 +110,7 @@ "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, + "packageManager": "yarn@3.2.1", "engines": { "node": ">=12.0.0" }, diff --git a/yarn.lock b/yarn.lock index 957ee33321..8ffde5da20 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,8613 +1,11830 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@apocentre/alias-sampling@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@apocentre/alias-sampling/-/alias-sampling-0.5.3.tgz#897ff181b48ad7b2bcb4ecf29400214888244f08" - integrity sha512-7UDWIIF9hIeJqfKXkNIzkVandlwLf1FWTSdrb9iXvOP8oF544JRXQjCbiTmCv2c9n44n/FIWtehhBfNuAx2CZA== - -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" - integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/code-frame@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/code-frame@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" - integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== - dependencies: - "@babel/highlight" "^7.8.3" - -"@babel/core@^7.1.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" - integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helpers" "^7.5.5" - "@babel/parser" "^7.5.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.7.5": - version "7.8.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.7.tgz#b69017d221ccdeb203145ae9da269d72cf102f3b" - integrity sha512-rBlqF3Yko9cynC5CCFy6+K/w2N+Sq/ff2BPy+Krp7rHlABIr5epbA7OxVeKoMHB39LZOp1UY5SuLjy6uWi35yA== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.8.7" - "@babel/helpers" "^7.8.4" - "@babel/parser" "^7.8.7" - "@babel/template" "^7.8.6" - "@babel/traverse" "^7.8.6" - "@babel/types" "^7.8.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" - integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== - dependencies: - "@babel/types" "^7.5.5" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - trim-right "^1.0.1" - -"@babel/generator@^7.8.6", "@babel/generator@^7.8.7": - version "7.8.8" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.8.tgz#cdcd58caab730834cee9eeadb729e833b625da3e" - integrity sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg== - dependencies: - "@babel/types" "^7.8.7" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== - dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-function-name@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca" - integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA== - dependencies: - "@babel/helper-get-function-arity" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-get-function-arity@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" - integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-module-imports@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" - integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-plugin-utils@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== - -"@babel/helper-plugin-utils@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" - integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== - -"@babel/helper-plugin-utils@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" - integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ== - -"@babel/helper-split-export-declaration@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" - integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== - dependencies: - "@babel/types" "^7.4.4" - -"@babel/helper-split-export-declaration@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" - integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== - -"@babel/helpers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" - integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== - dependencies: - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - -"@babel/helpers@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.4.tgz#754eb3ee727c165e0a240d6c207de7c455f36f73" - integrity sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w== - dependencies: - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.8.4" - "@babel/types" "^7.8.3" - -"@babel/highlight@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" - integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/highlight@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" - integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" - integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== - -"@babel/parser@^7.10.4": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" - integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q== - -"@babel/parser@^7.7.5", "@babel/parser@^7.8.6", "@babel/parser@^7.8.7": - version "7.8.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.8.tgz#4c3b7ce36db37e0629be1f0d50a571d2f86f6cd4" - integrity sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c" - integrity sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-transform-runtime@^7.5.5": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.2.tgz#2669f67c1fae0ae8d8bf696e4263ad52cb98b6f8" - integrity sha512-cqULw/QB4yl73cS5Y0TZlQSjDvNkzDbu0FurTZyHlJpWE5T3PCMdnyV+xXoH1opr1ldyHODe3QAX3OMAii5NxA== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - resolve "^1.8.1" - semver "^5.5.1" - -"@babel/runtime@^7.5.5": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz#935122c74c73d2240cafd32ddb5fc2a6cd35cf1f" - integrity sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/template@^7.1.0", "@babel/template@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" - integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/template@^7.3.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" - integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/template@^7.7.4", "@babel/template@^7.8.3", "@babel/template@^7.8.6": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" - integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/parser" "^7.8.6" - "@babel/types" "^7.8.6" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" - integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.5.5" - "@babel/types" "^7.5.5" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/traverse@^7.7.4", "@babel/traverse@^7.8.4", "@babel/traverse@^7.8.6": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.6.tgz#acfe0c64e1cd991b3e32eae813a6eb564954b5ff" - integrity sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.8.6" - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/parser" "^7.8.6" - "@babel/types" "^7.8.6" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" - integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.10.4", "@babel/types@^7.3.3": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" - integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.19" - to-fast-properties "^2.0.0" - -"@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.8.7": - version "7.8.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.7.tgz#1fc9729e1acbb2337d5b6977a63979b4819f5d1d" - integrity sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cnakazawa/watch@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" - integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@es-joy/jsdoccomment@0.10.8": - version "0.10.8" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.10.8.tgz#b3152887e25246410ed4ea569a55926ec13b2b05" - integrity sha512-3P1JiGL4xaR9PoTKUHa2N/LKwa2/eUdRqGwijMWWgBqbFEqJUVpmaOi2TcjcemrsRMgFLBzQCK4ToPhrSVDiFQ== - dependencies: - comment-parser "1.2.4" - esquery "^1.4.0" - jsdoc-type-pratt-parser "1.1.1" - -"@eslint/eslintrc@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" - integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@ethereumjs/common@^2.0.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.0.tgz#feb96fb154da41ee2cc2c5df667621a440f36348" - integrity sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA== - dependencies: - crc-32 "^1.2.0" - ethereumjs-util "^7.1.3" - -"@ethereumjs/common@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.3.1.tgz#d692e3aff5adb35dd587dd1e6caab69e0ed2fa0b" - integrity sha512-V8hrULExoq0H4HFs3cCmdRGbgmipmlNzak6Xg34nHYfQyqkSdrCuflvYjyWmsNpI8GtrcZhzifAbgX/1C1Cjwg== - dependencies: - crc-32 "^1.2.0" - ethereumjs-util "^7.0.10" - -"@ethereumjs/common@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.4.0.tgz#2d67f6e6ba22246c5c89104e6b9a119fb3039766" - integrity sha512-UdkhFWzWcJCZVsj1O/H8/oqj/0RVYjLc1OhPjBrQdALAkQHpCp8xXI4WLnuGTADqTdJZww0NtgwG+TRPkXt27w== - dependencies: - crc-32 "^1.2.0" - ethereumjs-util "^7.1.0" - -"@ethereumjs/tx@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.0.0.tgz#8dfd91ed6e91e63996e37b3ddc340821ebd48c81" - integrity sha512-H9tfy6qgYxPXvt1TSObfVmVjlF43OoQqoPQ3PJsG2JiuqaMHj5ettV1pGFEC3FamENDBkl6vD6niQEvIlXv/VQ== - dependencies: - "@ethereumjs/common" "^2.0.0" - ethereumjs-util "^7.0.7" - -"@ethereumjs/tx@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.2.1.tgz#65f5f1c11541764f08377a94ba4b0dcbbd67739e" - integrity sha512-i9V39OtKvwWos1uVNZxdVhd7zFOyzFLjgt69CoiOY0EmXugS0HjO3uxpLBSglDKFMRriuGqw6ddKEv+RP1UNEw== - dependencies: - "@ethereumjs/common" "^2.3.1" - ethereumjs-util "^7.0.10" - -"@ethereumjs/tx@^3.3.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.3.0.tgz#14ed1b7fa0f28e1cd61e3ecbdab824205f6a4378" - integrity sha512-yTwEj2lVzSMgE6Hjw9Oa1DZks/nKTWM8Wn4ykDNapBPua2f4nXO3qKnni86O6lgDj5fVNRqbDsD0yy7/XNGDEA== - dependencies: - "@ethereumjs/common" "^2.4.0" - ethereumjs-util "^7.1.0" - -"@ethersproject/abi@5.4.0", "@ethersproject/abi@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.4.0.tgz#a6d63bdb3672f738398846d4279fa6b6c9818242" - integrity sha512-9gU2H+/yK1j2eVMdzm6xvHSnMxk8waIHQGYCZg5uvAyH0rsAzxkModzBSpbAkAuhKFEovC2S9hM4nPuLym8IZw== - dependencies: - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - -"@ethersproject/abstract-provider@5.4.0", "@ethersproject/abstract-provider@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.4.0.tgz#415331031b0f678388971e1987305244edc04e1d" - integrity sha512-vPBR7HKUBY0lpdllIn7tLIzNN7DrVnhCLKSzY0l8WAwxz686m/aL7ASDzrVxV93GJtIub6N2t4dfZ29CkPOxgA== - dependencies: - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/networks" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/web" "^5.4.0" - -"@ethersproject/abstract-signer@5.4.0", "@ethersproject/abstract-signer@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.4.0.tgz#cd5f50b93141ee9f9f49feb4075a0b3eafb57d65" - integrity sha512-AieQAzt05HJZS2bMofpuxMEp81AHufA5D6M4ScKwtolj041nrfIbIi8ciNW7+F59VYxXq+V4c3d568Q6l2m8ew== - dependencies: - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - -"@ethersproject/address@5.4.0", "@ethersproject/address@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.4.0.tgz#ba2d00a0f8c4c0854933b963b9a3a9f6eb4a37a3" - integrity sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q== - dependencies: - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/rlp" "^5.4.0" - -"@ethersproject/base64@5.4.0", "@ethersproject/base64@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.4.0.tgz#7252bf65295954c9048c7ca5f43e5c86441b2a9a" - integrity sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ== - dependencies: - "@ethersproject/bytes" "^5.4.0" - -"@ethersproject/basex@5.4.0", "@ethersproject/basex@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.4.0.tgz#0a2da0f4e76c504a94f2b21d3161ed9438c7f8a6" - integrity sha512-J07+QCVJ7np2bcpxydFVf/CuYo9mZ7T73Pe7KQY4c1lRlrixMeblauMxHXD0MPwFmUHZIILDNViVkykFBZylbg== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - -"@ethersproject/bignumber@5.4.0", "@ethersproject/bignumber@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.4.0.tgz#be8dea298c0ec71208ee60f0b245be0761217ad9" - integrity sha512-OXUu9f9hO3vGRIPxU40cignXZVaYyfx6j9NNMjebKdnaCL3anCLSSy8/b8d03vY6dh7duCC0kW72GEC4tZer2w== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - bn.js "^4.11.9" - -"@ethersproject/bytes@5.4.0", "@ethersproject/bytes@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.4.0.tgz#56fa32ce3bf67153756dbaefda921d1d4774404e" - integrity sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA== - dependencies: - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/constants@5.4.0", "@ethersproject/constants@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.4.0.tgz#ee0bdcb30bf1b532d2353c977bf2ef1ee117958a" - integrity sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q== - dependencies: - "@ethersproject/bignumber" "^5.4.0" - -"@ethersproject/contracts@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.4.0.tgz#e05fe6bd33acc98741e27d553889ec5920078abb" - integrity sha512-hkO3L3IhS1Z3ZtHtaAG/T87nQ7KiPV+/qnvutag35I0IkiQ8G3ZpCQ9NNOpSCzn4pWSW4CfzmtE02FcqnLI+hw== - dependencies: - "@ethersproject/abi" "^5.4.0" - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - -"@ethersproject/hash@5.4.0", "@ethersproject/hash@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.4.0.tgz#d18a8e927e828e22860a011f39e429d388344ae0" - integrity sha512-xymAM9tmikKgbktOCjW60Z5sdouiIIurkZUr9oW5NOex5uwxrbsYG09kb5bMcNjlVeJD3yPivTNzViIs1GCbqA== - dependencies: - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - -"@ethersproject/hdnode@5.4.0", "@ethersproject/hdnode@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.4.0.tgz#4bc9999b9a12eb5ce80c5faa83114a57e4107cac" - integrity sha512-pKxdS0KAaeVGfZPp1KOiDLB0jba11tG6OP1u11QnYfb7pXn6IZx0xceqWRr6ygke8+Kw74IpOoSi7/DwANhy8Q== - dependencies: - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/basex" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/pbkdf2" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" - "@ethersproject/signing-key" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/wordlists" "^5.4.0" - -"@ethersproject/json-wallets@5.4.0", "@ethersproject/json-wallets@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.4.0.tgz#2583341cfe313fc9856642e8ace3080154145e95" - integrity sha512-igWcu3fx4aiczrzEHwG1xJZo9l1cFfQOWzTqwRw/xcvxTk58q4f9M7cjh51EKphMHvrJtcezJ1gf1q1AUOfEQQ== - dependencies: - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/hdnode" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/pbkdf2" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/random" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@5.4.0", "@ethersproject/keccak256@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.4.0.tgz#7143b8eea4976080241d2bd92e3b1f1bf7025318" - integrity sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A== - dependencies: - "@ethersproject/bytes" "^5.4.0" - js-sha3 "0.5.7" - -"@ethersproject/logger@5.4.0", "@ethersproject/logger@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.4.0.tgz#f39adadf62ad610c420bcd156fd41270e91b3ca9" - integrity sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ== - -"@ethersproject/networks@5.4.1", "@ethersproject/networks@^5.4.0": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.4.1.tgz#2ce83b8e42aa85216e5d277a7952d97b6ce8d852" - integrity sha512-8SvowCKz9Uf4xC5DTKI8+il8lWqOr78kmiqAVLYT9lzB8aSmJHQMD1GSuJI0CW4hMAnzocpGpZLgiMdzsNSPig== - dependencies: - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/pbkdf2@5.4.0", "@ethersproject/pbkdf2@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.4.0.tgz#ed88782a67fda1594c22d60d0ca911a9d669641c" - integrity sha512-x94aIv6tiA04g6BnazZSLoRXqyusawRyZWlUhKip2jvoLpzJuLb//KtMM6PEovE47pMbW+Qe1uw+68ameJjB7g== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" - -"@ethersproject/properties@5.4.0", "@ethersproject/properties@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.4.0.tgz#38ba20539b44dcc5d5f80c45ad902017dcdbefe7" - integrity sha512-7jczalGVRAJ+XSRvNA6D5sAwT4gavLq3OXPuV/74o3Rd2wuzSL035IMpIMgei4CYyBdialJMrTqkOnzccLHn4A== - dependencies: - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/providers@5.4.1": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.4.1.tgz#654267b563b833046b9c9647647cfc8267cb93b4" - integrity sha512-p06eiFKz8nu/5Ju0kIX024gzEQIgE5pvvGrBCngpyVjpuLtUIWT3097Agw4mTn9/dEA0FMcfByzFqacBMSgCVg== - dependencies: - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/basex" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/networks" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/random" "^5.4.0" - "@ethersproject/rlp" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/web" "^5.4.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@5.4.0", "@ethersproject/random@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.4.0.tgz#9cdde60e160d024be39cc16f8de3b9ce39191e16" - integrity sha512-pnpWNQlf0VAZDEOVp1rsYQosmv2o0ITS/PecNw+mS2/btF8eYdspkN0vIXrCMtkX09EAh9bdk8GoXmFXM1eAKw== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/rlp@5.4.0", "@ethersproject/rlp@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.4.0.tgz#de61afda5ff979454e76d3b3310a6c32ad060931" - integrity sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/sha2@5.4.0", "@ethersproject/sha2@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.4.0.tgz#c9a8db1037014cbc4e9482bd662f86c090440371" - integrity sha512-siheo36r1WD7Cy+bDdE1BJ8y0bDtqXCOxRMzPa4bV1TGt/eTUUt03BHoJNB6reWJD8A30E/pdJ8WFkq+/uz4Gg== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - hash.js "1.1.7" - -"@ethersproject/signing-key@5.4.0", "@ethersproject/signing-key@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.4.0.tgz#2f05120984e81cf89a3d5f6dec5c68ee0894fbec" - integrity sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - bn.js "^4.11.9" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/solidity@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.4.0.tgz#1305e058ea02dc4891df18b33232b11a14ece9ec" - integrity sha512-XFQTZ7wFSHOhHcV1DpcWj7VXECEiSrBuv7JErJvB9Uo+KfCdc3QtUZV+Vjh/AAaYgezUEKbCtE6Khjm44seevQ== - dependencies: - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - -"@ethersproject/strings@5.4.0", "@ethersproject/strings@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.4.0.tgz#fb12270132dd84b02906a8d895ae7e7fa3d07d9a" - integrity sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/transactions@5.4.0", "@ethersproject/transactions@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.4.0.tgz#a159d035179334bd92f340ce0f77e83e9e1522e0" - integrity sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ== - dependencies: - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/rlp" "^5.4.0" - "@ethersproject/signing-key" "^5.4.0" - -"@ethersproject/units@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.4.0.tgz#d57477a4498b14b88b10396062c8cbbaf20c79fe" - integrity sha512-Z88krX40KCp+JqPCP5oPv5p750g+uU6gopDYRTBGcDvOASh6qhiEYCRatuM/suC4S2XW9Zz90QI35MfSrTIaFg== - dependencies: - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - -"@ethersproject/wallet@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.4.0.tgz#fa5b59830b42e9be56eadd45a16a2e0933ad9353" - integrity sha512-wU29majLjM6AjCjpat21mPPviG+EpK7wY1+jzKD0fg3ui5fgedf2zEu1RDgpfIMsfn8fJHJuzM4zXZ2+hSHaSQ== - dependencies: - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/hdnode" "^5.4.0" - "@ethersproject/json-wallets" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/random" "^5.4.0" - "@ethersproject/signing-key" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/wordlists" "^5.4.0" - -"@ethersproject/web@5.4.0", "@ethersproject/web@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.4.0.tgz#49fac173b96992334ed36a175538ba07a7413d1f" - integrity sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og== - dependencies: - "@ethersproject/base64" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - -"@ethersproject/wordlists@5.4.0", "@ethersproject/wordlists@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.4.0.tgz#f34205ec3bbc9e2c49cadaee774cf0b07e7573d7" - integrity sha512-FemEkf6a+EBKEPxlzeVgUaVSodU7G0Na89jqKjmWMlDB0tomoU8RlEMgUvXyqtrg8N4cwpLh8nyRnm1Nay1isA== - dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz#10602de5570baea82f8afbfa2630b24e7a8cfe5b" - integrity sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" - integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== - -"@jest/console@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.3.0.tgz#ed04063efb280c88ba87388b6f16427c0a85c856" - integrity sha512-/5Pn6sJev0nPUcAdpJHMVIsA8sKizL2ZkcKPE5+dJrCccks7tcM7c9wbgHudBJbxXLoTbqsHkG1Dofoem4F09w== - dependencies: - "@jest/types" "^26.3.0" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.3.0" - jest-util "^26.3.0" - slash "^3.0.0" - -"@jest/core@^26.4.2": - version "26.4.2" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.4.2.tgz#85d0894f31ac29b5bab07aa86806d03dd3d33edc" - integrity sha512-sDva7YkeNprxJfepOctzS8cAk9TOekldh+5FhVuXS40+94SHbiicRO1VV2tSoRtgIo+POs/Cdyf8p76vPTd6dg== - dependencies: - "@jest/console" "^26.3.0" - "@jest/reporters" "^26.4.1" - "@jest/test-result" "^26.3.0" - "@jest/transform" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.3.0" - jest-config "^26.4.2" - jest-haste-map "^26.3.0" - jest-message-util "^26.3.0" - jest-regex-util "^26.0.0" - jest-resolve "^26.4.0" - jest-resolve-dependencies "^26.4.2" - jest-runner "^26.4.2" - jest-runtime "^26.4.2" - jest-snapshot "^26.4.2" - jest-util "^26.3.0" - jest-validate "^26.4.2" - jest-watcher "^26.3.0" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.5.0.tgz#aa33b0c21a716c65686638e7ef816c0e3a0c7b37" - integrity sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA== - dependencies: - "@jest/fake-timers" "^25.5.0" - "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - -"@jest/environment@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.3.0.tgz#e6953ab711ae3e44754a025f838bde1a7fd236a0" - integrity sha512-EW+MFEo0DGHahf83RAaiqQx688qpXgl99wdb8Fy67ybyzHwR1a58LHcO376xQJHfmoXTu89M09dH3J509cx2AA== - dependencies: - "@jest/fake-timers" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/node" "*" - jest-mock "^26.3.0" - -"@jest/fake-timers@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.5.0.tgz#46352e00533c024c90c2bc2ad9f2959f7f114185" - integrity sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ== - dependencies: - "@jest/types" "^25.5.0" - jest-message-util "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - lolex "^5.0.0" - -"@jest/fake-timers@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.3.0.tgz#f515d4667a6770f60ae06ae050f4e001126c666a" - integrity sha512-ZL9ytUiRwVP8ujfRepffokBvD2KbxbqMhrXSBhSdAhISCw3gOkuntisiSFv+A6HN0n0fF4cxzICEKZENLmW+1A== - dependencies: - "@jest/types" "^26.3.0" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.3.0" - jest-mock "^26.3.0" - jest-util "^26.3.0" - -"@jest/globals@^26.4.2": - version "26.4.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.4.2.tgz#73c2a862ac691d998889a241beb3dc9cada40d4a" - integrity sha512-Ot5ouAlehhHLRhc+sDz2/9bmNv9p5ZWZ9LE1pXGGTCXBasmi5jnYjlgYcYt03FBwLmZXCZ7GrL29c33/XRQiow== - dependencies: - "@jest/environment" "^26.3.0" - "@jest/types" "^26.3.0" - expect "^26.4.2" - -"@jest/reporters@^26.4.1": - version "26.4.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.4.1.tgz#3b4d6faf28650f3965f8b97bc3d114077fb71795" - integrity sha512-aROTkCLU8++yiRGVxLsuDmZsQEKO6LprlrxtAuzvtpbIFl3eIjgIf3EUxDKgomkS25R9ZzwGEdB5weCcBZlrpQ== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.3.0" - "@jest/test-result" "^26.3.0" - "@jest/transform" "^26.3.0" - "@jest/types" "^26.3.0" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.3.0" - jest-resolve "^26.4.0" - jest-util "^26.3.0" - jest-worker "^26.3.0" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^5.0.1" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.3.0.tgz#0e646e519883c14c551f7b5ae4ff5f1bfe4fc3d9" - integrity sha512-hWX5IHmMDWe1kyrKl7IhFwqOuAreIwHhbe44+XH2ZRHjrKIh0LO5eLQ/vxHFeAfRwJapmxuqlGAEYLadDq6ZGQ== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.3.0.tgz#46cde01fa10c0aaeb7431bf71e4a20d885bc7fdb" - integrity sha512-a8rbLqzW/q7HWheFVMtghXV79Xk+GWwOK1FrtimpI5n1la2SY0qHri3/b0/1F0Ve0/yJmV8pEhxDfVwiUBGtgg== - dependencies: - "@jest/console" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.4.2": - version "26.4.2" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.4.2.tgz#58a3760a61eec758a2ce6080201424580d97cbba" - integrity sha512-83DRD8N3M0tOhz9h0bn6Kl6dSp+US6DazuVF8J9m21WAp5x7CqSMaNycMP0aemC/SH/pDQQddbsfHRTBXVUgog== - dependencies: - "@jest/test-result" "^26.3.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.3.0" - jest-runner "^26.4.2" - jest-runtime "^26.4.2" - -"@jest/transform@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.3.0.tgz#c393e0e01459da8a8bfc6d2a7c2ece1a13e8ba55" - integrity sha512-Isj6NB68QorGoFWvcOjlUhpkT56PqNIsXKR7XfvoDlCANn/IANlh8DrKAA2l2JKC3yWSMH5wS0GwuQM20w3b2A== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.3.0" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.3.0" - jest-regex-util "^26.0.0" - jest-util "^26.3.0" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" - integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" - -"@jest/types@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.3.0.tgz#97627bf4bdb72c55346eef98e3b3f7ddc4941f71" - integrity sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@jest/types@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.2.5.tgz#420765c052605e75686982d24b061b4cbba22132" - integrity sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - -"@keystonehq/base-eth-keyring@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@keystonehq/base-eth-keyring/-/base-eth-keyring-0.4.0.tgz#7667d2b6e38fc90553ce934c0c60c89329315b92" - integrity sha512-CDlRNGdrHDHtBS0pAdrsjNNbyi7tn7mGrwmgiGQ6F8rhYXDZ/TcvYV1AXlzCe0eFyjPdMGdl+PgZRwBpVRtpQQ== - dependencies: - "@ethereumjs/tx" "3.0.0" - "@keystonehq/bc-ur-registry-eth" "^0.9.0" - ethereumjs-util "^7.0.8" - hdkey "^2.0.1" - uuid "^8.3.2" - -"@keystonehq/bc-ur-registry-eth@^0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@keystonehq/bc-ur-registry-eth/-/bc-ur-registry-eth-0.9.0.tgz#607428945029a06ec17ce3288caf53a0cbd8cc22" - integrity sha512-OVRT8Op+ZlOU9EBMxPBtQLrQZKzsV3DlfLq8P1T+Dq7WmGQNsRmQPchgju9qOlIIvmuAKaKdGXNN9W2qpTBAfA== - dependencies: - "@keystonehq/bc-ur-registry" "^0.5.0-alpha.5" - ethereumjs-util "^7.0.8" - hdkey "^2.0.1" - uuid "^8.3.2" - -"@keystonehq/bc-ur-registry@^0.5.0-alpha.5": - version "0.5.0-alpha.5" - resolved "https://registry.yarnpkg.com/@keystonehq/bc-ur-registry/-/bc-ur-registry-0.5.0-alpha.5.tgz#3d1a7eab980e8445c1596cdde704215c96d6b88a" - integrity sha512-T80XI+c8pWnkq9ZbuadlhFq/+8o4TcHtq+LQsK1XfjkhBqH75tcwim0310gKxavOhaSoC1i8dSqAnrFpj+5dJw== - dependencies: - "@ngraveio/bc-ur" "^1.1.5" - base58check "^2.0.0" - tslib "^2.3.0" - -"@keystonehq/metamask-airgapped-keyring@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@keystonehq/metamask-airgapped-keyring/-/metamask-airgapped-keyring-0.3.0.tgz#3de02b268b28d9f2e2e728a10cad8cfc17870c3c" - integrity sha512-CkiQGRPYM8CBeb8GsrrsTXpdHACl9NnoeWGQDY7DXGiy3s6u7WQ6TXal7K+wAHdU4asBzTaK2SNPZ/eIvGiAfg== - dependencies: - "@ethereumjs/tx" "^3.3.0" - "@keystonehq/base-eth-keyring" "^0.4.0" - "@keystonehq/bc-ur-registry-eth" "^0.9.0" - "@metamask/obs-store" "^7.0.0" - rlp "^2.2.6" - uuid "^8.3.2" - -"@lavamoat/aa@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@lavamoat/aa/-/aa-2.0.1.tgz#fff7605101c9b7a5dd6495e999a492010fba702f" - integrity sha512-lS0DccPZaZyxEqs3+zj76cITrJdaazfIoTs8J3tjS9uA3yvFmZ/QFPsgE5AZxyoO8HPtaz5bGa8x605iNlBVXA== - dependencies: - resolve "^1.20.0" - -"@lavamoat/allow-scripts@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@lavamoat/allow-scripts/-/allow-scripts-2.0.2.tgz#57b4670e30ff720c306fff9adf775689bba0d999" - integrity sha512-bJUXKDau/NgAGngKKLDfbx72gBhgTOUSRgYA8RuHuEX1OgAIk8QMlcPDvwhBCb26mjEHDnxlp5F/Uov0uPEbQw== - dependencies: - "@lavamoat/aa" "^2.0.1" - "@npmcli/run-script" "^1.8.1" - yargs "^16.2.0" - -"@metamask/auto-changelog@^2.6.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@metamask/auto-changelog/-/auto-changelog-2.6.0.tgz#3cef14905635b144b0fc86aed8957e0942a91cc4" - integrity sha512-YzZ/Uc/3nfvDxZxZT9YMa0CJn8/kpxif/2y8TXi5blzxBiaYop9zUh9a+7PV3C4EQVUNZuTvkE816Ua3AZ0jHA== - dependencies: - diff "^5.0.0" - execa "^5.1.1" - semver "^7.3.5" - yargs "^17.0.1" - -"@metamask/bip39@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@metamask/bip39/-/bip39-4.0.0.tgz#1cb867a8454e3d45d065107b4e070d58bdb64aac" - integrity sha512-xH2g8mFe9p2WePnKeQJH4U8MB6pWPyvwpsz4stb0YdnMOR7cKA6Jm/KOSFiPKr1i9+AzNDImt/XxhwF5ej4jXQ== - dependencies: - "@types/node" "11.11.6" - create-hash "^1.1.0" - pbkdf2 "^3.0.9" - randombytes "^2.0.1" - -"@metamask/contract-metadata@^1.35.0": - version "1.35.0" - resolved "https://registry.yarnpkg.com/@metamask/contract-metadata/-/contract-metadata-1.35.0.tgz#2bf2b8f2b6fdbd5132f0bcfa594b6c02dc71c42e" - integrity sha512-zfZKwLFOVrQS8vTFoeoNCG9JhqmK4oyembGiGVVpUAYD9BHVZnd9WpicGoUC07ROXLEyQuAK9AJZNBtqwwzfEQ== - -"@metamask/eslint-config-jest@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@metamask/eslint-config-jest/-/eslint-config-jest-9.0.0.tgz#516fdf1f03f6f006b26ca790bf748e2189d19d17" - integrity sha512-tImEEWNRedcIMHZ3pmXDAQ+6xS61G3IEyqKf2+1xSMEMaa94KM+vo6v3GM7YB+M1DsErzgx3g70fEYtPItU4pw== - -"@metamask/eslint-config-nodejs@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@metamask/eslint-config-nodejs/-/eslint-config-nodejs-9.0.0.tgz#ec737a47c04febfb921ce844362d875ca2cae9e7" - integrity sha512-kPUrMPdpGeapbdG+LxysnDNzM9SlBNUvqVl1XoKnOGjo1pbZXB8hOI36PT3IlR1qa2FJumKYfgDSu7JLmOLxqQ== - -"@metamask/eslint-config-typescript@^9.0.1": - version "9.0.1" - resolved "https://registry.yarnpkg.com/@metamask/eslint-config-typescript/-/eslint-config-typescript-9.0.1.tgz#900d53579ce074734ac9bf4e3f66fc20b92bd6af" - integrity sha512-+W7MXCoq8Q29wvkAv0ycwKB82xMbl+LfkUoM8oWN4n7vyMDXgcgbNjY7ug+quJPZfDTJJ7fxgPmG8m4LrkEImw== - -"@metamask/eslint-config@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@metamask/eslint-config/-/eslint-config-9.0.0.tgz#22d4911b705f7e4e566efbdda0e37912da33e30f" - integrity sha512-mWlLGQKjXXFOj9EtDClKSoTLeQuPW2kM1w3EpUMf4goYAQ+kLXCCa8pEff6h8ApWAnjhYmXydA1znQ2J4XvD+A== - -"@metamask/eth-hd-keyring@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@metamask/eth-hd-keyring/-/eth-hd-keyring-4.0.2.tgz#0a81556a556b361755c8d6fb5aced1ce5be0331c" - integrity sha512-v47VOTCCmZUZ6uxM5tQNoasQjLdrZADmgph2fhk4m7zKVUxDvYFU7FJT3Rm55fk8mg+dKSbEObDriqbdWeBbcA== - dependencies: - "@metamask/bip39" "^4.0.0" - "@metamask/eth-sig-util" "^4.0.0" - eth-simple-keyring "^4.2.0" - ethereumjs-util "^7.0.9" - ethereumjs-wallet "^1.0.1" - -"@metamask/eth-sig-util@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz#3ad61f6ea9ad73ba5b19db780d40d9aae5157088" - integrity sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ== - dependencies: - ethereumjs-abi "^0.6.8" - ethereumjs-util "^6.2.1" - ethjs-util "^0.1.6" - tweetnacl "^1.0.3" - tweetnacl-util "^0.15.1" - -"@metamask/metamask-eth-abis@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@metamask/metamask-eth-abis/-/metamask-eth-abis-3.0.0.tgz#eccc0746b3ab1ab63000444403819c16e88b5272" - integrity sha512-YtIl4e1VzqwwHGafuLIVPqbcWWWqQ0Ezo8/Ci5m5OGllqE2oTTx9iVHdUmXNkgCVD37SBfwn/fm/S1IGkM8BQA== - -"@metamask/obs-store@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@metamask/obs-store/-/obs-store-7.0.0.tgz#6cae5f28306bb3e83a381bc9ae22682316095bd3" - integrity sha512-Tr61Uu9CGXkCg5CZwOYRMQERd+y6fbtrtLd/PzDTPHO5UJpmSbU+7MPcQK7d1DwZCOCeCIvhmZSUCvYliC8uGw== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - through2 "^2.0.3" - -"@metamask/safe-event-emitter@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c" - integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== - -"@metamask/types@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@metamask/types/-/types-1.1.0.tgz#9bd14b33427932833c50c9187298804a18c2e025" - integrity sha512-EEV/GjlYkOSfSPnYXfOosxa3TqYtIW3fhg6jdw+cok/OhMgNn4wCfbENFqjytrHMU2f7ZKtBAvtiP5V8H44sSw== - -"@ngraveio/bc-ur@^1.1.5": - version "1.1.6" - resolved "https://registry.yarnpkg.com/@ngraveio/bc-ur/-/bc-ur-1.1.6.tgz#8f8c75fff22f6a5e4dfbc5a6b540d7fe8f42cd39" - integrity sha512-G+2XgjXde2IOcEQeCwR250aS43/Swi7gw0FuETgJy2c3HqF8f88SXDMsIGgJlZ8jXd0GeHR4aX0MfjXf523UZg== - dependencies: - "@apocentre/alias-sampling" "^0.5.3" - assert "^2.0.0" - bignumber.js "^9.0.1" - cbor-sync "^1.0.4" - crc "^3.8.0" - jsbi "^3.1.5" - sha.js "^2.4.11" - -"@nodelib/fs.scandir@2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" - integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== - dependencies: - "@nodelib/fs.stat" "2.0.3" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" - integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" - integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== - dependencies: - "@nodelib/fs.scandir" "2.1.3" - fastq "^1.6.0" - -"@npmcli/node-gyp@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz#3cdc1f30e9736dbc417373ed803b42b1a0a29ede" - integrity sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg== - -"@npmcli/promise-spawn@^1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5" - integrity sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg== - dependencies: - infer-owner "^1.0.4" - -"@npmcli/run-script@^1.8.1": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-1.8.5.tgz#f250a0c5e1a08a792d775a315d0ff42fc3a51e1d" - integrity sha512-NQspusBCpTjNwNRFMtz2C5MxoxyzlbuJ4YEhxAKrIonTiirKDtatsZictx9RgamQIx6+QuHMNmPl0wQdoESs9A== - dependencies: - "@npmcli/node-gyp" "^1.0.2" - "@npmcli/promise-spawn" "^1.3.2" - infer-owner "^1.0.4" - node-gyp "^7.1.0" - read-package-json-fast "^2.0.1" - -"@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.8.1": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" - integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== - dependencies: - type-detect "4.0.8" - -"@sinonjs/commons@^1.7.0": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.1.tgz#da5fd19a5f71177a53778073978873964f49acf1" - integrity sha512-Debi3Baff1Qu1Unc3mjJ96MgpbwTn43S1+9yJ0llWygPwDNu2aaWBD6yc9y/Z8XDRNhx7U+u2UDg2OGQXkclUQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.0", "@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@sinonjs/samsam@^5.3.1": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-5.3.1.tgz#375a45fe6ed4e92fca2fb920e007c48232a6507f" - integrity sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg== - dependencies: - "@sinonjs/commons" "^1.6.0" - lodash.get "^4.4.2" - type-detect "^4.0.8" - -"@sinonjs/text-encoding@^0.7.1": - version "0.7.1" - resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" - integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.9" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d" - integrity sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" - integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f" - integrity sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw== - dependencies: - "@babel/types" "^7.3.0" - -"@types/bn.js@*": - version "4.11.5" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.5.tgz#40e36197433f78f807524ec623afcf0169ac81dc" - integrity sha512-AEAZcIZga0JgVMHNtl1CprA/hXX7/wPt79AgR4XqaDt7jyj3QWYw6LPoOiznPtugDmlubUnAahMs2PFxGcQrng== - dependencies: - "@types/node" "*" - -"@types/bn.js@^4.11.3": - version "4.11.6" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" - integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== - dependencies: - "@types/node" "*" - -"@types/bn.js@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" - integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== - dependencies: - "@types/node" "*" - -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - -"@types/deep-freeze-strict@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@types/deep-freeze-strict/-/deep-freeze-strict-1.1.0.tgz#447a6a2576191344aa42310131dd3df5c41492c4" - integrity sha1-RHpqJXYZE0SqQjEBMd099cQUksQ= - -"@types/glob@^7.1.1": - version "7.1.4" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672" - integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/graceful-fs@^4.1.2": - version "4.1.3" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.3.tgz#039af35fe26bec35003e8d86d2ee9c586354348f" - integrity sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" - integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== - -"@types/istanbul-lib-report@*": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" - integrity sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" - integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA== - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest-when@^2.7.3": - version "2.7.3" - resolved "https://registry.yarnpkg.com/@types/jest-when/-/jest-when-2.7.3.tgz#40735b320d8655ebff01123cb58afbdaf8274658" - integrity sha512-BdDZnKj3ZO1VsRlJFyRx6yLa0hG9++qetnBKhESjCGRVAm6S4aaKXXLm9xGFmtAQpzuMC44wxhvkG2cl6axvyQ== - dependencies: - "@types/jest" "*" - -"@types/jest@*": - version "27.0.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.0.2.tgz#ac383c4d4aaddd29bbf2b916d8d105c304a5fcd7" - integrity sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA== - dependencies: - jest-diff "^27.0.0" - pretty-format "^27.0.0" - -"@types/jest@26.x": - version "26.0.13" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.13.tgz#5a7b9d5312f5dd521a38329c38ee9d3802a0b85e" - integrity sha512-sCzjKow4z9LILc6DhBvn5AkIfmQzDZkgtVVKmGwVrs5tuid38ws281D4l+7x1kP487+FlKDh5kfMZ8WSPAdmdA== - dependencies: - jest-diff "^25.2.1" - pretty-format "^25.2.1" - -"@types/jest@^26.0.22": - version "26.0.22" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.22.tgz#8308a1debdf1b807aa47be2838acdcd91e88fbe6" - integrity sha512-eeWwWjlqxvBxc4oQdkueW5OF/gtfSceKk4OnOAGlUSwS/liBRtZppbJuz1YkgbrbfGOoeBHun9fOvXnjNwrSOw== - dependencies: - jest-diff "^26.0.0" - pretty-format "^26.0.0" - -"@types/json-schema@^7.0.3": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" - integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== - -"@types/json-schema@^7.0.7": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= - -"@types/minimatch@*": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== - -"@types/node@*": - version "10.14.15" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.15.tgz#e8f7729b631be1b02ae130ff0b61f3e018000640" - integrity sha512-CBR5avlLcu0YCILJiDIXeU2pTw7UK/NIxfC63m7d7CVamho1qDEzXKkOtEauQRPMy6MI8mLozth+JJkas7HY6g== - -"@types/node@11.11.6": - version "11.11.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" - integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== - -"@types/node@^14.14.31": - version "14.14.31" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055" - integrity sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g== - -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/pbkdf2@^3.0.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" - integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== - dependencies: - "@types/node" "*" - -"@types/prettier@^2.0.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.0.tgz#5f96562c1075ee715a5b138f0b7f591c1f40f6b8" - integrity sha512-hiYA88aHiEIgDmeKlsyVsuQdcFn3Z2VuFd/Xm/HCnGnPD8UFU5BM128uzzRVVGEzKDKYUrRsRH9S2o+NUy/3IA== - -"@types/punycode@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@types/punycode/-/punycode-2.1.0.tgz#89e4f3d09b3f92e87a80505af19be7e0c31d4e83" - integrity sha512-PG5aLpW6PJOeV2fHRslP4IOMWn+G+Uq8CfnyJ+PDS8ndCbU+soO+fB3NKCKo0p/Jh2Y4aPaiQZsrOXFdzpcA6g== - -"@types/secp256k1@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.1.tgz#fb3aa61a1848ad97d7425ff9dcba784549fca5a4" - integrity sha512-+ZjSA8ELlOp8SlKi0YLB2tz9d5iPNEmOBd+8Rz21wTMdaXQIa9b6TEnD6l5qKOCypE7FSyPyck12qZJxSDNoog== - dependencies: - "@types/node" "*" - -"@types/sinon@^9.0.10": - version "9.0.10" - resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-9.0.10.tgz#7fb9bcb6794262482859cab66d59132fca18fcf7" - integrity sha512-/faDC0erR06wMdybwI/uR8wEKV/E83T0k4sepIpB7gXuy2gzx2xiOjmztq6a2Y6rIGJ04D+6UU0VBmWy+4HEMA== - dependencies: - "@types/sinonjs__fake-timers" "*" - -"@types/sinonjs__fake-timers@*": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz#3a84cf5ec3249439015e14049bd3161419bf9eae" - integrity sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg== - -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== - -"@types/underscore@*": - version "1.9.2" - resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.9.2.tgz#2c4f7743287218f5c2d9a83db3806672aa48530d" - integrity sha512-KgOKTAD+9X+qvZnB5S1+onqKc4E+PZ+T6CM/NA5ohRPLHJXb+yCJMVf8pWOnvuBuKFNUAJW8N97IA6lba6mZGg== - -"@types/uuid@^8.3.0": - version "8.3.0" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.0.tgz#215c231dff736d5ba92410e6d602050cce7e273f" - integrity sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ== - -"@types/web3@^1.0.6": - version "1.0.19" - resolved "https://registry.yarnpkg.com/@types/web3/-/web3-1.0.19.tgz#46b85d91d398ded9ab7c85a5dd57cb33ac558924" - integrity sha512-fhZ9DyvDYDwHZUp5/STa9XW2re0E8GxoioYJ4pEUZ13YHpApSagixj7IAdoYH5uAK+UalGq6Ml8LYzmgRA/q+A== - dependencies: - "@types/bn.js" "*" - "@types/underscore" "*" - -"@types/yargs-parser@*": - version "13.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.0.0.tgz#453743c5bbf9f1bed61d959baab5b06be029b2d0" - integrity sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw== - -"@types/yargs@^15.0.0": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.4.tgz#7e5d0f8ca25e9d5849f2ea443cf7c402decd8299" - integrity sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" - integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== - dependencies: - "@typescript-eslint/experimental-utils" "4.33.0" - "@typescript-eslint/scope-manager" "4.33.0" - debug "^4.3.1" - functional-red-black-tree "^1.0.1" - ignore "^5.1.8" - regexpp "^3.1.0" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/experimental-utils@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" - integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/experimental-utils@^4.0.1": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.2.tgz#5efd12355bd5b535e1831282e6cf465b9a71cf36" - integrity sha512-Fxoshw8+R5X3/Vmqwsjc8nRO/7iTysRtDqx6rlfLZ7HbT8TZhPeQqbPjTyk2RheH3L8afumecTQnUc9EeXxohQ== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.15.2" - "@typescript-eslint/types" "4.15.2" - "@typescript-eslint/typescript-estree" "4.15.2" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" - integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== - dependencies: - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - debug "^4.3.1" - -"@typescript-eslint/scope-manager@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.15.2.tgz#5725bda656995960ae1d004bfd1cd70320f37f4f" - integrity sha512-Zm0tf/MSKuX6aeJmuXexgdVyxT9/oJJhaCkijv0DvJVT3ui4zY6XYd6iwIo/8GEZGy43cd7w1rFMiCLHbRzAPQ== - dependencies: - "@typescript-eslint/types" "4.15.2" - "@typescript-eslint/visitor-keys" "4.15.2" - -"@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - -"@typescript-eslint/types@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.15.2.tgz#04acf3a2dc8001a88985291744241e732ef22c60" - integrity sha512-r7lW7HFkAarfUylJ2tKndyO9njwSyoy6cpfDKWPX6/ctZA+QyaYscAHXVAfJqtnY6aaTwDYrOhp+ginlbc7HfQ== - -"@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== - -"@typescript-eslint/typescript-estree@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.2.tgz#c2f7a1e94f3428d229d5ecff3ead6581ee9b62fa" - integrity sha512-cGR8C2g5SPtHTQvAymEODeqx90pJHadWsgTtx6GbnTWKqsg7yp6Eaya9nFzUd4KrKhxdYTTFBiYeTPQaz/l8bw== - dependencies: - "@typescript-eslint/types" "4.15.2" - "@typescript-eslint/visitor-keys" "4.15.2" - debug "^4.1.1" - globby "^11.0.1" - is-glob "^4.0.1" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.2.tgz#3d1c7979ce75bf6acf9691109bd0d6b5706192b9" - integrity sha512-TME1VgSb7wTwgENN5KVj4Nqg25hP8DisXxNBojM4Nn31rYaNDIocNm5cmjOFfh42n7NVERxWrDFoETO/76ePyg== - dependencies: - "@typescript-eslint/types" "4.15.2" - eslint-visitor-keys "^2.0.0" - -"@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== - dependencies: - "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" - -abab@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -abab@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.4.tgz#6dfa57b417ca06d21b2478f0e638302f99c2405c" - integrity sha512-Eu9ELJWCz/c1e9gTiCY+FceWxcqzjYEbqMgtndnuSqZSUCOL73TWNK2mHfIj4Cw2E/ongOp+JISVNCmovt2KYQ== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - -abstract-leveldown@~2.6.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" - integrity sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA== - dependencies: - xtend "~4.0.0" - -abstract-leveldown@~2.7.1: - version "2.7.2" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz#87a44d7ebebc341d59665204834c8b7e0932cc93" - integrity sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w== - dependencies: - xtend "~4.0.0" - -acorn-globals@^4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" - integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-jsx@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== - -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" - integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^6.0.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== - -acorn@^7.1.0, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^7.1.1: - version "7.4.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" - integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== - -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= - -aes-js@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" - integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== - -ajv@^6.10.0, ajv@^6.12.4, ajv@^6.5.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^7.0.2: - version "7.1.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.1.0.tgz#f982ea7933dc7f1012eae9eec5a86687d805421b" - integrity sha512-svS9uILze/cXbH0z2myCK2Brqprx/+JJYK5pHicT/GQiBfzzhUVAIT6MwqJg8y4xV/zoGsUeuPuwtoiKSGE15g== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^4.2.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== - dependencies: - "@types/color-name" "^1.1.1" - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= - -array-includes@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" - integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0" - is-string "^1.0.5" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" - integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" - integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== - dependencies: - es6-object-assign "^1.1.0" - is-nan "^1.2.1" - object-is "^1.0.1" - util "^0.12.0" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-eventemitter@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" - integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw== - dependencies: - async "^2.4.0" - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async-mutex@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.2.6.tgz#0d7a3deb978bc2b984d5908a2038e1ae2e54ff40" - integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw== - dependencies: - tslib "^2.0.0" - -async@^1.4.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - -async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== - -babel-jest@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.3.0.tgz#10d0ca4b529ca3e7d1417855ef7d7bd6fc0c3463" - integrity sha512-sxPnQGEyHAOPF8NcUsD0g7hDCnvLL2XyblRBcgrzTWBB/mAIpWow3n1bEL+VghnnZfreLhFSBsFluRoK2tRK4g== - dependencies: - "@jest/transform" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.3.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.2.0.tgz#bdd0011df0d3d513e5e95f76bd53b51147aca2dd" - integrity sha512-B/hVMRv8Nh1sQ1a3EY8I0n4Y1Wty3NrR5ebOyVT302op+DOAau+xNEImGMsUWOC3++ZlMooCytKz+NgN8aKGbA== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz#b4b547acddbf963cba555ba9f9cbbb70bfd044da" - integrity sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ== - 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-preset-jest@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.3.0.tgz#ed6344506225c065fd8a0b53e191986f74890776" - integrity sha512-5WPdf7nyYi2/eRxCbVrE1kKCWxgWY4RsPEbdJWFm7QsesFGqjdkyLeu1zRkwM1cxK6EPIlNd6d2AxLk7J+t4pw== - dependencies: - babel-plugin-jest-hoist "^26.2.0" - babel-preset-current-node-syntax "^0.1.3" - -babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -backoff@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f" - integrity sha1-9hbtqdPktmuMp/ynn2lXIsX44m8= - dependencies: - precond "0.2" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-1.1.0.tgz#42d3d717474f9ea02207f6d1aa1f426913eeb7ac" - integrity sha1-QtPXF0dPnqAiB/bRqh9CaRPut6w= - -base-x@^3.0.2: - version "3.0.8" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" - integrity sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA== - dependencies: - safe-buffer "^5.0.1" - -base58check@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/base58check/-/base58check-2.0.0.tgz#8046652d14bc87f063bd16be94a39134d3b61173" - integrity sha1-gEZlLRS8h/BjvRa+lKORNNO2EXM= - dependencies: - bs58 "^3.0.0" - -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - -bignumber.js@^9.0.1: - version "9.0.2" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673" - integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw== +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 6 + cacheKey: 8 + +"@apocentre/alias-sampling@npm:^0.5.3": + version: 0.5.3 + resolution: "@apocentre/alias-sampling@npm:0.5.3" + checksum: 0b339b25ab7a30f6332f322be5c796d2db582365f7531e22d579d16a8fc562cb0f4fba4b93e7afafe9b368a40b91660c6547e1650e72feebbc7615a1ef5accbe + languageName: node + linkType: hard + +"@babel/code-frame@npm:7.12.11": + version: 7.12.11 + resolution: "@babel/code-frame@npm:7.12.11" + dependencies: + "@babel/highlight": ^7.10.4 + checksum: 3963eff3ebfb0e091c7e6f99596ef4b258683e4ba8a134e4e95f77afe85be5c931e184fff6435fb4885d12eba04a5e25532f7fbc292ca13b48e7da943474e2f3 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/code-frame@npm:7.5.5" + dependencies: + "@babel/highlight": ^7.0.0 + checksum: b4cb24f103ac96451c02efad3c9118533ff4c4e105f2153870d715af0715633ac6c269d7b9473b0c491fc2a7ef02efd6a0817a173896aef6d7279b61139dec22 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/code-frame@npm:7.10.4" + dependencies: + "@babel/highlight": ^7.10.4 + checksum: feb4543c8a509fe30f0f6e8d7aa84f82b41148b963b826cd330e34986f649a85cb63b2f13dd4effdf434ac555d16f14940b8ea5f4433297c2f5ff85486ded019 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/code-frame@npm:7.8.3" + dependencies: + "@babel/highlight": ^7.8.3 + checksum: 5f3172b0c8d5db625fb88c9f6ab909cb164645152176dfa14c927c19c0774c41fa9ba494cb19cb5d152a414bd6732c41eae708f9f635e02a4ed0889ac239fe4c + languageName: node + linkType: hard + +"@babel/core@npm:^7.1.0": + version: 7.5.5 + resolution: "@babel/core@npm:7.5.5" + dependencies: + "@babel/code-frame": ^7.5.5 + "@babel/generator": ^7.5.5 + "@babel/helpers": ^7.5.5 + "@babel/parser": ^7.5.5 + "@babel/template": ^7.4.4 + "@babel/traverse": ^7.5.5 + "@babel/types": ^7.5.5 + convert-source-map: ^1.1.0 + debug: ^4.1.0 + json5: ^2.1.0 + lodash: ^4.17.13 + resolve: ^1.3.2 + semver: ^5.4.1 + source-map: ^0.5.0 + checksum: e0765a716787a4b707f62f90e70a4b7c312c22544650b6e6c24f0cf3d80cd6b3e7257e1f9cca900dc615839a00d1b345fce86bcbf22342c6400be8e5e234c7e1 + languageName: node + linkType: hard + +"@babel/core@npm:^7.7.5": + version: 7.8.7 + resolution: "@babel/core@npm:7.8.7" + dependencies: + "@babel/code-frame": ^7.8.3 + "@babel/generator": ^7.8.7 + "@babel/helpers": ^7.8.4 + "@babel/parser": ^7.8.7 + "@babel/template": ^7.8.6 + "@babel/traverse": ^7.8.6 + "@babel/types": ^7.8.7 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.1 + json5: ^2.1.0 + lodash: ^4.17.13 + resolve: ^1.3.2 + semver: ^5.4.1 + source-map: ^0.5.0 + checksum: 403431de9b2548da77152eaeded2dc2d86d11cbc228676ff0014e413f11ddbf120b7251b0b42b5cfc71d91ccd5cda0c7eeb72b766bf775c38859ace2ad117a5a + languageName: node + linkType: hard + +"@babel/generator@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/generator@npm:7.5.5" + dependencies: + "@babel/types": ^7.5.5 + jsesc: ^2.5.1 + lodash: ^4.17.13 + source-map: ^0.5.0 + trim-right: ^1.0.1 + checksum: efe56ad62976dc948d1649fa8d43b3abf27f711d5635df98ab695ed440bbc07367fa45590673a2e996759bfb710ca70f11331eda8590f455e66057da3825dc22 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.8.6, @babel/generator@npm:^7.8.7": + version: 7.8.8 + resolution: "@babel/generator@npm:7.8.8" + dependencies: + "@babel/types": ^7.8.7 + jsesc: ^2.5.1 + lodash: ^4.17.13 + source-map: ^0.5.0 + checksum: c9a989da2c134cc969cb22debb6d4c98edbe44662101b4bc465fea3c748079ae784d629969c62bf9b9ee1e6f5c7f694c4d84cf773e1e7a3ff6e10e925d3ac920 + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.1.0": + version: 7.1.0 + resolution: "@babel/helper-function-name@npm:7.1.0" + dependencies: + "@babel/helper-get-function-arity": ^7.0.0 + "@babel/template": ^7.1.0 + "@babel/types": ^7.0.0 + checksum: 8d39aa4b9834d831609e709573b45c1c6dbc91a9d0f82cbbd05b6770f8eb14d6cd5562221e1319c7ec1b2636679e3bfc69e8900f0f6535d44c7ebfc886ab3fdb + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-function-name@npm:7.8.3" + dependencies: + "@babel/helper-get-function-arity": ^7.8.3 + "@babel/template": ^7.8.3 + "@babel/types": ^7.8.3 + checksum: 894aacdc06dae92900a35c3b2b6fc92be3476fa366b9e2f75cc34c21f80c9b3d49532604851c8b385d6e06b3c421d41c295ac260256659600893cb71020f49c4 + languageName: node + linkType: hard + +"@babel/helper-get-function-arity@npm:^7.0.0": + version: 7.0.0 + resolution: "@babel/helper-get-function-arity@npm:7.0.0" + dependencies: + "@babel/types": ^7.0.0 + checksum: 52444ebf7545780ef2915d8255702e728dcf370edda83f0d0d76bc750c12aafaebcb3a3c032e9054e50e45b3c2f07e774d846a35f17f6e73075cb4cfd9a17a36 + languageName: node + linkType: hard + +"@babel/helper-get-function-arity@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-get-function-arity@npm:7.8.3" + dependencies: + "@babel/types": ^7.8.3 + checksum: f36d939bc565576f47c546ee636a37d0597ebdde30182db974cf47b27d4ee3a72a53233e45bdb57dac306ff5b03a2083d9d2fa8291d95d93bfe4f6213a6901e2 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.0.0": + version: 7.0.0 + resolution: "@babel/helper-module-imports@npm:7.0.0" + dependencies: + "@babel/types": ^7.0.0 + checksum: 560fcc6388fa29122afe1c42606a1e3bf553845eef9c4cf13f9871df4104c30153688f34ba174d50dc061c641728253b3fcf8530216e09457e72f6c399e44317 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0": + version: 7.0.0 + resolution: "@babel/helper-plugin-utils@npm:7.0.0" + checksum: 896d74329d5362faf667d13e6351e93ec7e265a9560e6927f0d71a069abb49e44c1f9c1e04a003c46c550d8366e45ea7229a61ca5ba5e9059f54f15ed72c3952 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helper-plugin-utils@npm:7.10.4" + checksum: 639ed8fc462b97a83226cee6bb081b1d77e7f73e8b033d2592ed107ee41d96601e321e5ea53a33e47469c7f1146b250a3dcda5ab873c7de162ab62120c341a41 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.8.0": + version: 7.8.3 + resolution: "@babel/helper-plugin-utils@npm:7.8.3" + checksum: c81ed4d3c5670c28921b1598ff97f676d8ee848afb8dc643be095bd1b289e7ee5ea9a3bb15c0dcf6ce9b30a53ef71ec4863a678734be3cfef69fed430516882a + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/helper-split-export-declaration@npm:7.4.4" + dependencies: + "@babel/types": ^7.4.4 + checksum: e06706ce971aef04ff044ef899a1884270d0bbc7978dea87a0a6b02fe2b6ef8eb81e062b412bf2c51fdf8b11ee651dc3fd3f58ff10c8b98063627fca6fedce09 + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-split-export-declaration@npm:7.8.3" + dependencies: + "@babel/types": ^7.8.3 + checksum: a8b5ce6d309002ef85f1514346f3929653c7319f40d98b7d56014a26b7c8b7517cabca12007c71bda513d0f1a0b7548afe9646ee269cbad2b7e7e43455fa0eef + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helper-validator-identifier@npm:7.10.4" + checksum: 3cbfdff0efea8f3bca050cfe408a156604293d3313c7279c8c02d916a0b3ef82617f28f7729877a94c0e8e922d4b7623c4f0a108ae2853bf762d933e101a5f8c + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/helpers@npm:7.5.5" + dependencies: + "@babel/template": ^7.4.4 + "@babel/traverse": ^7.5.5 + "@babel/types": ^7.5.5 + checksum: 6db426b254d97e75018b8bc1e5e31840e15b3e5eff4adbaec838b5360bf23507375a0ffd3ecd8a28ef0c3de825b0cde85f3880be9d23c1ffcfadbc1571a13ba4 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/helpers@npm:7.8.4" + dependencies: + "@babel/template": ^7.8.3 + "@babel/traverse": ^7.8.4 + "@babel/types": ^7.8.3 + checksum: 9deb8d3af09d49970b599ff64dfb834846e34f612ef2effc06d3ad643c7c6f3011b0b98d1a57f8ef572dbd6ffe32a2a6a1e378d3d891057fdaae3e8c06e0ee40 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.0.0": + version: 7.5.0 + resolution: "@babel/highlight@npm:7.5.0" + dependencies: + chalk: ^2.0.0 + esutils: ^2.0.2 + js-tokens: ^4.0.0 + checksum: 607ad0ae98515b948c92be206aaade063b08d76131714df21ac74202ef354ac3534488ee18ac01458a7ff19721beec73c016e04813243c52dcf32521e063fc56 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/highlight@npm:7.10.4" + dependencies: + "@babel/helper-validator-identifier": ^7.10.4 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: 6fab4679162562907942acc3647bc8c405b955f3bef7c654ef160491d0801ebdc12651c2051144dc0e22b69044fe3059d630151d5d7fb84b10ed4093da707707 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/highlight@npm:7.8.3" + dependencies: + chalk: ^2.0.0 + esutils: ^2.0.2 + js-tokens: ^4.0.0 + checksum: 25e5d54b6c3ef83891af01988e50bf17dc785739c48cf66456c5c274203c39ab68c95b387018fc1b37c8feb199c1f489dae266ee44e45e36fd8a30e21e2822fa + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.4.4, @babel/parser@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/parser@npm:7.5.5" + bin: + parser: ./bin/babel-parser.js + checksum: a534d085baaef6b8971274affbcb35a5652cb7b7439058f42822031a726c10f6a77b8e59ceed1940485f7d08b9bb6e7e8970d5283ab2ec6c7cc6f6b394306e2f + languageName: node + linkType: hard + +"@babel/parser@npm:^7.10.4": + version: 7.11.5 + resolution: "@babel/parser@npm:7.11.5" + bin: + parser: ./bin/babel-parser.js + checksum: 3cd9834e0e072114974b214473002b40792c3f19779a39d63dd832d99a48762b9ab158762f45547f2cc8f0fbdac2727a07d1f005f175b14c1af3ec6cd9916d3d + languageName: node + linkType: hard + +"@babel/parser@npm:^7.7.5, @babel/parser@npm:^7.8.6, @babel/parser@npm:^7.8.7": + version: 7.8.8 + resolution: "@babel/parser@npm:7.8.8" + bin: + parser: ./bin/babel-parser.js + checksum: c5c7fbbdf8df83ff2c3efe874a584ca1622a2df8e591054f97002038033532e4633cd561acc27c3c9ac1fa8cdd3c239579670b556c801d41a9ec96fd30ac388f + languageName: node + linkType: hard + +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7ed1c1d9b9e5b64ef028ea5e755c0be2d4e5e4e3d6cf7df757b9a8c4cfa4193d268176d0f1f7fbecdda6fe722885c7fda681f480f3741d8a2d26854736f05367 + languageName: node + linkType: hard + +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3a10849d83e47aec50f367a9e56a6b22d662ddce643334b087f9828f4c3dd73bdc5909aaeabe123fed78515767f9ca43498a0e621c438d1cd2802d7fae3c9648 + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-properties@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-class-properties@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 454db1392c5415abf0681a619e71c667df94f7c7587767016b804c4b84180ed4fc00cefcae677850fa356c991085ab61ae524c4d4bab95445cb4aa0a3af96017 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 166ac1125d10b9c0c430e4156249a13858c0366d38844883d75d27389621ebe651115cb2ceb6dc011534d5055719fa1727b59f39e1ab3ca97820eef3dcab5b9b + languageName: node + linkType: hard + +"@babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bf5aea1f3188c9a507e16efe030efb996853ca3cadd6512c51db7233cc58f3ac89ff8c6bdfb01d30843b161cfe7d321e1bf28da82f7ab8d7e6bc5464666f354a + languageName: node + linkType: hard + +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: aff33577037e34e515911255cdbb1fd39efee33658aa00b8a5fd3a4b903585112d037cce1cc9e4632f0487dc554486106b79ccd5ea63a2e00df4363f6d4ff886 + languageName: node + linkType: hard + +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 87aca4918916020d1fedba54c0e232de408df2644a425d153be368313fdde40d96088feed6c4e5ab72aac89be5d07fef2ddf329a15109c5eb65df006bf2580d1 + languageName: node + linkType: hard + +"@babel/plugin-syntax-numeric-separator@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 01ec5547bd0497f76cc903ff4d6b02abc8c05f301c88d2622b6d834e33a5651aa7c7a3d80d8d57656a4588f7276eba357f6b7e006482f5b564b7a6488de493a1 + languageName: node + linkType: hard + +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: fddcf581a57f77e80eb6b981b10658421bc321ba5f0a5b754118c6a92a5448f12a0c336f77b8abf734841e102e5126d69110a306eadb03ca3e1547cab31f5cbf + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 910d90e72bc90ea1ce698e89c1027fed8845212d5ab588e35ef91f13b93143845f94e2539d831dc8d8ededc14ec02f04f7bd6a8179edd43a326c784e7ed7f0b9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: eef94d53a1453361553c1f98b68d17782861a04a392840341bc91780838dd4e695209c783631cf0de14c635758beafb6a3a65399846ffa4386bff90639347f30 + languageName: node + linkType: hard + +"@babel/plugin-transform-runtime@npm:^7.5.5": + version: 7.6.2 + resolution: "@babel/plugin-transform-runtime@npm:7.6.2" + dependencies: + "@babel/helper-module-imports": ^7.0.0 + "@babel/helper-plugin-utils": ^7.0.0 + resolve: ^1.8.1 + semver: ^5.5.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f8040ae8d7e476eb5830f68abc34dab4ce2c09fba360701ac72d681b8567f76fe059b3f456a06b912e56194ed420b59d1bcd8d0e37514156d79d6eb8be72f30b + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.5.5": + version: 7.6.3 + resolution: "@babel/runtime@npm:7.6.3" + dependencies: + regenerator-runtime: ^0.13.2 + checksum: a5d802cc9d895d976a292a467bf4c8ec11c7194a166d90b9143fd8a37767f05d0ca173174d134ba0e722b15312cad2b387e7243e133b1b2d29c184dd0f15a3fd + languageName: node + linkType: hard + +"@babel/template@npm:^7.1.0, @babel/template@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/template@npm:7.4.4" + dependencies: + "@babel/code-frame": ^7.0.0 + "@babel/parser": ^7.4.4 + "@babel/types": ^7.4.4 + checksum: c9e9665de0fbb1831a672737a1317a4d546f6dbfc77816431a3248ca8d87c7f0deb17276a7cfac2392c31933be72112fc39d588e360e41f0881e7681092b0ec1 + languageName: node + linkType: hard + +"@babel/template@npm:^7.3.3": + version: 7.10.4 + resolution: "@babel/template@npm:7.10.4" + dependencies: + "@babel/code-frame": ^7.10.4 + "@babel/parser": ^7.10.4 + "@babel/types": ^7.10.4 + checksum: 174a1fbfa19ed68141c9a047ff02972ebd3e8c7a98a00ffa79d4958d0f31bcfe17766987c2064d7fae851a277e1c499a05a527df346b3821d9aa9f730979cea9 + languageName: node + linkType: hard + +"@babel/template@npm:^7.7.4, @babel/template@npm:^7.8.3, @babel/template@npm:^7.8.6": + version: 7.8.6 + resolution: "@babel/template@npm:7.8.6" + dependencies: + "@babel/code-frame": ^7.8.3 + "@babel/parser": ^7.8.6 + "@babel/types": ^7.8.6 + checksum: 1c27003567f77a10a5350aad61b630532de4b3ab250fbab052e9f43cef18ab253f2bbea7618a6f6d7c3a59f28e24c8f575847951fddd2fac50ca265722b8cc74 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/traverse@npm:7.5.5" + dependencies: + "@babel/code-frame": ^7.5.5 + "@babel/generator": ^7.5.5 + "@babel/helper-function-name": ^7.1.0 + "@babel/helper-split-export-declaration": ^7.4.4 + "@babel/parser": ^7.5.5 + "@babel/types": ^7.5.5 + debug: ^4.1.0 + globals: ^11.1.0 + lodash: ^4.17.13 + checksum: 099dc9740f74646fd67e10747e70ea0d4674ed8acff6b605ac592ae2f20af086f0b5b3efc0e5a7afe23093e2db9dd5d5fa59371c9aab9cdcf95b494415e221f3 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.7.4, @babel/traverse@npm:^7.8.4, @babel/traverse@npm:^7.8.6": + version: 7.8.6 + resolution: "@babel/traverse@npm:7.8.6" + dependencies: + "@babel/code-frame": ^7.8.3 + "@babel/generator": ^7.8.6 + "@babel/helper-function-name": ^7.8.3 + "@babel/helper-split-export-declaration": ^7.8.3 + "@babel/parser": ^7.8.6 + "@babel/types": ^7.8.6 + debug: ^4.1.0 + globals: ^11.1.0 + lodash: ^4.17.13 + checksum: 1f21937a9d3768fc56571771529ba7942c9f33a1376799dec1a607ca1af92e953b7ff23bfca026cee2a505459247f292ddd15349bfd12bdb7ac94746cb9a979b + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/types@npm:7.5.5" + dependencies: + esutils: ^2.0.2 + lodash: ^4.17.13 + to-fast-properties: ^2.0.0 + checksum: 76d832bac201834b18d3fe61db220d796283ae3595d51d65c45516b1e44bb318d9906a9adaf4eebbf6400510828a70a821d8b0c9971bdb44408df041f09b4443 + languageName: node + linkType: hard + +"@babel/types@npm:^7.10.4, @babel/types@npm:^7.3.3": + version: 7.11.5 + resolution: "@babel/types@npm:7.11.5" + dependencies: + "@babel/helper-validator-identifier": ^7.10.4 + lodash: ^4.17.19 + to-fast-properties: ^2.0.0 + checksum: de2c1302f7c459d5786e8e3775c9162c07db86b4abac73368d4dfaea876bd4284241793b1f096685f74baab17b34f6c00d4a7ff03fb1bbea4d9fc46c9cae4b33 + languageName: node + linkType: hard + +"@babel/types@npm:^7.8.3, @babel/types@npm:^7.8.6, @babel/types@npm:^7.8.7": + version: 7.8.7 + resolution: "@babel/types@npm:7.8.7" + dependencies: + esutils: ^2.0.2 + lodash: ^4.17.13 + to-fast-properties: ^2.0.0 + checksum: f9520e5fdd7ad2805e34e4972370bfbb67309e271068aad9c7fb428320dc58f239306c5b0a7143ba51d92ee3a51f5f73902edb976d445c076245ad916201e701 + languageName: node + linkType: hard + +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 850f9305536d0f2bd13e9e0881cb5f02e4f93fad1189f7b2d4bebf694e3206924eadee1068130d43c11b750efcc9405f88a8e42ef098b6d75239c0f047de1a27 + languageName: node + linkType: hard + +"@cnakazawa/watch@npm:^1.0.3": + version: 1.0.3 + resolution: "@cnakazawa/watch@npm:1.0.3" + dependencies: + exec-sh: ^0.3.2 + minimist: ^1.2.0 + bin: + watch: ./cli.js + checksum: c11ca927d9e625ffa67d3d49b5a9a97d32ef82611abffdc645a41dd3b985a07c1d82c4a3dcc707fa193ef58494ccd21f3eb02fb22db3ce366654ccc364080864 + languageName: node + linkType: hard + +"@es-joy/jsdoccomment@npm:0.10.8": + version: 0.10.8 + resolution: "@es-joy/jsdoccomment@npm:0.10.8" + dependencies: + comment-parser: 1.2.4 + esquery: ^1.4.0 + jsdoc-type-pratt-parser: 1.1.1 + checksum: 3e144ef393459a541b64f6c9c8e62fb6d9b47e1a2c626410487ede12c472064f6ce6e0911df60b42ccf126d5a66102707eef59ca14767cb7aeb5e608b227558d + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^0.4.0": + version: 0.4.0 + resolution: "@eslint/eslintrc@npm:0.4.0" + dependencies: + ajv: ^6.12.4 + debug: ^4.1.1 + espree: ^7.3.0 + globals: ^12.1.0 + ignore: ^4.0.6 + import-fresh: ^3.2.1 + js-yaml: ^3.13.1 + minimatch: ^3.0.4 + strip-json-comments: ^3.1.1 + checksum: c4e7a5021bfdd293aff47b1993a66aee3d7a71a6b13bc8036028c71aa08bdac232c8683f5bb55090d0f260ecf81f4159e1a28554c8ad242a372ee89583dc75af + languageName: node + linkType: hard + +"@ethereumjs/common@npm:^2.0.0": + version: 2.6.0 + resolution: "@ethereumjs/common@npm:2.6.0" + dependencies: + crc-32: ^1.2.0 + ethereumjs-util: ^7.1.3 + checksum: f1e775f0d3963011f84cd6f6de985b342064331c8fd41bc81a6497abe959078704bf4febd8c59a3fc51c3527b1261441436d55d032f85f0453ff1af4a8dbccb3 + languageName: node + linkType: hard + +"@ethereumjs/common@npm:^2.3.1": + version: 2.3.1 + resolution: "@ethereumjs/common@npm:2.3.1" + dependencies: + crc-32: ^1.2.0 + ethereumjs-util: ^7.0.10 + checksum: 860d79c4c79684b532ba6cdc6f8f34d0c29e75d19edbf462b54f598615949d64aaea9d1e96a2b22da846677471d15b681675508bab3555db739e8276143f760a + languageName: node + linkType: hard + +"@ethereumjs/common@npm:^2.4.0": + version: 2.4.0 + resolution: "@ethereumjs/common@npm:2.4.0" + dependencies: + crc-32: ^1.2.0 + ethereumjs-util: ^7.1.0 + checksum: 46af3714500f24fe9586f0a65571fb9510c828699674106428f288fd0cfad667c1188f071f288184891d165edf0ed3f95440e00f062dacfcac9d871b709b5fd3 + languageName: node + linkType: hard + +"@ethereumjs/tx@npm:3.0.0": + version: 3.0.0 + resolution: "@ethereumjs/tx@npm:3.0.0" + dependencies: + "@ethereumjs/common": ^2.0.0 + ethereumjs-util: ^7.0.7 + checksum: 5a911bbdd9497d12407efd9a7238ab9e531af150663dca9701350da4cdc9cc46ec86cba6b583a5ae935e7f490553bb3bdf9dabdb1e0fcbbe3a1869c4dfbaf058 + languageName: node + linkType: hard + +"@ethereumjs/tx@npm:^3.2.1": + version: 3.2.1 + resolution: "@ethereumjs/tx@npm:3.2.1" + dependencies: + "@ethereumjs/common": ^2.3.1 + ethereumjs-util: ^7.0.10 + checksum: 311404f0569fea03e5133c49d129ed9d814cc8baaca90bebb5fc8eae0d4cbc146cb66c2a2c3c54343d4699ff7e0475376bbe9bb9c38dc8dc1b2df0c6e2aaeb73 + languageName: node + linkType: hard + +"@ethereumjs/tx@npm:^3.3.0": + version: 3.3.0 + resolution: "@ethereumjs/tx@npm:3.3.0" + dependencies: + "@ethereumjs/common": ^2.4.0 + ethereumjs-util: ^7.1.0 + checksum: f0720d4c7ccb670c50f61a3c26bf87181f3fddd4fe7f6c93753cca7c1442497719842ffb293db776c8c9a8c7107f18cb03eda3625d53cc5dda1bab736ff2a166 + languageName: node + linkType: hard + +"@ethersproject/abi@npm:5.4.0, @ethersproject/abi@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/abi@npm:5.4.0" + dependencies: + "@ethersproject/address": ^5.4.0 + "@ethersproject/bignumber": ^5.4.0 + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/constants": ^5.4.0 + "@ethersproject/hash": ^5.4.0 + "@ethersproject/keccak256": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + "@ethersproject/properties": ^5.4.0 + "@ethersproject/strings": ^5.4.0 + checksum: b299aab954e43da5abfaf1ba015405c1d9f9d87f83e1c37d09c4c402bb98abac9aedecdb52fd17b1389a272caddc8341a9410babb6536a56e0b77004b5839173 + languageName: node + linkType: hard + +"@ethersproject/abstract-provider@npm:5.4.0, @ethersproject/abstract-provider@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/abstract-provider@npm:5.4.0" + dependencies: + "@ethersproject/bignumber": ^5.4.0 + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + "@ethersproject/networks": ^5.4.0 + "@ethersproject/properties": ^5.4.0 + "@ethersproject/transactions": ^5.4.0 + "@ethersproject/web": ^5.4.0 + checksum: 4e87d8c8c549ebb9cd0d579945267eac0d40c34922af610667ab1a2a143abb330c51c1b09da95d39787e323941db4120c10c0e5ffd13591fd2d7dfd083210765 + languageName: node + linkType: hard + +"@ethersproject/abstract-signer@npm:5.4.0, @ethersproject/abstract-signer@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/abstract-signer@npm:5.4.0" + dependencies: + "@ethersproject/abstract-provider": ^5.4.0 + "@ethersproject/bignumber": ^5.4.0 + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + "@ethersproject/properties": ^5.4.0 + checksum: 6499aa3537eae53d5dd6bee80e15cf72c6f56882d716e24b1ba2167ec57d1f14304d166d8320e246d20b8529dcbd33ede8960b457e27fcdd6c0b94a84dd25c2e + languageName: node + linkType: hard + +"@ethersproject/address@npm:5.4.0, @ethersproject/address@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/address@npm:5.4.0" + dependencies: + "@ethersproject/bignumber": ^5.4.0 + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/keccak256": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + "@ethersproject/rlp": ^5.4.0 + checksum: c7ad0cffa86a24c5e4c176d4c08b99a35551abd72520ccc55de9c94ef45737f6082c2a784586360915f17802008154c995990f8f35b0f6c2b6738b80b766c0a4 + languageName: node + linkType: hard + +"@ethersproject/base64@npm:5.4.0, @ethersproject/base64@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/base64@npm:5.4.0" + dependencies: + "@ethersproject/bytes": ^5.4.0 + checksum: 40e14debc4534005cc8a1594074dab272c49d84fb3a6b4c0eedd6144211312a8ad97009603381e90f6ddfeaf5f227c0e8e56d6753562981a9ae6ccfcb8430d4e + languageName: node + linkType: hard + +"@ethersproject/basex@npm:5.4.0, @ethersproject/basex@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/basex@npm:5.4.0" + dependencies: + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/properties": ^5.4.0 + checksum: 0a364834f29b27bb04c91698cd2612f07f96f73709af20d99a4b96babc75baf770e84ac01fa2c6b34f0ee3e04c35566d601c6cf1933973844c1a0b785f6f0da5 + languageName: node + linkType: hard + +"@ethersproject/bignumber@npm:5.4.0, @ethersproject/bignumber@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/bignumber@npm:5.4.0" + dependencies: + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + bn.js: ^4.11.9 + checksum: 1364bba9af5b942def3e1705359e7965bf006d51003a879d784619baea60989b9cd99e042b235cd2e7861da44a41212ae8d5768cc5550dfd52230401a40003f2 + languageName: node + linkType: hard + +"@ethersproject/bytes@npm:5.4.0, @ethersproject/bytes@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/bytes@npm:5.4.0" + dependencies: + "@ethersproject/logger": ^5.4.0 + checksum: be8678ec713858e6d944defc78b9950ab83a9cde22c51ea2658ee4a5aa176f1ce9c36dd6630a2a17dcf6bd098b1b33b7b1d3b8fe2edb8840af4028567ca68775 + languageName: node + linkType: hard + +"@ethersproject/constants@npm:5.4.0, @ethersproject/constants@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/constants@npm:5.4.0" + dependencies: + "@ethersproject/bignumber": ^5.4.0 + checksum: 736f601d54b1f427cf5451ac463c5470929aac590a287ec40fa5d5f69582f2695b6bc4b476228d63030fb7f215a302fc6db690b2d55038207910232e17b09d89 + languageName: node + linkType: hard + +"@ethersproject/contracts@npm:5.4.0": + version: 5.4.0 + resolution: "@ethersproject/contracts@npm:5.4.0" + dependencies: + "@ethersproject/abi": ^5.4.0 + "@ethersproject/abstract-provider": ^5.4.0 + "@ethersproject/abstract-signer": ^5.4.0 + "@ethersproject/address": ^5.4.0 + "@ethersproject/bignumber": ^5.4.0 + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/constants": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + "@ethersproject/properties": ^5.4.0 + "@ethersproject/transactions": ^5.4.0 + checksum: 11764d70c9454d7e4cb071b16b3970363769223870fbaba7f16c93e8f09c66c175b7c8d3a70a3ceef68036c194f58922c8159517ac6e3eeb6e8b537549c74074 + languageName: node + linkType: hard + +"@ethersproject/hash@npm:5.4.0, @ethersproject/hash@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/hash@npm:5.4.0" + dependencies: + "@ethersproject/abstract-signer": ^5.4.0 + "@ethersproject/address": ^5.4.0 + "@ethersproject/bignumber": ^5.4.0 + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/keccak256": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + "@ethersproject/properties": ^5.4.0 + "@ethersproject/strings": ^5.4.0 + checksum: 20c48688568cc6bb3643bdc69626d0358d1d45994d2f4e38ee01823c0f0dbb47920e74e751bbbfe7c02995a7fd5afe4e2594c0a301fb579339cb3e908141f7b2 + languageName: node + linkType: hard + +"@ethersproject/hdnode@npm:5.4.0, @ethersproject/hdnode@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/hdnode@npm:5.4.0" + dependencies: + "@ethersproject/abstract-signer": ^5.4.0 + "@ethersproject/basex": ^5.4.0 + "@ethersproject/bignumber": ^5.4.0 + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + "@ethersproject/pbkdf2": ^5.4.0 + "@ethersproject/properties": ^5.4.0 + "@ethersproject/sha2": ^5.4.0 + "@ethersproject/signing-key": ^5.4.0 + "@ethersproject/strings": ^5.4.0 + "@ethersproject/transactions": ^5.4.0 + "@ethersproject/wordlists": ^5.4.0 + checksum: cfd3b1512800877223960ad4e8ce6eacc09486b6e07d74f109c37f6211a3bb77c528c684d3a2dadff933f12d5b8d9676659ef65baa9c5eab257d255d78743dbd + languageName: node + linkType: hard + +"@ethersproject/json-wallets@npm:5.4.0, @ethersproject/json-wallets@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/json-wallets@npm:5.4.0" + dependencies: + "@ethersproject/abstract-signer": ^5.4.0 + "@ethersproject/address": ^5.4.0 + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/hdnode": ^5.4.0 + "@ethersproject/keccak256": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + "@ethersproject/pbkdf2": ^5.4.0 + "@ethersproject/properties": ^5.4.0 + "@ethersproject/random": ^5.4.0 + "@ethersproject/strings": ^5.4.0 + "@ethersproject/transactions": ^5.4.0 + aes-js: 3.0.0 + scrypt-js: 3.0.1 + checksum: 8bd933253212199d6594cc2b7777b0e110724e756a9693f4d07f3549355eb599a7ede98b52bd96d2b0f8985ed52ad5a6ff2148fc0aa5a78812535636e4e9dffa + languageName: node + linkType: hard + +"@ethersproject/keccak256@npm:5.4.0, @ethersproject/keccak256@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/keccak256@npm:5.4.0" + dependencies: + "@ethersproject/bytes": ^5.4.0 + js-sha3: 0.5.7 + checksum: b76d2818734fb55b80c3b7fc07e761a594b721840c276a52b92e457e4f460802c2f6fe6e684ef444a1d28565351b5859a6e202751fafe111bccef2e596bf9a1e + languageName: node + linkType: hard + +"@ethersproject/logger@npm:5.4.0, @ethersproject/logger@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/logger@npm:5.4.0" + checksum: dae12037fe91668b14e2e55fe6e6404d57f8e6a632788610bf8dab8553efad2343d10c61d556c5697ca6646ad628e4802e48d92da4f4011d97ff2d1875bb4de5 + languageName: node + linkType: hard + +"@ethersproject/networks@npm:5.4.1, @ethersproject/networks@npm:^5.4.0": + version: 5.4.1 + resolution: "@ethersproject/networks@npm:5.4.1" + dependencies: + "@ethersproject/logger": ^5.4.0 + checksum: 8345c307590fc7eddbed97e30f4c1bdadc3081fa9d94768934f80a3b7587b9f1064ad0854ac05301c9836a7c61860588da809a76eeb99793800870893ab0dc59 + languageName: node + linkType: hard + +"@ethersproject/pbkdf2@npm:5.4.0, @ethersproject/pbkdf2@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/pbkdf2@npm:5.4.0" + dependencies: + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/sha2": ^5.4.0 + checksum: 596c6b8f920a147eb8f7c1b36d6119be3bf0b31c591cc844b3067300a7ee605d9b03959309a58a37c1ab64e112b4edf838dcac658c5163c5d17966700936c615 + languageName: node + linkType: hard + +"@ethersproject/properties@npm:5.4.0, @ethersproject/properties@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/properties@npm:5.4.0" + dependencies: + "@ethersproject/logger": ^5.4.0 + checksum: 618ff237e5f21853752acf0ec7cff80d681aeb2a6b1812ed83bb99a6dcf9a86c1afef90e1669f2d766aab0daa7e21692fb03cf84e0cda355cb4f6b12eb9b059f + languageName: node + linkType: hard + +"@ethersproject/providers@npm:5.4.1": + version: 5.4.1 + resolution: "@ethersproject/providers@npm:5.4.1" + dependencies: + "@ethersproject/abstract-provider": ^5.4.0 + "@ethersproject/abstract-signer": ^5.4.0 + "@ethersproject/address": ^5.4.0 + "@ethersproject/basex": ^5.4.0 + "@ethersproject/bignumber": ^5.4.0 + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/constants": ^5.4.0 + "@ethersproject/hash": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + "@ethersproject/networks": ^5.4.0 + "@ethersproject/properties": ^5.4.0 + "@ethersproject/random": ^5.4.0 + "@ethersproject/rlp": ^5.4.0 + "@ethersproject/sha2": ^5.4.0 + "@ethersproject/strings": ^5.4.0 + "@ethersproject/transactions": ^5.4.0 + "@ethersproject/web": ^5.4.0 + bech32: 1.1.4 + ws: 7.4.6 + checksum: e0251db6ef04f0007d91c56d17e024bb9ec3adc81753f5f7e71ca9749b28f6ac22a55ecbb47f7843a20a71a8b0f346e60017561d1dc219b55cd9537f3c7addac + languageName: node + linkType: hard + +"@ethersproject/random@npm:5.4.0, @ethersproject/random@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/random@npm:5.4.0" + dependencies: + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + checksum: 7bf0150b639faac4f9c8c234083d2f1b5d3fbd530ab64d5602240c8873d856418e1512f41b8c39b771118ff7d06d257dd0ad473aca9e3886535baeeb5ac6b7e8 + languageName: node + linkType: hard + +"@ethersproject/rlp@npm:5.4.0, @ethersproject/rlp@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/rlp@npm:5.4.0" + dependencies: + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + checksum: d6c45c17f8062a93737267aca52c16725fa197706b5dade1f806f9be3e498d3f70101cad631dc979d7db94ee170f225fed03900df35676cfe6ba86b16136f046 + languageName: node + linkType: hard + +"@ethersproject/sha2@npm:5.4.0, @ethersproject/sha2@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/sha2@npm:5.4.0" + dependencies: + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + hash.js: 1.1.7 + checksum: 253a5ad3894c3a0bcd1d7af6dc19fbd80680732bf05c708b9c27c26ffc0a8c2be04eaeabf98be6be18e7181a130b142ac391aceac705382cea7f24876f012671 + languageName: node + linkType: hard + +"@ethersproject/signing-key@npm:5.4.0, @ethersproject/signing-key@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/signing-key@npm:5.4.0" + dependencies: + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + "@ethersproject/properties": ^5.4.0 + bn.js: ^4.11.9 + elliptic: 6.5.4 + hash.js: 1.1.7 + checksum: aa5666aec046f57cd6b66044b2ea34cd72e481b209cadbf7a2d09e1eb9123e0817398e0e31dad22acef72fa9e06faf78026169c82f800826bcf4fbbed2d7d5a3 + languageName: node + linkType: hard + +"@ethersproject/solidity@npm:5.4.0": + version: 5.4.0 + resolution: "@ethersproject/solidity@npm:5.4.0" + dependencies: + "@ethersproject/bignumber": ^5.4.0 + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/keccak256": ^5.4.0 + "@ethersproject/sha2": ^5.4.0 + "@ethersproject/strings": ^5.4.0 + checksum: 62f8756a9b9e15073b4785f8880a3c248eba6397f33b6de1bd4ed7f83a362c5a61dfe5b2e602b30aec0b0f46efc27cbdd796de43b2c1b62db9e3d2fed43ec90a + languageName: node + linkType: hard + +"@ethersproject/strings@npm:5.4.0, @ethersproject/strings@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/strings@npm:5.4.0" + dependencies: + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/constants": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + checksum: f62ab89803f6cbc9c91093589e8e117b0c0857d8642d7d85bef1807f3ced7757127d3f271bf0bd7f644e02a31282842c1339f678b7f8a79c88ad3326d775db2a + languageName: node + linkType: hard + +"@ethersproject/transactions@npm:5.4.0, @ethersproject/transactions@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/transactions@npm:5.4.0" + dependencies: + "@ethersproject/address": ^5.4.0 + "@ethersproject/bignumber": ^5.4.0 + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/constants": ^5.4.0 + "@ethersproject/keccak256": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + "@ethersproject/properties": ^5.4.0 + "@ethersproject/rlp": ^5.4.0 + "@ethersproject/signing-key": ^5.4.0 + checksum: 7407c93301fe634bf74150e1b4dc0636246ee4022ae988c003e1a52d0ad5cc6a693a6cb763b2280cb856f76e314b8650206cb1308a7a679e63bfbe8604294fe3 + languageName: node + linkType: hard + +"@ethersproject/units@npm:5.4.0": + version: 5.4.0 + resolution: "@ethersproject/units@npm:5.4.0" + dependencies: + "@ethersproject/bignumber": ^5.4.0 + "@ethersproject/constants": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + checksum: 47054df485b4b648a982186d280f0eef9489acbd0d1a4036cc8f9170b8c3c91552b5d8d21213cef206e76b475fc83c9318d87c50b4931e0495198637181f068d + languageName: node + linkType: hard + +"@ethersproject/wallet@npm:5.4.0": + version: 5.4.0 + resolution: "@ethersproject/wallet@npm:5.4.0" + dependencies: + "@ethersproject/abstract-provider": ^5.4.0 + "@ethersproject/abstract-signer": ^5.4.0 + "@ethersproject/address": ^5.4.0 + "@ethersproject/bignumber": ^5.4.0 + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/hash": ^5.4.0 + "@ethersproject/hdnode": ^5.4.0 + "@ethersproject/json-wallets": ^5.4.0 + "@ethersproject/keccak256": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + "@ethersproject/properties": ^5.4.0 + "@ethersproject/random": ^5.4.0 + "@ethersproject/signing-key": ^5.4.0 + "@ethersproject/transactions": ^5.4.0 + "@ethersproject/wordlists": ^5.4.0 + checksum: 537bea004798951476b15752fad672d919e3130aeacaff3cf2497d466f1346e5fa15b6cd716c0c879ce68bc7f33e1bd355ce11032a94e9d30eef0666b6fd1ddf + languageName: node + linkType: hard + +"@ethersproject/web@npm:5.4.0, @ethersproject/web@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/web@npm:5.4.0" + dependencies: + "@ethersproject/base64": ^5.4.0 + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + "@ethersproject/properties": ^5.4.0 + "@ethersproject/strings": ^5.4.0 + checksum: 09954d42aaa91690448b8dacfb16d82351138f13c2bf05ab18c4e03c5c5c1df625bc094d781665ef5b034a24f5c0c305d6b01f4f5e6bf082e30933b3788d69ce + languageName: node + linkType: hard + +"@ethersproject/wordlists@npm:5.4.0, @ethersproject/wordlists@npm:^5.4.0": + version: 5.4.0 + resolution: "@ethersproject/wordlists@npm:5.4.0" + dependencies: + "@ethersproject/bytes": ^5.4.0 + "@ethersproject/hash": ^5.4.0 + "@ethersproject/logger": ^5.4.0 + "@ethersproject/properties": ^5.4.0 + "@ethersproject/strings": ^5.4.0 + checksum: db9fb8994a27cec040a44efa4a9c16af6443db71e809012a7dfa05c2ea2162c699a7f5e5ca9683580a490e90c55718aa110fa1eb79749a359f85794cc43d67b6 + languageName: node + linkType: hard + +"@gar/promisify@npm:^1.1.3": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 + languageName: node + linkType: hard + +"@istanbuljs/load-nyc-config@npm:^1.0.0": + version: 1.0.0 + resolution: "@istanbuljs/load-nyc-config@npm:1.0.0" + dependencies: + camelcase: ^5.3.1 + find-up: ^4.1.0 + js-yaml: ^3.13.1 + resolve-from: ^5.0.0 + checksum: 6671bd5029a30c1215106d12f870a67a0f6d58f1e038173c84e0006f22f6e724eeee9e5ca8ae1bcb3e741d8ec4fd4390fdf92092c66302a3db189e16446c9cfc + languageName: node + linkType: hard + +"@istanbuljs/schema@npm:^0.1.2": + version: 0.1.2 + resolution: "@istanbuljs/schema@npm:0.1.2" + checksum: 5ce9facf2f0e3f4a93e56853cdfd78456e22d2c210c677530046e9c634ddc323dd62423ac711cd3554b5be06052c87fb8e0c266aa9010726940654c357290e78 + languageName: node + linkType: hard + +"@jest/console@npm:^26.3.0": + version: 26.3.0 + resolution: "@jest/console@npm:26.3.0" + dependencies: + "@jest/types": ^26.3.0 + "@types/node": "*" + chalk: ^4.0.0 + jest-message-util: ^26.3.0 + jest-util: ^26.3.0 + slash: ^3.0.0 + checksum: 82a310dbc4d4969841c09a5b40f89060d3448650c27901293082f1174b5942f091ca2c62488803c5702ff2f18e50ada6903dd37037faab58dc7810fa8bde0df1 + languageName: node + linkType: hard + +"@jest/core@npm:^26.4.2": + version: 26.4.2 + resolution: "@jest/core@npm:26.4.2" + dependencies: + "@jest/console": ^26.3.0 + "@jest/reporters": ^26.4.1 + "@jest/test-result": ^26.3.0 + "@jest/transform": ^26.3.0 + "@jest/types": ^26.3.0 + "@types/node": "*" + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + jest-changed-files: ^26.3.0 + jest-config: ^26.4.2 + jest-haste-map: ^26.3.0 + jest-message-util: ^26.3.0 + jest-regex-util: ^26.0.0 + jest-resolve: ^26.4.0 + jest-resolve-dependencies: ^26.4.2 + jest-runner: ^26.4.2 + jest-runtime: ^26.4.2 + jest-snapshot: ^26.4.2 + jest-util: ^26.3.0 + jest-validate: ^26.4.2 + jest-watcher: ^26.3.0 + micromatch: ^4.0.2 + p-each-series: ^2.1.0 + rimraf: ^3.0.0 + slash: ^3.0.0 + strip-ansi: ^6.0.0 + checksum: cdf83ea49ba262aa499df06465a6decebaf7abb3a9a10c1261dd6f9332f74ffc70d179ac0f0732597e15b3d3a5cb38aa8fdc7eeb29f9e87abb47b6412f3f7be2 + languageName: node + linkType: hard + +"@jest/environment@npm:^25.5.0": + version: 25.5.0 + resolution: "@jest/environment@npm:25.5.0" + dependencies: + "@jest/fake-timers": ^25.5.0 + "@jest/types": ^25.5.0 + jest-mock: ^25.5.0 + checksum: 93a9ddbcfafef26c21bb880ea947493f4b248e5d929ed165290079ac28559fa0d6983641ad57abe30d9ae13d3ecf73034964e2adc3b7bb207f1888818e6a3432 + languageName: node + linkType: hard + +"@jest/environment@npm:^26.3.0": + version: 26.3.0 + resolution: "@jest/environment@npm:26.3.0" + dependencies: + "@jest/fake-timers": ^26.3.0 + "@jest/types": ^26.3.0 + "@types/node": "*" + jest-mock: ^26.3.0 + checksum: 11ccf49449c91c1e33f33e0b8466bc68b7f86fbb03c05f019d7b75ef972eaa7c5e703ed0a073621d2fc3f0902ea176f4ba19cbbf4e830004fda521b5858680d1 + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^25.5.0": + version: 25.5.0 + resolution: "@jest/fake-timers@npm:25.5.0" + dependencies: + "@jest/types": ^25.5.0 + jest-message-util: ^25.5.0 + jest-mock: ^25.5.0 + jest-util: ^25.5.0 + lolex: ^5.0.0 + checksum: e34dc713a2e26e936aa15d0d6f479ad9ffbea13d50436f873631fd8077fd746d23e2ce1f0bd2ac32fe99f0dac3eae35960a59fdd98830c0134819e5c9b7e822e + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^26.3.0": + version: 26.3.0 + resolution: "@jest/fake-timers@npm:26.3.0" + dependencies: + "@jest/types": ^26.3.0 + "@sinonjs/fake-timers": ^6.0.1 + "@types/node": "*" + jest-message-util: ^26.3.0 + jest-mock: ^26.3.0 + jest-util: ^26.3.0 + checksum: 56872e9883fb7aabff49ce9ec9fb5f4d9fbfe93976d889c7c9d4d712ed45f294c5b36054149f194534a7fe9386eeafef83a2d43fa976c8c335ecc7b494cb1a38 + languageName: node + linkType: hard + +"@jest/globals@npm:^26.4.2": + version: 26.4.2 + resolution: "@jest/globals@npm:26.4.2" + dependencies: + "@jest/environment": ^26.3.0 + "@jest/types": ^26.3.0 + expect: ^26.4.2 + checksum: 896e59e89c4de39409f21339501313d9d945c178869d2514ee58e0c423a5af54f6b84feb5814210a4af3b4b205b8ad3ab4f0d40d5e82669817bcdee27dcb0e02 + languageName: node + linkType: hard + +"@jest/reporters@npm:^26.4.1": + version: 26.4.1 + resolution: "@jest/reporters@npm:26.4.1" + dependencies: + "@bcoe/v8-coverage": ^0.2.3 + "@jest/console": ^26.3.0 + "@jest/test-result": ^26.3.0 + "@jest/transform": ^26.3.0 + "@jest/types": ^26.3.0 + chalk: ^4.0.0 + collect-v8-coverage: ^1.0.0 + exit: ^0.1.2 + glob: ^7.1.2 + graceful-fs: ^4.2.4 + istanbul-lib-coverage: ^3.0.0 + istanbul-lib-instrument: ^4.0.3 + istanbul-lib-report: ^3.0.0 + istanbul-lib-source-maps: ^4.0.0 + istanbul-reports: ^3.0.2 + jest-haste-map: ^26.3.0 + jest-resolve: ^26.4.0 + jest-util: ^26.3.0 + jest-worker: ^26.3.0 + node-notifier: ^8.0.0 + slash: ^3.0.0 + source-map: ^0.6.0 + string-length: ^4.0.1 + terminal-link: ^2.0.0 + v8-to-istanbul: ^5.0.1 + dependenciesMeta: + node-notifier: + optional: true + checksum: 5d89ab3040cbf9a915ca3237d7af19bf049486b053452f5a7fb78cdf619e330f67143ada0c76cc67b3a24959a67717c76a56a3e87ac5a1b30c70f4f1d826239e + languageName: node + linkType: hard + +"@jest/source-map@npm:^26.3.0": + version: 26.3.0 + resolution: "@jest/source-map@npm:26.3.0" + dependencies: + callsites: ^3.0.0 + graceful-fs: ^4.2.4 + source-map: ^0.6.0 + checksum: 77a4cdfc2f988785f595b63b10426895dbde9a92fd7c6210a2a86d95b8f6c6f76bb80d4648d476212231e8a641c0bb0f641b99fa57abec7e393037dea6571945 + languageName: node + linkType: hard + +"@jest/test-result@npm:^26.3.0": + version: 26.3.0 + resolution: "@jest/test-result@npm:26.3.0" + dependencies: + "@jest/console": ^26.3.0 + "@jest/types": ^26.3.0 + "@types/istanbul-lib-coverage": ^2.0.0 + collect-v8-coverage: ^1.0.0 + checksum: 3c1d25e790c53e9b960c02cf416737ed37df8c11d8d0d5fa394920e6b35d132ccaac1a80aa01eec69e4e14fe7596a86b8fffb7036347c79338862849b320dd68 + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^26.4.2": + version: 26.4.2 + resolution: "@jest/test-sequencer@npm:26.4.2" + dependencies: + "@jest/test-result": ^26.3.0 + graceful-fs: ^4.2.4 + jest-haste-map: ^26.3.0 + jest-runner: ^26.4.2 + jest-runtime: ^26.4.2 + checksum: 7812413d741d1711aef80cd9efb8ba6ffebd5e5697201769a8f41c695be78c081363c601f7840aaecb40751f74dcae68919fc5812563314887092e311aba0f46 + languageName: node + linkType: hard + +"@jest/transform@npm:^26.3.0": + version: 26.3.0 + resolution: "@jest/transform@npm:26.3.0" + dependencies: + "@babel/core": ^7.1.0 + "@jest/types": ^26.3.0 + babel-plugin-istanbul: ^6.0.0 + chalk: ^4.0.0 + convert-source-map: ^1.4.0 + fast-json-stable-stringify: ^2.0.0 + graceful-fs: ^4.2.4 + jest-haste-map: ^26.3.0 + jest-regex-util: ^26.0.0 + jest-util: ^26.3.0 + micromatch: ^4.0.2 + pirates: ^4.0.1 + slash: ^3.0.0 + source-map: ^0.6.1 + write-file-atomic: ^3.0.0 + checksum: 620bcf18d4322c806d27f137a35871ac363ab8ac0c66c214f8311ac0378b2498bd4a37870c683fe71ab8444370e7303f1ff0d12c767a40377af295958c3d9e92 + languageName: node + linkType: hard + +"@jest/types@npm:^25.5.0": + version: 25.5.0 + resolution: "@jest/types@npm:25.5.0" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^1.1.1 + "@types/yargs": ^15.0.0 + chalk: ^3.0.0 + checksum: 785b67521a2c54f290ad4b53f49fec6b14fa25828bf26a838f7bbe08dd42122f27f71a620ea9a33286346786e9b120dd370abf589e6ef8c5fde9dc56906880b1 + languageName: node + linkType: hard + +"@jest/types@npm:^26.3.0": + version: 26.3.0 + resolution: "@jest/types@npm:26.3.0" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^15.0.0 + chalk: ^4.0.0 + checksum: 832fcb106870b095a33e93afc130ef4359a5a024317e00101f9ca934fe9c667b8ac6bc350260c8758f519feedc1370277f0169da11153739552dfd30775b474a + languageName: node + linkType: hard + +"@jest/types@npm:^26.6.2": + version: 26.6.2 + resolution: "@jest/types@npm:26.6.2" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^15.0.0 + chalk: ^4.0.0 + checksum: a0bd3d2f22f26ddb23f41fddf6e6a30bf4fab2ce79ec1cb6ce6fdfaf90a72e00f4c71da91ec61e13db3b10c41de22cf49d07c57ff2b59171d64b29f909c1d8d6 + languageName: node + linkType: hard + +"@jest/types@npm:^27.2.5": + version: 27.2.5 + resolution: "@jest/types@npm:27.2.5" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^16.0.0 + chalk: ^4.0.0 + checksum: 322603c24354a5333b5b7a670464422a46e0244a5a96a35552a7018eb4ac2e84c3b7657336b0ea6aa114963f9b6d0da8b8f6f963cb044fea9e7bc04d464b0ab1 + languageName: node + linkType: hard + +"@keystonehq/base-eth-keyring@npm:^0.4.0": + version: 0.4.0 + resolution: "@keystonehq/base-eth-keyring@npm:0.4.0" + dependencies: + "@ethereumjs/tx": 3.0.0 + "@keystonehq/bc-ur-registry-eth": ^0.9.0 + ethereumjs-util: ^7.0.8 + hdkey: ^2.0.1 + uuid: ^8.3.2 + checksum: a13f8467f8d20ff821c510a26896d8fa1f0823d1c211d616fb7cc7f0231cd74ae129e87b1076e9574da6793bf04d3560753533861db32da002e12e14de349595 + languageName: node + linkType: hard + +"@keystonehq/bc-ur-registry-eth@npm:^0.9.0": + version: 0.9.0 + resolution: "@keystonehq/bc-ur-registry-eth@npm:0.9.0" + dependencies: + "@keystonehq/bc-ur-registry": ^0.5.0-alpha.5 + ethereumjs-util: ^7.0.8 + hdkey: ^2.0.1 + uuid: ^8.3.2 + checksum: 9f232b9c34aa7fa9cb2100037310d23409bcc645f2474e87b882f712aa1fd2dfbb8eab77e74cd780a5afb7d94087a90cebf56c70b5964770dbbd4f7bd451ec4e + languageName: node + linkType: hard + +"@keystonehq/bc-ur-registry@npm:^0.5.0-alpha.5": + version: 0.5.0-alpha.5 + resolution: "@keystonehq/bc-ur-registry@npm:0.5.0-alpha.5" + dependencies: + "@ngraveio/bc-ur": ^1.1.5 + base58check: ^2.0.0 + tslib: ^2.3.0 + checksum: 9d0a028db36494f5d28281ed67fc17c191c4b9e72ee5088f79ed5a874cc0d958018aeafa4dc9997e10425afa5b59f0e75e8760297056d9b756837ac7b69460aa + languageName: node + linkType: hard + +"@keystonehq/metamask-airgapped-keyring@npm:^0.3.0": + version: 0.3.0 + resolution: "@keystonehq/metamask-airgapped-keyring@npm:0.3.0" + dependencies: + "@ethereumjs/tx": ^3.3.0 + "@keystonehq/base-eth-keyring": ^0.4.0 + "@keystonehq/bc-ur-registry-eth": ^0.9.0 + "@metamask/obs-store": ^7.0.0 + rlp: ^2.2.6 + uuid: ^8.3.2 + checksum: 4b119741253613f8815f8f9a654dd31d1c1a2e0c33c6b04a18f5272060c99605d8848d50497b65091ed3ec35d7ba4cdb1fa06d051720ac889b44909d2c7f5341 + languageName: node + linkType: hard + +"@lavamoat/aa@npm:^2.0.1": + version: 2.0.1 + resolution: "@lavamoat/aa@npm:2.0.1" + dependencies: + resolve: ^1.20.0 + checksum: e1e5643a15375ee2c7c3c5742385176f4a7fcceefc39d145f66360515c32f74de26efafc49642190323e712312f4a116abd73e4e279628ede89fb85270f2ff30 + languageName: node + linkType: hard + +"@lavamoat/allow-scripts@npm:^2.0.2": + version: 2.0.2 + resolution: "@lavamoat/allow-scripts@npm:2.0.2" + dependencies: + "@lavamoat/aa": ^2.0.1 + "@npmcli/run-script": ^1.8.1 + yargs: ^16.2.0 + bin: + allow-scripts: src/cli.js + checksum: 3b0c12fc8697fd4999542b9c02e3ae21200085425dc05200c6fcbba7a1b9aa594ffe4b0036d02a5720e257ee258bd5b726f1131c8943fe0b4104f59e40d56336 + languageName: node + linkType: hard + +"@metamask/auto-changelog@npm:^2.6.0": + version: 2.6.0 + resolution: "@metamask/auto-changelog@npm:2.6.0" + dependencies: + diff: ^5.0.0 + execa: ^5.1.1 + semver: ^7.3.5 + yargs: ^17.0.1 + bin: + auto-changelog: dist/cli.js + checksum: f01ae6a1aef85c277b155a0b0bbfb1d8f4d17a3e93888e7c60780e1fd5f7b2a1730b3ba3247487a91fb4beb9ddfb0fe9d3ba61f4b84391dc5bde2d4607c575c8 + languageName: node + linkType: hard + +"@metamask/bip39@npm:^4.0.0": + version: 4.0.0 + resolution: "@metamask/bip39@npm:4.0.0" + dependencies: + "@types/node": 11.11.6 + create-hash: ^1.1.0 + pbkdf2: ^3.0.9 + randombytes: ^2.0.1 + checksum: 0d629de806dd0a6c6ea2ff4ab4752931b15eda5abcf2975f3beed8b4161bcc4765ec97bd8ba0146059b10178f6cf1753f74223655908bc585a76b565f26d4f16 + languageName: node + linkType: hard + +"@metamask/contract-metadata@npm:^1.35.0": + version: 1.35.0 + resolution: "@metamask/contract-metadata@npm:1.35.0" + checksum: d2bbb8bff2e2ebd4104512dbf4b2900fffd1f03125673b0d3ac58dac0e3b324402fec7170229dfdb601635d6d7074e0755f139149b3dc8640ee4703c17eb2383 + languageName: node + linkType: hard + +"@metamask/controllers@workspace:.": + version: 0.0.0-use.local + resolution: "@metamask/controllers@workspace:." + dependencies: + "@ethereumjs/common": ^2.3.1 + "@ethereumjs/tx": ^3.2.1 + "@keystonehq/bc-ur-registry-eth": ^0.9.0 + "@keystonehq/metamask-airgapped-keyring": ^0.3.0 + "@lavamoat/allow-scripts": ^2.0.2 + "@metamask/auto-changelog": ^2.6.0 + "@metamask/contract-metadata": ^1.35.0 + "@metamask/eslint-config": ^9.0.0 + "@metamask/eslint-config-jest": ^9.0.0 + "@metamask/eslint-config-nodejs": ^9.0.0 + "@metamask/eslint-config-typescript": ^9.0.1 + "@metamask/metamask-eth-abis": 3.0.0 + "@metamask/types": ^1.1.0 + "@types/deep-freeze-strict": ^1.1.0 + "@types/jest": ^26.0.22 + "@types/jest-when": ^2.7.3 + "@types/node": ^14.14.31 + "@types/punycode": ^2.1.0 + "@types/sinon": ^9.0.10 + "@types/uuid": ^8.3.0 + "@types/web3": ^1.0.6 + "@typescript-eslint/eslint-plugin": ^4.33.0 + "@typescript-eslint/parser": ^4.33.0 + abort-controller: ^3.0.0 + async-mutex: ^0.2.6 + babel-runtime: ^6.26.0 + deep-freeze-strict: ^1.1.1 + eslint: ^7.24.0 + eslint-config-prettier: ^8.5.0 + eslint-import-resolver-typescript: ^2.4.0 + eslint-plugin-import: ^2.22.1 + eslint-plugin-jest: ^24.1.5 + eslint-plugin-jsdoc: ^36.1.0 + eslint-plugin-node: ^11.1.0 + eslint-plugin-prettier: ^3.4.1 + eth-ens-namehash: ^2.0.8 + eth-json-rpc-infura: ^5.1.0 + eth-keyring-controller: ^7.0.2 + eth-method-registry: 1.1.0 + eth-phishing-detect: ^1.2.0 + eth-query: ^2.1.2 + eth-rpc-errors: ^4.0.0 + eth-sig-util: ^3.0.0 + ethereumjs-util: ^7.0.10 + ethereumjs-wallet: ^1.0.1 + ethers: ^5.4.1 + ethjs-provider-http: ^0.1.6 + ethjs-unit: ^0.1.6 + fast-deep-equal: ^3.1.3 + immer: ^9.0.6 + isomorphic-fetch: ^3.0.0 + jest: ^26.4.2 + jest-environment-jsdom: ^25.0.0 + jest-when: ^3.4.2 + json-rpc-engine: ^6.1.0 + jsonschema: ^1.2.4 + multiformats: ^9.5.2 + nanoid: ^3.1.31 + nock: ^13.0.7 + prettier: ^2.6.2 + prettier-plugin-packagejson: ^2.2.17 + punycode: ^2.1.1 + rimraf: ^3.0.2 + single-call-balance-checker-abi: ^1.0.0 + sinon: ^9.2.4 + ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 + typescript: ~4.6.3 + uuid: ^8.3.2 + web3: ^0.20.7 + web3-provider-engine: ^16.0.3 + languageName: unknown + linkType: soft + +"@metamask/eslint-config-jest@npm:^9.0.0": + version: 9.0.0 + resolution: "@metamask/eslint-config-jest@npm:9.0.0" + peerDependencies: + "@metamask/eslint-config": ^9.0.0 + eslint: ^7.23.0 + eslint-plugin-jest: ^24.1.3 + checksum: 74ddc7953691cc1e5fe76616fa7e0aaff3c671fae0187851bb90122662cd6a1346ae92ff1f3c28cc1beeeb31a8e86e6ca99062313e7674792a42ab56309efd20 + languageName: node + linkType: hard + +"@metamask/eslint-config-nodejs@npm:^9.0.0": + version: 9.0.0 + resolution: "@metamask/eslint-config-nodejs@npm:9.0.0" + peerDependencies: + "@metamask/eslint-config": ^9.0.0 + eslint: ^7.23.0 + eslint-plugin-node: ^11.1.0 + checksum: c4e502741f12f252fb01a391b7c733c76b447eadc7d26360b349aa2e768c52d04b30436e92d3db7969540faace68ab4d05f379a0f54d433778bf467f44469ba0 + languageName: node + linkType: hard + +"@metamask/eslint-config-typescript@npm:^9.0.1": + version: 9.0.1 + resolution: "@metamask/eslint-config-typescript@npm:9.0.1" + peerDependencies: + "@metamask/eslint-config": ^9.0.0 + "@typescript-eslint/eslint-plugin": ^4.20.0 + "@typescript-eslint/parser": ^4.20.0 + eslint: ^7.23.0 + typescript: ^4.0.7 + checksum: df6c630e285b1a125caffce1988c23b3ba0f76507c337a849fb30fb5f9b9df4bb563419f9bb2ec7e39072601b7e95a4d5be52ddff1643bde65206f33d73440d3 + languageName: node + linkType: hard + +"@metamask/eslint-config@npm:^9.0.0": + version: 9.0.0 + resolution: "@metamask/eslint-config@npm:9.0.0" + peerDependencies: + eslint: ^7.23.0 + eslint-config-prettier: ^8.1.0 + eslint-plugin-import: ^2.22.1 + eslint-plugin-jsdoc: ^36.1.0 + eslint-plugin-prettier: ^3.3.1 + prettier: ^2.2.1 + checksum: e44768e5f674e61743f1b147c589932e11f6d717b3f52b4b44ee3ab6b0b1078d379aea93473204c740fdff4b309393fc361c1e63c9cecc59ed5c8ab704eb6d20 + languageName: node + linkType: hard + +"@metamask/eth-hd-keyring@npm:^4.0.2": + version: 4.0.2 + resolution: "@metamask/eth-hd-keyring@npm:4.0.2" + dependencies: + "@metamask/bip39": ^4.0.0 + "@metamask/eth-sig-util": ^4.0.0 + eth-simple-keyring: ^4.2.0 + ethereumjs-util: ^7.0.9 + ethereumjs-wallet: ^1.0.1 + checksum: a390fe8baa71fa1e8416e20038c6d3e2b435ae0e7089d48f9ac5067e257971282d3cf2b8e7fcc0985c6cf0aa2839ea678ec92bc32aba02b764b18081f1f28d5e + languageName: node + linkType: hard + +"@metamask/eth-sig-util@npm:^4.0.0": + version: 4.0.1 + resolution: "@metamask/eth-sig-util@npm:4.0.1" + dependencies: + ethereumjs-abi: ^0.6.8 + ethereumjs-util: ^6.2.1 + ethjs-util: ^0.1.6 + tweetnacl: ^1.0.3 + tweetnacl-util: ^0.15.1 + checksum: 740df4c92a1282e6be4c00c86c1a8ccfb93e767596e43f6da895aa5bab4a28fc3c2209f0327db34924a4a1e9db72bc4d3dddfcfc45cca0b218c9ccbf7d1b1445 + languageName: node + linkType: hard + +"@metamask/metamask-eth-abis@npm:3.0.0": + version: 3.0.0 + resolution: "@metamask/metamask-eth-abis@npm:3.0.0" + checksum: a9e3020dd8deda91b4957cc38f0041944fd60a374d7f9d19b3bc2706c5ca70b3c2a5f679b5ef390b722a2c047a2852ebecd3aaa91c054cf5a60d9ca02ee45fe6 + languageName: node + linkType: hard + +"@metamask/obs-store@npm:^7.0.0": + version: 7.0.0 + resolution: "@metamask/obs-store@npm:7.0.0" + dependencies: + "@metamask/safe-event-emitter": ^2.0.0 + through2: ^2.0.3 + checksum: e1497140384de0ac689adbe7286df43e843c5d73fd8ba7080af2faab3de73e823b46b8214be1c839d9e9e5f86fb40df50a26e93bae936329daeaedae5e523323 + languageName: node + linkType: hard + +"@metamask/safe-event-emitter@npm:^2.0.0": + version: 2.0.0 + resolution: "@metamask/safe-event-emitter@npm:2.0.0" + checksum: 8b717ac5d53df0027c05509f03d0534700b5898dd1c3a53fb2dc4c0499ca5971b14aae67f522d09eb9f509e77f50afa95fdb3eda1afbff8b071c18a3d2905e93 + languageName: node + linkType: hard + +"@metamask/types@npm:^1.1.0": + version: 1.1.0 + resolution: "@metamask/types@npm:1.1.0" + checksum: 500e8c076a2b0a6d688c8c465101256f090547d99c9a5585efe3d1db7a494b6b2712b127043fb316912caffc4fff78976b9a7780780abb68305e8a3bf812689c + languageName: node + linkType: hard + +"@ngraveio/bc-ur@npm:^1.1.5": + version: 1.1.6 + resolution: "@ngraveio/bc-ur@npm:1.1.6" + dependencies: + "@apocentre/alias-sampling": ^0.5.3 + assert: ^2.0.0 + bignumber.js: ^9.0.1 + cbor-sync: ^1.0.4 + crc: ^3.8.0 + jsbi: ^3.1.5 + sha.js: ^2.4.11 + checksum: 8081d0436a37ccc4612e0fdb8000b37d695ed14b82e909cb9f3931191b57dd9d33f67c4573911bc63e52267e7f8a3185979032ba16aa559183b5259071df3de8 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.3": + version: 2.1.3 + resolution: "@nodelib/fs.scandir@npm:2.1.3" + dependencies: + "@nodelib/fs.stat": 2.0.3 + run-parallel: ^1.1.9 + checksum: 0054efbba1385629886fe017d99f7045cb8300d6de1923f7a37e05e480c853abbedaff90f6a6b88fd0d406e1cd1e97fb60bd4e059b44468b174f46bef2e21dd1 + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.3, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.3 + resolution: "@nodelib/fs.stat@npm:2.0.3" + checksum: d3612efceea83fb0bec4e64967888ff0c3e5fbbae96121bc526bbbe5529f32fc6f8a785b550f397d20f09c84dc1e5a6c8e9fd7f9b8b62387a8f80f680be8430e + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.4 + resolution: "@nodelib/fs.walk@npm:1.2.4" + dependencies: + "@nodelib/fs.scandir": 2.1.3 + fastq: ^1.6.0 + checksum: a971d1dcc1cf593e25651738e915be201053b63775c39c1ee221d2adee6316503ad6043136ceda0e099724875f2d72ea04b3b57c0e3a20b7f280bd3e951ae2e4 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^2.1.0": + version: 2.1.0 + resolution: "@npmcli/fs@npm:2.1.0" + dependencies: + "@gar/promisify": ^1.1.3 + semver: ^7.3.5 + checksum: 6ec6d678af6da49f9dac50cd882d7f661934dd278972ffbaacde40d9eaa2871292d634000a0cca9510f6fc29855fbd4af433e1adbff90a524ec3eaf140f1219b + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^2.0.0": + version: 2.0.0 + resolution: "@npmcli/move-file@npm:2.0.0" + dependencies: + mkdirp: ^1.0.4 + rimraf: ^3.0.2 + checksum: 1388777b507b0c592d53f41b9d182e1a8de7763bc625fc07999b8edbc22325f074e5b3ec90af79c89d6987fdb2325bc66d59f483258543c14a43661621f841b0 + languageName: node + linkType: hard + +"@npmcli/node-gyp@npm:^1.0.2": + version: 1.0.2 + resolution: "@npmcli/node-gyp@npm:1.0.2" + checksum: ee4b0706862404189ed40abf19760d9f1a45dcf2ad823b6fbc37f69709ae2fefb57e4ee27cb541111f08c304c46f885cc0479f4fe842af107148f4650cc5ad5e + languageName: node + linkType: hard + +"@npmcli/promise-spawn@npm:^1.3.2": + version: 1.3.2 + resolution: "@npmcli/promise-spawn@npm:1.3.2" + dependencies: + infer-owner: ^1.0.4 + checksum: 543b7c1e26230499b4100b10d45efa35b1077e8f25595050f34930ca3310abe9524f7387279fe4330139e0f28a0207595245503439276fd4b686cca2b6503080 + languageName: node + linkType: hard + +"@npmcli/run-script@npm:^1.8.1": + version: 1.8.5 + resolution: "@npmcli/run-script@npm:1.8.5" + dependencies: + "@npmcli/node-gyp": ^1.0.2 + "@npmcli/promise-spawn": ^1.3.2 + infer-owner: ^1.0.4 + node-gyp: ^7.1.0 + read-package-json-fast: ^2.0.1 + checksum: 734f7d4bec07d723276e0351d180a83735313823685c5c79b1f56e32d77622e1bd0c5cd0fbeca9649f1e559212a4ccc8e450b1f3d6dea9cadabb442f1f13bfe8 + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^1.6.0, @sinonjs/commons@npm:^1.8.1": + version: 1.8.2 + resolution: "@sinonjs/commons@npm:1.8.2" + dependencies: + type-detect: 4.0.8 + checksum: 67aa47d4a19e688da5c291286786635625356d6dc379d86f255c8425b9da3dfd26d07cfef82aad755ad51bd1a889bde07abd1e1592f9f5b3e29013045738e344 + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^1.7.0": + version: 1.7.1 + resolution: "@sinonjs/commons@npm:1.7.1" + dependencies: + type-detect: 4.0.8 + checksum: 50b17ab7a6672201e2a884f5956b951ccfb586eb2623208e6d939955ec97889b2437f80a0a4ab73c8e2fb90900f76591e7446c6a7107315a03682e02973bf6cd + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^6.0.0, @sinonjs/fake-timers@npm:^6.0.1": + version: 6.0.1 + resolution: "@sinonjs/fake-timers@npm:6.0.1" + dependencies: + "@sinonjs/commons": ^1.7.0 + checksum: 8e331aa1412d905ecc8efd63550f58a6f77dcb510f878172004e53be63eb82650623618763001a918fc5e21257b86c45041e4e97c454ed6a2d187de084abbd11 + languageName: node + linkType: hard + +"@sinonjs/samsam@npm:^5.3.1": + version: 5.3.1 + resolution: "@sinonjs/samsam@npm:5.3.1" + dependencies: + "@sinonjs/commons": ^1.6.0 + lodash.get: ^4.4.2 + type-detect: ^4.0.8 + checksum: 1c2c49d51b1840775980e9496707d68b936f443896f92e48150c4f7713d14904e576740e52660b602f8a53b665bd5f149c5c733758030758427ddb1621090279 + languageName: node + linkType: hard + +"@sinonjs/text-encoding@npm:^0.7.1": + version: 0.7.1 + resolution: "@sinonjs/text-encoding@npm:0.7.1" + checksum: 130de0bb568c5f8a611ec21d1a4e3f80ab0c5ec333010f49cfc1adc5cba6d8808699c8a587a46b0f0b016a1f4c1389bc96141e773e8460fcbb441875b2e91ba7 + languageName: node + linkType: hard + +"@tootallnate/once@npm:2": + version: 2.0.0 + resolution: "@tootallnate/once@npm:2.0.0" + checksum: ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.7": + version: 7.1.9 + resolution: "@types/babel__core@npm:7.1.9" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + "@types/babel__generator": "*" + "@types/babel__template": "*" + "@types/babel__traverse": "*" + checksum: d92c530efc3e50147f7956fc2aa49162508d2c5abffea7818051dfa9a9c9bc263b7d3da7d6fa826669ff8c68d733bbaced2dfdd486282b8bd013ccc3a0a3b7f6 + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.0.2 + resolution: "@types/babel__generator@npm:7.0.2" + dependencies: + "@babel/types": ^7.0.0 + checksum: b68118ea2d0e8c478b1cfb5662b6a15c954c0763d8672e95b2ea8a0eacedf2a659e9bebf9f288c8a7550d40fd7b1519434385db2d67dc7797ee8605d3370b128 + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.0.2 + resolution: "@types/babel__template@npm:7.0.2" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + checksum: ce04f0ab702d7d4c753c09e08db3e61e5fc69375ea70f5c991110511b7286124070ca70e260e8074614f8a339424de7e387c08033eaf0a9f5c81a93e350965a8 + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": + version: 7.0.7 + resolution: "@types/babel__traverse@npm:7.0.7" + dependencies: + "@babel/types": ^7.3.0 + checksum: 0e2745066663e5a26fef4b1cead879a67a80457f98819ba099519978bfbb9ebb2a0c1532730b2924014e0d4718fce955777fb3bed063b8d78d67fa09f6793b7a + languageName: node + linkType: hard + +"@types/bn.js@npm:*": + version: 4.11.5 + resolution: "@types/bn.js@npm:4.11.5" + dependencies: + "@types/node": "*" + checksum: 27bd6fef3cc2e11c4f0e63bb967c1e1ebcb19144b68de51f5a1a411d2ab8187d193248a8bd970908cc29af7be16f53e9e4cd92267828caaa8f98c44a74183f30 + languageName: node + linkType: hard + +"@types/bn.js@npm:^4.11.3": + version: 4.11.6 + resolution: "@types/bn.js@npm:4.11.6" + dependencies: + "@types/node": "*" + checksum: 7f66f2c7b7b9303b3205a57184261974b114495736b77853af5b18d857c0b33e82ce7146911e86e87a87837de8acae28986716fd381ac7c301fd6e8d8b6c811f + languageName: node + linkType: hard + +"@types/bn.js@npm:^5.1.0": + version: 5.1.0 + resolution: "@types/bn.js@npm:5.1.0" + dependencies: + "@types/node": "*" + checksum: 1dc1cbbd7a1e8bf3614752e9602f558762a901031f499f3055828b5e3e2bba16e5b88c27b3c4152ad795248fbe4086c731a5c4b0f29bb243f1875beeeabee59c + languageName: node + linkType: hard + +"@types/color-name@npm:^1.1.1": + version: 1.1.1 + resolution: "@types/color-name@npm:1.1.1" + checksum: b71fcad728cc68abcba1d405742134410c8f8eb3c2ef18113b047afca158ad23a4f2c229bcf71a38f4a818dead375c45b20db121d0e69259c2d81e97a740daa6 + languageName: node + linkType: hard + +"@types/deep-freeze-strict@npm:^1.1.0": + version: 1.1.0 + resolution: "@types/deep-freeze-strict@npm:1.1.0" + checksum: 29819f8e53cd6e0e82be7878a113291363c4c5f7e43804f71a37667d845e68977245985c1f116cb04dc1c4eceffa499735b26acf5a3d25a30fc4557a88e95b18 + languageName: node + linkType: hard + +"@types/glob@npm:^7.1.1": + version: 7.1.4 + resolution: "@types/glob@npm:7.1.4" + dependencies: + "@types/minimatch": "*" + "@types/node": "*" + checksum: 6911a956448f5eddea1e4371f814bf92072e8ceedba83de6ce2a6745938a6f0327376e1c0072fa0d7b3b73d84e255aafda53c1dff148225cfe542a8cc5d54b02 + languageName: node + linkType: hard + +"@types/graceful-fs@npm:^4.1.2": + version: 4.1.3 + resolution: "@types/graceful-fs@npm:4.1.3" + dependencies: + "@types/node": "*" + checksum: f13a1b177e44ceafd430f1d5f63b7e7fd2a430c47d5dd1a20d10b88c1c5cdb033d96d539a084de79663b8735f72d31e8aa574f10daa622b1df16285f6a057383 + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.1 + resolution: "@types/istanbul-lib-coverage@npm:2.0.1" + checksum: eb8abb8b56fb8f645c46c482c5a438d78fc44ce2eb82a47491d552eba94fc3d81bc404996f220921c16df3eb6126ec01890f4acaebd0f71249b37e110eacdd3a + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 1.1.1 + resolution: "@types/istanbul-lib-report@npm:1.1.1" + dependencies: + "@types/istanbul-lib-coverage": "*" + checksum: 56c995ede09cb2638e2d35d90d9455d6c046d4225fcfe2c547f42e5282474c3bfa1f083139f61d66740e29037d0428e54102784ef8417d6076aebc4be889af3c + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^1.1.1": + version: 1.1.1 + resolution: "@types/istanbul-reports@npm:1.1.1" + dependencies: + "@types/istanbul-lib-coverage": "*" + "@types/istanbul-lib-report": "*" + checksum: 06f41b4a681cec2c78f892e5400d43a2f3074b6308031d88788105f418d2a50ce054c750c8282079dedf2dfc17cf703dad908a9ef620409a988d308eccf2261c + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.0 + resolution: "@types/istanbul-reports@npm:3.0.0" + dependencies: + "@types/istanbul-lib-report": "*" + checksum: 286a18cff19c4dac4321b9ea406a3560faf577fb2a4df5abf9d577fa81ba831c9baa7d40d03f1daf7fe613d468546b731c00b844b72fad9834c583311a35bb7b + languageName: node + linkType: hard + +"@types/jest-when@npm:^2.7.3": + version: 2.7.3 + resolution: "@types/jest-when@npm:2.7.3" + dependencies: + "@types/jest": "*" + checksum: 0e01156250a6d8791d94bab1c9c5dab685a60edac47aa8769c50ea8440d97631f5397bd838c4c14175e56617b61d1ad59fc138e3c302560bb1eb69ede710a215 + languageName: node + linkType: hard + +"@types/jest@npm:*": + version: 27.0.2 + resolution: "@types/jest@npm:27.0.2" + dependencies: + jest-diff: ^27.0.0 + pretty-format: ^27.0.0 + checksum: 814ad5f5d2f277849f47e52906da4b745758e555630fc8cb46a071bde648eefeffb1b35710c530a8cea7fc4ea7c1d813812c120484bf7902ab6c5e473cdd49c9 + languageName: node + linkType: hard + +"@types/jest@npm:26.x": + version: 26.0.13 + resolution: "@types/jest@npm:26.0.13" + dependencies: + jest-diff: ^25.2.1 + pretty-format: ^25.2.1 + checksum: bf0c3538f8426d1affe7347ea9100e28d62819dc6bb09ef81acf1c6bc929bcb195ea0d6e66490358751ed670442d5a471561dd07dc7bee6b65dfe70c0574b3ba + languageName: node + linkType: hard + +"@types/jest@npm:^26.0.22": + version: 26.0.22 + resolution: "@types/jest@npm:26.0.22" + dependencies: + jest-diff: ^26.0.0 + pretty-format: ^26.0.0 + checksum: 8dee3e6778db4c1d4b89f6ecdaa7264fd24b445e567db3eef0efe271b724523827585547baa24f8bedcc8a431e4dffd63555996599f2556ba637e67bae7578cc + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.3": + version: 7.0.6 + resolution: "@types/json-schema@npm:7.0.6" + checksum: 3b1e5e049b065a41d2bc1f0c16e01dac5a4a1276bbe8b413657298f574d64a955d3b10bec9e7796fde0927f307e6fedbac1cf4da3604593c431899eea3ad0756 + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.7": + version: 7.0.11 + resolution: "@types/json-schema@npm:7.0.11" + checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d + languageName: node + linkType: hard + +"@types/json5@npm:^0.0.29": + version: 0.0.29 + resolution: "@types/json5@npm:0.0.29" + checksum: e60b153664572116dfea673c5bda7778dbff150498f44f998e34b5886d8afc47f16799280e4b6e241c0472aef1bc36add771c569c68fc5125fc2ae519a3eb9ac + languageName: node + linkType: hard + +"@types/minimatch@npm:*": + version: 3.0.5 + resolution: "@types/minimatch@npm:3.0.5" + checksum: c41d136f67231c3131cf1d4ca0b06687f4a322918a3a5adddc87ce90ed9dbd175a3610adee36b106ae68c0b92c637c35e02b58c8a56c424f71d30993ea220b92 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 10.14.15 + resolution: "@types/node@npm:10.14.15" + checksum: e49fa92f1e1f0e3a1c6cb1c2ce0fc7718123132dde04de62a4affcec79bb8ae7f65652bbc2641e30d53a48218cad277cf8cce478cf4410e2927ffe27d6c5299d + languageName: node + linkType: hard + +"@types/node@npm:11.11.6": + version: 11.11.6 + resolution: "@types/node@npm:11.11.6" + checksum: 075f1c011cf568e49701419acbcb55c24906b3bb5a34d9412a3b88f228a7a78401a5ad4d3e1cd6855c99aaea5ef96e37fc86ca097e50f06da92cf822befc1fff + languageName: node + linkType: hard + +"@types/node@npm:^14.14.31": + version: 14.14.31 + resolution: "@types/node@npm:14.14.31" + checksum: 5b9ab3660ee63abc57affc836c0d50b2941a862c5b6c241c02762d8e1ad610f6b0d350d7426218dc401b5abc7d6294ee1b475da7c331e486d59a5608d1a0b777 + languageName: node + linkType: hard + +"@types/normalize-package-data@npm:^2.4.0": + version: 2.4.0 + resolution: "@types/normalize-package-data@npm:2.4.0" + checksum: fd22ba86a186a033dbe173840fd2ad091032be6d48163198869d058821acca7373d9f39cfd0caf42f3b92bc737723814fe1b4e9e90eacaa913836610aa197d3b + languageName: node + linkType: hard + +"@types/pbkdf2@npm:^3.0.0": + version: 3.1.0 + resolution: "@types/pbkdf2@npm:3.1.0" + dependencies: + "@types/node": "*" + checksum: d15024b1957c21cf3b8887329d9bd8dfde754cf13a09d76ae25f1391cfc62bb8b8d7b760773c5dbaa748172fba8b3e0c3dbe962af6ccbd69b76df12a48dfba40 + languageName: node + linkType: hard + +"@types/prettier@npm:^2.0.0": + version: 2.1.0 + resolution: "@types/prettier@npm:2.1.0" + checksum: 8124dddff52f29926ac376bdf1758dfa0ddea54c264c8e99ff3d101f5b3cf0bb465dc0f447c8648739cee887ac1653f653c935f183b7e0d6fb1d947fab7bda93 + languageName: node + linkType: hard + +"@types/punycode@npm:^2.1.0": + version: 2.1.0 + resolution: "@types/punycode@npm:2.1.0" + checksum: 6835698becab395eb9ac186970fd7879aeb522ea72d516ef9d681d787989653fcc2439ecc07d48280e1ca11862773b806efeec3fdbd1207528829a83b65d4275 + languageName: node + linkType: hard + +"@types/secp256k1@npm:^4.0.1": + version: 4.0.1 + resolution: "@types/secp256k1@npm:4.0.1" + dependencies: + "@types/node": "*" + checksum: f89b71360e3fe5a02f649746832fc7af4c5c5b8f85897a2e74d5df40f2e02e4c3b8cca5c7c9b92282870bf03724ce142f817d5d07f5acf2f1c5769ab7403e65a + languageName: node + linkType: hard + +"@types/sinon@npm:^9.0.10": + version: 9.0.10 + resolution: "@types/sinon@npm:9.0.10" + dependencies: + "@types/sinonjs__fake-timers": "*" + checksum: d0fb5db239af2292e8d107ac349861e0d01784d09d86732e90113752beddd0258fff7a993194767b8b5944882654a7cf594d83bb881fc0a60858167667f34923 + languageName: node + linkType: hard + +"@types/sinonjs__fake-timers@npm:*": + version: 6.0.2 + resolution: "@types/sinonjs__fake-timers@npm:6.0.2" + checksum: fe62eec9cffa05aa159a036f671c8ba4117c6abe186d574c92e573117075825a756c56a4fe955bd874b77f6054fa25c1420eb22619312c43412f75f3d95f885f + languageName: node + linkType: hard + +"@types/stack-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "@types/stack-utils@npm:1.0.1" + checksum: 9dc052b575acfeca3f165fb19d87b7b2989d54ed7d64a7eeb0b7587bc5795ef1f2c2b1511a44dcf0831ef35b8ce3486f97fcbfdd50c01f68aa297de31502c9d9 + languageName: node + linkType: hard + +"@types/underscore@npm:*": + version: 1.9.2 + resolution: "@types/underscore@npm:1.9.2" + checksum: 7f1f6053d1bc61f5ada7b321690451409d4a5685660907e943bb8b9143fbb3b2f612c103d7cdd849884659ecc03b75b632c82d951dba3ff4600fac708636ff62 + languageName: node + linkType: hard + +"@types/uuid@npm:^8.3.0": + version: 8.3.0 + resolution: "@types/uuid@npm:8.3.0" + checksum: 0f46b15020b9c252473fb327a6491fd7d238c7b5bbaebd32195a0de178db040f6abb96902507ba25dd4a673cdd9cc28b8880512dba54561e8bc60d8f326c1e30 + languageName: node + linkType: hard + +"@types/web3@npm:^1.0.6": + version: 1.0.19 + resolution: "@types/web3@npm:1.0.19" + dependencies: + "@types/bn.js": "*" + "@types/underscore": "*" + checksum: 25a78e80052cca8abe5edf15c0ae92854d00d1bec15283486a2535ab673345b0be090e39cc9a86822be17ddd812fa76cbfd869be21bb944d2faaf2922e2a836a + languageName: node + linkType: hard + +"@types/yargs-parser@npm:*": + version: 13.0.0 + resolution: "@types/yargs-parser@npm:13.0.0" + checksum: 22e2ed1e6d4821a24349fa4ac537e1ee823f3dbfc37e3792d6be7bc1ccafddd8c95e2a1cfa93d6e1f533b8716276b3b5dd8bcd83b90233e1c5434a63c35ae519 + languageName: node + linkType: hard + +"@types/yargs@npm:^15.0.0": + version: 15.0.4 + resolution: "@types/yargs@npm:15.0.4" + dependencies: + "@types/yargs-parser": "*" + checksum: 8daf7a70316d79e95fba9774930e42009d6b8fa7b89851e66d625f0eb00abf3b7208d032392fae4a8350a037946eed3f27acb09266a67816fe4b918b7fa53316 + languageName: node + linkType: hard + +"@types/yargs@npm:^16.0.0": + version: 16.0.4 + resolution: "@types/yargs@npm:16.0.4" + dependencies: + "@types/yargs-parser": "*" + checksum: caa21d2c957592fe2184a8368c8cbe5a82a6c2e2f2893722e489f842dc5963293d2f3120bc06fe3933d60a3a0d1e2eb269649fd6b1947fe1820f8841ba611dd9 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/eslint-plugin@npm:4.33.0" + dependencies: + "@typescript-eslint/experimental-utils": 4.33.0 + "@typescript-eslint/scope-manager": 4.33.0 + debug: ^4.3.1 + functional-red-black-tree: ^1.0.1 + ignore: ^5.1.8 + regexpp: ^3.1.0 + semver: ^7.3.5 + tsutils: ^3.21.0 + peerDependencies: + "@typescript-eslint/parser": ^4.0.0 + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: d74855d0a5ffe0b2f362ec02fcd9301d39a53fb4155b9bd0cb15a0a31d065143129ebf98df9d86af4b6f74de1d423a4c0d8c0095520844068117453afda5bc4f + languageName: node + linkType: hard + +"@typescript-eslint/experimental-utils@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/experimental-utils@npm:4.33.0" + dependencies: + "@types/json-schema": ^7.0.7 + "@typescript-eslint/scope-manager": 4.33.0 + "@typescript-eslint/types": 4.33.0 + "@typescript-eslint/typescript-estree": 4.33.0 + eslint-scope: ^5.1.1 + eslint-utils: ^3.0.0 + peerDependencies: + eslint: "*" + checksum: f859800ada0884f92db6856f24efcb1d073ac9883ddc2b1aa9339f392215487895bed8447ebce3741e8141bb32e545244abef62b73193ba9a8a0527c523aabae + languageName: node + linkType: hard + +"@typescript-eslint/experimental-utils@npm:^4.0.1": + version: 4.15.2 + resolution: "@typescript-eslint/experimental-utils@npm:4.15.2" + dependencies: + "@types/json-schema": ^7.0.3 + "@typescript-eslint/scope-manager": 4.15.2 + "@typescript-eslint/types": 4.15.2 + "@typescript-eslint/typescript-estree": 4.15.2 + eslint-scope: ^5.0.0 + eslint-utils: ^2.0.0 + peerDependencies: + eslint: "*" + checksum: 55496b02a3ebb845c693acb0df68cbc27f604d8e2931924e2c6c28635393d6166cc6de0f639aaab3b5776f0a3a729cb24775033a6f9c39e316b57af2101fe875 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/parser@npm:4.33.0" + dependencies: + "@typescript-eslint/scope-manager": 4.33.0 + "@typescript-eslint/types": 4.33.0 + "@typescript-eslint/typescript-estree": 4.33.0 + debug: ^4.3.1 + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 102457eae1acd516211098fea081c8a2ed728522bbda7f5a557b6ef23d88970514f9a0f6285d53fca134d3d4d7d17822b5d5e12438d5918df4d1f89cc9e67d57 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:4.15.2": + version: 4.15.2 + resolution: "@typescript-eslint/scope-manager@npm:4.15.2" + dependencies: + "@typescript-eslint/types": 4.15.2 + "@typescript-eslint/visitor-keys": 4.15.2 + checksum: eaf6a81a5a89aaf411020bda09efa4a4eee182d551853ad060f8d88ae096db0c23ea0f6804a553ef67fec6187661479e5c2c012bbc3c5174f858dfe60af5d293 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/scope-manager@npm:4.33.0" + dependencies: + "@typescript-eslint/types": 4.33.0 + "@typescript-eslint/visitor-keys": 4.33.0 + checksum: 9a25fb7ba7c725ea7227a24d315b0f6aacbad002e2549a049edf723c1d3615c22f5c301f0d7d615b377f2cdf2f3519d97e79af0c459de6ef8d2aaf0906dff13e + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:4.15.2": + version: 4.15.2 + resolution: "@typescript-eslint/types@npm:4.15.2" + checksum: 011ba819fa8ba7a24e8bba490a484396485cea4831ee391090b101553aab096fadb3b4f466a741738f28d0788e340adb1179540248d34b24539f6ff97617a165 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/types@npm:4.33.0" + checksum: 3baae1ca35872421b4eb60f5d3f3f32dc1d513f2ae0a67dee28c7d159fd7a43ed0d11a8a5a0f0c2d38507ffa036fc7c511cb0f18a5e8ac524b3ebde77390ec53 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:4.15.2": + version: 4.15.2 + resolution: "@typescript-eslint/typescript-estree@npm:4.15.2" + dependencies: + "@typescript-eslint/types": 4.15.2 + "@typescript-eslint/visitor-keys": 4.15.2 + debug: ^4.1.1 + globby: ^11.0.1 + is-glob: ^4.0.1 + semver: ^7.3.2 + tsutils: ^3.17.1 + peerDependenciesMeta: + typescript: + optional: true + checksum: f80b60f7b244460ac135fc54f3ae403fb8938c23246fe50b92431290c8713a7a582322e0d57d903674abee73fa5f9b0231cf9216d261d98047951fdc6768192f + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/typescript-estree@npm:4.33.0" + dependencies: + "@typescript-eslint/types": 4.33.0 + "@typescript-eslint/visitor-keys": 4.33.0 + debug: ^4.3.1 + globby: ^11.0.3 + is-glob: ^4.0.1 + semver: ^7.3.5 + tsutils: ^3.21.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 2566984390c76bd95f43240057215c068c69769e406e27aba41e9f21fd300074d6772e4983fa58fe61e80eb5550af1548d2e31e80550d92ba1d051bb00fe6f5c + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:4.15.2": + version: 4.15.2 + resolution: "@typescript-eslint/visitor-keys@npm:4.15.2" + dependencies: + "@typescript-eslint/types": 4.15.2 + eslint-visitor-keys: ^2.0.0 + checksum: 0d7932978cfa688b5ac3edc4fdc38bf3e6571dfb5c923e40295eee58e5fef072b72ed4f6f9c654a803007adbbf2298e89eff1c1f4a25fb494af9a4c93444879d + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:4.33.0": + version: 4.33.0 + resolution: "@typescript-eslint/visitor-keys@npm:4.33.0" + dependencies: + "@typescript-eslint/types": 4.33.0 + eslint-visitor-keys: ^2.0.0 + checksum: 59953e474ad4610c1aa23b2b1a964445e2c6201521da6367752f37939d854352bbfced5c04ea539274065e012b1337ba3ffa49c2647a240a4e87155378ba9873 + languageName: node + linkType: hard + +"abab@npm:^2.0.0": + version: 2.0.5 + resolution: "abab@npm:2.0.5" + checksum: 0ec951b46d5418c2c2f923021ec193eaebdb4e802ffd5506286781b454be722a13a8430f98085cd3e204918401d9130ec6cc8f5ae19be315b3a0e857d83196e1 + languageName: node + linkType: hard + +"abab@npm:^2.0.3": + version: 2.0.4 + resolution: "abab@npm:2.0.4" + checksum: 2aab16527f1ff727ab416ab0d9b62d5fd79341b972fcd2408253bec2b83585295dae8e4228f2a564da0bee9ad6c82d6aaa14f4d9988d0dfa6eabdaba362765c0 + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 + languageName: node + linkType: hard + +"abort-controller@npm:^3.0.0": + version: 3.0.0 + resolution: "abort-controller@npm:3.0.0" + dependencies: + event-target-shim: ^5.0.0 + checksum: 170bdba9b47b7e65906a28c8ce4f38a7a369d78e2271706f020849c1bfe0ee2067d4261df8bbb66eb84f79208fd5b710df759d64191db58cfba7ce8ef9c54b75 + languageName: node + linkType: hard + +"abstract-leveldown@npm:~2.6.0": + version: 2.6.3 + resolution: "abstract-leveldown@npm:2.6.3" + dependencies: + xtend: ~4.0.0 + checksum: 87b18580467c303c34c305620e2c3227010f64187d6b1cd60c2d1b9adc058b0c4de716e111e9493aaad0080cb7836601032c5084990cd713f86b6a78f1fab791 + languageName: node + linkType: hard + +"abstract-leveldown@npm:~2.7.1": + version: 2.7.2 + resolution: "abstract-leveldown@npm:2.7.2" + dependencies: + xtend: ~4.0.0 + checksum: 97c45a05d8b5d24edf3855c1f9a19f919c4a189e387929745289a53116c80638339a7d4e50ad76d0ad2900166adaeaf2e0350dcdcd453e783cd8f04fd9bea17a + languageName: node + linkType: hard + +"acorn-globals@npm:^4.3.2": + version: 4.3.4 + resolution: "acorn-globals@npm:4.3.4" + dependencies: + acorn: ^6.0.1 + acorn-walk: ^6.0.1 + checksum: c31bfde102d8a104835e9591c31dd037ec771449f9c86a6b1d2ac3c7c336694f828cfabba7687525b094f896a854affbf1afe6e1b12c0d998be6bab5d49c9663 + languageName: node + linkType: hard + +"acorn-globals@npm:^6.0.0": + version: 6.0.0 + resolution: "acorn-globals@npm:6.0.0" + dependencies: + acorn: ^7.1.1 + acorn-walk: ^7.1.1 + checksum: 72d95e5b5e585f9acd019b993ab8bbba68bb3cbc9d9b5c1ebb3c2f1fe5981f11deababfb4949f48e6262f9c57878837f5958c0cca396f81023814680ca878042 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.1": + version: 5.3.1 + resolution: "acorn-jsx@npm:5.3.1" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: daf441a9d7b59c0ea1f7fe2934c48aca604a007455129ce35fa62ec3d4c8363e2efc2d4da636d18ce0049979260ba07d8b42bc002ae95182916d2c90901529c2 + languageName: node + linkType: hard + +"acorn-walk@npm:^6.0.1": + version: 6.2.0 + resolution: "acorn-walk@npm:6.2.0" + checksum: ea241a5d96338f1e8030aafae72a91ff0ec4360e2775e44a2fdb2eb618b07fc309e000a5126056631ac7f00fe8bd9bbd23fcb6d018eee4ba11086eb36c1b2e61 + languageName: node + linkType: hard + +"acorn-walk@npm:^7.1.1": + version: 7.2.0 + resolution: "acorn-walk@npm:7.2.0" + checksum: 9252158a79b9d92f1bc0dd6acc0fcfb87a67339e84bcc301bb33d6078936d27e35d606b4d35626d2962cd43c256d6f27717e70cbe15c04fff999ab0b2260b21f + languageName: node + linkType: hard + +"acorn@npm:^6.0.1": + version: 6.4.1 + resolution: "acorn@npm:6.4.1" + bin: + acorn: bin/acorn + checksum: 5ea4faa1fd30712b1d725da65e9612a93e566f40b0125df955c34669c33b81531e053a3c1501966e11217ca6026a0165f970e73c4eb8d3be7a957e4bef4ab67c + languageName: node + linkType: hard + +"acorn@npm:^7.1.0, acorn@npm:^7.4.0": + version: 7.4.1 + resolution: "acorn@npm:7.4.1" + bin: + acorn: bin/acorn + checksum: 1860f23c2107c910c6177b7b7be71be350db9e1080d814493fae143ae37605189504152d1ba8743ba3178d0b37269ce1ffc42b101547fdc1827078f82671e407 + languageName: node + linkType: hard + +"acorn@npm:^7.1.1": + version: 7.4.0 + resolution: "acorn@npm:7.4.0" + bin: + acorn: bin/acorn + checksum: 1cbf7cae01f8fdc9ee2c65294b7f0a741a67760b22fee4ea3bbbffd0102fc76b07cd7437494221df7f7e51e75fdff3dae4bf11763d29e310e779fc61d3378ad5 + languageName: node + linkType: hard + +"aes-js@npm:3.0.0": + version: 3.0.0 + resolution: "aes-js@npm:3.0.0" + checksum: 251e26d533cd1a915b44896b17d5ed68c24a02484cfdd2e74ec700a309267db96651ea4eb657bf20aac32a3baa61f6e34edf8e2fec2de440a655da9942d334b8 + languageName: node + linkType: hard + +"aes-js@npm:^3.1.1": + version: 3.1.2 + resolution: "aes-js@npm:3.1.2" + checksum: 062154d50b1e433cc8c3b8ca7879f3a6375d5e79c2a507b2b6c4ec920b4cd851bf2afa7f65c98761a9da89c0ab618cbe6529e8e9a1c71f93290b53128fb8f712 + languageName: node + linkType: hard + +"agent-base@npm:6, agent-base@npm:^6.0.2": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: 4 + checksum: f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d + languageName: node + linkType: hard + +"agentkeepalive@npm:^4.2.1": + version: 4.2.1 + resolution: "agentkeepalive@npm:4.2.1" + dependencies: + debug: ^4.1.0 + depd: ^1.1.2 + humanize-ms: ^1.2.1 + checksum: 39cb49ed8cf217fd6da058a92828a0a84e0b74c35550f82ee0a10e1ee403c4b78ade7948be2279b188b7a7303f5d396ea2738b134731e464bf28de00a4f72a18 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: ^2.0.0 + indent-string: ^4.0.0 + checksum: 1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 + languageName: node + linkType: hard + +"ajv@npm:^6.10.0, ajv@npm:^6.12.4, ajv@npm:^6.5.5": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: ^3.1.1 + fast-json-stable-stringify: ^2.0.0 + json-schema-traverse: ^0.4.1 + uri-js: ^4.2.2 + checksum: 874972efe5c4202ab0a68379481fbd3d1b5d0a7bd6d3cc21d40d3536ebff3352a2a1fabb632d4fd2cc7fe4cbdcd5ed6782084c9bbf7f32a1536d18f9da5007d4 + languageName: node + linkType: hard + +"ajv@npm:^7.0.2": + version: 7.1.0 + resolution: "ajv@npm:7.1.0" + dependencies: + fast-deep-equal: ^3.1.1 + json-schema-traverse: ^1.0.0 + require-from-string: ^2.0.2 + uri-js: ^4.2.2 + checksum: 2d91e6cf152e24f1ac0f27e2cfd6fbd2a8c64bd5ae8985d47e5a8211080ba88f0b1278201c43c42b5af3094b69a823c62226c6c96fde8a93f9c532106fa8003b + languageName: node + linkType: hard + +"ansi-colors@npm:^4.1.1": + version: 4.1.1 + resolution: "ansi-colors@npm:4.1.1" + checksum: 138d04a51076cb085da0a7e2d000c5c0bb09f6e772ed5c65c53cb118d37f6c5f1637506d7155fb5f330f0abcf6f12fa2e489ac3f8cdab9da393bf1bb4f9a32b0 + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.2.1": + version: 4.3.1 + resolution: "ansi-escapes@npm:4.3.1" + dependencies: + type-fest: ^0.11.0 + checksum: c4962c1791cc4e29efb9976680bad7b23f322ca039e588406680fffc8b6bc6e223721193eb481dab076309d9a7371bbfc4e835efe5fe267e3395ffa047da239d + languageName: node + linkType: hard + +"ansi-regex@npm:^2.0.0": + version: 2.1.1 + resolution: "ansi-regex@npm:2.1.1" + checksum: 190abd03e4ff86794f338a31795d262c1dfe8c91f7e01d04f13f646f1dcb16c5800818f886047876f1272f065570ab86b24b99089f8b68a0e11ff19aed4ca8f1 + languageName: node + linkType: hard + +"ansi-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "ansi-regex@npm:3.0.0" + checksum: 2ad11c416f81c39f5c65eafc88cf1d71aa91d76a2f766e75e457c2a3c43e8a003aadbf2966b61c497aa6a6940a36412486c975b3270cdfc3f413b69826189ec3 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.0": + version: 5.0.0 + resolution: "ansi-regex@npm:5.0.0" + checksum: b1bb4e992a5d96327bb4f72eaba9f8047f1d808d273ad19d399e266bfcc7fb19a4d1a127a32f7bc61fe46f1a94a4d04ec4c424e3fbe184929aa866323d8ed4ce + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: ^1.9.0 + checksum: d85ade01c10e5dd77b6c89f34ed7531da5830d2cb5882c645f330079975b716438cd7ebb81d0d6e6b4f9c577f19ae41ab55f07f19786b02f9dfd9e0377395665 + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.2.1 + resolution: "ansi-styles@npm:4.2.1" + dependencies: + "@types/color-name": ^1.1.1 + color-convert: ^2.0.1 + checksum: 7c74dbc7ec912b9e45dacbfaa7e2513bea6aa24d5357a0cd3255e7f83ecfc62e1454c77ab150a8df60de700c83c17fbbf040e7c204b4b6fc7aa250c8afcb865f + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: d7f4e97ce0623aea6bc0d90dcd28881ee04cba06c570b97fd3391bd7a268eedfd9d5e2dd4fdcbdd82b8105df5faf6f24aaedc08eaf3da898e702db5948f63469 + languageName: node + linkType: hard + +"anymatch@npm:^2.0.0": + version: 2.0.0 + resolution: "anymatch@npm:2.0.0" + dependencies: + micromatch: ^3.1.4 + normalize-path: ^2.1.1 + checksum: f7bb1929842b4585cdc28edbb385767d499ce7d673f96a8f11348d2b2904592ffffc594fe9229b9a1e9e4dccb9329b7692f9f45e6a11dcefbb76ecdc9ab740f6 + languageName: node + linkType: hard + +"anymatch@npm:^3.0.3": + version: 3.1.1 + resolution: "anymatch@npm:3.1.1" + dependencies: + normalize-path: ^3.0.0 + picomatch: ^2.0.4 + checksum: c951385862bf114807d594bdffccb769bd7219ddc14f24fc135cde075ad2477a97991567b8bb5032d4f279f96897f0c2af6468a350a6c674ac0a5ee3b62a26d6 + languageName: node + linkType: hard + +"aproba@npm:^1.0.3": + version: 1.2.0 + resolution: "aproba@npm:1.2.0" + checksum: 0fca141966559d195072ed047658b6e6c4fe92428c385dd38e288eacfc55807e7b4989322f030faff32c0f46bb0bc10f1e0ac32ec22d25315a1e5bbc0ebb76dc + languageName: node + linkType: hard + +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 + languageName: node + linkType: hard + +"are-we-there-yet@npm:^3.0.0": + version: 3.0.0 + resolution: "are-we-there-yet@npm:3.0.0" + dependencies: + delegates: ^1.0.0 + readable-stream: ^3.6.0 + checksum: 348edfdd931b0b50868b55402c01c3f64df1d4c229ab6f063539a5025fd6c5f5bb8a0cab409bbed8d75d34762d22aa91b7c20b4204eb8177063158d9ba792981 + languageName: node + linkType: hard + +"are-we-there-yet@npm:~1.1.2": + version: 1.1.5 + resolution: "are-we-there-yet@npm:1.1.5" + dependencies: + delegates: ^1.0.0 + readable-stream: ^2.0.6 + checksum: 9a746b1dbce4122f44002b0c39fbba5b2c6f52c00e88b6ccba6fc68652323f8a1355a20e8ab94846995626d8de3bf67669a3b4a037dff0885db14607168f2b15 + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: ~1.0.2 + checksum: 7ca6e45583a28de7258e39e13d81e925cfa25d7d4aacbf806a382d3c02fcb13403a07fb8aeef949f10a7cfe4a62da0e2e807b348a5980554cc28ee573ef95945 + languageName: node + linkType: hard + +"arr-diff@npm:^4.0.0": + version: 4.0.0 + resolution: "arr-diff@npm:4.0.0" + checksum: ea7c8834842ad3869297f7915689bef3494fd5b102ac678c13ffccab672d3d1f35802b79e90c4cfec2f424af3392e44112d1ccf65da34562ed75e049597276a0 + languageName: node + linkType: hard + +"arr-flatten@npm:^1.1.0": + version: 1.1.0 + resolution: "arr-flatten@npm:1.1.0" + checksum: 963fe12564fca2f72c055f3f6c206b9e031f7c433a0c66ca9858b484821f248c5b1e5d53c8e4989d80d764cd776cf6d9b160ad05f47bdc63022bfd63b5455e22 + languageName: node + linkType: hard + +"arr-union@npm:^3.1.0": + version: 3.1.0 + resolution: "arr-union@npm:3.1.0" + checksum: b5b0408c6eb7591143c394f3be082fee690ddd21f0fdde0a0a01106799e847f67fcae1b7e56b0a0c173290e29c6aca9562e82b300708a268bc8f88f3d6613cb9 + languageName: node + linkType: hard + +"array-equal@npm:^1.0.0": + version: 1.0.0 + resolution: "array-equal@npm:1.0.0" + checksum: 3f68045806357db9b2fa1ad583e42a659de030633118a0cd35ee4975cb20db3b9a3d36bbec9b5afe70011cf989eefd215c12fe0ce08c498f770859ca6e70688a + languageName: node + linkType: hard + +"array-includes@npm:^3.1.1": + version: 3.1.1 + resolution: "array-includes@npm:3.1.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.0 + is-string: ^1.0.5 + checksum: e6d35d400c156a7242eb7fdeac5a64fe2d2c96613c55daea015d828691d8f26c2bd1b34f9786728fb3b00f2d0211374ecf2e1c5f8a56beb434bf8b2a9725235f + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 5bee12395cba82da674931df6d0fea23c4aa4660cb3b338ced9f828782a65caa232573e6bf3968f23e0c5eb301764a382cef2f128b170a9dc59de0e36c39f98d + languageName: node + linkType: hard + +"array-unique@npm:^0.3.2": + version: 0.3.2 + resolution: "array-unique@npm:0.3.2" + checksum: da344b89cfa6b0a5c221f965c21638bfb76b57b45184a01135382186924f55973cd9b171d4dad6bf606c6d9d36b0d721d091afdc9791535ead97ccbe78f8a888 + languageName: node + linkType: hard + +"array.prototype.flat@npm:^1.2.3": + version: 1.2.3 + resolution: "array.prototype.flat@npm:1.2.3" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.0-next.1 + checksum: ba4cf6e53871902a09fa7f56ff097e836f18d59de0219fe271e3d1a895a7ea98a62fa946cbdae95e73b774991206a32a26822227d081bd2cc5c771b95f851753 + languageName: node + linkType: hard + +"asn1@npm:~0.2.3": + version: 0.2.4 + resolution: "asn1@npm:0.2.4" + dependencies: + safer-buffer: ~2.1.0 + checksum: aa5d6f77b1e0597df53824c68cfe82d1d89ce41cb3520148611f025fbb3101b2d25dd6a40ad34e4fac10f6b19ed5e8628cd4b7d212261e80e83f02b39ee5663c + languageName: node + linkType: hard + +"assert-plus@npm:1.0.0, assert-plus@npm:^1.0.0": + version: 1.0.0 + resolution: "assert-plus@npm:1.0.0" + checksum: 19b4340cb8f0e6a981c07225eacac0e9d52c2644c080198765d63398f0075f83bbc0c8e95474d54224e297555ad0d631c1dcd058adb1ddc2437b41a6b424ac64 + languageName: node + linkType: hard + +"assert@npm:^2.0.0": + version: 2.0.0 + resolution: "assert@npm:2.0.0" + dependencies: + es6-object-assign: ^1.1.0 + is-nan: ^1.2.1 + object-is: ^1.0.1 + util: ^0.12.0 + checksum: bb91f181a86d10588ee16c5e09c280f9811373974c29974cbe401987ea34e966699d7989a812b0e19377b511ea0bc627f5905647ce569311824848ede382cae8 + languageName: node + linkType: hard + +"assign-symbols@npm:^1.0.0": + version: 1.0.0 + resolution: "assign-symbols@npm:1.0.0" + checksum: c0eb895911d05b6b2d245154f70461c5e42c107457972e5ebba38d48967870dee53bcdf6c7047990586daa80fab8dab3cc6300800fbd47b454247fdedd859a2c + languageName: node + linkType: hard + +"astral-regex@npm:^2.0.0": + version: 2.0.0 + resolution: "astral-regex@npm:2.0.0" + checksum: 876231688c66400473ba505731df37ea436e574dd524520294cc3bbc54ea40334865e01fa0d074d74d036ee874ee7e62f486ea38bc421ee8e6a871c06f011766 + languageName: node + linkType: hard + +"async-eventemitter@npm:^0.2.2": + version: 0.2.4 + resolution: "async-eventemitter@npm:0.2.4" + dependencies: + async: ^2.4.0 + checksum: b9e77e0f58ebd7188c50c23d613d1263e0ab501f5e677e02b57cc97d7032beaf60aafa189887e7105569c791e212df4af00b608be1e9a4c425911d577124911e + languageName: node + linkType: hard + +"async-limiter@npm:~1.0.0": + version: 1.0.1 + resolution: "async-limiter@npm:1.0.1" + checksum: 2b849695b465d93ad44c116220dee29a5aeb63adac16c1088983c339b0de57d76e82533e8e364a93a9f997f28bbfc6a92948cefc120652bd07f3b59f8d75cf2b + languageName: node + linkType: hard + +"async-mutex@npm:^0.2.6": + version: 0.2.6 + resolution: "async-mutex@npm:0.2.6" + dependencies: + tslib: ^2.0.0 + checksum: f50102e0c57f6a958528cff7dff13da070897f17107b42274417a7248905b927b6e51c3387f8aed1f5cd6005b0e692d64a83a0789be602e4e7e7da4afe08b889 + languageName: node + linkType: hard + +"async@npm:^1.4.2": + version: 1.5.2 + resolution: "async@npm:1.5.2" + checksum: fe5d6214d8f15bd51eee5ae8ec5079b228b86d2d595f47b16369dec2e11b3ff75a567bb5f70d12d79006665fbbb7ee0a7ec0e388524eefd454ecbe651c124ebd + languageName: node + linkType: hard + +"async@npm:^2.0.1, async@npm:^2.1.2, async@npm:^2.4.0, async@npm:^2.5.0": + version: 2.6.3 + resolution: "async@npm:2.6.3" + dependencies: + lodash: ^4.17.14 + checksum: 5e5561ff8fca807e88738533d620488ac03a5c43fce6c937451f7e35f943d33ad06c24af3f681a48cca3d2b0002b3118faff0a128dc89438a9bf0226f712c499 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 7b78c451df768adba04e2d02e63e2d0bf3b07adcd6e42b4cf665cb7ce899bedd344c69a1dcbce355b5f972d597b25aaa1c1742b52cffd9caccb22f348114f6be + languageName: node + linkType: hard + +"atob@npm:^2.1.1": + version: 2.1.2 + resolution: "atob@npm:2.1.2" + bin: + atob: bin/atob.js + checksum: dfeeeb70090c5ebea7be4b9f787f866686c645d9f39a0d184c817252d0cf08455ed25267d79c03254d3be1f03ac399992a792edcd5ffb9c91e097ab5ef42833a + languageName: node + linkType: hard + +"available-typed-arrays@npm:^1.0.5": + version: 1.0.5 + resolution: "available-typed-arrays@npm:1.0.5" + checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a + languageName: node + linkType: hard + +"aws-sign2@npm:~0.7.0": + version: 0.7.0 + resolution: "aws-sign2@npm:0.7.0" + checksum: b148b0bb0778098ad8cf7e5fc619768bcb51236707ca1d3e5b49e41b171166d8be9fdc2ea2ae43d7decf02989d0aaa3a9c4caa6f320af95d684de9b548a71525 + languageName: node + linkType: hard + +"aws4@npm:^1.8.0": + version: 1.8.0 + resolution: "aws4@npm:1.8.0" + checksum: 3314f3607f2b79028500e8eb98e1ba30a4fa6e2c5bedb7c471ad8ace444899f30cea32de31ec86ab4a1e34b65d523482c51a9895c6fc229c3bf75e50b68afeae + languageName: node + linkType: hard + +"babel-jest@npm:^26.3.0": + version: 26.3.0 + resolution: "babel-jest@npm:26.3.0" + dependencies: + "@jest/transform": ^26.3.0 + "@jest/types": ^26.3.0 + "@types/babel__core": ^7.1.7 + babel-plugin-istanbul: ^6.0.0 + babel-preset-jest: ^26.3.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + slash: ^3.0.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: c3dcf868f30699976d160d83fa2600fdd08e52fcb2754a08b0b9fba2cfdfc1de90290c0fb7270d74fe0d1115334ce421e448b7d902abbdc915db86d6bad55d5c + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:^6.0.0": + version: 6.0.0 + resolution: "babel-plugin-istanbul@npm:6.0.0" + dependencies: + "@babel/helper-plugin-utils": ^7.0.0 + "@istanbuljs/load-nyc-config": ^1.0.0 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-instrument: ^4.0.0 + test-exclude: ^6.0.0 + checksum: bc586cf088ec471a98a474ef0e9361ace61947da2a3e54162f1e1ab712a1a81a88007639e8aff7db2fc8678ae7c671e696e6edd6ccf72db8e6af86f0628d5a08 + languageName: node + linkType: hard + +"babel-plugin-jest-hoist@npm:^26.2.0": + version: 26.2.0 + resolution: "babel-plugin-jest-hoist@npm:26.2.0" + dependencies: + "@babel/template": ^7.3.3 + "@babel/types": ^7.3.3 + "@types/babel__core": ^7.0.0 + "@types/babel__traverse": ^7.0.6 + checksum: 14bc8a0b746fc3c1234a81fee092bc426d1d59284c3189554ca8057969eda10f6ea4590a66c6ab98cbc87c9f68f6049feec3bd8705a3a6cd1e9ca5a57de56584 + languageName: node + linkType: hard + +"babel-preset-current-node-syntax@npm:^0.1.3": + version: 0.1.3 + resolution: "babel-preset-current-node-syntax@npm:0.1.3" + 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 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 4ae16e45c2a3db05fcfe47b3d0803d8f7d799dd11de8a76bde36b39dacf86179fa9fea1cf19eb960243a9d8a73d1c4792e234883dfa9e4a7e0592d32c2e6c658 + languageName: node + linkType: hard + +"babel-preset-jest@npm:^26.3.0": + version: 26.3.0 + resolution: "babel-preset-jest@npm:26.3.0" + dependencies: + babel-plugin-jest-hoist: ^26.2.0 + babel-preset-current-node-syntax: ^0.1.3 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 57bb106dcecfd3487fd558b28ab30d52269c98fea3db80c5324a20e26021dae4cac78f7e0b02c25aba21f06a9cac9efbb48037ae467dce9b26defd51c5dfa9e2 + languageName: node + linkType: hard + +"babel-runtime@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-runtime@npm:6.26.0" + dependencies: + core-js: ^2.4.0 + regenerator-runtime: ^0.11.0 + checksum: 8aeade94665e67a73c1ccc10f6fd42ba0c689b980032b70929de7a6d9a12eb87ef51902733f8fefede35afea7a5c3ef7e916a64d503446c1eedc9e3284bd3d50 + languageName: node + linkType: hard + +"backoff@npm:^2.5.0": + version: 2.5.0 + resolution: "backoff@npm:2.5.0" + dependencies: + precond: 0.2 + checksum: ccdcf2a26acd9379d0d4f09e3fb3b7ee34dee94f07ab74d1e38b38f89a3675d9f3cbebb142d9c61c655f4c9eb63f1d6ec28cebeb3dc9215efd8fe7cef92725b9 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 + languageName: node + linkType: hard + +"base-x@npm:^1.1.0": + version: 1.1.0 + resolution: "base-x@npm:1.1.0" + checksum: 54e24c32919442627fe48aaa76338f8ff02187b42eae6e75e829eef3e44e37f43b128a271733322a7c798626ac7f4fb06184db2ef0ce1da7f37c448ef6f76e26 + languageName: node + linkType: hard + +"base-x@npm:^3.0.2": + version: 3.0.8 + resolution: "base-x@npm:3.0.8" + dependencies: + safe-buffer: ^5.0.1 + checksum: 92b95493e636999d6505d9c5abfa049fce1bdde9327f733c5984e712cdb98482d2d45410e4ac1d04e5a004545e46898674f405db04c9555ba3e35fc00b150bf4 + languageName: node + linkType: hard + +"base58check@npm:^2.0.0": + version: 2.0.0 + resolution: "base58check@npm:2.0.0" + dependencies: + bs58: ^3.0.0 + checksum: 19f77522a38d66d5c9cc16411880e258899a6807b31477e3ac33ebaa64555126e9b29e7d5d2be88748aae8b1d05f91e5eb3aef4847a033af25b8a0c0f995b037 + languageName: node + linkType: hard + +"base64-js@npm:^1.0.2": + version: 1.3.1 + resolution: "base64-js@npm:1.3.1" + checksum: 957b9ced0ea1b39588a117193f801b045a5fb2d6f1b9943dd304bcad46e5681bf837fe092105692b11653658e8443764139d6b11d3c4037093b96e8db4e1dbb2 + languageName: node + linkType: hard + +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 + languageName: node + linkType: hard + +"base@npm:^0.11.1": + version: 0.11.2 + resolution: "base@npm:0.11.2" + dependencies: + cache-base: ^1.0.1 + class-utils: ^0.3.5 + component-emitter: ^1.2.1 + define-property: ^1.0.0 + isobject: ^3.0.1 + mixin-deep: ^1.2.0 + pascalcase: ^0.1.1 + checksum: a4a146b912e27eea8f66d09cb0c9eab666f32ce27859a7dfd50f38cd069a2557b39f16dba1bc2aecb3b44bf096738dd207b7970d99b0318423285ab1b1994edd + languageName: node + linkType: hard + +"bcrypt-pbkdf@npm:^1.0.0": + version: 1.0.2 + resolution: "bcrypt-pbkdf@npm:1.0.2" + dependencies: + tweetnacl: ^0.14.3 + checksum: 4edfc9fe7d07019609ccf797a2af28351736e9d012c8402a07120c4453a3b789a15f2ee1530dc49eee8f7eb9379331a8dd4b3766042b9e502f74a68e7f662291 + languageName: node + linkType: hard + +"bech32@npm:1.1.4": + version: 1.1.4 + resolution: "bech32@npm:1.1.4" + checksum: 0e98db619191548390d6f09ff68b0253ba7ae6a55db93dfdbb070ba234c1fd3308c0606fbcc95fad50437227b10011e2698b89f0181f6e7f845c499bd14d0f4b + languageName: node + linkType: hard "bignumber.js@git+https://github.com/frozeman/bignumber.js-nolookahead.git": - version "2.0.7" - resolved "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934" - -bindings@^1.2.1, bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bip66@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" - integrity sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI= - dependencies: - safe-buffer "^5.0.1" - -blakejs@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5" - integrity sha1-ad+S75U6qIylGjLfarHFShVfx6U= - -bn.js@4.11.6: - version "4.11.6" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" - integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU= - -bn.js@^4.10.0, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^4.8.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.1.2: - version "5.1.3" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" - integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== - -bn.js@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-passworder@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/browser-passworder/-/browser-passworder-2.0.3.tgz#6fdd2082e516a176edbcb3dcee0b7f9fce4f7917" - integrity sha1-b90gguUWoXbtvLPc7gt/n85PeRc= - dependencies: - browserify-unibabel "^3.0.0" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserify-aes@^1.0.6, browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-sha3@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/browserify-sha3/-/browserify-sha3-0.0.4.tgz#086c47b8c82316c9d47022c26185954576dd8e26" - integrity sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY= - dependencies: - js-sha3 "^0.6.1" - safe-buffer "^5.1.1" - -browserify-unibabel@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/browserify-unibabel/-/browserify-unibabel-3.0.0.tgz#5a6b8f0f704ce388d3927df47337e25830f71dda" - integrity sha1-WmuPD3BM44jTkn30czfiWDD3Hdo= - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bs58@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-3.1.0.tgz#d4c26388bf4804cac714141b1945aa47e5eb248e" - integrity sha1-1MJjiL9IBMrHFBQbGUWqR+XrJI4= - dependencies: - base-x "^1.1.0" - -bs58@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" - integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= - dependencies: - base-x "^3.0.2" - -bs58check@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" - integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== - dependencies: - bs58 "^4.0.0" - create-hash "^1.1.0" - safe-buffer "^5.1.2" - -bser@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" - integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg== - dependencies: - node-int64 "^0.4.0" - -btoa@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73" - integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g== - -buffer-from@1.x, buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^5.1.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -buffer@^5.2.1: - version "5.4.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.0.tgz#33294f5c1f26e08461e528b69fa06de3c45cbd8c" - integrity sha512-Xpgy0IwHK2N01ncykXTy6FpCWuM+CJSHoPVBLyNqyrWxsedpLvwsYUhf0ME3WRFNUhos0dMamz9cOS/xRDtU5g== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" - integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -cbor-sync@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cbor-sync/-/cbor-sync-1.0.4.tgz#5a11a1ab75c2a14d1af1b237fd84aa8c1593662f" - integrity sha512-GWlXN4wiz0vdWWXBU71Dvc1q3aBo0HytqwAZnXF1wOwjqNnDWA1vZ1gDMFLlqohak31VQzmhiYfiCX5QSSfagA== - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -checkpoint-store@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/checkpoint-store/-/checkpoint-store-1.1.0.tgz#04e4cb516b91433893581e6d4601a78e9552ea06" - integrity sha1-BOTLUWuRQziTWB5tRgGnjpVS6gY= - dependencies: - functional-red-black-tree "^1.0.1" - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -clone@^2.0.0, clone@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collect-v8-coverage@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz#150ee634ac3650b71d9c985eb7f608942334feb1" - integrity sha512-VKIhJgvk8E1W28m5avZ2Gv2Ruv5YiF56ug2oclvaG9md69BuZImMG2sk9g7QNKLUbtYAKQjXjYxbYZVUlMMKmQ== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -comment-parser@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.2.4.tgz#489f3ee55dfd184a6e4bffb31baba284453cb760" - integrity sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw== - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -convert-source-map@^1.1.0, convert-source-map@^1.4.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== - dependencies: - safe-buffer "~5.1.1" - -convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -cookiejar@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" - integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA== - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js@^2.4.0: - version "2.6.12" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -crc-32@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" - integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== - dependencies: - exit-on-epipe "~1.0.1" - printj "~1.1.0" - -crc@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" - integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== - dependencies: - buffer "^5.1.0" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-fetch@^2.1.0: - version "2.2.6" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.6.tgz#2ef0bb39a24ac034787965c457368a28730e220a" - integrity sha512-9JZz+vXCmfKUZ68zAptS7k4Nu8e2qcibe7WVZYps7sAgk5R8GYTc+T1WR0v1rlP9HxgARmOX1UTIJZFytajpNA== - dependencies: - node-fetch "^2.6.7" - whatwg-fetch "^2.0.4" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-js@^3.1.4: - version "3.1.8" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.1.8.tgz#715f070bf6014f2ae992a98b3929258b713f08d5" - integrity sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU= - -cssom@^0.4.1, cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.0.0, cssstyle@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -debug@^4.3.1: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== - dependencies: - ms "2.1.2" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" - integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-freeze-strict@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-freeze-strict/-/deep-freeze-strict-1.1.1.tgz#77d0583ca24a69be4bbd9ac2fae415d55523e5b0" - integrity sha1-d9BYPKJKab5LvZrC+uQV1VUj5bA= - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -deferred-leveldown@~1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz#3acd2e0b75d1669924bc0a4b642851131173e1eb" - integrity sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA== - dependencies: - abstract-leveldown "~2.6.0" - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -detect-indent@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" - integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== - -detect-newline@3.1.0, detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" - integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== - -diff-sequences@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.3.0.tgz#62a59b1b29ab7fd27cef2a33ae52abe73042d0a2" - integrity sha512-5j5vdRcw3CNctePNYN0Wy2e/JbWT6cAYnXv5OuqPhDpyCGc0uLu2TK0zOCJWNB9kOIfYMSpIulRaDgIi4HJ6Ig== - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -diff-sequences@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" - integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== - -diff@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -diff@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-walk@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" - integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg= - -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== - dependencies: - webidl-conversions "^4.0.2" - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -drbg.js@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b" - integrity sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs= - dependencies: - browserify-aes "^1.0.6" - create-hash "^1.1.2" - create-hmac "^1.1.4" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.4.1, elliptic@^6.5.2, elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emittery@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.1.tgz#c02375a927a40948c0345cc903072597f5270451" - integrity sha512-d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== - dependencies: - once "^1.4.0" - -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -env-paths@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -errno@~0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: - version "1.17.6" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" - integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.0" - is-regex "^1.1.0" - object-inspect "^1.7.0" - object-keys "^1.1.1" - object.assign "^4.1.0" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" - -es-abstract@^1.18.5: - version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-abstract@^1.5.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== - dependencies: - es-to-primitive "^1.2.0" - function-bind "^1.1.1" - has "^1.0.3" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-keys "^1.0.12" - -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es6-object-assign@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" - integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escodegen@^1.11.1, escodegen@^1.14.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@^8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== - -eslint-import-resolver-node@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-import-resolver-typescript@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.4.0.tgz#ec1e7063ebe807f0362a7320543aaed6fe1100e1" - integrity sha512-useJKURidCcldRLCNKWemr1fFQL1SzB3G4a0li6lFGvlc5xGe1hY343bvG07cbpCzPuM/lK19FIJB3XGFSkplA== - dependencies: - debug "^4.1.1" - glob "^7.1.6" - is-glob "^4.0.1" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" - -eslint-module-utils@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== - dependencies: - debug "^2.6.9" - pkg-dir "^2.0.0" - -eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.0" - -eslint-plugin-import@^2.22.1: - version "2.22.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" - integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== - dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.0" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" - -eslint-plugin-jest@^24.1.5: - version "24.1.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.1.5.tgz#1e866a9f0deac587d0a3d5d7cefe99815a580de2" - integrity sha512-FIP3lwC8EzEG+rOs1y96cOJmMVpdFNreoDJv29B5vIupVssRi8zrSY3QadogT0K3h1Y8TMxJ6ZSAzYUmFCp2hg== - dependencies: - "@typescript-eslint/experimental-utils" "^4.0.1" - -eslint-plugin-jsdoc@^36.1.0: - version "36.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-36.1.0.tgz#8dfe5f27edfb6aa3812e6d86ccaea849ddc86b03" - integrity sha512-Qpied2AJCQcScxfzTObLKRiP5QgLXjMU/ITjBagEV5p2Q/HpumD1EQtazdRYdjDSwPmXhwOl2yquwOGQ4HOJNw== - dependencies: - "@es-joy/jsdoccomment" "0.10.8" - comment-parser "1.2.4" - debug "^4.3.2" - esquery "^1.4.0" - jsdoc-type-pratt-parser "^1.1.1" - lodash "^4.17.21" - regextras "^0.8.0" - semver "^7.3.5" - spdx-expression-parse "^3.0.1" - -eslint-plugin-node@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== - dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-prettier@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" - integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-scope@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" - integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" - integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== - -eslint@^7.24.0: - version "7.24.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.24.0.tgz#2e44fa62d93892bfdb100521f17345ba54b8513a" - integrity sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash "^4.17.21" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.4" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.1.0, esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eth-block-tracker@^4.4.2: - version "4.4.3" - resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz#766a0a0eb4a52c867a28328e9ae21353812cf626" - integrity sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw== - dependencies: - "@babel/plugin-transform-runtime" "^7.5.5" - "@babel/runtime" "^7.5.5" - eth-query "^2.1.0" - json-rpc-random-id "^1.0.1" - pify "^3.0.0" - safe-event-emitter "^1.0.1" - -eth-ens-namehash@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" - integrity sha1-IprEbsqG1S4MmR58sq74P/D2i88= - dependencies: - idna-uts46-hx "^2.3.1" - js-sha3 "^0.5.7" - -eth-json-rpc-filters@^4.2.1: - version "4.2.2" - resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-4.2.2.tgz#eb35e1dfe9357ace8a8908e7daee80b2cd60a10d" - integrity sha512-DGtqpLU7bBg63wPMWg1sCpkKCf57dJ+hj/k3zF26anXMzkmtSBDExL8IhUu7LUd34f0Zsce3PYNO2vV2GaTzaw== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - async-mutex "^0.2.6" - eth-json-rpc-middleware "^6.0.0" - eth-query "^2.1.2" - json-rpc-engine "^6.1.0" - pify "^5.0.0" - -eth-json-rpc-infura@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eth-json-rpc-infura/-/eth-json-rpc-infura-5.1.0.tgz#e6da7dc47402ce64c54e7018170d89433c4e8fb6" - integrity sha512-THzLye3PHUSGn1EXMhg6WTLW9uim7LQZKeKaeYsS9+wOBcamRiCQVGHa6D2/4P0oS0vSaxsBnU/J6qvn0MPdow== - dependencies: - eth-json-rpc-middleware "^6.0.0" - eth-rpc-errors "^3.0.0" - json-rpc-engine "^5.3.0" - node-fetch "^2.6.0" - -eth-json-rpc-middleware@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-6.0.0.tgz#4fe16928b34231a2537856f08a5ebbc3d0c31175" - integrity sha512-qqBfLU2Uq1Ou15Wox1s+NX05S9OcAEL4JZ04VZox2NS0U+RtCMjSxzXhLFWekdShUPZ+P8ax3zCO2xcPrp6XJQ== - dependencies: - btoa "^1.2.1" - clone "^2.1.1" - eth-query "^2.1.2" - eth-rpc-errors "^3.0.0" - eth-sig-util "^1.4.2" - ethereumjs-util "^5.1.2" - json-rpc-engine "^5.3.0" - json-stable-stringify "^1.0.1" - node-fetch "^2.6.1" - pify "^3.0.0" - safe-event-emitter "^1.0.1" - -eth-keyring-controller@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/eth-keyring-controller/-/eth-keyring-controller-7.0.2.tgz#c4d7f9be179f08b3bb18410066bc4c8e91f50552" - integrity sha512-U4bqbXkTn7js/47rnFtVyBYQcvOKtmraD/YReBwuy4R56bFSJN8kinP0JJRl3WTtVfVS1l5A/jjsF3qk5TaTeg== - dependencies: - "@metamask/bip39" "^4.0.0" - "@metamask/eth-hd-keyring" "^4.0.2" - browser-passworder "^2.0.3" - eth-sig-util "^3.0.1" - eth-simple-keyring "^4.2.0" - obs-store "^4.0.3" - -eth-method-registry@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eth-method-registry/-/eth-method-registry-1.1.0.tgz#3cc01bd23dcf513428d14a0bb19910652cc5cac0" - integrity sha512-jGbbGYd19XJCtoGFtUD2qJYWefKCCbFcu7F/AQ5sJXvqTIVAHnFn3paaV2zhN5t7iyKYp1qxc+ugOky+72xcbg== - dependencies: - ethjs "^0.3.0" - -eth-phishing-detect@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/eth-phishing-detect/-/eth-phishing-detect-1.2.0.tgz#11b357776b2d1b98a9ac594a1343e5184fc26bf0" - integrity sha512-+M7D4dhu5tkSA9b5eiBwDeJCjwy+7Lv49nuTEw8fNZIZUAVZC3d2XHatBq1MOW7J8kxNGbBdgBuIf65opI7Tkg== - dependencies: - fast-levenshtein "^2.0.6" - -eth-query@^2.1.0, eth-query@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" - integrity sha1-1nQdkAAQa1FRDHLbktY2VFam2l4= - dependencies: - json-rpc-random-id "^1.0.0" - xtend "^4.0.1" - -eth-rpc-errors@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-3.0.0.tgz#d7b22653c70dbf9defd4ef490fd08fe70608ca10" - integrity sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg== - dependencies: - fast-safe-stringify "^2.0.6" - -eth-rpc-errors@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.0.tgz#6a2c075c5f02df12cc949e8450d72f1aba3ebdc4" - integrity sha512-Jf/GX6PBQz8JLmICTLDgyAUB4BZ0YmnGhgoj2t+c7GdxGF2SFROO9Mk5q+MiJMZ1yGNcIOjnbmZ+NBv9ewIdEQ== - dependencies: - fast-safe-stringify "^2.0.6" - -eth-rpc-errors@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz#11bc164e25237a679061ac05b7da7537b673d3b7" - integrity sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ== - dependencies: - fast-safe-stringify "^2.0.6" - -eth-sig-util@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-1.4.2.tgz#8d958202c7edbaae839707fba6f09ff327606210" - integrity sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA= - dependencies: - ethereumjs-abi "git+https://github.com/ethereumjs/ethereumjs-abi.git" - ethereumjs-util "^5.1.1" - -eth-sig-util@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-3.0.0.tgz#75133b3d7c20a5731af0690c385e184ab942b97e" - integrity sha512-4eFkMOhpGbTxBQ3AMzVf0haUX2uTur7DpWiHzWyTURa28BVJJtOkcb9Ok5TV0YvEPG61DODPW7ZUATbJTslioQ== - dependencies: - buffer "^5.2.1" - elliptic "^6.4.0" - ethereumjs-abi "0.6.5" - ethereumjs-util "^5.1.1" - tweetnacl "^1.0.0" - tweetnacl-util "^0.15.0" - -eth-sig-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-3.0.1.tgz#8753297c83a3f58346bd13547b59c4b2cd110c96" - integrity sha512-0Us50HiGGvZgjtWTyAI/+qTzYPMLy5Q451D0Xy68bxq1QMWdoOddDwGvsqcFT27uohKgalM9z/yxplyt+mY2iQ== - dependencies: - ethereumjs-abi "^0.6.8" - ethereumjs-util "^5.1.1" - tweetnacl "^1.0.3" - tweetnacl-util "^0.15.0" - -eth-simple-keyring@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/eth-simple-keyring/-/eth-simple-keyring-4.2.0.tgz#c197a4bd4cce7d701b5f3607d0b843112ddb17e3" - integrity sha512-lBxFObXJTBjktDkQszXrqoB317wghEUYATQ3W19vLAjaznrmbdy1lccPhXIRMT9bHIUgNKOJQkLohNZiT9tO8Q== - dependencies: - eth-sig-util "^3.0.1" - ethereumjs-util "^7.0.9" - ethereumjs-wallet "^1.0.1" - events "^1.1.1" - -ethereum-common@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.2.0.tgz#13bf966131cce1eeade62a1b434249bb4cb120ca" - integrity sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA== - -ethereum-common@^0.0.18: - version "0.0.18" - resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" - integrity sha1-L9w1dvIykDNYl26znaeDIT/5Uj8= - -ethereum-cryptography@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" - integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== - dependencies: - "@types/pbkdf2" "^3.0.0" - "@types/secp256k1" "^4.0.1" - blakejs "^1.1.0" - browserify-aes "^1.2.0" - bs58check "^2.1.2" - create-hash "^1.2.0" - create-hmac "^1.1.7" - hash.js "^1.1.7" - keccak "^3.0.0" - pbkdf2 "^3.0.17" - randombytes "^2.1.0" - safe-buffer "^5.1.2" - scrypt-js "^3.0.0" - secp256k1 "^4.0.1" - setimmediate "^1.0.5" - -ethereumjs-abi@0.6.5: - version "0.6.5" - resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz#5a637ef16ab43473fa72a29ad90871405b3f5241" - integrity sha1-WmN+8Wq0NHP6cqKa2QhxQFs/UkE= - dependencies: - bn.js "^4.10.0" - ethereumjs-util "^4.3.0" - -ethereumjs-abi@^0.6.8, "ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": - version "0.6.8" - resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#1cfbb13862f90f0b391d8a699544d5fe4dfb8c7b" - dependencies: - bn.js "^4.11.8" - ethereumjs-util "^6.0.0" - -ethereumjs-account@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz#eeafc62de544cb07b0ee44b10f572c9c49e00a84" - integrity sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA== - dependencies: - ethereumjs-util "^5.0.0" - rlp "^2.0.0" - safe-buffer "^5.1.1" - -ethereumjs-block@^1.2.2: - version "1.7.1" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz#78b88e6cc56de29a6b4884ee75379b6860333c3f" - integrity sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg== - dependencies: - async "^2.0.1" - ethereum-common "0.2.0" - ethereumjs-tx "^1.2.2" - ethereumjs-util "^5.0.0" - merkle-patricia-tree "^2.1.2" - -ethereumjs-block@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.0.tgz#8c6c3ab4a5eff0a16d9785fbeedbe643f4dbcbef" - integrity sha512-Ye+uG/L2wrp364Zihdlr/GfC3ft+zG8PdHcRtsBFNNH1CkOhxOwdB8friBU85n89uRZ9eIMAywCq0F4CwT1wAw== - dependencies: - async "^2.0.1" - ethereumjs-common "^1.1.0" - ethereumjs-tx "^1.2.2" - ethereumjs-util "^5.0.0" - merkle-patricia-tree "^2.1.2" - -ethereumjs-common@^1.1.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.3.1.tgz#a5cffac41beb7ad393283b2e5aa71fadf8a9cc73" - integrity sha512-kexqNgM2q29RKoZPPjehPREeqbr/vhYfT9Ho8FVeH3f7USjBuYp1iZ1qjqklk8FSMvEKPpMJFYSOunikw30Prw== - -ethereumjs-tx@^1.2.2: - version "1.3.7" - resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz#88323a2d875b10549b8347e09f4862b546f3d89a" - integrity sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA== - dependencies: - ethereum-common "^0.0.18" - ethereumjs-util "^5.0.0" - -ethereumjs-util@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz#3e9428b317eebda3d7260d854fddda954b1f1bc6" - integrity sha1-PpQosxfuvaPXJg2FT93alUsfG8Y= - dependencies: - bn.js "^4.8.0" - create-hash "^1.1.2" - keccakjs "^0.2.0" - rlp "^2.0.0" - secp256k1 "^3.0.1" - -ethereumjs-util@^5.0.0, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.5: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz#3e0c0d1741471acf1036052d048623dee54ad642" - integrity sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA== - dependencies: - bn.js "^4.11.0" - create-hash "^1.1.2" - ethjs-util "^0.1.3" - keccak "^1.0.2" - rlp "^2.0.0" - safe-buffer "^5.1.1" - secp256k1 "^3.0.1" - -ethereumjs-util@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz#e9c51e5549e8ebd757a339cc00f5380507e799c8" - integrity sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q== - dependencies: - bn.js "^4.11.0" - create-hash "^1.1.2" - ethjs-util "0.1.6" - keccak "^1.0.2" - rlp "^2.0.0" - safe-buffer "^5.1.1" - secp256k1 "^3.0.1" - -ethereumjs-util@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" - integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== - dependencies: - "@types/bn.js" "^4.11.3" - bn.js "^4.11.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" - rlp "^2.2.3" - -ethereumjs-util@^7.0.10, ethereumjs-util@^7.0.9: - version "7.0.10" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.0.10.tgz#5fb7b69fa1fda0acc59634cf39d6b0291180fc1f" - integrity sha512-c/xThw6A+EAnej5Xk5kOzFzyoSnw0WX0tSlZ6pAsfGVvQj3TItaDg9b1+Fz1RJXA+y2YksKwQnuzgt1eY6LKzw== - dependencies: - "@types/bn.js" "^5.1.0" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" - rlp "^2.2.4" - -ethereumjs-util@^7.0.2: - version "7.0.8" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.0.8.tgz#5258762b7b17e3d828e41834948363ff0a703ffd" - integrity sha512-JJt7tDpCAmDPw/sGoFYeq0guOVqT3pTE9xlEbBmc/nlCij3JRCoS2c96SQ6kXVHOT3xWUNLDm5QCJLQaUnVAtQ== - dependencies: - "@types/bn.js" "^4.11.3" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" - rlp "^2.2.4" - -ethereumjs-util@^7.0.7, ethereumjs-util@^7.0.8, ethereumjs-util@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz#b55d7b64dde3e3e45749e4c41288238edec32d23" - integrity sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw== - dependencies: - "@types/bn.js" "^5.1.0" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - rlp "^2.2.4" - -ethereumjs-util@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.0.tgz#e2b43a30bfcdbcb432a4eb42bd5f2393209b3fd5" - integrity sha512-kR+vhu++mUDARrsMMhsjjzPduRVAeundLGXucGRHF3B4oEltOUspfgCVco4kckucj3FMlLaZHUl9n7/kdmr6Tw== - dependencies: - "@types/bn.js" "^5.1.0" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" - rlp "^2.2.4" - -ethereumjs-vm@^2.3.4: - version "2.6.0" - resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6" - integrity sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw== - dependencies: - async "^2.1.2" - async-eventemitter "^0.2.2" - ethereumjs-account "^2.0.3" - ethereumjs-block "~2.2.0" - ethereumjs-common "^1.1.0" - ethereumjs-util "^6.0.0" - fake-merkle-patricia-tree "^1.0.1" - functional-red-black-tree "^1.0.1" - merkle-patricia-tree "^2.3.2" - rustbn.js "~0.2.0" - safe-buffer "^5.1.1" - -ethereumjs-wallet@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ethereumjs-wallet/-/ethereumjs-wallet-1.0.1.tgz#664a4bcacfc1291ca2703de066df1178938dba1c" - integrity sha512-3Z5g1hG1das0JWU6cQ9HWWTY2nt9nXCcwj7eXVNAHKbo00XAZO8+NHlwdgXDWrL0SXVQMvTWN8Q/82DRH/JhPw== - dependencies: - aes-js "^3.1.1" - bs58check "^2.1.2" - ethereum-cryptography "^0.1.3" - ethereumjs-util "^7.0.2" - randombytes "^2.0.6" - scrypt-js "^3.0.1" - utf8 "^3.0.0" - uuid "^3.3.2" - -ethers@^5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.4.1.tgz#bcff1e9f45bf1a061bf313ec04e8d9881d2d53f9" - integrity sha512-SrcddMdCgP1hukDvCPd87Aipbf4NWjQvdfAbZ65XSZGbfyuYPtIrUJPDH5B1SBRsdlfiEgX3eoz28DdBDzMNFg== - dependencies: - "@ethersproject/abi" "5.4.0" - "@ethersproject/abstract-provider" "5.4.0" - "@ethersproject/abstract-signer" "5.4.0" - "@ethersproject/address" "5.4.0" - "@ethersproject/base64" "5.4.0" - "@ethersproject/basex" "5.4.0" - "@ethersproject/bignumber" "5.4.0" - "@ethersproject/bytes" "5.4.0" - "@ethersproject/constants" "5.4.0" - "@ethersproject/contracts" "5.4.0" - "@ethersproject/hash" "5.4.0" - "@ethersproject/hdnode" "5.4.0" - "@ethersproject/json-wallets" "5.4.0" - "@ethersproject/keccak256" "5.4.0" - "@ethersproject/logger" "5.4.0" - "@ethersproject/networks" "5.4.1" - "@ethersproject/pbkdf2" "5.4.0" - "@ethersproject/properties" "5.4.0" - "@ethersproject/providers" "5.4.1" - "@ethersproject/random" "5.4.0" - "@ethersproject/rlp" "5.4.0" - "@ethersproject/sha2" "5.4.0" - "@ethersproject/signing-key" "5.4.0" - "@ethersproject/solidity" "5.4.0" - "@ethersproject/strings" "5.4.0" - "@ethersproject/transactions" "5.4.0" - "@ethersproject/units" "5.4.0" - "@ethersproject/wallet" "5.4.0" - "@ethersproject/web" "5.4.0" - "@ethersproject/wordlists" "5.4.0" - -ethjs-abi@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ethjs-abi/-/ethjs-abi-0.2.0.tgz#d3e2c221011520fc499b71682036c14fcc2f5b25" - integrity sha1-0+LCIQEVIPxJm3FoIDbBT8wvWyU= - dependencies: - bn.js "4.11.6" - js-sha3 "0.5.5" - number-to-bn "1.7.0" - -ethjs-abi@0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/ethjs-abi/-/ethjs-abi-0.2.1.tgz#e0a7a93a7e81163a94477bad56ede524ab6de533" - integrity sha1-4KepOn6BFjqUR3utVu3lJKtt5TM= - dependencies: - bn.js "4.11.6" - js-sha3 "0.5.5" - number-to-bn "1.7.0" - -ethjs-contract@0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/ethjs-contract/-/ethjs-contract-0.2.2.tgz#2ed71254cbb4f2b6fafa1db0d4a83870c887b472" - integrity sha512-xxPqEjsULQ/QNWuvX6Ako0PGs5RxALA8N/H3+boLvnaXDFZVGpD7H63H1gBCRTZyYqCldPpVlVHuw/rD45vazw== - dependencies: - ethjs-abi "0.2.0" - ethjs-filter "0.1.8" - ethjs-util "0.1.3" - js-sha3 "0.5.5" - -ethjs-filter@0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/ethjs-filter/-/ethjs-filter-0.1.8.tgz#2b02726b820ed4dd3860614d185c0c0f7ed1747f" - integrity sha512-qTDPskDL2UadHwjvM8A+WG9HwM4/FoSY3p3rMJORkHltYcAuiQZd2otzOYKcL5w2Q3sbAkW/E3yt/FPFL/AVXA== - -ethjs-format@0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/ethjs-format/-/ethjs-format-0.2.7.tgz#20c92f31c259a381588d069830d838b489774b86" - integrity sha512-uNYAi+r3/mvR3xYu2AfSXx5teP4ovy9z2FrRsblU+h2logsaIKZPi9V3bn3V7wuRcnG0HZ3QydgZuVaRo06C4Q== - dependencies: - bn.js "4.11.6" - ethjs-schema "0.2.1" - ethjs-util "0.1.3" - is-hex-prefixed "1.0.0" - number-to-bn "1.7.0" - strip-hex-prefix "1.0.0" - -ethjs-provider-http@0.1.6, ethjs-provider-http@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-provider-http/-/ethjs-provider-http-0.1.6.tgz#1ec5d9b4be257ef1d56a500b22a741985e889420" - integrity sha1-HsXZtL4lfvHValALIqdBmF6IlCA= - dependencies: - xhr2 "0.1.3" - -ethjs-query@0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/ethjs-query/-/ethjs-query-0.3.7.tgz#597884664e7769c5e314a8f2f7ac6b44aceaff5e" - integrity sha512-TZnKUwfkWjy0SowFdPLtmsytCorHi0i4vvkQn7Jg8rZt33cRzKhuzOwKr/G3vdigCc+ePXOhUGMcJSAPlOG44A== - dependencies: - ethjs-format "0.2.7" - ethjs-rpc "0.2.0" - promise-to-callback "^1.0.0" - -ethjs-rpc@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ethjs-rpc/-/ethjs-rpc-0.2.0.tgz#3d0011e32cfff156ed6147818c6fb8f801701b4c" - integrity sha512-RINulkNZTKnj4R/cjYYtYMnFFaBcVALzbtEJEONrrka8IeoarNB9Jbzn+2rT00Cv8y/CxAI+GgY1d0/i2iQeOg== - dependencies: - promise-to-callback "^1.0.0" - -ethjs-schema@0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/ethjs-schema/-/ethjs-schema-0.2.1.tgz#47e138920421453617069034684642e26bb310f4" - integrity sha512-DXd8lwNrhT9sjsh/Vd2Z+4pfyGxhc0POVnLBUfwk5udtdoBzADyq+sK39dcb48+ZU+2VgtwHxtGWnLnCfmfW5g== - -ethjs-unit@0.1.6, ethjs-unit@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" - integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= - dependencies: - bn.js "4.11.6" - number-to-bn "1.7.0" - -ethjs-util@0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.3.tgz#dfd5ea4a400dc5e421a889caf47e081ada78bb55" - integrity sha1-39XqSkANxeQhqInK9H4IGtp4u1U= - dependencies: - is-hex-prefixed "1.0.0" - strip-hex-prefix "1.0.0" - -ethjs-util@0.1.6, ethjs-util@^0.1.3, ethjs-util@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" - integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== - dependencies: - is-hex-prefixed "1.0.0" - strip-hex-prefix "1.0.0" - -ethjs@^0.3.0: - version "0.3.9" - resolved "https://registry.yarnpkg.com/ethjs/-/ethjs-0.3.9.tgz#287e1fe75de8ee1fb73ae2cf6218395398e8f84c" - integrity sha512-gOQzA3tDUjoLpNONSOALJ/rUFtHi5tXl2mholHasF1cvXhoddqi06yU4OJFJu9AGd6n9v9ywzHlYeIKg1t1hdw== - dependencies: - bn.js "4.11.6" - ethjs-abi "0.2.1" - ethjs-contract "0.2.2" - ethjs-filter "0.1.8" - ethjs-provider-http "0.1.6" - ethjs-query "0.3.7" - ethjs-unit "0.1.6" - ethjs-util "0.1.3" - js-sha3 "0.5.5" - number-to-bn "1.7.0" - -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -events@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= - -events@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== - -evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" - integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" - integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - 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" - -exit-on-epipe@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" - integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.4.2.tgz#36db120928a5a2d7d9736643032de32f24e1b2a1" - integrity sha512-IlJ3X52Z0lDHm7gjEp+m76uX46ldH5VpqmU0006vqDju/285twh7zaWMRhs67VpQhBwjjMchk+p5aA0VkERCAA== - dependencies: - "@jest/types" "^26.3.0" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.4.2" - jest-message-util "^26.3.0" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0, extsprintf@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -fake-merkle-patricia-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz#4b8c3acfb520afadf9860b1f14cd8ce3402cddd3" - integrity sha1-S4w6z7Ugr635hgsfFM2M40As3dM= - dependencies: - checkpoint-store "^1.1.0" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@^3.0.3: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-glob@^3.1.1: - version "3.2.4" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" - integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" - -fast-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fast-safe-stringify@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz#04b26106cc56681f51a044cfc0d76cf0008ac2c2" - integrity sha512-q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg== - -fastq@^1.6.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" - integrity sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= - dependencies: - bser "^2.0.0" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" - integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" - integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== - -function-bind@^1.0.2, function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -git-hooks-list@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/git-hooks-list/-/git-hooks-list-1.0.3.tgz#be5baaf78203ce342f2f844a9d2b03dba1b45156" - integrity sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ== - -glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global@~4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" - integrity sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8= - dependencies: - min-document "^2.19.0" - process "~0.5.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globals@^13.6.0: - version "13.8.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3" - integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== - dependencies: - type-fest "^0.20.2" - -globby@10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.0.tgz#abfcd0630037ae174a88590132c2f6804e291072" - integrity sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw== - dependencies: - "@types/glob" "^7.1.1" - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.0.3" - glob "^7.1.3" - ignore "^5.1.1" - merge2 "^1.2.3" - slash "^3.0.0" - -globby@^11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" - integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globby@^11.0.3: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -graceful-fs@^4.1.2, graceful-fs@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -graceful-fs@^4.2.3: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.0, har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= - -has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.1, has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hdkey@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/hdkey/-/hdkey-2.0.1.tgz#0a211d0c510bfc44fa3ec9d44b13b634641cad74" - integrity sha512-c+tl9PHG9/XkGgG0tD7CJpRVaE0jfZizDNmnErUAKQ4EjQSOcOUcV3EN9ZEZS8pZ4usaeiiK0H7stzuzna8feA== - dependencies: - bs58check "^2.1.2" - safe-buffer "^5.1.1" - secp256k1 "^4.0.0" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== - dependencies: - whatwg-encoding "^1.0.1" - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -html-escaper@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.0.tgz#71e87f931de3fe09e56661ab9a29aadec707b491" - integrity sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig== - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -idna-uts46-hx@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" - integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== - dependencies: - punycode "2.1.0" - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -ignore@^5.1.8, ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -immediate@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" - integrity sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw= - -immer@^9.0.6: - version "9.0.6" - resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.6.tgz#7a96bf2674d06c8143e327cbf73539388ddf1a73" - integrity sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ== - -import-fresh@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.3, is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== - -is-callable@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" - integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== - -is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" - integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== - dependencies: - has "^1.0.3" - -is-core-module@^2.2.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" - integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" - integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fn/-/is-fn-1.0.0.tgz#9543d5de7bcf5b08a22ec8a20bae6e286d510d8c" - integrity sha1-lUPV3nvPWwiiLsiiC65uKG1RDYw= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-function@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" - integrity sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU= - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-hex-prefixed@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" - integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= - -is-nan@^1.2.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" - integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -is-negative-zero@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-obj@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= - -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= - dependencies: - has "^1.0.1" - -is-regex@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" - integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== - dependencies: - has-symbols "^1.0.1" - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== - -is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== - dependencies: - has-symbols "^1.0.0" - -is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.3, is-typed-array@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79" - integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-abstract "^1.18.5" - foreach "^2.0.5" - has-tostringtag "^1.0.0" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-weakref@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isomorphic-fetch@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz#0267b005049046d2421207215d45d6a262b8b8b4" - integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA== - dependencies: - node-fetch "^2.6.1" - whatwg-fetch "^3.4.1" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz#61f13ac2c96cfefb076fe7131156cc05907874e6" - integrity sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg== - dependencies: - "@babel/core" "^7.7.5" - "@babel/parser" "^7.7.5" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.3.0.tgz#68fb2a7eb125f50839dab1f5a17db3607fe195b1" - integrity sha512-1C4R4nijgPltX6fugKxM4oQ18zimS7LqQ+zTTY8lMCMFPrxqBFb7KJH0Z2fRQJvw2Slbaipsqq7s1mgX5Iot+g== - dependencies: - "@jest/types" "^26.3.0" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.4.2.tgz#24afc6e4dfc25cde4c7ec4226fb7db5f157c21da" - integrity sha512-zb+lGd/SfrPvoRSC/0LWdaWCnscXc1mGYW//NP4/tmBvRPT3VntZ2jtKUONsRi59zc5JqmsSajA9ewJKFYp8Cw== - dependencies: - "@jest/core" "^26.4.2" - "@jest/test-result" "^26.3.0" - "@jest/types" "^26.3.0" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.4.2" - jest-util "^26.3.0" - jest-validate "^26.4.2" - prompts "^2.0.1" - yargs "^15.3.1" - -jest-config@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.4.2.tgz#da0cbb7dc2c131ffe831f0f7f2a36256e6086558" - integrity sha512-QBf7YGLuToiM8PmTnJEdRxyYy3mHWLh24LJZKVdXZ2PNdizSe1B/E8bVm+HYcjbEzGuVXDv/di+EzdO/6Gq80A== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.4.2" - "@jest/types" "^26.3.0" - babel-jest "^26.3.0" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.3.0" - jest-environment-node "^26.3.0" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.4.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.4.0" - jest-util "^26.3.0" - jest-validate "^26.4.2" - micromatch "^4.0.2" - pretty-format "^26.4.2" - -jest-diff@^25.2.1: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" - integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== - dependencies: - chalk "^3.0.0" - diff-sequences "^25.2.6" - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - -jest-diff@^26.0.0: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-diff@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.4.2.tgz#a1b7b303bcc534aabdb3bd4a7caf594ac059f5aa" - integrity sha512-6T1XQY8U28WH0Z5rGpQ+VqZSZz8EN8rZcBtfvXaOkbwxIEeRre6qnuZQlbY1AJ4MKDxQF8EkrCvK+hL/VkyYLQ== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.3.0" - jest-get-type "^26.3.0" - pretty-format "^26.4.2" - -jest-diff@^27.0.0: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.3.1.tgz#d2775fea15411f5f5aeda2a5e02c2f36440f6d55" - integrity sha512-PCeuAH4AWUo2O5+ksW4pL9v5xJAcIKPUPfIhZBcG1RKv/0+dvaWTQK1Nrau8d67dp65fOqbeMdoil+6PedyEPQ== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.0.6" - jest-get-type "^27.3.1" - pretty-format "^27.3.1" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.4.2.tgz#bb14f7f4304f2bb2e2b81f783f989449b8b6ffae" - integrity sha512-p15rt8r8cUcRY0Mvo1fpkOGYm7iI8S6ySxgIdfh3oOIv+gHwrHTy5VWCGOecWUhDsit4Nz8avJWdT07WLpbwDA== - dependencies: - "@jest/types" "^26.3.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.3.0" - pretty-format "^26.4.2" - -jest-environment-jsdom@^25.0.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834" - integrity sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A== - dependencies: - "@jest/environment" "^25.5.0" - "@jest/fake-timers" "^25.5.0" - "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - jsdom "^15.2.1" - -jest-environment-jsdom@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.3.0.tgz#3b749ba0f3a78e92ba2c9ce519e16e5dd515220c" - integrity sha512-zra8He2btIMJkAzvLaiZ9QwEPGEetbxqmjEBQwhH3CA+Hhhu0jSiEJxnJMbX28TGUvPLxBt/zyaTLrOPF4yMJA== - dependencies: - "@jest/environment" "^26.3.0" - "@jest/fake-timers" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/node" "*" - jest-mock "^26.3.0" - jest-util "^26.3.0" - jsdom "^16.2.2" - -jest-environment-node@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.3.0.tgz#56c6cfb506d1597f94ee8d717072bda7228df849" - integrity sha512-c9BvYoo+FGcMj5FunbBgtBnbR5qk3uky8PKyRVpSfe2/8+LrNQMiXX53z6q2kY+j15SkjQCOSL/6LHnCPLVHNw== - dependencies: - "@jest/environment" "^26.3.0" - "@jest/fake-timers" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/node" "*" - jest-mock "^26.3.0" - jest-util "^26.3.0" - -jest-get-type@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" - integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== - -jest-get-type@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-get-type@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.3.1.tgz#a8a2b0a12b50169773099eee60a0e6dd11423eff" - integrity sha512-+Ilqi8hgHSAdhlQ3s12CAVNd8H96ZkQBfYoXmArzZnOfAtVAJEiPDBirjByEblvG/4LPJmkL+nBqPO3A1YJAEg== - -jest-haste-map@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.3.0.tgz#c51a3b40100d53ab777bfdad382d2e7a00e5c726" - integrity sha512-DHWBpTJgJhLLGwE5Z1ZaqLTYqeODQIZpby0zMBsCU9iRFHYyhklYqP4EiG73j5dkbaAdSZhgB938mL51Q5LeZA== - dependencies: - "@jest/types" "^26.3.0" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.3.0" - jest-util "^26.3.0" - jest-worker "^26.3.0" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.4.2.tgz#18a9d5bec30904267ac5e9797570932aec1e2257" - integrity sha512-z7H4EpCldHN1J8fNgsja58QftxBSL+JcwZmaXIvV9WKIM+x49F4GLHu/+BQh2kzRKHAgaN/E82od+8rTOBPyPA== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.3.0" - "@jest/source-map" "^26.3.0" - "@jest/test-result" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.4.2" - is-generator-fn "^2.0.0" - jest-each "^26.4.2" - jest-matcher-utils "^26.4.2" - jest-message-util "^26.3.0" - jest-runtime "^26.4.2" - jest-snapshot "^26.4.2" - jest-util "^26.3.0" - pretty-format "^26.4.2" - throat "^5.0.0" - -jest-leak-detector@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.4.2.tgz#c73e2fa8757bf905f6f66fb9e0070b70fa0f573f" - integrity sha512-akzGcxwxtE+9ZJZRW+M2o+nTNnmQZxrHJxX/HjgDaU5+PLmY1qnQPnMjgADPGCRPhB+Yawe1iij0REe+k/aHoA== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.4.2" - -jest-matcher-utils@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.4.2.tgz#fa81f3693f7cb67e5fc1537317525ef3b85f4b06" - integrity sha512-KcbNqWfWUG24R7tu9WcAOKKdiXiXCbMvQYT6iodZ9k1f7065k0keUOW6XpJMMvah+hTfqkhJhRXmA3r3zMAg0Q== - dependencies: - chalk "^4.0.0" - jest-diff "^26.4.2" - jest-get-type "^26.3.0" - pretty-format "^26.4.2" - -jest-message-util@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.5.0.tgz#ea11d93204cc7ae97456e1d8716251185b8880ea" - integrity sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^25.5.0" - "@types/stack-utils" "^1.0.1" - chalk "^3.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - slash "^3.0.0" - stack-utils "^1.0.1" - -jest-message-util@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.3.0.tgz#3bdb538af27bb417f2d4d16557606fd082d5841a" - integrity sha512-xIavRYqr4/otGOiLxLZGj3ieMmjcNE73Ui+LdSW/Y790j5acqCsAdDiLIbzHCZMpN07JOENRWX5DcU+OQ+TjTA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.3.0" - "@types/stack-utils" "^1.0.1" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.5.0.tgz#a91a54dabd14e37ecd61665d6b6e06360a55387a" - integrity sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA== - dependencies: - "@jest/types" "^25.5.0" - -jest-mock@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.3.0.tgz#ee62207c3c5ebe5f35b760e1267fee19a1cfdeba" - integrity sha512-PeaRrg8Dc6mnS35gOo/CbZovoDPKAeB1FICZiuagAgGvbWdNNyjQjkOaGUa/3N3JtpQ/Mh9P4A2D4Fv51NnP8Q== - dependencies: - "@jest/types" "^26.3.0" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.4.2.tgz#739bdb027c14befb2fe5aabbd03f7bab355f1dc5" - integrity sha512-ADHaOwqEcVc71uTfySzSowA/RdxUpCxhxa2FNLiin9vWLB1uLPad3we+JSSROq5+SrL9iYPdZZF8bdKM7XABTQ== - dependencies: - "@jest/types" "^26.3.0" - jest-regex-util "^26.0.0" - jest-snapshot "^26.4.2" - -jest-resolve@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.4.0.tgz#6dc0af7fb93e65b73fec0368ca2b76f3eb59a6d7" - integrity sha512-bn/JoZTEXRSlEx3+SfgZcJAVuTMOksYq9xe9O6s4Ekg84aKBObEaVXKOEilULRqviSLAYJldnoWV9c07kwtiCg== - dependencies: - "@jest/types" "^26.3.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.3.0" - read-pkg-up "^7.0.1" - resolve "^1.17.0" - slash "^3.0.0" - -jest-runner@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.4.2.tgz#c3ec5482c8edd31973bd3935df5a449a45b5b853" - integrity sha512-FgjDHeVknDjw1gRAYaoUoShe1K3XUuFMkIaXbdhEys+1O4bEJS8Avmn4lBwoMfL8O5oFTdWYKcf3tEJyyYyk8g== - dependencies: - "@jest/console" "^26.3.0" - "@jest/environment" "^26.3.0" - "@jest/test-result" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.4.2" - jest-docblock "^26.0.0" - jest-haste-map "^26.3.0" - jest-leak-detector "^26.4.2" - jest-message-util "^26.3.0" - jest-resolve "^26.4.0" - jest-runtime "^26.4.2" - jest-util "^26.3.0" - jest-worker "^26.3.0" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.4.2.tgz#94ce17890353c92e4206580c73a8f0c024c33c42" - integrity sha512-4Pe7Uk5a80FnbHwSOk7ojNCJvz3Ks2CNQWT5Z7MJo4tX0jb3V/LThKvD9tKPNVNyeMH98J/nzGlcwc00R2dSHQ== - dependencies: - "@jest/console" "^26.3.0" - "@jest/environment" "^26.3.0" - "@jest/fake-timers" "^26.3.0" - "@jest/globals" "^26.4.2" - "@jest/source-map" "^26.3.0" - "@jest/test-result" "^26.3.0" - "@jest/transform" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.4.2" - jest-haste-map "^26.3.0" - jest-message-util "^26.3.0" - jest-mock "^26.3.0" - jest-regex-util "^26.0.0" - jest-resolve "^26.4.0" - jest-snapshot "^26.4.2" - jest-util "^26.3.0" - jest-validate "^26.4.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.3.1" - -jest-serializer@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.3.0.tgz#1c9d5e1b74d6e5f7e7f9627080fa205d976c33ef" - integrity sha512-IDRBQBLPlKa4flg77fqg0n/pH87tcRKwe8zxOVTWISxGpPHYkRZ1dXKyh04JOja7gppc60+soKVZ791mruVdow== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.4.2.tgz#87d3ac2f2bd87ea8003602fbebd8fcb9e94104f6" - integrity sha512-N6Uub8FccKlf5SBFnL2Ri/xofbaA68Cc3MGjP/NuwgnsvWh+9hLIR/DhrxbSiKXMY9vUW5dI6EW1eHaDHqe9sg== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.3.0" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.4.2" - graceful-fs "^4.2.4" - jest-diff "^26.4.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.3.0" - jest-matcher-utils "^26.4.2" - jest-message-util "^26.3.0" - jest-resolve "^26.4.0" - natural-compare "^1.4.0" - pretty-format "^26.4.2" - semver "^7.3.2" - -jest-util@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0" - integrity sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA== - dependencies: - "@jest/types" "^25.5.0" - chalk "^3.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - make-dir "^3.0.0" - -jest-util@^26.1.0: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-util@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.3.0.tgz#a8974b191df30e2bf523ebbfdbaeb8efca535b3e" - integrity sha512-4zpn6bwV0+AMFN0IYhH/wnzIQzRaYVrz1A8sYnRnj4UXDXbOVtWmlaZkO9mipFqZ13okIfN87aDoJWB7VH6hcw== - dependencies: - "@jest/types" "^26.3.0" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.4.2.tgz#e871b0dfe97747133014dcf6445ee8018398f39c" - integrity sha512-blft+xDX7XXghfhY0mrsBCYhX365n8K5wNDC4XAcNKqqjEzsRUSXP44m6PL0QJEW2crxQFLLztVnJ4j7oPlQrQ== - dependencies: - "@jest/types" "^26.3.0" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.4.2" - -jest-watcher@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.3.0.tgz#f8ef3068ddb8af160ef868400318dc4a898eed08" - integrity sha512-XnLdKmyCGJ3VoF6G/p5ohbJ04q/vv5aH9ENI+i6BL0uu9WWB6Z7Z2lhQQk0d2AVZcRGp1yW+/TsoToMhBFPRdQ== - dependencies: - "@jest/test-result" "^26.3.0" - "@jest/types" "^26.3.0" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.3.0" - string-length "^4.0.1" - -jest-when@^3.4.2: - version "3.4.2" - resolved "https://registry.yarnpkg.com/jest-when/-/jest-when-3.4.2.tgz#720f19e0ab3a7d55a45a915663ca2b1bd3a9ec1a" - integrity sha512-vO1r+1XsyeavhoSapj7q4xD5xuM9i+UdopfhmJJK/aKaDpzDesxZ6hreLSO1JUZhZInqdM7CCn+At7c0SI2EEw== - -jest-worker@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.3.0.tgz#7c8a97e4f4364b4f05ed8bca8ca0c24de091871f" - integrity sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.4.2.tgz#7e8bfb348ec33f5459adeaffc1a25d5752d9d312" - integrity sha512-LLCjPrUh98Ik8CzW8LLVnSCfLaiY+wbK53U7VxnFSX7Q+kWC4noVeDvGWIFw0Amfq1lq2VfGm7YHWSLBV62MJw== - dependencies: - "@jest/core" "^26.4.2" - import-local "^3.0.2" - jest-cli "^26.4.2" - -js-sha3@0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.5.tgz#baf0c0e8c54ad5903447df96ade7a4a1bca79a4a" - integrity sha1-uvDA6MVK1ZA0R9+Wreekobynmko= - -js-sha3@0.5.7, js-sha3@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" - integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= - -js-sha3@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.6.1.tgz#5b89f77a7477679877f58c4a075240934b1f95c0" - integrity sha1-W4n3enR3Z5h39YxKB1JAk0sflcA= - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbi@^3.1.5: - version "3.2.5" - resolved "https://registry.yarnpkg.com/jsbi/-/jsbi-3.2.5.tgz#b37bb90e0e5c2814c1c2a1bcd8c729888a2e37d6" - integrity sha512-aBE4n43IPvjaddScbvWRA2YlTzKEynHzu7MqOyTipdHucf/VxS63ViCjxYRg86M8Rxwbt/GfzHl1kKERkt45fQ== - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdoc-type-pratt-parser@1.1.1, jsdoc-type-pratt-parser@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.1.1.tgz#10fe5e409ba38de22a48b555598955a26ff0160f" - integrity sha512-uelRmpghNwPBuZScwgBG/OzodaFk5RbO5xaivBdsAY70icWfShwZ7PCMO0x1zSkOa8T1FzHThmrdoyg/0AwV5g== - -jsdom@^15.2.1: - version "15.2.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" - integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== - dependencies: - abab "^2.0.0" - acorn "^7.1.0" - acorn-globals "^4.3.2" - array-equal "^1.0.0" - cssom "^0.4.1" - cssstyle "^2.0.0" - data-urls "^1.1.0" - domexception "^1.0.1" - escodegen "^1.11.1" - html-encoding-sniffer "^1.0.2" - nwsapi "^2.2.0" - parse5 "5.1.0" - pn "^1.1.0" - request "^2.88.0" - request-promise-native "^1.0.7" - saxes "^3.1.9" - symbol-tree "^3.2.2" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.1" - w3c-xmlserializer "^1.1.2" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^7.0.0" - ws "^7.0.0" - xml-name-validator "^3.0.0" - -jsdom@^16.2.2: - version "16.4.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" - integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== - dependencies: - abab "^2.0.3" - acorn "^7.1.1" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.2.0" - data-urls "^2.0.0" - decimal.js "^10.2.0" - domexception "^2.0.1" - escodegen "^1.14.1" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "5.1.1" - request "^2.88.2" - request-promise-native "^1.0.8" - saxes "^5.0.0" - symbol-tree "^3.2.4" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.2.3" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-rpc-engine@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-5.3.0.tgz#7dc7291766b28766ebda33eb6d3f4c6301c44ff4" - integrity sha512-+diJ9s8rxB+fbJhT7ZEf8r8spaLRignLd8jTgQ/h5JSGppAHGtNMZtCoabipCaleR1B3GTGxbXBOqhaJSGmPGQ== - dependencies: - eth-rpc-errors "^3.0.0" - safe-event-emitter "^1.0.1" - -json-rpc-engine@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz#bf5ff7d029e1c1bf20cb6c0e9f348dcd8be5a393" - integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - eth-rpc-errors "^4.0.2" - -json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" - integrity sha1-uknZat7RRE27jaPSA3SKy7zeyMg= - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@2.x, json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== - dependencies: - minimist "^1.2.0" - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -jsonc-parser@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" - integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= - -jsonschema@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.4.tgz#a46bac5d3506a254465bc548876e267c6d0d6464" - integrity sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw== - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -just-extend@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.0.2.tgz#f3f47f7dfca0f989c55410a7ebc8854b07108afc" - integrity sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw== - -keccak@^1.0.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-1.4.0.tgz#572f8a6dbee8e7b3aa421550f9e6408ca2186f80" - integrity sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw== - dependencies: - bindings "^1.2.1" - inherits "^2.0.3" - nan "^2.2.1" - safe-buffer "^5.1.0" - -keccak@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.1.tgz#ae30a0e94dbe43414f741375cff6d64c8bea0bff" - integrity sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - -keccakjs@^0.2.0: - version "0.2.3" - resolved "https://registry.yarnpkg.com/keccakjs/-/keccakjs-0.2.3.tgz#5e4e969ce39689a3861f445d7752ee3477f9fe72" - integrity sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg== - dependencies: - browserify-sha3 "^0.0.4" - sha3 "^1.2.2" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -level-codec@~7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" - integrity sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ== - -level-errors@^1.0.3, level-errors@~1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.0.5.tgz#83dbfb12f0b8a2516bdc9a31c4876038e227b859" - integrity sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig== - dependencies: - errno "~0.1.1" - -level-iterator-stream@~1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz#e43b78b1a8143e6fa97a4f485eb8ea530352f2ed" - integrity sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0= - dependencies: - inherits "^2.0.1" - level-errors "^1.0.3" - readable-stream "^1.0.33" - xtend "^4.0.0" - -level-ws@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-0.0.0.tgz#372e512177924a00424b0b43aef2bb42496d228b" - integrity sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos= - dependencies: - readable-stream "~1.0.15" - xtend "~2.1.1" - -levelup@^1.2.1: - version "1.3.9" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-1.3.9.tgz#2dbcae845b2bb2b6bea84df334c475533bbd82ab" - integrity sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ== - dependencies: - deferred-leveldown "~1.2.1" - level-codec "~7.0.0" - level-errors "~1.0.3" - level-iterator-stream "~1.3.0" - prr "~1.0.1" - semver "~5.4.1" - xtend "~4.0.0" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= - -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash@4.x, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -lolex@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" - integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== - dependencies: - "@sinonjs/commons" "^1.7.0" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -ltgt@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" - integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU= - -lunr@^2.3.9: - version "2.3.9" - resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" - integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== - -make-dir@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.2.tgz#04a1acbf22221e1d6ef43559f43e05a90dbb4392" - integrity sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w== - dependencies: - semver "^6.0.0" - -make-error@1.x: - version "1.3.5" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" - integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -marked@^4.0.12: - version "4.0.14" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.14.tgz#7a3a5fa5c80580bac78c1ed2e3b84d7bd6fc3870" - integrity sha512-HL5sSPE/LP6U9qKgngIIPTthuxC0jrfxpYMZ3LdGDD3vTnLs59m2Z7r6+LNDR3ToqEQdkKd6YaaEfJhodJmijQ== - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -memdown@^1.0.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.4.1.tgz#b4e4e192174664ffbae41361aa500f3119efe215" - integrity sha1-tOThkhdGZP+65BNhqlAPMRnv4hU= - dependencies: - abstract-leveldown "~2.7.1" - functional-red-black-tree "^1.0.1" - immediate "^3.2.3" - inherits "~2.0.1" - ltgt "~2.2.0" - safe-buffer "~5.1.1" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz#982ca1b5a0fde00eed2f6aeed1f9152860b8208a" - integrity sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g== - dependencies: - async "^1.4.2" - ethereumjs-util "^5.0.0" - level-ws "0.0.0" - levelup "^1.2.1" - memdown "^1.0.0" - readable-stream "^2.0.0" - rlp "^2.0.0" - semaphore ">=1.0.1" - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -mime-db@1.40.0: - version "1.40.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" - integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.24" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" - integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== - dependencies: - mime-db "1.40.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" - integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= - dependencies: - dom-walk "^0.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" - integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.1.1, minimist@^1.2.0: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - -minipass@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" - integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== - dependencies: - yallist "^4.0.0" - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@1.x, mkdirp@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.2, ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -multiformats@^9.5.2: - version "9.5.2" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.5.2.tgz#14256e49bac8b6a5ecb558c4d3c347bb94873d65" - integrity sha512-nLQ9s7YOVtZdeNOVvCkNyFiZdS3wyq0gvCIvdm7Zy1zw3zBoColJKjMkIPXNdTqT7ruuq+G7HrezIN0cXiAZ0w== - -nan@2.13.2: - version "2.13.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7" - integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw== - -nan@^2.14.0, nan@^2.2.1: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== - -nanoid@^3.1.31: - version "3.1.31" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.31.tgz#f5b58a1ce1b7604da5f0605757840598d8974dc6" - integrity sha512-ZivnJm0o9bb13p2Ot5CpgC2rQdzB9Uxm/mFZweqm5eMViqOJe3PV6LU2E30SiLgheesmcPrjquqraoolONSA0A== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -nise@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/nise/-/nise-4.0.4.tgz#d73dea3e5731e6561992b8f570be9e363c4512dd" - integrity sha512-bTTRUNlemx6deJa+ZyoCUTRvH3liK5+N6VQZ4NIw90AgDXY6iPnsqplNFf6STcj+ePk0H/xqxnP75Lr0J0Fq3A== - dependencies: - "@sinonjs/commons" "^1.7.0" - "@sinonjs/fake-timers" "^6.0.0" - "@sinonjs/text-encoding" "^0.7.1" - just-extend "^4.0.2" - path-to-regexp "^1.7.0" - -nock@^13.0.7: - version "13.0.7" - resolved "https://registry.yarnpkg.com/nock/-/nock-13.0.7.tgz#9bc718c66bd0862dfa14601a9ba678a406127910" - integrity sha512-WBz73VYIjdbO6BwmXODRQLtn7B5tldA9pNpWJe5QTtTEscQlY5KXU4srnGzBOK2fWakkXj69gfTnXGzmrsaRWw== - dependencies: - debug "^4.1.0" - json-stringify-safe "^5.0.1" - lodash.set "^4.3.2" - propagate "^2.0.0" - -node-addon-api@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" - integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== - -node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-gyp-build@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" - integrity sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg== - -node-gyp@^7.1.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" - integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.3" - nopt "^5.0.0" - npmlog "^4.1.2" - request "^2.88.2" - rimraf "^3.0.2" - semver "^7.3.2" - tar "^6.0.2" - which "^2.0.2" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1" - integrity sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-normalize-package-bin@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" - integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0, npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npmlog@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -number-to-bn@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" - integrity sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA= - dependencies: - bn.js "4.11.6" - strip-hex-prefix "1.0.0" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -object-inspect@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" - integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== - -object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-keys@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" - integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" - integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" - -obs-store@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/obs-store/-/obs-store-4.0.3.tgz#b632ec7814baa604fae084a4c97e87c0b7a6d14c" - integrity sha512-+mm13kCRDv6IcvUDKTw0LIy5+dQhIktYaR/RwwZUFzOTi/fjMaNBnk42Adb94qZqJ00qWkjhQSZH7MXlKnTi8A== - dependencies: - readable-stream "^2.2.2" - safe-event-emitter "^1.0.1" - through2 "^2.0.3" - xtend "^4.0.1" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== - dependencies: - mimic-fn "^2.1.0" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -optionator@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - 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" - -p-each-series@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" - integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" - integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-headers@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.2.tgz#9545e8a4c1ae5eaea7d24992bca890281ed26e34" - integrity sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg== - dependencies: - for-each "^0.3.3" - string.prototype.trim "^1.1.2" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" - integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== - 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" - -parse5@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" - integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== - -parse5@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= - dependencies: - isarray "0.0.1" - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pbkdf2@^3.0.17: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -pbkdf2@^3.0.9: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.0.5: - version "2.2.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" - integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== - -picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" - integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -precond@0.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac" - integrity sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw= - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier-plugin-packagejson@^2.2.17: - version "2.2.17" - resolved "https://registry.yarnpkg.com/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.2.17.tgz#fc5c93203f9091ad063d9ea5960d2e1a989b94ac" - integrity sha512-Z1l3stIdkEzuv5w2ZyLl7mvl1Q/7vr2wjLAaKCQtafPHB7h09dir0tgXK/W5iEc/jP+C4XtvJl/HhiZBvPh4rQ== - dependencies: - sort-package-json "1.55.0" - -prettier@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" - integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== - -pretty-format@^25.2.1, pretty-format@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" - integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== - dependencies: - "@jest/types" "^25.5.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - -pretty-format@^26.0.0, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -pretty-format@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.4.2.tgz#d081d032b398e801e2012af2df1214ef75a81237" - integrity sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA== - dependencies: - "@jest/types" "^26.3.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - -pretty-format@^27.0.0, pretty-format@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.3.1.tgz#7e9486365ccdd4a502061fa761d3ab9ca1b78df5" - integrity sha512-DR/c+pvFc52nLimLROYjnXPtolawm+uWDxr4FjuLDLUn+ktWnSN851KoHwHzzqq6rfCOjkzN8FLgDrSub6UDuA== - dependencies: - "@jest/types" "^27.2.5" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -printj@~1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" - integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@~0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" - integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8= - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-to-callback@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/promise-to-callback/-/promise-to-callback-1.0.0.tgz#5d2a749010bfb67d963598fcd3960746a68feef7" - integrity sha1-XSp0kBC/tn2WNZj805YHRqaP7vc= - dependencies: - is-fn "^1.0.0" - set-immediate-shim "^1.0.1" - -prompts@^2.0.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz#f901dd2a2dfee080359c0e20059b24188d75ad35" - integrity sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.3" - -propagate@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" - integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -psl@^1.1.24: - version "1.3.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.0.tgz#e1ebf6a3b5564fa8376f3da2275da76d875ca1bd" - integrity sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag== - -psl@^1.1.28: - version "1.7.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c" - integrity sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" - integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -randombytes@^2.0.1, randombytes@^2.0.6, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -react-is@^16.12.0: - version "16.13.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.0.tgz#0f37c3613c34fe6b37cd7f763a0d6293ab15c527" - integrity sha512-GFMtL0vHkiBv9HluwNZTggSn/sCyEt9n02aM0dSAjGGyqyNlAyftYm4phPxdvCigG15JreC5biwxCgTAJZ7yAA== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -read-package-json-fast@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz#2dcb24d9e8dd50fb322042c8c35a954e6cc7ac9e" - integrity sha512-5fyFUyO9B799foVk4n6ylcoAktG/FbE3jwRKxvwaeSrIunaoMc0u81dzXxjeAFKOce7O5KncdfwpGvvs6r5PsQ== - dependencies: - json-parse-even-better-errors "^2.3.0" - npm-normalize-package-bin "^1.0.1" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -readable-stream@^1.0.33: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^2.0.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@~1.0.15: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-runtime@^0.13.2: - version "0.13.3" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" - integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== - -regextras@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.8.0.tgz#ec0f99853d4912839321172f608b544814b02217" - integrity sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ== - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.7, request-promise-native@^1.0.8: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.85.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.0" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.4.3" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -request@^2.88.0, request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.13.1, resolve@^1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.10.1: - version "1.19.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" - integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== - dependencies: - is-core-module "^2.1.0" - path-parse "^1.0.6" - -resolve@^1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -resolve@^1.3.2, resolve@^1.8.1: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== - dependencies: - path-parse "^1.0.6" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rlp@^2.0.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.3.tgz#7f94aef86cec412df87d5ea1d8cb116a47d45f0e" - integrity sha512-l6YVrI7+d2vpW6D6rS05x2Xrmq8oW7v3pieZOJKBEdjuTF4Kz/iwk55Zyh1Zaz+KOB2kC8+2jZlp2u9L4tTzCQ== - dependencies: - bn.js "^4.11.1" - safe-buffer "^5.1.1" - -rlp@^2.2.3, rlp@^2.2.6: - version "2.2.7" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" - integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== - dependencies: - bn.js "^5.2.0" - -rlp@^2.2.4: - version "2.2.6" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.6.tgz#c80ba6266ac7a483ef1e69e8e2f056656de2fb2c" - integrity sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg== - dependencies: - bn.js "^4.11.1" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -run-parallel@^1.1.9: - version "1.1.10" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" - integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== - -rustbn.js@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/rustbn.js/-/rustbn.js-0.2.0.tgz#8082cb886e707155fd1cb6f23bd591ab8d55d0ca" - integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== - -safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-event-emitter@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz#5b692ef22329ed8f69fdce607e50ca734f6f20af" - integrity sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg== - dependencies: - events "^3.0.0" - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^3.1.9: - version "3.1.11" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" - integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== - dependencies: - xmlchars "^2.1.1" - -saxes@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -scrypt-js@3.0.1, scrypt-js@^3.0.0, scrypt-js@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - -secp256k1@^3.0.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.7.1.tgz#12e473e0e9a7c2f2d4d4818e722ad0e14cc1e2f1" - integrity sha512-1cf8sbnRreXrQFdH6qsg2H71Xw91fCCS9Yp021GnUNJzWJS/py96fS4lHbnTnouLp08Xj6jBoBB6V78Tdbdu5g== - dependencies: - bindings "^1.5.0" - bip66 "^1.1.5" - bn.js "^4.11.8" - create-hash "^1.2.0" - drbg.js "^1.0.1" - elliptic "^6.4.1" - nan "^2.14.0" - safe-buffer "^5.1.2" - -secp256k1@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" - integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== - dependencies: - elliptic "^6.5.4" - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - -secp256k1@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.2.tgz#15dd57d0f0b9fdb54ac1fa1694f40e5e9a54f4a1" - integrity sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg== - dependencies: - elliptic "^6.5.2" - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - -semaphore@>=1.0.1, semaphore@^1.0.3: - version "1.1.0" - resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa" - integrity sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA== - -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@~5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -sha3@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/sha3/-/sha3-1.2.3.tgz#ed5958fa8331df1b1b8529ca9fdf225a340c5418" - integrity sha512-sOWDZi8cDBRkLfWOw18wvJyNblXDHzwMGnRWut8zNNeIeLnmMRO17bjpLc7OzMuj1ASUgx2IyohzUCAl+Kx5vA== - dependencies: - nan "2.13.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -shiki@^0.10.1: - version "0.10.1" - resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.10.1.tgz#6f9a16205a823b56c072d0f1a0bcd0f2646bef14" - integrity sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng== - dependencies: - jsonc-parser "^3.0.0" - vscode-oniguruma "^1.6.1" - vscode-textmate "5.2.0" - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - -signal-exit@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -single-call-balance-checker-abi@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/single-call-balance-checker-abi/-/single-call-balance-checker-abi-1.0.0.tgz#b369009fd4cc6214968cdba650ad93986315d92d" - integrity sha512-T5fRBJHmGEMe76JFGB36gcZnOh1ip2S7Qsp7cwmwrfMRjadxTe02zJHtXERpnQf2yvSqNWRxvae5f6e8v4rhng== - -sinon@^9.2.4: - version "9.2.4" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-9.2.4.tgz#e55af4d3b174a4443a8762fa8421c2976683752b" - integrity sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg== - dependencies: - "@sinonjs/commons" "^1.8.1" - "@sinonjs/fake-timers" "^6.0.1" - "@sinonjs/samsam" "^5.3.1" - diff "^4.0.2" - nise "^4.0.4" - supports-color "^7.1.0" - -sisteransi@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb" - integrity sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sort-object-keys@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/sort-object-keys/-/sort-object-keys-1.1.3.tgz#bff833fe85cab147b34742e45863453c1e190b45" - integrity sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg== - -sort-package-json@1.55.0: - version "1.55.0" - resolved "https://registry.yarnpkg.com/sort-package-json/-/sort-package-json-1.55.0.tgz#150328328a9ac8b417b43d5a1fae74e5f27254e9" - integrity sha512-xhKvRD8WGbALjXQkVuk4/93Z/2NIO+5IzKamdMjN5kn3L+N+M9YWQssmM6GXlQr9v1F7PGWsOJEo1gvXOhM7Mg== - dependencies: - detect-indent "^6.0.0" - detect-newline "3.1.0" - git-hooks-list "1.0.3" - globby "10.0.0" - is-plain-obj "2.1.0" - sort-object-keys "^1.1.3" - -source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== - dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== - -stack-utils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593" - integrity sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -string-length@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" - integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2": - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.trim@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" - integrity sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.0" - function-bind "^1.0.2" - -string.prototype.trimend@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-hex-prefix@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" - integrity sha1-DF8VX+8RUTczd96du1iNoFUA428= - dependencies: - is-hex-prefixed "1.0.0" - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -symbol-tree@^3.2.2, symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -table@^6.0.4: - version "6.0.7" - resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" - integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== - dependencies: - ajv "^7.0.2" - lodash "^4.17.20" - slice-ansi "^4.0.0" - string-width "^4.2.0" - -tar@^6.0.2: - version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through2@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -tmpl@1.0.x: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^2.3.3, tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== - dependencies: - psl "^1.1.24" - punycode "^1.4.1" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= - dependencies: - punycode "^2.1.0" - -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== - dependencies: - punycode "^2.1.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= - -ts-jest@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.2.tgz#5281d6b44c2f94f71205728a389edc3d7995b0c4" - integrity sha512-bwyJ2zJieSugf7RB+o8fgkMeoMVMM2KPDE0UklRLuACxjwJsOrZNo6chrcScmK33YavPSwhARffy8dZx5LJdUQ== - dependencies: - "@types/jest" "26.x" - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - jest-util "^26.1.0" - json5 "2.x" - lodash "4.x" - make-error "1.x" - mkdirp "1.x" - semver "7.x" - yargs-parser "20.x" - -tsconfig-paths@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" - integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.0" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.10.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" - integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== - -tslib@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" - integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== - -tslib@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tsutils@^3.17.1: - version "3.17.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" - integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== - dependencies: - tslib "^1.8.1" - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl-util@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.0.tgz#4576c1cee5e2d63d207fee52f1ba02819480bc75" - integrity sha1-RXbBzuXi1j0gf+5S8boCgZSAvHU= - -tweetnacl-util@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" - integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -tweetnacl@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.1.tgz#2594d42da73cd036bd0d2a54683dd35a6b55ca17" - integrity sha512-kcoMoKTPYnoeS50tzoqjPY3Uv9axeuuFAZY9M/9zFnhoVvRfxz9K29IMPD7jGmt2c8SW7i3gT9WqDl2+nV7p4A== - -tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8, type-detect@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typedoc-plugin-missing-exports@^0.22.6: - version "0.22.6" - resolved "https://registry.yarnpkg.com/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-0.22.6.tgz#7467c60f1cd26507124103f0b9bca271d5aa8d71" - integrity sha512-1uguGQqa+c5f33nWS3v1mm0uAx4Ii1lw4Kx2zQksmYFKNEWTmrmMXbMNBoBg4wu0p4dFCNC7JIWPoRzpNS6pFA== - -typedoc@^0.22.15: - version "0.22.15" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.22.15.tgz#c6ad7ed9d017dc2c3a06c9189cb392bd8e2d8c3f" - integrity sha512-CMd1lrqQbFvbx6S9G6fL4HKp3GoIuhujJReWqlIvSb2T26vGai+8Os3Mde7Pn832pXYemd9BMuuYWhFpL5st0Q== - dependencies: - glob "^7.2.0" - lunr "^2.3.9" - marked "^4.0.12" - minimatch "^5.0.1" - shiki "^0.10.1" - -typescript@~4.6.3: - version "4.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" - integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -utf8@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.2.tgz#1fa0d9270e9be850d9b05027f63519bf46457d96" - integrity sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY= - -utf8@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" - integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util@^0.12.0: - version "0.12.4" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" - integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - safe-buffer "^5.1.2" - which-typed-array "^1.1.2" - -uuid@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" - integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== - -uuid@^8.3.0, uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache@^2.0.3: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" - integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== - -v8-to-istanbul@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-5.0.1.tgz#0608f5b49a481458625edb058488607f25498ba5" - integrity sha512-mbDNjuDajqYe3TXFk5qxcQy8L1msXNE37WTlLoqqpBfRsimbNcrlhQlDPntmECEcUvdC+AQ8CyMMf6EUx1r74Q== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vscode-oniguruma@^1.6.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.6.2.tgz#aeb9771a2f1dbfc9083c8a7fdd9cccaa3f386607" - integrity sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA== - -vscode-textmate@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e" - integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ== - -w3c-hr-time@^1.0.1, w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" - integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== - dependencies: - domexception "^1.0.1" - webidl-conversions "^4.0.2" - xml-name-validator "^3.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -web3-provider-engine@^16.0.3: - version "16.0.3" - resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-16.0.3.tgz#8ff93edf3a8da2f70d7f85c5116028c06a0d9f07" - integrity sha512-Q3bKhGqLfMTdLvkd4TtkGYJHcoVQ82D1l8jTIwwuJp/sAp7VHnRYb9YJ14SW/69VMWoOhSpPLZV2tWb9V0WJoA== - dependencies: - "@ethereumjs/tx" "^3.3.0" - async "^2.5.0" - backoff "^2.5.0" - clone "^2.0.0" - cross-fetch "^2.1.0" - eth-block-tracker "^4.4.2" - eth-json-rpc-filters "^4.2.1" - eth-json-rpc-infura "^5.1.0" - eth-json-rpc-middleware "^6.0.0" - eth-rpc-errors "^3.0.0" - eth-sig-util "^1.4.2" - ethereumjs-block "^1.2.2" - ethereumjs-util "^5.1.5" - ethereumjs-vm "^2.3.4" - json-stable-stringify "^1.0.1" - promise-to-callback "^1.0.0" - readable-stream "^2.2.9" - request "^2.85.0" - semaphore "^1.0.3" - ws "^5.1.1" - xhr "^2.2.0" - xtend "^4.0.1" - -web3@^0.20.7: - version "0.20.7" - resolved "https://registry.yarnpkg.com/web3/-/web3-0.20.7.tgz#1605e6d81399ed6f85a471a4f3da0c8be57df2f7" - integrity sha512-VU6/DSUX93d1fCzBz7WP/SGCQizO1rKZi4Px9j/3yRyfssHyFcZamMw2/sj4E8TlfMXONvZLoforR8B4bRoyTQ== - dependencies: - bignumber.js "git+https://github.com/frozeman/bignumber.js-nolookahead.git" - crypto-js "^3.1.4" - utf8 "^2.1.1" - xhr2-cookies "^1.1.0" - xmlhttprequest "*" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-fetch@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" - integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== - -whatwg-fetch@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.4.1.tgz#e5f871572d6879663fa5674c8f833f15a8425ab3" - integrity sha512-sofZVzE1wKwO+EYPbWfiwzaKovWiZXf4coEzjGP9b2GBVgQRLQUZ2QcuPpQExGDAW5GItpEm6Tl4OU5mywnAoQ== - -whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^8.0.0: - version "8.2.2" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.2.2.tgz#85e7f9795108b53d554cec640b2e8aee2a0d4bfd" - integrity sha512-PcVnO6NiewhkmzV0qn7A+UZ9Xx4maNTI+O+TShmfE4pqjoCMwUMjkvoNhNHPTvgR7QH9Xt3R13iHuWy2sToFxQ== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^6.1.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which-typed-array@^1.1.2: - version "1.1.7" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.7.tgz#2761799b9a22d4b8660b3c1b40abaa7739691793" - integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-abstract "^1.18.5" - foreach "^2.0.5" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.7" - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - -ws@^5.1.1: - version "5.2.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" - integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== - dependencies: - async-limiter "~1.0.0" - -ws@^7.0.0, ws@^7.2.3: - version "7.3.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" - integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== - -xhr2-cookies@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48" - integrity sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg= - dependencies: - cookiejar "^2.1.1" - -xhr2@0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.1.3.tgz#cbfc4759a69b4a888e78cf4f20b051038757bd11" - integrity sha1-y/xHWaabSoiOeM9PILBRA4dXvRE= - -xhr@^2.2.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd" - integrity sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ== - dependencies: - global "~4.3.0" - is-function "^1.0.1" - parse-headers "^2.0.0" - xtend "^4.0.0" - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.1.1, xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xmlhttprequest@*: - version "1.8.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" - integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw= - -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -xtend@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" - integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os= - dependencies: - object-keys "~0.4.0" - -y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@20.x: - version "20.2.6" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.6.tgz#69f920addf61aafc0b8b89002f5d66e28f2d8b20" - integrity sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA== - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.2: - version "20.2.7" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" - integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== - -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^17.0.1: - version "17.0.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.0.1.tgz#6a1ced4ed5ee0b388010ba9fd67af83b9362e0bb" - integrity sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" + version: 2.0.7 + resolution: "bignumber.js@https://github.com/frozeman/bignumber.js-nolookahead.git#commit=57692b3ecfc98bbdd6b3a516cb2353652ea49934" + checksum: 8f9d21a8c7ef04b70098c49760679ee469e84f5469595c08aa01af47e1bae7703ae474f02abc89aa106e034e3b3faca0c0fd4faae72a037f2d45f4b26cbd6c3d + languageName: node + linkType: hard + +"bignumber.js@npm:^9.0.1": + version: 9.0.2 + resolution: "bignumber.js@npm:9.0.2" + checksum: 8637b71d0a99104b20413c47578953970006fec6b4df796b9dcfd9835ea9c402ea0e727eba9a5ca9f9a393c1d88b6168c5bbe0887598b708d4f8b4870ad62e1f + languageName: node + linkType: hard + +"bindings@npm:^1.2.1, bindings@npm:^1.5.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: 1.0.0 + checksum: 65b6b48095717c2e6105a021a7da4ea435aa8d3d3cd085cb9e85bcb6e5773cf318c4745c3f7c504412855940b585bdf9b918236612a1c7a7942491de176f1ae7 + languageName: node + linkType: hard + +"bip66@npm:^1.1.5": + version: 1.1.5 + resolution: "bip66@npm:1.1.5" + dependencies: + safe-buffer: ^5.0.1 + checksum: 956cff6e51d7206571ef8ce875bc5fa61b5c181589790b9155799b7edcae4b20dbb3eed43b188ff3eec27cdbe98e0b7e0ec9f1cb2e4f5370c119028b248ad859 + languageName: node + linkType: hard + +"blakejs@npm:^1.1.0": + version: 1.1.0 + resolution: "blakejs@npm:1.1.0" + checksum: 69df62aee27e30ff2af8d709dd4676e037f2e92ded09b0d1a8187d1a69edaf05f4e63f3f473a0e44576e517196e54193641eec345bcc505c8a221940ec491141 + languageName: node + linkType: hard + +"bn.js@npm:4.11.6": + version: 4.11.6 + resolution: "bn.js@npm:4.11.6" + checksum: db23047bf06fdf9cf74401c8e76bca9f55313c81df382247d2c753868b368562e69171716b81b7038ada8860af18346fd4bcd1cf9d4963f923fe8e54e61cb58a + languageName: node + linkType: hard + +"bn.js@npm:^4.10.0, bn.js@npm:^4.11.0, bn.js@npm:^4.11.1, bn.js@npm:^4.11.8, bn.js@npm:^4.11.9, bn.js@npm:^4.8.0": + version: 4.12.0 + resolution: "bn.js@npm:4.12.0" + checksum: 39afb4f15f4ea537b55eaf1446c896af28ac948fdcf47171961475724d1bb65118cca49fa6e3d67706e4790955ec0e74de584e45c8f1ef89f46c812bee5b5a12 + languageName: node + linkType: hard + +"bn.js@npm:^5.1.2": + version: 5.1.3 + resolution: "bn.js@npm:5.1.3" + checksum: 6a51cf48699e4b01d5afcec842e406052c358c9644da79d620a9a79e532908732e63849ee6e7b4680967bf866dcb22ae9da18ee1695448846957ba3421f0a2a3 + languageName: node + linkType: hard + +"bn.js@npm:^5.2.0": + version: 5.2.0 + resolution: "bn.js@npm:5.2.0" + checksum: 6117170393200f68b35a061ecbf55d01dd989302e7b3c798a3012354fa638d124f0b2f79e63f77be5556be80322a09c40339eda6413ba7468524c0b6d4b4cb7a + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: ^1.0.0 + concat-map: 0.0.1 + checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: ^1.0.0 + checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 + languageName: node + linkType: hard + +"braces@npm:^2.3.1": + version: 2.3.2 + resolution: "braces@npm:2.3.2" + dependencies: + arr-flatten: ^1.1.0 + array-unique: ^0.3.2 + extend-shallow: ^2.0.1 + fill-range: ^4.0.0 + isobject: ^3.0.1 + repeat-element: ^1.1.2 + snapdragon: ^0.8.1 + snapdragon-node: ^2.0.1 + split-string: ^3.0.2 + to-regex: ^3.0.1 + checksum: e30dcb6aaf4a31c8df17d848aa283a65699782f75ad61ae93ec25c9729c66cf58e66f0000a9fec84e4add1135bb7da40f7cb9601b36bebcfa9ca58e8d5c07de0 + languageName: node + linkType: hard + +"braces@npm:^3.0.1": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: ^7.0.1 + checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459 + languageName: node + linkType: hard + +"brorand@npm:^1.1.0": + version: 1.1.0 + resolution: "brorand@npm:1.1.0" + checksum: 8a05c9f3c4b46572dec6ef71012b1946db6cae8c7bb60ccd4b7dd5a84655db49fe043ecc6272e7ef1f69dc53d6730b9e2a3a03a8310509a3d797a618cbee52be + languageName: node + linkType: hard + +"browser-passworder@npm:^2.0.3": + version: 2.0.3 + resolution: "browser-passworder@npm:2.0.3" + dependencies: + browserify-unibabel: ^3.0.0 + checksum: df3ec46e1069f995e24f56979e825fd719a368187e307bd37f0440ac10833fbfb2fd02be02add9da2da991476ef9b146fd1480b04acbb8d96d4e4123af333667 + languageName: node + linkType: hard + +"browser-process-hrtime@npm:^1.0.0": + version: 1.0.0 + resolution: "browser-process-hrtime@npm:1.0.0" + checksum: e30f868cdb770b1201afb714ad1575dd86366b6e861900884665fb627109b3cc757c40067d3bfee1ff2a29c835257ea30725a8018a9afd02ac1c24b408b1e45f + languageName: node + linkType: hard + +"browserify-aes@npm:^1.0.6, browserify-aes@npm:^1.2.0": + version: 1.2.0 + resolution: "browserify-aes@npm:1.2.0" + dependencies: + buffer-xor: ^1.0.3 + cipher-base: ^1.0.0 + create-hash: ^1.1.0 + evp_bytestokey: ^1.0.3 + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + checksum: 4a17c3eb55a2aa61c934c286f34921933086bf6d67f02d4adb09fcc6f2fc93977b47d9d884c25619144fccd47b3b3a399e1ad8b3ff5a346be47270114bcf7104 + languageName: node + linkType: hard + +"browserify-sha3@npm:^0.0.4": + version: 0.0.4 + resolution: "browserify-sha3@npm:0.0.4" + dependencies: + js-sha3: ^0.6.1 + safe-buffer: ^5.1.1 + checksum: 08541e18dab5f2ec48d90257e36ceaafe5d3caaed0f0dc8ba05aa4a21db68305e8acb58e4116162bb279f427b3dca1ea112eb835dff2182640c9597e06d34251 + languageName: node + linkType: hard + +"browserify-unibabel@npm:^3.0.0": + version: 3.0.0 + resolution: "browserify-unibabel@npm:3.0.0" + checksum: fe1b502c098fe5f22d12023ec971791a00c910575712782b611917b1aea6e2311ac5adad2f1dbfaa26555346bc0f74ed5b3d8773b493d3ec5bc1928d90619c42 + languageName: node + linkType: hard + +"bs-logger@npm:0.x": + version: 0.2.6 + resolution: "bs-logger@npm:0.2.6" + dependencies: + fast-json-stable-stringify: 2.x + checksum: d34bdaf68c64bd099ab97c3ea608c9ae7d3f5faa1178b3f3f345acd94e852e608b2d4f9103fb2e503f5e69780e98293df41691b84be909b41cf5045374d54606 + languageName: node + linkType: hard + +"bs58@npm:^3.0.0": + version: 3.1.0 + resolution: "bs58@npm:3.1.0" + dependencies: + base-x: ^1.1.0 + checksum: 6d757a49958c43bc630f3b327511ce3ee065307c24240aa86189f72df0a4a8245c7ce7e7abad209b637f155006952c7b8f04bb4aa6ee4212a891882424bca82e + languageName: node + linkType: hard + +"bs58@npm:^4.0.0": + version: 4.0.1 + resolution: "bs58@npm:4.0.1" + dependencies: + base-x: ^3.0.2 + checksum: b3c5365bb9e0c561e1a82f1a2d809a1a692059fae016be233a6127ad2f50a6b986467c3a50669ce4c18929dcccb297c5909314dd347a25a68c21b68eb3e95ac2 + languageName: node + linkType: hard + +"bs58check@npm:^2.1.2": + version: 2.1.2 + resolution: "bs58check@npm:2.1.2" + dependencies: + bs58: ^4.0.0 + create-hash: ^1.1.0 + safe-buffer: ^5.1.2 + checksum: 43bdf08a5dd04581b78f040bc4169480e17008da482ffe2a6507327bbc4fc5c28de0501f7faf22901cfe57fbca79cbb202ca529003fedb4cb8dccd265b38e54d + languageName: node + linkType: hard + +"bser@npm:^2.0.0": + version: 2.1.0 + resolution: "bser@npm:2.1.0" + dependencies: + node-int64: ^0.4.0 + checksum: e9fd82be9177b0f6c96bb63691161d16bc35254bb613cf3c1f75e9cb630fe7f479578a9d003a9d30e07e7218d3f9676deb23d52fe7cc6074d1e61feeca1a70bf + languageName: node + linkType: hard + +"btoa@npm:^1.2.1": + version: 1.2.1 + resolution: "btoa@npm:1.2.1" + bin: + btoa: bin/btoa.js + checksum: afbf004fb1b1d530e053ffa66ef5bd3878b101c59d808ac947fcff96810b4452abba2b54be687adadea2ba9efc7af48b04228742789bf824ef93f103767e690c + languageName: node + linkType: hard + +"buffer-from@npm:1.x, buffer-from@npm:^1.0.0": + version: 1.1.1 + resolution: "buffer-from@npm:1.1.1" + checksum: ccc53b69736008bff764497367c4d24879ba7122bc619ee499ff47eef3a5b885ca496e87272e7ebffa0bec3804c83f84041c616f6e3318f40624e27c1d80f045 + languageName: node + linkType: hard + +"buffer-xor@npm:^1.0.3": + version: 1.0.3 + resolution: "buffer-xor@npm:1.0.3" + checksum: 10c520df29d62fa6e785e2800e586a20fc4f6dfad84bcdbd12e1e8a83856de1cb75c7ebd7abe6d036bbfab738a6cf18a3ae9c8e5a2e2eb3167ca7399ce65373a + languageName: node + linkType: hard + +"buffer@npm:^5.1.0": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" + dependencies: + base64-js: ^1.3.1 + ieee754: ^1.1.13 + checksum: e2cf8429e1c4c7b8cbd30834ac09bd61da46ce35f5c22a78e6c2f04497d6d25541b16881e30a019c6fd3154150650ccee27a308eff3e26229d788bbdeb08ab84 + languageName: node + linkType: hard + +"buffer@npm:^5.2.1": + version: 5.4.0 + resolution: "buffer@npm:5.4.0" + dependencies: + base64-js: ^1.0.2 + ieee754: ^1.1.4 + checksum: ca8b2b7dce2dccd049182cf886772b09c9b4b52f3557557513c6130c721c10fe4c8dea08bbaca1ad8a10a69055266526d601be47d77103ca70959f668cf02b0d + languageName: node + linkType: hard + +"cacache@npm:^16.1.0": + version: 16.1.1 + resolution: "cacache@npm:16.1.1" + dependencies: + "@npmcli/fs": ^2.1.0 + "@npmcli/move-file": ^2.0.0 + chownr: ^2.0.0 + fs-minipass: ^2.1.0 + glob: ^8.0.1 + infer-owner: ^1.0.4 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + mkdirp: ^1.0.4 + p-map: ^4.0.0 + promise-inflight: ^1.0.1 + rimraf: ^3.0.2 + ssri: ^9.0.0 + tar: ^6.1.11 + unique-filename: ^1.1.1 + checksum: 488524617008b793f0249b0c4ea2c330c710ca997921376e15650cc2415a8054491ae2dee9f01382c2015602c0641f3f977faf2fa7361aa33d2637dcfb03907a + languageName: node + linkType: hard + +"cache-base@npm:^1.0.1": + version: 1.0.1 + resolution: "cache-base@npm:1.0.1" + dependencies: + collection-visit: ^1.0.0 + component-emitter: ^1.2.1 + get-value: ^2.0.6 + has-value: ^1.0.0 + isobject: ^3.0.1 + set-value: ^2.0.0 + to-object-path: ^0.3.0 + union-value: ^1.0.0 + unset-value: ^1.0.0 + checksum: 9114b8654fe2366eedc390bad0bcf534e2f01b239a888894e2928cb58cdc1e6ea23a73c6f3450dcfd2058aa73a8a981e723cd1e7c670c047bf11afdc65880107 + languageName: node + linkType: hard + +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind@npm:1.0.2" + dependencies: + function-bind: ^1.1.1 + get-intrinsic: ^1.0.2 + checksum: f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0 + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 + languageName: node + linkType: hard + +"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b + languageName: node + linkType: hard + +"camelcase@npm:^6.0.0": + version: 6.0.0 + resolution: "camelcase@npm:6.0.0" + checksum: 28f42db097786fb9edb4a80af6cfa67331a9120e00323aaac925f0520797e79eaef9fd771c62b0403468bfd596e528e426863176ae8bb992d086dc991deabebb + languageName: node + linkType: hard + +"capture-exit@npm:^2.0.0": + version: 2.0.0 + resolution: "capture-exit@npm:2.0.0" + dependencies: + rsvp: ^4.8.4 + checksum: 0b9f10daca09e521da9599f34c8e7af14ad879c336e2bdeb19955b375398ae1c5bcc91ac9f2429944343057ee9ed028b1b2fb28816c384e0e55d70c439b226f4 + languageName: node + linkType: hard + +"caseless@npm:~0.12.0": + version: 0.12.0 + resolution: "caseless@npm:0.12.0" + checksum: b43bd4c440aa1e8ee6baefee8063b4850fd0d7b378f6aabc796c9ec8cb26d27fb30b46885350777d9bd079c5256c0e1329ad0dc7c2817e0bb466810ebb353751 + languageName: node + linkType: hard + +"cbor-sync@npm:^1.0.4": + version: 1.0.4 + resolution: "cbor-sync@npm:1.0.4" + checksum: 147834c64b43511b2ea601f02bc2cc4190ec8d41a7b8dc3e9037c636b484ca2124bc7d49da7a0f775ea5153ff799d57e45992816851dbb1d61335f308a0d0120 + languageName: node + linkType: hard + +"chalk@npm:^2.0.0": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: ^3.2.1 + escape-string-regexp: ^1.0.5 + supports-color: ^5.3.0 + checksum: ec3661d38fe77f681200f878edbd9448821924e0f93a9cefc0e26a33b145f1027a2084bf19967160d11e1f03bfe4eaffcabf5493b89098b2782c3fe0b03d80c2 + languageName: node + linkType: hard + +"chalk@npm:^3.0.0": + version: 3.0.0 + resolution: "chalk@npm:3.0.0" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 8e3ddf3981c4da405ddbd7d9c8d91944ddf6e33d6837756979f7840a29272a69a5189ecae0ff84006750d6d1e92368d413335eab4db5476db6e6703a1d1e0505 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0": + version: 4.1.0 + resolution: "chalk@npm:4.1.0" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 5561c7b4c063badee3e16d04bce50bd033e1be1bf4c6948639275683ffa7a1993c44639b43c22b1c505f0f813a24b1889037eb182546b48946f9fe7cdd0e7d13 + languageName: node + linkType: hard + +"char-regex@npm:^1.0.2": + version: 1.0.2 + resolution: "char-regex@npm:1.0.2" + checksum: b563e4b6039b15213114626621e7a3d12f31008bdce20f9c741d69987f62aeaace7ec30f6018890ad77b2e9b4d95324c9f5acfca58a9441e3b1dcdd1e2525d17 + languageName: node + linkType: hard + +"checkpoint-store@npm:^1.1.0": + version: 1.1.0 + resolution: "checkpoint-store@npm:1.1.0" + dependencies: + functional-red-black-tree: ^1.0.1 + checksum: 94e921ccb222c7970615e8b2bcd956dbd52f15a1c397af0447dbdef8ecd32ffe342e394d39e55f2912278a460f3736de777b5b57a5baf229c0a6bd04d2465511 + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f + languageName: node + linkType: hard + +"ci-info@npm:^2.0.0": + version: 2.0.0 + resolution: "ci-info@npm:2.0.0" + checksum: 3b374666a85ea3ca43fa49aa3a048d21c9b475c96eb13c133505d2324e7ae5efd6a454f41efe46a152269e9b6a00c9edbe63ec7fa1921957165aae16625acd67 + languageName: node + linkType: hard + +"cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": + version: 1.0.4 + resolution: "cipher-base@npm:1.0.4" + dependencies: + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + checksum: 47d3568dbc17431a339bad1fe7dff83ac0891be8206911ace3d3b818fc695f376df809bea406e759cdea07fff4b454fa25f1013e648851bec790c1d75763032e + languageName: node + linkType: hard + +"class-utils@npm:^0.3.5": + version: 0.3.6 + resolution: "class-utils@npm:0.3.6" + dependencies: + arr-union: ^3.1.0 + define-property: ^0.2.5 + isobject: ^3.0.0 + static-extend: ^0.1.1 + checksum: be108900801e639e50f96a7e4bfa8867c753a7750a7603879f3981f8b0a89cba657497a2d5f40cd4ea557ff15d535a100818bb486baf6e26fe5d7872e75f1078 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 2ac8cd2b2f5ec986a3c743935ec85b07bc174d5421a5efc8017e1f146a1cf5f781ae962618f416352103b32c9cd7e203276e8c28241bbe946160cab16149fb68 + languageName: node + linkType: hard + +"cliui@npm:^6.0.0": + version: 6.0.0 + resolution: "cliui@npm:6.0.0" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.0 + wrap-ansi: ^6.2.0 + checksum: 4fcfd26d292c9f00238117f39fc797608292ae36bac2168cfee4c85923817d0607fe21b3329a8621e01aedf512c99b7eaa60e363a671ffd378df6649fb48ae42 + languageName: node + linkType: hard + +"cliui@npm:^7.0.2": + version: 7.0.4 + resolution: "cliui@npm:7.0.4" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.0 + wrap-ansi: ^7.0.0 + checksum: ce2e8f578a4813806788ac399b9e866297740eecd4ad1823c27fd344d78b22c5f8597d548adbcc46f0573e43e21e751f39446c5a5e804a12aace402b7a315d7f + languageName: node + linkType: hard + +"clone@npm:^2.0.0, clone@npm:^2.1.1": + version: 2.1.2 + resolution: "clone@npm:2.1.2" + checksum: aaf106e9bc025b21333e2f4c12da539b568db4925c0501a1bf4070836c9e848c892fa22c35548ce0d1132b08bbbfa17a00144fe58fccdab6fa900fec4250f67d + languageName: node + linkType: hard + +"co@npm:^4.6.0": + version: 4.6.0 + resolution: "co@npm:4.6.0" + checksum: 5210d9223010eb95b29df06a91116f2cf7c8e0748a9013ed853b53f362ea0e822f1e5bb054fb3cefc645239a4cf966af1f6133a3b43f40d591f3b68ed6cf0510 + languageName: node + linkType: hard + +"code-point-at@npm:^1.0.0": + version: 1.1.0 + resolution: "code-point-at@npm:1.1.0" + checksum: 17d5666611f9b16d64fdf48176d9b7fb1c7d1c1607a189f7e600040a11a6616982876af148230336adb7d8fe728a559f743a4e29db3747e3b1a32fa7f4529681 + languageName: node + linkType: hard + +"collect-v8-coverage@npm:^1.0.0": + version: 1.0.0 + resolution: "collect-v8-coverage@npm:1.0.0" + checksum: 99d6059eb0e04bf792e27824d43d1139ede28914b7f55ddedd9c43594926221579fa6925ecc7e2f47dec14f5199e5ea3afbfc1da9a32ad542f859022d57f9d80 + languageName: node + linkType: hard + +"collection-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "collection-visit@npm:1.0.0" + dependencies: + map-visit: ^1.0.0 + object-visit: ^1.0.0 + checksum: 15d9658fe6eb23594728346adad5433b86bb7a04fd51bbab337755158722f9313a5376ef479de5b35fbc54140764d0d39de89c339f5d25b959ed221466981da9 + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: 1.1.3 + checksum: fd7a64a17cde98fb923b1dd05c5f2e6f7aefda1b60d67e8d449f9328b4e53b228a428fd38bfeaeb2db2ff6b6503a776a996150b80cdf224062af08a5c8a3a203 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: ~1.1.4 + checksum: 79e6bdb9fd479a205c71d89574fccfb22bd9053bd98c6c4d870d65c132e5e904e6034978e55b43d69fcaa7433af2016ee203ce76eeba9cfa554b373e7f7db336 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 09c5d3e33d2105850153b14466501f2bfb30324a2f76568a408763a3b7433b0e50e5b4ab1947868e65cb101bb7cb75029553f2c333b6d4b8138a73fcc133d69d + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 + languageName: node + linkType: hard + +"color-support@npm:^1.1.3": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 9b7356817670b9a13a26ca5af1c21615463b500783b739b7634a0c2047c16cef4b2865d7576875c31c3cddf9dd621fa19285e628f20198b233a5cfdda6d0793b + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.6, combined-stream@npm:~1.0.6": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: ~1.0.0 + checksum: 49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c + languageName: node + linkType: hard + +"comment-parser@npm:1.2.4": + version: 1.2.4 + resolution: "comment-parser@npm:1.2.4" + checksum: 36ac280bce4c472fac22b3ec4d8aebb4d3d7c22c6808c70174f4deabee3b82144db66f8bd61eca9c514a6d0f12f6087ddab99e7d531e660d0da793b4730fd445 + languageName: node + linkType: hard + +"component-emitter@npm:^1.2.1": + version: 1.3.0 + resolution: "component-emitter@npm:1.3.0" + checksum: b3c46de38ffd35c57d1c02488355be9f218e582aec72d72d1b8bbec95a3ac1b38c96cd6e03ff015577e68f550fbb361a3bfdbd9bb248be9390b7b3745691be6b + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 902a9f5d8967a3e2faf138d5cb784b9979bad2e6db5357c5b21c568df4ebe62bcb15108af1b2253744844eb964fc023fbd9afbbbb6ddd0bcc204c6fb5b7bf3af + languageName: node + linkType: hard + +"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0, console-control-strings@npm:~1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed + languageName: node + linkType: hard + +"contains-path@npm:^0.1.0": + version: 0.1.0 + resolution: "contains-path@npm:0.1.0" + checksum: 94ecfd944e0bc51be8d3fc596dcd17d705bd4c8a1a627952a3a8c5924bac01c7ea19034cf40b4b4f89e576cdead130a7e5fd38f5f7f07ef67b4b261d875871e3 + languageName: node + linkType: hard + +"convert-source-map@npm:^1.1.0, convert-source-map@npm:^1.4.0": + version: 1.6.0 + resolution: "convert-source-map@npm:1.6.0" + dependencies: + safe-buffer: ~5.1.1 + checksum: c4af323f4d79b53234f187014804fb35abc09b3a8e8bd332ce49d3054f46599bee7c5cadc069e4800f480788f63f09377a20e96806cf42b4bf9673a2096daf57 + languageName: node + linkType: hard + +"convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": + version: 1.7.0 + resolution: "convert-source-map@npm:1.7.0" + dependencies: + safe-buffer: ~5.1.1 + checksum: bcd2e3ea7d37f96b85a6e362c8a89402ccc73757256e3ee53aa2c22fe915adb854c66b1f81111be815a3a6a6ce3c58e8001858e883c9d5b4fe08a853fa865967 + languageName: node + linkType: hard + +"cookiejar@npm:^2.1.1": + version: 2.1.2 + resolution: "cookiejar@npm:2.1.2" + checksum: 706cad1a56db51dfb13c1fef73dab8e7fabcfdfbe5d58d463139b4af1482603291832053cc85564bc998a05784956a6cf0ac667414a0a8d7765c65ed3ed42f3e + languageName: node + linkType: hard + +"copy-descriptor@npm:^0.1.0": + version: 0.1.1 + resolution: "copy-descriptor@npm:0.1.1" + checksum: d4b7b57b14f1d256bb9aa0b479241048afd7f5bcf22035fc7b94e8af757adeae247ea23c1a774fe44869fd5694efba4a969b88d966766c5245fdee59837fe45b + languageName: node + linkType: hard + +"core-js@npm:^2.4.0": + version: 2.6.12 + resolution: "core-js@npm:2.6.12" + checksum: 44fa9934a85f8c78d61e0c8b7b22436330471ffe59ec5076fe7f324d6e8cf7f824b14b1c81ca73608b13bdb0fef035bd820989bf059767ad6fa13123bb8bd016 + languageName: node + linkType: hard + +"core-util-is@npm:1.0.2, core-util-is@npm:~1.0.0": + version: 1.0.2 + resolution: "core-util-is@npm:1.0.2" + checksum: 7a4c925b497a2c91421e25bf76d6d8190f0b2359a9200dbeed136e63b2931d6294d3b1893eda378883ed363cd950f44a12a401384c609839ea616befb7927dab + languageName: node + linkType: hard + +"crc-32@npm:^1.2.0": + version: 1.2.0 + resolution: "crc-32@npm:1.2.0" + dependencies: + exit-on-epipe: ~1.0.1 + printj: ~1.1.0 + bin: + crc32: ./bin/crc32.njs + checksum: 7bcde8bea262f6629ac3c70e20bdfa3d058dc77091705ce8620513f76f19b41fc273ddd65a716eef9b4e33fbb61ff7f9b266653d214319aef27e4223789c6b9e + languageName: node + linkType: hard + +"crc@npm:^3.8.0": + version: 3.8.0 + resolution: "crc@npm:3.8.0" + dependencies: + buffer: ^5.1.0 + checksum: dabbc4eba223b206068b92ca82bb471d583eb6be2384a87f5c3712730cfd6ba4b13a45e8ba3ef62174d5a781a2c5ac5c20bf36cf37bba73926899bd0aa19186f + languageName: node + linkType: hard + +"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": + version: 1.2.0 + resolution: "create-hash@npm:1.2.0" + dependencies: + cipher-base: ^1.0.1 + inherits: ^2.0.1 + md5.js: ^1.3.4 + ripemd160: ^2.0.1 + sha.js: ^2.4.0 + checksum: 02a6ae3bb9cd4afee3fabd846c1d8426a0e6b495560a977ba46120c473cb283be6aa1cace76b5f927cf4e499c6146fb798253e48e83d522feba807d6b722eaa9 + languageName: node + linkType: hard + +"create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": + version: 1.1.7 + resolution: "create-hmac@npm:1.1.7" + dependencies: + cipher-base: ^1.0.3 + create-hash: ^1.1.0 + inherits: ^2.0.1 + ripemd160: ^2.0.0 + safe-buffer: ^5.0.1 + sha.js: ^2.4.8 + checksum: ba12bb2257b585a0396108c72830e85f882ab659c3320c83584b1037f8ab72415095167ced80dc4ce8e446a8ecc4b2acf36d87befe0707d73b26cf9dc77440ed + languageName: node + linkType: hard + +"cross-fetch@npm:^2.1.0": + version: 2.2.6 + resolution: "cross-fetch@npm:2.2.6" + dependencies: + node-fetch: ^2.6.7 + whatwg-fetch: ^2.0.4 + checksum: df9c6728b314ff96022dca468a3d2a05b4546cd318d82a7e1f1445e7160472d39029bccbe5f20d319b8ba3793930592b0b956244aef6a87a133fbcfed85fc8ca + languageName: node + linkType: hard + +"cross-spawn@npm:^6.0.0": + version: 6.0.5 + resolution: "cross-spawn@npm:6.0.5" + dependencies: + nice-try: ^1.0.4 + path-key: ^2.0.1 + semver: ^5.5.0 + shebang-command: ^1.2.0 + which: ^1.2.9 + checksum: f893bb0d96cd3d5751d04e67145bdddf25f99449531a72e82dcbbd42796bbc8268c1076c6b3ea51d4d455839902804b94bc45dfb37ecbb32ea8e54a6741c3ab9 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: ^3.1.0 + shebang-command: ^2.0.0 + which: ^2.0.1 + checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 + languageName: node + linkType: hard + +"crypto-js@npm:^3.1.4": + version: 3.1.8 + resolution: "crypto-js@npm:3.1.8" + checksum: 9c827948c55877a058a5b15fe0581319c339debb3308aff5adb35fe15782c83e11daf159aa8518963755efc1390c5769bf667fa30834a7095123618ea3cedbed + languageName: node + linkType: hard + +"cssom@npm:^0.4.1, cssom@npm:^0.4.4": + version: 0.4.4 + resolution: "cssom@npm:0.4.4" + checksum: e3bc1076e7ee4213d4fef05e7ae03bfa83dc05f32611d8edc341f4ecc3d9647b89c8245474c7dd2cdcdb797a27c462e99da7ad00a34399694559f763478ff53f + languageName: node + linkType: hard + +"cssom@npm:~0.3.6": + version: 0.3.8 + resolution: "cssom@npm:0.3.8" + checksum: 24beb3087c76c0d52dd458be9ee1fbc80ac771478a9baef35dd258cdeb527c68eb43204dd439692bb2b1ae5272fa5f2946d10946edab0d04f1078f85e06bc7f6 + languageName: node + linkType: hard + +"cssstyle@npm:^2.0.0, cssstyle@npm:^2.2.0": + version: 2.3.0 + resolution: "cssstyle@npm:2.3.0" + dependencies: + cssom: ~0.3.6 + checksum: 5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3 + languageName: node + linkType: hard + +"dashdash@npm:^1.12.0": + version: 1.14.1 + resolution: "dashdash@npm:1.14.1" + dependencies: + assert-plus: ^1.0.0 + checksum: 3634c249570f7f34e3d34f866c93f866c5b417f0dd616275decae08147dcdf8fccfaa5947380ccfb0473998ea3a8057c0b4cd90c875740ee685d0624b2983598 + languageName: node + linkType: hard + +"data-urls@npm:^1.1.0": + version: 1.1.0 + resolution: "data-urls@npm:1.1.0" + dependencies: + abab: ^2.0.0 + whatwg-mimetype: ^2.2.0 + whatwg-url: ^7.0.0 + checksum: dc4bd9621df0dff336d7c4c0517c792488ef3cf11cd37e72ab80f3a7f0a0aa14bad677ac97cf22c87c6eb9518e58b98590e1c8c756b56240940f0e470c81612e + languageName: node + linkType: hard + +"data-urls@npm:^2.0.0": + version: 2.0.0 + resolution: "data-urls@npm:2.0.0" + dependencies: + abab: ^2.0.3 + whatwg-mimetype: ^2.3.0 + whatwg-url: ^8.0.0 + checksum: 97caf828aac25e25e04ba6869db0f99c75e6859bb5b424ada28d3e7841941ebf08ddff3c1b1bb4585986bd507a5d54c2a716853ea6cb98af877400e637393e71 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.3.3": + version: 4.3.4 + resolution: "debug@npm:4.3.4" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 3dbad3f94ea64f34431a9cbf0bafb61853eda57bff2880036153438f50fb5a84f27683ba0d8e5426bf41a8c6ff03879488120cf5b3a761e77953169c0600a708 + languageName: node + linkType: hard + +"debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: 2.0.0 + checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6 + languageName: node + linkType: hard + +"debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1": + version: 4.1.1 + resolution: "debug@npm:4.1.1" + dependencies: + ms: ^2.1.1 + checksum: 1e681f5cce94ba10f8dde74b20b42e4d8cf0d2a6700f4c165bb3bb6885565ef5ca5885bf07e704974a835f2415ff095a63164f539988a1f07e8a69fe8b1d65ad + languageName: node + linkType: hard + +"debug@npm:^4.3.2": + version: 4.3.2 + resolution: "debug@npm:4.3.2" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 820ea160e267e23c953c9ed87e7ad93494d8cda2f7349af5e7e3bb236d23707ee3022f477d5a7d2ee86ef2bf7d60aa9ab22d1f58080d7deb9dccd073585e1e43 + languageName: node + linkType: hard + +"decamelize@npm:^1.2.0": + version: 1.2.0 + resolution: "decamelize@npm:1.2.0" + checksum: ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa + languageName: node + linkType: hard + +"decimal.js@npm:^10.2.0": + version: 10.2.0 + resolution: "decimal.js@npm:10.2.0" + checksum: 4844fc8f8214a4a4a589317533af40a5ec42e6d3abf29f9d6692d09038f29eb0242d9389e406fcd977e783e457b046925fd077c673742407bb4412525e9fd615 + languageName: node + linkType: hard + +"decode-uri-component@npm:^0.2.0": + version: 0.2.0 + resolution: "decode-uri-component@npm:0.2.0" + checksum: f3749344ab9305ffcfe4bfe300e2dbb61fc6359e2b736812100a3b1b6db0a5668cba31a05e4b45d4d63dbf1a18dfa354cd3ca5bb3ededddabb8cd293f4404f94 + languageName: node + linkType: hard + +"deep-freeze-strict@npm:^1.1.1": + version: 1.1.1 + resolution: "deep-freeze-strict@npm:1.1.1" + checksum: b601e226c873464e35f3667a632963c1e8281f6bb4016d0fbbd8ef60fd51f0c9dcf79fadd745d1597b463f2c25ea0f213599559606c29df8c7e941394cb80f9a + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": + version: 0.1.3 + resolution: "deep-is@npm:0.1.3" + checksum: c15b04c3848a89880c94e25b077c19b47d9a30dd99048e70e5f95d943e7b246bee1da0c1376b56b01bc045be2cae7d9b1c856e68e47e9805634327de7c6cb6d5 + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": + version: 4.2.2 + resolution: "deepmerge@npm:4.2.2" + checksum: a8c43a1ed8d6d1ed2b5bf569fa4c8eb9f0924034baf75d5d406e47e157a451075c4db353efea7b6bcc56ec48116a8ce72fccf867b6e078e7c561904b5897530b + languageName: node + linkType: hard + +"deferred-leveldown@npm:~1.2.1": + version: 1.2.2 + resolution: "deferred-leveldown@npm:1.2.2" + dependencies: + abstract-leveldown: ~2.6.0 + checksum: ad3a26d20dc80c702c85c4795cbb52ef25d8e500728c98098b468c499ca745051e6cc03bd12be97ff38c43466a7895879db76ffb761a75b0f009829d990a0ea9 + languageName: node + linkType: hard + +"define-properties@npm:^1.1.2, define-properties@npm:^1.1.3": + version: 1.1.3 + resolution: "define-properties@npm:1.1.3" + dependencies: + object-keys: ^1.0.12 + checksum: da80dba55d0cd76a5a7ab71ef6ea0ebcb7b941f803793e4e0257b384cb772038faa0c31659d244e82c4342edef841c1a1212580006a05a5068ee48223d787317 + languageName: node + linkType: hard + +"define-property@npm:^0.2.5": + version: 0.2.5 + resolution: "define-property@npm:0.2.5" + dependencies: + is-descriptor: ^0.1.0 + checksum: 85af107072b04973b13f9e4128ab74ddfda48ec7ad2e54b193c0ffb57067c4ce5b7786a7b4ae1f24bd03e87c5d18766b094571810b314d7540f86d4354dbd394 + languageName: node + linkType: hard + +"define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "define-property@npm:1.0.0" + dependencies: + is-descriptor: ^1.0.0 + checksum: 5fbed11dace44dd22914035ba9ae83ad06008532ca814d7936a53a09e897838acdad5b108dd0688cc8d2a7cf0681acbe00ee4136cf36743f680d10517379350a + languageName: node + linkType: hard + +"define-property@npm:^2.0.2": + version: 2.0.2 + resolution: "define-property@npm:2.0.2" + dependencies: + is-descriptor: ^1.0.2 + isobject: ^3.0.1 + checksum: 3217ed53fc9eed06ba8da6f4d33e28c68a82e2f2a8ab4d562c4920d8169a166fe7271453675e6c69301466f36a65d7f47edf0cf7f474b9aa52a5ead9c1b13c99 + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 46fe6e83e2cb1d85ba50bd52803c68be9bd953282fa7096f51fc29edd5d67ff84ff753c51966061e5ba7cb5e47ef6d36a91924eddb7f3f3483b1c560f77a0020 + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd + languageName: node + linkType: hard + +"depd@npm:^1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 + languageName: node + linkType: hard + +"detect-indent@npm:^6.0.0": + version: 6.1.0 + resolution: "detect-indent@npm:6.1.0" + checksum: ab953a73c72dbd4e8fc68e4ed4bfd92c97eb6c43734af3900add963fd3a9316f3bc0578b018b24198d4c31a358571eff5f0656e81a1f3b9ad5c547d58b2d093d + languageName: node + linkType: hard + +"detect-newline@npm:3.1.0, detect-newline@npm:^3.0.0": + version: 3.1.0 + resolution: "detect-newline@npm:3.1.0" + checksum: ae6cd429c41ad01b164c59ea36f264a2c479598e61cba7c99da24175a7ab80ddf066420f2bec9a1c57a6bead411b4655ff15ad7d281c000a89791f48cbe939e7 + languageName: node + linkType: hard + +"diff-sequences@npm:^25.2.6": + version: 25.2.6 + resolution: "diff-sequences@npm:25.2.6" + checksum: 082c1eb691cc8bffdeca10e1df561fe85c3786420c135d05d5642fdada7dafbc3f77372a67cc3aff6313c272d76d646df768554873d897cf1d15a63dd232e7aa + languageName: node + linkType: hard + +"diff-sequences@npm:^26.3.0": + version: 26.3.0 + resolution: "diff-sequences@npm:26.3.0" + checksum: b58636dad8d65b964b162b61aa1e8aaaeb6aef2ef93d076960ed05b383282e94ccc7acd74bcea56f8a87d9bbf28ce7e8af765383d0a21fd47a7f0e9071a6b441 + languageName: node + linkType: hard + +"diff-sequences@npm:^26.6.2": + version: 26.6.2 + resolution: "diff-sequences@npm:26.6.2" + checksum: 79af871776ef149a7ff3345d6b1bf37fe6e81f68632aa5542787851f6f60fba19b0be22fdd1e06046f56ae7382763ccfe94a982c39ee72bd107aef435ecbc0cf + languageName: node + linkType: hard + +"diff-sequences@npm:^27.0.6": + version: 27.0.6 + resolution: "diff-sequences@npm:27.0.6" + checksum: f35ad024d426cd1026d6c98a1f604c41966a0e89712b05a38812fc11e645ff0e915ec17bc8f4b6910fed6df0b309b255aa6c7c77728be452c6dbbfa30aa2067b + languageName: node + linkType: hard + +"diff@npm:^4.0.2": + version: 4.0.2 + resolution: "diff@npm:4.0.2" + checksum: f2c09b0ce4e6b301c221addd83bf3f454c0bc00caa3dd837cf6c127d6edf7223aa2bbe3b688feea110b7f262adbfc845b757c44c8a9f8c0c5b15d8fa9ce9d20d + languageName: node + linkType: hard + +"diff@npm:^5.0.0": + version: 5.0.0 + resolution: "diff@npm:5.0.0" + checksum: f19fe29284b633afdb2725c2a8bb7d25761ea54d321d8e67987ac851c5294be4afeab532bd84531e02583a3fe7f4014aa314a3eda84f5590e7a9e6b371ef3b46 + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: ^4.0.0 + checksum: fa05e18324510d7283f55862f3161c6759a3f2f8dbce491a2fc14c8324c498286c54282c1f0e933cb930da8419b30679389499b919122952a4f8592362ef4615 + languageName: node + linkType: hard + +"doctrine@npm:1.5.0": + version: 1.5.0 + resolution: "doctrine@npm:1.5.0" + dependencies: + esutils: ^2.0.2 + isarray: ^1.0.0 + checksum: 7ce8102a05cbb9d942d49db5461d2f3dd1208ebfed929bf1c04770a1ef6ef540b792e63c45eae4c51f8b16075e0af4a73581a06bad31c37ceb0988f2e398509b + languageName: node + linkType: hard + +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: ^2.0.2 + checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce + languageName: node + linkType: hard + +"dom-walk@npm:^0.1.0": + version: 0.1.1 + resolution: "dom-walk@npm:0.1.1" + checksum: f55db10d0344b87cca1046a2356915a8e9ddee90fc97d3ebb26c4021e593cce47d24cbef18aac721421787c6a60fa14dd079a0b81f8610c9aeeec52177fd2acf + languageName: node + linkType: hard + +"domexception@npm:^1.0.1": + version: 1.0.1 + resolution: "domexception@npm:1.0.1" + dependencies: + webidl-conversions: ^4.0.2 + checksum: f564a9c0915dcb83ceefea49df14aaed106b1468fbe505119e8bcb0b77e242534f3aba861978537c0fc9dc6f35b176d0ffc77b3e342820fb27a8f215e7ae4d52 + languageName: node + linkType: hard + +"domexception@npm:^2.0.1": + version: 2.0.1 + resolution: "domexception@npm:2.0.1" + dependencies: + webidl-conversions: ^5.0.0 + checksum: d638e9cb05c52999f1b2eb87c374b03311ea5b1d69c2f875bc92da73e17db60c12142b45c950228642ff7f845c536b65305483350d080df59003a653da80b691 + languageName: node + linkType: hard + +"drbg.js@npm:^1.0.1": + version: 1.0.1 + resolution: "drbg.js@npm:1.0.1" + dependencies: + browserify-aes: ^1.0.6 + create-hash: ^1.1.2 + create-hmac: ^1.1.4 + checksum: f8df5cdd4fb792e548d6187cbc446fbd0afd8f1ef7fa486e1c286c2adee55a687183ce48ab178e9f24965c2deabb6e2ba7a7ee2d675264b951356480eb042476 + languageName: node + linkType: hard + +"ecc-jsbn@npm:~0.1.1": + version: 0.1.2 + resolution: "ecc-jsbn@npm:0.1.2" + dependencies: + jsbn: ~0.1.0 + safer-buffer: ^2.1.0 + checksum: 22fef4b6203e5f31d425f5b711eb389e4c6c2723402e389af394f8411b76a488fa414d309d866e2b577ce3e8462d344205545c88a8143cc21752a5172818888a + languageName: node + linkType: hard + +"elliptic@npm:6.5.4, elliptic@npm:^6.4.0, elliptic@npm:^6.4.1, elliptic@npm:^6.5.2, elliptic@npm:^6.5.4": + version: 6.5.4 + resolution: "elliptic@npm:6.5.4" + dependencies: + bn.js: ^4.11.9 + brorand: ^1.1.0 + hash.js: ^1.0.0 + hmac-drbg: ^1.0.1 + inherits: ^2.0.4 + minimalistic-assert: ^1.0.1 + minimalistic-crypto-utils: ^1.0.1 + checksum: d56d21fd04e97869f7ffcc92e18903b9f67f2d4637a23c860492fbbff5a3155fd9ca0184ce0c865dd6eb2487d234ce9551335c021c376cd2d3b7cb749c7d10f4 + languageName: node + linkType: hard + +"emittery@npm:^0.7.1": + version: 0.7.1 + resolution: "emittery@npm:0.7.1" + checksum: ae934ba2bb346267bb01470cd07c48e5b5b2349bc00c94fe7800a954f00d0c4db5f6c748956e440b634c820f2f476d928efbce0d271a49fec47c5865d3ea281b + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: d4c5c39d5a9868b5fa152f00cada8a936868fd3367f33f71be515ecee4c803132d11b31a6222b2571b1e5f7e13890156a94880345594d0ce7e3c9895f560f192 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: ^0.6.2 + checksum: bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f + languageName: node + linkType: hard + +"end-of-stream@npm:^1.1.0": + version: 1.4.1 + resolution: "end-of-stream@npm:1.4.1" + dependencies: + once: ^1.4.0 + checksum: ac0f75d57cfcd5569af5bd2d7d005efb21e1a939fcfcc367e3d991c7e3275eeb10c400880aab4b3be72d5cda0406401511e98990d85996e72b2210cfdd4c8f8a + languageName: node + linkType: hard + +"enquirer@npm:^2.3.5": + version: 2.3.6 + resolution: "enquirer@npm:2.3.6" + dependencies: + ansi-colors: ^4.1.1 + checksum: 1c0911e14a6f8d26721c91e01db06092a5f7675159f0261d69c403396a385afd13dd76825e7678f66daffa930cfaa8d45f506fb35f818a2788463d022af1b884 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 8b7b1be20d2de12d2255c0bc2ca638b7af5171142693299416e6a9339bd7d88fc8d7707d913d78e0993176005405a236b066b45666b27b797252c771156ace54 + languageName: node + linkType: hard + +"errno@npm:~0.1.1": + version: 0.1.7 + resolution: "errno@npm:0.1.7" + dependencies: + prr: ~1.0.1 + bin: + errno: ./cli.js + checksum: a9e414c24aa9d16c74cee74e46e1b4ff5e5b005552b5b50ca242b14fea448720a21fe515b4e4587172744b1dab9ecf919ba5a950f528d7c8ddb4b660f290db79 + languageName: node + linkType: hard + +"error-ex@npm:^1.2.0, error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: ^0.2.1 + checksum: c1c2b8b65f9c91b0f9d75f0debaa7ec5b35c266c2cac5de412c1a6de86d4cbae04ae44e510378cb14d032d0645a36925d0186f8bb7367bcc629db256b743a001 + languageName: node + linkType: hard + +"es-abstract@npm:^1.17.0, es-abstract@npm:^1.17.0-next.1, es-abstract@npm:^1.17.5": + version: 1.17.6 + resolution: "es-abstract@npm:1.17.6" + dependencies: + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + has: ^1.0.3 + has-symbols: ^1.0.1 + is-callable: ^1.2.0 + is-regex: ^1.1.0 + object-inspect: ^1.7.0 + object-keys: ^1.1.1 + object.assign: ^4.1.0 + string.prototype.trimend: ^1.0.1 + string.prototype.trimstart: ^1.0.1 + checksum: 3a361ab6b7ce072d451abea18f2ce53375d88c7302bc0054c4316bdd3f95ce4317a2388eec2a21617485ffef1e127943ec0d496452d7e4707e786a45b682f91a + languageName: node + linkType: hard + +"es-abstract@npm:^1.18.5": + version: 1.19.1 + resolution: "es-abstract@npm:1.19.1" + dependencies: + call-bind: ^1.0.2 + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + get-intrinsic: ^1.1.1 + get-symbol-description: ^1.0.0 + has: ^1.0.3 + has-symbols: ^1.0.2 + internal-slot: ^1.0.3 + is-callable: ^1.2.4 + is-negative-zero: ^2.0.1 + is-regex: ^1.1.4 + is-shared-array-buffer: ^1.0.1 + is-string: ^1.0.7 + is-weakref: ^1.0.1 + object-inspect: ^1.11.0 + object-keys: ^1.1.1 + object.assign: ^4.1.2 + string.prototype.trimend: ^1.0.4 + string.prototype.trimstart: ^1.0.4 + unbox-primitive: ^1.0.1 + checksum: b6be8410672c5364db3fb01eb786e30c7b4bb32b4af63d381c08840f4382c4a168e7855cd338bf59d4f1a1a1138f4d748d1fd40ec65aaa071876f9e9fbfed949 + languageName: node + linkType: hard + +"es-abstract@npm:^1.5.0": + version: 1.13.0 + resolution: "es-abstract@npm:1.13.0" + dependencies: + es-to-primitive: ^1.2.0 + function-bind: ^1.1.1 + has: ^1.0.3 + is-callable: ^1.1.4 + is-regex: ^1.0.4 + object-keys: ^1.0.12 + checksum: 804859a857c219947cdd1f64093004fdddae92351808938006e582a00ae236d39c1ea19ea7538c244209533cc48004e5134093f26d14f67dedcfce2510a1c51e + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.2.0": + version: 1.2.0 + resolution: "es-to-primitive@npm:1.2.0" + dependencies: + is-callable: ^1.1.4 + is-date-object: ^1.0.1 + is-symbol: ^1.0.2 + checksum: 6bd427991a876a978d8bac8684ccfda89a1d51014f69b37715ad6f52b1c7e9692a6fa908c7050c8337718df3c23344e68002e528a36dcde9d6d90ae8758d559c + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.2.1": + version: 1.2.1 + resolution: "es-to-primitive@npm:1.2.1" + dependencies: + is-callable: ^1.1.4 + is-date-object: ^1.0.1 + is-symbol: ^1.0.2 + checksum: 4ead6671a2c1402619bdd77f3503991232ca15e17e46222b0a41a5d81aebc8740a77822f5b3c965008e631153e9ef0580540007744521e72de8e33599fca2eed + languageName: node + linkType: hard + +"es6-object-assign@npm:^1.1.0": + version: 1.1.0 + resolution: "es6-object-assign@npm:1.1.0" + checksum: 8d4fdf63484d78b5c64cacc2c2e1165bc7b6a64b739d2a9db6a4dc8641d99cc9efb433cdd4dc3d3d6b00bfa6ce959694e4665e3255190339945c5f33b692b5d8 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1": + version: 3.1.1 + resolution: "escalade@npm:3.1.1" + checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395 + languageName: node + linkType: hard + +"escodegen@npm:^1.11.1, escodegen@npm:^1.14.1": + version: 1.14.3 + resolution: "escodegen@npm:1.14.3" + dependencies: + esprima: ^4.0.1 + estraverse: ^4.2.0 + esutils: ^2.0.2 + optionator: ^0.8.1 + source-map: ~0.6.1 + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: bin/escodegen.js + esgenerate: bin/esgenerate.js + checksum: 381cdc4767ecdb221206bbbab021b467bbc2a6f5c9a99c9e6353040080bdd3dfe73d7604ad89a47aca6ea7d58bc635f6bd3fbc8da9a1998e9ddfa8372362ccd0 + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^8.5.0": + version: 8.5.0 + resolution: "eslint-config-prettier@npm:8.5.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 0d0f5c32e7a0ad91249467ce71ca92394ccd343178277d318baf32063b79ea90216f4c81d1065d60f96366fdc60f151d4d68ae7811a58bd37228b84c2083f893 + languageName: node + linkType: hard + +"eslint-import-resolver-node@npm:^0.3.4": + version: 0.3.4 + resolution: "eslint-import-resolver-node@npm:0.3.4" + dependencies: + debug: ^2.6.9 + resolve: ^1.13.1 + checksum: a0db55ec26c5bb385c8681af6b8d6dee16768d5f27dff72c3113407d0f028f28e56dcb1cc3a4689c79396a5f6a9c24bd0cac9a2c9c588c7d7357d24a42bec876 + languageName: node + linkType: hard + +"eslint-import-resolver-typescript@npm:^2.4.0": + version: 2.4.0 + resolution: "eslint-import-resolver-typescript@npm:2.4.0" + dependencies: + debug: ^4.1.1 + glob: ^7.1.6 + is-glob: ^4.0.1 + resolve: ^1.17.0 + tsconfig-paths: ^3.9.0 + peerDependencies: + eslint: "*" + eslint-plugin-import: "*" + checksum: 2db0de33531f563bbbeecbdb080e3ff7ac0dbdd01f82ed690ccc9b29f746e431bf639322b1f1384f5c67055104c722cf70d9bf837d3ef70d6f3cf4ec2ba6562d + languageName: node + linkType: hard + +"eslint-module-utils@npm:^2.6.0": + version: 2.6.0 + resolution: "eslint-module-utils@npm:2.6.0" + dependencies: + debug: ^2.6.9 + pkg-dir: ^2.0.0 + checksum: 489bb82248e1090515701cc9614a6e183dac34805bc1cb205cf411a875b8db756b0c05141f9ddb64395ec1d518a99c7f113ac181929a0e995968b8584d7f5a63 + languageName: node + linkType: hard + +"eslint-plugin-es@npm:^3.0.0": + version: 3.0.1 + resolution: "eslint-plugin-es@npm:3.0.1" + dependencies: + eslint-utils: ^2.0.0 + regexpp: ^3.0.0 + peerDependencies: + eslint: ">=4.19.1" + checksum: e57592c52301ee8ddc296ae44216df007f3a870bcb3be8d1fbdb909a1d3a3efe3fa3785de02066f9eba1d6466b722d3eb3cc3f8b75b3cf6a1cbded31ac6298e4 + languageName: node + linkType: hard + +"eslint-plugin-import@npm:^2.22.1": + version: 2.22.1 + resolution: "eslint-plugin-import@npm:2.22.1" + dependencies: + array-includes: ^3.1.1 + array.prototype.flat: ^1.2.3 + contains-path: ^0.1.0 + debug: ^2.6.9 + doctrine: 1.5.0 + eslint-import-resolver-node: ^0.3.4 + eslint-module-utils: ^2.6.0 + has: ^1.0.3 + minimatch: ^3.0.4 + object.values: ^1.1.1 + read-pkg-up: ^2.0.0 + resolve: ^1.17.0 + tsconfig-paths: ^3.9.0 + peerDependencies: + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 + checksum: b043d5b67c0130545bfb7695abcd28fd605e4ccac580ec937217d078c5361800d3626a45dec43c2c697431c4c657b83be504e07605da1afb4a2ebc894a661f19 + languageName: node + linkType: hard + +"eslint-plugin-jest@npm:^24.1.5": + version: 24.1.5 + resolution: "eslint-plugin-jest@npm:24.1.5" + dependencies: + "@typescript-eslint/experimental-utils": ^4.0.1 + peerDependencies: + eslint: ">=5" + checksum: eec2a4ab2392f64f17b6b9f9de6722501f6b8c91481827cce3e9cc7d9073561b1f78d04d818f59c8069196f47036e17e666a63b9f16fa3dfd11d81fde4941ca0 + languageName: node + linkType: hard + +"eslint-plugin-jsdoc@npm:^36.1.0": + version: 36.1.0 + resolution: "eslint-plugin-jsdoc@npm:36.1.0" + dependencies: + "@es-joy/jsdoccomment": 0.10.8 + comment-parser: 1.2.4 + debug: ^4.3.2 + esquery: ^1.4.0 + jsdoc-type-pratt-parser: ^1.1.1 + lodash: ^4.17.21 + regextras: ^0.8.0 + semver: ^7.3.5 + spdx-expression-parse: ^3.0.1 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 + checksum: 5152a252a1c1fa8773a22aa0a69ab1c52a9334b12f0f3667548c6478d2d9acf970042b55ff2c48fa5165fab008cf20883f18a173fc5d6ba8f813074618b70ece + languageName: node + linkType: hard + +"eslint-plugin-node@npm:^11.1.0": + version: 11.1.0 + resolution: "eslint-plugin-node@npm:11.1.0" + dependencies: + eslint-plugin-es: ^3.0.0 + eslint-utils: ^2.0.0 + ignore: ^5.1.1 + minimatch: ^3.0.4 + resolve: ^1.10.1 + semver: ^6.1.0 + peerDependencies: + eslint: ">=5.16.0" + checksum: 5804c4f8a6e721f183ef31d46fbe3b4e1265832f352810060e0502aeac7de034df83352fc88643b19641bb2163f2587f1bd4119aff0fd21e8d98c57c450e013b + languageName: node + linkType: hard + +"eslint-plugin-prettier@npm:^3.4.1": + version: 3.4.1 + resolution: "eslint-plugin-prettier@npm:3.4.1" + dependencies: + prettier-linter-helpers: ^1.0.0 + peerDependencies: + eslint: ">=5.0.0" + prettier: ">=1.13.0" + peerDependenciesMeta: + eslint-config-prettier: + optional: true + checksum: fa6a89f0d7cba1cc87064352f5a4a68dc3739448dd279bec2bced1bfa3b704467e603d13b69dcec853f8fa30b286b8b715912898e9da776e1b016cf0ee48bd99 + languageName: node + linkType: hard + +"eslint-scope@npm:^5.0.0": + version: 5.1.0 + resolution: "eslint-scope@npm:5.1.0" + dependencies: + esrecurse: ^4.1.0 + estraverse: ^4.1.1 + checksum: 701c850429cc26105c8d2324c65b269aed45f33a6ad2f43c3d0d47c8d51ec242800e448a7a591cc6162b75cfcb456f0a63f20dd76887bac332617d4847194057 + languageName: node + linkType: hard + +"eslint-scope@npm:^5.1.1": + version: 5.1.1 + resolution: "eslint-scope@npm:5.1.1" + dependencies: + esrecurse: ^4.3.0 + estraverse: ^4.1.1 + checksum: 47e4b6a3f0cc29c7feedee6c67b225a2da7e155802c6ea13bbef4ac6b9e10c66cd2dcb987867ef176292bf4e64eccc680a49e35e9e9c669f4a02bac17e86abdb + languageName: node + linkType: hard + +"eslint-utils@npm:^2.0.0, eslint-utils@npm:^2.1.0": + version: 2.1.0 + resolution: "eslint-utils@npm:2.1.0" + dependencies: + eslint-visitor-keys: ^1.1.0 + checksum: 27500938f348da42100d9e6ad03ae29b3de19ba757ae1a7f4a087bdcf83ac60949bbb54286492ca61fac1f5f3ac8692dd21537ce6214240bf95ad0122f24d71d + languageName: node + linkType: hard + +"eslint-utils@npm:^3.0.0": + version: 3.0.0 + resolution: "eslint-utils@npm:3.0.0" + dependencies: + eslint-visitor-keys: ^2.0.0 + peerDependencies: + eslint: ">=5" + checksum: 0668fe02f5adab2e5a367eee5089f4c39033af20499df88fe4e6aba2015c20720404d8c3d6349b6f716b08fdf91b9da4e5d5481f265049278099c4c836ccb619 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^1.1.0, eslint-visitor-keys@npm:^1.3.0": + version: 1.3.0 + resolution: "eslint-visitor-keys@npm:1.3.0" + checksum: 37a19b712f42f4c9027e8ba98c2b06031c17e0c0a4c696cd429bd9ee04eb43889c446f2cd545e1ff51bef9593fcec94ecd2c2ef89129fcbbf3adadbef520376a + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "eslint-visitor-keys@npm:2.0.0" + checksum: e07e9863fb8c9b1453f5ad1a26f3cc8dd6b349b26605cc06bc0c61215ac5b6f13a4d08c875218e6c0f8ac8fc06ca6e090df769e32c569f0fd2e6a848b8a76c75 + languageName: node + linkType: hard + +"eslint@npm:^7.24.0": + version: 7.24.0 + resolution: "eslint@npm:7.24.0" + dependencies: + "@babel/code-frame": 7.12.11 + "@eslint/eslintrc": ^0.4.0 + ajv: ^6.10.0 + chalk: ^4.0.0 + cross-spawn: ^7.0.2 + debug: ^4.0.1 + doctrine: ^3.0.0 + enquirer: ^2.3.5 + eslint-scope: ^5.1.1 + eslint-utils: ^2.1.0 + eslint-visitor-keys: ^2.0.0 + espree: ^7.3.1 + esquery: ^1.4.0 + esutils: ^2.0.2 + file-entry-cache: ^6.0.1 + functional-red-black-tree: ^1.0.1 + glob-parent: ^5.0.0 + globals: ^13.6.0 + ignore: ^4.0.6 + import-fresh: ^3.0.0 + imurmurhash: ^0.1.4 + is-glob: ^4.0.0 + js-yaml: ^3.13.1 + json-stable-stringify-without-jsonify: ^1.0.1 + levn: ^0.4.1 + lodash: ^4.17.21 + minimatch: ^3.0.4 + natural-compare: ^1.4.0 + optionator: ^0.9.1 + progress: ^2.0.0 + regexpp: ^3.1.0 + semver: ^7.2.1 + strip-ansi: ^6.0.0 + strip-json-comments: ^3.1.0 + table: ^6.0.4 + text-table: ^0.2.0 + v8-compile-cache: ^2.0.3 + bin: + eslint: bin/eslint.js + checksum: 60558618c68d17573b82d1ecd28ef4ec011d36fb58b05346cee4e56f4fc8ef2f6b9c102c02cdcc02e8ec5f390e4791a02fa2db9fc212e344450e5ca2920b040f + languageName: node + linkType: hard + +"espree@npm:^7.3.0, espree@npm:^7.3.1": + version: 7.3.1 + resolution: "espree@npm:7.3.1" + dependencies: + acorn: ^7.4.0 + acorn-jsx: ^5.3.1 + eslint-visitor-keys: ^1.3.0 + checksum: aa9b50dcce883449af2e23bc2b8d9abb77118f96f4cb313935d6b220f77137eaef7724a83c3f6243b96bc0e4ab14766198e60818caad99f9519ae5a336a39b45 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0, esprima@npm:^4.0.1": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: b45bc805a613dbea2835278c306b91aff6173c8d034223fa81498c77dcbce3b2931bf6006db816f62eacd9fd4ea975dfd85a5b7f3c6402cfd050d4ca3c13a628 + languageName: node + linkType: hard + +"esquery@npm:^1.4.0": + version: 1.4.0 + resolution: "esquery@npm:1.4.0" + dependencies: + estraverse: ^5.1.0 + checksum: a0807e17abd7fbe5fbd4fab673038d6d8a50675cdae6b04fbaa520c34581be0c5fa24582990e8acd8854f671dd291c78bb2efb9e0ed5b62f33bac4f9cf820210 + languageName: node + linkType: hard + +"esrecurse@npm:^4.1.0, esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: ^5.2.0 + checksum: ebc17b1a33c51cef46fdc28b958994b1dc43cd2e86237515cbc3b4e5d2be6a811b2315d0a1a4d9d340b6d2308b15322f5c8291059521cc5f4802f65e7ec32837 + languageName: node + linkType: hard + +"estraverse@npm:^4.1.1, estraverse@npm:^4.2.0": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.2.0 + resolution: "estraverse@npm:5.2.0" + checksum: ec11b70d946bf5d7f76f91db38ef6f08109ac1b36cda293a26e678e58df4719f57f67b9ec87042afdd1f0267cee91865be3aa48d2161765a93defab5431be7b8 + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 22b5b08f74737379a840b8ed2036a5fb35826c709ab000683b092d9054e5c2a82c27818f12604bfc2a9a76b90b6834ef081edbc1c7ae30d1627012e067c6ec87 + languageName: node + linkType: hard + +"eth-block-tracker@npm:^4.4.2": + version: 4.4.3 + resolution: "eth-block-tracker@npm:4.4.3" + dependencies: + "@babel/plugin-transform-runtime": ^7.5.5 + "@babel/runtime": ^7.5.5 + eth-query: ^2.1.0 + json-rpc-random-id: ^1.0.1 + pify: ^3.0.0 + safe-event-emitter: ^1.0.1 + checksum: 3ae7e459b19b65303ec7bd0df7ad2a69476adb01cf2f44699b3482fd14e9e058e9eb85a9612307ba33f565e29ca6d19466765122a1106d1def820f6bfe272d52 + languageName: node + linkType: hard + +"eth-ens-namehash@npm:^2.0.8": + version: 2.0.8 + resolution: "eth-ens-namehash@npm:2.0.8" + dependencies: + idna-uts46-hx: ^2.3.1 + js-sha3: ^0.5.7 + checksum: 40ce4aeedaa4e7eb4485c8d8857457ecc46a4652396981d21b7e3a5f922d5beff63c71cb4b283c935293e530eba50b329d9248be3c433949c6bc40c850c202a3 + languageName: node + linkType: hard + +"eth-json-rpc-filters@npm:^4.2.1": + version: 4.2.2 + resolution: "eth-json-rpc-filters@npm:4.2.2" + dependencies: + "@metamask/safe-event-emitter": ^2.0.0 + async-mutex: ^0.2.6 + eth-json-rpc-middleware: ^6.0.0 + eth-query: ^2.1.2 + json-rpc-engine: ^6.1.0 + pify: ^5.0.0 + checksum: add6ef65c30c6dc85f9ab464325b509247b1be2596763d30cc23c66d32e0a835830daf14bc36fc2e43670d0c54b4a6010bb981c9006372c5520fd6abdf0d6c77 + languageName: node + linkType: hard + +"eth-json-rpc-infura@npm:^5.1.0": + version: 5.1.0 + resolution: "eth-json-rpc-infura@npm:5.1.0" + dependencies: + eth-json-rpc-middleware: ^6.0.0 + eth-rpc-errors: ^3.0.0 + json-rpc-engine: ^5.3.0 + node-fetch: ^2.6.0 + checksum: 29712d77741b6bc94634d32286095e30e65e793034d1ba80fa14719ddb1a85a34cc8eddc36f0bbe3f9aaa841b80217e5347bb919004068749e0e945eff637a98 + languageName: node + linkType: hard + +"eth-json-rpc-middleware@npm:^6.0.0": + version: 6.0.0 + resolution: "eth-json-rpc-middleware@npm:6.0.0" + dependencies: + btoa: ^1.2.1 + clone: ^2.1.1 + eth-query: ^2.1.2 + eth-rpc-errors: ^3.0.0 + eth-sig-util: ^1.4.2 + ethereumjs-util: ^5.1.2 + json-rpc-engine: ^5.3.0 + json-stable-stringify: ^1.0.1 + node-fetch: ^2.6.1 + pify: ^3.0.0 + safe-event-emitter: ^1.0.1 + checksum: d4ef8c6ba85cc0060c09ded79152d46cdd1a85124c655f40bb8ca72a4b52dfe7ef101b45dae1ac04558900ccb10b98e5c9570be22715a7dc158e822728e159b5 + languageName: node + linkType: hard + +"eth-keyring-controller@npm:^7.0.2": + version: 7.0.2 + resolution: "eth-keyring-controller@npm:7.0.2" + dependencies: + "@metamask/bip39": ^4.0.0 + "@metamask/eth-hd-keyring": ^4.0.2 + browser-passworder: ^2.0.3 + eth-sig-util: ^3.0.1 + eth-simple-keyring: ^4.2.0 + obs-store: ^4.0.3 + checksum: e00c6d3b3e01ac19aa69e34538a24377ea9239929c7da8d355b62bb89e83c1e2c72ed60fd84fb86566c141f751f259f35aa7749dd204d669dc1e310a581aef56 + languageName: node + linkType: hard + +"eth-method-registry@npm:1.1.0": + version: 1.1.0 + resolution: "eth-method-registry@npm:1.1.0" + dependencies: + ethjs: ^0.3.0 + checksum: 3529e06e67740572d5771761d425faf5197695df06035e3c085213e45492eb1fad71f26df36c733769f4ceaa3d0f3d7e91065d42806f800e8ddc4b44b232c614 + languageName: node + linkType: hard + +"eth-phishing-detect@npm:^1.2.0": + version: 1.2.0 + resolution: "eth-phishing-detect@npm:1.2.0" + dependencies: + fast-levenshtein: ^2.0.6 + checksum: 66a6a7c249ec8494e0360663596ce980ca75747cd202c47732eca0bfc7a97c6debbae359842e4f3e4ac7e6c44ab1f7f091c3aa7baa330449d3c1b7cc58608b71 + languageName: node + linkType: hard + +"eth-query@npm:^2.1.0, eth-query@npm:^2.1.2": + version: 2.1.2 + resolution: "eth-query@npm:2.1.2" + dependencies: + json-rpc-random-id: ^1.0.0 + xtend: ^4.0.1 + checksum: 83daa0e28452c54722aec78cd24d036bad5b6e7c08035d98e10d4bea11f71662f12cab63ebd8a848d4df46ad316503d54ecccb41c9244d2ea8b29364b0a20201 + languageName: node + linkType: hard + +"eth-rpc-errors@npm:^3.0.0": + version: 3.0.0 + resolution: "eth-rpc-errors@npm:3.0.0" + dependencies: + fast-safe-stringify: ^2.0.6 + checksum: c14db72bd28e8545ce8d6bbe22fa092b11695cfedc22632eda875324354edac813742c097cf56e214bd3adc14c8b1160a7b8ee371c93126e5abbb55ca75671eb + languageName: node + linkType: hard + +"eth-rpc-errors@npm:^4.0.0": + version: 4.0.0 + resolution: "eth-rpc-errors@npm:4.0.0" + dependencies: + fast-safe-stringify: ^2.0.6 + checksum: 9caa871a5b927cb22486ee01bbe4e07ea1d653b2f851837d8b4914bee8895730bd308ca2fe93d696c6e7184679a5c96eb8101aad756e71e7051ab952f8be0d2f + languageName: node + linkType: hard + +"eth-rpc-errors@npm:^4.0.2": + version: 4.0.2 + resolution: "eth-rpc-errors@npm:4.0.2" + dependencies: + fast-safe-stringify: ^2.0.6 + checksum: 1dbdee8f416090f1d318e17bdee2251d174d73c8faa4286fa364bc51ae9105672045f2d078ec23ca6a2b4b92af7cfbe7fa1ba17ad49e591fc653a363bf8cbab2 + languageName: node + linkType: hard + +"eth-sig-util@npm:^1.4.2": + version: 1.4.2 + resolution: "eth-sig-util@npm:1.4.2" + dependencies: + ethereumjs-abi: "git+https://github.com/ethereumjs/ethereumjs-abi.git" + ethereumjs-util: ^5.1.1 + checksum: 578f5c571c1bb0a86dc1bd4a5b56b8073b37823496d7afa74d772cf91ae6860f91bafcbee931be39a3d13f0c195df9f026a27fce350605ad5d15901a5a4ea94a + languageName: node + linkType: hard + +"eth-sig-util@npm:^3.0.0": + version: 3.0.0 + resolution: "eth-sig-util@npm:3.0.0" + dependencies: + buffer: ^5.2.1 + elliptic: ^6.4.0 + ethereumjs-abi: 0.6.5 + ethereumjs-util: ^5.1.1 + tweetnacl: ^1.0.0 + tweetnacl-util: ^0.15.0 + checksum: fbe44efb7909737b070e1e1d8c7096da3bdbd1356de242fc3458849e042e39c83a4e2dd1cbce0dc21ff3e5eca1843981751428bc160dcf3a6fcca2f1e8161be4 + languageName: node + linkType: hard + +"eth-sig-util@npm:^3.0.1": + version: 3.0.1 + resolution: "eth-sig-util@npm:3.0.1" + dependencies: + ethereumjs-abi: ^0.6.8 + ethereumjs-util: ^5.1.1 + tweetnacl: ^1.0.3 + tweetnacl-util: ^0.15.0 + checksum: 614bf7011b30f78c3532f53e3f80919fe5502b0fa7a3656e6e7dae56d26bc9f559c5b6480c2bcc66d63cd9f72b489732df3b7f1daa0ac9a1fe3b6878347ab4c6 + languageName: node + linkType: hard + +"eth-simple-keyring@npm:^4.2.0": + version: 4.2.0 + resolution: "eth-simple-keyring@npm:4.2.0" + dependencies: + eth-sig-util: ^3.0.1 + ethereumjs-util: ^7.0.9 + ethereumjs-wallet: ^1.0.1 + events: ^1.1.1 + checksum: 5c6e03b2641905c3d58c0343e0d28d1192cdfd7da43ff8924c02ed50ff88cf1c66bb5e7057dec2fba9fe84ec467291e86c9ec0a8c72457214f7fe6a85984a259 + languageName: node + linkType: hard + +"ethereum-common@npm:0.2.0": + version: 0.2.0 + resolution: "ethereum-common@npm:0.2.0" + checksum: 5e80af27482530ac700676502cd4c02a7248c064999d01dced302f5f40a180c86f57caaab347dbd12482c2869539d321c8c0039db9e3dfb1411e6ad3d57b2547 + languageName: node + linkType: hard + +"ethereum-common@npm:^0.0.18": + version: 0.0.18 + resolution: "ethereum-common@npm:0.0.18" + checksum: 2244126199604abc17508ca249c6f8a66a2ed02e9c97115f234e311f42e2d67aedff08128569fa3dfb8a2d09e1c194eace39a1ce61bfeb2338b6d3f2ac324ee8 + languageName: node + linkType: hard + +"ethereum-cryptography@npm:^0.1.3": + version: 0.1.3 + resolution: "ethereum-cryptography@npm:0.1.3" + dependencies: + "@types/pbkdf2": ^3.0.0 + "@types/secp256k1": ^4.0.1 + blakejs: ^1.1.0 + browserify-aes: ^1.2.0 + bs58check: ^2.1.2 + create-hash: ^1.2.0 + create-hmac: ^1.1.7 + hash.js: ^1.1.7 + keccak: ^3.0.0 + pbkdf2: ^3.0.17 + randombytes: ^2.1.0 + safe-buffer: ^5.1.2 + scrypt-js: ^3.0.0 + secp256k1: ^4.0.1 + setimmediate: ^1.0.5 + checksum: 54bae7a4a96bd81398cdc35c91cfcc74339f71a95ed1b5b694663782e69e8e3afd21357de3b8bac9ff4877fd6f043601e200a7ad9133d94be6fd7d898ee0a449 + languageName: node + linkType: hard + +"ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git, ethereumjs-abi@npm:^0.6.8": + version: 0.6.8 + resolution: "ethereumjs-abi@https://github.com/ethereumjs/ethereumjs-abi.git#commit=1cfbb13862f90f0b391d8a699544d5fe4dfb8c7b" + dependencies: + bn.js: ^4.11.8 + ethereumjs-util: ^6.0.0 + checksum: b8a99c2b5d4bb852474f9461ce9ea29606acdfe3fbf4d1e67943da600fc594780074241a75b407fd298b2466b4e1f35407561da048205f5f099d57b0c7d1ef81 + languageName: node + linkType: hard + +"ethereumjs-abi@npm:0.6.5": + version: 0.6.5 + resolution: "ethereumjs-abi@npm:0.6.5" + dependencies: + bn.js: ^4.10.0 + ethereumjs-util: ^4.3.0 + checksum: 3abdc79dc60614d30b1cefb5e6bfbdab3ca8252b4e742330544103f86d6e49a55921d9b8822a0a47fee3efd9dd2493ec93448b1869d82479a4c71a44001e8337 + languageName: node + linkType: hard + +"ethereumjs-account@npm:^2.0.3": + version: 2.0.5 + resolution: "ethereumjs-account@npm:2.0.5" + dependencies: + ethereumjs-util: ^5.0.0 + rlp: ^2.0.0 + safe-buffer: ^5.1.1 + checksum: 2e4546b8b0213168eebd3a5296da904b6f55470e39b4c742d252748927d2b268f8d6374b0178c1d5b7188646f97dae74a7ac1c7485fe96ea557c152b52223f18 + languageName: node + linkType: hard + +"ethereumjs-block@npm:^1.2.2": + version: 1.7.1 + resolution: "ethereumjs-block@npm:1.7.1" + dependencies: + async: ^2.0.1 + ethereum-common: 0.2.0 + ethereumjs-tx: ^1.2.2 + ethereumjs-util: ^5.0.0 + merkle-patricia-tree: ^2.1.2 + checksum: 9967c3674af77ea8475a3c023fa160ef6b614450ec50fa32ac083909ead22d3d1c3148f9407b6593d3ccfbe0c51f889c26aa1c15b17026fc2d35cbc542822af8 + languageName: node + linkType: hard + +"ethereumjs-block@npm:~2.2.0": + version: 2.2.0 + resolution: "ethereumjs-block@npm:2.2.0" + dependencies: + async: ^2.0.1 + ethereumjs-common: ^1.1.0 + ethereumjs-tx: ^1.2.2 + ethereumjs-util: ^5.0.0 + merkle-patricia-tree: ^2.1.2 + checksum: 2e5c5441bd87250f9e6cfa4b8f58877d1079c3bfd9a9f69aac1cc465104398ec146b241aa4fdee6a83ae993c0403bce2d1d7480f0df41e2db56f209639ffb6ab + languageName: node + linkType: hard + +"ethereumjs-common@npm:^1.1.0": + version: 1.3.1 + resolution: "ethereumjs-common@npm:1.3.1" + checksum: abeb701fef20e36bd2198d6e9dc64d457f559144563f9c52cfb35473e353d17af73bf2e68d8fd8189cef802a71fab884971d7a6ea6079636b3c40888bb2ec379 + languageName: node + linkType: hard + +"ethereumjs-tx@npm:^1.2.2": + version: 1.3.7 + resolution: "ethereumjs-tx@npm:1.3.7" + dependencies: + ethereum-common: ^0.0.18 + ethereumjs-util: ^5.0.0 + checksum: fe2323fe7db7f5dda85715dc67c31dd1f2925bf5a88e393ba939dbe699b73df008f1332f711b1aa37e943193acf3b6976202a33f2fab1f7675b6d2dd70f424d4 + languageName: node + linkType: hard + +"ethereumjs-util@npm:^4.3.0": + version: 4.5.0 + resolution: "ethereumjs-util@npm:4.5.0" + dependencies: + bn.js: ^4.8.0 + create-hash: ^1.1.2 + keccakjs: ^0.2.0 + rlp: ^2.0.0 + secp256k1: ^3.0.1 + checksum: 3620ebfea63d3c8bd3ee16ceb8b8d5aca6cebd02f4823e973498f5453259ab7fa646cbbf2d26385882af4cf70a63faca926907944748f48925728f79b3945693 + languageName: node + linkType: hard + +"ethereumjs-util@npm:^5.0.0, ethereumjs-util@npm:^5.1.1, ethereumjs-util@npm:^5.1.2, ethereumjs-util@npm:^5.1.5": + version: 5.2.0 + resolution: "ethereumjs-util@npm:5.2.0" + dependencies: + bn.js: ^4.11.0 + create-hash: ^1.1.2 + ethjs-util: ^0.1.3 + keccak: ^1.0.2 + rlp: ^2.0.0 + safe-buffer: ^5.1.1 + secp256k1: ^3.0.1 + checksum: 930d1521b2b1266c445e1b95ab0e06c9c0afd0ba9c399faa2b7a306ff37017f3198ab00317e56a0766994b7f8e4634682ffa5a848891a86369bc0355f529feff + languageName: node + linkType: hard + +"ethereumjs-util@npm:^6.0.0": + version: 6.1.0 + resolution: "ethereumjs-util@npm:6.1.0" + dependencies: + bn.js: ^4.11.0 + create-hash: ^1.1.2 + ethjs-util: 0.1.6 + keccak: ^1.0.2 + rlp: ^2.0.0 + safe-buffer: ^5.1.1 + secp256k1: ^3.0.1 + checksum: 76c87c2be9e380608e5bed21979483ad4d09c0aa9f9e3c9c913fbeff5610581631b661d6411c390556d8d47e56d7039861ae9c2821a54493cfab7fc88756315c + languageName: node + linkType: hard + +"ethereumjs-util@npm:^6.2.1": + version: 6.2.1 + resolution: "ethereumjs-util@npm:6.2.1" + dependencies: + "@types/bn.js": ^4.11.3 + bn.js: ^4.11.0 + create-hash: ^1.1.2 + elliptic: ^6.5.2 + ethereum-cryptography: ^0.1.3 + ethjs-util: 0.1.6 + rlp: ^2.2.3 + checksum: e3cb4a2c034a2529281fdfc21a2126fe032fdc3038863f5720352daa65ddcc50fc8c67dbedf381a882dc3802e05d979287126d7ecf781504bde1fd8218693bde + languageName: node + linkType: hard + +"ethereumjs-util@npm:^7.0.10, ethereumjs-util@npm:^7.0.9": + version: 7.0.10 + resolution: "ethereumjs-util@npm:7.0.10" + dependencies: + "@types/bn.js": ^5.1.0 + bn.js: ^5.1.2 + create-hash: ^1.1.2 + ethereum-cryptography: ^0.1.3 + ethjs-util: 0.1.6 + rlp: ^2.2.4 + checksum: ee11997a463ebd7afbb23ff211723b95f84e2af73322226d5c0d1586fb58969d69bc5181955dbcc018ce6c13be62ba78d5a44c0f3f5f47b6417ff35438ed5495 + languageName: node + linkType: hard + +"ethereumjs-util@npm:^7.0.2": + version: 7.0.8 + resolution: "ethereumjs-util@npm:7.0.8" + dependencies: + "@types/bn.js": ^4.11.3 + bn.js: ^5.1.2 + create-hash: ^1.1.2 + ethereum-cryptography: ^0.1.3 + ethjs-util: 0.1.6 + rlp: ^2.2.4 + checksum: 40f9bbd38bea04318fdfbc70537df6014f0011c898a7c7466850cdfdab2c479d52d46f9fe5a3e6edbda74743b1423d74ae991674e014cf5aa4de1b6b5068d5d2 + languageName: node + linkType: hard + +"ethereumjs-util@npm:^7.0.7, ethereumjs-util@npm:^7.0.8, ethereumjs-util@npm:^7.1.3": + version: 7.1.3 + resolution: "ethereumjs-util@npm:7.1.3" + dependencies: + "@types/bn.js": ^5.1.0 + bn.js: ^5.1.2 + create-hash: ^1.1.2 + ethereum-cryptography: ^0.1.3 + rlp: ^2.2.4 + checksum: 6de7a32af05c7265c96163ecd15ad97327afab9deb36092ef26250616657a8c0b5df8e698328247c8193e7b87c643c967f64f0b3cff2b2937cafa870ff5fcb41 + languageName: node + linkType: hard + +"ethereumjs-util@npm:^7.1.0": + version: 7.1.0 + resolution: "ethereumjs-util@npm:7.1.0" + dependencies: + "@types/bn.js": ^5.1.0 + bn.js: ^5.1.2 + create-hash: ^1.1.2 + ethereum-cryptography: ^0.1.3 + ethjs-util: 0.1.6 + rlp: ^2.2.4 + checksum: bdbf89021782e921a2e25e868d6a70e8c684616bc4d5b722396773424e406810007235ed0872d27af272b1dede17a9d32415a0f88743dee699762d8de75adde8 + languageName: node + linkType: hard + +"ethereumjs-vm@npm:^2.3.4": + version: 2.6.0 + resolution: "ethereumjs-vm@npm:2.6.0" + dependencies: + async: ^2.1.2 + async-eventemitter: ^0.2.2 + ethereumjs-account: ^2.0.3 + ethereumjs-block: ~2.2.0 + ethereumjs-common: ^1.1.0 + ethereumjs-util: ^6.0.0 + fake-merkle-patricia-tree: ^1.0.1 + functional-red-black-tree: ^1.0.1 + merkle-patricia-tree: ^2.3.2 + rustbn.js: ~0.2.0 + safe-buffer: ^5.1.1 + checksum: 3b3098b2ac3d5335797e4d73fceb76d1b776e453abb5fa4d1cd94f6391f493e95e3c89a8ee602558bc2a3b36b89977e66473de73faa87c8540b1954aa7b8c3fd + languageName: node + linkType: hard + +"ethereumjs-wallet@npm:^1.0.1": + version: 1.0.1 + resolution: "ethereumjs-wallet@npm:1.0.1" + dependencies: + aes-js: ^3.1.1 + bs58check: ^2.1.2 + ethereum-cryptography: ^0.1.3 + ethereumjs-util: ^7.0.2 + randombytes: ^2.0.6 + scrypt-js: ^3.0.1 + utf8: ^3.0.0 + uuid: ^3.3.2 + checksum: 1b95529e7e03403728a452668a3d95b44eb69def49a5d00ce8a2f01e64f9efeacc1742c8531ddf967612075dcd1843c1fdc160a68d351a121da07732d0112963 + languageName: node + linkType: hard + +"ethers@npm:^5.4.1": + version: 5.4.1 + resolution: "ethers@npm:5.4.1" + dependencies: + "@ethersproject/abi": 5.4.0 + "@ethersproject/abstract-provider": 5.4.0 + "@ethersproject/abstract-signer": 5.4.0 + "@ethersproject/address": 5.4.0 + "@ethersproject/base64": 5.4.0 + "@ethersproject/basex": 5.4.0 + "@ethersproject/bignumber": 5.4.0 + "@ethersproject/bytes": 5.4.0 + "@ethersproject/constants": 5.4.0 + "@ethersproject/contracts": 5.4.0 + "@ethersproject/hash": 5.4.0 + "@ethersproject/hdnode": 5.4.0 + "@ethersproject/json-wallets": 5.4.0 + "@ethersproject/keccak256": 5.4.0 + "@ethersproject/logger": 5.4.0 + "@ethersproject/networks": 5.4.1 + "@ethersproject/pbkdf2": 5.4.0 + "@ethersproject/properties": 5.4.0 + "@ethersproject/providers": 5.4.1 + "@ethersproject/random": 5.4.0 + "@ethersproject/rlp": 5.4.0 + "@ethersproject/sha2": 5.4.0 + "@ethersproject/signing-key": 5.4.0 + "@ethersproject/solidity": 5.4.0 + "@ethersproject/strings": 5.4.0 + "@ethersproject/transactions": 5.4.0 + "@ethersproject/units": 5.4.0 + "@ethersproject/wallet": 5.4.0 + "@ethersproject/web": 5.4.0 + "@ethersproject/wordlists": 5.4.0 + checksum: 061acd25e931c3749fb15ec665f25bede75ecbc054df9859713f902c04b46485c697c6f35a7de6d81ac05c863d7a650f3b3cb29afb26d002fd9e960abae24bd4 + languageName: node + linkType: hard + +"ethjs-abi@npm:0.2.0": + version: 0.2.0 + resolution: "ethjs-abi@npm:0.2.0" + dependencies: + bn.js: 4.11.6 + js-sha3: 0.5.5 + number-to-bn: 1.7.0 + checksum: ce66790b312874a8b96122308fe33c05a758127518bda0407b33f8f9ef4641fd75f7c79df850256cc68449442fe4eea74a116a7e26672e72bd326831bdf81570 + languageName: node + linkType: hard + +"ethjs-abi@npm:0.2.1": + version: 0.2.1 + resolution: "ethjs-abi@npm:0.2.1" + dependencies: + bn.js: 4.11.6 + js-sha3: 0.5.5 + number-to-bn: 1.7.0 + checksum: f58ad78f08ab0eda43b799075b245e39178f26045b0b21600f1d2544b04f6ba197734b43825112b5fd63acd5cb9ca4ea4df7e72d7ec58457f907e88f5ad52b13 + languageName: node + linkType: hard + +"ethjs-contract@npm:0.2.2": + version: 0.2.2 + resolution: "ethjs-contract@npm:0.2.2" + dependencies: + ethjs-abi: 0.2.0 + ethjs-filter: 0.1.8 + ethjs-util: 0.1.3 + js-sha3: 0.5.5 + checksum: b340749cf51705ac1e67e7c9b3ae1ceba6631dddffa2b9c62447c348aeba0a56685da956b7193d537c51b9fa2b7bdd2de147e834d4e66214cfa1abdde3d82781 + languageName: node + linkType: hard + +"ethjs-filter@npm:0.1.8": + version: 0.1.8 + resolution: "ethjs-filter@npm:0.1.8" + checksum: c8cfab8416aae0cf94f670fb09b4adb418447693a749760fea6f9ed5dda293b56b035070236c7cd79622f3e4558de7f790fa6494a1770f7f3f4b8ee9d3aa75a5 + languageName: node + linkType: hard + +"ethjs-format@npm:0.2.7": + version: 0.2.7 + resolution: "ethjs-format@npm:0.2.7" + dependencies: + bn.js: 4.11.6 + ethjs-schema: 0.2.1 + ethjs-util: 0.1.3 + is-hex-prefixed: 1.0.0 + number-to-bn: 1.7.0 + strip-hex-prefix: 1.0.0 + checksum: b27ea907e03ffcecd94baf8fa58afcc345af0af6ceb4ebe45e2f2aea3e3d14cf70a80c18ceb302f4b6cc439018fc05060f6bbf98751ab2fdc7f4af19b3b578b7 + languageName: node + linkType: hard + +"ethjs-provider-http@npm:0.1.6, ethjs-provider-http@npm:^0.1.6": + version: 0.1.6 + resolution: "ethjs-provider-http@npm:0.1.6" + dependencies: + xhr2: 0.1.3 + checksum: 0eb8f45d362e5a12f9852da3346cf80bd150562eb0abcbb95892502a6d8f7de77da4aff24341f925f2766e57bb17414c53dafd08bf695b8208d6f50abe7c7716 + languageName: node + linkType: hard + +"ethjs-query@npm:0.3.7": + version: 0.3.7 + resolution: "ethjs-query@npm:0.3.7" + dependencies: + ethjs-format: 0.2.7 + ethjs-rpc: 0.2.0 + promise-to-callback: ^1.0.0 + checksum: 08e8fcced0f7af2828da3f67df94a8a384430d988e43e5d5266aa161ac8f7b4bfc143897e613ba79dd158c0596a9422c0a6efdfe1308530e5b24cd4789ffd694 + languageName: node + linkType: hard + +"ethjs-rpc@npm:0.2.0": + version: 0.2.0 + resolution: "ethjs-rpc@npm:0.2.0" + dependencies: + promise-to-callback: ^1.0.0 + checksum: b6f4f021ba2b613d453fc02a7d33ec198d64d29af3da137bf728175360281323ab1525b22079d9b0689db0683d76cf265b68774412bff7281d0d26898f4875da + languageName: node + linkType: hard + +"ethjs-schema@npm:0.2.1": + version: 0.2.1 + resolution: "ethjs-schema@npm:0.2.1" + checksum: 7d8b1225bcf9616bfe94a24c2f4a48dae5ec30180a61d509efd7335eec68431abee638fbd02c2088e0ee59010396284e4b8364af8afdb229ac67e29ae38a3230 + languageName: node + linkType: hard + +"ethjs-unit@npm:0.1.6, ethjs-unit@npm:^0.1.6": + version: 0.1.6 + resolution: "ethjs-unit@npm:0.1.6" + dependencies: + bn.js: 4.11.6 + number-to-bn: 1.7.0 + checksum: df6b4752ff7461a59a20219f4b1684c631ea601241c39660e3f6c6bd63c950189723841c22b3c6c0ebeb3c9fc99e0e803e3c613101206132603705fcbcf4def5 + languageName: node + linkType: hard + +"ethjs-util@npm:0.1.3": + version: 0.1.3 + resolution: "ethjs-util@npm:0.1.3" + dependencies: + is-hex-prefixed: 1.0.0 + strip-hex-prefix: 1.0.0 + checksum: 1e2c0f94a806986f0db84604e5ecbad93937f34e6cf589de4db2f2870a8278b366482a2d116b392bfa87910f29300c114daace8fa876d3d6b8b886ca0c023b57 + languageName: node + linkType: hard + +"ethjs-util@npm:0.1.6, ethjs-util@npm:^0.1.3, ethjs-util@npm:^0.1.6": + version: 0.1.6 + resolution: "ethjs-util@npm:0.1.6" + dependencies: + is-hex-prefixed: 1.0.0 + strip-hex-prefix: 1.0.0 + checksum: 1f42959e78ec6f49889c49c8a98639e06f52a15966387dd39faf2930db48663d026efb7db2702dcffe7f2a99c4a0144b7ce784efdbf733f4077aae95de76d65f + languageName: node + linkType: hard + +"ethjs@npm:^0.3.0": + version: 0.3.9 + resolution: "ethjs@npm:0.3.9" + dependencies: + bn.js: 4.11.6 + ethjs-abi: 0.2.1 + ethjs-contract: 0.2.2 + ethjs-filter: 0.1.8 + ethjs-provider-http: 0.1.6 + ethjs-query: 0.3.7 + ethjs-unit: 0.1.6 + ethjs-util: 0.1.3 + js-sha3: 0.5.5 + number-to-bn: 1.7.0 + checksum: aa4e69ce4b5db75f8869850ba97199fbee086d0e1a228002a599bdf5617ff1fc914f7552ed25d7c916cf0457d3cbc5d4385f6ea20890b67762eed93a0ef74851 + languageName: node + linkType: hard + +"event-target-shim@npm:^5.0.0": + version: 5.0.1 + resolution: "event-target-shim@npm:5.0.1" + checksum: 1ffe3bb22a6d51bdeb6bf6f7cf97d2ff4a74b017ad12284cc9e6a279e727dc30a5de6bb613e5596ff4dc3e517841339ad09a7eec44266eccb1aa201a30448166 + languageName: node + linkType: hard + +"events@npm:^1.1.1": + version: 1.1.1 + resolution: "events@npm:1.1.1" + checksum: 40431eb005cc4c57861b93d44c2981a49e7feb99df84cf551baed299ceea4444edf7744733f6a6667e942af687359b1f4a87ec1ec4f21d5127dac48a782039b9 + languageName: node + linkType: hard + +"events@npm:^3.0.0": + version: 3.0.0 + resolution: "events@npm:3.0.0" + checksum: 25a5117ac67fd2ca6b931a077a309009cc20b79c60da73fd112a479558cd5a5b197c965c13b1e8d0140f65a22860c40d28e3c60e51dbad8faed8b33a042ca753 + languageName: node + linkType: hard + +"evp_bytestokey@npm:^1.0.3": + version: 1.0.3 + resolution: "evp_bytestokey@npm:1.0.3" + dependencies: + md5.js: ^1.3.4 + node-gyp: latest + safe-buffer: ^5.1.1 + checksum: ad4e1577f1a6b721c7800dcc7c733fe01f6c310732bb5bf2240245c2a5b45a38518b91d8be2c610611623160b9d1c0e91f1ce96d639f8b53e8894625cf20fa45 + languageName: node + linkType: hard + +"exec-sh@npm:^0.3.2": + version: 0.3.2 + resolution: "exec-sh@npm:0.3.2" + checksum: 55bef2e5e00c8a5bd17fded36e27564c0ef24511477d5b27eea99ae067a0d09c247d6bfb5ca1f0fa687a95dbcd403c6b9d8c6fb61571ae84619df00d4d472932 + languageName: node + linkType: hard + +"execa@npm:^1.0.0": + version: 1.0.0 + resolution: "execa@npm:1.0.0" + dependencies: + cross-spawn: ^6.0.0 + get-stream: ^4.0.0 + is-stream: ^1.1.0 + npm-run-path: ^2.0.0 + p-finally: ^1.0.0 + signal-exit: ^3.0.0 + strip-eof: ^1.0.0 + checksum: ddf1342c1c7d02dd93b41364cd847640f6163350d9439071abf70bf4ceb1b9b2b2e37f54babb1d8dc1df8e0d8def32d0e81e74a2e62c3e1d70c303eb4c306bc4 + languageName: node + linkType: hard + +"execa@npm:^4.0.0": + version: 4.0.3 + resolution: "execa@npm:4.0.3" + dependencies: + cross-spawn: ^7.0.0 + get-stream: ^5.0.0 + human-signals: ^1.1.1 + is-stream: ^2.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^4.0.0 + onetime: ^5.1.0 + signal-exit: ^3.0.2 + strip-final-newline: ^2.0.0 + checksum: e76102eeab4727bdad930c33df5fd8621fbd77930061e3a815307e132dc8eb1d103631917ea3ed7d2e5257b9c74c7dcf6980b5f7fbcd0d1cf6cbcb83a3bc226f + languageName: node + linkType: hard + +"execa@npm:^5.1.1": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + 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 + checksum: fba9022c8c8c15ed862847e94c252b3d946036d7547af310e344a527e59021fd8b6bb0723883ea87044dc4f0201f949046993124a42ccb0855cae5bf8c786343 + languageName: node + linkType: hard + +"exit-on-epipe@npm:~1.0.1": + version: 1.0.1 + resolution: "exit-on-epipe@npm:1.0.1" + checksum: e8ab4940416d19f311b3c9226e3725c6c4c6026fe682266ecc0ff33a455d585fe3e4ee757857c7bf1d0491b478cb232b8e395dfb438e65ac87317eda47304c32 + languageName: node + linkType: hard + +"exit@npm:^0.1.2": + version: 0.1.2 + resolution: "exit@npm:0.1.2" + checksum: abc407f07a875c3961e4781dfcb743b58d6c93de9ab263f4f8c9d23bb6da5f9b7764fc773f86b43dd88030444d5ab8abcb611cb680fba8ca075362b77114bba3 + languageName: node + linkType: hard + +"expand-brackets@npm:^2.1.4": + version: 2.1.4 + resolution: "expand-brackets@npm:2.1.4" + dependencies: + debug: ^2.3.3 + define-property: ^0.2.5 + extend-shallow: ^2.0.1 + posix-character-classes: ^0.1.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: 1781d422e7edfa20009e2abda673cadb040a6037f0bd30fcd7357304f4f0c284afd420d7622722ca4a016f39b6d091841ab57b401c1f7e2e5131ac65b9f14fa1 + languageName: node + linkType: hard + +"expect@npm:^26.4.2": + version: 26.4.2 + resolution: "expect@npm:26.4.2" + dependencies: + "@jest/types": ^26.3.0 + ansi-styles: ^4.0.0 + jest-get-type: ^26.3.0 + jest-matcher-utils: ^26.4.2 + jest-message-util: ^26.3.0 + jest-regex-util: ^26.0.0 + checksum: bc80ff08da87061597bed19cd83eadd00a764fd94f8ad46f992736ffeb4fd59e7292b6125aaeed5c6347f25fa751548cc70c6486566cc8ce9850af714bf1af7e + languageName: node + linkType: hard + +"extend-shallow@npm:^2.0.1": + version: 2.0.1 + resolution: "extend-shallow@npm:2.0.1" + dependencies: + is-extendable: ^0.1.0 + checksum: 8fb58d9d7a511f4baf78d383e637bd7d2e80843bd9cd0853649108ea835208fb614da502a553acc30208e1325240bb7cc4a68473021612496bb89725483656d8 + languageName: node + linkType: hard + +"extend-shallow@npm:^3.0.0, extend-shallow@npm:^3.0.2": + version: 3.0.2 + resolution: "extend-shallow@npm:3.0.2" + dependencies: + assign-symbols: ^1.0.0 + is-extendable: ^1.0.1 + checksum: a920b0cd5838a9995ace31dfd11ab5e79bf6e295aa566910ce53dff19f4b1c0fda2ef21f26b28586c7a2450ca2b42d97bd8c0f5cec9351a819222bf861e02461 + languageName: node + linkType: hard + +"extend@npm:~3.0.2": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: a50a8309ca65ea5d426382ff09f33586527882cf532931cb08ca786ea3146c0553310bda688710ff61d7668eba9f96b923fe1420cdf56a2c3eaf30fcab87b515 + languageName: node + linkType: hard + +"extglob@npm:^2.0.4": + version: 2.0.4 + resolution: "extglob@npm:2.0.4" + dependencies: + array-unique: ^0.3.2 + define-property: ^1.0.0 + expand-brackets: ^2.1.4 + extend-shallow: ^2.0.1 + fragment-cache: ^0.2.1 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: a41531b8934735b684cef5e8c5a01d0f298d7d384500ceca38793a9ce098125aab04ee73e2d75d5b2901bc5dddd2b64e1b5e3bf19139ea48bac52af4a92f1d00 + languageName: node + linkType: hard + +"extsprintf@npm:1.3.0, extsprintf@npm:^1.2.0": + version: 1.3.0 + resolution: "extsprintf@npm:1.3.0" + checksum: cee7a4a1e34cffeeec18559109de92c27517e5641991ec6bab849aa64e3081022903dd53084f2080d0d2530803aa5ee84f1e9de642c365452f9e67be8f958ce2 + languageName: node + linkType: hard + +"fake-merkle-patricia-tree@npm:^1.0.1": + version: 1.0.1 + resolution: "fake-merkle-patricia-tree@npm:1.0.1" + dependencies: + checkpoint-store: ^1.1.0 + checksum: 8f9fe05bb5beabb31e4fbb8d2cfe83cfb36fd9f6ba78193dea8fab7a679470d45bb04c6f052d4f79da03e81129c5b5bed528902430184e1e11b4959f397019ac + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d + languageName: node + linkType: hard + +"fast-diff@npm:^1.1.2": + version: 1.2.0 + resolution: "fast-diff@npm:1.2.0" + checksum: 1b5306eaa9e826564d9e5ffcd6ebd881eb5f770b3f977fcbf38f05c824e42172b53c79920e8429c54eb742ce15a0caf268b0fdd5b38f6de52234c4a8368131ae + languageName: node + linkType: hard + +"fast-glob@npm:^3.0.3": + version: 3.2.7 + resolution: "fast-glob@npm:3.2.7" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: 2f4708ff112d2b451888129fdd9a0938db88b105b0ddfd043c064e3c4d3e20eed8d7c7615f7565fee660db34ddcf08a2db1bf0ab3c00b87608e4719694642d78 + languageName: node + linkType: hard + +"fast-glob@npm:^3.1.1": + version: 3.2.4 + resolution: "fast-glob@npm:3.2.4" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.0 + merge2: ^1.3.0 + micromatch: ^4.0.2 + picomatch: ^2.2.1 + checksum: a70ce897b23e85521688b03897115315e8c781f2e5ee5f3b83e8c10df6a464e8be415c800f55c9c40278b41aeccc60883f018f76dde8250b8cf28e7566c13f75 + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.9": + version: 3.2.11 + resolution: "fast-glob@npm:3.2.11" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: f473105324a7780a20c06de842e15ddbb41d3cb7e71d1e4fe6e8373204f22245d54f5ab9e2061e6a1c613047345954d29b022e0e76f5c28b1df9858179a0e6d7 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.4": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c + languageName: node + linkType: hard + +"fast-safe-stringify@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-safe-stringify@npm:2.0.6" + checksum: 1b7337bd68664c7cc0cd7bf0e92f474a232d8bdbf49f81522bda1429a7c1b4c69824185fc679cc6f3b3398ba8c73b019d175abd6b43b568b137d9fe4d7879c00 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.9.0 + resolution: "fastq@npm:1.9.0" + dependencies: + reusify: ^1.0.4 + checksum: 25fe18fd57459eb02117317646f477e64d3a53b53545b0d834f5c1de51df5db5df7dc4d7c56003a3f59fab233b61e406842cbd68e9c68f4ade9890e8e2f21961 + languageName: node + linkType: hard + +"fb-watchman@npm:^2.0.0": + version: 2.0.0 + resolution: "fb-watchman@npm:2.0.0" + dependencies: + bser: ^2.0.0 + checksum: bf87adc30ed4d291d4208ae7a8e629433079b2ce3e5e57e24e4cbf1ab69379d81512bedbed37407c1789c48d3ce9e5a43bfa0da0499a2c70b58ff4f9d2e30d0e + languageName: node + linkType: hard + +"file-entry-cache@npm:^6.0.1": + version: 6.0.1 + resolution: "file-entry-cache@npm:6.0.1" + dependencies: + flat-cache: ^3.0.4 + checksum: f49701feaa6314c8127c3c2f6173cfefff17612f5ed2daaafc6da13b5c91fd43e3b2a58fd0d63f9f94478a501b167615931e7200e31485e320f74a33885a9c74 + languageName: node + linkType: hard + +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: b648580bdd893a008c92c7ecc96c3ee57a5e7b6c4c18a9a09b44fb5d36d79146f8e442578bc0e173dc027adf3987e254ba1dfd6e3ec998b7c282873010502144 + languageName: node + linkType: hard + +"fill-range@npm:^4.0.0": + version: 4.0.0 + resolution: "fill-range@npm:4.0.0" + dependencies: + extend-shallow: ^2.0.1 + is-number: ^3.0.0 + repeat-string: ^1.6.1 + to-regex-range: ^2.1.0 + checksum: dbb5102467786ab42bc7a3ec7380ae5d6bfd1b5177b2216de89e4a541193f8ba599a6db84651bd2c58c8921db41b8cc3d699ea83b477342d3ce404020f73c298 + languageName: node + linkType: hard + +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: ^5.0.1 + checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917 + languageName: node + linkType: hard + +"find-up@npm:^2.0.0, find-up@npm:^2.1.0": + version: 2.1.0 + resolution: "find-up@npm:2.1.0" + dependencies: + locate-path: ^2.0.0 + checksum: 43284fe4da09f89011f08e3c32cd38401e786b19226ea440b75386c1b12a4cb738c94969808d53a84f564ede22f732c8409e3cfc3f7fb5b5c32378ad0bbf28bd + languageName: node + linkType: hard + +"find-up@npm:^4.0.0, find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: ^5.0.0 + path-exists: ^4.0.0 + checksum: 4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 + languageName: node + linkType: hard + +"flat-cache@npm:^3.0.4": + version: 3.0.4 + resolution: "flat-cache@npm:3.0.4" + dependencies: + flatted: ^3.1.0 + rimraf: ^3.0.2 + checksum: 4fdd10ecbcbf7d520f9040dd1340eb5dfe951e6f0ecf2252edeec03ee68d989ec8b9a20f4434270e71bcfd57800dc09b3344fca3966b2eb8f613072c7d9a2365 + languageName: node + linkType: hard + +"flatted@npm:^3.1.0": + version: 3.1.1 + resolution: "flatted@npm:3.1.1" + checksum: 508935e3366d95444131f0aaa801a4301f24ea5bcb900d12764e7335b46b910730cc1b5bcfcfb8eccb7c8db261ba0671c6a7ca30d10870ff7a7756dc7e731a7a + languageName: node + linkType: hard + +"for-each@npm:^0.3.3": + version: 0.3.3 + resolution: "for-each@npm:0.3.3" + dependencies: + is-callable: ^1.1.3 + checksum: 6c48ff2bc63362319c65e2edca4a8e1e3483a2fabc72fbe7feaf8c73db94fc7861bd53bc02c8a66a0c1dd709da6b04eec42e0abdd6b40ce47305ae92a25e5d28 + languageName: node + linkType: hard + +"for-in@npm:^1.0.2": + version: 1.0.2 + resolution: "for-in@npm:1.0.2" + checksum: 09f4ae93ce785d253ac963d94c7f3432d89398bf25ac7a24ed034ca393bf74380bdeccc40e0f2d721a895e54211b07c8fad7132e8157827f6f7f059b70b4043d + languageName: node + linkType: hard + +"foreach@npm:^2.0.5": + version: 2.0.5 + resolution: "foreach@npm:2.0.5" + checksum: dab4fbfef0b40b69ee5eab81bcb9626b8fa8b3469c8cfa26480f3e5e1ee08c40eae07048c9a967c65aeda26e774511ccc70b3f10a604c01753c6ef24361f0fc8 + languageName: node + linkType: hard + +"forever-agent@npm:~0.6.1": + version: 0.6.1 + resolution: "forever-agent@npm:0.6.1" + checksum: 766ae6e220f5fe23676bb4c6a99387cec5b7b62ceb99e10923376e27bfea72f3c3aeec2ba5f45f3f7ba65d6616965aa7c20b15002b6860833bb6e394dea546a8 + languageName: node + linkType: hard + +"form-data@npm:~2.3.2": + version: 2.3.3 + resolution: "form-data@npm:2.3.3" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.6 + mime-types: ^2.1.12 + checksum: 10c1780fa13dbe1ff3100114c2ce1f9307f8be10b14bf16e103815356ff567b6be39d70fc4a40f8990b9660012dc24b0f5e1dde1b6426166eb23a445ba068ca3 + languageName: node + linkType: hard + +"fragment-cache@npm:^0.2.1": + version: 0.2.1 + resolution: "fragment-cache@npm:0.2.1" + dependencies: + map-cache: ^0.2.2 + checksum: 1cbbd0b0116b67d5790175de0038a11df23c1cd2e8dcdbade58ebba5594c2d641dade6b4f126d82a7b4a6ffc2ea12e3d387dbb64ea2ae97cf02847d436f60fdc + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: ^3.0.0 + checksum: 1b8d128dae2ac6cc94230cc5ead341ba3e0efaef82dab46a33d171c044caaa6ca001364178d42069b2809c35a1c3c35079a32107c770e9ffab3901b59af8c8b1 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 99ddea01a7e75aa276c250a04eedeffe5662bce66c65c07164ad6264f9de18fb21be9433ead460e54cff20e31721c811f4fb5d70591799df5f85dce6d6746fd0 + languageName: node + linkType: hard + +"fsevents@npm:^2.1.2": + version: 2.1.2 + resolution: "fsevents@npm:2.1.2" + dependencies: + node-gyp: latest + checksum: 63fe1ba77b63d5da5dde6112c5f0eb161b9d18a61427a8a49d661eeed080189d99e8f9da11bb6b75ecd5129a69edc5757d60a4eb0bbada6de68d5156c382c5e1 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@^2.1.2#~builtin": + version: 2.1.2 + resolution: "fsevents@patch:fsevents@npm%3A2.1.2#~builtin::version=2.1.2&hash=18f3a7" + dependencies: + node-gyp: latest + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.0.2, function-bind@npm:^1.1.1": + version: 1.1.1 + resolution: "function-bind@npm:1.1.1" + checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a + languageName: node + linkType: hard + +"functional-red-black-tree@npm:^1.0.1": + version: 1.0.1 + resolution: "functional-red-black-tree@npm:1.0.1" + checksum: ca6c170f37640e2d94297da8bb4bf27a1d12bea3e00e6a3e007fd7aa32e37e000f5772acf941b4e4f3cf1c95c3752033d0c509af157ad8f526e7f00723b9eb9f + languageName: node + linkType: hard + +"gauge@npm:^4.0.3": + version: 4.0.4 + resolution: "gauge@npm:4.0.4" + dependencies: + aproba: ^1.0.3 || ^2.0.0 + color-support: ^1.1.3 + console-control-strings: ^1.1.0 + has-unicode: ^2.0.1 + signal-exit: ^3.0.7 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + wide-align: ^1.1.5 + checksum: 788b6bfe52f1dd8e263cda800c26ac0ca2ff6de0b6eee2fe0d9e3abf15e149b651bd27bf5226be10e6e3edb5c4e5d5985a5a1a98137e7a892f75eff76467ad2d + languageName: node + linkType: hard + +"gauge@npm:~2.7.3": + version: 2.7.4 + resolution: "gauge@npm:2.7.4" + dependencies: + aproba: ^1.0.3 + console-control-strings: ^1.0.0 + has-unicode: ^2.0.0 + object-assign: ^4.1.0 + signal-exit: ^3.0.0 + string-width: ^1.0.1 + strip-ansi: ^3.0.1 + wide-align: ^1.1.0 + checksum: a89b53cee65579b46832e050b5f3a79a832cc422c190de79c6b8e2e15296ab92faddde6ddf2d376875cbba2b043efa99b9e1ed8124e7365f61b04e3cee9d40ee + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.1": + version: 1.0.0-beta.1 + resolution: "gensync@npm:1.0.0-beta.1" + checksum: 92686a5445740fb505f68d66318df5ff04fd803d31385c1ea7b432d860d3e098eb2bc03c8c820356e6f71d86abc0a213ba48bec98b9befafb380b302bfa9e0c1 + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1": + version: 1.1.1 + resolution: "get-intrinsic@npm:1.1.1" + dependencies: + function-bind: ^1.1.1 + has: ^1.0.3 + has-symbols: ^1.0.1 + checksum: a9fe2ca8fa3f07f9b0d30fb202bcd01f3d9b9b6b732452e79c48e79f7d6d8d003af3f9e38514250e3553fdc83c61650851cb6870832ac89deaaceb08e3721a17 + languageName: node + linkType: hard + +"get-stream@npm:^4.0.0": + version: 4.1.0 + resolution: "get-stream@npm:4.1.0" + dependencies: + pump: ^3.0.0 + checksum: 443e1914170c15bd52ff8ea6eff6dfc6d712b031303e36302d2778e3de2506af9ee964d6124010f7818736dcfde05c04ba7ca6cc26883106e084357a17ae7d73 + languageName: node + linkType: hard + +"get-stream@npm:^5.0.0": + version: 5.1.0 + resolution: "get-stream@npm:5.1.0" + dependencies: + pump: ^3.0.0 + checksum: 371e1fb3f3b009edffd379810ed52a1f0a0a621dbb3778bd844e3b002065af0790bfddde845b4a0f05f71da5d99441465f5586281497321b151a8bdd102c885a + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad + languageName: node + linkType: hard + +"get-symbol-description@npm:^1.0.0": + version: 1.0.0 + resolution: "get-symbol-description@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.1 + checksum: 9ceff8fe968f9270a37a1f73bf3f1f7bda69ca80f4f80850670e0e7b9444ff99323f7ac52f96567f8b5f5fbe7ac717a0d81d3407c7313e82810c6199446a5247 + languageName: node + linkType: hard + +"get-value@npm:^2.0.3, get-value@npm:^2.0.6": + version: 2.0.6 + resolution: "get-value@npm:2.0.6" + checksum: 5c3b99cb5398ea8016bf46ff17afc5d1d286874d2ad38ca5edb6e87d75c0965b0094cb9a9dddef2c59c23d250702323539a7fbdd870620db38c7e7d7ec87c1eb + languageName: node + linkType: hard + +"getpass@npm:^0.1.1": + version: 0.1.7 + resolution: "getpass@npm:0.1.7" + dependencies: + assert-plus: ^1.0.0 + checksum: ab18d55661db264e3eac6012c2d3daeafaab7a501c035ae0ccb193c3c23e9849c6e29b6ac762b9c2adae460266f925d55a3a2a3a3c8b94be2f222df94d70c046 + languageName: node + linkType: hard + +"git-hooks-list@npm:1.0.3": + version: 1.0.3 + resolution: "git-hooks-list@npm:1.0.3" + checksum: a1dd03d39c1d727ba08a35dbdbdcc6e96de8c4170c942dc95bf787ca6e34998d39fb5295a00242b58a3d265de0b69a0686d0cf583baa6b7830f268542c4576b9 + languageName: node + linkType: hard + +"glob-parent@npm:^5.0.0, glob-parent@npm:^5.1.0, glob-parent@npm:^5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: ^4.0.1 + checksum: f4f2bfe2425296e8a47e36864e4f42be38a996db40420fe434565e4480e3322f18eb37589617a98640c5dc8fdec1a387007ee18dbb1f3f5553409c34d17f425e + languageName: node + linkType: hard + +"glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0": + version: 7.2.0 + resolution: "glob@npm:7.2.0" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.0.4 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 78a8ea942331f08ed2e055cb5b9e40fe6f46f579d7fd3d694f3412fe5db23223d29b7fee1575440202e9a7ff9a72ab106a39fee39934c7bedafe5e5f8ae20134 + languageName: node + linkType: hard + +"glob@npm:^8.0.1": + version: 8.0.3 + resolution: "glob@npm:8.0.3" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^5.0.1 + once: ^1.3.0 + checksum: 50bcdea19d8e79d8de5f460b1939ffc2b3299eac28deb502093fdca22a78efebc03e66bf54f0abc3d3d07d8134d19a32850288b7440d77e072aa55f9d33b18c5 + languageName: node + linkType: hard + +"global@npm:~4.3.0": + version: 4.3.2 + resolution: "global@npm:4.3.2" + dependencies: + min-document: ^2.19.0 + process: ~0.5.1 + checksum: aa6ad3fc9dc354cefc88898482df8ca042a69b133789e760c3d7639444860a7592f8f2139c9f096a823e9b0909d6d8531421dee266d59d4aff994d4b497a73f9 + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 67051a45eca3db904aee189dfc7cd53c20c7d881679c93f6146ddd4c9f4ab2268e68a919df740d39c71f4445d2b38ee360fc234428baea1dbdfe68bbcb46979e + languageName: node + linkType: hard + +"globals@npm:^12.1.0": + version: 12.4.0 + resolution: "globals@npm:12.4.0" + dependencies: + type-fest: ^0.8.1 + checksum: 7ae5ee16a96f1e8d71065405f57da0e33267f6b070cd36a5444c7780dd28639b48b92413698ac64f04bf31594f9108878bd8cb158ecdf759c39e05634fefcca6 + languageName: node + linkType: hard + +"globals@npm:^13.6.0": + version: 13.8.0 + resolution: "globals@npm:13.8.0" + dependencies: + type-fest: ^0.20.2 + checksum: acbfcad2b8aeff34d977a2df62bda863d7537e19f5b30cc3452493ce636b5193be9f68da46a53f41875f49052ddd7d550cd2568ecc818ddde3603e30def1fef3 + languageName: node + linkType: hard + +"globby@npm:10.0.0": + version: 10.0.0 + resolution: "globby@npm:10.0.0" + dependencies: + "@types/glob": ^7.1.1 + array-union: ^2.1.0 + dir-glob: ^3.0.1 + fast-glob: ^3.0.3 + glob: ^7.1.3 + ignore: ^5.1.1 + merge2: ^1.2.3 + slash: ^3.0.0 + checksum: fbff58d2fcaedd9207901f6e3b5341ff885b6d499c3a095f7befde0fd03ec1ea634452a82f81e894e46f6a5d704da44b842ba93066f90dced52adf84d4b8d1cc + languageName: node + linkType: hard + +"globby@npm:^11.0.1": + version: 11.0.1 + resolution: "globby@npm:11.0.1" + dependencies: + array-union: ^2.1.0 + dir-glob: ^3.0.1 + fast-glob: ^3.1.1 + ignore: ^5.1.4 + merge2: ^1.3.0 + slash: ^3.0.0 + checksum: b0b26e580666ef8caf0b0facd585c1da46eb971207ee9f8c7b690c1372d77602dd072f047f26c3ae1c293807fdf8fb6890d9291d37bc6d2602b1f07386f983e5 + languageName: node + linkType: hard + +"globby@npm:^11.0.3": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: ^2.1.0 + dir-glob: ^3.0.1 + fast-glob: ^3.2.9 + ignore: ^5.2.0 + merge2: ^1.4.1 + slash: ^3.0.0 + checksum: b4be8885e0cfa018fc783792942d53926c35c50b3aefd3fdcfb9d22c627639dc26bd2327a40a0b74b074100ce95bb7187bfeae2f236856aa3de183af7a02aea6 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.2.4": + version: 4.2.4 + resolution: "graceful-fs@npm:4.2.4" + checksum: 9d58c444eb4f391ce30b451aae8a8af2bd675d9f6f624719e97306f571ab89b2bd2b5f9025199bc63a2edfe2e53e7701554012f32a708148d53aa689163728cc + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.3": + version: 4.2.6 + resolution: "graceful-fs@npm:4.2.6" + checksum: 792e64aafda05a151289f83eaa16aff34ef259658cefd65393883d959409f5a2389b0ec9ebf28f3d21f1b0ddc8f594a1162ae9b18e2b507a6799a70706ec573d + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.6": + version: 4.2.10 + resolution: "graceful-fs@npm:4.2.10" + checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da + languageName: node + linkType: hard + +"growly@npm:^1.3.0": + version: 1.3.0 + resolution: "growly@npm:1.3.0" + checksum: 53cdecd4c16d7d9154a9061a9ccb87d602e957502ca69b529d7d1b2436c2c0b700ec544fc6b3e4cd115d59b81e62e44ce86bd0521403b579d3a2a97d7ce72a44 + languageName: node + linkType: hard + +"har-schema@npm:^2.0.0": + version: 2.0.0 + resolution: "har-schema@npm:2.0.0" + checksum: d8946348f333fb09e2bf24cc4c67eabb47c8e1d1aa1c14184c7ffec1140a49ec8aa78aa93677ae452d71d5fc0fdeec20f0c8c1237291fc2bcb3f502a5d204f9b + languageName: node + linkType: hard + +"har-validator@npm:~5.1.0, har-validator@npm:~5.1.3": + version: 5.1.3 + resolution: "har-validator@npm:5.1.3" + dependencies: + ajv: ^6.5.5 + har-schema: ^2.0.0 + checksum: 5903ddf55f4403bb102a86dc2da073593716c7aa422863c244cb406b69e006551553c904e30ed5d123788675ae827f977b3b366211dc730b33a2b619f926199f + languageName: node + linkType: hard + +"has-bigints@npm:^1.0.1": + version: 1.0.1 + resolution: "has-bigints@npm:1.0.1" + checksum: 44ab55868174470065d2e0f8f6def1c990d12b82162a8803c679699fa8a39f966e336f2a33c185092fe8aea7e8bf2e85f1c26add5f29d98f2318bd270096b183 + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 4a15638b454bf086c8148979aae044dd6e39d63904cd452d970374fa6a87623423da485dfb814e7be882e05c096a7ccf1ebd48e7e7501d0208d8384ff4dea73b + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.0": + version: 1.0.0 + resolution: "has-symbols@npm:1.0.0" + checksum: 9b557a61222b5579273ac93f193e14925a3b0d9631e87cae8f6f774cb7f90eada8218a9f71f075a60d330266dddea3c4e7153b9638e866e3d01d42a614717bc4 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.1": + version: 1.0.1 + resolution: "has-symbols@npm:1.0.1" + checksum: 4f09be6682f9fc29855ded1101ad2a0f5d559d7d9ed68f7b68be1ea213c23991216d08d6585bf3ff6fded6f526cc506bda528d276f083602b55d232f132cfa27 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.2": + version: 1.0.2 + resolution: "has-symbols@npm:1.0.2" + checksum: 2309c426071731be792b5be43b3da6fb4ed7cbe8a9a6bcfca1862587709f01b33d575ce8f5c264c1eaad09fca2f9a8208c0a2be156232629daa2dd0c0740976b + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.0": + version: 1.0.0 + resolution: "has-tostringtag@npm:1.0.0" + dependencies: + has-symbols: ^1.0.2 + checksum: cc12eb28cb6ae22369ebaad3a8ab0799ed61270991be88f208d508076a1e99abe4198c965935ce85ea90b60c94ddda73693b0920b58e7ead048b4a391b502c1c + languageName: node + linkType: hard + +"has-unicode@npm:^2.0.0, has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 + languageName: node + linkType: hard + +"has-value@npm:^0.3.1": + version: 0.3.1 + resolution: "has-value@npm:0.3.1" + dependencies: + get-value: ^2.0.3 + has-values: ^0.1.4 + isobject: ^2.0.0 + checksum: 29e2a1e6571dad83451b769c7ce032fce6009f65bccace07c2962d3ad4d5530b6743d8f3229e4ecf3ea8e905d23a752c5f7089100c1f3162039fa6dc3976558f + languageName: node + linkType: hard + +"has-value@npm:^1.0.0": + version: 1.0.0 + resolution: "has-value@npm:1.0.0" + dependencies: + get-value: ^2.0.6 + has-values: ^1.0.0 + isobject: ^3.0.0 + checksum: b9421d354e44f03d3272ac39fd49f804f19bc1e4fa3ceef7745df43d6b402053f828445c03226b21d7d934a21ac9cf4bc569396dc312f496ddff873197bbd847 + languageName: node + linkType: hard + +"has-values@npm:^0.1.4": + version: 0.1.4 + resolution: "has-values@npm:0.1.4" + checksum: ab1c4bcaf811ccd1856c11cfe90e62fca9e2b026ebe474233a3d282d8d67e3b59ed85b622c7673bac3db198cb98bd1da2b39300a2f98e453729b115350af49bc + languageName: node + linkType: hard + +"has-values@npm:^1.0.0": + version: 1.0.0 + resolution: "has-values@npm:1.0.0" + dependencies: + is-number: ^3.0.0 + kind-of: ^4.0.0 + checksum: 77e6693f732b5e4cf6c38dfe85fdcefad0fab011af74995c3e83863fabf5e3a836f406d83565816baa0bc0a523c9410db8b990fe977074d61aeb6d8f4fcffa11 + languageName: node + linkType: hard + +"has@npm:^1.0.1, has@npm:^1.0.3": + version: 1.0.3 + resolution: "has@npm:1.0.3" + dependencies: + function-bind: ^1.1.1 + checksum: b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792 + languageName: node + linkType: hard + +"hash-base@npm:^3.0.0": + version: 3.0.4 + resolution: "hash-base@npm:3.0.4" + dependencies: + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + checksum: 878465a0dfcc33cce195c2804135352c590d6d10980adc91a9005fd377e77f2011256c2b7cfce472e3f2e92d561d1bf3228d2da06348a9017ce9a258b3b49764 + languageName: node + linkType: hard + +"hash.js@npm:1.1.7, hash.js@npm:^1.0.0, hash.js@npm:^1.0.3, hash.js@npm:^1.1.7": + version: 1.1.7 + resolution: "hash.js@npm:1.1.7" + dependencies: + inherits: ^2.0.3 + minimalistic-assert: ^1.0.1 + checksum: e350096e659c62422b85fa508e4b3669017311aa4c49b74f19f8e1bc7f3a54a584fdfd45326d4964d6011f2b2d882e38bea775a96046f2a61b7779a979629d8f + languageName: node + linkType: hard + +"hdkey@npm:^2.0.1": + version: 2.0.1 + resolution: "hdkey@npm:2.0.1" + dependencies: + bs58check: ^2.1.2 + safe-buffer: ^5.1.1 + secp256k1: ^4.0.0 + checksum: 77105cecf7843f03f9b602724882cfeb227e392843bb808971ccdb2094e5a4e0c1731587e079d344816f738929def5df297f5fec687bcece46e36ac339e62fcd + languageName: node + linkType: hard + +"hmac-drbg@npm:^1.0.1": + version: 1.0.1 + resolution: "hmac-drbg@npm:1.0.1" + dependencies: + hash.js: ^1.0.3 + minimalistic-assert: ^1.0.0 + minimalistic-crypto-utils: ^1.0.1 + checksum: bd30b6a68d7f22d63f10e1888aee497d7c2c5c0bb469e66bbdac99f143904d1dfe95f8131f95b3e86c86dd239963c9d972fcbe147e7cffa00e55d18585c43fe0 + languageName: node + linkType: hard + +"hosted-git-info@npm:^2.1.4": + version: 2.8.9 + resolution: "hosted-git-info@npm:2.8.9" + checksum: c955394bdab888a1e9bb10eb33029e0f7ce5a2ac7b3f158099dc8c486c99e73809dca609f5694b223920ca2174db33d32b12f9a2a47141dc59607c29da5a62dd + languageName: node + linkType: hard + +"html-encoding-sniffer@npm:^1.0.2": + version: 1.0.2 + resolution: "html-encoding-sniffer@npm:1.0.2" + dependencies: + whatwg-encoding: ^1.0.1 + checksum: b874df6750451b7642fbe8e998c6bdd2911b0f42ad2927814b717bf1f4b082b0904b6178a1bfbc40117bf5799777993b0825e7713ca0fca49844e5aec03aa0e2 + languageName: node + linkType: hard + +"html-encoding-sniffer@npm:^2.0.1": + version: 2.0.1 + resolution: "html-encoding-sniffer@npm:2.0.1" + dependencies: + whatwg-encoding: ^1.0.5 + checksum: bf30cce461015ed7e365736fcd6a3063c7bc016a91f74398ef6158886970a96333938f7c02417ab3c12aa82e3e53b40822145facccb9ddfbcdc15a879ae4d7ba + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.0 + resolution: "html-escaper@npm:2.0.0" + checksum: 02124d0018e5cdc1cec632a1e8b57dce103fa27c448dd915ddc22b6dffbd697bdce0ee0c23429c36c5036b2c61ea16c63a5132dd51d8e3c75d58e38bbd3c19bf + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.0": + version: 4.1.0 + resolution: "http-cache-semantics@npm:4.1.0" + checksum: 974de94a81c5474be07f269f9fd8383e92ebb5a448208223bfb39e172a9dbc26feff250192ecc23b9593b3f92098e010406b0f24bd4d588d631f80214648ed42 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^5.0.0": + version: 5.0.0 + resolution: "http-proxy-agent@npm:5.0.0" + dependencies: + "@tootallnate/once": 2 + agent-base: 6 + debug: 4 + checksum: e2ee1ff1656a131953839b2a19cd1f3a52d97c25ba87bd2559af6ae87114abf60971e498021f9b73f9fd78aea8876d1fb0d4656aac8a03c6caa9fc175f22b786 + languageName: node + linkType: hard + +"http-signature@npm:~1.2.0": + version: 1.2.0 + resolution: "http-signature@npm:1.2.0" + dependencies: + assert-plus: ^1.0.0 + jsprim: ^1.2.2 + sshpk: ^1.7.0 + checksum: 3324598712266a9683585bb84a75dec4fd550567d5e0dd4a0fff6ff3f74348793404d3eeac4918fa0902c810eeee1a86419e4a2e92a164132dfe6b26743fb47c + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: 6 + debug: 4 + checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 + languageName: node + linkType: hard + +"human-signals@npm:^1.1.1": + version: 1.1.1 + resolution: "human-signals@npm:1.1.1" + checksum: d587647c9e8ec24e02821b6be7de5a0fc37f591f6c4e319b3054b43fd4c35a70a94c46fc74d8c1a43c47fde157d23acd7421f375e1c1365b09a16835b8300205 + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: b87fd89fce72391625271454e70f67fe405277415b48bcc0117ca73d31fa23a4241787afdc8d67f5a116cf37258c052f59ea82daffa72364d61351423848e3b8 + languageName: node + linkType: hard + +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" + dependencies: + ms: ^2.0.0 + checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: ">= 2.1.2 < 3" + checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: ">= 2.1.2 < 3.0.0" + checksum: 3f60d47a5c8fc3313317edfd29a00a692cc87a19cac0159e2ce711d0ebc9019064108323b5e493625e25594f11c6236647d8e256fbe7a58f4a3b33b89e6d30bf + languageName: node + linkType: hard + +"idna-uts46-hx@npm:^2.3.1": + version: 2.3.1 + resolution: "idna-uts46-hx@npm:2.3.1" + dependencies: + punycode: 2.1.0 + checksum: d434c3558d2bc1090eb90f978f995101f469cb26593414ac57aa082c9352e49972b332c6e4188b9b15538172ccfeae3121e5a19b96972a97e6aeb0676d86639c + languageName: node + linkType: hard + +"ieee754@npm:^1.1.13": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e + languageName: node + linkType: hard + +"ieee754@npm:^1.1.4": + version: 1.1.13 + resolution: "ieee754@npm:1.1.13" + checksum: 102df1ba662e316e6160f7ce29c7c7fa3e04f2014c288336c5a9ff40bbcc2a27d209fa2a81ebfb33f28b1941021343d30e9ad8ee85a2d61f79f5936c35edc33d + languageName: node + linkType: hard + +"ignore@npm:^4.0.6": + version: 4.0.6 + resolution: "ignore@npm:4.0.6" + checksum: 248f82e50a430906f9ee7f35e1158e3ec4c3971451dd9f99c9bc1548261b4db2b99709f60ac6c6cac9333494384176cc4cc9b07acbe42d52ac6a09cad734d800 + languageName: node + linkType: hard + +"ignore@npm:^5.1.1, ignore@npm:^5.1.4": + version: 5.1.8 + resolution: "ignore@npm:5.1.8" + checksum: 967abadb61e2cb0e5c5e8c4e1686ab926f91bc1a4680d994b91947d3c65d04c3ae126dcdf67f08e0feeb8ff8407d453e641aeeddcc47a3a3cca359f283cf6121 + languageName: node + linkType: hard + +"ignore@npm:^5.1.8, ignore@npm:^5.2.0": + version: 5.2.0 + resolution: "ignore@npm:5.2.0" + checksum: 6b1f926792d614f64c6c83da3a1f9c83f6196c2839aa41e1e32dd7b8d174cef2e329d75caabb62cb61ce9dc432f75e67d07d122a037312db7caa73166a1bdb77 + languageName: node + linkType: hard + +"immediate@npm:^3.2.3": + version: 3.2.3 + resolution: "immediate@npm:3.2.3" + checksum: 9867dc70794f3aa246a90afe8a0166607590b687e8c572839ff2342292ac2da4b1cdfd396d38f7b9e72625d817d601e73c33c2874e9c0b8e0f1d6658b3c03496 + languageName: node + linkType: hard + +"immer@npm:^9.0.6": + version: 9.0.6 + resolution: "immer@npm:9.0.6" + checksum: 75da22f3b32f3f14604eb389b4f50e84a14f2e42f306f0cbe4d2969aed54ec7fda9a7e9ca42ebae2ba73ec9bb6ec1001fafbac535accaf03860054ab0f7e8388 + languageName: node + linkType: hard + +"import-fresh@npm:^3.0.0": + version: 3.2.1 + resolution: "import-fresh@npm:3.2.1" + dependencies: + parent-module: ^1.0.0 + resolve-from: ^4.0.0 + checksum: caef42418a087c3951fb676943a7f21ba8971aa07f9b622dff4af7edcef4160e1b172dccd85a88d7eb109cf41406a4592f70259e6b3b33aeafd042bb61f81d96 + languageName: node + linkType: hard + +"import-fresh@npm:^3.2.1": + version: 3.3.0 + resolution: "import-fresh@npm:3.3.0" + dependencies: + parent-module: ^1.0.0 + resolve-from: ^4.0.0 + checksum: 2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa + languageName: node + linkType: hard + +"import-local@npm:^3.0.2": + version: 3.0.2 + resolution: "import-local@npm:3.0.2" + dependencies: + pkg-dir: ^4.2.0 + resolve-cwd: ^3.0.0 + bin: + import-local-fixture: fixtures/cli.js + checksum: c74d9f9484c878cda1de3434613c7ff72d5dadcf20e5482542232d7c2575b713ff88701d6675fcf09a3684cb23fb407c8b333b9cbc59438712723d058d8e976c + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 7cae75c8cd9a50f57dadd77482359f659eaebac0319dd9368bcd1714f55e65badd6929ca58569da2b6494ef13fdd5598cd700b1eba23f8b79c5f19d195a3ecf7 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 824cfb9929d031dabf059bebfe08cf3137365e112019086ed3dcff6a0a7b698cb80cf67ccccde0e25b9e2d7527aa6cc1fed1ac490c752162496caba3e6699612 + languageName: node + linkType: hard + +"infer-owner@npm:^1.0.4": + version: 1.0.4 + resolution: "infer-owner@npm:1.0.4" + checksum: 181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: ^1.3.0 + wrappy: 1 + checksum: f4f76aa072ce19fae87ce1ef7d221e709afb59d445e05d47fba710e85470923a75de35bfae47da6de1b18afc3ce83d70facf44cfb0aff89f0a3f45c0a0244dfd + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 + languageName: node + linkType: hard + +"internal-slot@npm:^1.0.3": + version: 1.0.3 + resolution: "internal-slot@npm:1.0.3" + dependencies: + get-intrinsic: ^1.1.0 + has: ^1.0.3 + side-channel: ^1.0.4 + checksum: 1944f92e981e47aebc98a88ff0db579fd90543d937806104d0b96557b10c1f170c51fb777b97740a8b6ddeec585fca8c39ae99fd08a8e058dfc8ab70937238bf + languageName: node + linkType: hard + +"ip-regex@npm:^2.1.0": + version: 2.1.0 + resolution: "ip-regex@npm:2.1.0" + checksum: 331d95052aa53ce245745ea0fc3a6a1e2e3c8d6da65fa8ea52bf73768c1b22a9ac50629d1d2b08c04e7b3ac4c21b536693c149ce2c2615ee4796030e5b3e3cba + languageName: node + linkType: hard + +"ip@npm:^1.1.5": + version: 1.1.8 + resolution: "ip@npm:1.1.8" + checksum: a2ade53eb339fb0cbe9e69a44caab10d6e3784662285eb5d2677117ee4facc33a64679051c35e0dfdb1a3983a51ce2f5d2cb36446d52e10d01881789b76e28fb + languageName: node + linkType: hard + +"is-accessor-descriptor@npm:^0.1.6": + version: 0.1.6 + resolution: "is-accessor-descriptor@npm:0.1.6" + dependencies: + kind-of: ^3.0.2 + checksum: 3d629a086a9585bc16a83a8e8a3416f400023301855cafb7ccc9a1d63145b7480f0ad28877dcc2cce09492c4ec1c39ef4c071996f24ee6ac626be4217b8ffc8a + languageName: node + linkType: hard + +"is-accessor-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-accessor-descriptor@npm:1.0.0" + dependencies: + kind-of: ^6.0.0 + checksum: 8e475968e9b22f9849343c25854fa24492dbe8ba0dea1a818978f9f1b887339190b022c9300d08c47fe36f1b913d70ce8cbaca00369c55a56705fdb7caed37fe + languageName: node + linkType: hard + +"is-arguments@npm:^1.0.4": + version: 1.1.1 + resolution: "is-arguments@npm:1.1.1" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: 7f02700ec2171b691ef3e4d0e3e6c0ba408e8434368504bb593d0d7c891c0dbfda6d19d30808b904a6cb1929bca648c061ba438c39f296c2a8ca083229c49f27 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: eef4417e3c10e60e2c810b6084942b3ead455af16c4509959a27e490e7aee87cfb3f38e01bbde92220b528a0ee1a18d52b787e1458ee86174d8c7f0e58cd488f + languageName: node + linkType: hard + +"is-bigint@npm:^1.0.1": + version: 1.0.4 + resolution: "is-bigint@npm:1.0.4" + dependencies: + has-bigints: ^1.0.1 + checksum: c56edfe09b1154f8668e53ebe8252b6f185ee852a50f9b41e8d921cb2bed425652049fbe438723f6cb48a63ca1aa051e948e7e401e093477c99c84eba244f666 + languageName: node + linkType: hard + +"is-boolean-object@npm:^1.1.0": + version: 1.1.2 + resolution: "is-boolean-object@npm:1.1.2" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: c03b23dbaacadc18940defb12c1c0e3aaece7553ef58b162a0f6bba0c2a7e1551b59f365b91e00d2dbac0522392d576ef322628cb1d036a0fe51eb466db67222 + languageName: node + linkType: hard + +"is-buffer@npm:^1.1.5": + version: 1.1.6 + resolution: "is-buffer@npm:1.1.6" + checksum: 4a186d995d8bbf9153b4bd9ff9fd04ae75068fe695d29025d25e592d9488911eeece84eefbd8fa41b8ddcc0711058a71d4c466dcf6f1f6e1d83830052d8ca707 + languageName: node + linkType: hard + +"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4": + version: 1.1.4 + resolution: "is-callable@npm:1.1.4" + checksum: ad54044fbe114f91da69f89ab3a9b626e80d13398aeb6a541930a52936207d6da4b0f51e5e5dbf2c8dad45623bc302b0e62a0ac9918a0f7d1cd4865929adc0ed + languageName: node + linkType: hard + +"is-callable@npm:^1.2.0": + version: 1.2.0 + resolution: "is-callable@npm:1.2.0" + checksum: 628d786ebb816a28529cd9ee15533e50288715215d374b2c983e6e23b3ae564e55a1cbfed3e3e8935340601584279984d9363b7045458b24f6d7c44249f24cf5 + languageName: node + linkType: hard + +"is-callable@npm:^1.2.4": + version: 1.2.4 + resolution: "is-callable@npm:1.2.4" + checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f + languageName: node + linkType: hard + +"is-ci@npm:^2.0.0": + version: 2.0.0 + resolution: "is-ci@npm:2.0.0" + dependencies: + ci-info: ^2.0.0 + bin: + is-ci: bin.js + checksum: 77b869057510f3efa439bbb36e9be429d53b3f51abd4776eeea79ab3b221337fe1753d1e50058a9e2c650d38246108beffb15ccfd443929d77748d8c0cc90144 + languageName: node + linkType: hard + +"is-core-module@npm:^2.1.0": + version: 2.2.0 + resolution: "is-core-module@npm:2.2.0" + dependencies: + has: ^1.0.3 + checksum: 61e2aff4a7db4f8f7d5a97b484808af17290f4197b34a797cd3d3d27b6b448951064f8d3d6ceae4394fa9b7e6cf08aacd2ba7a17ef6352e922fe803580fbde56 + languageName: node + linkType: hard + +"is-core-module@npm:^2.2.0": + version: 2.4.0 + resolution: "is-core-module@npm:2.4.0" + dependencies: + has: ^1.0.3 + checksum: c498902d4c4d0e8eba3a2e8293ccd442158cfe49a71d7cfad136ccf9902b6a41de34ddaa86cdc95c8b7c22f872e59572d8a5d994cbec04c8ecf27ffe75137119 + languageName: node + linkType: hard + +"is-data-descriptor@npm:^0.1.4": + version: 0.1.4 + resolution: "is-data-descriptor@npm:0.1.4" + dependencies: + kind-of: ^3.0.2 + checksum: 5c622e078ba933a78338ae398a3d1fc5c23332b395312daf4f74bab4afb10d061cea74821add726cb4db8b946ba36217ee71a24fe71dd5bca4632edb7f6aad87 + languageName: node + linkType: hard + +"is-data-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-data-descriptor@npm:1.0.0" + dependencies: + kind-of: ^6.0.0 + checksum: e705e6816241c013b05a65dc452244ee378d1c3e3842bd140beabe6e12c0d700ef23c91803f971aa7b091fb0573c5da8963af34a2b573337d87bc3e1f53a4e6d + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.1": + version: 1.0.1 + resolution: "is-date-object@npm:1.0.1" + checksum: 4ce962ecb46d31e48652a247ba9a31697199308926ec8e330426f5de41007781c28617c7c972f188e9aa2dd3d77f725eaba7755d207cecdd49f32fc0beca4fed + languageName: node + linkType: hard + +"is-descriptor@npm:^0.1.0": + version: 0.1.6 + resolution: "is-descriptor@npm:0.1.6" + dependencies: + is-accessor-descriptor: ^0.1.6 + is-data-descriptor: ^0.1.4 + kind-of: ^5.0.0 + checksum: 0f780c1b46b465f71d970fd7754096ffdb7b69fd8797ca1f5069c163eaedcd6a20ec4a50af669075c9ebcfb5266d2e53c8b227e485eefdb0d1fee09aa1dd8ab6 + languageName: node + linkType: hard + +"is-descriptor@npm:^1.0.0, is-descriptor@npm:^1.0.2": + version: 1.0.2 + resolution: "is-descriptor@npm:1.0.2" + dependencies: + is-accessor-descriptor: ^1.0.0 + is-data-descriptor: ^1.0.0 + kind-of: ^6.0.2 + checksum: 2ed623560bee035fb67b23e32ce885700bef8abe3fbf8c909907d86507b91a2c89a9d3a4d835a4d7334dd5db0237a0aeae9ca109c1e4ef1c0e7b577c0846ab5a + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0": + version: 2.1.1 + resolution: "is-docker@npm:2.1.1" + bin: + is-docker: cli.js + checksum: dfa7338b446c13807590f9bd7408a09fd9ef49bc977b94408723c0857b3ba0d49f20b48e23f0d426d6914b52c38066672105f19eb3c970c5f2a25a39275afb64 + languageName: node + linkType: hard + +"is-extendable@npm:^0.1.0, is-extendable@npm:^0.1.1": + version: 0.1.1 + resolution: "is-extendable@npm:0.1.1" + checksum: 3875571d20a7563772ecc7a5f36cb03167e9be31ad259041b4a8f73f33f885441f778cee1f1fe0085eb4bc71679b9d8c923690003a36a6a5fdf8023e6e3f0672 + languageName: node + linkType: hard + +"is-extendable@npm:^1.0.1": + version: 1.0.1 + resolution: "is-extendable@npm:1.0.1" + dependencies: + is-plain-object: ^2.0.4 + checksum: db07bc1e9de6170de70eff7001943691f05b9d1547730b11be01c0ebfe67362912ba743cf4be6fd20a5e03b4180c685dad80b7c509fe717037e3eee30ad8e84f + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85 + languageName: node + linkType: hard + +"is-fn@npm:^1.0.0": + version: 1.0.0 + resolution: "is-fn@npm:1.0.0" + checksum: eeea1e536716f93a92dc1a8550b2c0909fe74bb5144d0fb6d65e0d31eb9c06c30559f69d83a9351d2288cc7293b43bc074e0fab5fae19e312ff38aa0c7672827 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^1.0.0": + version: 1.0.0 + resolution: "is-fullwidth-code-point@npm:1.0.0" + dependencies: + number-is-nan: ^1.0.0 + checksum: 4d46a7465a66a8aebcc5340d3b63a56602133874af576a9ca42c6f0f4bd787a743605771c5f246db77da96605fefeffb65fc1dbe862dcc7328f4b4d03edf5a57 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^2.0.0": + version: 2.0.0 + resolution: "is-fullwidth-code-point@npm:2.0.0" + checksum: eef9c6e15f68085fec19ff6a978a6f1b8f48018fd1265035552078ee945573594933b09bbd6f562553e2a241561439f1ef5339276eba68d272001343084cfab8 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 + languageName: node + linkType: hard + +"is-function@npm:^1.0.1": + version: 1.0.1 + resolution: "is-function@npm:1.0.1" + checksum: dc07a359b2c999fb6b65310a2f078c3f89e798675f80ffc644982bebe1131564ea484caca74c8b7a6fab566b4a71b41900b5d1f83b1953b4198e2d7236e23ed2 + languageName: node + linkType: hard + +"is-generator-fn@npm:^2.0.0": + version: 2.1.0 + resolution: "is-generator-fn@npm:2.1.0" + checksum: a6ad5492cf9d1746f73b6744e0c43c0020510b59d56ddcb78a91cbc173f09b5e6beff53d75c9c5a29feb618bfef2bf458e025ecf3a57ad2268e2fb2569f56215 + languageName: node + linkType: hard + +"is-generator-function@npm:^1.0.7": + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: ^1.0.0 + checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1": + version: 4.0.1 + resolution: "is-glob@npm:4.0.1" + dependencies: + is-extglob: ^2.1.1 + checksum: 84627cad11b4e745f5db5a163f32c47b711585a5ff6e14f8f8d026db87f4cdd3e2c95f6fa1f94ad22e469f36d819ae2814f03f9c668b164422ac3354a94672d3 + languageName: node + linkType: hard + +"is-hex-prefixed@npm:1.0.0": + version: 1.0.0 + resolution: "is-hex-prefixed@npm:1.0.0" + checksum: 5ac58e6e528fb029cc43140f6eeb380fad23d0041cc23154b87f7c9a1b728bcf05909974e47248fd0b7fcc11ba33cf7e58d64804883056fabd23e2b898be41de + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 + languageName: node + linkType: hard + +"is-nan@npm:^1.2.1": + version: 1.3.2 + resolution: "is-nan@npm:1.3.2" + dependencies: + call-bind: ^1.0.0 + define-properties: ^1.1.3 + checksum: 5dfadcef6ad12d3029d43643d9800adbba21cf3ce2ec849f734b0e14ee8da4070d82b15fdb35138716d02587c6578225b9a22779cab34888a139cc43e4e3610a + languageName: node + linkType: hard + +"is-negative-zero@npm:^2.0.1": + version: 2.0.2 + resolution: "is-negative-zero@npm:2.0.2" + checksum: f3232194c47a549da60c3d509c9a09be442507616b69454716692e37ae9f37c4dea264fb208ad0c9f3efd15a796a46b79df07c7e53c6227c32170608b809149a + languageName: node + linkType: hard + +"is-number-object@npm:^1.0.4": + version: 1.0.6 + resolution: "is-number-object@npm:1.0.6" + dependencies: + has-tostringtag: ^1.0.0 + checksum: c697704e8fc2027fc41cb81d29805de4e8b6dc9c3efee93741dbf126a8ecc8443fef85adbc581415ae7e55d325e51d0a942324ae35c829131748cce39cba55f3 + languageName: node + linkType: hard + +"is-number@npm:^3.0.0": + version: 3.0.0 + resolution: "is-number@npm:3.0.0" + dependencies: + kind-of: ^3.0.2 + checksum: 0c62bf8e9d72c4dd203a74d8cfc751c746e75513380fef420cda8237e619a988ee43e678ddb23c87ac24d91ac0fe9f22e4ffb1301a50310c697e9d73ca3994e9 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 456ac6f8e0f3111ed34668a624e45315201dff921e5ac181f8ec24923b99e9f32ca1a194912dc79d539c97d33dba17dc635202ff0b2cf98326f608323276d27a + languageName: node + linkType: hard + +"is-plain-obj@npm:2.1.0": + version: 2.1.0 + resolution: "is-plain-obj@npm:2.1.0" + checksum: cec9100678b0a9fe0248a81743041ed990c2d4c99f893d935545cfbc42876cbe86d207f3b895700c690ad2fa520e568c44afc1605044b535a7820c1d40e38daa + languageName: node + linkType: hard + +"is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": + version: 2.0.4 + resolution: "is-plain-object@npm:2.0.4" + dependencies: + isobject: ^3.0.1 + checksum: 2a401140cfd86cabe25214956ae2cfee6fbd8186809555cd0e84574f88de7b17abacb2e477a6a658fa54c6083ecbda1e6ae404c7720244cd198903848fca70ca + languageName: node + linkType: hard + +"is-potential-custom-element-name@npm:^1.0.0": + version: 1.0.0 + resolution: "is-potential-custom-element-name@npm:1.0.0" + checksum: 39084c1e357f2adf0cb9843cabd3c1ac770c9da14addbfd4e5a0243877eb084d9f3446e40c53970fdb8ea9c07e95659d694a0c4c6c4aa7a3da3f3e108212984f + languageName: node + linkType: hard + +"is-regex@npm:^1.0.4": + version: 1.0.4 + resolution: "is-regex@npm:1.0.4" + dependencies: + has: ^1.0.1 + checksum: 8df3511d4464a22d789502a175decd4d82b5394a424297c92b5ffc11996a239d89a7ff1dd5c721329bd41ed128218b94fe4eeddbf9e2ab2c10fa05b6effc3dd5 + languageName: node + linkType: hard + +"is-regex@npm:^1.1.0": + version: 1.1.1 + resolution: "is-regex@npm:1.1.1" + dependencies: + has-symbols: ^1.0.1 + checksum: af1b307612f4405883ef42dec287884a9d6dc1e504ccc6232bbaf72faf25ee556f60aa62d68abb90487b390b9b83513d429365cd59f5c4362232bfe3b95b81a2 + languageName: node + linkType: hard + +"is-regex@npm:^1.1.4": + version: 1.1.4 + resolution: "is-regex@npm:1.1.4" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 + languageName: node + linkType: hard + +"is-shared-array-buffer@npm:^1.0.1": + version: 1.0.1 + resolution: "is-shared-array-buffer@npm:1.0.1" + checksum: 2ffb92533e64e2876e6cfe6906871d28400b6f1a53130fe652ec8007bc0e5044d05e7af8e31bdc992fbba520bd92938cfbeedd0f286be92f250c7c76191c4d90 + languageName: node + linkType: hard + +"is-stream@npm:^1.1.0": + version: 1.1.0 + resolution: "is-stream@npm:1.1.0" + checksum: 063c6bec9d5647aa6d42108d4c59723d2bd4ae42135a2d4db6eadbd49b7ea05b750fd69d279e5c7c45cf9da753ad2c00d8978be354d65aa9f6bb434969c6a2ae + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "is-stream@npm:2.0.0" + checksum: 4dc47738e26bc4f1b3be9070b6b9e39631144f204fc6f87db56961220add87c10a999ba26cf81699f9ef9610426f69cb08a4713feff8deb7d8cadac907826935 + languageName: node + linkType: hard + +"is-string@npm:^1.0.5": + version: 1.0.5 + resolution: "is-string@npm:1.0.5" + checksum: 68d77a991f55592721cc7d5800ff95cdb2c4f242e3a98fdc939c409879f7b8f297b8352184032b6b2183994b4c457f42df8de004c58b5b43655c8b2f3e3ecc17 + languageName: node + linkType: hard + +"is-string@npm:^1.0.7": + version: 1.0.7 + resolution: "is-string@npm:1.0.7" + dependencies: + has-tostringtag: ^1.0.0 + checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.2": + version: 1.0.2 + resolution: "is-symbol@npm:1.0.2" + dependencies: + has-symbols: ^1.0.0 + checksum: 28a384b4f7a20591c94230ea6e4a45b707395a2cd68a43cd6623c6a444374073c6b9c11b9d3d4b5b472b006cacf1901ca4dd60629f55d534644648954a217169 + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.3": + version: 1.0.4 + resolution: "is-symbol@npm:1.0.4" + dependencies: + has-symbols: ^1.0.2 + checksum: 92805812ef590738d9de49d677cd17dfd486794773fb6fa0032d16452af46e9b91bb43ffe82c983570f015b37136f4b53b28b8523bfb10b0ece7a66c31a54510 + languageName: node + linkType: hard + +"is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.7": + version: 1.1.8 + resolution: "is-typed-array@npm:1.1.8" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + es-abstract: ^1.18.5 + foreach: ^2.0.5 + has-tostringtag: ^1.0.0 + checksum: aa0f9f0716e19e2fb8aef69e69e4205479d25ace778e2339fc910948115cde4b0d9aff9d5d1e8b80f09a5664998278e05e54ad3dc9cb12cefcf86db71084ed00 + languageName: node + linkType: hard + +"is-typedarray@npm:^1.0.0, is-typedarray@npm:~1.0.0": + version: 1.0.0 + resolution: "is-typedarray@npm:1.0.0" + checksum: 3508c6cd0a9ee2e0df2fa2e9baabcdc89e911c7bd5cf64604586697212feec525aa21050e48affb5ffc3df20f0f5d2e2cf79b08caa64e1ccc9578e251763aef7 + languageName: node + linkType: hard + +"is-weakref@npm:^1.0.1": + version: 1.0.2 + resolution: "is-weakref@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 95bd9a57cdcb58c63b1c401c60a474b0f45b94719c30f548c891860f051bc2231575c290a6b420c6bc6e7ed99459d424c652bd5bf9a1d5259505dc35b4bf83de + languageName: node + linkType: hard + +"is-windows@npm:^1.0.2": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 + languageName: node + linkType: hard + +"is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: ^2.0.0 + checksum: 20849846ae414997d290b75e16868e5261e86ff5047f104027026fd61d8b5a9b0b3ade16239f35e1a067b3c7cc02f70183cb661010ed16f4b6c7c93dad1b19d8 + languageName: node + linkType: hard + +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: 49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4 + languageName: node + linkType: hard + +"isarray@npm:1.0.0, isarray@npm:^1.0.0, isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 26bf6c5480dda5161c820c5b5c751ae1e766c587b1f951ea3fcfc973bafb7831ae5b54a31a69bd670220e42e99ec154475025a468eae58ea262f813fdc8d1c62 + languageName: node + linkType: hard + +"isobject@npm:^2.0.0": + version: 2.1.0 + resolution: "isobject@npm:2.1.0" + dependencies: + isarray: 1.0.0 + checksum: 811c6f5a866877d31f0606a88af4a45f282544de886bf29f6a34c46616a1ae2ed17076cc6bf34c0128f33eecf7e1fcaa2c82cf3770560d3e26810894e96ae79f + languageName: node + linkType: hard + +"isobject@npm:^3.0.0, isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 + languageName: node + linkType: hard + +"isomorphic-fetch@npm:^3.0.0": + version: 3.0.0 + resolution: "isomorphic-fetch@npm:3.0.0" + dependencies: + node-fetch: ^2.6.1 + whatwg-fetch: ^3.4.1 + checksum: e5ab79a56ce5af6ddd21265f59312ad9a4bc5a72cebc98b54797b42cb30441d5c5f8d17c5cd84a99e18101c8af6f90c081ecb8d12fd79e332be1778d58486d75 + languageName: node + linkType: hard + +"isstream@npm:~0.1.2": + version: 0.1.2 + resolution: "isstream@npm:0.1.2" + checksum: 1eb2fe63a729f7bdd8a559ab552c69055f4f48eb5c2f03724430587c6f450783c8f1cd936c1c952d0a927925180fcc892ebd5b174236cf1065d4bd5bdb37e963 + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.0.0": + version: 3.0.0 + resolution: "istanbul-lib-coverage@npm:3.0.0" + checksum: ea57c2428858cc5d1e04c0e28b362950bbf6415e8ba1235cdd6f4c8dc3c57cb950db8b4e8a4f7e33abc240aa1eb816dba0d7285bdb8b70bda22bb2082492dbfc + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^4.0.0": + version: 4.0.1 + resolution: "istanbul-lib-instrument@npm:4.0.1" + dependencies: + "@babel/core": ^7.7.5 + "@babel/parser": ^7.7.5 + "@babel/template": ^7.7.4 + "@babel/traverse": ^7.7.4 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-coverage: ^3.0.0 + semver: ^6.3.0 + checksum: 4bc650c9699f29c4295fcc9f5f293a0ea3def064d2dc711f3d0ebf0da0c70505a5d6d62ef0f992f8dddc1f119e38ba0f7c47d9b1b5ebf6911146237baf7283b2 + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^4.0.3": + version: 4.0.3 + resolution: "istanbul-lib-instrument@npm:4.0.3" + dependencies: + "@babel/core": ^7.7.5 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-coverage: ^3.0.0 + semver: ^6.3.0 + checksum: fa1171d3022b1bb8f6a734042620ac5d9ee7dc80f3065a0bb12863e9f0494d0eefa3d86608fcc0254ab2765d29d7dad8bdc42e5f8df2f9a1fbe85ccc59d76cb9 + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0": + version: 3.0.0 + resolution: "istanbul-lib-report@npm:3.0.0" + dependencies: + istanbul-lib-coverage: ^3.0.0 + make-dir: ^3.0.0 + supports-color: ^7.1.0 + checksum: 3f29eb3f53c59b987386e07fe772d24c7f58c6897f34c9d7a296f4000de7ae3de9eb95c3de3df91dc65b134c84dee35c54eee572a56243e8907c48064e34ff1b + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^4.0.0": + version: 4.0.0 + resolution: "istanbul-lib-source-maps@npm:4.0.0" + dependencies: + debug: ^4.1.1 + istanbul-lib-coverage: ^3.0.0 + source-map: ^0.6.1 + checksum: 292bfb4083e5f8783cdf829a7686b1a377d0c6c2119d4343c8478e948b38146c4827cddc7eee9f57605acd63c291376d67e4a84163d37c5fc78ad0f27f7e2621 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.0.2": + version: 3.0.2 + resolution: "istanbul-reports@npm:3.0.2" + dependencies: + html-escaper: ^2.0.0 + istanbul-lib-report: ^3.0.0 + checksum: c5da63f1f4610f47f3015c525a3bc2fb4c87a8791ae452ee3983546d7a2873f0cf5d5fff7c3735ac52943c5b3506f49c294c92f1837df6ec03312625ccd176d7 + languageName: node + linkType: hard + +"jest-changed-files@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-changed-files@npm:26.3.0" + dependencies: + "@jest/types": ^26.3.0 + execa: ^4.0.0 + throat: ^5.0.0 + checksum: aca97daff4cd9320395945e8142a66e4946361b2e5950316ae2591577391665f4ac7228ebf0a05fef062e1d37936a90ce0914586f0e8de538c00aab9d2f7d626 + languageName: node + linkType: hard + +"jest-cli@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-cli@npm:26.4.2" + dependencies: + "@jest/core": ^26.4.2 + "@jest/test-result": ^26.3.0 + "@jest/types": ^26.3.0 + chalk: ^4.0.0 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + import-local: ^3.0.2 + is-ci: ^2.0.0 + jest-config: ^26.4.2 + jest-util: ^26.3.0 + jest-validate: ^26.4.2 + prompts: ^2.0.1 + yargs: ^15.3.1 + bin: + jest: bin/jest.js + checksum: e22c4d652c132a7b28b421562ec069f808336af8c753772e0cd46fd06d648fd737a4b80782c5b2922218a633080fb41c9ece83331c931d5bb844f7dce738905a + languageName: node + linkType: hard + +"jest-config@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-config@npm:26.4.2" + dependencies: + "@babel/core": ^7.1.0 + "@jest/test-sequencer": ^26.4.2 + "@jest/types": ^26.3.0 + babel-jest: ^26.3.0 + chalk: ^4.0.0 + deepmerge: ^4.2.2 + glob: ^7.1.1 + graceful-fs: ^4.2.4 + jest-environment-jsdom: ^26.3.0 + jest-environment-node: ^26.3.0 + jest-get-type: ^26.3.0 + jest-jasmine2: ^26.4.2 + jest-regex-util: ^26.0.0 + jest-resolve: ^26.4.0 + jest-util: ^26.3.0 + jest-validate: ^26.4.2 + micromatch: ^4.0.2 + pretty-format: ^26.4.2 + checksum: 3c3968e8632ea2f5cd0728b30f5e5fd5bfffe889be1576901eae5353a6f82a51b8db0205c6f4c3f852bc4c360ec39473ae07658968d98554f1744e57c0ed78be + languageName: node + linkType: hard + +"jest-diff@npm:^25.2.1": + version: 25.5.0 + resolution: "jest-diff@npm:25.5.0" + dependencies: + chalk: ^3.0.0 + diff-sequences: ^25.2.6 + jest-get-type: ^25.2.6 + pretty-format: ^25.5.0 + checksum: b7e9739b0fc2ba89a044e6cf4dd5a53f4bb00800a153cbc6eb9b4e91da3241bf0cb2ced007fd220182f41be4bbb7dd645b7c8b9fdb299b2720056209d7d56960 + languageName: node + linkType: hard + +"jest-diff@npm:^26.0.0": + version: 26.6.2 + resolution: "jest-diff@npm:26.6.2" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^26.6.2 + jest-get-type: ^26.3.0 + pretty-format: ^26.6.2 + checksum: d00d297f31e1ac0252127089892432caa7a11c69bde29cf3bb6c7a839c8afdb95cf1fd401f9df16a4422745da2e6a5d94b428b30666a2540c38e1c5699915c2d + languageName: node + linkType: hard + +"jest-diff@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-diff@npm:26.4.2" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^26.3.0 + jest-get-type: ^26.3.0 + pretty-format: ^26.4.2 + checksum: e40c61e1f61a46ce076e200d8a03a6b530bac14dc5e779f39a8e28f3671c02ace824150b3762026e6f0330c82fceb916eef81356cc808b167c277b561ef2f324 + languageName: node + linkType: hard + +"jest-diff@npm:^27.0.0": + version: 27.3.1 + resolution: "jest-diff@npm:27.3.1" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^27.0.6 + jest-get-type: ^27.3.1 + pretty-format: ^27.3.1 + checksum: 49231a4ac4bed1cce8f5135db2a26a83673d5cbe5716bca29900a45ae0ddf237099d9091acac436b9c60ab933b0e7ca086ce8cb71f44411b572b69adbe96128d + languageName: node + linkType: hard + +"jest-docblock@npm:^26.0.0": + version: 26.0.0 + resolution: "jest-docblock@npm:26.0.0" + dependencies: + detect-newline: ^3.0.0 + checksum: e03ef104ee8c571335e6fa394b8fc8d2bd87eec9fe8b3d7d9aac056ada7de288f37ee8ac4922bb3a4222ac304db975d8832d5abc85486092866c534a16847cd5 + languageName: node + linkType: hard + +"jest-each@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-each@npm:26.4.2" + dependencies: + "@jest/types": ^26.3.0 + chalk: ^4.0.0 + jest-get-type: ^26.3.0 + jest-util: ^26.3.0 + pretty-format: ^26.4.2 + checksum: 0c99b0546f7c5e7c8ebed6bbd76f41dfe3eba0b59f12e3fa6b7d1d7a0458fa1427f181a4db70babeeb16756ca909b5e793e04fb802a8ad1b8d02b424742a991a + languageName: node + linkType: hard + +"jest-environment-jsdom@npm:^25.0.0": + version: 25.5.0 + resolution: "jest-environment-jsdom@npm:25.5.0" + dependencies: + "@jest/environment": ^25.5.0 + "@jest/fake-timers": ^25.5.0 + "@jest/types": ^25.5.0 + jest-mock: ^25.5.0 + jest-util: ^25.5.0 + jsdom: ^15.2.1 + checksum: 3f8b54a0a49492ba82aedcf0b0015dbb106a8eb6adca4525424072abadf1b654383ea6f42de76eeb3deb5aac17728583df2b538bf481ca85a3e61f07e7e6ec3e + languageName: node + linkType: hard + +"jest-environment-jsdom@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-environment-jsdom@npm:26.3.0" + dependencies: + "@jest/environment": ^26.3.0 + "@jest/fake-timers": ^26.3.0 + "@jest/types": ^26.3.0 + "@types/node": "*" + jest-mock: ^26.3.0 + jest-util: ^26.3.0 + jsdom: ^16.2.2 + checksum: a532834a6b0c184aaeda5e2579fd814827bd59767fc4638f95015edf86da3fdec86f68cea28a87f30a7391f0e26ff62c00ef68b988d277190e65abc29513d970 + languageName: node + linkType: hard + +"jest-environment-node@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-environment-node@npm:26.3.0" + dependencies: + "@jest/environment": ^26.3.0 + "@jest/fake-timers": ^26.3.0 + "@jest/types": ^26.3.0 + "@types/node": "*" + jest-mock: ^26.3.0 + jest-util: ^26.3.0 + checksum: 6cd9a1f316421f7314adfa2b81c355f72e22e69e71ca11d087faa5d9626ed2ce491501ea1d8c97c500b5ae18854d8bf908b553550eb8d86cde9170fd4ae3fd0e + languageName: node + linkType: hard + +"jest-get-type@npm:^25.2.6": + version: 25.2.6 + resolution: "jest-get-type@npm:25.2.6" + checksum: d1f59027b0baa6b8a6f4b3f900de1a77714647351907981ea57c16340e6a58a9c702b580055331af25ee3872768f1241c0616de9777a63e4eb32fc409dcbf9ac + languageName: node + linkType: hard + +"jest-get-type@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-get-type@npm:26.3.0" + checksum: 1cc6465ae4f5e880be22ba52fd270fa64c21994915f81b41f8f7553a7957dd8e077cc8d03035de9412e2d739f8bad6a032ebb5dab5805692a5fb9e20dd4ea666 + languageName: node + linkType: hard + +"jest-get-type@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-get-type@npm:27.3.1" + checksum: b0b8db1d770c6332b4189bbf4073184489acbb1095410cf53add033daf911577ee6bd1c4f8d747dd2f3d63de42f7eb15c5527fc7288a2855a046f4a8957cd902 + languageName: node + linkType: hard + +"jest-haste-map@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-haste-map@npm:26.3.0" + dependencies: + "@jest/types": ^26.3.0 + "@types/graceful-fs": ^4.1.2 + "@types/node": "*" + anymatch: ^3.0.3 + fb-watchman: ^2.0.0 + fsevents: ^2.1.2 + graceful-fs: ^4.2.4 + jest-regex-util: ^26.0.0 + jest-serializer: ^26.3.0 + jest-util: ^26.3.0 + jest-worker: ^26.3.0 + micromatch: ^4.0.2 + sane: ^4.0.3 + walker: ^1.0.7 + dependenciesMeta: + fsevents: + optional: true + checksum: 21241ac33acffc2344c82393730c8cd79d868318531efbc8dec94589ab8f3f6399a45e6008430174f374cb63c867f1033ac47363c0ab64644079a1bbb05835e7 + languageName: node + linkType: hard + +"jest-jasmine2@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-jasmine2@npm:26.4.2" + dependencies: + "@babel/traverse": ^7.1.0 + "@jest/environment": ^26.3.0 + "@jest/source-map": ^26.3.0 + "@jest/test-result": ^26.3.0 + "@jest/types": ^26.3.0 + "@types/node": "*" + chalk: ^4.0.0 + co: ^4.6.0 + expect: ^26.4.2 + is-generator-fn: ^2.0.0 + jest-each: ^26.4.2 + jest-matcher-utils: ^26.4.2 + jest-message-util: ^26.3.0 + jest-runtime: ^26.4.2 + jest-snapshot: ^26.4.2 + jest-util: ^26.3.0 + pretty-format: ^26.4.2 + throat: ^5.0.0 + checksum: f37492b03f74f81c6c6df4d0d1afd590b7235c0e1de127edc45ae6990b7f30820db7f987fe6441959ffd9baf970799587e26eb3ae362d31dc5b3ddd7601e8bcb + languageName: node + linkType: hard + +"jest-leak-detector@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-leak-detector@npm:26.4.2" + dependencies: + jest-get-type: ^26.3.0 + pretty-format: ^26.4.2 + checksum: 8e71cbd4d4f12f7bc5d96bd558df95d4107819b02fef788ef58343c234d05cf68705019885d76c5b0311b062f90c5a15d0de2289220adaf586a64b5aa6fbc025 + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-matcher-utils@npm:26.4.2" + dependencies: + chalk: ^4.0.0 + jest-diff: ^26.4.2 + jest-get-type: ^26.3.0 + pretty-format: ^26.4.2 + checksum: ea16317be4a072b0f2027b9b350711fadb660c00b6745774ad3e60786aa9628c46946b27a3cbb3d682e3f8f1deb4025d05b099bff6de355a1d3e85ea8d641770 + languageName: node + linkType: hard + +"jest-message-util@npm:^25.5.0": + version: 25.5.0 + resolution: "jest-message-util@npm:25.5.0" + dependencies: + "@babel/code-frame": ^7.0.0 + "@jest/types": ^25.5.0 + "@types/stack-utils": ^1.0.1 + chalk: ^3.0.0 + graceful-fs: ^4.2.4 + micromatch: ^4.0.2 + slash: ^3.0.0 + stack-utils: ^1.0.1 + checksum: 16ab8999802649069504a6eb1b2ee645d048cfe8dd2a8ac2a552d5f7f67bf657f02e1974c8e18313dbe9b4e9d83f80510757c1e6b4e5392db7d5da68d4eeebba + languageName: node + linkType: hard + +"jest-message-util@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-message-util@npm:26.3.0" + dependencies: + "@babel/code-frame": ^7.0.0 + "@jest/types": ^26.3.0 + "@types/stack-utils": ^1.0.1 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + micromatch: ^4.0.2 + slash: ^3.0.0 + stack-utils: ^2.0.2 + checksum: 2dc780df5ea9e5eec7e2ec30451dcf879a7bac3f7fde0e9457a8993368d17b25f56ec9f42545e0d0bb0adf42e15979a7f1027a8f634e9edf56540af2cceea790 + languageName: node + linkType: hard + +"jest-mock@npm:^25.5.0": + version: 25.5.0 + resolution: "jest-mock@npm:25.5.0" + dependencies: + "@jest/types": ^25.5.0 + checksum: b0e3cc2ccb05b45fc1ec52476d07740cab980d7ed41bf621c9000b9c5e4dafb05bc3f8ca6f7907a865d89522001a14f582863c6481af9e972a8f1765f0fe852e + languageName: node + linkType: hard + +"jest-mock@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-mock@npm:26.3.0" + dependencies: + "@jest/types": ^26.3.0 + "@types/node": "*" + checksum: 9b1708dee86fc6e491f66de841e05c7663b970fcfc1941ea56b0c86dcd36f744d06aceeb06e4e00791aa6eac9644cff75b046d515a82da26b46c583c5655b6e1 + languageName: node + linkType: hard + +"jest-pnp-resolver@npm:^1.2.2": + version: 1.2.2 + resolution: "jest-pnp-resolver@npm:1.2.2" + peerDependencies: + jest-resolve: "*" + peerDependenciesMeta: + jest-resolve: + optional: true + checksum: bd85dcc0e76e0eb0c3d56382ec140f08d25ff4068cda9d0e360bb78fb176cb726d0beab82dc0e8694cafd09f55fee7622b8bcb240afa5fad301f4ed3eebb4f47 + languageName: node + linkType: hard + +"jest-regex-util@npm:^26.0.0": + version: 26.0.0 + resolution: "jest-regex-util@npm:26.0.0" + checksum: 930a00665e8dfbedc29140678b4a54f021b41b895cf35050f76f557c1da3ac48ff42dd7b18ba2ccba6f4e518c6445d6753730d03ec7049901b93992db1ef0483 + languageName: node + linkType: hard + +"jest-resolve-dependencies@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-resolve-dependencies@npm:26.4.2" + dependencies: + "@jest/types": ^26.3.0 + jest-regex-util: ^26.0.0 + jest-snapshot: ^26.4.2 + checksum: 7225d97c92d8ccac8bb2247d7a43fe8494f4477dfa6c422345bf23ca71f17a07657d48384631eab3b9993fbddedde70c5b066756f533b2543d633eba752cd6b7 + languageName: node + linkType: hard + +"jest-resolve@npm:^26.4.0": + version: 26.4.0 + resolution: "jest-resolve@npm:26.4.0" + dependencies: + "@jest/types": ^26.3.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + jest-pnp-resolver: ^1.2.2 + jest-util: ^26.3.0 + read-pkg-up: ^7.0.1 + resolve: ^1.17.0 + slash: ^3.0.0 + checksum: 75767edfc07a160a0c5eff5a104142dcc9bb0a8f4156faff2f2adc110f1f7bfee2802598edb1c4e7a63571ba121b3209714740042abd92cac72dc30b5f5d290b + languageName: node + linkType: hard + +"jest-runner@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-runner@npm:26.4.2" + dependencies: + "@jest/console": ^26.3.0 + "@jest/environment": ^26.3.0 + "@jest/test-result": ^26.3.0 + "@jest/types": ^26.3.0 + "@types/node": "*" + chalk: ^4.0.0 + emittery: ^0.7.1 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + jest-config: ^26.4.2 + jest-docblock: ^26.0.0 + jest-haste-map: ^26.3.0 + jest-leak-detector: ^26.4.2 + jest-message-util: ^26.3.0 + jest-resolve: ^26.4.0 + jest-runtime: ^26.4.2 + jest-util: ^26.3.0 + jest-worker: ^26.3.0 + source-map-support: ^0.5.6 + throat: ^5.0.0 + checksum: 468185503072642b8175161d4f27bf09f26edc7483a93235e32ad38a014239d8e6906ec4fc1fc6471b9cde17d1949d267f80b06451ac0f9bde30dd275492f96d + languageName: node + linkType: hard + +"jest-runtime@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-runtime@npm:26.4.2" + dependencies: + "@jest/console": ^26.3.0 + "@jest/environment": ^26.3.0 + "@jest/fake-timers": ^26.3.0 + "@jest/globals": ^26.4.2 + "@jest/source-map": ^26.3.0 + "@jest/test-result": ^26.3.0 + "@jest/transform": ^26.3.0 + "@jest/types": ^26.3.0 + "@types/yargs": ^15.0.0 + chalk: ^4.0.0 + collect-v8-coverage: ^1.0.0 + exit: ^0.1.2 + glob: ^7.1.3 + graceful-fs: ^4.2.4 + jest-config: ^26.4.2 + jest-haste-map: ^26.3.0 + jest-message-util: ^26.3.0 + jest-mock: ^26.3.0 + jest-regex-util: ^26.0.0 + jest-resolve: ^26.4.0 + jest-snapshot: ^26.4.2 + jest-util: ^26.3.0 + jest-validate: ^26.4.2 + slash: ^3.0.0 + strip-bom: ^4.0.0 + yargs: ^15.3.1 + bin: + jest-runtime: bin/jest-runtime.js + checksum: d4d93390dcd9d3a8dd70a6f39cb6b6e0f64a7ec2475c919d87231c1a5c9b4a64c42e45c5f226a482d414b2e5bdbb2f7729409228cbe8ff37c661f1582e1a6490 + languageName: node + linkType: hard + +"jest-serializer@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-serializer@npm:26.3.0" + dependencies: + "@types/node": "*" + graceful-fs: ^4.2.4 + checksum: 0a3c5952232ea73bf3d0e55f8b3d0617e0605003874b3c6b7eb798a1b25d0448f3b6c1e263f7b017c579522d72a9de5e8b090897f1f42ca9be0f7f678d1694d8 + languageName: node + linkType: hard + +"jest-snapshot@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-snapshot@npm:26.4.2" + dependencies: + "@babel/types": ^7.0.0 + "@jest/types": ^26.3.0 + "@types/prettier": ^2.0.0 + chalk: ^4.0.0 + expect: ^26.4.2 + graceful-fs: ^4.2.4 + jest-diff: ^26.4.2 + jest-get-type: ^26.3.0 + jest-haste-map: ^26.3.0 + jest-matcher-utils: ^26.4.2 + jest-message-util: ^26.3.0 + jest-resolve: ^26.4.0 + natural-compare: ^1.4.0 + pretty-format: ^26.4.2 + semver: ^7.3.2 + checksum: 1460a2ce4d620ef5ea584fbde2a9820fc49244f146487e55f8afba331f76e2bb7fed05b7055f40c93782f65ee02ec1acdb4002b652c1daa90419cd24dae1c52b + languageName: node + linkType: hard + +"jest-util@npm:^25.5.0": + version: 25.5.0 + resolution: "jest-util@npm:25.5.0" + dependencies: + "@jest/types": ^25.5.0 + chalk: ^3.0.0 + graceful-fs: ^4.2.4 + is-ci: ^2.0.0 + make-dir: ^3.0.0 + checksum: 4c982e37968914d9e8b8330d2838533a4e8566b80b38cbb0916a19660a805357913aae1382fef35aeb4e348ba5dad77eb7413a16d533cdba7317941e01236352 + languageName: node + linkType: hard + +"jest-util@npm:^26.1.0": + version: 26.6.2 + resolution: "jest-util@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + "@types/node": "*" + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + is-ci: ^2.0.0 + micromatch: ^4.0.2 + checksum: 3c6a5fba05c4c6892cd3a9f66196ea8867087b77a5aa1a3f6cd349c785c3f1ca24abfd454664983aed1a165cab7846688e44fe8630652d666ba326b08625bc3d + languageName: node + linkType: hard + +"jest-util@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-util@npm:26.3.0" + dependencies: + "@jest/types": ^26.3.0 + "@types/node": "*" + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + is-ci: ^2.0.0 + micromatch: ^4.0.2 + checksum: c03ad5795880cec327b29f38332570c376f28450561ad00f22749e41895a460c3c7a8875d056bbef1953ce23c120d82ec1d0317bf26af1eb8276be601cea20f2 + languageName: node + linkType: hard + +"jest-validate@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-validate@npm:26.4.2" + dependencies: + "@jest/types": ^26.3.0 + camelcase: ^6.0.0 + chalk: ^4.0.0 + jest-get-type: ^26.3.0 + leven: ^3.1.0 + pretty-format: ^26.4.2 + checksum: f8154fb1c06112dade33130acf0d43cb02fc5ffeaf68f73b890d6b1d9634f05a5c0f417da7316f70742a8c5e8d963d9217856ee6ddbd2cf0615e13d25615d0f0 + languageName: node + linkType: hard + +"jest-watcher@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-watcher@npm:26.3.0" + dependencies: + "@jest/test-result": ^26.3.0 + "@jest/types": ^26.3.0 + "@types/node": "*" + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + jest-util: ^26.3.0 + string-length: ^4.0.1 + checksum: be5297f792d821a1e7c1db7bacabe75c97cc082c9e1f09763b7a50695d1b92190bdba82aba9650be5708a52fc20630da0a6f2b3faeb4f22c139c016486bf5df8 + languageName: node + linkType: hard + +"jest-when@npm:^3.4.2": + version: 3.4.2 + resolution: "jest-when@npm:3.4.2" + peerDependencies: + jest: ">= 25" + checksum: 5902628133c3fb1b2e7b89cdf95a2e28388e143fdd30fd30b4e5164b68c14692b29d6d30d8757fd47e8c5c5bf719dcc7001964deb451b386e43eaf36247e7410 + languageName: node + linkType: hard + +"jest-worker@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-worker@npm:26.3.0" + dependencies: + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^7.0.0 + checksum: 6c39cf8e48ea5bdd636222ce8b1b7e4685741c076ece67dfe9458d6bde23ce71997380e658f7c21bd2aa5ef944c024a3224d37c832f9a3e220d7a844e8369106 + languageName: node + linkType: hard + +"jest@npm:^26.4.2": + version: 26.4.2 + resolution: "jest@npm:26.4.2" + dependencies: + "@jest/core": ^26.4.2 + import-local: ^3.0.2 + jest-cli: ^26.4.2 + bin: + jest: bin/jest.js + checksum: 5cd4bd8b28ab310dadeb434d7e01dbb0ebc60072f0312437e5d07c226931458575b057d75abde360589e63d71c653656fc63594241eb397e4b544795ef664b06 + languageName: node + linkType: hard + +"js-sha3@npm:0.5.5": + version: 0.5.5 + resolution: "js-sha3@npm:0.5.5" + checksum: 19900933f7b8cf0b91a8aba3ecbc2e27a336d0e7dc0bb30db938a56a399b355f68a98e086d2523db03c9f6abea5de42d40ce7237c9d3412f5eb44a5d409033f0 + languageName: node + linkType: hard + +"js-sha3@npm:0.5.7, js-sha3@npm:^0.5.7": + version: 0.5.7 + resolution: "js-sha3@npm:0.5.7" + checksum: 973a28ea4b26cc7f12d2ab24f796e24ee4a71eef45a6634a052f6eb38cf8b2333db798e896e6e094ea6fa4dfe8e42a2a7942b425cf40da3f866623fd05bb91ea + languageName: node + linkType: hard + +"js-sha3@npm:^0.6.1": + version: 0.6.1 + resolution: "js-sha3@npm:0.6.1" + checksum: 5d6971c7ea6bff8df5c53708545c520b2e74e5cee2cc078fa81c68c410482435741ac0c895390ace3e1224b0db2adfcacde31f5a9b330d921d60889760388196 + languageName: node + linkType: hard + +"js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 8a95213a5a77deb6cbe94d86340e8d9ace2b93bc367790b260101d2f36a2eaf4e4e22d9fa9cf459b38af3a32fb4190e638024cf82ec95ef708680e405ea7cc78 + languageName: node + linkType: hard + +"js-yaml@npm:^3.13.1": + version: 3.13.1 + resolution: "js-yaml@npm:3.13.1" + dependencies: + argparse: ^1.0.7 + esprima: ^4.0.0 + bin: + js-yaml: bin/js-yaml.js + checksum: 7511b764abb66d8aa963379f7d2a404f078457d106552d05a7b556d204f7932384e8477513c124749fa2de52eb328961834562bd09924902c6432e40daa408bc + languageName: node + linkType: hard + +"jsbi@npm:^3.1.5": + version: 3.2.5 + resolution: "jsbi@npm:3.2.5" + checksum: 642d1bb139ad1c1e96c4907eb159565e980a0d168487626b493d0d0b7b341da0e43001089d3b21703fe17b18a7a6c0f42c92026f71d54471ed0a0d1b3015ec0f + languageName: node + linkType: hard + +"jsbn@npm:~0.1.0": + version: 0.1.1 + resolution: "jsbn@npm:0.1.1" + checksum: e5ff29c1b8d965017ef3f9c219dacd6e40ad355c664e277d31246c90545a02e6047018c16c60a00f36d561b3647215c41894f5d869ada6908a2e0ce4200c88f2 + languageName: node + linkType: hard + +"jsdoc-type-pratt-parser@npm:1.1.1, jsdoc-type-pratt-parser@npm:^1.1.1": + version: 1.1.1 + resolution: "jsdoc-type-pratt-parser@npm:1.1.1" + checksum: 90522d1da193e1280c3e041561de20cb2f580dd823ad60f5c08e8f429dacc2e944259ed682c98c62d32f3fc8148a79becb47a47455a8093cebb5377b1c2ecbf2 + languageName: node + linkType: hard + +"jsdom@npm:^15.2.1": + version: 15.2.1 + resolution: "jsdom@npm:15.2.1" + dependencies: + abab: ^2.0.0 + acorn: ^7.1.0 + acorn-globals: ^4.3.2 + array-equal: ^1.0.0 + cssom: ^0.4.1 + cssstyle: ^2.0.0 + data-urls: ^1.1.0 + domexception: ^1.0.1 + escodegen: ^1.11.1 + html-encoding-sniffer: ^1.0.2 + nwsapi: ^2.2.0 + parse5: 5.1.0 + pn: ^1.1.0 + request: ^2.88.0 + request-promise-native: ^1.0.7 + saxes: ^3.1.9 + symbol-tree: ^3.2.2 + tough-cookie: ^3.0.1 + w3c-hr-time: ^1.0.1 + w3c-xmlserializer: ^1.1.2 + webidl-conversions: ^4.0.2 + whatwg-encoding: ^1.0.5 + whatwg-mimetype: ^2.3.0 + whatwg-url: ^7.0.0 + ws: ^7.0.0 + xml-name-validator: ^3.0.0 + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: eff437b977330b1e63cd3ee2c2fe7c799c876799cae35525e1e6864d939dd41631ebd65f847adaeb83c2160c828d027d0f1d0dbe88366d1da22c875a5165a78c + languageName: node + linkType: hard + +"jsdom@npm:^16.2.2": + version: 16.4.0 + resolution: "jsdom@npm:16.4.0" + dependencies: + abab: ^2.0.3 + acorn: ^7.1.1 + acorn-globals: ^6.0.0 + cssom: ^0.4.4 + cssstyle: ^2.2.0 + data-urls: ^2.0.0 + decimal.js: ^10.2.0 + domexception: ^2.0.1 + escodegen: ^1.14.1 + html-encoding-sniffer: ^2.0.1 + is-potential-custom-element-name: ^1.0.0 + nwsapi: ^2.2.0 + parse5: 5.1.1 + request: ^2.88.2 + request-promise-native: ^1.0.8 + saxes: ^5.0.0 + symbol-tree: ^3.2.4 + tough-cookie: ^3.0.1 + w3c-hr-time: ^1.0.2 + w3c-xmlserializer: ^2.0.0 + webidl-conversions: ^6.1.0 + whatwg-encoding: ^1.0.5 + whatwg-mimetype: ^2.3.0 + whatwg-url: ^8.0.0 + ws: ^7.2.3 + xml-name-validator: ^3.0.0 + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: a9ca90c0d55bdeebb40a0baba34372141262f776c71793e00fc1ed93dc785a09919e57d2fe2041b9bbb855864bc6d17e722f182c19dc179fa162d253b40dd162 + languageName: node + linkType: hard + +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: 4dc190771129e12023f729ce20e1e0bfceac84d73a85bc3119f7f938843fe25a4aeccb54b6494dce26fcf263d815f5f31acdefac7cc9329efb8422a4f4d9fa9d + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 798ed4cf3354a2d9ccd78e86d2169515a0097a5c133337807cdf7f1fc32e1391d207ccfc276518cc1d7d8d4db93288b8a50ba4293d212ad1336e52a8ec0a941f + languageName: node + linkType: hard + +"json-rpc-engine@npm:^5.3.0": + version: 5.3.0 + resolution: "json-rpc-engine@npm:5.3.0" + dependencies: + eth-rpc-errors: ^3.0.0 + safe-event-emitter: ^1.0.1 + checksum: 9cbbd9b8a30a14bf0b92f216b59f04bf9fe9de4915c12d360e9da15e1be91b7a3a2c831b35399ecd35a2e85775861492e5ed9ea2d7f323083f7197e350f258b6 + languageName: node + linkType: hard + +"json-rpc-engine@npm:^6.1.0": + version: 6.1.0 + resolution: "json-rpc-engine@npm:6.1.0" + dependencies: + "@metamask/safe-event-emitter": ^2.0.0 + eth-rpc-errors: ^4.0.2 + checksum: 33b6c9bbd81abf8e323a0281ee05871713203c40d34a4d0bda27706cd0a0935c7b51845238ba89b73027e44ebc8034bbd82db9f962e6c578eb922d9b95acc8bd + languageName: node + linkType: hard + +"json-rpc-random-id@npm:^1.0.0, json-rpc-random-id@npm:^1.0.1": + version: 1.0.1 + resolution: "json-rpc-random-id@npm:1.0.1" + checksum: fcd2e884193a129ace4002bd65a86e9cdb206733b4693baea77bd8b372cf8de3043fbea27716a2c9a716581a908ca8d978d9dfec4847eb2cf77edb4cf4b2252c + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 7486074d3ba247769fda17d5181b345c9fb7d12e0da98b22d1d71a5db9698d8b4bd900a3ec1a4ffdd60846fc2556274a5c894d0c48795f14cb03aeae7b55260b + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad + languageName: node + linkType: hard + +"json-schema@npm:0.2.3": + version: 0.2.3 + resolution: "json-schema@npm:0.2.3" + checksum: bbc2070988fb5f2a2266a31b956f1b5660e03ea7eaa95b33402901274f625feb586ae0c485e1df854fde40a7f0dc679f3b3ca8e5b8d31f8ea07a0d834de785c7 + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: cff44156ddce9c67c44386ad5cddf91925fe06b1d217f2da9c4910d01f358c6e3989c4d5a02683c7a5667f9727ff05831f7aa8ae66c8ff691c556f0884d49215 + languageName: node + linkType: hard + +"json-stable-stringify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify@npm:1.0.1" + dependencies: + jsonify: ~0.0.0 + checksum: 65d6cbf0fca72a4136999f65f4401cf39a129f7aeff0fdd987ac3d3423a2113659294045fb8377e6e20d865cac32b1b8d70f3d87346c9786adcee60661d96ca5 + languageName: node + linkType: hard + +"json-stringify-safe@npm:^5.0.1, json-stringify-safe@npm:~5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 48ec0adad5280b8a96bb93f4563aa1667fd7a36334f79149abd42446d0989f2ddc58274b479f4819f1f00617957e6344c886c55d05a4e15ebb4ab931e4a6a8ee + languageName: node + linkType: hard + +"json5@npm:2.x, json5@npm:^2.1.0": + version: 2.1.0 + resolution: "json5@npm:2.1.0" + dependencies: + minimist: ^1.2.0 + bin: + json5: lib/cli.js + checksum: ecd42a1d79ac40ae5b236a3a4a14959b4372f9c5915810029c56865904c8cf6e8ae671ff0083a3c381057e35de79635ba719fc1683e0fb350f42baa88a3c64ba + languageName: node + linkType: hard + +"json5@npm:^1.0.1": + version: 1.0.1 + resolution: "json5@npm:1.0.1" + dependencies: + minimist: ^1.2.0 + bin: + json5: lib/cli.js + checksum: e76ea23dbb8fc1348c143da628134a98adf4c5a4e8ea2adaa74a80c455fc2cdf0e2e13e6398ef819bfe92306b610ebb2002668ed9fc1af386d593691ef346fc3 + languageName: node + linkType: hard + +"jsonc-parser@npm:^3.0.0": + version: 3.0.0 + resolution: "jsonc-parser@npm:3.0.0" + checksum: 1df2326f1f9688de30c70ff19c5b2a83ba3b89a1036160da79821d1361090775e9db502dc57a67c11b56e1186fc1ed70b887f25c5febf9a3ec4f91435836c99d + languageName: node + linkType: hard + +"jsonify@npm:~0.0.0": + version: 0.0.0 + resolution: "jsonify@npm:0.0.0" + checksum: d8d4ed476c116e6987a460dcb82f22284686caae9f498ac87b0502c1765ac1522f4f450a4cad4cc368d202fd3b27a3860735140a82867fc6d558f5f199c38bce + languageName: node + linkType: hard + +"jsonschema@npm:^1.2.4": + version: 1.2.4 + resolution: "jsonschema@npm:1.2.4" + checksum: fbdae335d3d2fa3c8b2630b1a3a4d547f89d651f772e0f6045c6ab06354899cc01e1f10f0c94ea6a40bdac7f391552fa9fa7a61f40da8567c2e8153c29f509cd + languageName: node + linkType: hard + +"jsprim@npm:^1.2.2": + version: 1.4.1 + resolution: "jsprim@npm:1.4.1" + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.2.3 + verror: 1.10.0 + checksum: 6bcb20ec265ae18bb48e540a6da2c65f9c844f7522712d6dfcb01039527a49414816f4869000493363f1e1ea96cbad00e46188d5ecc78257a19f152467587373 + languageName: node + linkType: hard + +"just-extend@npm:^4.0.2": + version: 4.0.2 + resolution: "just-extend@npm:4.0.2" + checksum: 03916980fc6855a0a9bcba164246c46984fcfb85b56f13405a4f244dd9369fddebcd700f33e2636d99780a704a6cec2b5333229eb03c5cbfa897340ecda4c616 + languageName: node + linkType: hard + +"keccak@npm:^1.0.2": + version: 1.4.0 + resolution: "keccak@npm:1.4.0" + dependencies: + bindings: ^1.2.1 + inherits: ^2.0.3 + nan: ^2.2.1 + node-gyp: latest + safe-buffer: ^5.1.0 + checksum: 236ba4183d64e1118566c4f123d812cc8fa5fb0fa477b6743bc398aced42595816f46a322bf0240a6a7589eff932aa1540066a30db2367e4049436d9fa30f537 + languageName: node + linkType: hard + +"keccak@npm:^3.0.0": + version: 3.0.1 + resolution: "keccak@npm:3.0.1" + dependencies: + node-addon-api: ^2.0.0 + node-gyp: latest + node-gyp-build: ^4.2.0 + checksum: 1de1b62fbb3e035ee186232b11f154bd5c2c12a2d910bc8ec313dab412b6f39ddc51d3a105618dd8de752875da0ead21abb0eb1d4e7d7b17771a4acbb7159390 + languageName: node + linkType: hard + +"keccakjs@npm:^0.2.0": + version: 0.2.3 + resolution: "keccakjs@npm:0.2.3" + dependencies: + browserify-sha3: ^0.0.4 + sha3: ^1.2.2 + checksum: 0dddf11a18596b23d05a18f7d2949f25feec2d9d2d0dbad18d07b4d5fd43a6ee160ce6b227238f79ce1460dab4fdf8a7db74d8bfe7cbcfe47aca17f01d075aee + languageName: node + linkType: hard + +"kind-of@npm:^3.0.2, kind-of@npm:^3.0.3, kind-of@npm:^3.2.0": + version: 3.2.2 + resolution: "kind-of@npm:3.2.2" + dependencies: + is-buffer: ^1.1.5 + checksum: e898df8ca2f31038f27d24f0b8080da7be274f986bc6ed176f37c77c454d76627619e1681f6f9d2e8d2fd7557a18ecc419a6bb54e422abcbb8da8f1a75e4b386 + languageName: node + linkType: hard + +"kind-of@npm:^4.0.0": + version: 4.0.0 + resolution: "kind-of@npm:4.0.0" + dependencies: + is-buffer: ^1.1.5 + checksum: 1b9e7624a8771b5a2489026e820f3bbbcc67893e1345804a56b23a91e9069965854d2a223a7c6ee563c45be9d8c6ff1ef87f28ed5f0d1a8d00d9dcbb067c529f + languageName: node + linkType: hard + +"kind-of@npm:^5.0.0": + version: 5.1.0 + resolution: "kind-of@npm:5.1.0" + checksum: f2a0102ae0cf19c4a953397e552571bad2b588b53282874f25fca7236396e650e2db50d41f9f516bd402536e4df968dbb51b8e69e4d5d4a7173def78448f7bab + languageName: node + linkType: hard + +"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 3ab01e7b1d440b22fe4c31f23d8d38b4d9b91d9f291df683476576493d5dfd2e03848a8b05813dd0c3f0e835bc63f433007ddeceb71f05cb25c45ae1b19c6d3b + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: df82cd1e172f957bae9c536286265a5cdbd5eeca487cb0a3b2a7b41ef959fc61f8e7c0e9aeea9c114ccf2c166b6a8dd45a46fd619c1c569d210ecd2765ad5169 + languageName: node + linkType: hard + +"level-codec@npm:~7.0.0": + version: 7.0.1 + resolution: "level-codec@npm:7.0.1" + checksum: 2565c131d93aea0786af5eda9bb907e3f5152fade03fd7a7751e2f95301fc5241063eb927c2f7df086fac33592523aab8df86bcf7ecc46ed53de11453b600329 + languageName: node + linkType: hard + +"level-errors@npm:^1.0.3, level-errors@npm:~1.0.3": + version: 1.0.5 + resolution: "level-errors@npm:1.0.5" + dependencies: + errno: ~0.1.1 + checksum: a62df2a24987c0100855ec03f03655ddc6170b33a83987a53858ba0a7dbe125b4b5382e01068a1dc899ccf7f9d12b824702da15488bd06b4b3ee7a1e4232cb0a + languageName: node + linkType: hard + +"level-iterator-stream@npm:~1.3.0": + version: 1.3.1 + resolution: "level-iterator-stream@npm:1.3.1" + dependencies: + inherits: ^2.0.1 + level-errors: ^1.0.3 + readable-stream: ^1.0.33 + xtend: ^4.0.0 + checksum: bf57d8dcee6e7ec68e6c580edc768d2e3960f93e741d7d4adcc7d86f267c741ebcfba5353b3b6551ca10d12e30939c90f1a13303313b1b719325111f0ff14540 + languageName: node + linkType: hard + +"level-ws@npm:0.0.0": + version: 0.0.0 + resolution: "level-ws@npm:0.0.0" + dependencies: + readable-stream: ~1.0.15 + xtend: ~2.1.1 + checksum: fcc3e6993b538ed8931612a74ef26cf32b53d71c059a819bb1006c075f0c1198afb79026a69aeeafcbd4598c45b4b214315b4216b44eca68587fce1b5ad61b75 + languageName: node + linkType: hard + +"levelup@npm:^1.2.1": + version: 1.3.9 + resolution: "levelup@npm:1.3.9" + dependencies: + deferred-leveldown: ~1.2.1 + level-codec: ~7.0.0 + level-errors: ~1.0.3 + level-iterator-stream: ~1.3.0 + prr: ~1.0.1 + semver: ~5.4.1 + xtend: ~4.0.0 + checksum: df3b534b948c17d724050f6ecc2b21eb2fde357bd0c68582cd3a5eb4bf943a3057cd2e9db6bd7253020fcb853c83a70943bff9264f5132afa8cf3c25c3c7cd8e + languageName: node + linkType: hard + +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 638401d534585261b6003db9d99afd244dfe82d75ddb6db5c0df412842d5ab30b2ef18de471aaec70fe69a46f17b4ae3c7f01d8a4e6580ef7adb9f4273ad1e55 + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: ^1.2.1 + type-check: ~0.4.0 + checksum: 12c5021c859bd0f5248561bf139121f0358285ec545ebf48bb3d346820d5c61a4309535c7f387ed7d84361cf821e124ce346c6b7cef8ee09a67c1473b46d0fc4 + languageName: node + linkType: hard + +"levn@npm:~0.3.0": + version: 0.3.0 + resolution: "levn@npm:0.3.0" + dependencies: + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + checksum: 0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.1.6 + resolution: "lines-and-columns@npm:1.1.6" + checksum: 198a5436b1fa5cf703bae719c01c686b076f0ad7e1aafd95a58d626cabff302dc0414822126f2f80b58a8c3d66cda8a7b6da064f27130f87e1d3506d6dfd0d68 + languageName: node + linkType: hard + +"load-json-file@npm:^2.0.0": + version: 2.0.0 + resolution: "load-json-file@npm:2.0.0" + dependencies: + graceful-fs: ^4.1.2 + parse-json: ^2.2.0 + pify: ^2.0.0 + strip-bom: ^3.0.0 + checksum: 7f212bbf08a8c9aab087ead07aa220d1f43d83ec1c4e475a00a8d9bf3014eb29ebe901db8554627dcfb70184c274d05b7379f1e9678fe8297ae74dc495212049 + languageName: node + linkType: hard + +"locate-path@npm:^2.0.0": + version: 2.0.0 + resolution: "locate-path@npm:2.0.0" + dependencies: + p-locate: ^2.0.0 + path-exists: ^3.0.0 + checksum: 02d581edbbbb0fa292e28d96b7de36b5b62c2fa8b5a7e82638ebb33afa74284acf022d3b1e9ae10e3ffb7658fbc49163fcd5e76e7d1baaa7801c3e05a81da755 + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: ^4.1.0 + checksum: 83e51725e67517287d73e1ded92b28602e3ae5580b301fe54bfb76c0c723e3f285b19252e375712316774cf52006cb236aed5704692c32db0d5d089b69696e30 + languageName: node + linkType: hard + +"lodash.get@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.get@npm:4.4.2" + checksum: e403047ddb03181c9d0e92df9556570e2b67e0f0a930fcbbbd779370972368f5568e914f913e93f3b08f6d492abc71e14d4e9b7a18916c31fa04bd2306efe545 + languageName: node + linkType: hard + +"lodash.set@npm:^4.3.2": + version: 4.3.2 + resolution: "lodash.set@npm:4.3.2" + checksum: a9122f49eef9f2d0fc9061a33d87f8e5b8c6b23d46e8b9e9ce1529d3588d79741bd1145a3abdfa3b13082703e65af27ff18d8a07bfc22b9be32f3fc36f763f70 + languageName: node + linkType: hard + +"lodash.sortby@npm:^4.7.0": + version: 4.7.0 + resolution: "lodash.sortby@npm:4.7.0" + checksum: db170c9396d29d11fe9a9f25668c4993e0c1331bcb941ddbd48fb76f492e732add7f2a47cfdf8e9d740fa59ac41bbfaf931d268bc72aab3ab49e9f89354d718c + languageName: node + linkType: hard + +"lodash@npm:4.x, lodash@npm:^4.17.13, lodash@npm:^4.17.14, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 + languageName: node + linkType: hard + +"lolex@npm:^5.0.0": + version: 5.1.2 + resolution: "lolex@npm:5.1.2" + dependencies: + "@sinonjs/commons": ^1.7.0 + checksum: 7eb468d4ef4746c024d23cb2b75f679f79449a9d5cbe11abadf2f3b147c1d7ffe28816438bedfb8a75c58357a625c2f9ba197b050c226d2b3f0c4a956cf556fb + languageName: node + linkType: hard + +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" + dependencies: + yallist: ^4.0.0 + checksum: f97f499f898f23e4585742138a22f22526254fdba6d75d41a1c2526b3b6cc5747ef59c5612ba7375f42aca4f8461950e925ba08c991ead0651b4918b7c978297 + languageName: node + linkType: hard + +"lru-cache@npm:^7.7.1": + version: 7.10.1 + resolution: "lru-cache@npm:7.10.1" + checksum: e8b190d71ed0fcd7b29c71a3e9b01f851c92d1ef8865ff06b5581ca991db1e5e006920ed4da8b56da1910664ed51abfd76c46fb55e82ac252ff6c970ff910d72 + languageName: node + linkType: hard + +"ltgt@npm:~2.2.0": + version: 2.2.1 + resolution: "ltgt@npm:2.2.1" + checksum: 7e3874296f7538bc8087b428ac4208008d7b76916354b34a08818ca7c83958c1df10ec427eeeaad895f6b81e41e24745b18d30f89abcc21d228b94f6961d50a2 + languageName: node + linkType: hard + +"lunr@npm:^2.3.9": + version: 2.3.9 + resolution: "lunr@npm:2.3.9" + checksum: 176719e24fcce7d3cf1baccce9dd5633cd8bdc1f41ebe6a180112e5ee99d80373fe2454f5d4624d437e5a8319698ca6837b9950566e15d2cae5f2a543a3db4b8 + languageName: node + linkType: hard + +"make-dir@npm:^3.0.0": + version: 3.0.2 + resolution: "make-dir@npm:3.0.2" + dependencies: + semver: ^6.0.0 + checksum: b7ba1b53455c54fb867589e08e1303faceec23bec1303ccc77eba5c8350aa02fe30a1a13e009cc712f55efa7b2101262f9373c1c887af4de3025e23977cbdd34 + languageName: node + linkType: hard + +"make-error@npm:1.x": + version: 1.3.5 + resolution: "make-error@npm:1.3.5" + checksum: bb9578cb5f36df27509b2a269fc5fda483130096e2989fff8788c2608ed01be780d1e85ba3653e27c0863a114c560410b410be89e19271cb5ff987c37a17c1fd + languageName: node + linkType: hard + +"make-fetch-happen@npm:^10.0.3": + version: 10.1.7 + resolution: "make-fetch-happen@npm:10.1.7" + dependencies: + agentkeepalive: ^4.2.1 + cacache: ^16.1.0 + http-cache-semantics: ^4.1.0 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-fetch: ^2.0.3 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.3 + promise-retry: ^2.0.1 + socks-proxy-agent: ^7.0.0 + ssri: ^9.0.0 + checksum: 2b7301256e18a2f825c1c3cad14e11492428531ecdea04d846dc12c2d69658d65832746ce965e67c7f98b0d0506115674cf43676c3322709278620bfc886cf4a + languageName: node + linkType: hard + +"makeerror@npm:1.0.x": + version: 1.0.11 + resolution: "makeerror@npm:1.0.11" + dependencies: + tmpl: 1.0.x + checksum: 9a62ec2d9648c5329fdc4bc7d779a7305f32b1e55422a4f14244bc890bb43287fe013eb8d965e92a0cf4c443f3e59265b1fc3125eaedb0c2361e28b1a8de565d + languageName: node + linkType: hard + +"map-cache@npm:^0.2.2": + version: 0.2.2 + resolution: "map-cache@npm:0.2.2" + checksum: 3067cea54285c43848bb4539f978a15dedc63c03022abeec6ef05c8cb6829f920f13b94bcaf04142fc6a088318e564c4785704072910d120d55dbc2e0c421969 + languageName: node + linkType: hard + +"map-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "map-visit@npm:1.0.0" + dependencies: + object-visit: ^1.0.0 + checksum: c27045a5021c344fc19b9132eb30313e441863b2951029f8f8b66f79d3d8c1e7e5091578075a996f74e417479506fe9ede28c44ca7bc351a61c9d8073daec36a + languageName: node + linkType: hard + +"marked@npm:^4.0.12": + version: 4.0.14 + resolution: "marked@npm:4.0.14" + bin: + marked: bin/marked.js + checksum: 778bc2fc94c51ae4fbafe5a08bc1f3917799c4dd39e9fccd972a97df4e5bc5aa78664b7143d12d4b4969608fb90c6a2de3f19811a2f9ccf6b7f207022f2842ba + languageName: node + linkType: hard + +"md5.js@npm:^1.3.4": + version: 1.3.5 + resolution: "md5.js@npm:1.3.5" + dependencies: + hash-base: ^3.0.0 + inherits: ^2.0.1 + safe-buffer: ^5.1.2 + checksum: 098494d885684bcc4f92294b18ba61b7bd353c23147fbc4688c75b45cb8590f5a95fd4584d742415dcc52487f7a1ef6ea611cfa1543b0dc4492fe026357f3f0c + languageName: node + linkType: hard + +"memdown@npm:^1.0.0": + version: 1.4.1 + resolution: "memdown@npm:1.4.1" + dependencies: + abstract-leveldown: ~2.7.1 + functional-red-black-tree: ^1.0.1 + immediate: ^3.2.3 + inherits: ~2.0.1 + ltgt: ~2.2.0 + safe-buffer: ~5.1.1 + checksum: 3f89142a12389b1ebfc7adaf3be19ed57cd073f84160eb7419b61c8e188e2b82eb787dad168d7b00ca68355b6b952067d9badaa5ac88c8ee014e4b0af2bfaea0 + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 6fa4dcc8d86629705cea944a4b88ef4cb0e07656ebf223fa287443256414283dd25d91c1cd84c77987f2aec5927af1a9db6085757cb43d90eb170ebf4b47f4f4 + languageName: node + linkType: hard + +"merge2@npm:^1.2.3, merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 + languageName: node + linkType: hard + +"merkle-patricia-tree@npm:^2.1.2, merkle-patricia-tree@npm:^2.3.2": + version: 2.3.2 + resolution: "merkle-patricia-tree@npm:2.3.2" + dependencies: + async: ^1.4.2 + ethereumjs-util: ^5.0.0 + level-ws: 0.0.0 + levelup: ^1.2.1 + memdown: ^1.0.0 + readable-stream: ^2.0.0 + rlp: ^2.0.0 + semaphore: ">=1.0.1" + checksum: f6066a16e08190b9e8d3aa28d8e861a3e884ee0be8109c4f5e879965fdfb8181cfc04bae3aaf97c7fb6d07446d94b4f3e1cce502dde4a5699a03acf6df518b12 + languageName: node + linkType: hard + +"micromatch@npm:^3.1.4": + version: 3.1.10 + resolution: "micromatch@npm:3.1.10" + dependencies: + arr-diff: ^4.0.0 + array-unique: ^0.3.2 + braces: ^2.3.1 + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + extglob: ^2.0.4 + fragment-cache: ^0.2.1 + kind-of: ^6.0.2 + nanomatch: ^1.2.9 + object.pick: ^1.3.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.2 + checksum: ad226cba4daa95b4eaf47b2ca331c8d2e038d7b41ae7ed0697cde27f3f1d6142881ab03d4da51b65d9d315eceb5e4cdddb3fbb55f5f72cfa19cf3ea469d054dc + languageName: node + linkType: hard + +"micromatch@npm:^4.0.2": + version: 4.0.2 + resolution: "micromatch@npm:4.0.2" + dependencies: + braces: ^3.0.1 + picomatch: ^2.0.5 + checksum: 39590a96d9ffad21f0afac044d0a5af4f33715a16fdd82c53a01c8f5ff6f70832a31b53e52972dac3deff8bf9f0bed0207d1c34e54ab3306a5e4c4efd5f7d249 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4": + version: 4.0.4 + resolution: "micromatch@npm:4.0.4" + dependencies: + braces: ^3.0.1 + picomatch: ^2.2.3 + checksum: ef3d1c88e79e0a68b0e94a03137676f3324ac18a908c245a9e5936f838079fcc108ac7170a5fadc265a9c2596963462e402841406bda1a4bb7b68805601d631c + languageName: node + linkType: hard + +"mime-db@npm:1.40.0": + version: 1.40.0 + resolution: "mime-db@npm:1.40.0" + checksum: df6220a51cff688e9bb58f51afc3eda43e39bd1fdb975bc3e013c26676f9e799e3041f93a17c7c651f65fd066616e5947b4b51f0da03591edebaf8821aa00602 + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:~2.1.19": + version: 2.1.24 + resolution: "mime-types@npm:2.1.24" + dependencies: + mime-db: 1.40.0 + checksum: e54c1e160889270044f78574f72db5f158cd69179a023b6a6dfd8254c675ec6ca2f9670391428eaf74b73735d76d5680d9e5abac0d8e259138072fd9f25e13f5 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a + languageName: node + linkType: hard + +"min-document@npm:^2.19.0": + version: 2.19.0 + resolution: "min-document@npm:2.19.0" + dependencies: + dom-walk: ^0.1.0 + checksum: da6437562ea2228041542a2384528e74e22d1daa1a4ec439c165abf0b9d8a63e17e3b8a6dc6e0c731845e85301198730426932a0e813d23f932ca668340c9623 + languageName: node + linkType: hard + +"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: cc7974a9268fbf130fb055aff76700d7e2d8be5f761fb5c60318d0ed010d839ab3661a533ad29a5d37653133385204c503bfac995aaa4236f4e847461ea32ba7 + languageName: node + linkType: hard + +"minimalistic-crypto-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-crypto-utils@npm:1.0.1" + checksum: 6e8a0422b30039406efd4c440829ea8f988845db02a3299f372fceba56ffa94994a9c0f2fd70c17f9969eedfbd72f34b5070ead9656a34d3f71c0bd72583a0ed + languageName: node + linkType: hard + +"minimatch@npm:^3.0.4": + version: 3.0.4 + resolution: "minimatch@npm:3.0.4" + dependencies: + brace-expansion: ^1.1.7 + checksum: 66ac295f8a7b59788000ea3749938b0970344c841750abd96694f80269b926ebcafad3deeb3f1da2522978b119e6ae3a5869b63b13a7859a456b3408bd18a078 + languageName: node + linkType: hard + +"minimatch@npm:^5.0.1": + version: 5.0.1 + resolution: "minimatch@npm:5.0.1" + dependencies: + brace-expansion: ^2.0.1 + checksum: b34b98463da4754bc526b244d680c69d4d6089451ebe512edaf6dd9eeed0279399cfa3edb19233513b8f830bf4bfcad911dddcdf125e75074100d52f724774f0 + languageName: node + linkType: hard + +"minimist@npm:^1.1.1, minimist@npm:^1.2.0": + version: 1.2.6 + resolution: "minimist@npm:1.2.6" + checksum: d15428cd1e11eb14e1233bcfb88ae07ed7a147de251441d61158619dfb32c4d7e9061d09cab4825fdee18ecd6fce323228c8c47b5ba7cd20af378ca4048fb3fb + languageName: node + linkType: hard + +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" + dependencies: + minipass: ^3.0.0 + checksum: 14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 + languageName: node + linkType: hard + +"minipass-fetch@npm:^2.0.3": + version: 2.1.0 + resolution: "minipass-fetch@npm:2.1.0" + dependencies: + encoding: ^0.1.13 + minipass: ^3.1.6 + minipass-sized: ^1.0.3 + minizlib: ^2.1.2 + dependenciesMeta: + encoding: + optional: true + checksum: 1334732859a3f7959ed22589bafd9c40384b885aebb5932328071c33f86b3eb181d54c86919675d1825ab5f1c8e4f328878c863873258d113c29d79a4b0c9c9f + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: ^3.0.0 + checksum: 56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: ^3.0.0 + checksum: b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: ^3.0.0 + checksum: 79076749fcacf21b5d16dd596d32c3b6bf4d6e62abb43868fac21674078505c8b15eaca4e47ed844985a4514854f917d78f588fcd029693709417d8f98b2bd60 + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.1.3 + resolution: "minipass@npm:3.1.3" + dependencies: + yallist: ^4.0.0 + checksum: 74b623c1f996caafa66772301b66a1b634b20270f0d1a731ef86195d5a1a5f9984a773a1e88a6cecfd264d6c471c4c0fc8574cd96488f01c8f74c0b600021e55 + languageName: node + linkType: hard + +"minipass@npm:^3.1.1, minipass@npm:^3.1.6": + version: 3.1.6 + resolution: "minipass@npm:3.1.6" + dependencies: + yallist: ^4.0.0 + checksum: 57a04041413a3531a65062452cb5175f93383ef245d6f4a2961d34386eb9aa8ac11ac7f16f791f5e8bbaf1dfb1ef01596870c88e8822215db57aa591a5bb0a77 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: ^3.0.0 + yallist: ^4.0.0 + checksum: f1fdeac0b07cf8f30fcf12f4b586795b97be856edea22b5e9072707be51fc95d41487faec3f265b42973a304fe3a64acd91a44a3826a963e37b37bafde0212c3 + languageName: node + linkType: hard + +"mixin-deep@npm:^1.2.0": + version: 1.3.2 + resolution: "mixin-deep@npm:1.3.2" + dependencies: + for-in: ^1.0.2 + is-extendable: ^1.0.1 + checksum: 820d5a51fcb7479f2926b97f2c3bb223546bc915e6b3a3eb5d906dda871bba569863595424a76682f2b15718252954644f3891437cb7e3f220949bed54b1750d + languageName: node + linkType: hard + +"mkdirp@npm:1.x, mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: a96865108c6c3b1b8e1d5e9f11843de1e077e57737602de1b82030815f311be11f96f09cce59bd5b903d0b29834733e5313f9301e3ed6d6f6fba2eae0df4298f + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 + languageName: node + linkType: hard + +"ms@npm:2.1.2, ms@npm:^2.1.1": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f + languageName: node + linkType: hard + +"ms@npm:^2.0.0": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d + languageName: node + linkType: hard + +"multiformats@npm:^9.5.2": + version: 9.5.2 + resolution: "multiformats@npm:9.5.2" + checksum: fadaad7803b67a39669a3cef4fb8a88ec60f049c8cb1a2c77d243ec4274b364bfa89c49d6b727a66ea6724d404774bef69f3cde48ae41a57dd46fe8350c897e0 + languageName: node + linkType: hard + +"nan@npm:2.13.2": + version: 2.13.2 + resolution: "nan@npm:2.13.2" + dependencies: + node-gyp: latest + checksum: cfe7225ce0480d07c7c01387e510a941775b8ed13d401fad6bdc04ed1ca57140869b8a63608ada016ae5b1fd0529cf887b8408c9316bd57211c912a4a8e5f3f7 + languageName: node + linkType: hard + +"nan@npm:^2.14.0, nan@npm:^2.2.1": + version: 2.14.0 + resolution: "nan@npm:2.14.0" + dependencies: + node-gyp: latest + checksum: 6dfd00d9bf71769898dfab21ef9d2ef278b392c586147616a718b995d6a582f5caa7f2ca0f83ce956fb0def698aca813b2b6fd4598125cd16bdc85924c34a37d + languageName: node + linkType: hard + +"nanoid@npm:^3.1.31": + version: 3.1.31 + resolution: "nanoid@npm:3.1.31" + bin: + nanoid: bin/nanoid.cjs + checksum: 3e9fddc1619cc8f787f37fa3d26c072049b7105af4d5365dae32adce13250e29dfab2d2b061f3798b2dd3cc0dee663917a63032979df56ef64c15c287748ab99 + languageName: node + linkType: hard + +"nanomatch@npm:^1.2.9": + version: 1.2.13 + resolution: "nanomatch@npm:1.2.13" + dependencies: + arr-diff: ^4.0.0 + array-unique: ^0.3.2 + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + fragment-cache: ^0.2.1 + is-windows: ^1.0.2 + kind-of: ^6.0.2 + object.pick: ^1.3.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: 54d4166d6ef08db41252eb4e96d4109ebcb8029f0374f9db873bd91a1f896c32ec780d2a2ea65c0b2d7caf1f28d5e1ea33746a470f32146ac8bba821d80d38d8 + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d + languageName: node + linkType: hard + +"negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 + languageName: node + linkType: hard + +"nice-try@npm:^1.0.4": + version: 1.0.5 + resolution: "nice-try@npm:1.0.5" + checksum: 0b4af3b5bb5d86c289f7a026303d192a7eb4417231fe47245c460baeabae7277bcd8fd9c728fb6bd62c30b3e15cd6620373e2cf33353b095d8b403d3e8a15aff + languageName: node + linkType: hard + +"nise@npm:^4.0.4": + version: 4.0.4 + resolution: "nise@npm:4.0.4" + dependencies: + "@sinonjs/commons": ^1.7.0 + "@sinonjs/fake-timers": ^6.0.0 + "@sinonjs/text-encoding": ^0.7.1 + just-extend: ^4.0.2 + path-to-regexp: ^1.7.0 + checksum: b03b5608d73ba9401d92f773e5f3a4d361cdb281ee9b0a9c9cb88c9f5aa8323c8876977e879db650c78503033dabbb850f46beef79b356c212c33be7410a967c + languageName: node + linkType: hard + +"nock@npm:^13.0.7": + version: 13.0.7 + resolution: "nock@npm:13.0.7" + dependencies: + debug: ^4.1.0 + json-stringify-safe: ^5.0.1 + lodash.set: ^4.3.2 + propagate: ^2.0.0 + checksum: 022f388ab360321a04b5f661dc273001cbdda39d3f87623efaf3672f0e36bd2c771b4a24125717668bda082bbd8ad704ee2d86c26a9260d0facebb378436cc4c + languageName: node + linkType: hard + +"node-addon-api@npm:^2.0.0": + version: 2.0.2 + resolution: "node-addon-api@npm:2.0.2" + dependencies: + node-gyp: latest + checksum: 31fb22d674648204f8dd94167eb5aac896c841b84a9210d614bf5d97c74ef059cc6326389cf0c54d2086e35312938401d4cc82e5fcd679202503eb8ac84814f8 + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": + version: 2.6.7 + resolution: "node-fetch@npm:2.6.7" + dependencies: + whatwg-url: ^5.0.0 + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 8d816ffd1ee22cab8301c7756ef04f3437f18dace86a1dae22cf81db8ef29c0bf6655f3215cb0cdb22b420b6fe141e64b26905e7f33f9377a7fa59135ea3e10b + languageName: node + linkType: hard + +"node-gyp-build@npm:^4.2.0": + version: 4.2.3 + resolution: "node-gyp-build@npm:4.2.3" + bin: + node-gyp-build: bin.js + node-gyp-build-optional: optional.js + node-gyp-build-test: build-test.js + checksum: 450d7b2016290d269343f8a33d13f4d7ccd0a38057af0d71a4d714fe06e6051da50b677a411ea9e240706253c4b53eb41e1b050df72d75d796b2e4d91b2757ae + languageName: node + linkType: hard + +"node-gyp@npm:^7.1.0": + version: 7.1.2 + resolution: "node-gyp@npm:7.1.2" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.3 + nopt: ^5.0.0 + npmlog: ^4.1.2 + request: ^2.88.2 + rimraf: ^3.0.2 + semver: ^7.3.2 + tar: ^6.0.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 08582720f28f9a9bb64bc9cbe2f58b159c0258326a9c898e4e95d2f2d8002f44602338111ebf980e5aa47a3421e071525b758923b76855d780fab8cc03279ae0 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 9.0.0 + resolution: "node-gyp@npm:9.0.0" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^10.0.3 + nopt: ^5.0.0 + npmlog: ^6.0.0 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 4d8ef8860f7e4f4d86c91db3f519d26ed5cc23b48fe54543e2afd86162b4acbd14f21de42a5db344525efb69a991e021b96a68c70c6e2d5f4a5cb770793da6d3 + languageName: node + linkType: hard + +"node-int64@npm:^0.4.0": + version: 0.4.0 + resolution: "node-int64@npm:0.4.0" + checksum: d0b30b1ee6d961851c60d5eaa745d30b5c95d94bc0e74b81e5292f7c42a49e3af87f1eb9e89f59456f80645d679202537de751b7d72e9e40ceea40c5e449057e + languageName: node + linkType: hard + +"node-modules-regexp@npm:^1.0.0": + version: 1.0.0 + resolution: "node-modules-regexp@npm:1.0.0" + checksum: 99541903536c5ce552786f0fca7f06b88df595e62e423c21fa86a1674ee2363dad1f7482d1bec20b4bd9fa5f262f88e6e5cb788fc56411113f2fe2e97783a3a7 + languageName: node + linkType: hard + +"node-notifier@npm:^8.0.0": + version: 8.0.1 + resolution: "node-notifier@npm:8.0.1" + dependencies: + growly: ^1.3.0 + is-wsl: ^2.2.0 + semver: ^7.3.2 + shellwords: ^0.1.1 + uuid: ^8.3.0 + which: ^2.0.2 + checksum: b84f24060f9f968c6141fcd16d22125caa42eb048fa5867f63e3411384a0bbc22b82d1a64e242ee9a557aaf6a0542a562713c4467f648dbcffea15d6da08f750 + languageName: node + linkType: hard + +"nopt@npm:^5.0.0": + version: 5.0.0 + resolution: "nopt@npm:5.0.0" + dependencies: + abbrev: 1 + bin: + nopt: bin/nopt.js + checksum: d35fdec187269503843924e0114c0c6533fb54bbf1620d0f28b4b60ba01712d6687f62565c55cc20a504eff0fbe5c63e22340c3fad549ad40469ffb611b04f2f + languageName: node + linkType: hard + +"normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0": + version: 2.5.0 + resolution: "normalize-package-data@npm:2.5.0" + dependencies: + hosted-git-info: ^2.1.4 + resolve: ^1.10.0 + semver: 2 || 3 || 4 || 5 + validate-npm-package-license: ^3.0.1 + checksum: 7999112efc35a6259bc22db460540cae06564aa65d0271e3bdfa86876d08b0e578b7b5b0028ee61b23f1cae9fc0e7847e4edc0948d3068a39a2a82853efc8499 + languageName: node + linkType: hard + +"normalize-path@npm:^2.1.1": + version: 2.1.1 + resolution: "normalize-path@npm:2.1.1" + dependencies: + remove-trailing-separator: ^1.0.1 + checksum: 7e9cbdcf7f5b8da7aa191fbfe33daf290cdcd8c038f422faf1b8a83c972bf7a6d94c5be34c4326cb00fb63bc0fd97d9fbcfaf2e5d6142332c2cd36d2e1b86cea + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 88eeb4da891e10b1318c4b2476b6e2ecbeb5ff97d946815ffea7794c31a89017c70d7f34b3c2ebf23ef4e9fc9fb99f7dffe36da22011b5b5c6ffa34f4873ec20 + languageName: node + linkType: hard + +"npm-normalize-package-bin@npm:^1.0.1": + version: 1.0.1 + resolution: "npm-normalize-package-bin@npm:1.0.1" + checksum: ae7f15155a1e3ace2653f12ddd1ee8eaa3c84452fdfbf2f1943e1de264e4b079c86645e2c55931a51a0a498cba31f70022a5219d5665fbcb221e99e58bc70122 + languageName: node + linkType: hard + +"npm-run-path@npm:^2.0.0": + version: 2.0.2 + resolution: "npm-run-path@npm:2.0.2" + dependencies: + path-key: ^2.0.0 + checksum: acd5ad81648ba4588ba5a8effb1d98d2b339d31be16826a118d50f182a134ac523172101b82eab1d01cb4c2ba358e857d54cfafd8163a1ffe7bd52100b741125 + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.0, npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: ^3.0.0 + checksum: 5374c0cea4b0bbfdfae62da7bbdf1e1558d338335f4cacf2515c282ff358ff27b2ecb91ffa5330a8b14390ac66a1e146e10700440c1ab868208430f56b5f4d23 + languageName: node + linkType: hard + +"npmlog@npm:^4.1.2": + version: 4.1.2 + resolution: "npmlog@npm:4.1.2" + dependencies: + are-we-there-yet: ~1.1.2 + console-control-strings: ~1.1.0 + gauge: ~2.7.3 + set-blocking: ~2.0.0 + checksum: edbda9f95ec20957a892de1839afc6fb735054c3accf6fbefe767bac9a639fd5cea2baeac6bd2bcd50a85cb54924d57d9886c81c7fbc2332c2ddd19227504192 + languageName: node + linkType: hard + +"npmlog@npm:^6.0.0": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" + dependencies: + are-we-there-yet: ^3.0.0 + console-control-strings: ^1.1.0 + gauge: ^4.0.3 + set-blocking: ^2.0.0 + checksum: ae238cd264a1c3f22091cdd9e2b106f684297d3c184f1146984ecbe18aaa86343953f26b9520dedd1b1372bc0316905b736c1932d778dbeb1fcf5a1001390e2a + languageName: node + linkType: hard + +"number-is-nan@npm:^1.0.0": + version: 1.0.1 + resolution: "number-is-nan@npm:1.0.1" + checksum: 13656bc9aa771b96cef209ffca31c31a03b507ca6862ba7c3f638a283560620d723d52e626d57892c7fff475f4c36ac07f0600f14544692ff595abff214b9ffb + languageName: node + linkType: hard + +"number-to-bn@npm:1.7.0": + version: 1.7.0 + resolution: "number-to-bn@npm:1.7.0" + dependencies: + bn.js: 4.11.6 + strip-hex-prefix: 1.0.0 + checksum: 5b8c9dbe7b49dc7a069e5f0ba4e197257c89db11463478cb002fee7a34dc8868636952bd9f6310e5fdf22b266e0e6dffb5f9537c741734718107e90ae59b3de4 + languageName: node + linkType: hard + +"nwsapi@npm:^2.2.0": + version: 2.2.0 + resolution: "nwsapi@npm:2.2.0" + checksum: 5ef4a9bc0c1a5b7f2e014aa6a4b359a257503b796618ed1ef0eb852098f77e772305bb0e92856e4bbfa3e6c75da48c0113505c76f144555ff38867229c2400a7 + languageName: node + linkType: hard + +"oauth-sign@npm:~0.9.0": + version: 0.9.0 + resolution: "oauth-sign@npm:0.9.0" + checksum: 8f5497a127967866a3c67094c21efd295e46013a94e6e828573c62220e9af568cc1d2d04b16865ba583e430510fa168baf821ea78f355146d8ed7e350fc44c64 + languageName: node + linkType: hard + +"object-assign@npm:^4.1.0": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f + languageName: node + linkType: hard + +"object-copy@npm:^0.1.0": + version: 0.1.0 + resolution: "object-copy@npm:0.1.0" + dependencies: + copy-descriptor: ^0.1.0 + define-property: ^0.2.5 + kind-of: ^3.0.3 + checksum: a9e35f07e3a2c882a7e979090360d1a20ab51d1fa19dfdac3aa8873b328a7c4c7683946ee97c824ae40079d848d6740a3788fa14f2185155dab7ed970a72c783 + languageName: node + linkType: hard + +"object-inspect@npm:^1.11.0, object-inspect@npm:^1.9.0": + version: 1.12.0 + resolution: "object-inspect@npm:1.12.0" + checksum: 2b36d4001a9c921c6b342e2965734519c9c58c355822243c3207fbf0aac271f8d44d30d2d570d450b2cc6f0f00b72bcdba515c37827d2560e5f22b1899a31cf4 + languageName: node + linkType: hard + +"object-inspect@npm:^1.7.0": + version: 1.8.0 + resolution: "object-inspect@npm:1.8.0" + checksum: 1bb4ed43972ad29537bee9b2b3f543d7e6463ee3b929048ecddcb50f7796c418c679ba2104f2e37cd7fa486782b6278b9d1c9cccb4bbc7ca17cd529f3ae4dc1f + languageName: node + linkType: hard + +"object-is@npm:^1.0.1": + version: 1.1.5 + resolution: "object-is@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + checksum: 989b18c4cba258a6b74dc1d74a41805c1a1425bce29f6cabb50dcb1a6a651ea9104a1b07046739a49a5bb1bc49727bcb00efd5c55f932f6ea04ec8927a7901fe + languageName: node + linkType: hard + +"object-keys@npm:^1.0.11, object-keys@npm:^1.0.12, object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: b363c5e7644b1e1b04aa507e88dcb8e3a2f52b6ffd0ea801e4c7a62d5aa559affe21c55a07fd4b1fd55fc03a33c610d73426664b20032405d7b92a1414c34d6a + languageName: node + linkType: hard + +"object-keys@npm:~0.4.0": + version: 0.4.0 + resolution: "object-keys@npm:0.4.0" + checksum: 1be3ebe9b48c0d5eda8e4a30657d887a748cb42435e0e2eaf49faf557bdd602cd2b7558b8ce90a4eb2b8592d16b875a1900bce859cbb0f35b21c67e11a45313c + languageName: node + linkType: hard + +"object-visit@npm:^1.0.0": + version: 1.0.1 + resolution: "object-visit@npm:1.0.1" + dependencies: + isobject: ^3.0.0 + checksum: b0ee07f5bf3bb881b881ff53b467ebbde2b37ebb38649d6944a6cd7681b32eedd99da9bd1e01c55facf81f54ed06b13af61aba6ad87f0052982995e09333f790 + languageName: node + linkType: hard + +"object.assign@npm:^4.1.0": + version: 4.1.0 + resolution: "object.assign@npm:4.1.0" + dependencies: + define-properties: ^1.1.2 + function-bind: ^1.1.1 + has-symbols: ^1.0.0 + object-keys: ^1.0.11 + checksum: 648a9a463580bf48332d9a49a76fede2660ab1ee7104d9459b8a240562246da790b4151c3c073f28fda31c1fdc555d25a1d871e72be403e997e4468c91f4801f + languageName: node + linkType: hard + +"object.assign@npm:^4.1.2": + version: 4.1.2 + resolution: "object.assign@npm:4.1.2" + dependencies: + call-bind: ^1.0.0 + define-properties: ^1.1.3 + has-symbols: ^1.0.1 + object-keys: ^1.1.1 + checksum: d621d832ed7b16ac74027adb87196804a500d80d9aca536fccb7ba48d33a7e9306a75f94c1d29cbfa324bc091bfc530bc24789568efdaee6a47fcfa298993814 + languageName: node + linkType: hard + +"object.pick@npm:^1.3.0": + version: 1.3.0 + resolution: "object.pick@npm:1.3.0" + dependencies: + isobject: ^3.0.1 + checksum: 77fb6eed57c67adf75e9901187e37af39f052ef601cb4480386436561357eb9e459e820762f01fd02c5c1b42ece839ad393717a6d1850d848ee11fbabb3e580a + languageName: node + linkType: hard + +"object.values@npm:^1.1.1": + version: 1.1.1 + resolution: "object.values@npm:1.1.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.0-next.1 + function-bind: ^1.1.1 + has: ^1.0.3 + checksum: f1217c09fa3338698bf748514f9d5cd279744fd34e6593920faf2ad0c8eb339b3b783b6ac0b02d9285d6ead53bcf7b1ac0a5aee4717b7e38c451336796ecb8af + languageName: node + linkType: hard + +"obs-store@npm:^4.0.3": + version: 4.0.3 + resolution: "obs-store@npm:4.0.3" + dependencies: + readable-stream: ^2.2.2 + safe-event-emitter: ^1.0.1 + through2: ^2.0.3 + xtend: ^4.0.1 + checksum: a3c05dad7483489f2c083059256f24838b106e10012dd296c7d3e8066869bbc7313dc90775354b519cbeb7aa4c230b0f66cc87ef1414189bad6d03adb0b00b75 + languageName: node + linkType: hard + +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: 1 + checksum: cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68 + languageName: node + linkType: hard + +"onetime@npm:^5.1.0": + version: 5.1.0 + resolution: "onetime@npm:5.1.0" + dependencies: + mimic-fn: ^2.1.0 + checksum: 426c13de5015249d2e38855e9900276ad34d9d2738f780ed4bf8d1334deab4ca7a45628e36ce8a6c5f679b0508c65bb0907dbbd6f67a6e23bd1187e501834f71 + languageName: node + linkType: hard + +"onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: ^2.1.0 + checksum: 2478859ef817fc5d4e9c2f9e5728512ddd1dbc9fb7829ad263765bb6d3b91ce699d6e2332eef6b7dff183c2f490bd3349f1666427eaba4469fba0ac38dfd0d34 + languageName: node + linkType: hard + +"optionator@npm:^0.8.1": + version: 0.8.2 + resolution: "optionator@npm:0.8.2" + dependencies: + deep-is: ~0.1.3 + fast-levenshtein: ~2.0.4 + levn: ~0.3.0 + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + wordwrap: ~1.0.0 + checksum: c1768ca45afc2a29dc2207c53b1e238d0b6ec701e1fab1d25c4f3319e5d26b0e79fe0cc294390a60958fc9e5b1c1a65e5ef88e6a6e8efcfb6b50cd25e406f7eb + languageName: node + linkType: hard + +"optionator@npm:^0.9.1": + version: 0.9.1 + resolution: "optionator@npm:0.9.1" + dependencies: + 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 + checksum: dbc6fa065604b24ea57d734261914e697bd73b69eff7f18e967e8912aa2a40a19a9f599a507fa805be6c13c24c4eae8c71306c239d517d42d4c041c942f508a0 + languageName: node + linkType: hard + +"p-each-series@npm:^2.1.0": + version: 2.1.0 + resolution: "p-each-series@npm:2.1.0" + checksum: 072f3ac2639ed3df341d1ce4421949be70a27547a45fbd2ee13328a3977e3190120f35a685a350cf491e5632afdc2f0a2cd7af7f81c3318095481434e8464b01 + languageName: node + linkType: hard + +"p-finally@npm:^1.0.0": + version: 1.0.0 + resolution: "p-finally@npm:1.0.0" + checksum: 93a654c53dc805dd5b5891bab16eb0ea46db8f66c4bfd99336ae929323b1af2b70a8b0654f8f1eae924b2b73d037031366d645f1fd18b3d30cbd15950cc4b1d4 + languageName: node + linkType: hard + +"p-limit@npm:^1.1.0": + version: 1.3.0 + resolution: "p-limit@npm:1.3.0" + dependencies: + p-try: ^1.0.0 + checksum: 281c1c0b8c82e1ac9f81acd72a2e35d402bf572e09721ce5520164e9de07d8274451378a3470707179ad13240535558f4b277f02405ad752e08c7d5b0d54fbfd + languageName: node + linkType: hard + +"p-limit@npm:^2.2.0": + version: 2.2.2 + resolution: "p-limit@npm:2.2.2" + dependencies: + p-try: ^2.0.0 + checksum: 20c395084f4bbcb6330c21ed5408a482c7e03bb68fbf9d4667fb0f49de944a7474f788b214ca087090868dfce3f3fff4a4830b0951c8a979469786635b172fb2 + languageName: node + linkType: hard + +"p-locate@npm:^2.0.0": + version: 2.0.0 + resolution: "p-locate@npm:2.0.0" + dependencies: + p-limit: ^1.1.0 + checksum: e2dceb9b49b96d5513d90f715780f6f4972f46987dc32a0e18bc6c3fc74a1a5d73ec5f81b1398af5e58b99ea1ad03fd41e9181c01fa81b4af2833958696e3081 + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: ^2.2.0 + checksum: 513bd14a455f5da4ebfcb819ef706c54adb09097703de6aeaa5d26fe5ea16df92b48d1ac45e01e3944ce1e6aa2a66f7f8894742b8c9d6e276e16cd2049a2b870 + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: ^3.0.0 + checksum: cb0ab21ec0f32ddffd31dfc250e3afa61e103ef43d957cc45497afe37513634589316de4eb88abdfd969fe6410c22c0b93ab24328833b8eb1ccc087fc0442a1c + languageName: node + linkType: hard + +"p-try@npm:^1.0.0": + version: 1.0.0 + resolution: "p-try@npm:1.0.0" + checksum: 3b5303f77eb7722144154288bfd96f799f8ff3e2b2b39330efe38db5dd359e4fb27012464cd85cb0a76e9b7edd1b443568cb3192c22e7cffc34989df0bafd605 + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: f8a8e9a7693659383f06aec604ad5ead237c7a261c18048a6e1b5b85a5f8a067e469aa24f5bc009b991ea3b058a87f5065ef4176793a200d4917349881216cae + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: ^3.0.0 + checksum: 6ba8b255145cae9470cf5551eb74be2d22281587af787a2626683a6c20fbb464978784661478dd2a3f1dad74d1e802d403e1b03c1a31fab310259eec8ac560ff + languageName: node + linkType: hard + +"parse-headers@npm:^2.0.0": + version: 2.0.2 + resolution: "parse-headers@npm:2.0.2" + dependencies: + for-each: ^0.3.3 + string.prototype.trim: ^1.1.2 + checksum: a7049835c55afbf9559b9320445e53c069e17d449572f1743df5b3ee796dea38baf614635481a5dc3b9bff9909da768bbfb0038d254830a6cdc9668eaecbdf11 + languageName: node + linkType: hard + +"parse-json@npm:^2.2.0": + version: 2.2.0 + resolution: "parse-json@npm:2.2.0" + dependencies: + error-ex: ^1.2.0 + checksum: dda78a63e57a47b713a038630868538f718a7ca0cd172a36887b0392ccf544ed0374902eb28f8bf3409e8b71d62b79d17062f8543afccf2745f9b0b2d2bb80ca + languageName: node + linkType: hard + +"parse-json@npm:^5.0.0": + version: 5.1.0 + resolution: "parse-json@npm:5.1.0" + 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 + checksum: 0c0c299347e74b9f5720644abc5a07667e66143114e28b63967468611aad5a4c2216fc990c674f83398cd0c2a176cfd7098f79e279079fcc487dfd5f9b475517 + languageName: node + linkType: hard + +"parse5@npm:5.1.0": + version: 5.1.0 + resolution: "parse5@npm:5.1.0" + checksum: 13c44c6d47035a3cc75303655ae5630dc264f9b9ab8344feb3f79ca195d8b57a2a246af902abef1d780ad1eee92eb9b88cd03098a7ee7dd111f032152ebaf0a6 + languageName: node + linkType: hard + +"parse5@npm:5.1.1": + version: 5.1.1 + resolution: "parse5@npm:5.1.1" + checksum: 613a714af4c1101d1cb9f7cece2558e35b9ae8a0c03518223a4a1e35494624d9a9ad5fad4c13eab66a0e0adccd9aa3d522fc8f5f9cc19789e0579f3fa0bdfc65 + languageName: node + linkType: hard + +"pascalcase@npm:^0.1.1": + version: 0.1.1 + resolution: "pascalcase@npm:0.1.1" + checksum: f83681c3c8ff75fa473a2bb2b113289952f802ff895d435edd717e7cb898b0408cbdb247117a938edcbc5d141020909846cc2b92c47213d764e2a94d2ad2b925 + languageName: node + linkType: hard + +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 96e92643aa34b4b28d0de1cd2eba52a1c5313a90c6542d03f62750d82480e20bfa62bc865d5cfc6165f5fcd5aeb0851043c40a39be5989646f223300021bae0a + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 505807199dfb7c50737b057dd8d351b82c033029ab94cb10a657609e00c1bc53b951cfdbccab8de04c5584d5eff31128ce6afd3db79281874a5ef2adbba55ed1 + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8 + languageName: node + linkType: hard + +"path-key@npm:^2.0.0, path-key@npm:^2.0.1": + version: 2.0.1 + resolution: "path-key@npm:2.0.1" + checksum: f7ab0ad42fe3fb8c7f11d0c4f849871e28fbd8e1add65c370e422512fc5887097b9cf34d09c1747d45c942a8c1e26468d6356e2df3f740bf177ab8ca7301ebfd + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.6": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a + languageName: node + linkType: hard + +"path-to-regexp@npm:^1.7.0": + version: 1.7.0 + resolution: "path-to-regexp@npm:1.7.0" + dependencies: + isarray: 0.0.1 + checksum: bf5054aa006508b4f9fa9603f091ce90cb448f5a2714ce8b5dfefce761f107ca3a029401c28bf5824e4f38b71a605b3c24bd92e8a284c6436ab3060a497dd7ad + languageName: node + linkType: hard + +"path-type@npm:^2.0.0": + version: 2.0.0 + resolution: "path-type@npm:2.0.0" + dependencies: + pify: ^2.0.0 + checksum: 749dc0c32d4ebe409da155a0022f9be3d08e6fd276adb3dfa27cb2486519ab2aa277d1453b3fde050831e0787e07b0885a75653fefcc82d883753c5b91121b1c + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 5b1e2daa247062061325b8fdbfd1fb56dde0a448fb1455453276ea18c60685bdad23a445dc148cf87bc216be1573357509b7d4060494a6fd768c7efad833ee45 + languageName: node + linkType: hard + +"pbkdf2@npm:^3.0.17": + version: 3.1.1 + resolution: "pbkdf2@npm:3.1.1" + dependencies: + create-hash: ^1.1.2 + create-hmac: ^1.1.4 + ripemd160: ^2.0.1 + safe-buffer: ^5.0.1 + sha.js: ^2.4.8 + checksum: c3de26b8eb363180687e31138e1a486c509d407f361ae222e0af4748d9a252326e14e8f3311182945dbc27e7f235b49fb7a578ad340302a83481585bbd3947d3 + languageName: node + linkType: hard + +"pbkdf2@npm:^3.0.9": + version: 3.0.17 + resolution: "pbkdf2@npm:3.0.17" + dependencies: + create-hash: ^1.1.2 + create-hmac: ^1.1.4 + ripemd160: ^2.0.1 + safe-buffer: ^5.0.1 + sha.js: ^2.4.8 + checksum: 9c9062b4bf300bfc03214a8665ab1c8ede227fca1d5bd8b8d0a9d317a941ff64c80b19810288a8cc0f774d603dce249d4b734e62b68dfc784be4ad1e6c0a81f5 + languageName: node + linkType: hard + +"performance-now@npm:^2.1.0": + version: 2.1.0 + resolution: "performance-now@npm:2.1.0" + checksum: 534e641aa8f7cba160f0afec0599b6cecefbb516a2e837b512be0adbe6c1da5550e89c78059c7fabc5c9ffdf6627edabe23eb7c518c4500067a898fa65c2b550 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.0.5": + version: 2.2.1 + resolution: "picomatch@npm:2.2.1" + checksum: fb9e0cc869f6eca88c80b3cd8b5a990418bc65d0fd172f169891d249224d302529ded35265d9c3e0454fde578d7e1756047ddb135cad3fade73b75151774663a + languageName: node + linkType: hard + +"picomatch@npm:^2.2.1": + version: 2.2.2 + resolution: "picomatch@npm:2.2.2" + checksum: 897a589f94665b4fd93e075fa94893936afe3f7bbef44250f0e878a8d9d001972a79589cac2856c24f6f5aa3b0abc9c8ba00c98fae4dc22bc0117188864d4181 + languageName: node + linkType: hard + +"picomatch@npm:^2.2.3": + version: 2.3.0 + resolution: "picomatch@npm:2.3.0" + checksum: 16818720ea7c5872b6af110760dee856c8e4cd79aed1c7a006d076b1cc09eff3ae41ca5019966694c33fbd2e1cc6ea617ab10e4adac6df06556168f13be3fca2 + languageName: node + linkType: hard + +"pify@npm:^2.0.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba + languageName: node + linkType: hard + +"pify@npm:^3.0.0": + version: 3.0.0 + resolution: "pify@npm:3.0.0" + checksum: 6cdcbc3567d5c412450c53261a3f10991665d660961e06605decf4544a61a97a54fefe70a68d5c37080ff9d6f4cf51444c90198d1ba9f9309a6c0d6e9f5c4fde + languageName: node + linkType: hard + +"pify@npm:^5.0.0": + version: 5.0.0 + resolution: "pify@npm:5.0.0" + checksum: 443e3e198ad6bfa8c0c533764cf75c9d5bc976387a163792fb553ffe6ce923887cf14eebf5aea9b7caa8eab930da8c33612990ae85bd8c2bc18bedb9eae94ecb + languageName: node + linkType: hard + +"pirates@npm:^4.0.1": + version: 4.0.1 + resolution: "pirates@npm:4.0.1" + dependencies: + node-modules-regexp: ^1.0.0 + checksum: 091e232aac19f0049a681838fa9fcb4af824b5b1eb0e9325aa07b9d13245bfe3e4fa57a7766b9fdcd19cb89f2c15c688b46023be3047cb288023a0c079d3b2a3 + languageName: node + linkType: hard + +"pkg-dir@npm:^2.0.0": + version: 2.0.0 + resolution: "pkg-dir@npm:2.0.0" + dependencies: + find-up: ^2.1.0 + checksum: 8c72b712305b51e1108f0ffda5ec1525a8307e54a5855db8fb1dcf77561a5ae98e2ba3b4814c9806a679f76b2f7e5dd98bde18d07e594ddd9fdd25e9cf242ea1 + languageName: node + linkType: hard + +"pkg-dir@npm:^4.2.0": + version: 4.2.0 + resolution: "pkg-dir@npm:4.2.0" + dependencies: + find-up: ^4.0.0 + checksum: 9863e3f35132bf99ae1636d31ff1e1e3501251d480336edb1c211133c8d58906bed80f154a1d723652df1fda91e01c7442c2eeaf9dc83157c7ae89087e43c8d6 + languageName: node + linkType: hard + +"pn@npm:^1.1.0": + version: 1.1.0 + resolution: "pn@npm:1.1.0" + checksum: e4654186dc92a187c8c7fe4ccda902f4d39dd9c10f98d1c5a08ce5fad5507ef1e33ddb091240c3950bee81bd201b4c55098604c433a33b5e8bdd97f38b732fa0 + languageName: node + linkType: hard + +"posix-character-classes@npm:^0.1.0": + version: 0.1.1 + resolution: "posix-character-classes@npm:0.1.1" + checksum: dedb99913c60625a16050cfed2fb5c017648fc075be41ac18474e1c6c3549ef4ada201c8bd9bd006d36827e289c571b6092e1ef6e756cdbab2fd7046b25c6442 + languageName: node + linkType: hard + +"precond@npm:0.2": + version: 0.2.3 + resolution: "precond@npm:0.2.3" + checksum: c613e7d68af3e0b43a294a994bf067cc2bc44b03fd17bc4fb133e30617a4f5b49414b08e9b392d52d7c6822d8a71f66a7fe93a8a1e7d02240177202cff3f63ef + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: cd192ec0d0a8e4c6da3bb80e4f62afe336df3f76271ac6deb0e6a36187133b6073a19e9727a1ff108cd8b9982e4768850d413baa71214dd80c7979617dca827a + languageName: node + linkType: hard + +"prelude-ls@npm:~1.1.2": + version: 1.1.2 + resolution: "prelude-ls@npm:1.1.2" + checksum: c4867c87488e4a0c233e158e4d0d5565b609b105d75e4c05dc760840475f06b731332eb93cc8c9cecb840aa8ec323ca3c9a56ad7820ad2e63f0261dadcb154e4 + languageName: node + linkType: hard + +"prettier-linter-helpers@npm:^1.0.0": + version: 1.0.0 + resolution: "prettier-linter-helpers@npm:1.0.0" + dependencies: + fast-diff: ^1.1.2 + checksum: 00ce8011cf6430158d27f9c92cfea0a7699405633f7f1d4a45f07e21bf78e99895911cbcdc3853db3a824201a7c745bd49bfea8abd5fb9883e765a90f74f8392 + languageName: node + linkType: hard + +"prettier-plugin-packagejson@npm:^2.2.17": + version: 2.2.17 + resolution: "prettier-plugin-packagejson@npm:2.2.17" + dependencies: + sort-package-json: 1.55.0 + peerDependencies: + prettier: ">= 1.16.0" + checksum: f8a3a2c53ec1df684c21a7e1177a48d5e8f11e0a055abc281551e32b4edfcb11544c4c30004ea49ef127eb382a7d4447fff74df8519074a1fbfb543d453b67cb + languageName: node + linkType: hard + +"prettier@npm:^2.6.2": + version: 2.6.2 + resolution: "prettier@npm:2.6.2" + bin: + prettier: bin-prettier.js + checksum: 48d08dde8e9fb1f5bccdd205baa7f192e9fc8bc98f86e1b97d919de804e28c806b0e6cc685e4a88211aa7987fa9668f30baae19580d87ced3ed0f2ec6572106f + languageName: node + linkType: hard + +"pretty-format@npm:^25.2.1, pretty-format@npm:^25.5.0": + version: 25.5.0 + resolution: "pretty-format@npm:25.5.0" + dependencies: + "@jest/types": ^25.5.0 + ansi-regex: ^5.0.0 + ansi-styles: ^4.0.0 + react-is: ^16.12.0 + checksum: 76f022d2c911d9733a961467545f5aef2cae892da289fff92ba6a6868a10df4d8ef79794ff791e353f67f0edfa85765240f1e7d552e27c94029ae6af1c95174b + languageName: node + linkType: hard + +"pretty-format@npm:^26.0.0, pretty-format@npm:^26.6.2": + version: 26.6.2 + resolution: "pretty-format@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + ansi-regex: ^5.0.0 + ansi-styles: ^4.0.0 + react-is: ^17.0.1 + checksum: e3b808404d7e1519f0df1aa1f25cee0054ab475775c6b2b8c5568ff23194a92d54bf93274139b6f584ca70fd773be4eaa754b0e03f12bb0a8d1426b07f079976 + languageName: node + linkType: hard + +"pretty-format@npm:^26.4.2": + version: 26.4.2 + resolution: "pretty-format@npm:26.4.2" + dependencies: + "@jest/types": ^26.3.0 + ansi-regex: ^5.0.0 + ansi-styles: ^4.0.0 + react-is: ^16.12.0 + checksum: 37908b0cc9e04133f3c76bdf75e15cd5e2541d49f682edfd64b838d3f24d5966bea15f5a47fbf8104472041cb5a98941653890780c596cdfac19531d904710c1 + languageName: node + linkType: hard + +"pretty-format@npm:^27.0.0, pretty-format@npm:^27.3.1": + version: 27.3.1 + resolution: "pretty-format@npm:27.3.1" + dependencies: + "@jest/types": ^27.2.5 + ansi-regex: ^5.0.1 + ansi-styles: ^5.0.0 + react-is: ^17.0.1 + checksum: 2979eae85a4f7ba1c3946faa8f5c6497cc80dc64ba499ccd5fdada267f82dc664f315a4c1cdd4c0b4b97edbae399a7bf0a957cc1b87feb91cd95f1e436834fed + languageName: node + linkType: hard + +"printj@npm:~1.1.0": + version: 1.1.2 + resolution: "printj@npm:1.1.2" + bin: + printj: ./bin/printj.njs + checksum: 1c0c66844545415e339356ad62009cdc467819817b1e0341aba428087a1414d46b84089edb4e77ef24705829f8aae6349724b9c7bd89d8690302b2de7a89b315 + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 1d38588e520dab7cea67cbbe2efdd86a10cc7a074c09657635e34f035277b59fbb57d09d8638346bf7090f8e8ebc070c96fa5fd183b777fff4f5edff5e9466cf + languageName: node + linkType: hard + +"process@npm:~0.5.1": + version: 0.5.2 + resolution: "process@npm:0.5.2" + checksum: 613505ec6d518654fc9c677881c6b8c871179dbf4bfe23f5a7a15defdb58efb1b75bfc96576adc118ba0bca1b76c359687a13f7d43950af0b7d5caa27efbe9e3 + languageName: node + linkType: hard + +"progress@npm:^2.0.0": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: f67403fe7b34912148d9252cb7481266a354bd99ce82c835f79070643bb3c6583d10dbcfda4d41e04bbc1d8437e9af0fb1e1f2135727878f5308682a579429b7 + languageName: node + linkType: hard + +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: 22749483091d2c594261517f4f80e05226d4d5ecc1fc917e1886929da56e22b5718b7f2a75f3807e7a7d471bc3be2907fe92e6e8f373ddf5c64bae35b5af3981 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: ^2.0.2 + retry: ^0.12.0 + checksum: f96a3f6d90b92b568a26f71e966cbbc0f63ab85ea6ff6c81284dc869b41510e6cdef99b6b65f9030f0db422bf7c96652a3fff9f2e8fb4a0f069d8f4430359429 + languageName: node + linkType: hard + +"promise-to-callback@npm:^1.0.0": + version: 1.0.0 + resolution: "promise-to-callback@npm:1.0.0" + dependencies: + is-fn: ^1.0.0 + set-immediate-shim: ^1.0.1 + checksum: 8c9e1327386e00f799589cdf96fff2586a13b52b0185222bc3199e1305ba9344589eedfd4038dcbaf5592d85d567097d1507b81e948b7fff6ffdd3de49d54e14 + languageName: node + linkType: hard + +"prompts@npm:^2.0.1": + version: 2.2.1 + resolution: "prompts@npm:2.2.1" + dependencies: + kleur: ^3.0.3 + sisteransi: ^1.0.3 + checksum: 6aba2fc2fa21bb81feeb55129977e2461169b41ee46861792a14fac852b4541fbd4a1c0682d2fd41d05981731a0a662ff494a666aa6aa0e92df681b311d95a0a + languageName: node + linkType: hard + +"propagate@npm:^2.0.0": + version: 2.0.1 + resolution: "propagate@npm:2.0.1" + checksum: c4febaee2be0979e82fb6b3727878fd122a98d64a7fa3c9d09b0576751b88514a9e9275b1b92e76b364d488f508e223bd7e1dcdc616be4cdda876072fbc2a96c + languageName: node + linkType: hard + +"prr@npm:~1.0.1": + version: 1.0.1 + resolution: "prr@npm:1.0.1" + checksum: 3bca2db0479fd38f8c4c9439139b0c42dcaadcc2fbb7bb8e0e6afaa1383457f1d19aea9e5f961d5b080f1cfc05bfa1fe9e45c97a1d3fd6d421950a73d3108381 + languageName: node + linkType: hard + +"psl@npm:^1.1.24": + version: 1.3.0 + resolution: "psl@npm:1.3.0" + checksum: d67aad420a40e4f657cfbfe4f6d032c0cb06597698e956118ff57d180a7af1f3178700fdf620d6c3f928563575ef8cbd22fb5b2de0f17960a5f1eee1f8f2713c + languageName: node + linkType: hard + +"psl@npm:^1.1.28": + version: 1.7.0 + resolution: "psl@npm:1.7.0" + checksum: b2fcfe8500fd31845250a6714ec5e1d8ad66a95207700b5f4ba40b5c0ece15091ce7882cbcd5ac5c0022e178c5fd12a891423ebdd54c5e97cc783821945ae4a4 + languageName: node + linkType: hard + +"pump@npm:^3.0.0": + version: 3.0.0 + resolution: "pump@npm:3.0.0" + dependencies: + end-of-stream: ^1.1.0 + once: ^1.3.1 + checksum: e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 + languageName: node + linkType: hard + +"punycode@npm:2.1.0": + version: 2.1.0 + resolution: "punycode@npm:2.1.0" + checksum: d125d8f86cd89303c33bad829388c49ca23197e16ccf8cd398dcbd81b026978f6543f5066c66825b25b1dfea7790a42edbeea82908e103474931789714ab86cd + languageName: node + linkType: hard + +"punycode@npm:^1.4.1": + version: 1.4.1 + resolution: "punycode@npm:1.4.1" + checksum: fa6e698cb53db45e4628559e557ddaf554103d2a96a1d62892c8f4032cd3bc8871796cae9eabc1bc700e2b6677611521ce5bb1d9a27700086039965d0cf34518 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0, punycode@npm:^2.1.1": + version: 2.1.1 + resolution: "punycode@npm:2.1.1" + checksum: 823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8 + languageName: node + linkType: hard + +"qs@npm:~6.5.2": + version: 6.5.2 + resolution: "qs@npm:6.5.2" + checksum: 24af7b9928ba2141233fba2912876ff100403dba1b08b20c3b490da9ea6c636760445ea2211a079e7dfa882a5cf8f738337b3748c8bdd0f93358fa8881d2db8f + languageName: node + linkType: hard + +"randombytes@npm:^2.0.1, randombytes@npm:^2.0.6, randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: ^5.1.0 + checksum: d779499376bd4cbb435ef3ab9a957006c8682f343f14089ed5f27764e4645114196e75b7f6abf1cbd84fd247c0cb0651698444df8c9bf30e62120fbbc52269d6 + languageName: node + linkType: hard + +"react-is@npm:^16.12.0": + version: 16.13.0 + resolution: "react-is@npm:16.13.0" + checksum: 9da7d02ebeb5f2bedb781db5427097dbff9a23d7800b06f0a788bd557a47cd863ebf80de21348207edb66d7667c1adbd65a434e81a3b84c3fdae2597bb697ac5 + languageName: node + linkType: hard + +"react-is@npm:^17.0.1": + version: 17.0.2 + resolution: "react-is@npm:17.0.2" + checksum: 9d6d111d8990dc98bc5402c1266a808b0459b5d54830bbea24c12d908b536df7883f268a7868cfaedde3dd9d4e0d574db456f84d2e6df9c4526f99bb4b5344d8 + languageName: node + linkType: hard + +"read-package-json-fast@npm:^2.0.1": + version: 2.0.2 + resolution: "read-package-json-fast@npm:2.0.2" + dependencies: + json-parse-even-better-errors: ^2.3.0 + npm-normalize-package-bin: ^1.0.1 + checksum: 81a45b0bdbb33b98c98486d77e14e3defb5177b1c43523598c9f8ee3c7020935a1b06fb376b7c05be313a1b0987c2da0c7522904d931daa7f5abf2a25e5d4a07 + languageName: node + linkType: hard + +"read-pkg-up@npm:^2.0.0": + version: 2.0.0 + resolution: "read-pkg-up@npm:2.0.0" + dependencies: + find-up: ^2.0.0 + read-pkg: ^2.0.0 + checksum: 22f9026fb72219ecd165f94f589461c70a88461dc7ea0d439a310ef2a5271ff176a4df4e5edfad087d8ac89b8553945eb209476b671e8ed081c990f30fc40b27 + languageName: node + linkType: hard + +"read-pkg-up@npm:^7.0.1": + version: 7.0.1 + resolution: "read-pkg-up@npm:7.0.1" + dependencies: + find-up: ^4.1.0 + read-pkg: ^5.2.0 + type-fest: ^0.8.1 + checksum: e4e93ce70e5905b490ca8f883eb9e48b5d3cebc6cd4527c25a0d8f3ae2903bd4121c5ab9c5a3e217ada0141098eeb661313c86fa008524b089b8ed0b7f165e44 + languageName: node + linkType: hard + +"read-pkg@npm:^2.0.0": + version: 2.0.0 + resolution: "read-pkg@npm:2.0.0" + dependencies: + load-json-file: ^2.0.0 + normalize-package-data: ^2.3.2 + path-type: ^2.0.0 + checksum: 85c5bf35f2d96acdd756151ba83251831bb2b1040b7d96adce70b2cb119b5320417f34876de0929f2d06c67f3df33ef4636427df3533913876f9ef2487a6f48f + languageName: node + linkType: hard + +"read-pkg@npm:^5.2.0": + version: 5.2.0 + resolution: "read-pkg@npm:5.2.0" + dependencies: + "@types/normalize-package-data": ^2.4.0 + normalize-package-data: ^2.5.0 + parse-json: ^5.0.0 + type-fest: ^0.6.0 + checksum: eb696e60528b29aebe10e499ba93f44991908c57d70f2d26f369e46b8b9afc208ef11b4ba64f67630f31df8b6872129e0a8933c8c53b7b4daf0eace536901222 + languageName: node + linkType: hard + +"readable-stream@npm:^1.0.33": + version: 1.1.14 + resolution: "readable-stream@npm:1.1.14" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.1 + isarray: 0.0.1 + string_decoder: ~0.10.x + checksum: 17dfeae3e909945a4a1abc5613ea92d03269ef54c49288599507fc98ff4615988a1c39a999dcf9aacba70233d9b7040bc11a5f2bfc947e262dedcc0a8b32b5a0 + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.0, readable-stream@npm:^2.2.2, readable-stream@npm:^2.2.9, readable-stream@npm:~2.3.6": + version: 2.3.6 + resolution: "readable-stream@npm:2.3.6" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.3 + isarray: ~1.0.0 + process-nextick-args: ~2.0.0 + safe-buffer: ~5.1.1 + string_decoder: ~1.1.1 + util-deprecate: ~1.0.1 + checksum: 686bbf9e2300cd24bbd71ba8999202613ef19441da9223bfe2c7da4f0dfab233302e2604846e9b8e814664ccdf365881e593da963ac9e2120abfa21f14f257fb + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.6": + version: 2.3.7 + resolution: "readable-stream@npm:2.3.7" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.3 + isarray: ~1.0.0 + process-nextick-args: ~2.0.0 + safe-buffer: ~5.1.1 + string_decoder: ~1.1.1 + util-deprecate: ~1.0.1 + checksum: e4920cf7549a60f8aaf694d483a0e61b2a878b969d224f89b3bc788b8d920075132c4b55a7494ee944c7b6a9a0eada28a7f6220d80b0312ece70bbf08eeca755 + languageName: node + linkType: hard + +"readable-stream@npm:^3.6.0": + version: 3.6.0 + resolution: "readable-stream@npm:3.6.0" + dependencies: + inherits: ^2.0.3 + string_decoder: ^1.1.1 + util-deprecate: ^1.0.1 + checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 + languageName: node + linkType: hard + +"readable-stream@npm:~1.0.15": + version: 1.0.34 + resolution: "readable-stream@npm:1.0.34" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.1 + isarray: 0.0.1 + string_decoder: ~0.10.x + checksum: 85042c537e4f067daa1448a7e257a201070bfec3dd2706abdbd8ebc7f3418eb4d3ed4b8e5af63e2544d69f88ab09c28d5da3c0b77dc76185fddd189a59863b60 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.11.0": + version: 0.11.1 + resolution: "regenerator-runtime@npm:0.11.1" + checksum: 3c97bd2c7b2b3247e6f8e2147a002eb78c995323732dad5dc70fac8d8d0b758d0295e7015b90d3d444446ae77cbd24b9f9123ec3a77018e81d8999818301b4f4 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.13.2": + version: 0.13.3 + resolution: "regenerator-runtime@npm:0.13.3" + checksum: 3d3dd091db39e9d7d1eedec811d8272f1a9b0d52ca047a800ffe9b90e289b002ca3d84bcb09fa849f41c4e8e8178ec246b0fb5f9f999a64cd7247986ea02d3bd + languageName: node + linkType: hard + +"regex-not@npm:^1.0.0, regex-not@npm:^1.0.2": + version: 1.0.2 + resolution: "regex-not@npm:1.0.2" + dependencies: + extend-shallow: ^3.0.2 + safe-regex: ^1.1.0 + checksum: 3081403de79559387a35ef9d033740e41818a559512668cef3d12da4e8a29ef34ee13c8ed1256b07e27ae392790172e8a15c8a06b72962fd4550476cde3d8f77 + languageName: node + linkType: hard + +"regexpp@npm:^3.0.0, regexpp@npm:^3.1.0": + version: 3.1.0 + resolution: "regexpp@npm:3.1.0" + checksum: 63bcb2c98d63274774c79bef256e03f716d25f1fa8427267d0302d1436a83fa0d905f4e8a172fdfa99fb4d84833df2fb3bf7da2a1a868f156e913174c32b1139 + languageName: node + linkType: hard + +"regextras@npm:^0.8.0": + version: 0.8.0 + resolution: "regextras@npm:0.8.0" + checksum: b7ec5b32a2b98b4b27048d44f8ab90009873c1307f2cf89321aa8c4cbb8147f1bee07863f4dadf585546ca0b91a234ad9804954dea5fc029421f6c25a4523798 + languageName: node + linkType: hard + +"remove-trailing-separator@npm:^1.0.1": + version: 1.1.0 + resolution: "remove-trailing-separator@npm:1.1.0" + checksum: d3c20b5a2d987db13e1cca9385d56ecfa1641bae143b620835ac02a6b70ab88f68f117a0021838db826c57b31373d609d52e4f31aca75fc490c862732d595419 + languageName: node + linkType: hard + +"repeat-element@npm:^1.1.2": + version: 1.1.3 + resolution: "repeat-element@npm:1.1.3" + checksum: 0743a136b484117016ad587577ede60a3ffe604b74e57bd5d7d0aa041fe2f1c956e6b2f3ff83c86f4db9fac022c3fa2da8e58b9d3618b8b4cb1c3d041bcc422f + languageName: node + linkType: hard + +"repeat-string@npm:^1.6.1": + version: 1.6.1 + resolution: "repeat-string@npm:1.6.1" + checksum: 1b809fc6db97decdc68f5b12c4d1a671c8e3f65ec4a40c238bc5200e44e85bcc52a54f78268ab9c29fcf5fe4f1343e805420056d1f30fa9a9ee4c2d93e3cc6c0 + languageName: node + linkType: hard + +"request-promise-core@npm:1.1.4": + version: 1.1.4 + resolution: "request-promise-core@npm:1.1.4" + dependencies: + lodash: ^4.17.19 + peerDependencies: + request: ^2.34 + checksum: c798bafd552961e36fbf5023b1d081e81c3995ab390f1bc8ef38a711ba3fe4312eb94dbd61887073d7356c3499b9380947d7f62faa805797c0dc50f039425699 + languageName: node + linkType: hard + +"request-promise-native@npm:^1.0.7, request-promise-native@npm:^1.0.8": + version: 1.0.9 + resolution: "request-promise-native@npm:1.0.9" + dependencies: + request-promise-core: 1.1.4 + stealthy-require: ^1.1.1 + tough-cookie: ^2.3.3 + peerDependencies: + request: ^2.34 + checksum: 3e2c694eefac88cb20beef8911ad57a275ab3ccbae0c4ca6c679fffb09d5fd502458aab08791f0814ca914b157adab2d4e472597c97a73be702918e41725ed69 + languageName: node + linkType: hard + +"request@npm:^2.85.0": + version: 2.88.0 + resolution: "request@npm:2.88.0" + dependencies: + aws-sign2: ~0.7.0 + aws4: ^1.8.0 + caseless: ~0.12.0 + combined-stream: ~1.0.6 + extend: ~3.0.2 + forever-agent: ~0.6.1 + form-data: ~2.3.2 + har-validator: ~5.1.0 + http-signature: ~1.2.0 + is-typedarray: ~1.0.0 + isstream: ~0.1.2 + json-stringify-safe: ~5.0.1 + mime-types: ~2.1.19 + oauth-sign: ~0.9.0 + performance-now: ^2.1.0 + qs: ~6.5.2 + safe-buffer: ^5.1.2 + tough-cookie: ~2.4.3 + tunnel-agent: ^0.6.0 + uuid: ^3.3.2 + checksum: aecf4f8cdb0ebd5feac5e29b748d6ab376ac5717ddcbc5a6bb24cc3808bde755ff0fa3a8379a2d25f6c4b969ced1ac065d22a615c71747cd305731efa643e30d + languageName: node + linkType: hard + +"request@npm:^2.88.0, request@npm:^2.88.2": + version: 2.88.2 + resolution: "request@npm:2.88.2" + dependencies: + aws-sign2: ~0.7.0 + aws4: ^1.8.0 + caseless: ~0.12.0 + combined-stream: ~1.0.6 + extend: ~3.0.2 + forever-agent: ~0.6.1 + form-data: ~2.3.2 + har-validator: ~5.1.3 + http-signature: ~1.2.0 + is-typedarray: ~1.0.0 + isstream: ~0.1.2 + json-stringify-safe: ~5.0.1 + mime-types: ~2.1.19 + oauth-sign: ~0.9.0 + performance-now: ^2.1.0 + qs: ~6.5.2 + safe-buffer: ^5.1.2 + tough-cookie: ~2.5.0 + tunnel-agent: ^0.6.0 + uuid: ^3.3.2 + checksum: 4e112c087f6eabe7327869da2417e9d28fcd0910419edd2eb17b6acfc4bfa1dad61954525949c228705805882d8a98a86a0ea12d7f739c01ee92af7062996983 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: fb47e70bf0001fdeabdc0429d431863e9475e7e43ea5f94ad86503d918423c1543361cc5166d713eaa7029dd7a3d34775af04764bebff99ef413111a5af18c80 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b + languageName: node + linkType: hard + +"require-main-filename@npm:^2.0.0": + version: 2.0.0 + resolution: "require-main-filename@npm:2.0.0" + checksum: e9e294695fea08b076457e9ddff854e81bffbe248ed34c1eec348b7abbd22a0d02e8d75506559e2265e96978f3c4720bd77a6dad84755de8162b357eb6c778c7 + languageName: node + linkType: hard + +"resolve-cwd@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-cwd@npm:3.0.0" + dependencies: + resolve-from: ^5.0.0 + checksum: 546e0816012d65778e580ad62b29e975a642989108d9a3c5beabfb2304192fa3c9f9146fbdfe213563c6ff51975ae41bac1d3c6e047dd9572c94863a057b4d81 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: f4ba0b8494846a5066328ad33ef8ac173801a51739eb4d63408c847da9a2e1c1de1e6cbbf72699211f3d13f8fc1325648b169bd15eb7da35688e30a5fb0e4a7f + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 4ceeb9113e1b1372d0cd969f3468fa042daa1dd9527b1b6bb88acb6ab55d8b9cd65dbf18819f9f9ddf0db804990901dcdaade80a215e7b2c23daae38e64f5bdf + languageName: node + linkType: hard + +"resolve-url@npm:^0.2.1": + version: 0.2.1 + resolution: "resolve-url@npm:0.2.1" + checksum: 7b7035b9ed6e7bc7d289e90aef1eab5a43834539695dac6416ca6e91f1a94132ae4796bbd173cdacfdc2ade90b5f38a3fb6186bebc1b221cd157777a23b9ad14 + languageName: node + linkType: hard + +"resolve@npm:^1.10.0, resolve@npm:^1.13.1, resolve@npm:^1.17.0": + version: 1.17.0 + resolution: "resolve@npm:1.17.0" + dependencies: + path-parse: ^1.0.6 + checksum: 9ceaf83b3429f2d7ff5d0281b8d8f18a1f05b6ca86efea7633e76b8f76547f33800799dfdd24434942dec4fbd9e651ed3aef577d9a6b5ec87ad89c1060e24759 + languageName: node + linkType: hard + +"resolve@npm:^1.10.1": + version: 1.19.0 + resolution: "resolve@npm:1.19.0" + dependencies: + is-core-module: ^2.1.0 + path-parse: ^1.0.6 + checksum: a05b356e47b85ad3613d9e2a39a824f3c27f4fcad9c9ff6c7cc71a2e314c5904a90ab37481ad0069d03cab9eaaac6eb68aca1bc3355fdb05f1045cd50e2aacea + languageName: node + linkType: hard + +"resolve@npm:^1.20.0": + version: 1.20.0 + resolution: "resolve@npm:1.20.0" + dependencies: + is-core-module: ^2.2.0 + path-parse: ^1.0.6 + checksum: 40cf70b2cde00ef57f99daf2dc63c6a56d6c14a1b7fc51735d06a6f0a3b97cb67b4fb7ef6c747b4e13a7baba83b0ef625d7c4ce92a483cd5af923c3b65fd16fe + languageName: node + linkType: hard + +"resolve@npm:^1.3.2, resolve@npm:^1.8.1": + version: 1.12.0 + resolution: "resolve@npm:1.12.0" + dependencies: + path-parse: ^1.0.6 + checksum: 16582239c4b10b733bbc343b7d80b3438f59566c28d66741d9a92dbcc83a90d847b010ece58b006a5538b2fd23847ff91eb46ee9fccdf236b15b3152461434f4 + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.13.1#~builtin, resolve@patch:resolve@^1.17.0#~builtin": + version: 1.17.0 + resolution: "resolve@patch:resolve@npm%3A1.17.0#~builtin::version=1.17.0&hash=07638b" + dependencies: + path-parse: ^1.0.6 + checksum: 6fd799f282ddf078c4bc20ce863e3af01fa8cb218f0658d9162c57161a2dbafe092b13015b9a4c58d0e1e801cf7aa7a4f13115fea9db98c3f9a0c43e429bad6f + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.10.1#~builtin": + version: 1.19.0 + resolution: "resolve@patch:resolve@npm%3A1.19.0#~builtin::version=1.19.0&hash=07638b" + dependencies: + is-core-module: ^2.1.0 + path-parse: ^1.0.6 + checksum: 2443b94d347e6946c87c85faf13071f605e609e0b54784829b0ed2b917d050bfc1cbaf4ecc6453f224cfa7d0c5dcd97cbb273454cd210bee68e4af15c1a5abc9 + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.20.0#~builtin": + version: 1.20.0 + resolution: "resolve@patch:resolve@npm%3A1.20.0#~builtin::version=1.20.0&hash=07638b" + dependencies: + is-core-module: ^2.2.0 + path-parse: ^1.0.6 + checksum: a0dd7d16a8e47af23afa9386df2dff10e3e0debb2c7299a42e581d9d9b04d7ad5d2c53f24f1e043f7b3c250cbdc71150063e53d0b6559683d37f790b7c8c3cd5 + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.3.2#~builtin, resolve@patch:resolve@^1.8.1#~builtin": + version: 1.12.0 + resolution: "resolve@patch:resolve@npm%3A1.12.0#~builtin::version=1.12.0&hash=07638b" + dependencies: + path-parse: ^1.0.6 + checksum: 8a532655cc160961463214d2c2522fb4ea8808d13ff15cc48ab9c5193d302782a577c220481055e792fcc3b8a0df039251da903654780d5a7bb364b1f2e6861d + languageName: node + linkType: hard + +"ret@npm:~0.1.10": + version: 0.1.15 + resolution: "ret@npm:0.1.15" + checksum: d76a9159eb8c946586567bd934358dfc08a36367b3257f7a3d7255fdd7b56597235af23c6afa0d7f0254159e8051f93c918809962ebd6df24ca2a83dbe4d4151 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 623bd7d2e5119467ba66202d733ec3c2e2e26568074923bc0585b6b99db14f357e79bdedb63cab56cec47491c4a0da7e6021a7465ca6dc4f481d3898fdd3158c + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: c3076ebcc22a6bc252cb0b9c77561795256c22b757f40c0d8110b1300723f15ec0fc8685e8d4ea6d7666f36c79ccc793b1939c748bf36f18f542744a4e379fcc + languageName: node + linkType: hard + +"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: ^7.1.3 + bin: + rimraf: bin.js + checksum: 87f4164e396f0171b0a3386cc1877a817f572148ee13a7e113b238e48e8a9f2f31d009a92ec38a591ff1567d9662c6b67fd8818a2dbbaed74bc26a87a2a4a9a0 + languageName: node + linkType: hard + +"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1": + version: 2.0.2 + resolution: "ripemd160@npm:2.0.2" + dependencies: + hash-base: ^3.0.0 + inherits: ^2.0.1 + checksum: 006accc40578ee2beae382757c4ce2908a826b27e2b079efdcd2959ee544ddf210b7b5d7d5e80467807604244e7388427330f5c6d4cd61e6edaddc5773ccc393 + languageName: node + linkType: hard + +"rlp@npm:^2.0.0": + version: 2.2.3 + resolution: "rlp@npm:2.2.3" + dependencies: + bn.js: ^4.11.1 + safe-buffer: ^5.1.1 + bin: + rlp: ./bin/rlp + checksum: 2c61ca5bcacd355346f560ecf77225c63bf21df87a76d49101368c54270d3bc21b3329d8d923bfbaf871c2d980ee433be75871abc0c6519324771ce56d72d591 + languageName: node + linkType: hard + +"rlp@npm:^2.2.3, rlp@npm:^2.2.6": + version: 2.2.7 + resolution: "rlp@npm:2.2.7" + dependencies: + bn.js: ^5.2.0 + bin: + rlp: bin/rlp + checksum: 3db4dfe5c793f40ac7e0be689a1f75d05e6f2ca0c66189aeb62adab8c436b857ab4420a419251ee60370d41d957a55698fc5e23ab1e1b41715f33217bc4bb558 + languageName: node + linkType: hard + +"rlp@npm:^2.2.4": + version: 2.2.6 + resolution: "rlp@npm:2.2.6" + dependencies: + bn.js: ^4.11.1 + bin: + rlp: bin/rlp + checksum: 2601225df0fe7aa3b497b33a12fd9fbaf8fb1d2989ecc5c091918ed93ee77d1c3fab20ddd3891a9ca66a8ba66d993e6079be6fb31f450fcf38ba30873102ca46 + languageName: node + linkType: hard + +"rsvp@npm:^4.8.4": + version: 4.8.5 + resolution: "rsvp@npm:4.8.5" + checksum: 2d8ef30d8febdf05bdf856ccca38001ae3647e41835ca196bc1225333f79b94ae44def733121ca549ccc36209c9b689f6586905e2a043873262609744da8efc1 + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.1.10 + resolution: "run-parallel@npm:1.1.10" + checksum: 360996d8b7abe586320a01a42093df2edf41699bbb0d493a4191ec52dda4354d0b25954e0608162d3bb304faa5f73a194f85d6d0d4c016154b2a8132f757fa98 + languageName: node + linkType: hard + +"rustbn.js@npm:~0.2.0": + version: 0.2.0 + resolution: "rustbn.js@npm:0.2.0" + checksum: 2148e7ba34e70682907ee29df4784639e6eb025481b2c91249403b7ec57181980161868d9aa24822a5075dd1bb5a180dfedc77309e5f0d27b6301f9b563af99a + languageName: node + linkType: hard + +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1": + version: 5.2.0 + resolution: "safe-buffer@npm:5.2.0" + checksum: 91d50127aeaee9b8cb1ee12c810d719e29813d1ab1ce6d1b4704cd9ca0e0bfa47455e02cf1bb238be90f2db764447f058fbaef1a1018ae8387c692615d72f86c + languageName: node + linkType: hard + +"safe-buffer@npm:^5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c + languageName: node + linkType: hard + +"safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 + languageName: node + linkType: hard + +"safe-event-emitter@npm:^1.0.1": + version: 1.0.1 + resolution: "safe-event-emitter@npm:1.0.1" + dependencies: + events: ^3.0.0 + checksum: 2a15094bd28b0966571693f219b5a846949ae24f7ba87c6024f0ed552bef63ebe72970a784b85b77b1f03f1c95e78fabe19306d44538dbc4a3a685bed31c18c4 + languageName: node + linkType: hard + +"safe-regex@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex@npm:1.1.0" + dependencies: + ret: ~0.1.10 + checksum: 9a8bba57c87a841f7997b3b951e8e403b1128c1a4fd1182f40cc1a20e2d490593d7c2a21030fadfea320c8e859219019e136f678c6689ed5960b391b822f01d5 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 + languageName: node + linkType: hard + +"sane@npm:^4.0.3": + version: 4.1.0 + resolution: "sane@npm:4.1.0" + dependencies: + "@cnakazawa/watch": ^1.0.3 + anymatch: ^2.0.0 + capture-exit: ^2.0.0 + exec-sh: ^0.3.2 + execa: ^1.0.0 + fb-watchman: ^2.0.0 + micromatch: ^3.1.4 + minimist: ^1.1.1 + walker: ~1.0.5 + bin: + sane: ./src/cli.js + checksum: 97716502d456c0d38670a902a4ea943d196dcdf998d1e40532d8f3e24e25d7eddfd4c3579025a1eee8eac09a48dfd05fba61a2156c56704e7feaa450eb249f7c + languageName: node + linkType: hard + +"saxes@npm:^3.1.9": + version: 3.1.11 + resolution: "saxes@npm:3.1.11" + dependencies: + xmlchars: ^2.1.1 + checksum: 3b69918c013fffae51c561f629a0f620c02dba70f762dab38f3cd92676dfe5edf1f0a523ca567882838f1a80e26e4671a8c2c689afa05c68f45a78261445aba0 + languageName: node + linkType: hard + +"saxes@npm:^5.0.0": + version: 5.0.1 + resolution: "saxes@npm:5.0.1" + dependencies: + xmlchars: ^2.2.0 + checksum: 5636b55cf15f7cf0baa73f2797bf992bdcf75d1b39d82c0aa4608555c774368f6ac321cb641fd5f3d3ceb87805122cd47540da6a7b5960fe0dbdb8f8c263f000 + languageName: node + linkType: hard + +"scrypt-js@npm:3.0.1, scrypt-js@npm:^3.0.0, scrypt-js@npm:^3.0.1": + version: 3.0.1 + resolution: "scrypt-js@npm:3.0.1" + checksum: b7c7d1a68d6ca946f2fbb0778e0c4ec63c65501b54023b2af7d7e9f48fdb6c6580d6f7675cd53bda5944c5ebc057560d5a6365079752546865defb3b79dea454 + languageName: node + linkType: hard + +"secp256k1@npm:^3.0.1": + version: 3.7.1 + resolution: "secp256k1@npm:3.7.1" + dependencies: + bindings: ^1.5.0 + bip66: ^1.1.5 + bn.js: ^4.11.8 + create-hash: ^1.2.0 + drbg.js: ^1.0.1 + elliptic: ^6.4.1 + nan: ^2.14.0 + node-gyp: latest + safe-buffer: ^5.1.2 + checksum: fd3b17157c598296602bbb9d75a42d57a17d38f95035e58b08d3d996e232423a1363449cc4d372cb4219d9df0baefdae8711fa05034e054cf0eb523f2f4f5d05 + languageName: node + linkType: hard + +"secp256k1@npm:^4.0.0": + version: 4.0.3 + resolution: "secp256k1@npm:4.0.3" + dependencies: + elliptic: ^6.5.4 + node-addon-api: ^2.0.0 + node-gyp: latest + node-gyp-build: ^4.2.0 + checksum: 21e219adc0024fbd75021001358780a3cc6ac21273c3fcaef46943af73969729709b03f1df7c012a0baab0830fb9a06ccc6b42f8d50050c665cb98078eab477b + languageName: node + linkType: hard + +"secp256k1@npm:^4.0.1": + version: 4.0.2 + resolution: "secp256k1@npm:4.0.2" + dependencies: + elliptic: ^6.5.2 + node-addon-api: ^2.0.0 + node-gyp: latest + node-gyp-build: ^4.2.0 + checksum: 0d0d42e8033aee5aec5caaaa26d90fcaec4bf5e24dc4652552ddaa60734c2d95e90f7d95697b521fe833363c629d5ff623227961de86686c7a0ed5b5ffc1ebd0 + languageName: node + linkType: hard + +"semaphore@npm:>=1.0.1, semaphore@npm:^1.0.3": + version: 1.1.0 + resolution: "semaphore@npm:1.1.0" + checksum: d2445d232ad9959048d4748ef54eb01bc7b60436be2b42fb7de20c4cffacf70eafeeecd3772c1baf408cfdce3805fa6618a4389590335671f18cde54ef3cfae4 + languageName: node + linkType: hard + +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.4.1, semver@npm:^5.5.0, semver@npm:^5.5.1": + version: 5.7.1 + resolution: "semver@npm:5.7.1" + bin: + semver: ./bin/semver + checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf + languageName: node + linkType: hard + +"semver@npm:7.x, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.5": + version: 7.3.5 + resolution: "semver@npm:7.3.5" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 5eafe6102bea2a7439897c1856362e31cc348ccf96efd455c8b5bc2c61e6f7e7b8250dc26b8828c1d76a56f818a7ee907a36ae9fb37a599d3d24609207001d60 + languageName: node + linkType: hard + +"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.3.0": + version: 6.3.0 + resolution: "semver@npm:6.3.0" + bin: + semver: ./bin/semver.js + checksum: 1b26ecf6db9e8292dd90df4e781d91875c0dcc1b1909e70f5d12959a23c7eebb8f01ea581c00783bbee72ceeaad9505797c381756326073850dc36ed284b21b9 + languageName: node + linkType: hard + +"semver@npm:~5.4.1": + version: 5.4.1 + resolution: "semver@npm:5.4.1" + bin: + semver: ./bin/semver + checksum: d4bf8cc6a95b065a545ab35082b6ac6c5f4ebe1e1c570f72c252afe9b7e622f2479fb2a5cef3e937d8807d37bfdad2d1feebcc8610e06f556e552c22cad070a2 + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0, set-blocking@npm:~2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 + languageName: node + linkType: hard + +"set-immediate-shim@npm:^1.0.1": + version: 1.0.1 + resolution: "set-immediate-shim@npm:1.0.1" + checksum: 5085c84039d1e5eee73d2bf48ce765fcec76159021d0cc7b40e23bcdf62cb6d450ffb781e3c62c1118425242c48eae96df712cba0a20a437e86b0d4a15d51a11 + languageName: node + linkType: hard + +"set-value@npm:^2.0.0, set-value@npm:^2.0.1": + version: 2.0.1 + resolution: "set-value@npm:2.0.1" + dependencies: + extend-shallow: ^2.0.1 + is-extendable: ^0.1.1 + is-plain-object: ^2.0.3 + split-string: ^3.0.1 + checksum: 09a4bc72c94641aeae950eb60dc2755943b863780fcc32e441eda964b64df5e3f50603d5ebdd33394ede722528bd55ed43aae26e9df469b4d32e2292b427b601 + languageName: node + linkType: hard + +"setimmediate@npm:^1.0.5": + version: 1.0.5 + resolution: "setimmediate@npm:1.0.5" + checksum: c9a6f2c5b51a2dabdc0247db9c46460152ffc62ee139f3157440bd48e7c59425093f42719ac1d7931f054f153e2d26cf37dfeb8da17a794a58198a2705e527fd + languageName: node + linkType: hard + +"sha.js@npm:^2.4.0, sha.js@npm:^2.4.11, sha.js@npm:^2.4.8": + version: 2.4.11 + resolution: "sha.js@npm:2.4.11" + dependencies: + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + bin: + sha.js: ./bin.js + checksum: ebd3f59d4b799000699097dadb831c8e3da3eb579144fd7eb7a19484cbcbb7aca3c68ba2bb362242eb09e33217de3b4ea56e4678184c334323eca24a58e3ad07 + languageName: node + linkType: hard + +"sha3@npm:^1.2.2": + version: 1.2.3 + resolution: "sha3@npm:1.2.3" + dependencies: + nan: 2.13.2 + node-gyp: latest + checksum: 089ee3b560b7725527245142a9f7ca2fde52792292076df26bc18c9fc333929b94531a64d67317fcfba6442b8b9ae7a76f25c563c8b19944794629d2e1084acb + languageName: node + linkType: hard + +"shebang-command@npm:^1.2.0": + version: 1.2.0 + resolution: "shebang-command@npm:1.2.0" + dependencies: + shebang-regex: ^1.0.0 + checksum: 9eed1750301e622961ba5d588af2212505e96770ec376a37ab678f965795e995ade7ed44910f5d3d3cb5e10165a1847f52d3348c64e146b8be922f7707958908 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: ^3.0.0 + checksum: 6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa + languageName: node + linkType: hard + +"shebang-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "shebang-regex@npm:1.0.0" + checksum: 404c5a752cd40f94591dfd9346da40a735a05139dac890ffc229afba610854d8799aaa52f87f7e0c94c5007f2c6af55bdcaeb584b56691926c5eaf41dc8f1372 + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222 + languageName: node + linkType: hard + +"shellwords@npm:^0.1.1": + version: 0.1.1 + resolution: "shellwords@npm:0.1.1" + checksum: 8d73a5e9861f5e5f1068e2cfc39bc0002400fe58558ab5e5fa75630d2c3adf44ca1fac81957609c8320d5533e093802fcafc72904bf1a32b95de3c19a0b1c0d4 + languageName: node + linkType: hard + +"shiki@npm:^0.10.1": + version: 0.10.1 + resolution: "shiki@npm:0.10.1" + dependencies: + jsonc-parser: ^3.0.0 + vscode-oniguruma: ^1.6.1 + vscode-textmate: 5.2.0 + checksum: fb746f3cb3de7e545e3b10a6cb658d3938f840e4ccc9a3c90ceb7e69a8f89dbb432171faac1e9f02a03f103684dad88ee5e54b5c4964fa6b579fca6e8e26424d + languageName: node + linkType: hard + +"side-channel@npm:^1.0.4": + version: 1.0.4 + resolution: "side-channel@npm:1.0.4" + dependencies: + call-bind: ^1.0.0 + get-intrinsic: ^1.0.2 + object-inspect: ^1.9.0 + checksum: 351e41b947079c10bd0858364f32bb3a7379514c399edb64ab3dce683933483fc63fb5e4efe0a15a2e8a7e3c436b6a91736ddb8d8c6591b0460a24bb4a1ee245 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2": + version: 3.0.2 + resolution: "signal-exit@npm:3.0.2" + checksum: ccc08b9ad53644154d274ed147bb5e6cd5fd09c81bc6480a93bbe581f9030a599882907f78b305b81214ea725be7c09ed9182b58c675a148a1fe48cd50e43b2b + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.3": + version: 3.0.3 + resolution: "signal-exit@npm:3.0.3" + checksum: f0169d3f1263d06df32ca072b0bf33b34c6f8f0341a7a1621558a2444dfbe8f5fec76b35537fcc6f0bc4944bdb5336fe0bdcf41a5422c4e45a1dba3f45475e6c + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 + languageName: node + linkType: hard + +"single-call-balance-checker-abi@npm:^1.0.0": + version: 1.0.0 + resolution: "single-call-balance-checker-abi@npm:1.0.0" + checksum: d68fd83e58c42e6ccd4951d30cacffad01b4ca46595766b51ca09346f715027eac3a1d9e80e6147c7c20181ac6aca5d5330f9d1b131c91cbac3a16c1f3efbc3a + languageName: node + linkType: hard + +"sinon@npm:^9.2.4": + version: 9.2.4 + resolution: "sinon@npm:9.2.4" + dependencies: + "@sinonjs/commons": ^1.8.1 + "@sinonjs/fake-timers": ^6.0.1 + "@sinonjs/samsam": ^5.3.1 + diff: ^4.0.2 + nise: ^4.0.4 + supports-color: ^7.1.0 + checksum: 34b881886daa4b491bb9147ccad43d662f58b45a1b6f1e8b26a405ad77041108306fac3648646335f00f702897f0ba12282588ab64de470f48f1a7678e08dc65 + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.3": + version: 1.0.3 + resolution: "sisteransi@npm:1.0.3" + checksum: f123c898688d720f6896feb80273930e0f969e7d7ec4eac89290384256d004cc52b8866c40236dedd59c6213f1ac79fd6e0f40d496ffda76971c4ca7b52d4d2e + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 94a93fff615f25a999ad4b83c9d5e257a7280c90a32a7cb8b4a87996e4babf322e469c42b7f649fd5796edd8687652f3fb452a86dc97a816f01113183393f11c + languageName: node + linkType: hard + +"slice-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "slice-ansi@npm:4.0.0" + dependencies: + ansi-styles: ^4.0.0 + astral-regex: ^2.0.0 + is-fullwidth-code-point: ^3.0.0 + checksum: 4a82d7f085b0e1b070e004941ada3c40d3818563ac44766cca4ceadd2080427d337554f9f99a13aaeb3b4a94d9964d9466c807b3d7b7541d1ec37ee32d308756 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: b5167a7142c1da704c0e3af85c402002b597081dd9575031a90b4f229ca5678e9a36e8a374f1814c8156a725d17008ae3bde63b92f9cfd132526379e580bec8b + languageName: node + linkType: hard + +"snapdragon-node@npm:^2.0.1": + version: 2.1.1 + resolution: "snapdragon-node@npm:2.1.1" + dependencies: + define-property: ^1.0.0 + isobject: ^3.0.0 + snapdragon-util: ^3.0.1 + checksum: 9bb57d759f9e2a27935dbab0e4a790137adebace832b393e350a8bf5db461ee9206bb642d4fe47568ee0b44080479c8b4a9ad0ebe3712422d77edf9992a672fd + languageName: node + linkType: hard + +"snapdragon-util@npm:^3.0.1": + version: 3.0.1 + resolution: "snapdragon-util@npm:3.0.1" + dependencies: + kind-of: ^3.2.0 + checksum: 684997dbe37ec995c03fd3f412fba2b711fc34cb4010452b7eb668be72e8811a86a12938b511e8b19baf853b325178c56d8b78d655305e5cfb0bb8b21677e7b7 + languageName: node + linkType: hard + +"snapdragon@npm:^0.8.1": + version: 0.8.2 + resolution: "snapdragon@npm:0.8.2" + dependencies: + base: ^0.11.1 + debug: ^2.2.0 + define-property: ^0.2.5 + extend-shallow: ^2.0.1 + map-cache: ^0.2.2 + source-map: ^0.5.6 + source-map-resolve: ^0.5.0 + use: ^3.1.0 + checksum: a197f242a8f48b11036563065b2487e9b7068f50a20dd81d9161eca6af422174fc158b8beeadbe59ce5ef172aa5718143312b3aebaae551c124b7824387c8312 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "socks-proxy-agent@npm:7.0.0" + dependencies: + agent-base: ^6.0.2 + debug: ^4.3.3 + socks: ^2.6.2 + checksum: 720554370154cbc979e2e9ce6a6ec6ced205d02757d8f5d93fe95adae454fc187a5cbfc6b022afab850a5ce9b4c7d73e0f98e381879cf45f66317a4895953846 + languageName: node + linkType: hard + +"socks@npm:^2.6.2": + version: 2.6.2 + resolution: "socks@npm:2.6.2" + dependencies: + ip: ^1.1.5 + smart-buffer: ^4.2.0 + checksum: dd9194293059d737759d5c69273850ad4149f448426249325c4bea0e340d1cf3d266c3b022694b0dcf5d31f759de23657244c481fc1e8322add80b7985c36b5e + languageName: node + linkType: hard + +"sort-object-keys@npm:^1.1.3": + version: 1.1.3 + resolution: "sort-object-keys@npm:1.1.3" + checksum: abea944d6722a1710a1aa6e4f9509da085d93d5fc0db23947cb411eedc7731f80022ce8fa68ed83a53dd2ac7441fcf72a3f38c09b3d9bbc4ff80546aa2e151ad + languageName: node + linkType: hard + +"sort-package-json@npm:1.55.0": + version: 1.55.0 + resolution: "sort-package-json@npm:1.55.0" + dependencies: + detect-indent: ^6.0.0 + detect-newline: 3.1.0 + git-hooks-list: 1.0.3 + globby: 10.0.0 + is-plain-obj: 2.1.0 + sort-object-keys: ^1.1.3 + bin: + sort-package-json: cli.js + checksum: 221709f89a045143193839a06e7d7d307b60d62074ff2685a81cf78cb1cc2c47a36d3fda19202b1edf49c241da0ef14e64c5574a87c6f5dd87f1ff88251ce312 + languageName: node + linkType: hard + +"source-map-resolve@npm:^0.5.0": + version: 0.5.2 + resolution: "source-map-resolve@npm:0.5.2" + dependencies: + atob: ^2.1.1 + decode-uri-component: ^0.2.0 + resolve-url: ^0.2.1 + source-map-url: ^0.4.0 + urix: ^0.1.0 + checksum: 14fdb9db10cb010216ffc33a1b3793f8aed56beb76d37fe4edcbb234552c5a91a1071e015546ea7d837e5b37845db73fe65adcafd8c179ea449accf3eecde7de + languageName: node + linkType: hard + +"source-map-support@npm:^0.5.6": + version: 0.5.13 + resolution: "source-map-support@npm:0.5.13" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: 933550047b6c1a2328599a21d8b7666507427c0f5ef5eaadd56b5da0fd9505e239053c66fe181bf1df469a3b7af9d775778eee283cbb7ae16b902ddc09e93a97 + languageName: node + linkType: hard + +"source-map-url@npm:^0.4.0": + version: 0.4.0 + resolution: "source-map-url@npm:0.4.0" + checksum: 63ed54045fcd7b4ec7ca17513f48fdc23b573eef679326ecf1a31333e1aaecc0a9c085adaa7d118283b160e65b71cc72da9e1385f2de4ac5ed68294e3920d719 + languageName: node + linkType: hard + +"source-map@npm:^0.5.0, source-map@npm:^0.5.6": + version: 0.5.7 + resolution: "source-map@npm:0.5.7" + checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 + languageName: node + linkType: hard + +"source-map@npm:^0.7.3": + version: 0.7.3 + resolution: "source-map@npm:0.7.3" + checksum: cd24efb3b8fa69b64bf28e3c1b1a500de77e84260c5b7f2b873f88284df17974157cc88d386ee9b6d081f08fdd8242f3fc05c953685a6ad81aad94c7393dedea + languageName: node + linkType: hard + +"spdx-correct@npm:^3.0.0": + version: 3.1.1 + resolution: "spdx-correct@npm:3.1.1" + dependencies: + spdx-expression-parse: ^3.0.0 + spdx-license-ids: ^3.0.0 + checksum: 77ce438344a34f9930feffa61be0eddcda5b55fc592906ef75621d4b52c07400a97084d8701557b13f7d2aae0cb64f808431f469e566ef3fe0a3a131dcb775a6 + languageName: node + linkType: hard + +"spdx-exceptions@npm:^2.1.0": + version: 2.3.0 + resolution: "spdx-exceptions@npm:2.3.0" + checksum: cb69a26fa3b46305637123cd37c85f75610e8c477b6476fa7354eb67c08128d159f1d36715f19be6f9daf4b680337deb8c65acdcae7f2608ba51931540687ac0 + languageName: node + linkType: hard + +"spdx-expression-parse@npm:^3.0.0, spdx-expression-parse@npm:^3.0.1": + version: 3.0.1 + resolution: "spdx-expression-parse@npm:3.0.1" + dependencies: + spdx-exceptions: ^2.1.0 + spdx-license-ids: ^3.0.0 + checksum: a1c6e104a2cbada7a593eaa9f430bd5e148ef5290d4c0409899855ce8b1c39652bcc88a725259491a82601159d6dc790bedefc9016c7472f7de8de7361f8ccde + languageName: node + linkType: hard + +"spdx-license-ids@npm:^3.0.0": + version: 3.0.5 + resolution: "spdx-license-ids@npm:3.0.5" + checksum: b1ceea3f87407ec375d1de90f6fc7610d6c845ff5f8db21d4d752b3d4e121df563c78113df7c564daff4e8778ad54b9a9024a7e9ea3779f13a43dd0e9128c08e + languageName: node + linkType: hard + +"split-string@npm:^3.0.1, split-string@npm:^3.0.2": + version: 3.1.0 + resolution: "split-string@npm:3.1.0" + dependencies: + extend-shallow: ^3.0.0 + checksum: ae5af5c91bdc3633628821bde92fdf9492fa0e8a63cf6a0376ed6afde93c701422a1610916f59be61972717070119e848d10dfbbd5024b7729d6a71972d2a84c + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 19d79aec211f09b99ec3099b5b2ae2f6e9cdefe50bc91ac4c69144b6d3928a640bb6ae5b3def70c2e85a2c3d9f5ec2719921e3a59d3ca3ef4b2fd1a4656a0df3 + languageName: node + linkType: hard + +"sshpk@npm:^1.7.0": + version: 1.16.1 + resolution: "sshpk@npm:1.16.1" + dependencies: + asn1: ~0.2.3 + assert-plus: ^1.0.0 + bcrypt-pbkdf: ^1.0.0 + dashdash: ^1.12.0 + ecc-jsbn: ~0.1.1 + getpass: ^0.1.1 + jsbn: ~0.1.0 + safer-buffer: ^2.0.2 + tweetnacl: ~0.14.0 + bin: + sshpk-conv: bin/sshpk-conv + sshpk-sign: bin/sshpk-sign + sshpk-verify: bin/sshpk-verify + checksum: 5e76afd1cedc780256f688b7c09327a8a650902d18e284dfeac97489a735299b03c3e72c6e8d22af03dbbe4d6f123fdfd5f3c4ed6bedbec72b9529a55051b857 + languageName: node + linkType: hard + +"ssri@npm:^9.0.0": + version: 9.0.1 + resolution: "ssri@npm:9.0.1" + dependencies: + minipass: ^3.1.1 + checksum: fb58f5e46b6923ae67b87ad5ef1c5ab6d427a17db0bead84570c2df3cd50b4ceb880ebdba2d60726588272890bae842a744e1ecce5bd2a2a582fccd5068309eb + languageName: node + linkType: hard + +"stack-utils@npm:^1.0.1": + version: 1.0.2 + resolution: "stack-utils@npm:1.0.2" + checksum: a8353a26f26b036d5b33d7c67ec7b0075e854c738e7d40dc1e27ca026b037381fc0cec9be2f6438e8963dcd17097180921d3029676add21ae6687235348e8bb3 + languageName: node + linkType: hard + +"stack-utils@npm:^2.0.2": + version: 2.0.2 + resolution: "stack-utils@npm:2.0.2" + dependencies: + escape-string-regexp: ^2.0.0 + checksum: e767be7ec6db03ae17b078dffe5ed64531a5bf13c28ec6d6f239b1baa440d4d80792a10808d6660fd914dd7564eec151322057560d6187cab6077d662029e64c + languageName: node + linkType: hard + +"static-extend@npm:^0.1.1": + version: 0.1.2 + resolution: "static-extend@npm:0.1.2" + dependencies: + define-property: ^0.2.5 + object-copy: ^0.1.0 + checksum: 8657485b831f79e388a437260baf22784540417a9b29e11572c87735df24c22b84eda42107403a64b30861b2faf13df9f7fc5525d51f9d1d2303aba5cbf4e12c + languageName: node + linkType: hard + +"stealthy-require@npm:^1.1.1": + version: 1.1.1 + resolution: "stealthy-require@npm:1.1.1" + checksum: 6805b857a9f3a6a1079fc6652278038b81011f2a5b22cbd559f71a6c02087e6f1df941eb10163e3fdc5391ab5807aa46758d4258547c1f5ede31e6d9bfda8dd3 + languageName: node + linkType: hard + +"string-length@npm:^4.0.1": + version: 4.0.1 + resolution: "string-length@npm:4.0.1" + dependencies: + char-regex: ^1.0.2 + strip-ansi: ^6.0.0 + checksum: 7bd3191668ddafa6f574a8b17a1bd1b085737d64ceefa51f72cdd19c45a730422cd70d984eee7584d6e5b5c84b6318633c6d6a720a4bfd7c58769985fa77573e + languageName: node + linkType: hard + +"string-width@npm:^1.0.1": + version: 1.0.2 + resolution: "string-width@npm:1.0.2" + dependencies: + code-point-at: ^1.0.0 + is-fullwidth-code-point: ^1.0.0 + strip-ansi: ^3.0.0 + checksum: 5c79439e95bc3bd7233a332c5f5926ab2ee90b23816ed4faa380ce3b2576d7800b0a5bb15ae88ed28737acc7ea06a518c2eef39142dd727adad0e45c776cd37e + languageName: node + linkType: hard + +"string-width@npm:^1.0.2 || 2": + version: 2.1.1 + resolution: "string-width@npm:2.1.1" + dependencies: + is-fullwidth-code-point: ^2.0.0 + strip-ansi: ^4.0.0 + checksum: d6173abe088c615c8dffaf3861dc5d5906ed3dc2d6fd67ff2bd2e2b5dce7fd683c5240699cf0b1b8aa679a3b3bd6b28b5053c824cb89b813d7f6541d8f89064a + languageName: node + linkType: hard + +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: ^8.0.0 + is-fullwidth-code-point: ^3.0.0 + strip-ansi: ^6.0.1 + checksum: e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb + languageName: node + linkType: hard + +"string-width@npm:^4.1.0, string-width@npm:^4.2.0": + version: 4.2.0 + resolution: "string-width@npm:4.2.0" + dependencies: + emoji-regex: ^8.0.0 + is-fullwidth-code-point: ^3.0.0 + strip-ansi: ^6.0.0 + checksum: ee2c68df9a3ce4256565d2bdc8490f5706f195f88e799d3d425889264d3eff3d7984fe8b38dfc983dac948e03d8cdc737294b1c81f1528c37c9935d86b67593d + languageName: node + linkType: hard + +"string.prototype.trim@npm:^1.1.2": + version: 1.1.2 + resolution: "string.prototype.trim@npm:1.1.2" + dependencies: + define-properties: ^1.1.2 + es-abstract: ^1.5.0 + function-bind: ^1.0.2 + checksum: 51fb81f1b345015ac72aa043fe9235dcfc5c1fdb8162d9620ac9f27a3687b9339d7009f3095753f0bfb2b22693304c94599184e3188c2bdc942669f90a900fda + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.1": + version: 1.0.1 + resolution: "string.prototype.trimend@npm:1.0.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.5 + checksum: e4e2c21f0145a6fa8c111b1bee6075d509a40702611329bcebd7ffc5cc13562cfa99636faeacccbea306d01c023dc763ce0cf38cf5d7b654705b74847b0f0e57 + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.4": + version: 1.0.4 + resolution: "string.prototype.trimend@npm:1.0.4" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + checksum: 17e5aa45c3983f582693161f972c1c1fa4bbbdf22e70e582b00c91b6575f01680dc34e83005b98e31abe4d5d29e0b21fcc24690239c106c7b2315aade6a898ac + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.1": + version: 1.0.1 + resolution: "string.prototype.trimstart@npm:1.0.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.5 + checksum: 0fe3cad8d597a418b058b6ec2d5c48b73172c71cb60089a0a38373eb3c2d501c4d9a00bbfad90e581c2ecf136f10f85a9dc664390e059b805dae9e4707465e0f + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.4": + version: 1.0.4 + resolution: "string.prototype.trimstart@npm:1.0.4" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + checksum: 3fb06818d3cccac5fa3f5f9873d984794ca0e9f6616fae6fcc745885d9efed4e17fe15f832515d9af5e16c279857fdbffdfc489ca4ed577811b017721b30302f + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: ~5.2.0 + checksum: 8417646695a66e73aefc4420eb3b84cc9ffd89572861fe004e6aeb13c7bc00e2f616247505d2dbbef24247c372f70268f594af7126f43548565c68c117bdeb56 + languageName: node + linkType: hard + +"string_decoder@npm:~0.10.x": + version: 0.10.31 + resolution: "string_decoder@npm:0.10.31" + checksum: fe00f8e303647e5db919948ccb5ce0da7dea209ab54702894dd0c664edd98e5d4df4b80d6fabf7b9e92b237359d21136c95bf068b2f7760b772ca974ba970202 + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: ~5.1.0 + checksum: 9ab7e56f9d60a28f2be697419917c50cac19f3e8e6c28ef26ed5f4852289fe0de5d6997d29becf59028556f2c62983790c1d9ba1e2a3cc401768ca12d5183a5b + languageName: node + linkType: hard + +"strip-ansi@npm:^3.0.0, strip-ansi@npm:^3.0.1": + version: 3.0.1 + resolution: "strip-ansi@npm:3.0.1" + dependencies: + ansi-regex: ^2.0.0 + checksum: 9b974de611ce5075c70629c00fa98c46144043db92ae17748fb780f706f7a789e9989fd10597b7c2053ae8d1513fd707816a91f1879b2f71e6ac0b6a863db465 + languageName: node + linkType: hard + +"strip-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-ansi@npm:4.0.0" + dependencies: + ansi-regex: ^3.0.0 + checksum: d9186e6c0cf78f25274f6750ee5e4a5725fb91b70fdd79aa5fe648eab092a0ec5b9621b22d69d4534a56319f75d8944efbd84e3afa8d4ad1b9a9491f12c84eca + languageName: node + linkType: hard + +"strip-ansi@npm:^6.0.0": + version: 6.0.0 + resolution: "strip-ansi@npm:6.0.0" + dependencies: + ansi-regex: ^5.0.0 + checksum: 04c3239ede44c4d195b0e66c0ad58b932f08bec7d05290416d361ff908ad282ecdaf5d9731e322c84f151d427436bde01f05b7422c3ec26dd927586736b0e5d0 + languageName: node + linkType: hard + +"strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: ^5.0.1 + checksum: f3cd25890aef3ba6e1a74e20896c21a46f482e93df4a06567cebf2b57edabb15133f1f94e57434e0a958d61186087b1008e89c94875d019910a213181a14fc8c + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 8d50ff27b7ebe5ecc78f1fe1e00fcdff7af014e73cf724b46fb81ef889eeb1015fc5184b64e81a2efe002180f3ba431bdd77e300da5c6685d702780fbf0c8d5b + languageName: node + linkType: hard + +"strip-bom@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-bom@npm:4.0.0" + checksum: 9dbcfbaf503c57c06af15fe2c8176fb1bf3af5ff65003851a102749f875a6dbe0ab3b30115eccf6e805e9d756830d3e40ec508b62b3f1ddf3761a20ebe29d3f3 + languageName: node + linkType: hard + +"strip-eof@npm:^1.0.0": + version: 1.0.0 + resolution: "strip-eof@npm:1.0.0" + checksum: 40bc8ddd7e072f8ba0c2d6d05267b4e0a4800898c3435b5fb5f5a21e6e47dfaff18467e7aa0d1844bb5d6274c3097246595841fbfeb317e541974ee992cac506 + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 69412b5e25731e1938184b5d489c32e340605bb611d6140344abc3421b7f3c6f9984b21dff296dfcf056681b82caa3bb4cc996a965ce37bcfad663e92eae9c64 + languageName: node + linkType: hard + +"strip-hex-prefix@npm:1.0.0": + version: 1.0.0 + resolution: "strip-hex-prefix@npm:1.0.0" + dependencies: + is-hex-prefixed: 1.0.0 + checksum: 4cafe7caee1d281d3694d14920fd5d3c11adf09371cef7e2ccedd5b83efd9e9bd2219b5d6ce6e809df6e0f437dc9d30db1192116580875698aad164a6d6b285b + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: ^3.0.0 + checksum: 95f6f4ba5afdf92f495b5a912d4abee8dcba766ae719b975c56c084f5004845f6f5a5f7769f52d53f40e21952a6d87411bafe34af4a01e65f9926002e38e1dac + languageName: node + linkType: hard + +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": + version: 7.1.0 + resolution: "supports-color@npm:7.1.0" + dependencies: + has-flag: ^4.0.0 + checksum: 899480ac858a650abcca4a02ae655555270e6ace833b15a74e4a2d3456f54cd19b6b12ce14e9bac997c18dd69a0596ee65b95ba013f209dd0f99ebfe87783e41 + languageName: node + linkType: hard + +"supports-hyperlinks@npm:^2.0.0": + version: 2.1.0 + resolution: "supports-hyperlinks@npm:2.1.0" + dependencies: + has-flag: ^4.0.0 + supports-color: ^7.0.0 + checksum: e4f430c870a258c9854b8bd7f166a9c1e76e3b851da84d4399d6a8f1d4a485e4ec36c16455dde80acf06c86e7c0a6df76ed22b6a4644a6ae3eced8616b3f21b5 + languageName: node + linkType: hard + +"symbol-tree@npm:^3.2.2, symbol-tree@npm:^3.2.4": + version: 3.2.4 + resolution: "symbol-tree@npm:3.2.4" + checksum: 6e8fc7e1486b8b54bea91199d9535bb72f10842e40c79e882fc94fb7b14b89866adf2fd79efa5ebb5b658bc07fb459ccce5ac0e99ef3d72f474e74aaf284029d + languageName: node + linkType: hard + +"table@npm:^6.0.4": + version: 6.0.7 + resolution: "table@npm:6.0.7" + dependencies: + ajv: ^7.0.2 + lodash: ^4.17.20 + slice-ansi: ^4.0.0 + string-width: ^4.2.0 + checksum: 5a981ff05b5a404bcddf1aae40b26951aaf4e77ce22348d2e9c86a681c32ff6ae4ac4da7e6496780a3b2feb7fb8b302c1dfb6c88e025bff913a2d380b24f847d + languageName: node + linkType: hard + +"tar@npm:^6.0.2, tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.1.11 + resolution: "tar@npm:6.1.11" + dependencies: + chownr: ^2.0.0 + fs-minipass: ^2.0.0 + minipass: ^3.0.0 + minizlib: ^2.1.1 + mkdirp: ^1.0.3 + yallist: ^4.0.0 + checksum: a04c07bb9e2d8f46776517d4618f2406fb977a74d914ad98b264fc3db0fe8224da5bec11e5f8902c5b9bcb8ace22d95fbe3c7b36b8593b7dfc8391a25898f32f + languageName: node + linkType: hard + +"terminal-link@npm:^2.0.0": + version: 2.1.1 + resolution: "terminal-link@npm:2.1.1" + dependencies: + ansi-escapes: ^4.2.1 + supports-hyperlinks: ^2.0.0 + checksum: ce3d2cd3a438c4a9453947aa664581519173ea40e77e2534d08c088ee6dda449eabdbe0a76d2a516b8b73c33262fedd10d5270ccf7576ae316e3db170ce6562f + languageName: node + linkType: hard + +"test-exclude@npm:^6.0.0": + version: 6.0.0 + resolution: "test-exclude@npm:6.0.0" + dependencies: + "@istanbuljs/schema": ^0.1.2 + glob: ^7.1.4 + minimatch: ^3.0.4 + checksum: 3b34a3d77165a2cb82b34014b3aba93b1c4637a5011807557dc2f3da826c59975a5ccad765721c4648b39817e3472789f9b0fa98fc854c5c1c7a1e632aacdc28 + languageName: node + linkType: hard + +"text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: b6937a38c80c7f84d9c11dd75e49d5c44f71d95e810a3250bd1f1797fc7117c57698204adf676b71497acc205d769d65c16ae8fa10afad832ae1322630aef10a + languageName: node + linkType: hard + +"throat@npm:^5.0.0": + version: 5.0.0 + resolution: "throat@npm:5.0.0" + checksum: 031ff7f4431618036c1dedd99c8aa82f5c33077320a8358ed829e84b320783781d1869fe58e8f76e948306803de966f5f7573766a437562c9f5c033297ad2fe2 + languageName: node + linkType: hard + +"through2@npm:^2.0.3": + version: 2.0.5 + resolution: "through2@npm:2.0.5" + dependencies: + readable-stream: ~2.3.6 + xtend: ~4.0.1 + checksum: beb0f338aa2931e5660ec7bf3ad949e6d2e068c31f4737b9525e5201b824ac40cac6a337224856b56bd1ddd866334bbfb92a9f57cd6f66bc3f18d3d86fc0fe50 + languageName: node + linkType: hard + +"tmpl@npm:1.0.x": + version: 1.0.5 + resolution: "tmpl@npm:1.0.5" + checksum: cd922d9b853c00fe414c5a774817be65b058d54a2d01ebb415840960406c669a0fc632f66df885e24cb022ec812739199ccbdb8d1164c3e513f85bfca5ab2873 + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: be2de62fe58ead94e3e592680052683b1ec986c72d589e7b21e5697f8744cdbf48c266fa72f6c15932894c10187b5f54573a3bcf7da0bfd964d5caf23d436168 + languageName: node + linkType: hard + +"to-object-path@npm:^0.3.0": + version: 0.3.0 + resolution: "to-object-path@npm:0.3.0" + dependencies: + kind-of: ^3.0.2 + checksum: 9425effee5b43e61d720940fa2b889623f77473d459c2ce3d4a580a4405df4403eec7be6b857455908070566352f9e2417304641ed158dda6f6a365fe3e66d70 + languageName: node + linkType: hard + +"to-regex-range@npm:^2.1.0": + version: 2.1.1 + resolution: "to-regex-range@npm:2.1.1" + dependencies: + is-number: ^3.0.0 + repeat-string: ^1.6.1 + checksum: 46093cc14be2da905cc931e442d280b2e544e2bfdb9a24b3cf821be8d342f804785e5736c108d5be026021a05d7b38144980a61917eee3c88de0a5e710e10320 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: ^7.0.0 + checksum: f76fa01b3d5be85db6a2a143e24df9f60dd047d151062d0ba3df62953f2f697b16fe5dad9b0ac6191c7efc7b1d9dcaa4b768174b7b29da89d4428e64bc0a20ed + languageName: node + linkType: hard + +"to-regex@npm:^3.0.1, to-regex@npm:^3.0.2": + version: 3.0.2 + resolution: "to-regex@npm:3.0.2" + dependencies: + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + regex-not: ^1.0.2 + safe-regex: ^1.1.0 + checksum: 4ed4a619059b64e204aad84e4e5f3ea82d97410988bcece7cf6cbfdbf193d11bff48cf53842d88b8bb00b1bfc0d048f61f20f0709e6f393fd8fe0122662d9db4 + languageName: node + linkType: hard + +"tough-cookie@npm:^2.3.3, tough-cookie@npm:~2.4.3": + version: 2.4.3 + resolution: "tough-cookie@npm:2.4.3" + dependencies: + psl: ^1.1.24 + punycode: ^1.4.1 + checksum: af5c7b03f22fc60b7a03339414d7e5b4d68aea84bcc591b4bfab73d85f71e218ff9ebdf94042205051faf980bdb2eeec5c8cf6ea5368fd9f878d2c3f718640b7 + languageName: node + linkType: hard + +"tough-cookie@npm:^3.0.1": + version: 3.0.1 + resolution: "tough-cookie@npm:3.0.1" + dependencies: + ip-regex: ^2.1.0 + psl: ^1.1.28 + punycode: ^2.1.1 + checksum: 796f6239bce5674a1267b19f41972a2602a2a23715817237b5922b0dc2343512512eea7d41d29210a4ec545f8ef32173bbbf01277dd8ec3ae3841b19cbe69f67 + languageName: node + linkType: hard + +"tough-cookie@npm:~2.5.0": + version: 2.5.0 + resolution: "tough-cookie@npm:2.5.0" + dependencies: + psl: ^1.1.28 + punycode: ^2.1.1 + checksum: 16a8cd090224dd176eee23837cbe7573ca0fa297d7e468ab5e1c02d49a4e9a97bb05fef11320605eac516f91d54c57838a25864e8680e27b069a5231d8264977 + languageName: node + linkType: hard + +"tr46@npm:^1.0.1": + version: 1.0.1 + resolution: "tr46@npm:1.0.1" + dependencies: + punycode: ^2.1.0 + checksum: 96d4ed46bc161db75dbf9247a236ea0bfcaf5758baae6749e92afab0bc5a09cb59af21788ede7e55080f2bf02dce3e4a8f2a484cc45164e29f4b5e68f7cbcc1a + languageName: node + linkType: hard + +"tr46@npm:^2.0.2": + version: 2.0.2 + resolution: "tr46@npm:2.0.2" + dependencies: + punycode: ^2.1.1 + checksum: 2b2b3dfa6bc65d027b2fac729fba0fb5b9d98af7b69ad6876c0f088ebf127f2d53e5a4d4464e5de40380cf721f392262c9183d2a05cea4967a890e8801c842f6 + languageName: node + linkType: hard + +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 726321c5eaf41b5002e17ffbd1fb7245999a073e8979085dacd47c4b4e8068ff5777142fc6726d6ca1fd2ff16921b48788b87225cbc57c72636f6efa8efbffe3 + languageName: node + linkType: hard + +"trim-right@npm:^1.0.1": + version: 1.0.1 + resolution: "trim-right@npm:1.0.1" + checksum: 9120af534e006a7424a4f9358710e6e707887b6ccf7ea69e50d6ac6464db1fe22268400def01752f09769025d480395159778153fb98d4a2f6f40d4cf5d4f3b6 + languageName: node + linkType: hard + +"ts-jest@npm:^26.5.2": + version: 26.5.2 + resolution: "ts-jest@npm:26.5.2" + dependencies: + "@types/jest": 26.x + bs-logger: 0.x + buffer-from: 1.x + fast-json-stable-stringify: 2.x + jest-util: ^26.1.0 + json5: 2.x + lodash: 4.x + make-error: 1.x + mkdirp: 1.x + semver: 7.x + yargs-parser: 20.x + peerDependencies: + jest: ">=26 <27" + typescript: ">=3.8 <5.0" + bin: + ts-jest: cli.js + checksum: 3469c264a6beea372c799e7e9510fa9f51bdb576368bb51557006cbce33c5a8dfd71b8ca49012fe3667ad92d36b0b61636ff39d66fc69740b032b2d2a76d6d34 + languageName: node + linkType: hard + +"tsconfig-paths@npm:^3.9.0": + version: 3.9.0 + resolution: "tsconfig-paths@npm:3.9.0" + dependencies: + "@types/json5": ^0.0.29 + json5: ^1.0.1 + minimist: ^1.2.0 + strip-bom: ^3.0.0 + checksum: 243b3b098c76a4ca90ea0431683f3755a4ff175c6123bcba5f7b4bd80fe2ef8fa9bdc8f4d525148a1e71ade7f3e037e7c0313ae177fd12398ab68f05c2c7f25d + languageName: node + linkType: hard + +"tslib@npm:^1.8.1": + version: 1.10.0 + resolution: "tslib@npm:1.10.0" + checksum: 1d0450dc6f64b918b14acaf3b956ebe1c72d7401c632adce932a60e3cd8d2a70f6040ceef6a7c3561146c3f29bcf584c41c2e09a5d20a27d6c3057f0d5f2a836 + languageName: node + linkType: hard + +"tslib@npm:^2.0.0": + version: 2.1.0 + resolution: "tslib@npm:2.1.0" + checksum: aa189c8179de0427b0906da30926fd53c59d96ec239dff87d6e6bc831f608df0cbd6f77c61dabc074408bd0aa0b9ae4ec35cb2c15f729e32f37274db5730cb78 + languageName: node + linkType: hard + +"tslib@npm:^2.3.0": + version: 2.3.1 + resolution: "tslib@npm:2.3.1" + checksum: de17a98d4614481f7fcb5cd53ffc1aaf8654313be0291e1bfaee4b4bb31a20494b7d218ff2e15017883e8ea9626599b3b0e0229c18383ba9dce89da2adf15cb9 + languageName: node + linkType: hard + +"tsutils@npm:^3.17.1": + version: 3.17.1 + resolution: "tsutils@npm:3.17.1" + dependencies: + tslib: ^1.8.1 + peerDependencies: + typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + checksum: 0dd8c29b2f554d71179dfdd7c3a55b973c0d21ba2b28868ca2acc0bda7469e2ae94f7f454c0f342934b3a653ed4424bfa9c12fa84dac0e126408d6fcd9271510 + languageName: node + linkType: hard + +"tsutils@npm:^3.21.0": + version: 3.21.0 + resolution: "tsutils@npm:3.21.0" + dependencies: + tslib: ^1.8.1 + peerDependencies: + typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + checksum: 1843f4c1b2e0f975e08c4c21caa4af4f7f65a12ac1b81b3b8489366826259323feb3fc7a243123453d2d1a02314205a7634e048d4a8009921da19f99755cdc48 + languageName: node + linkType: hard + +"tunnel-agent@npm:^0.6.0": + version: 0.6.0 + resolution: "tunnel-agent@npm:0.6.0" + dependencies: + safe-buffer: ^5.0.1 + checksum: 05f6510358f8afc62a057b8b692f05d70c1782b70db86d6a1e0d5e28a32389e52fa6e7707b6c5ecccacc031462e4bc35af85ecfe4bbc341767917b7cf6965711 + languageName: node + linkType: hard + +"tweetnacl-util@npm:^0.15.0": + version: 0.15.0 + resolution: "tweetnacl-util@npm:0.15.0" + checksum: 4f57555fab3f09414a163d65692b5173bc83fd3561150c9076fe3003ed2b08bb93be75ac9a6763bdf78162bdd835a6fc89631f6543b99602a579bd3171b98206 + languageName: node + linkType: hard + +"tweetnacl-util@npm:^0.15.1": + version: 0.15.1 + resolution: "tweetnacl-util@npm:0.15.1" + checksum: ae6aa8a52cdd21a95103a4cc10657d6a2040b36c7a6da7b9d3ab811c6750a2d5db77e8c36969e75fdee11f511aa2b91c552496c6e8e989b6e490e54aca2864fc + languageName: node + linkType: hard + +"tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": + version: 0.14.5 + resolution: "tweetnacl@npm:0.14.5" + checksum: 6061daba1724f59473d99a7bb82e13f211cdf6e31315510ae9656fefd4779851cb927adad90f3b488c8ed77c106adc0421ea8055f6f976ff21b27c5c4e918487 + languageName: node + linkType: hard + +"tweetnacl@npm:^1.0.0": + version: 1.0.1 + resolution: "tweetnacl@npm:1.0.1" + checksum: 89926931a3d42369d64292474245dd5847163f66f0650075c68d4c583cb30f8c0f04f2ce13a56529f1775d181ea68006bf10e8329ae5da62139164aa90c4b419 + languageName: node + linkType: hard + +"tweetnacl@npm:^1.0.3": + version: 1.0.3 + resolution: "tweetnacl@npm:1.0.3" + checksum: e4a57cac188f0c53f24c7a33279e223618a2bfb5fea426231991652a13247bea06b081fd745d71291fcae0f4428d29beba1b984b1f1ce6f66b06a6d1ab90645c + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: ^1.2.1 + checksum: ec688ebfc9c45d0c30412e41ca9c0cdbd704580eb3a9ccf07b9b576094d7b86a012baebc95681999dd38f4f444afd28504cb3a89f2ef16b31d4ab61a0739025a + languageName: node + linkType: hard + +"type-check@npm:~0.3.2": + version: 0.3.2 + resolution: "type-check@npm:0.3.2" + dependencies: + prelude-ls: ~1.1.2 + checksum: dd3b1495642731bc0e1fc40abe5e977e0263005551ac83342ecb6f4f89551d106b368ec32ad3fb2da19b3bd7b2d1f64330da2ea9176d8ddbfe389fb286eb5124 + languageName: node + linkType: hard + +"type-detect@npm:4.0.8, type-detect@npm:^4.0.8": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 + languageName: node + linkType: hard + +"type-fest@npm:^0.11.0": + version: 0.11.0 + resolution: "type-fest@npm:0.11.0" + checksum: 8e7589e1eb5ced6c8e1d3051553b59b9f525c41e58baa898229915781c7bf55db8cb2f74e56d8031f6af5af2eecc7cb8da9ca3af7e5b80b49d8ca5a81891f3f9 + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 4fb3272df21ad1c552486f8a2f8e115c09a521ad7a8db3d56d53718d0c907b62c6e9141ba5f584af3f6830d0872c521357e512381f24f7c44acae583ad517d73 + languageName: node + linkType: hard + +"type-fest@npm:^0.6.0": + version: 0.6.0 + resolution: "type-fest@npm:0.6.0" + checksum: b2188e6e4b21557f6e92960ec496d28a51d68658018cba8b597bd3ef757721d1db309f120ae987abeeda874511d14b776157ff809f23c6d1ce8f83b9b2b7d60f + languageName: node + linkType: hard + +"type-fest@npm:^0.8.1": + version: 0.8.1 + resolution: "type-fest@npm:0.8.1" + checksum: d61c4b2eba24009033ae4500d7d818a94fd6d1b481a8111612ee141400d5f1db46f199c014766b9fa9b31a6a7374d96fc748c6d688a78a3ce5a33123839becb7 + languageName: node + linkType: hard + +"typedarray-to-buffer@npm:^3.1.5": + version: 3.1.5 + resolution: "typedarray-to-buffer@npm:3.1.5" + dependencies: + is-typedarray: ^1.0.0 + checksum: 99c11aaa8f45189fcfba6b8a4825fd684a321caa9bd7a76a27cf0c7732c174d198b99f449c52c3818107430b5f41c0ccbbfb75cb2ee3ca4a9451710986d61a60 + languageName: node + linkType: hard + +"typedoc-plugin-missing-exports@npm:^0.22.6": + version: 0.22.6 + resolution: "typedoc-plugin-missing-exports@npm:0.22.6" + peerDependencies: + typedoc: 0.22.x + checksum: 012f44beaac05731b4d37c26bfba2d972ac48344eab6be793a95982712a207416e7dc3451279be4e4cebc8b6b99a16764d2d4aaa06e041fac60ce21cc22cf796 + languageName: node + linkType: hard + +"typedoc@npm:^0.22.15": + version: 0.22.15 + resolution: "typedoc@npm:0.22.15" + dependencies: + glob: ^7.2.0 + lunr: ^2.3.9 + marked: ^4.0.12 + minimatch: ^5.0.1 + shiki: ^0.10.1 + peerDependencies: + typescript: 4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x || 4.5.x || 4.6.x + bin: + typedoc: bin/typedoc + checksum: 3f5f1cb9288bf811f42df59750c7062a026a23257b38dfe227515a30007a28e3d8139187949fcd19300fd6b2ef76bcdc4cf54549100bff3e000e61bb19958fb2 + languageName: node + linkType: hard + +"typescript@npm:~4.6.3": + version: 4.6.3 + resolution: "typescript@npm:4.6.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 255bb26c8cb846ca689dd1c3a56587af4f69055907aa2c154796ea28ee0dea871535b1c78f85a6212c77f2657843a269c3a742d09d81495b97b914bf7920415b + languageName: node + linkType: hard + +"typescript@patch:typescript@~4.6.3#~builtin": + version: 4.6.3 + resolution: "typescript@patch:typescript@npm%3A4.6.3#~builtin::version=4.6.3&hash=7ad353" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 6bf45caf847062420592e711bc9c28bf5f9a9a7fa8245343b81493e4ededae33f1774009d1234d911422d1646a2c839f44e1a23ecb111b40a60ac2ea4c1482a8 + languageName: node + linkType: hard + +"unbox-primitive@npm:^1.0.1": + version: 1.0.1 + resolution: "unbox-primitive@npm:1.0.1" + dependencies: + function-bind: ^1.1.1 + has-bigints: ^1.0.1 + has-symbols: ^1.0.2 + which-boxed-primitive: ^1.0.2 + checksum: 89d950e18fb45672bc6b3c961f1e72c07beb9640c7ceed847b571ba6f7d2af570ae1a2584cfee268b9d9ea1e3293f7e33e0bc29eaeb9f8e8a0bab057ff9e6bba + languageName: node + linkType: hard + +"union-value@npm:^1.0.0": + version: 1.0.1 + resolution: "union-value@npm:1.0.1" + dependencies: + arr-union: ^3.1.0 + get-value: ^2.0.6 + is-extendable: ^0.1.1 + set-value: ^2.0.1 + checksum: a3464097d3f27f6aa90cf103ed9387541bccfc006517559381a10e0dffa62f465a9d9a09c9b9c3d26d0f4cbe61d4d010e2fbd710fd4bf1267a768ba8a774b0ba + languageName: node + linkType: hard + +"unique-filename@npm:^1.1.1": + version: 1.1.1 + resolution: "unique-filename@npm:1.1.1" + dependencies: + unique-slug: ^2.0.0 + checksum: cf4998c9228cc7647ba7814e255dec51be43673903897b1786eff2ac2d670f54d4d733357eb08dea969aa5e6875d0e1bd391d668fbdb5a179744e7c7551a6f80 + languageName: node + linkType: hard + +"unique-slug@npm:^2.0.0": + version: 2.0.2 + resolution: "unique-slug@npm:2.0.2" + dependencies: + imurmurhash: ^0.1.4 + checksum: 5b6876a645da08d505dedb970d1571f6cebdf87044cb6b740c8dbb24f0d6e1dc8bdbf46825fd09f994d7cf50760e6f6e063cfa197d51c5902c00a861702eb75a + languageName: node + linkType: hard + +"unset-value@npm:^1.0.0": + version: 1.0.0 + resolution: "unset-value@npm:1.0.0" + dependencies: + has-value: ^0.3.1 + isobject: ^3.0.0 + checksum: 5990ecf660672be2781fc9fb322543c4aa592b68ed9a3312fa4df0e9ba709d42e823af090fc8f95775b4cd2c9a5169f7388f0cec39238b6d0d55a69fc2ab6b29 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: ^2.1.0 + checksum: 7167432de6817fe8e9e0c9684f1d2de2bb688c94388f7569f7dbdb1587c9f4ca2a77962f134ec90be0cc4d004c939ff0d05acc9f34a0db39a3c797dada262633 + languageName: node + linkType: hard + +"urix@npm:^0.1.0": + version: 0.1.0 + resolution: "urix@npm:0.1.0" + checksum: 4c076ecfbf3411e888547fe844e52378ab5ada2d2f27625139011eada79925e77f7fbf0e4016d45e6a9e9adb6b7e64981bd49b22700c7c401c5fc15f423303b3 + languageName: node + linkType: hard + +"use@npm:^3.1.0": + version: 3.1.1 + resolution: "use@npm:3.1.1" + checksum: 08a130289f5238fcbf8f59a18951286a6e660d17acccc9d58d9b69dfa0ee19aa038e8f95721b00b432c36d1629a9e32a464bf2e7e0ae6a244c42ddb30bdd8b33 + languageName: node + linkType: hard + +"utf8@npm:^2.1.1": + version: 2.1.2 + resolution: "utf8@npm:2.1.2" + checksum: de5d18adb219cae7871e1c105249e2fc7e6cae0e01c2b4c2eb6b099851b3bf62d1db6be6d83b5e4dea09036f8d16dd7222ad46eb326b38940a988e86743c1a61 + languageName: node + linkType: hard + +"utf8@npm:^3.0.0": + version: 3.0.0 + resolution: "utf8@npm:3.0.0" + checksum: cb89a69ad9ab393e3eae9b25305b3ff08bebca9adc839191a34f90777eb2942f86a96369d2839925fea58f8f722f7e27031d697f10f5f39690f8c5047303e62d + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 + languageName: node + linkType: hard + +"util@npm:^0.12.0": + version: 0.12.4 + resolution: "util@npm:0.12.4" + dependencies: + inherits: ^2.0.3 + is-arguments: ^1.0.4 + is-generator-function: ^1.0.7 + is-typed-array: ^1.1.3 + safe-buffer: ^5.1.2 + which-typed-array: ^1.1.2 + checksum: 8eac7a6e6b341c0f1b3eb73bbe5dfcae31a7e9699c8fc3266789f3e95f7637946a7700dcf1904dbd3749a58a36760ebf7acf4bb5b717f7468532a8a79f44eff0 + languageName: node + linkType: hard + +"uuid@npm:^3.3.2": + version: 3.3.3 + resolution: "uuid@npm:3.3.3" + bin: + uuid: ./bin/uuid + checksum: 21133d0e8a85e607f59a66913bf4f1dd79bdc4a80979a872b913f7ec75f530255edfe8bc6b69ce32017b8367f0d60a8b24ccd2af99156dc1ef2b8b9fe0ec8065 + languageName: node + linkType: hard + +"uuid@npm:^8.3.0, uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 5575a8a75c13120e2f10e6ddc801b2c7ed7d8f3c8ac22c7ed0c7b2ba6383ec0abda88c905085d630e251719e0777045ae3236f04c812184b7c765f63a70e58df + languageName: node + linkType: hard + +"v8-compile-cache@npm:^2.0.3": + version: 2.1.1 + resolution: "v8-compile-cache@npm:2.1.1" + checksum: 692f6bc698df9167cb71e5ba1232e90ab06f9da0de6723e7be33c507d1b094472d791affd94c6b1121a3259855b7438e6cb5d3b40a84fead9b74ede985a201ca + languageName: node + linkType: hard + +"v8-to-istanbul@npm:^5.0.1": + version: 5.0.1 + resolution: "v8-to-istanbul@npm:5.0.1" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.1 + convert-source-map: ^1.6.0 + source-map: ^0.7.3 + checksum: f3e8e9005a7ae94504f584e2a528a8cd9e2d4e83c71872e21f29124c175bbee93513902ffccbddf153ebcf813b98dba276fb8cedfca71310e2d3f2b6d8ecd396 + languageName: node + linkType: hard + +"validate-npm-package-license@npm:^3.0.1": + version: 3.0.4 + resolution: "validate-npm-package-license@npm:3.0.4" + dependencies: + spdx-correct: ^3.0.0 + spdx-expression-parse: ^3.0.0 + checksum: 35703ac889d419cf2aceef63daeadbe4e77227c39ab6287eeb6c1b36a746b364f50ba22e88591f5d017bc54685d8137bc2d328d0a896e4d3fd22093c0f32a9ad + languageName: node + linkType: hard + +"verror@npm:1.10.0": + version: 1.10.0 + resolution: "verror@npm:1.10.0" + dependencies: + assert-plus: ^1.0.0 + core-util-is: 1.0.2 + extsprintf: ^1.2.0 + checksum: c431df0bedf2088b227a4e051e0ff4ca54df2c114096b0c01e1cbaadb021c30a04d7dd5b41ab277bcd51246ca135bf931d4c4c796ecae7a4fef6d744ecef36ea + languageName: node + linkType: hard + +"vscode-oniguruma@npm:^1.6.1": + version: 1.6.2 + resolution: "vscode-oniguruma@npm:1.6.2" + checksum: 6b754acdafd5b68242ea5938bb00a32effc16c77f471d4f0f337d879d0e8e592622998e2441f42d9a7ff799c1593f31c11f26ca8d9bf9917e3ca881d3c1f3e19 + languageName: node + linkType: hard + +"vscode-textmate@npm:5.2.0": + version: 5.2.0 + resolution: "vscode-textmate@npm:5.2.0" + checksum: 5449b42d451080f6f3649b66948f4b5ee4643c4e88cfe3558a3b31c84c78060cfdd288c4958c1690eaa5cd65d09992fa6b7c3bef9d4aa72b3651054a04624d20 + languageName: node + linkType: hard + +"w3c-hr-time@npm:^1.0.1, w3c-hr-time@npm:^1.0.2": + version: 1.0.2 + resolution: "w3c-hr-time@npm:1.0.2" + dependencies: + browser-process-hrtime: ^1.0.0 + checksum: ec3c2dacbf8050d917bbf89537a101a08c2e333b4c19155f7d3bedde43529d4339db6b3d049d9610789cb915f9515f8be037e0c54c079e9d4735c50b37ed52b9 + languageName: node + linkType: hard + +"w3c-xmlserializer@npm:^1.1.2": + version: 1.1.2 + resolution: "w3c-xmlserializer@npm:1.1.2" + dependencies: + domexception: ^1.0.1 + webidl-conversions: ^4.0.2 + xml-name-validator: ^3.0.0 + checksum: 1683e083d0dfc1529988f8956510a3a26e90738b41c4df0c7eb95283bfbeabeb492308117dcd32afef2a141e2a959ddf10ce562983d91b9f474a530b9dcdd337 + languageName: node + linkType: hard + +"w3c-xmlserializer@npm:^2.0.0": + version: 2.0.0 + resolution: "w3c-xmlserializer@npm:2.0.0" + dependencies: + xml-name-validator: ^3.0.0 + checksum: ae25c51cf71f1fb2516df1ab33a481f83461a117565b95e3d0927432522323f93b1b2846cbb60196d337970c421adb604fc2d0d180c6a47a839da01db5b9973b + languageName: node + linkType: hard + +"walker@npm:^1.0.7, walker@npm:~1.0.5": + version: 1.0.7 + resolution: "walker@npm:1.0.7" + dependencies: + makeerror: 1.0.x + checksum: 4038fcf92f6ab0288267ad05008aec9e089a759f1bd32e1ea45cc2eb498eb12095ec43cf8ca2bf23a465f4580a0d33b25b89f450ba521dd27083cbc695ee6bf5 + languageName: node + linkType: hard + +"web3-provider-engine@npm:^16.0.3": + version: 16.0.3 + resolution: "web3-provider-engine@npm:16.0.3" + dependencies: + "@ethereumjs/tx": ^3.3.0 + async: ^2.5.0 + backoff: ^2.5.0 + clone: ^2.0.0 + cross-fetch: ^2.1.0 + eth-block-tracker: ^4.4.2 + eth-json-rpc-filters: ^4.2.1 + eth-json-rpc-infura: ^5.1.0 + eth-json-rpc-middleware: ^6.0.0 + eth-rpc-errors: ^3.0.0 + eth-sig-util: ^1.4.2 + ethereumjs-block: ^1.2.2 + ethereumjs-util: ^5.1.5 + ethereumjs-vm: ^2.3.4 + json-stable-stringify: ^1.0.1 + promise-to-callback: ^1.0.0 + readable-stream: ^2.2.9 + request: ^2.85.0 + semaphore: ^1.0.3 + ws: ^5.1.1 + xhr: ^2.2.0 + xtend: ^4.0.1 + checksum: 31549e1afee0a2bc67425349535b733d4d7fe00caf08686a6f892ed68c4cf5aded3a995769d8a642dfa116a404a6d1261f0c6769836cd49509f8ec771e68fe65 + languageName: node + linkType: hard + +"web3@npm:^0.20.7": + version: 0.20.7 + resolution: "web3@npm:0.20.7" + dependencies: + bignumber.js: "git+https://github.com/frozeman/bignumber.js-nolookahead.git" + crypto-js: ^3.1.4 + utf8: ^2.1.1 + xhr2-cookies: ^1.1.0 + xmlhttprequest: "*" + checksum: acec4beac2265a7ff864f35df5a709d086d2bdb4c0e1dbf323e07b963bee5662c1b18fd26c7f11595006a3a9288d769b75f6e43c5aa3bfc36e957650cd2ac4b6 + languageName: node + linkType: hard + +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: c92a0a6ab95314bde9c32e1d0a6dfac83b578f8fa5f21e675bc2706ed6981bc26b7eb7e6a1fab158e5ce4adf9caa4a0aee49a52505d4d13c7be545f15021b17c + languageName: node + linkType: hard + +"webidl-conversions@npm:^4.0.2": + version: 4.0.2 + resolution: "webidl-conversions@npm:4.0.2" + checksum: c93d8dfe908a0140a4ae9c0ebc87a33805b416a33ee638a605b551523eec94a9632165e54632f6d57a39c5f948c4bab10e0e066525e9a4b87a79f0d04fbca374 + languageName: node + linkType: hard + +"webidl-conversions@npm:^5.0.0": + version: 5.0.0 + resolution: "webidl-conversions@npm:5.0.0" + checksum: ccf1ec2ca7c0b5671e5440ace4a66806ae09c49016ab821481bec0c05b1b82695082dc0a27d1fe9d804d475a408ba0c691e6803fd21be608e710955d4589cd69 + languageName: node + linkType: hard + +"webidl-conversions@npm:^6.1.0": + version: 6.1.0 + resolution: "webidl-conversions@npm:6.1.0" + checksum: 1f526507aa491f972a0c1409d07f8444e1d28778dfa269a9971f2e157182f3d496dc33296e4ed45b157fdb3bf535bb90c90bf10c50dcf1dd6caacb2a34cc84fb + languageName: node + linkType: hard + +"whatwg-encoding@npm:^1.0.1, whatwg-encoding@npm:^1.0.5": + version: 1.0.5 + resolution: "whatwg-encoding@npm:1.0.5" + dependencies: + iconv-lite: 0.4.24 + checksum: 5be4efe111dce29ddee3448d3915477fcc3b28f991d9cf1300b4e50d6d189010d47bca2f51140a844cf9b726e8f066f4aee72a04d687bfe4f2ee2767b2f5b1e6 + languageName: node + linkType: hard + +"whatwg-fetch@npm:^2.0.4": + version: 2.0.4 + resolution: "whatwg-fetch@npm:2.0.4" + checksum: de7c65a68d7d62e2f144a6b30293370b3ad82b65ebcd68f2ac8e8bbe7ede90febd98ba9486b78c1cbc950e0e8838fa5c2727f939899ab3fc7b71a04be52d33a5 + languageName: node + linkType: hard + +"whatwg-fetch@npm:^3.4.1": + version: 3.4.1 + resolution: "whatwg-fetch@npm:3.4.1" + checksum: c27cd1a06bdb661a39ae632806dc539e0b45e0e09b0c43aa0796366727fd3c419a29d39978c769dda3cb860c4970d51079e99ee748aa5eb53cc2496374da4de6 + languageName: node + linkType: hard + +"whatwg-mimetype@npm:^2.2.0, whatwg-mimetype@npm:^2.3.0": + version: 2.3.0 + resolution: "whatwg-mimetype@npm:2.3.0" + checksum: 23eb885940bcbcca4ff841c40a78e9cbb893ec42743993a42bf7aed16085b048b44b06f3402018931687153550f9a32d259dfa524e4f03577ab898b6965e5383 + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: ~0.0.3 + webidl-conversions: ^3.0.0 + checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c + languageName: node + linkType: hard + +"whatwg-url@npm:^7.0.0": + version: 7.1.0 + resolution: "whatwg-url@npm:7.1.0" + dependencies: + lodash.sortby: ^4.7.0 + tr46: ^1.0.1 + webidl-conversions: ^4.0.2 + checksum: fecb07c87290b47d2ec2fb6d6ca26daad3c9e211e0e531dd7566e7ff95b5b3525a57d4f32640ad4adf057717e0c215731db842ad761e61d947e81010e05cf5fd + languageName: node + linkType: hard + +"whatwg-url@npm:^8.0.0": + version: 8.2.2 + resolution: "whatwg-url@npm:8.2.2" + dependencies: + lodash.sortby: ^4.7.0 + tr46: ^2.0.2 + webidl-conversions: ^6.1.0 + checksum: 07dbbbbafe58a82f7de31a3904861c7a93e66b2763d5d88d242e0d6a22b4978fc99dc00258914394ac7cbbbca2a4d31c7ad6f5c13218ffdd81ac84eb3fdc67d5 + languageName: node + linkType: hard + +"which-boxed-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "which-boxed-primitive@npm:1.0.2" + dependencies: + is-bigint: ^1.0.1 + is-boolean-object: ^1.1.0 + is-number-object: ^1.0.4 + is-string: ^1.0.5 + is-symbol: ^1.0.3 + checksum: 53ce774c7379071729533922adcca47220228405e1895f26673bbd71bdf7fb09bee38c1d6399395927c6289476b5ae0629863427fd151491b71c4b6cb04f3a5e + languageName: node + linkType: hard + +"which-module@npm:^2.0.0": + version: 2.0.0 + resolution: "which-module@npm:2.0.0" + checksum: 809f7fd3dfcb2cdbe0180b60d68100c88785084f8f9492b0998c051d7a8efe56784492609d3f09ac161635b78ea29219eb1418a98c15ce87d085bce905705c9c + languageName: node + linkType: hard + +"which-typed-array@npm:^1.1.2": + version: 1.1.7 + resolution: "which-typed-array@npm:1.1.7" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + es-abstract: ^1.18.5 + foreach: ^2.0.5 + has-tostringtag: ^1.0.0 + is-typed-array: ^1.1.7 + checksum: 147837cf5866e36b6b2e427731709e02f79f1578477cbde68ed773a5307520a6cb6836c73c79c30690a473266ee59010b83b6d9b25d8d677a40ff77fb37a8a84 + languageName: node + linkType: hard + +"which@npm:^1.2.9": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: ^2.0.0 + bin: + which: ./bin/which + checksum: f2e185c6242244b8426c9df1510e86629192d93c1a986a7d2a591f2c24869e7ffd03d6dac07ca863b2e4c06f59a4cc9916c585b72ee9fa1aa609d0124df15e04 + languageName: node + linkType: hard + +"which@npm:^2.0.1, which@npm:^2.0.2": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: ^2.0.0 + bin: + node-which: ./bin/node-which + checksum: 1a5c563d3c1b52d5f893c8b61afe11abc3bab4afac492e8da5bde69d550de701cf9806235f20a47b5c8fa8a1d6a9135841de2596535e998027a54589000e66d1 + languageName: node + linkType: hard + +"wide-align@npm:^1.1.0": + version: 1.1.3 + resolution: "wide-align@npm:1.1.3" + dependencies: + string-width: ^1.0.2 || 2 + checksum: d09c8012652a9e6cab3e82338d1874a4d7db2ad1bd19ab43eb744acf0b9b5632ec406bdbbbb970a8f4771a7d5ef49824d038ba70aa884e7723f5b090ab87134d + languageName: node + linkType: hard + +"wide-align@npm:^1.1.5": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" + dependencies: + string-width: ^1.0.2 || 2 || 3 || 4 + checksum: d5fc37cd561f9daee3c80e03b92ed3e84d80dde3365a8767263d03dacfc8fa06b065ffe1df00d8c2a09f731482fcacae745abfbb478d4af36d0a891fad4834d3 + languageName: node + linkType: hard + +"word-wrap@npm:^1.2.3": + version: 1.2.3 + resolution: "word-wrap@npm:1.2.3" + checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f + languageName: node + linkType: hard + +"wordwrap@npm:~1.0.0": + version: 1.0.0 + resolution: "wordwrap@npm:1.0.0" + checksum: 2a44b2788165d0a3de71fd517d4880a8e20ea3a82c080ce46e294f0b68b69a2e49cff5f99c600e275c698a90d12c5ea32aff06c311f0db2eb3f1201f3e7b2a04 + languageName: node + linkType: hard + +"wrap-ansi@npm:^6.2.0": + version: 6.2.0 + resolution: "wrap-ansi@npm:6.2.0" + dependencies: + ansi-styles: ^4.0.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + checksum: 6cd96a410161ff617b63581a08376f0cb9162375adeb7956e10c8cd397821f7eb2a6de24eb22a0b28401300bf228c86e50617cd568209b5f6775b93c97d2fe3a + languageName: node + linkType: hard + +"wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: ^4.0.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + checksum: a790b846fd4505de962ba728a21aaeda189b8ee1c7568ca5e817d85930e06ef8d1689d49dbf0e881e8ef84436af3a88bc49115c2e2788d841ff1b8b5b51a608b + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 159da4805f7e84a3d003d8841557196034155008f817172d4e986bd591f74aa82aa7db55929a54222309e01079a65a92a9e6414da5a6aa4b01ee44a511ac3ee5 + languageName: node + linkType: hard + +"write-file-atomic@npm:^3.0.0": + version: 3.0.3 + resolution: "write-file-atomic@npm:3.0.3" + dependencies: + imurmurhash: ^0.1.4 + is-typedarray: ^1.0.0 + signal-exit: ^3.0.2 + typedarray-to-buffer: ^3.1.5 + checksum: c55b24617cc61c3a4379f425fc62a386cc51916a9b9d993f39734d005a09d5a4bb748bc251f1304e7abd71d0a26d339996c275955f527a131b1dcded67878280 + languageName: node + linkType: hard + +"ws@npm:7.4.6": + version: 7.4.6 + resolution: "ws@npm:7.4.6" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 3a990b32ed08c72070d5e8913e14dfcd831919205be52a3ff0b4cdd998c8d554f167c9df3841605cde8b11d607768cacab3e823c58c96a5c08c987e093eb767a + languageName: node + linkType: hard + +"ws@npm:^5.1.1": + version: 5.2.3 + resolution: "ws@npm:5.2.3" + dependencies: + async-limiter: ~1.0.0 + checksum: bdb2223a40c2c68cf91b25a6c9b8c67d5275378ec6187f343314d3df7530e55b77cb9fe79fb1c6a9758389ac5aefc569d24236924b5c65c5dbbaff409ef739fc + languageName: node + linkType: hard + +"ws@npm:^7.0.0, ws@npm:^7.2.3": + version: 7.3.1 + resolution: "ws@npm:7.3.1" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 4dc06da11813b7d7f2b2a662ed372418a0d28846b5ee5bda6cdf45402dbe00d8744e27080acfd4e8a31af093719be55f34a9c6878aa0a76ac4d22e4a3a7c3537 + languageName: node + linkType: hard + +"xhr2-cookies@npm:^1.1.0": + version: 1.1.0 + resolution: "xhr2-cookies@npm:1.1.0" + dependencies: + cookiejar: ^2.1.1 + checksum: 6a9fc45f3490cc53e6a308bd7164dab07ecb94f6345e78951ed4a1e8f8c4c7707a1b039a6b4ef7c9d611d9465d6f94d7d4260c43bc34eed8d6f9210a775eb719 + languageName: node + linkType: hard + +"xhr2@npm:0.1.3": + version: 0.1.3 + resolution: "xhr2@npm:0.1.3" + checksum: 4a3bdcf5f39b4bddc99fd3de1de2f88ce3f23430483bfe6a50628b2c999af3073a781c95f42e161d332de209101fbd313501ba38a7a883dec566c60914042aa2 + languageName: node + linkType: hard + +"xhr@npm:^2.2.0": + version: 2.5.0 + resolution: "xhr@npm:2.5.0" + dependencies: + global: ~4.3.0 + is-function: ^1.0.1 + parse-headers: ^2.0.0 + xtend: ^4.0.0 + checksum: 6afd2024a68ffdfb7c68d288e262b19ce2b0e72bc8335a145379e4bfab2460187d007aea17d86c2a4d3ff79a9bc2ae09e3e5f6f562ab5ef3de0f7c297661ae93 + languageName: node + linkType: hard + +"xml-name-validator@npm:^3.0.0": + version: 3.0.0 + resolution: "xml-name-validator@npm:3.0.0" + checksum: b3ac459afed783c285bb98e4960bd1f3ba12754fd4f2320efa0f9181ca28928c53cc75ca660d15d205e81f92304419afe94c531c7cfb3e0649aa6d140d53ecb0 + languageName: node + linkType: hard + +"xmlchars@npm:^2.1.1, xmlchars@npm:^2.2.0": + version: 2.2.0 + resolution: "xmlchars@npm:2.2.0" + checksum: 8c70ac94070ccca03f47a81fcce3b271bd1f37a591bf5424e787ae313fcb9c212f5f6786e1fa82076a2c632c0141552babcd85698c437506dfa6ae2d58723062 + languageName: node + linkType: hard + +"xmlhttprequest@npm:*": + version: 1.8.0 + resolution: "xmlhttprequest@npm:1.8.0" + checksum: c891cf0d7884b4f5cce835aa01f1965727cd352cbd2d7a2e0605bf11ec99ae2198364cca54656ec8b2581a5704dee6c2bf9911922a0ff2a71b613455d32e81b7 + languageName: node + linkType: hard + +"xtend@npm:^4.0.0, xtend@npm:^4.0.1, xtend@npm:~4.0.0, xtend@npm:~4.0.1": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a + languageName: node + linkType: hard + +"xtend@npm:~2.1.1": + version: 2.1.2 + resolution: "xtend@npm:2.1.2" + dependencies: + object-keys: ~0.4.0 + checksum: a8b79f31502c163205984eaa2b196051cd2fab0882b49758e30f2f9018255bc6c462e32a090bf3385d1bda04755ad8cc0052a09e049b0038f49eb9b950d9c447 + languageName: node + linkType: hard + +"y18n@npm:^4.0.0": + version: 4.0.1 + resolution: "y18n@npm:4.0.1" + checksum: b31f20cda288a92558e076ed29f5202b60ec41e5a1ddc3368464a6365038f5da6dcd9b30ee0e36c8cd8d354a7eae33d78236191d8b744d1c5199c7fd1f67f055 + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 54f0fb95621ee60898a38c572c515659e51cc9d9f787fb109cef6fde4befbe1c4602dc999d30110feee37456ad0f1660fa2edcfde6a9a740f86a290999550d30 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 343617202af32df2a15a3be36a5a8c0c8545208f3d3dfbc6bb7c3e3b7e8c6f8e7485432e4f3b88da3031a6e20afa7c711eded32ddfb122896ac5d914e75848d5 + languageName: node + linkType: hard + +"yargs-parser@npm:20.x": + version: 20.2.6 + resolution: "yargs-parser@npm:20.2.6" + checksum: 4209eed182dfaa83f6f35610e50c1deab5156b35fc79738aadce083895265261d65431404a3b70b7b16a1e3f8751c1aeb1877683326827eea512b3242e338699 + languageName: node + linkType: hard + +"yargs-parser@npm:^18.1.2": + version: 18.1.3 + resolution: "yargs-parser@npm:18.1.3" + dependencies: + camelcase: ^5.0.0 + decamelize: ^1.2.0 + checksum: 60e8c7d1b85814594d3719300ecad4e6ae3796748b0926137bfec1f3042581b8646d67e83c6fc80a692ef08b8390f21ddcacb9464476c39bbdf52e34961dd4d9 + languageName: node + linkType: hard + +"yargs-parser@npm:^20.2.2": + version: 20.2.7 + resolution: "yargs-parser@npm:20.2.7" + checksum: ec0ea9e1b5699977380583f5ab1c0e2c6fc5f1ed374eb3053c458df00c543effba53628ad3297f3ccc769660518d5e376fd1cfb298b8e37077421aca8d75ae89 + languageName: node + linkType: hard + +"yargs@npm:^15.3.1": + version: 15.4.1 + resolution: "yargs@npm:15.4.1" + dependencies: + cliui: ^6.0.0 + decamelize: ^1.2.0 + find-up: ^4.1.0 + get-caller-file: ^2.0.1 + require-directory: ^2.1.1 + require-main-filename: ^2.0.0 + set-blocking: ^2.0.0 + string-width: ^4.2.0 + which-module: ^2.0.0 + y18n: ^4.0.0 + yargs-parser: ^18.1.2 + checksum: 40b974f508d8aed28598087720e086ecd32a5fd3e945e95ea4457da04ee9bdb8bdd17fd91acff36dc5b7f0595a735929c514c40c402416bbb87c03f6fb782373 + languageName: node + linkType: hard + +"yargs@npm:^16.2.0": + version: 16.2.0 + resolution: "yargs@npm:16.2.0" + dependencies: + cliui: ^7.0.2 + escalade: ^3.1.1 + get-caller-file: ^2.0.5 + require-directory: ^2.1.1 + string-width: ^4.2.0 + y18n: ^5.0.5 + yargs-parser: ^20.2.2 + checksum: b14afbb51e3251a204d81937c86a7e9d4bdbf9a2bcee38226c900d00f522969ab675703bee2a6f99f8e20103f608382936034e64d921b74df82b63c07c5e8f59 + languageName: node + linkType: hard + +"yargs@npm:^17.0.1": + version: 17.0.1 + resolution: "yargs@npm:17.0.1" + dependencies: + cliui: ^7.0.2 + escalade: ^3.1.1 + get-caller-file: ^2.0.5 + require-directory: ^2.1.1 + string-width: ^4.2.0 + y18n: ^5.0.5 + yargs-parser: ^20.2.2 + checksum: 4ffffa5a82647e5d07840b64bed88c365b901d3d4a4c51745dddb10d177902d85014026d7224aae18c42df9ca3f75a41c5aff556e5342e2f8ffc5177d149cd17 + languageName: node + linkType: hard From 0da8306deac8fb924a7b66d6b22a78e2e7cadad6 Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Mon, 6 Jun 2022 20:25:26 -0230 Subject: [PATCH 003/115] Replace `setup` script with new Yarn plugin The old `setup` script has been replaced with a Yarn v3 plugin that will automatically run `allow-scripts` after install. We can now use `yarn install` again as normal. This was done to address a problem that happened when running `yarn setup` for the first time. If Yarn 3 wasn't installed already, it would throw an error. Yarn 3 doesn't automatically install itself until you run the `install` command directly. The `setup` script has been left behind for now so that it still works if people run it accidentally. We can remove it later once we've become accustomed to this new workflow. --- .github/workflows/build-lint-test.yml | 1 - .github/workflows/publish-release.yml | 2 +- .yarn/plugins/plugin-allow-scripts.cjs | 18 ++++++++++++++++++ .yarnrc.yml | 12 +++++++++++- README.md | 3 +-- package.json | 2 +- 6 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 .yarn/plugins/plugin-allow-scripts.cjs diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index e90d3c8742..0574edd4f4 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -31,7 +31,6 @@ jobs: path: ${{ steps.yarn-cache-dir.outputs.YARN_CACHE_DIR }} key: yarn-cache-${{ runner.os }}-${{ steps.yarn-version.outputs.YARN_VERSION }}-${{ hashFiles('yarn.lock') }} - run: yarn --immutable - - run: yarn allow-scripts - run: yarn build - run: yarn lint - run: yarn test --maxWorkers=1 diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 218264e6c5..c3bd41f0dc 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -26,7 +26,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - yarn setup + yarn install yarn build - uses: actions/cache@v3 id: restore-build diff --git a/.yarn/plugins/plugin-allow-scripts.cjs b/.yarn/plugins/plugin-allow-scripts.cjs new file mode 100644 index 0000000000..44e42da4f7 --- /dev/null +++ b/.yarn/plugins/plugin-allow-scripts.cjs @@ -0,0 +1,18 @@ +module.exports = { + name: `plugin-allow-scripts`, + factory: (yarnRequire) => ({ + hooks: { + afterAllInstalled: async () => { + const { execute } = yarnRequire('@yarnpkg/shell'); + const exitCode = await execute('yarn run allow-scripts'); + + if (exitCode !== 0) { + // We have to use `process.exit` here rather than setting `process.exitCode` + // because Yarn will override any exit code set in this hook. + // eslint-disable-next-line node/no-process-exit + process.exit(exitCode); + } + }, + }, + }), +}; diff --git a/.yarnrc.yml b/.yarnrc.yml index 10d4eb4c70..210d4f5e46 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -1,9 +1,19 @@ # We use allow-scripts to manually enable scripts and then run them enableScripts: false +# This ignores the warnings caused by `enableScripts` +logFilters: + - code: YN0004 + level: discard + # This ensures Yarn still uses a `node_modules` directory, which is required # right now for TypeScript to find @types/* packages nodeLinker: node-modules -# The current version of Yarn we're using +plugins: + # This plugin runs `allow-scripts` automatically after install + # TODO: migrate to the "official" version of this plugin: https://github.com/LavaMoat/LavaMoat/pull/345 + - path: .yarn/plugins/plugin-allow-scripts.cjs + spec: plugin-allow-scripts.js + yarnPath: .yarn/releases/yarn-3.2.1.cjs diff --git a/README.md b/README.md index b02190b3b6..853a61fe92 100644 --- a/README.md +++ b/README.md @@ -260,8 +260,7 @@ console.log(datamodel.flatState); // {infura: {...}, contractExchangeRates: [... - Install [Node.js](https://nodejs.org) version 12 - If you are using [nvm](https://github.com/creationix/nvm#installation) (recommended) running `nvm use` will automatically choose the right node version for you. - Install [Yarn v3](https://yarnpkg.com/getting-started/install) -- Run `yarn setup` to install dependencies and run any requried post-install scripts - - **Warning:** Do not use the `yarn` / `yarn install` command directly. Use `yarn setup` instead. The normal install command will skip required post-install scripts, leaving your development environment in an invalid state. +- Run `yarn install` to install dependencies and run any requried post-install scripts ### Testing and Linting diff --git a/package.json b/package.json index d0ada6a4d8..c6d29d3abb 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write", "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' --ignore-path .gitignore", "prepack": "yarn build", - "setup": "yarn install && yarn allow-scripts", + "setup": "yarn install", "test": "jest", "test:watch": "jest --watch" }, From 36afcd433c26a65581883a662a43ced29d947adb Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Tue, 7 Jun 2022 16:56:54 -0230 Subject: [PATCH 004/115] Fix typo Co-authored-by: Elliot Winkler --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 853a61fe92..16ac07212e 100644 --- a/README.md +++ b/README.md @@ -260,7 +260,7 @@ console.log(datamodel.flatState); // {infura: {...}, contractExchangeRates: [... - Install [Node.js](https://nodejs.org) version 12 - If you are using [nvm](https://github.com/creationix/nvm#installation) (recommended) running `nvm use` will automatically choose the right node version for you. - Install [Yarn v3](https://yarnpkg.com/getting-started/install) -- Run `yarn install` to install dependencies and run any requried post-install scripts +- Run `yarn install` to install dependencies and run any required post-install scripts ### Testing and Linting From 30e86e298f81adef1759a8b4c29dd471bf170a3e Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Wed, 8 Jun 2022 10:57:26 -0600 Subject: [PATCH 005/115] Move remaining packages to packages/ Other changes: * Remove overrides in `.eslintrc` for import/*` rules * gitignore `*.tsbuildinfo` files * Fix file name of `constraints.pro` so it actually takes effect * Get `yarn lint` working --- .eslintrc.js | 8 +- .gitignore | 3 + README.md | 6 +- constraints.pro | 73 + contraints.pro | 59 - jest.config.packages.ts | 2 +- package.json | 5 +- packages/announcement-controller/CHANGELOG.md | 3 + .../README.md | 8 +- .../jest.config.ts | 13 +- .../package.json | 11 +- .../src}/AnnouncementController.test.ts | 0 .../src}/AnnouncementController.ts | 6 +- packages/announcement-controller/src/index.ts | 1 + .../tsconfig.build.json | 10 + .../announcement-controller/tsconfig.json | 8 + packages/approval-controller/CHANGELOG.md | 3 + packages/approval-controller/README.md | 19 + packages/approval-controller/jest.config.ts | 17 + packages/approval-controller/package.json | 41 + .../src}/ApprovalController.test.js | 2 +- .../src}/ApprovalController.test.ts | 2 +- .../src}/ApprovalController.ts | 8 +- packages/approval-controller/src/index.ts | 1 + .../approval-controller/tsconfig.build.json | 10 + packages/approval-controller/tsconfig.json | 8 + packages/assets-controllers/CHANGELOG.md | 3 + packages/assets-controllers/README.md | 19 + .../assets-controllers/__mocks__}/uuid.js | 0 packages/assets-controllers/jest.config.ts | 17 + packages/assets-controllers/package.json | 55 + .../src}/AccountTrackerController.test.ts | 6 +- .../src}/AccountTrackerController.ts | 14 +- .../src}/AssetsContractController.test.ts | 10 +- .../src}/AssetsContractController.ts | 16 +- .../CollectibleDetectionController.test.ts | 6 +- .../src}/CollectibleDetectionController.ts | 20 +- .../src}/CollectiblesController.test.ts | 8 +- .../src}/CollectiblesController.ts | 16 +- .../src}/CurrencyRateController.test.ts | 4 +- .../src}/CurrencyRateController.ts | 17 +- .../ERC1155/ERC1155Standard.test.ts | 0 .../ERC1155/ERC1155Standard.ts | 6 +- .../ERC721/ERC721Standard.test.ts | 2 +- .../ERC721/ERC721Standard.ts | 8 +- .../src}/Standards/ERC20Standard.test.ts | 0 .../src}/Standards/ERC20Standard.ts | 2 +- .../src}/Standards/standards-types.ts | 0 .../src}/TokenBalancesController.test.ts | 4 +- .../src}/TokenBalancesController.ts | 10 +- .../src}/TokenDetectionController.test.ts | 15 +- .../src}/TokenDetectionController.ts | 12 +- .../src}/TokenListController.test.ts | 6 +- .../src}/TokenListController.ts | 16 +- .../src}/TokenRatesController.test.ts | 4 +- .../src}/TokenRatesController.ts | 19 +- .../src}/TokensController.test.ts | 6 +- .../src}/TokensController.ts | 23 +- .../src}/assetsUtil.test.ts | 116 +- .../assets-controllers/src}/assetsUtil.ts | 37 + packages/assets-controllers/src/index.ts | 10 + .../assets-controllers/tsconfig.build.json | 15 + packages/assets-controllers/tsconfig.json | 13 + packages/base-controller/CHANGELOG.md | 2 +- packages/base-controller/README.md | 2 +- packages/base-controller/jest.config.ts | 5 +- packages/base-controller/package.json | 10 +- packages/composable-controller/CHANGELOG.md | 3 + packages/composable-controller/README.md | 19 + packages/composable-controller/jest.config.ts | 17 + packages/composable-controller/package.json | 41 + .../src}/ComposableController.test.ts | 28 +- .../src}/ComposableController.ts | 6 +- packages/composable-controller/src/index.ts | 1 + .../composable-controller/tsconfig.build.json | 16 + packages/composable-controller/tsconfig.json | 14 + packages/controller-utils/CHANGELOG.md | 2 +- packages/controller-utils/README.md | 2 +- packages/controller-utils/jest.config.ts | 5 +- packages/controller-utils/package.json | 16 +- .../controller-utils/src}/constants.ts | 0 .../src}/crypto-compare.test.ts | 0 .../controller-utils/src}/crypto-compare.ts | 2 +- packages/controller-utils/src/index.ts | 5 + .../src}/token-service.test.ts | 47 +- .../controller-utils/src}/token-service.ts | 2 +- packages/controller-utils/src/util.test.ts | 689 ++++ packages/controller-utils/src/util.ts | 620 ++++ packages/ens-controller/CHANGELOG.md | 3 - packages/gas-fee-controller/CHANGELOG.md | 3 + packages/gas-fee-controller/README.md | 19 + packages/gas-fee-controller/jest.config.ts | 17 + packages/gas-fee-controller/package.json | 48 + .../src}/GasFeeController.test.ts | 2 +- .../src}/GasFeeController.ts | 11 +- .../src}/determineGasFeeCalculations.test.ts | 0 .../src}/determineGasFeeCalculations.ts | 0 .../src}/fetchBlockFeeHistory.test.ts | 2 +- .../src}/fetchBlockFeeHistory.ts | 2 +- .../fetchGasEstimatesViaEthFeeHistory.test.ts | 0 .../src}/fetchGasEstimatesViaEthFeeHistory.ts | 2 +- ...teGasFeeEstimatesForPriorityLevels.test.ts | 0 ...lculateGasFeeEstimatesForPriorityLevels.ts | 2 +- .../fetchLatestBlock.ts | 2 +- .../medianOf.ts | 0 .../types.ts | 0 .../gas-fee-controller/src}/gas-util.test.ts | 0 .../gas-fee-controller/src}/gas-util.ts | 7 +- packages/gas-fee-controller/src/index.ts | 1 + .../gas-fee-controller/tsconfig.build.json | 14 + packages/gas-fee-controller/tsconfig.json | 12 + packages/keyring-controller/CHANGELOG.md | 3 + packages/keyring-controller/README.md | 19 + packages/keyring-controller/jest.config.ts | 17 + packages/keyring-controller/package.json | 51 + .../src}/KeyringController.test.ts | 6 +- .../src}/KeyringController.ts | 12 +- packages/keyring-controller/src/index.ts | 1 + .../tests}/mocks/mockEncryptor.ts | 0 .../keyring-controller/tsconfig.build.json | 15 + packages/keyring-controller/tsconfig.json | 13 + packages/message-manager/CHANGELOG.md | 3 + packages/message-manager/README.md | 19 + packages/message-manager/jest.config.ts | 17 + packages/message-manager/package.json | 42 + .../src}/AbstractMessageManager.test.ts | 0 .../src}/AbstractMessageManager.ts | 6 +- .../src}/MessageManager.test.ts | 0 .../message-manager/src}/MessageManager.ts | 3 +- .../src}/PersonalMessageManager.test.ts | 0 .../src}/PersonalMessageManager.ts | 3 +- .../src}/TypedMessageManager.test.ts | 0 .../src}/TypedMessageManager.ts | 8 +- packages/message-manager/src/index.ts | 5 + packages/message-manager/src/utils.test.ts | 177 + packages/message-manager/src/utils.ts | 96 + .../tsconfig.build.json | 0 .../tsconfig.json | 0 packages/network-controller/CHANGELOG.md | 3 + packages/network-controller/README.md | 19 + packages/network-controller/jest.config.ts | 17 + packages/network-controller/package.json | 43 + .../src}/NetworkController.test.ts | 0 .../src}/NetworkController.ts | 8 +- packages/network-controller/src/index.ts | 1 + .../network-controller/tsconfig.build.json | 13 + packages/network-controller/tsconfig.json | 11 + packages/notification-controller/CHANGELOG.md | 3 + packages/notification-controller/README.md | 19 + .../notification-controller/jest.config.ts | 17 + packages/notification-controller/package.json | 40 + .../src}/NotificationController.test.ts | 2 +- .../src}/NotificationController.ts | 10 +- packages/notification-controller/src/index.ts | 1 + .../tsconfig.build.json | 13 + .../notification-controller/tsconfig.json | 11 + packages/permission-controller/CHANGELOG.md | 3 + packages/permission-controller/README.md | 19 + packages/permission-controller/jest.config.ts | 17 + packages/permission-controller/package.json | 46 + .../permission-controller/src}/Caveat.test.ts | 0 .../permission-controller/src}/Caveat.ts | 0 .../src}/Permission.test.ts | 0 .../permission-controller/src}/Permission.ts | 2 +- .../src}/PermissionController.test.ts | 8 +- .../src}/PermissionController.ts | 13 +- .../permission-controller/src}/README.md | 0 .../permission-controller/src}/errors.test.ts | 0 .../permission-controller/src}/errors.ts | 0 .../permission-controller/src}/index.ts | 0 .../src}/permission-middleware.ts | 0 .../src}/rpc-methods/getPermissions.test.ts | 0 .../src}/rpc-methods/getPermissions.ts | 0 .../src}/rpc-methods/index.ts | 0 .../rpc-methods/requestPermissions.test.ts | 0 .../src}/rpc-methods/requestPermissions.ts | 3 +- .../permission-controller/src}/utils.ts | 0 .../permission-controller/tsconfig.build.json | 14 + packages/permission-controller/tsconfig.json | 12 + packages/rate-limit-controller/CHANGELOG.md | 3 + packages/rate-limit-controller/README.md | 19 + packages/rate-limit-controller/jest.config.ts | 17 + packages/rate-limit-controller/package.json | 39 + .../src}/RateLimitController.test.ts | 2 +- .../src}/RateLimitController.ts | 8 +- packages/rate-limit-controller/src/index.ts | 1 + .../rate-limit-controller/tsconfig.build.json | 10 + packages/rate-limit-controller/tsconfig.json | 8 + .../subject-metadata-controller/CHANGELOG.md | 3 + .../subject-metadata-controller/README.md | 19 + .../jest.config.ts | 17 + .../subject-metadata-controller/package.json | 40 + .../src}/SubjectMetadataController.test.ts | 5 +- .../src}/SubjectMetadataController.ts | 9 +- .../subject-metadata-controller/src}/index.ts | 0 .../tsconfig.build.json | 13 + .../subject-metadata-controller/tsconfig.json | 11 + packages/third-party-controllers/CHANGELOG.md | 3 + packages/third-party-controllers/README.md | 19 + .../third-party-controllers/jest.config.ts | 17 + packages/third-party-controllers/package.json | 44 + .../src/EnsController.test.ts | 2 +- .../src/EnsController.ts | 0 .../src}/PhishingController.test.ts | 0 .../src}/PhishingController.ts | 8 +- .../src/index.ts | 2 + .../tsconfig.build.json | 13 + .../third-party-controllers/tsconfig.json | 11 + packages/transaction-controller/CHANGELOG.md | 3 + packages/transaction-controller/README.md | 19 + .../transaction-controller/jest.config.ts | 17 + packages/transaction-controller/package.json | 49 + .../src}/TransactionController.test.ts | 2 +- .../src}/TransactionController.ts | 13 +- packages/transaction-controller/src/index.ts | 2 + .../src}/mocks/txsMock.ts | 0 .../transaction-controller/src/utils.test.ts | 204 ++ packages/transaction-controller/src/utils.ts | 205 ++ .../tsconfig.build.json | 14 + packages/transaction-controller/tsconfig.json | 12 + packages/user-controllers/CHANGELOG.md | 3 + packages/user-controllers/README.md | 19 + packages/user-controllers/jest.config.ts | 17 + packages/user-controllers/package.json | 38 + .../src}/AddressBookController.test.ts | 0 .../src}/AddressBookController.ts | 8 +- .../src}/PreferencesController.test.ts | 0 .../src}/PreferencesController.ts | 8 +- packages/user-controllers/src/index.ts | 2 + packages/user-controllers/tsconfig.build.json | 13 + packages/user-controllers/tsconfig.json | 11 + src/BaseController.test.ts | 72 - src/BaseController.ts | 183 - src/BaseControllerV2.test.ts | 805 ----- src/BaseControllerV2.ts | 248 -- src/ControllerMessenger.test.ts | 1099 ------ src/ControllerMessenger.ts | 627 ---- src/index.ts | 42 - src/third-party/EnsController.test.ts | 260 -- src/third-party/EnsController.ts | 162 - src/util.test.ts | 1292 ------- src/util.ts | 1025 ------ tests/setupTests.ts | 1 - tsconfig.build.json | 15 +- tsconfig.json | 15 +- yarn.lock | 3066 ++++++++++++++++- 246 files changed, 7193 insertions(+), 6168 deletions(-) create mode 100644 constraints.pro delete mode 100644 contraints.pro create mode 100644 packages/announcement-controller/CHANGELOG.md rename packages/{ens-controller => announcement-controller}/README.md (52%) rename packages/{ens-controller => announcement-controller}/jest.config.ts (65%) rename packages/{ens-controller => announcement-controller}/package.json (75%) rename {src/announcement => packages/announcement-controller/src}/AnnouncementController.test.ts (100%) rename {src/announcement => packages/announcement-controller/src}/AnnouncementController.ts (96%) create mode 100644 packages/announcement-controller/src/index.ts create mode 100644 packages/announcement-controller/tsconfig.build.json create mode 100644 packages/announcement-controller/tsconfig.json create mode 100644 packages/approval-controller/CHANGELOG.md create mode 100644 packages/approval-controller/README.md create mode 100644 packages/approval-controller/jest.config.ts create mode 100644 packages/approval-controller/package.json rename {src/approval => packages/approval-controller/src}/ApprovalController.test.js (99%) rename {src/approval => packages/approval-controller/src}/ApprovalController.test.ts (99%) rename {src/approval => packages/approval-controller/src}/ApprovalController.ts (99%) create mode 100644 packages/approval-controller/src/index.ts create mode 100644 packages/approval-controller/tsconfig.build.json create mode 100644 packages/approval-controller/tsconfig.json create mode 100644 packages/assets-controllers/CHANGELOG.md create mode 100644 packages/assets-controllers/README.md rename {__mocks__ => packages/assets-controllers/__mocks__}/uuid.js (100%) create mode 100644 packages/assets-controllers/jest.config.ts create mode 100644 packages/assets-controllers/package.json rename {src/assets => packages/assets-controllers/src}/AccountTrackerController.test.ts (95%) rename {src/assets => packages/assets-controllers/src}/AccountTrackerController.ts (95%) rename {src/assets => packages/assets-controllers/src}/AssetsContractController.test.ts (97%) rename {src/assets => packages/assets-controllers/src}/AssetsContractController.ts (97%) rename {src/assets => packages/assets-controllers/src}/CollectibleDetectionController.test.ts (99%) rename {src/assets => packages/assets-controllers/src}/CollectibleDetectionController.ts (97%) rename {src/assets => packages/assets-controllers/src}/CollectiblesController.test.ts (99%) rename {src/assets => packages/assets-controllers/src}/CollectiblesController.ts (99%) rename {src/assets => packages/assets-controllers/src}/CurrencyRateController.test.ts (98%) rename {src/assets => packages/assets-controllers/src}/CurrencyRateController.ts (95%) rename {src/assets => packages/assets-controllers/src}/Standards/CollectibleStandards/ERC1155/ERC1155Standard.test.ts (100%) rename {src/assets => packages/assets-controllers/src}/Standards/CollectibleStandards/ERC1155/ERC1155Standard.ts (98%) rename {src/assets => packages/assets-controllers/src}/Standards/CollectibleStandards/ERC721/ERC721Standard.test.ts (99%) rename {src/assets => packages/assets-controllers/src}/Standards/CollectibleStandards/ERC721/ERC721Standard.ts (98%) rename {src/assets => packages/assets-controllers/src}/Standards/ERC20Standard.test.ts (100%) rename {src/assets => packages/assets-controllers/src}/Standards/ERC20Standard.ts (98%) rename {src/assets => packages/assets-controllers/src}/Standards/standards-types.ts (100%) rename {src/assets => packages/assets-controllers/src}/TokenBalancesController.test.ts (98%) rename {src/assets => packages/assets-controllers/src}/TokenBalancesController.ts (94%) rename {src/assets => packages/assets-controllers/src}/TokenDetectionController.test.ts (98%) rename {src/assets => packages/assets-controllers/src}/TokenDetectionController.ts (97%) rename {src/assets => packages/assets-controllers/src}/TokenListController.test.ts (99%) rename {src/assets => packages/assets-controllers/src}/TokenListController.ts (96%) rename {src/assets => packages/assets-controllers/src}/TokenRatesController.test.ts (99%) rename {src/assets => packages/assets-controllers/src}/TokenRatesController.ts (97%) rename {src/assets => packages/assets-controllers/src}/TokensController.test.ts (99%) rename {src/assets => packages/assets-controllers/src}/TokensController.ts (98%) rename {src/assets => packages/assets-controllers/src}/assetsUtil.test.ts (54%) rename {src/assets => packages/assets-controllers/src}/assetsUtil.ts (70%) create mode 100644 packages/assets-controllers/src/index.ts create mode 100644 packages/assets-controllers/tsconfig.build.json create mode 100644 packages/assets-controllers/tsconfig.json create mode 100644 packages/composable-controller/CHANGELOG.md create mode 100644 packages/composable-controller/README.md create mode 100644 packages/composable-controller/jest.config.ts create mode 100644 packages/composable-controller/package.json rename {src => packages/composable-controller/src}/ComposableController.test.ts (96%) rename {src => packages/composable-controller/src}/ComposableController.ts (95%) create mode 100644 packages/composable-controller/src/index.ts create mode 100644 packages/composable-controller/tsconfig.build.json create mode 100644 packages/composable-controller/tsconfig.json rename {src => packages/controller-utils/src}/constants.ts (100%) rename {src/apis => packages/controller-utils/src}/crypto-compare.test.ts (100%) rename {src/apis => packages/controller-utils/src}/crypto-compare.ts (98%) rename {src/apis => packages/controller-utils/src}/token-service.test.ts (85%) rename {src/apis => packages/controller-utils/src}/token-service.ts (99%) delete mode 100644 packages/ens-controller/CHANGELOG.md create mode 100644 packages/gas-fee-controller/CHANGELOG.md create mode 100644 packages/gas-fee-controller/README.md create mode 100644 packages/gas-fee-controller/jest.config.ts create mode 100644 packages/gas-fee-controller/package.json rename {src/gas => packages/gas-fee-controller/src}/GasFeeController.test.ts (99%) rename {src/gas => packages/gas-fee-controller/src}/GasFeeController.ts (98%) rename {src/gas => packages/gas-fee-controller/src}/determineGasFeeCalculations.test.ts (100%) rename {src/gas => packages/gas-fee-controller/src}/determineGasFeeCalculations.ts (100%) rename {src/gas => packages/gas-fee-controller/src}/fetchBlockFeeHistory.test.ts (99%) rename {src/gas => packages/gas-fee-controller/src}/fetchBlockFeeHistory.ts (99%) rename {src/gas => packages/gas-fee-controller/src}/fetchGasEstimatesViaEthFeeHistory.test.ts (100%) rename {src/gas => packages/gas-fee-controller/src}/fetchGasEstimatesViaEthFeeHistory.ts (97%) rename {src/gas => packages/gas-fee-controller/src}/fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels.test.ts (100%) rename {src/gas => packages/gas-fee-controller/src}/fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels.ts (98%) rename {src/gas => packages/gas-fee-controller/src}/fetchGasEstimatesViaEthFeeHistory/fetchLatestBlock.ts (92%) rename {src/gas => packages/gas-fee-controller/src}/fetchGasEstimatesViaEthFeeHistory/medianOf.ts (100%) rename {src/gas => packages/gas-fee-controller/src}/fetchGasEstimatesViaEthFeeHistory/types.ts (100%) rename {src/gas => packages/gas-fee-controller/src}/gas-util.test.ts (100%) rename {src/gas => packages/gas-fee-controller/src}/gas-util.ts (98%) create mode 100644 packages/gas-fee-controller/src/index.ts create mode 100644 packages/gas-fee-controller/tsconfig.build.json create mode 100644 packages/gas-fee-controller/tsconfig.json create mode 100644 packages/keyring-controller/CHANGELOG.md create mode 100644 packages/keyring-controller/README.md create mode 100644 packages/keyring-controller/jest.config.ts create mode 100644 packages/keyring-controller/package.json rename {src/keyring => packages/keyring-controller/src}/KeyringController.test.ts (99%) rename {src/keyring => packages/keyring-controller/src}/KeyringController.ts (98%) create mode 100644 packages/keyring-controller/src/index.ts rename {tests => packages/keyring-controller/tests}/mocks/mockEncryptor.ts (100%) create mode 100644 packages/keyring-controller/tsconfig.build.json create mode 100644 packages/keyring-controller/tsconfig.json create mode 100644 packages/message-manager/CHANGELOG.md create mode 100644 packages/message-manager/README.md create mode 100644 packages/message-manager/jest.config.ts create mode 100644 packages/message-manager/package.json rename {src/message-manager => packages/message-manager/src}/AbstractMessageManager.test.ts (100%) rename {src/message-manager => packages/message-manager/src}/AbstractMessageManager.ts (98%) rename {src/message-manager => packages/message-manager/src}/MessageManager.test.ts (100%) rename {src/message-manager => packages/message-manager/src}/MessageManager.ts (97%) rename {src/message-manager => packages/message-manager/src}/PersonalMessageManager.test.ts (100%) rename {src/message-manager => packages/message-manager/src}/PersonalMessageManager.ts (97%) rename {src/message-manager => packages/message-manager/src}/TypedMessageManager.test.ts (100%) rename {src/message-manager => packages/message-manager/src}/TypedMessageManager.ts (99%) create mode 100644 packages/message-manager/src/index.ts create mode 100644 packages/message-manager/src/utils.test.ts create mode 100644 packages/message-manager/src/utils.ts rename packages/{ens-controller => message-manager}/tsconfig.build.json (100%) rename packages/{ens-controller => message-manager}/tsconfig.json (100%) create mode 100644 packages/network-controller/CHANGELOG.md create mode 100644 packages/network-controller/README.md create mode 100644 packages/network-controller/jest.config.ts create mode 100644 packages/network-controller/package.json rename {src/network => packages/network-controller/src}/NetworkController.test.ts (100%) rename {src/network => packages/network-controller/src}/NetworkController.ts (98%) create mode 100644 packages/network-controller/src/index.ts create mode 100644 packages/network-controller/tsconfig.build.json create mode 100644 packages/network-controller/tsconfig.json create mode 100644 packages/notification-controller/CHANGELOG.md create mode 100644 packages/notification-controller/README.md create mode 100644 packages/notification-controller/jest.config.ts create mode 100644 packages/notification-controller/package.json rename {src/notification => packages/notification-controller/src}/NotificationController.test.ts (97%) rename {src/notification => packages/notification-controller/src}/NotificationController.ts (96%) create mode 100644 packages/notification-controller/src/index.ts create mode 100644 packages/notification-controller/tsconfig.build.json create mode 100644 packages/notification-controller/tsconfig.json create mode 100644 packages/permission-controller/CHANGELOG.md create mode 100644 packages/permission-controller/README.md create mode 100644 packages/permission-controller/jest.config.ts create mode 100644 packages/permission-controller/package.json rename {src/permissions => packages/permission-controller/src}/Caveat.test.ts (100%) rename {src/permissions => packages/permission-controller/src}/Caveat.ts (100%) rename {src/permissions => packages/permission-controller/src}/Permission.test.ts (100%) rename {src/permissions => packages/permission-controller/src}/Permission.ts (99%) rename {src/permissions => packages/permission-controller/src}/PermissionController.test.ts (99%) rename {src/permissions => packages/permission-controller/src}/PermissionController.ts (99%) rename {src/permissions => packages/permission-controller/src}/README.md (100%) rename {src/permissions => packages/permission-controller/src}/errors.test.ts (100%) rename {src/permissions => packages/permission-controller/src}/errors.ts (100%) rename {src/permissions => packages/permission-controller/src}/index.ts (100%) rename {src/permissions => packages/permission-controller/src}/permission-middleware.ts (100%) rename {src/permissions => packages/permission-controller/src}/rpc-methods/getPermissions.test.ts (100%) rename {src/permissions => packages/permission-controller/src}/rpc-methods/getPermissions.ts (100%) rename {src/permissions => packages/permission-controller/src}/rpc-methods/index.ts (100%) rename {src/permissions => packages/permission-controller/src}/rpc-methods/requestPermissions.test.ts (100%) rename {src/permissions => packages/permission-controller/src}/rpc-methods/requestPermissions.ts (97%) rename {src/permissions => packages/permission-controller/src}/utils.ts (100%) create mode 100644 packages/permission-controller/tsconfig.build.json create mode 100644 packages/permission-controller/tsconfig.json create mode 100644 packages/rate-limit-controller/CHANGELOG.md create mode 100644 packages/rate-limit-controller/README.md create mode 100644 packages/rate-limit-controller/jest.config.ts create mode 100644 packages/rate-limit-controller/package.json rename {src/ratelimit => packages/rate-limit-controller/src}/RateLimitController.test.ts (98%) rename {src/ratelimit => packages/rate-limit-controller/src}/RateLimitController.ts (97%) create mode 100644 packages/rate-limit-controller/src/index.ts create mode 100644 packages/rate-limit-controller/tsconfig.build.json create mode 100644 packages/rate-limit-controller/tsconfig.json create mode 100644 packages/subject-metadata-controller/CHANGELOG.md create mode 100644 packages/subject-metadata-controller/README.md create mode 100644 packages/subject-metadata-controller/jest.config.ts create mode 100644 packages/subject-metadata-controller/package.json rename {src/subject-metadata => packages/subject-metadata-controller/src}/SubjectMetadataController.test.ts (98%) rename {src/subject-metadata => packages/subject-metadata-controller/src}/SubjectMetadataController.ts (97%) rename {src/subject-metadata => packages/subject-metadata-controller/src}/index.ts (100%) create mode 100644 packages/subject-metadata-controller/tsconfig.build.json create mode 100644 packages/subject-metadata-controller/tsconfig.json create mode 100644 packages/third-party-controllers/CHANGELOG.md create mode 100644 packages/third-party-controllers/README.md create mode 100644 packages/third-party-controllers/jest.config.ts create mode 100644 packages/third-party-controllers/package.json rename packages/{ens-controller => third-party-controllers}/src/EnsController.test.ts (99%) rename packages/{ens-controller => third-party-controllers}/src/EnsController.ts (100%) rename {src/third-party => packages/third-party-controllers/src}/PhishingController.test.ts (100%) rename {src/third-party => packages/third-party-controllers/src}/PhishingController.ts (98%) rename packages/{ens-controller => third-party-controllers}/src/index.ts (54%) create mode 100644 packages/third-party-controllers/tsconfig.build.json create mode 100644 packages/third-party-controllers/tsconfig.json create mode 100644 packages/transaction-controller/CHANGELOG.md create mode 100644 packages/transaction-controller/README.md create mode 100644 packages/transaction-controller/jest.config.ts create mode 100644 packages/transaction-controller/package.json rename {src/transaction => packages/transaction-controller/src}/TransactionController.test.ts (99%) rename {src/transaction => packages/transaction-controller/src}/TransactionController.ts (99%) create mode 100644 packages/transaction-controller/src/index.ts rename {src/transaction => packages/transaction-controller/src}/mocks/txsMock.ts (100%) create mode 100644 packages/transaction-controller/src/utils.test.ts create mode 100644 packages/transaction-controller/src/utils.ts create mode 100644 packages/transaction-controller/tsconfig.build.json create mode 100644 packages/transaction-controller/tsconfig.json create mode 100644 packages/user-controllers/CHANGELOG.md create mode 100644 packages/user-controllers/README.md create mode 100644 packages/user-controllers/jest.config.ts create mode 100644 packages/user-controllers/package.json rename {src/user => packages/user-controllers/src}/AddressBookController.test.ts (100%) rename {src/user => packages/user-controllers/src}/AddressBookController.ts (96%) rename {src/user => packages/user-controllers/src}/PreferencesController.test.ts (100%) rename {src/user => packages/user-controllers/src}/PreferencesController.ts (98%) create mode 100644 packages/user-controllers/src/index.ts create mode 100644 packages/user-controllers/tsconfig.build.json create mode 100644 packages/user-controllers/tsconfig.json delete mode 100644 src/BaseController.test.ts delete mode 100644 src/BaseController.ts delete mode 100644 src/BaseControllerV2.test.ts delete mode 100644 src/BaseControllerV2.ts delete mode 100644 src/ControllerMessenger.test.ts delete mode 100644 src/ControllerMessenger.ts delete mode 100644 src/index.ts delete mode 100644 src/third-party/EnsController.test.ts delete mode 100644 src/third-party/EnsController.ts delete mode 100644 src/util.test.ts delete mode 100644 src/util.ts delete mode 100644 tests/setupTests.ts diff --git a/.eslintrc.js b/.eslintrc.js index 3fdb79ef67..e00888fee6 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -72,10 +72,10 @@ module.exports = { // These options do not support our monorepo structure, which houses // two levels of `package.json`'s instead of just one. - 'import/no-extraneous-import': 'off', - 'import/no-extraneous-dependencies': 'off', - 'node/no-extraneous-import': 'off', - 'node/no-extraneous-dependencies': 'off', + // 'import/no-extraneous-import': 'off', + // 'import/no-extraneous-dependencies': 'off', + // 'node/no-extraneous-import': 'off', + // 'node/no-extraneous-dependencies': 'off', // TODO: This isn't working for `jest.config.ts` (see first line). Look into // why. diff --git a/.gitignore b/.gitignore index 654ab7b4c5..e66d256a96 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,6 @@ docs !.yarn/releases !.yarn/sdks !.yarn/versions + +# typescript +*.tsbuildinfo diff --git a/README.md b/README.md index 65f18fb2d4..ef18fc750a 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ A collection of platform-agnostic modules for creating secure data models for cr Please refer to the READMEs for the following packages for installation and usage instructions: -* [`@metamask/base-controller`](packages/base-controller) -* [`@metamask/controller-utils`](packages/controller-utils) -* [`@metamask/ens-controller`](packages/ens-controller) +- [`@metamask/base-controller`](packages/base-controller) +- [`@metamask/controller-utils`](packages/controller-utils) +- [`@metamask/ens-controller`](packages/ens-controller) ## Usage diff --git a/constraints.pro b/constraints.pro new file mode 100644 index 0000000000..1a6c0d91e4 --- /dev/null +++ b/constraints.pro @@ -0,0 +1,73 @@ +% "name" is required for all workspaces (including the root). +\+ gen_enforced_field(WorkspaceCwd, 'name', null). + +% "description" is required for all workspaces. +\+ gen_enforced_field(WorkspaceCwd, 'description', null). + +% "repository" must be unset for non-publishable workspaces. +gen_enforced_field(WorkspaceCwd, 'repository', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% "repository.type" must be "git" for publishable workspaces. +gen_enforced_field(WorkspaceCwd, 'repository.type', 'git') :- + workspace_field(WorkspaceCwd, 'private', null). + +% "repository.type" must start with "git@github.com:mcmire/" for publishable +% workspaces. +% TODO +%atom_starts_with(Atom, Prefix) :- + %sub_atom(Atom, _, _, _, Prefix). +%gen_enforced_field(WorkspaceCwd, 'repository.url', RepoUrl) :- + %\+ workspace_field(WorkspaceCwd, 'private', true), + %atom_starts_with(RepoUrl, 'git@github.com:mcmire/'). + +% "license" must be "MIT" for all publishable workspaces and unset for the +% root. +gen_enforced_field(WorkspaceCwd, 'license', 'MIT') :- + \+ workspace_field(WorkspaceCwd, 'private', true). +gen_enforced_field(WorkspaceCwd, 'license', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% "main" must be "dist/index.js" for publishable workspaces and unset for the +% root. +gen_enforced_field(WorkspaceCwd, 'main', './dist/index.js') :- + \+ workspace_field(WorkspaceCwd, 'private', true). +gen_enforced_field(WorkspaceCwd, 'main', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% "types" must be "dist/index.d.ts" for publishable workspaces and unset for the +% root. +gen_enforced_field(WorkspaceCwd, 'types', './dist/index.d.ts') :- + \+ workspace_field(WorkspaceCwd, 'private', true). +gen_enforced_field(WorkspaceCwd, 'types', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% "files" must be ["dist/"] for publishable workspaces and unset for the root. +gen_enforced_field(WorkspaceCwd, 'files', ['dist/']) :- + \+ workspace_field(WorkspaceCwd, 'private', true). +gen_enforced_field(WorkspaceCwd, 'files', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% "engines.node" must be ">=12.0.0" for all workspaces. +gen_enforced_field(WorkspaceCwd, 'engines.node', '>=12.0.0'). + +% "publishConfig.access" must be "public" for publishable workspaces and unset +% for the root. +gen_enforced_field(WorkspaceCwd, 'publishConfig.access', 'public') :- + \+ workspace_field(WorkspaceCwd, 'private', true). +gen_enforced_field(WorkspaceCwd, 'publishConfig.access', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% "publishConfig.registry" must be "https://registry.npmjs.org" for publishable +% workspaces and unset for the root. +gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', 'https://registry.npmjs.org/') :- + \+ workspace_field(WorkspaceCwd, 'private', true). +gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% The version of Jest used in the root must be synchronized across all packages +% that list Jest. +gen_enforced_dependency(WorkspaceCwd, 'jest', DependencyRange, DependencyType) :- + workspace_has_dependency('.', 'jest', DependencyRange, DependencyType), + workspace_has_dependency(WorkspaceCwd, 'jest', _, DependencyType), + WorkspaceCwd \= '.'. diff --git a/contraints.pro b/contraints.pro deleted file mode 100644 index 0b36236bfa..0000000000 --- a/contraints.pro +++ /dev/null @@ -1,59 +0,0 @@ -%atom_starts_with(Atom, Prefix) :- - %sub_atom(Atom, _, _, _, Prefix). - -% "name" is required for all workspaces (including the root). -\+ gen_enforced_field(WorkspaceCwd, 'name', null). - -% "description" is required for all workspaces. -\+ gen_enforced_field(WorkspaceCwd, 'description', null). - -% "repository" must be unset for the root workspace. -gen_enforced_field(WorkspaceCwd, 'repository', null) :- - workspace_field(WorkspaceCwd, 'private', true). - -% "repository.type" must be "git" for publishable workspaces. -gen_enforced_field(WorkspaceCwd, 'repository.type', 'git') :- - workspace_field(WorkspaceCwd, 'private', false). - -% "repository.type" must start with "git@github.com:mcmire/" for publishable workspaces. -%gen_enforced_field(WorkspaceCwd, 'repository.url', RepoUrl) :- - %\+ workspace_field(WorkspaceCwd, 'private', true), - %atom_starts_with(RepoUrl, 'git@github.com:mcmire/'). - -% "main" must be "dist/index.js" for publishable workspaces -% and unset for the root. -gen_enforced_field(WorkspaceCwd, 'main', 'dist/index.js') :- - workspace_field(WorkspaceCwd, 'private', false). -gen_enforced_field(WorkspaceCwd, 'main', null) :- - workspace_field(WorkspaceCwd, 'private', true). - -% "types" must be "dist/index.d.ts" for publishable workspaces -% and unset for the root. -gen_enforced_field(WorkspaceCwd, 'types', 'dist/index.d.ts') :- - workspace_field(WorkspaceCwd, 'private', false). -gen_enforced_field(WorkspaceCwd, 'types', null) :- - workspace_field(WorkspaceCwd, 'private', true). - -% "files" must be ["dist/"] for publishable workspaces -% and unset for the root. -gen_enforced_field(WorkspaceCwd, 'files', ['dist/']) :- - workspace_field(WorkspaceCwd, 'private', false). -gen_enforced_field(WorkspaceCwd, 'files', null) :- - workspace_field(WorkspaceCwd, 'private', true). - -% "engines.node" must be ">=14.0.0" for all workspaces. -gen_enforced_field(WorkspaceCwd, 'engines.node', '>=14.0.0'). - -% "publishConfig.access" must be "public" for publishable workspaces -% and unset for the root. -gen_enforced_field(WorkspaceCwd, 'publishConfig.access', 'public') :- - workspace_field(WorkspaceCwd, 'private', false). -gen_enforced_field(WorkspaceCwd, 'publishConfig.access', null) :- - workspace_field(WorkspaceCwd, 'private', true). - -% "publishConfig.registry" must be "https://registry.npmjs.org" for publishable workspaces -% and unset for the root. -gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', 'https://registry.npmjs.org') :- - workspace_field(WorkspaceCwd, 'private', false). -gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', null) :- - workspace_field(WorkspaceCwd, 'private', true). diff --git a/jest.config.packages.ts b/jest.config.packages.ts index 4629b7d254..09046bad83 100644 --- a/jest.config.packages.ts +++ b/jest.config.packages.ts @@ -138,7 +138,7 @@ const config: Config.InitialOptions = { // runner: "jest-runner", // The paths to modules that run some code to configure or set up the testing environment before each test - setupFiles: ['../../tests/setupTests.ts'], + // setupFiles: [], // A list of paths to modules that run some code to configure or set up the testing framework before each test // setupFilesAfterEnv: [], diff --git a/package.json b/package.json index 5b68d611b8..7b4842b5a5 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "lint": "yarn lint:eslint && yarn lint:misc --check", "lint:eslint": "eslint . --cache --ext js,ts", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write", - "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' --ignore-path .gitignore", + "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore", "prepack": "yarn build", "setup": "yarn install", "test": "jest", @@ -51,7 +51,8 @@ "ts-node": "^10.7.0", "typedoc": "^0.22.15", "typedoc-plugin-missing-exports": "^0.22.6", - "typescript": "~4.6.3" + "typescript": "~4.6.3", + "uuid": "^8.3.2" }, "packageManager": "yarn@3.2.1", "engines": { diff --git a/packages/announcement-controller/CHANGELOG.md b/packages/announcement-controller/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/announcement-controller/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/ens-controller/README.md b/packages/announcement-controller/README.md similarity index 52% rename from packages/ens-controller/README.md rename to packages/announcement-controller/README.md index 224e70d868..35cebc4a89 100644 --- a/packages/ens-controller/README.md +++ b/packages/announcement-controller/README.md @@ -1,14 +1,14 @@ -# `@metamask/ens-controller` +# `@metamask/announcement-controller` -Manage a list of ENS names and their resolved addresses. +(TODO) ## Installation -`yarn add @metamask/ens-controller` +`yarn add @metamask/announcement-controller` or -`npm install @metamask/ens-controller` +`npm install @metamask/announcement-controller` ## Usage diff --git a/packages/ens-controller/jest.config.ts b/packages/announcement-controller/jest.config.ts similarity index 65% rename from packages/ens-controller/jest.config.ts rename to packages/announcement-controller/jest.config.ts index 5620fa388e..6c616f7297 100644 --- a/packages/ens-controller/jest.config.ts +++ b/packages/announcement-controller/jest.config.ts @@ -3,20 +3,15 @@ * https://jestjs.io/docs/configuration */ -// import * as path from 'path'; +import * as path from 'path'; import merge from 'ts-deepmerge'; import baseConfig from '../../jest.config.packages'; +const displayName = path.basename(__dirname); + const config = merge(baseConfig, { // The display name when running multiple projects - displayName: 'ens-controller', - /* - globals: { - 'ts-jest': { - tsconfig: path.join(__dirname, '../../tsconfig.json'), - }, - }, - */ + displayName, }); export default config; diff --git a/packages/ens-controller/package.json b/packages/announcement-controller/package.json similarity index 75% rename from packages/ens-controller/package.json rename to packages/announcement-controller/package.json index 282cef7a36..bf68741d8f 100644 --- a/packages/ens-controller/package.json +++ b/packages/announcement-controller/package.json @@ -1,12 +1,12 @@ { - "name": "@metamask/ens-controller", + "name": "@metamask/announcement-controller", "version": "0.1.0", - "description": "Controller which manages a list of ENS names and their resolved addresses", + "description": "TODO", "keywords": [ "MetaMask", "Ethereum" ], - "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/ens-controller#readme", + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/announcement-controller#readme", "bugs": { "url": "https://github.com/MetaMask/controllers/issues" }, @@ -20,8 +20,11 @@ "files": [ "dist/" ], + "scripts": {}, + "dependencies": { + "@metamask/base-controller": "workspace:~" + }, "devDependencies": { - "ethereumjs-util": "^7.1.4", "ts-deepmerge": "^2.0.1" }, "engines": { diff --git a/src/announcement/AnnouncementController.test.ts b/packages/announcement-controller/src/AnnouncementController.test.ts similarity index 100% rename from src/announcement/AnnouncementController.test.ts rename to packages/announcement-controller/src/AnnouncementController.test.ts diff --git a/src/announcement/AnnouncementController.ts b/packages/announcement-controller/src/AnnouncementController.ts similarity index 96% rename from src/announcement/AnnouncementController.ts rename to packages/announcement-controller/src/AnnouncementController.ts index ab0e371621..2bf002795e 100644 --- a/src/announcement/AnnouncementController.ts +++ b/packages/announcement-controller/src/AnnouncementController.ts @@ -1,4 +1,8 @@ -import { BaseController, BaseConfig, BaseState } from '../BaseController'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; interface ViewedAnnouncement { [id: number]: boolean; diff --git a/packages/announcement-controller/src/index.ts b/packages/announcement-controller/src/index.ts new file mode 100644 index 0000000000..f3ce26e85e --- /dev/null +++ b/packages/announcement-controller/src/index.ts @@ -0,0 +1 @@ +export * from './AnnouncementController'; diff --git a/packages/announcement-controller/tsconfig.build.json b/packages/announcement-controller/tsconfig.build.json new file mode 100644 index 0000000000..b5e7237ece --- /dev/null +++ b/packages/announcement-controller/tsconfig.build.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [{ "path": "../base-controller/tsconfig.build.json" }], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/announcement-controller/tsconfig.json b/packages/announcement-controller/tsconfig.json new file mode 100644 index 0000000000..f15fdde3be --- /dev/null +++ b/packages/announcement-controller/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [{ "path": "../base-controller" }], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/approval-controller/CHANGELOG.md b/packages/approval-controller/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/approval-controller/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/approval-controller/README.md b/packages/approval-controller/README.md new file mode 100644 index 0000000000..c9167d81ad --- /dev/null +++ b/packages/approval-controller/README.md @@ -0,0 +1,19 @@ +# `@metamask/approval-controller` + +(TODO) + +## Installation + +`yarn add @metamask/approval-controller` + +or + +`npm install @metamask/approval-controller` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/approval-controller/jest.config.ts b/packages/approval-controller/jest.config.ts new file mode 100644 index 0000000000..6c616f7297 --- /dev/null +++ b/packages/approval-controller/jest.config.ts @@ -0,0 +1,17 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const displayName = path.basename(__dirname); + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName, +}); + +export default config; diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json new file mode 100644 index 0000000000..9e068f5b6f --- /dev/null +++ b/packages/approval-controller/package.json @@ -0,0 +1,41 @@ +{ + "name": "@metamask/approval-controller", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/approval-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": {}, + "dependencies": { + "@metamask/base-controller": "workspace:~", + "eth-rpc-errors": "^4.0.0", + "immer": "^9.0.6", + "nanoid": "^3.1.31" + }, + "devDependencies": { + "sinon": "^9.2.4", + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/src/approval/ApprovalController.test.js b/packages/approval-controller/src/ApprovalController.test.js similarity index 99% rename from src/approval/ApprovalController.test.js rename to packages/approval-controller/src/ApprovalController.test.js index 6120c41281..9b8dde0df9 100644 --- a/src/approval/ApprovalController.test.js +++ b/packages/approval-controller/src/ApprovalController.test.js @@ -1,5 +1,5 @@ const { errorCodes } = require('eth-rpc-errors'); -const { ControllerMessenger } = require('../ControllerMessenger'); +const { ControllerMessenger } = require('@metamask/base-controller'); const { ApprovalController } = require('./ApprovalController'); /** diff --git a/src/approval/ApprovalController.test.ts b/packages/approval-controller/src/ApprovalController.test.ts similarity index 99% rename from src/approval/ApprovalController.test.ts rename to packages/approval-controller/src/ApprovalController.test.ts index f443b261d3..e68da7f8fa 100644 --- a/src/approval/ApprovalController.test.ts +++ b/packages/approval-controller/src/ApprovalController.test.ts @@ -1,6 +1,6 @@ import { errorCodes, EthereumRpcError } from 'eth-rpc-errors'; import sinon from 'sinon'; -import { ControllerMessenger } from '../ControllerMessenger'; +import { ControllerMessenger } from '@metamask/base-controller'; import { ApprovalController, ApprovalControllerActions, diff --git a/src/approval/ApprovalController.ts b/packages/approval-controller/src/ApprovalController.ts similarity index 99% rename from src/approval/ApprovalController.ts rename to packages/approval-controller/src/ApprovalController.ts index 85442ff751..57c9d81f4a 100644 --- a/src/approval/ApprovalController.ts +++ b/packages/approval-controller/src/ApprovalController.ts @@ -1,9 +1,11 @@ import type { Patch } from 'immer'; import { EthereumRpcError, ethErrors } from 'eth-rpc-errors'; import { nanoid } from 'nanoid'; - -import { BaseController, Json } from '../BaseControllerV2'; -import type { RestrictedControllerMessenger } from '../ControllerMessenger'; +import { + BaseControllerV2 as BaseController, + Json, + RestrictedControllerMessenger, +} from '@metamask/base-controller'; const controllerName = 'ApprovalController'; diff --git a/packages/approval-controller/src/index.ts b/packages/approval-controller/src/index.ts new file mode 100644 index 0000000000..f9fd7d77a5 --- /dev/null +++ b/packages/approval-controller/src/index.ts @@ -0,0 +1 @@ +export * from './ApprovalController'; diff --git a/packages/approval-controller/tsconfig.build.json b/packages/approval-controller/tsconfig.build.json new file mode 100644 index 0000000000..b5e7237ece --- /dev/null +++ b/packages/approval-controller/tsconfig.build.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [{ "path": "../base-controller/tsconfig.build.json" }], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/approval-controller/tsconfig.json b/packages/approval-controller/tsconfig.json new file mode 100644 index 0000000000..f15fdde3be --- /dev/null +++ b/packages/approval-controller/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [{ "path": "../base-controller" }], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/assets-controllers/CHANGELOG.md b/packages/assets-controllers/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/assets-controllers/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/assets-controllers/README.md b/packages/assets-controllers/README.md new file mode 100644 index 0000000000..41fe9cada0 --- /dev/null +++ b/packages/assets-controllers/README.md @@ -0,0 +1,19 @@ +# `@metamask/assets-controllers` + +(TODO) + +## Installation + +`yarn add @metamask/assets-controllers` + +or + +`npm install @metamask/assets-controllers` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/__mocks__/uuid.js b/packages/assets-controllers/__mocks__/uuid.js similarity index 100% rename from __mocks__/uuid.js rename to packages/assets-controllers/__mocks__/uuid.js diff --git a/packages/assets-controllers/jest.config.ts b/packages/assets-controllers/jest.config.ts new file mode 100644 index 0000000000..6c616f7297 --- /dev/null +++ b/packages/assets-controllers/jest.config.ts @@ -0,0 +1,17 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const displayName = path.basename(__dirname); + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName, +}); + +export default config; diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json new file mode 100644 index 0000000000..ce992ae40f --- /dev/null +++ b/packages/assets-controllers/package.json @@ -0,0 +1,55 @@ +{ + "name": "@metamask/assets-controllers", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/assets-controllers#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": {}, + "dependencies": { + "@metamask/base-controller": "workspace:~", + "@metamask/controller-utils": "workspace:~", + "@metamask/network-controller": "workspace:~", + "@metamask/user-controllers": "workspace:~", + "@types/uuid": "^8.3.4", + "@types/web3": "^1.0.6", + "abort-controller": "^3.0.0", + "async-mutex": "^0.2.6", + "eth-query": "^2.1.2", + "eth-rpc-errors": "^4.0.0", + "ethereumjs-util": "^7.0.10", + "ethers": "^5.4.1", + "immer": "^9.0.6", + "single-call-balance-checker-abi": "^1.0.0", + "uuid": "^8.3.2", + "web3": "^0.20.7" + }, + "devDependencies": { + "ethereumjs-util": "^7.1.4", + "ethjs-provider-http": "^0.1.6", + "sinon": "^9.2.4", + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/src/assets/AccountTrackerController.test.ts b/packages/assets-controllers/src/AccountTrackerController.test.ts similarity index 95% rename from src/assets/AccountTrackerController.test.ts rename to packages/assets-controllers/src/AccountTrackerController.test.ts index 0e7b3dbd18..5235b3c7d1 100644 --- a/src/assets/AccountTrackerController.test.ts +++ b/packages/assets-controllers/src/AccountTrackerController.test.ts @@ -1,8 +1,8 @@ import sinon from 'sinon'; import HttpProvider from 'ethjs-provider-http'; -import type { ContactEntry } from '../user/AddressBookController'; -import { PreferencesController } from '../user/PreferencesController'; -import * as utils from '../util'; +import type { ContactEntry } from '@metamask/user-controllers'; +import { PreferencesController } from '@metamask/user-controllers'; +import * as utils from '@metamask/controller-utils'; import { AccountTrackerController } from './AccountTrackerController'; const provider = new HttpProvider( diff --git a/src/assets/AccountTrackerController.ts b/packages/assets-controllers/src/AccountTrackerController.ts similarity index 95% rename from src/assets/AccountTrackerController.ts rename to packages/assets-controllers/src/AccountTrackerController.ts index f8c77bd821..642be98a90 100644 --- a/src/assets/AccountTrackerController.ts +++ b/packages/assets-controllers/src/AccountTrackerController.ts @@ -1,8 +1,16 @@ import EthQuery from 'eth-query'; import { Mutex } from 'async-mutex'; -import { BaseConfig, BaseController, BaseState } from '../BaseController'; -import { PreferencesState } from '../user/PreferencesController'; -import { BNToHex, query, safelyExecuteWithTimeout } from '../util'; +import { + BaseConfig, + BaseController, + BaseState, +} from '@metamask/base-controller'; +import { PreferencesState } from '@metamask/user-controllers'; +import { + BNToHex, + query, + safelyExecuteWithTimeout, +} from '@metamask/controller-utils'; /** * @type AccountInformation diff --git a/src/assets/AssetsContractController.test.ts b/packages/assets-controllers/src/AssetsContractController.test.ts similarity index 97% rename from src/assets/AssetsContractController.test.ts rename to packages/assets-controllers/src/AssetsContractController.test.ts index d2bc27d5e2..218d26bb6c 100644 --- a/src/assets/AssetsContractController.test.ts +++ b/packages/assets-controllers/src/AssetsContractController.test.ts @@ -1,8 +1,10 @@ import HttpProvider from 'ethjs-provider-http'; -import { IPFS_DEFAULT_GATEWAY_URL } from '../constants'; -import { SupportedTokenDetectionNetworks } from '../util'; -import { PreferencesController } from '../user/PreferencesController'; -import { NetworkController } from '../network/NetworkController'; +import { + SupportedTokenDetectionNetworks, + IPFS_DEFAULT_GATEWAY_URL, +} from '@metamask/controller-utils'; +import { PreferencesController } from '@metamask/user-controllers'; +import { NetworkController } from '@metamask/network-controller'; import { AssetsContractController, MISSING_PROVIDER_ERROR, diff --git a/src/assets/AssetsContractController.ts b/packages/assets-controllers/src/AssetsContractController.ts similarity index 97% rename from src/assets/AssetsContractController.ts rename to packages/assets-controllers/src/AssetsContractController.ts index 12af9dd953..0b582c102b 100644 --- a/src/assets/AssetsContractController.ts +++ b/packages/assets-controllers/src/AssetsContractController.ts @@ -1,11 +1,17 @@ import { BN } from 'ethereumjs-util'; import Web3 from 'web3'; import abiSingleCallBalancesContract from 'single-call-balance-checker-abi'; -import { BaseController, BaseConfig, BaseState } from '../BaseController'; -import type { PreferencesState } from '../user/PreferencesController'; -import { IPFS_DEFAULT_GATEWAY_URL } from '../constants'; -import { SupportedTokenDetectionNetworks } from '../util'; -import { NetworkState } from '../network/NetworkController'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; +import type { PreferencesState } from '@metamask/user-controllers'; +import { + IPFS_DEFAULT_GATEWAY_URL, + SupportedTokenDetectionNetworks, +} from '@metamask/controller-utils'; +import { NetworkState } from '@metamask/network-controller'; import { ERC721Standard } from './Standards/CollectibleStandards/ERC721/ERC721Standard'; import { ERC1155Standard } from './Standards/CollectibleStandards/ERC1155/ERC1155Standard'; import { ERC20Standard } from './Standards/ERC20Standard'; diff --git a/src/assets/CollectibleDetectionController.test.ts b/packages/assets-controllers/src/CollectibleDetectionController.test.ts similarity index 99% rename from src/assets/CollectibleDetectionController.test.ts rename to packages/assets-controllers/src/CollectibleDetectionController.test.ts index c2c830c5f3..ee8df03042 100644 --- a/src/assets/CollectibleDetectionController.test.ts +++ b/packages/assets-controllers/src/CollectibleDetectionController.test.ts @@ -1,8 +1,8 @@ import sinon from 'sinon'; import nock from 'nock'; -import { NetworkController } from '../network/NetworkController'; -import { PreferencesController } from '../user/PreferencesController'; -import { OPENSEA_PROXY_URL } from '../constants'; +import { NetworkController } from '@metamask/network-controller'; +import { PreferencesController } from '@metamask/user-controllers'; +import { OPENSEA_PROXY_URL } from '@metamask/controller-utils'; import { CollectiblesController } from './CollectiblesController'; import { AssetsContractController } from './AssetsContractController'; import { CollectibleDetectionController } from './CollectibleDetectionController'; diff --git a/src/assets/CollectibleDetectionController.ts b/packages/assets-controllers/src/CollectibleDetectionController.ts similarity index 97% rename from src/assets/CollectibleDetectionController.ts rename to packages/assets-controllers/src/CollectibleDetectionController.ts index 1914a21c37..cbb7d2fc2d 100644 --- a/src/assets/CollectibleDetectionController.ts +++ b/packages/assets-controllers/src/CollectibleDetectionController.ts @@ -1,9 +1,17 @@ -import { BaseController, BaseConfig, BaseState } from '../BaseController'; -import type { NetworkState, NetworkType } from '../network/NetworkController'; -import type { PreferencesState } from '../user/PreferencesController'; -import { fetchWithErrorHandling, toChecksumHexAddress } from '../util'; -import { MAINNET, OPENSEA_PROXY_URL, OPENSEA_API_URL } from '../constants'; - +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; +import type { NetworkState, NetworkType } from '@metamask/network-controller'; +import type { PreferencesState } from '@metamask/user-controllers'; +import { + fetchWithErrorHandling, + toChecksumHexAddress, + MAINNET, + OPENSEA_PROXY_URL, + OPENSEA_API_URL, +} from '@metamask/controller-utils'; import type { CollectiblesController, CollectiblesState, diff --git a/src/assets/CollectiblesController.test.ts b/packages/assets-controllers/src/CollectiblesController.test.ts similarity index 99% rename from src/assets/CollectiblesController.test.ts rename to packages/assets-controllers/src/CollectiblesController.test.ts index 0b0a07be6c..1e847c7224 100644 --- a/src/assets/CollectiblesController.test.ts +++ b/packages/assets-controllers/src/CollectiblesController.test.ts @@ -1,19 +1,19 @@ import sinon from 'sinon'; import nock from 'nock'; import HttpProvider from 'ethjs-provider-http'; -import { PreferencesController } from '../user/PreferencesController'; +import { PreferencesController } from '@metamask/user-controllers'; import { NetworkController, NetworksChainId, -} from '../network/NetworkController'; -import { getFormattedIpfsUrl } from '../util'; +} from '@metamask/network-controller'; import { + getFormattedIpfsUrl, OPENSEA_PROXY_URL, IPFS_DEFAULT_GATEWAY_URL, ERC1155, OPENSEA_API_URL, ERC721, -} from '../constants'; +} from '@metamask/controller-utils'; import { AssetsContractController } from './AssetsContractController'; import { CollectiblesController } from './CollectiblesController'; diff --git a/src/assets/CollectiblesController.ts b/packages/assets-controllers/src/CollectiblesController.ts similarity index 99% rename from src/assets/CollectiblesController.ts rename to packages/assets-controllers/src/CollectiblesController.ts index 241d3d0707..1e395159f0 100644 --- a/src/assets/CollectiblesController.ts +++ b/packages/assets-controllers/src/CollectiblesController.ts @@ -1,10 +1,7 @@ import { EventEmitter } from 'events'; import { BN, stripHexPrefix } from 'ethereumjs-util'; import { Mutex } from 'async-mutex'; - -import { BaseController, BaseConfig, BaseState } from '../BaseController'; -import type { PreferencesState } from '../user/PreferencesController'; -import type { NetworkState, NetworkType } from '../network/NetworkController'; +import type { PreferencesState } from '@metamask/user-controllers'; import { safelyExecute, handleFetch, @@ -12,8 +9,6 @@ import { BNToHex, getFormattedIpfsUrl, fetchWithErrorHandling, -} from '../util'; -import { MAINNET, RINKEBY_CHAIN_ID, IPFS_DEFAULT_GATEWAY_URL, @@ -22,8 +17,13 @@ import { OPENSEA_API_URL, OPENSEA_PROXY_URL, OPENSEA_TEST_API_URL, -} from '../constants'; - +} from '@metamask/controller-utils'; +import type { NetworkState, NetworkType } from '@metamask/network-controller'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; import type { ApiCollectible, ApiCollectibleCreator, diff --git a/src/assets/CurrencyRateController.test.ts b/packages/assets-controllers/src/CurrencyRateController.test.ts similarity index 98% rename from src/assets/CurrencyRateController.test.ts rename to packages/assets-controllers/src/CurrencyRateController.test.ts index 4baa9c82d8..88babbbfe4 100644 --- a/src/assets/CurrencyRateController.test.ts +++ b/packages/assets-controllers/src/CurrencyRateController.test.ts @@ -1,7 +1,7 @@ import sinon from 'sinon'; import nock from 'nock'; -import { ControllerMessenger } from '../ControllerMessenger'; -import { TESTNET_TICKER_SYMBOLS } from '../constants'; +import { TESTNET_TICKER_SYMBOLS } from '@metamask/controller-utils'; +import { ControllerMessenger } from '@metamask/base-controller'; import { CurrencyRateController, CurrencyRateStateChange, diff --git a/src/assets/CurrencyRateController.ts b/packages/assets-controllers/src/CurrencyRateController.ts similarity index 95% rename from src/assets/CurrencyRateController.ts rename to packages/assets-controllers/src/CurrencyRateController.ts index d526375c39..a63709609a 100644 --- a/src/assets/CurrencyRateController.ts +++ b/packages/assets-controllers/src/CurrencyRateController.ts @@ -1,12 +1,15 @@ import { Mutex } from 'async-mutex'; import type { Patch } from 'immer'; - -import { BaseController } from '../BaseControllerV2'; -import { safelyExecute } from '../util'; -import { fetchExchangeRate as defaultFetchExchangeRate } from '../apis/crypto-compare'; - -import type { RestrictedControllerMessenger } from '../ControllerMessenger'; -import { TESTNET_TICKER_SYMBOLS, FALL_BACK_VS_CURRENCY } from '../constants'; +import { + safelyExecute, + TESTNET_TICKER_SYMBOLS, + FALL_BACK_VS_CURRENCY, + fetchExchangeRate as defaultFetchExchangeRate, +} from '@metamask/controller-utils'; +import { + BaseControllerV2 as BaseController, + RestrictedControllerMessenger, +} from '@metamask/base-controller'; /** * @type CurrencyRateState diff --git a/src/assets/Standards/CollectibleStandards/ERC1155/ERC1155Standard.test.ts b/packages/assets-controllers/src/Standards/CollectibleStandards/ERC1155/ERC1155Standard.test.ts similarity index 100% rename from src/assets/Standards/CollectibleStandards/ERC1155/ERC1155Standard.test.ts rename to packages/assets-controllers/src/Standards/CollectibleStandards/ERC1155/ERC1155Standard.test.ts diff --git a/src/assets/Standards/CollectibleStandards/ERC1155/ERC1155Standard.ts b/packages/assets-controllers/src/Standards/CollectibleStandards/ERC1155/ERC1155Standard.ts similarity index 98% rename from src/assets/Standards/CollectibleStandards/ERC1155/ERC1155Standard.ts rename to packages/assets-controllers/src/Standards/CollectibleStandards/ERC1155/ERC1155Standard.ts index 9bee70ace4..82b6ecf0fb 100644 --- a/src/assets/Standards/CollectibleStandards/ERC1155/ERC1155Standard.ts +++ b/packages/assets-controllers/src/Standards/CollectibleStandards/ERC1155/ERC1155Standard.ts @@ -4,8 +4,10 @@ import { ERC1155_INTERFACE_ID, ERC1155_METADATA_URI_INTERFACE_ID, ERC1155_TOKEN_RECEIVER_INTERFACE_ID, -} from '../../../../constants'; -import { getFormattedIpfsUrl, timeoutFetch } from '../../../../util'; + getFormattedIpfsUrl, + timeoutFetch, +} from '@metamask/controller-utils'; + import { Web3 } from '../../standards-types'; export class ERC1155Standard { diff --git a/src/assets/Standards/CollectibleStandards/ERC721/ERC721Standard.test.ts b/packages/assets-controllers/src/Standards/CollectibleStandards/ERC721/ERC721Standard.test.ts similarity index 99% rename from src/assets/Standards/CollectibleStandards/ERC721/ERC721Standard.test.ts rename to packages/assets-controllers/src/Standards/CollectibleStandards/ERC721/ERC721Standard.test.ts index af3670c217..c409214f0c 100644 --- a/src/assets/Standards/CollectibleStandards/ERC721/ERC721Standard.test.ts +++ b/packages/assets-controllers/src/Standards/CollectibleStandards/ERC721/ERC721Standard.test.ts @@ -1,7 +1,7 @@ import Web3 from 'web3'; import HttpProvider from 'ethjs-provider-http'; import nock from 'nock'; -import { IPFS_DEFAULT_GATEWAY_URL } from '../../../../constants'; +import { IPFS_DEFAULT_GATEWAY_URL } from '@metamask/controller-utils'; import { ERC721Standard } from './ERC721Standard'; const MAINNET_PROVIDER = new HttpProvider( diff --git a/src/assets/Standards/CollectibleStandards/ERC721/ERC721Standard.ts b/packages/assets-controllers/src/Standards/CollectibleStandards/ERC721/ERC721Standard.ts similarity index 98% rename from src/assets/Standards/CollectibleStandards/ERC721/ERC721Standard.ts rename to packages/assets-controllers/src/Standards/CollectibleStandards/ERC721/ERC721Standard.ts index ca4f9eebb8..d9708f55b8 100644 --- a/src/assets/Standards/CollectibleStandards/ERC721/ERC721Standard.ts +++ b/packages/assets-controllers/src/Standards/CollectibleStandards/ERC721/ERC721Standard.ts @@ -1,12 +1,14 @@ import { abiERC721 } from '@metamask/metamask-eth-abis'; -import { Web3 } from '../../standards-types'; -import { getFormattedIpfsUrl, timeoutFetch } from '../../../../util'; import { + getFormattedIpfsUrl, + timeoutFetch, ERC721_INTERFACE_ID, ERC721_METADATA_INTERFACE_ID, ERC721_ENUMERABLE_INTERFACE_ID, ERC721, -} from '../../../../constants'; +} from '@metamask/controller-utils'; + +import { Web3 } from '../../standards-types'; export class ERC721Standard { private web3: Web3; diff --git a/src/assets/Standards/ERC20Standard.test.ts b/packages/assets-controllers/src/Standards/ERC20Standard.test.ts similarity index 100% rename from src/assets/Standards/ERC20Standard.test.ts rename to packages/assets-controllers/src/Standards/ERC20Standard.test.ts diff --git a/src/assets/Standards/ERC20Standard.ts b/packages/assets-controllers/src/Standards/ERC20Standard.ts similarity index 98% rename from src/assets/Standards/ERC20Standard.ts rename to packages/assets-controllers/src/Standards/ERC20Standard.ts index c7994af2f9..fcd706a773 100644 --- a/src/assets/Standards/ERC20Standard.ts +++ b/packages/assets-controllers/src/Standards/ERC20Standard.ts @@ -1,7 +1,7 @@ import { abiERC20 } from '@metamask/metamask-eth-abis'; import { BN, toUtf8 } from 'ethereumjs-util'; import { AbiCoder } from 'ethers/lib/utils'; -import { ERC20 } from '../../constants'; +import { ERC20 } from '@metamask/controller-utils'; import { Web3 } from './standards-types'; export class ERC20Standard { diff --git a/src/assets/Standards/standards-types.ts b/packages/assets-controllers/src/Standards/standards-types.ts similarity index 100% rename from src/assets/Standards/standards-types.ts rename to packages/assets-controllers/src/Standards/standards-types.ts diff --git a/src/assets/TokenBalancesController.test.ts b/packages/assets-controllers/src/TokenBalancesController.test.ts similarity index 98% rename from src/assets/TokenBalancesController.test.ts rename to packages/assets-controllers/src/TokenBalancesController.test.ts index e61c5ec963..43a44d6cb3 100644 --- a/src/assets/TokenBalancesController.test.ts +++ b/packages/assets-controllers/src/TokenBalancesController.test.ts @@ -1,7 +1,7 @@ import sinon from 'sinon'; import { BN } from 'ethereumjs-util'; -import { NetworkController } from '../network/NetworkController'; -import { PreferencesController } from '../user/PreferencesController'; +import { PreferencesController } from '@metamask/user-controllers'; +import { NetworkController } from '@metamask/network-controller'; import { TokensController } from './TokensController'; import { Token } from './TokenRatesController'; import { AssetsContractController } from './AssetsContractController'; diff --git a/src/assets/TokenBalancesController.ts b/packages/assets-controllers/src/TokenBalancesController.ts similarity index 94% rename from src/assets/TokenBalancesController.ts rename to packages/assets-controllers/src/TokenBalancesController.ts index 7913781e7c..2d351fba51 100644 --- a/src/assets/TokenBalancesController.ts +++ b/packages/assets-controllers/src/TokenBalancesController.ts @@ -1,7 +1,11 @@ import { BN } from 'ethereumjs-util'; -import { BaseController, BaseConfig, BaseState } from '../BaseController'; -import { safelyExecute } from '../util'; -import type { PreferencesState } from '../user/PreferencesController'; +import { safelyExecute } from '@metamask/controller-utils'; +import type { PreferencesState } from '@metamask/user-controllers'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; import { Token } from './TokenRatesController'; import { TokensState } from './TokensController'; import type { AssetsContractController } from './AssetsContractController'; diff --git a/src/assets/TokenDetectionController.test.ts b/packages/assets-controllers/src/TokenDetectionController.test.ts similarity index 98% rename from src/assets/TokenDetectionController.test.ts rename to packages/assets-controllers/src/TokenDetectionController.test.ts index 4236fc1496..8e93aa8d24 100644 --- a/src/assets/TokenDetectionController.test.ts +++ b/packages/assets-controllers/src/TokenDetectionController.test.ts @@ -1,17 +1,18 @@ import sinon from 'sinon'; import nock from 'nock'; import { BN } from 'ethereumjs-util'; +import { PreferencesController } from '@metamask/user-controllers'; +import { + isTokenDetectionSupportedForNetwork, + SupportedTokenDetectionNetworks, + TOKEN_END_POINT_API, +} from '@metamask/controller-utils'; import { NetworkController, NetworksChainId, -} from '../network/NetworkController'; -import { PreferencesController } from '../user/PreferencesController'; +} from '@metamask/network-controller'; import { ControllerMessenger } from '../ControllerMessenger'; -import { - isTokenDetectionSupportedForNetwork, - SupportedTokenDetectionNetworks, -} from '../util'; -import { TOKEN_END_POINT_API } from '../apis/token-service'; + import { TokensController } from './TokensController'; import { TokenDetectionController } from './TokenDetectionController'; import { diff --git a/src/assets/TokenDetectionController.ts b/packages/assets-controllers/src/TokenDetectionController.ts similarity index 97% rename from src/assets/TokenDetectionController.ts rename to packages/assets-controllers/src/TokenDetectionController.ts index a96be20e9e..89e2cb4ea6 100644 --- a/src/assets/TokenDetectionController.ts +++ b/packages/assets-controllers/src/TokenDetectionController.ts @@ -1,11 +1,15 @@ -import { BaseController, BaseConfig, BaseState } from '../BaseController'; -import type { NetworkState } from '../network/NetworkController'; -import type { PreferencesState } from '../user/PreferencesController'; +import type { PreferencesState } from '@metamask/user-controllers'; import { safelyExecute, toChecksumHexAddress, isTokenDetectionSupportedForNetwork, -} from '../util'; +} from '@metamask/controller-utils'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; +import type { NetworkState } from '@metamask/network-controller'; import type { TokensController, TokensState } from './TokensController'; import type { AssetsContractController } from './AssetsContractController'; import { Token } from './TokenRatesController'; diff --git a/src/assets/TokenListController.test.ts b/packages/assets-controllers/src/TokenListController.test.ts similarity index 99% rename from src/assets/TokenListController.test.ts rename to packages/assets-controllers/src/TokenListController.test.ts index 6728bab1d3..04b401d5e8 100644 --- a/src/assets/TokenListController.test.ts +++ b/packages/assets-controllers/src/TokenListController.test.ts @@ -1,11 +1,11 @@ import sinon from 'sinon'; import nock from 'nock'; -import { TOKEN_END_POINT_API } from '../apis/token-service'; -import { ControllerMessenger } from '../ControllerMessenger'; import { NetworkController, NetworksChainId, -} from '../network/NetworkController'; +} from '@metamask/network-controller'; +import { ControllerMessenger } from '@metamask/base-controller'; +import { TOKEN_END_POINT_API } from '@metamask/controller-utils'; import { TokenListController, TokenListStateChange, diff --git a/src/assets/TokenListController.ts b/packages/assets-controllers/src/TokenListController.ts similarity index 96% rename from src/assets/TokenListController.ts rename to packages/assets-controllers/src/TokenListController.ts index 0b86be92f8..ca00596755 100644 --- a/src/assets/TokenListController.ts +++ b/packages/assets-controllers/src/TokenListController.ts @@ -1,11 +1,17 @@ import type { Patch } from 'immer'; import { Mutex } from 'async-mutex'; import { AbortController } from 'abort-controller'; -import { BaseController } from '../BaseControllerV2'; -import type { RestrictedControllerMessenger } from '../ControllerMessenger'; -import { safelyExecute, isTokenDetectionSupportedForNetwork } from '../util'; -import { fetchTokenList } from '../apis/token-service'; -import { NetworkState } from '../network/NetworkController'; +import { + safelyExecute, + isTokenDetectionSupportedForNetwork, + fetchTokenList, +} from '@metamask/controller-utils'; +import { NetworkState } from '@metamask/network-controller'; +import { + BaseControllerV2 as BaseController, + RestrictedControllerMessenger, +} from '@metamask/base-controller'; + import { formatAggregatorNames, formatIconUrlWithProxy } from './assetsUtil'; const DEFAULT_INTERVAL = 24 * 60 * 60 * 1000; diff --git a/src/assets/TokenRatesController.test.ts b/packages/assets-controllers/src/TokenRatesController.test.ts similarity index 99% rename from src/assets/TokenRatesController.test.ts rename to packages/assets-controllers/src/TokenRatesController.test.ts index 06499dd5d6..f7db8060fb 100644 --- a/src/assets/TokenRatesController.test.ts +++ b/packages/assets-controllers/src/TokenRatesController.test.ts @@ -1,7 +1,7 @@ import sinon from 'sinon'; import nock from 'nock'; -import { PreferencesController } from '../user/PreferencesController'; -import { NetworkController } from '../network/NetworkController'; +import { PreferencesController } from '@metamask/user-controllers'; +import { NetworkController } from '@metamask/network-controller'; import { TokenRatesController } from './TokenRatesController'; import { TokensController } from './TokensController'; diff --git a/src/assets/TokenRatesController.ts b/packages/assets-controllers/src/TokenRatesController.ts similarity index 97% rename from src/assets/TokenRatesController.ts rename to packages/assets-controllers/src/TokenRatesController.ts index 7e96889543..59d5b7c648 100644 --- a/src/assets/TokenRatesController.ts +++ b/packages/assets-controllers/src/TokenRatesController.ts @@ -1,9 +1,16 @@ -import { BaseController, BaseConfig, BaseState } from '../BaseController'; -import { safelyExecute, handleFetch, toChecksumHexAddress } from '../util'; - -import type { NetworkState } from '../network/NetworkController'; -import { FALL_BACK_VS_CURRENCY } from '../constants'; -import { fetchExchangeRate as fetchNativeExchangeRate } from '../apis/crypto-compare'; +import { + safelyExecute, + handleFetch, + toChecksumHexAddress, + FALL_BACK_VS_CURRENCY, + fetchExchangeRate as fetchNativeExchangeRate, +} from '@metamask/controller-utils'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; +import type { NetworkState } from '@metamask/network-controller'; import type { TokensState } from './TokensController'; import type { CurrencyRateState } from './CurrencyRateController'; diff --git a/src/assets/TokensController.test.ts b/packages/assets-controllers/src/TokensController.test.ts similarity index 99% rename from src/assets/TokensController.test.ts rename to packages/assets-controllers/src/TokensController.test.ts index a33da7766b..57062e9313 100644 --- a/src/assets/TokensController.test.ts +++ b/packages/assets-controllers/src/TokensController.test.ts @@ -1,13 +1,13 @@ import sinon from 'sinon'; import nock from 'nock'; import contractMaps from '@metamask/contract-metadata'; -import { PreferencesController } from '../user/PreferencesController'; -import { TOKEN_END_POINT_API } from '../apis/token-service'; +import { PreferencesController } from '@metamask/user-controllers'; import { NetworkController, NetworksChainId, NetworkType, -} from '../network/NetworkController'; +} from '@metamask/network-controller'; +import { TOKEN_END_POINT_API } from '@metamask/controller-utils'; import { TokensController } from './TokensController'; import { Token } from './TokenRatesController'; diff --git a/src/assets/TokensController.ts b/packages/assets-controllers/src/TokensController.ts similarity index 98% rename from src/assets/TokensController.ts rename to packages/assets-controllers/src/TokensController.ts index 52d50b7f06..3a7e3dca57 100644 --- a/src/assets/TokensController.ts +++ b/packages/assets-controllers/src/TokensController.ts @@ -5,18 +5,27 @@ import { v1 as random } from 'uuid'; import { Mutex } from 'async-mutex'; import { ethers } from 'ethers'; import { AbortController } from 'abort-controller'; -import { BaseController, BaseConfig, BaseState } from '../BaseController'; -import type { PreferencesState } from '../user/PreferencesController'; -import type { NetworkState, NetworkType } from '../network/NetworkController'; -import { validateTokenToWatch, toChecksumHexAddress } from '../util'; -import { MAINNET, ERC721_INTERFACE_ID } from '../constants'; +import type { PreferencesState } from '@metamask/user-controllers'; import { + toChecksumHexAddress, + MAINNET, + ERC721_INTERFACE_ID, fetchTokenMetadata, TOKEN_METADATA_NO_SUPPORT_ERROR, -} from '../apis/token-service'; +} from '@metamask/controller-utils'; +import type { NetworkState, NetworkType } from '@metamask/network-controller'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; import type { Token } from './TokenRatesController'; import { TokenListToken } from './TokenListController'; -import { formatAggregatorNames, formatIconUrlWithProxy } from './assetsUtil'; +import { + formatAggregatorNames, + formatIconUrlWithProxy, + validateTokenToWatch, +} from './assetsUtil'; /** * @type TokensConfig diff --git a/src/assets/assetsUtil.test.ts b/packages/assets-controllers/src/assetsUtil.test.ts similarity index 54% rename from src/assets/assetsUtil.test.ts rename to packages/assets-controllers/src/assetsUtil.test.ts index b7bb804aeb..02044b2213 100644 --- a/src/assets/assetsUtil.test.ts +++ b/packages/assets-controllers/src/assetsUtil.test.ts @@ -1,4 +1,4 @@ -import { NetworksChainId } from '../network/NetworkController'; +import { NetworksChainId } from '@metamask/network-controller'; import * as assetsUtil from './assetsUtil'; import { Collectible, CollectibleMetadata } from './CollectiblesController'; @@ -121,4 +121,118 @@ describe('assetsUtil', () => { expect(formattedIconUrl).toStrictEqual(expectedValue); }); }); + + describe('validateTokenToWatch', () => { + it('should throw if undefined token atrributes', () => { + expect(() => + assetsUtil.validateTokenToWatch({ + address: undefined, + decimals: 0, + symbol: 'TKN', + } as any), + ).toThrow('Must specify address, symbol, and decimals.'); + + expect(() => + assetsUtil.validateTokenToWatch({ + address: '0x1', + decimals: 0, + symbol: undefined, + } as any), + ).toThrow('Must specify address, symbol, and decimals.'); + + expect(() => + assetsUtil.validateTokenToWatch({ + address: '0x1', + decimals: undefined, + symbol: 'TKN', + } as any), + ).toThrow('Must specify address, symbol, and decimals.'); + }); + + it('should throw if symbol is not a string', () => { + expect(() => + assetsUtil.validateTokenToWatch({ + address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', + decimals: 0, + symbol: { foo: 'bar' }, + } as any), + ).toThrow('Invalid symbol: not a string.'); + }); + + it('should throw if symbol is an empty string', () => { + expect(() => + assetsUtil.validateTokenToWatch({ + address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', + decimals: 0, + symbol: '', + } as any), + ).toThrow('Must specify address, symbol, and decimals.'); + }); + + it('should not throw if symbol is exactly 1 character long', () => { + expect(() => + assetsUtil.validateTokenToWatch({ + address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', + decimals: 0, + symbol: 'T', + } as any), + ).not.toThrow(); + }); + + it('should not throw if symbol is exactly 11 characters long', () => { + expect(() => + assetsUtil.validateTokenToWatch({ + address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', + decimals: 0, + symbol: 'TKNTKNTKNTK', + } as any), + ).not.toThrow(); + }); + + it('should throw if symbol is more than 11 characters long', () => { + expect(() => + assetsUtil.validateTokenToWatch({ + address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', + decimals: 0, + symbol: 'TKNTKNTKNTKN', + } as any), + ).toThrow('Invalid symbol "TKNTKNTKNTKN": longer than 11 characters.'); + }); + + it('should throw if invalid decimals', () => { + expect(() => + assetsUtil.validateTokenToWatch({ + address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', + decimals: 0, + symbol: 'TKN', + } as any), + ).not.toThrow(); + + expect(() => + assetsUtil.validateTokenToWatch({ + address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', + decimals: 38, + symbol: 'TKN', + } as any), + ).toThrow('Invalid decimals "38": must be 0 <= 36.'); + + expect(() => + assetsUtil.validateTokenToWatch({ + address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', + decimals: -1, + symbol: 'TKN', + } as any), + ).toThrow('Invalid decimals "-1": must be 0 <= 36.'); + }); + + it('should throw if invalid address', () => { + expect(() => + assetsUtil.validateTokenToWatch({ + address: '0xe9', + decimals: 0, + symbol: 'TKN', + } as any), + ).toThrow('Invalid address "0xe9".'); + }); + }); }); diff --git a/src/assets/assetsUtil.ts b/packages/assets-controllers/src/assetsUtil.ts similarity index 70% rename from src/assets/assetsUtil.ts rename to packages/assets-controllers/src/assetsUtil.ts index dda7bf3448..2af3ac3114 100644 --- a/src/assets/assetsUtil.ts +++ b/packages/assets-controllers/src/assetsUtil.ts @@ -1,4 +1,7 @@ +import { ethErrors } from 'eth-rpc-errors'; +import { isValidHexAddress } from '@metamask/controller-utils'; import { Collectible, CollectibleMetadata } from './CollectiblesController'; +import { Token } from './TokenRatesController'; /** * Compares collectible metadata entries to any collectible entry. @@ -95,3 +98,37 @@ export const formatIconUrlWithProxy = ({ }) => { return `https://static.metaswap.codefi.network/api/v1/tokenIcons/${chainId}/${tokenAddress.toLowerCase()}.png`; }; + +/** + * Validates a ERC20 token to be added with EIP747. + * + * @param token - Token object to validate. + */ +export function validateTokenToWatch(token: Token) { + const { address, symbol, decimals } = token; + if (!address || !symbol || typeof decimals === 'undefined') { + throw ethErrors.rpc.invalidParams( + `Must specify address, symbol, and decimals.`, + ); + } + + if (typeof symbol !== 'string') { + throw ethErrors.rpc.invalidParams(`Invalid symbol: not a string.`); + } + + if (symbol.length > 11) { + throw ethErrors.rpc.invalidParams( + `Invalid symbol "${symbol}": longer than 11 characters.`, + ); + } + const numDecimals = parseInt(decimals as unknown as string, 10); + if (isNaN(numDecimals) || numDecimals > 36 || numDecimals < 0) { + throw ethErrors.rpc.invalidParams( + `Invalid decimals "${decimals}": must be 0 <= 36.`, + ); + } + + if (!isValidHexAddress(address)) { + throw ethErrors.rpc.invalidParams(`Invalid address "${address}".`); + } +} diff --git a/packages/assets-controllers/src/index.ts b/packages/assets-controllers/src/index.ts new file mode 100644 index 0000000000..5ddd4f7660 --- /dev/null +++ b/packages/assets-controllers/src/index.ts @@ -0,0 +1,10 @@ +export * from './AccountTrackerController'; +export * from './AssetsContractController'; +export * from './CollectibleDetectionController'; +export * from './CollectiblesController'; +export * from './CurrencyRateController'; +export * from './TokenBalancesController'; +export * from './TokenDetectionController'; +export * from './TokenListController'; +export * from './TokenRatesController'; +export * from './TokensController'; diff --git a/packages/assets-controllers/tsconfig.build.json b/packages/assets-controllers/tsconfig.build.json new file mode 100644 index 0000000000..9bf34e6999 --- /dev/null +++ b/packages/assets-controllers/tsconfig.build.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [ + { "path": "../base-controller/tsconfig.build.json" }, + { "path": "../controller-utils/tsconfig.build.json" }, + { "path": "../network-controller/tsconfig.build.json" }, + { "path": "../user-controllers/tsconfig.build.json" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/assets-controllers/tsconfig.json b/packages/assets-controllers/tsconfig.json new file mode 100644 index 0000000000..46941a6cfd --- /dev/null +++ b/packages/assets-controllers/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" }, + { "path": "../network-controller" }, + { "path": "../user-controllers" } + ], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/base-controller/CHANGELOG.md b/packages/base-controller/CHANGELOG.md index 0a480771f2..33c58cfad0 100644 --- a/packages/base-controller/CHANGELOG.md +++ b/packages/base-controller/CHANGELOG.md @@ -1,3 +1,3 @@ # Changelog -This is the changelog for the `@metamask/base-controller` package. It will be filled in and this message will be replaced later. +(TODO) diff --git a/packages/base-controller/README.md b/packages/base-controller/README.md index f22cab321c..06d86e2c58 100644 --- a/packages/base-controller/README.md +++ b/packages/base-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/base-controller` -A base controller and related interfaces. +(TODO) ## Installation diff --git a/packages/base-controller/jest.config.ts b/packages/base-controller/jest.config.ts index 6d1877e186..6c616f7297 100644 --- a/packages/base-controller/jest.config.ts +++ b/packages/base-controller/jest.config.ts @@ -3,12 +3,15 @@ * https://jestjs.io/docs/configuration */ +import * as path from 'path'; import merge from 'ts-deepmerge'; import baseConfig from '../../jest.config.packages'; +const displayName = path.basename(__dirname); + const config = merge(baseConfig, { // The display name when running multiple projects - displayName: 'base-controller', + displayName, }); export default config; diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index b89bde660b..73e79c5d1e 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/base-controller", "version": "0.1.0", - "description": "A base controller and related interfaces", + "description": "TODO", "keywords": [ "MetaMask", "Ethereum" @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": {}, + "dependencies": { + "immer": "^9.0.6" + }, "devDependencies": { "@types/sinon": "^9.0.10", "sinon": "^9.2.4", @@ -31,9 +35,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "dependencies": { - "immer": "^9.0.6", - "isomorphic-fetch": "^3.0.0" } } diff --git a/packages/composable-controller/CHANGELOG.md b/packages/composable-controller/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/composable-controller/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/composable-controller/README.md b/packages/composable-controller/README.md new file mode 100644 index 0000000000..587858ae39 --- /dev/null +++ b/packages/composable-controller/README.md @@ -0,0 +1,19 @@ +# `@metamask/composable-controller` + +(TODO) + +## Installation + +`yarn add @metamask/composable-controller` + +or + +`npm install @metamask/composable-controller` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/composable-controller/jest.config.ts b/packages/composable-controller/jest.config.ts new file mode 100644 index 0000000000..6c616f7297 --- /dev/null +++ b/packages/composable-controller/jest.config.ts @@ -0,0 +1,17 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const displayName = path.basename(__dirname); + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName, +}); + +export default config; diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json new file mode 100644 index 0000000000..ab8562f9fa --- /dev/null +++ b/packages/composable-controller/package.json @@ -0,0 +1,41 @@ +{ + "name": "@metamask/composable-controller", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/composable-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": {}, + "devDependencies": { + "@metamask/assets-controllers": "workspace:~", + "@metamask/base-controller": "workspace:~", + "@metamask/network-controller": "workspace:~", + "@metamask/third-party-controllers": "workspace:~", + "@metamask/user-controllers": "workspace:~", + "immer": "^9.0.6", + "sinon": "^9.2.4", + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/src/ComposableController.test.ts b/packages/composable-controller/src/ComposableController.test.ts similarity index 96% rename from src/ComposableController.test.ts rename to packages/composable-controller/src/ComposableController.test.ts index 46a8bcad32..130602314f 100644 --- a/src/ComposableController.test.ts +++ b/packages/composable-controller/src/ComposableController.test.ts @@ -1,22 +1,28 @@ import sinon from 'sinon'; import type { Patch } from 'immer'; -import { TokensController } from './assets/TokensController'; -import { CollectiblesController } from './assets/CollectiblesController'; -import { AddressBookController } from './user/AddressBookController'; -import { EnsController } from './third-party/EnsController'; -import { ComposableController } from './ComposableController'; -import { BaseController, BaseState } from './BaseController'; -import { BaseController as BaseControllerV2 } from './BaseControllerV2'; import { + TokensController, + CollectiblesController, + AssetsContractController, +} from '@metamask/assets-controllers'; +import { + AddressBookController, + PreferencesController, +} from '@metamask/user-controllers'; +import { EnsController } from '@metamask/third-party-controllers'; +import { + BaseController, + BaseState, + BaseControllerV2, ControllerMessenger, RestrictedControllerMessenger, -} from './ControllerMessenger'; -import { PreferencesController } from './user/PreferencesController'; +} from '@metamask/base-controller'; import { NetworkController, NetworksChainId, -} from './network/NetworkController'; -import { AssetsContractController } from './assets/AssetsContractController'; +} from '@metamask/network-controller'; + +import { ComposableController } from './ComposableController'; // Mock BaseControllerV2 classes diff --git a/src/ComposableController.ts b/packages/composable-controller/src/ComposableController.ts similarity index 95% rename from src/ComposableController.ts rename to packages/composable-controller/src/ComposableController.ts index 7bfe8134dd..0472b2129e 100644 --- a/src/ComposableController.ts +++ b/packages/composable-controller/src/ComposableController.ts @@ -1,5 +1,7 @@ -import { BaseController } from './BaseController'; -import { RestrictedControllerMessenger } from './ControllerMessenger'; +import { + BaseController, + RestrictedControllerMessenger, +} from '@metamask/base-controller'; /** * List of child controller instances diff --git a/packages/composable-controller/src/index.ts b/packages/composable-controller/src/index.ts new file mode 100644 index 0000000000..b1a9e5a4b1 --- /dev/null +++ b/packages/composable-controller/src/index.ts @@ -0,0 +1 @@ +export * from './ComposableController'; diff --git a/packages/composable-controller/tsconfig.build.json b/packages/composable-controller/tsconfig.build.json new file mode 100644 index 0000000000..240997700a --- /dev/null +++ b/packages/composable-controller/tsconfig.build.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [ + { "path": "../assets-controllers/tsconfig.build.json" }, + { "path": "../base-controller/tsconfig.build.json" }, + { "path": "../network-controller/tsconfig.build.json" }, + { "path": "../third-party-controllers/tsconfig.build.json" }, + { "path": "../user-controllers/tsconfig.build.json" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/composable-controller/tsconfig.json b/packages/composable-controller/tsconfig.json new file mode 100644 index 0000000000..63d6f33c41 --- /dev/null +++ b/packages/composable-controller/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../assets-controllers" }, + { "path": "../base-controller" }, + { "path": "../network-controller" }, + { "path": "../third-party-controllers" }, + { "path": "../user-controllers" } + ], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/controller-utils/CHANGELOG.md b/packages/controller-utils/CHANGELOG.md index 63c6d0b4e9..33c58cfad0 100644 --- a/packages/controller-utils/CHANGELOG.md +++ b/packages/controller-utils/CHANGELOG.md @@ -1,3 +1,3 @@ # Changelog -This is the changelog for the `@metamask/controller-utils` package. It will be filled in and this message will be replaced later. +(TODO) diff --git a/packages/controller-utils/README.md b/packages/controller-utils/README.md index 1bc3630b02..de9cefcd3c 100644 --- a/packages/controller-utils/README.md +++ b/packages/controller-utils/README.md @@ -1,6 +1,6 @@ # `@metamask/controller-utils` -Utility functions etc. +(TODO) ## Installation diff --git a/packages/controller-utils/jest.config.ts b/packages/controller-utils/jest.config.ts index 383b5cb526..6c616f7297 100644 --- a/packages/controller-utils/jest.config.ts +++ b/packages/controller-utils/jest.config.ts @@ -3,12 +3,15 @@ * https://jestjs.io/docs/configuration */ +import * as path from 'path'; import merge from 'ts-deepmerge'; import baseConfig from '../../jest.config.packages'; +const displayName = path.basename(__dirname); + const config = merge(baseConfig, { // The display name when running multiple projects - displayName: 'controller-utils', + displayName, }); export default config; diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 14d6702fed..493454aa0e 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/controller-utils", "version": "0.1.0", - "description": "Utility function etc.", + "description": "TODO", "keywords": [ "MetaMask", "Ethereum" @@ -20,9 +20,21 @@ "files": [ "dist/" ], - "devDependencies": { + "scripts": {}, + "dependencies": { + "@metamask/assets-controllers": "workspace:~", + "@metamask/base-controller": "workspace:~", + "@metamask/message-manager": "workspace:~", + "@metamask/transaction-controller": "workspace:~", "eth-ens-namehash": "^2.0.8", + "eth-rpc-errors": "^4.0.0", "ethereumjs-util": "^7.1.4", + "ethjs-unit": "^0.1.6", + "fast-deep-equal": "^3.1.3", + "isomorphic-fetch": "^3.0.0", + "multiformats": "^9.5.2" + }, + "devDependencies": { "ts-deepmerge": "^2.0.1" }, "engines": { diff --git a/src/constants.ts b/packages/controller-utils/src/constants.ts similarity index 100% rename from src/constants.ts rename to packages/controller-utils/src/constants.ts diff --git a/src/apis/crypto-compare.test.ts b/packages/controller-utils/src/crypto-compare.test.ts similarity index 100% rename from src/apis/crypto-compare.test.ts rename to packages/controller-utils/src/crypto-compare.test.ts diff --git a/src/apis/crypto-compare.ts b/packages/controller-utils/src/crypto-compare.ts similarity index 98% rename from src/apis/crypto-compare.ts rename to packages/controller-utils/src/crypto-compare.ts index 0266bd24e6..bbe1c9007d 100644 --- a/src/apis/crypto-compare.ts +++ b/packages/controller-utils/src/crypto-compare.ts @@ -1,4 +1,4 @@ -import { handleFetch } from '../util'; +import { handleFetch } from './util'; /** * Get the CryptoCompare API URL for getting the conversion rate from the given native currency to diff --git a/packages/controller-utils/src/index.ts b/packages/controller-utils/src/index.ts index bbebd88eb4..a3761d6cdd 100644 --- a/packages/controller-utils/src/index.ts +++ b/packages/controller-utils/src/index.ts @@ -1 +1,6 @@ +import 'isomorphic-fetch'; + +export * from './constants'; +export * from './crypto-compare'; +export * from './token-service'; export * from './util'; diff --git a/src/apis/token-service.test.ts b/packages/controller-utils/src/token-service.test.ts similarity index 85% rename from src/apis/token-service.test.ts rename to packages/controller-utils/src/token-service.test.ts index 4ae75bfe76..74e3f62c56 100644 --- a/src/apis/token-service.test.ts +++ b/packages/controller-utils/src/token-service.test.ts @@ -1,5 +1,4 @@ import nock from 'nock'; -import { NetworksChainId } from '../network/NetworkController'; import { fetchTokenList, fetchTokenMetadata, @@ -132,6 +131,8 @@ const sampleToken = { name: 'Chainlink', }; +const sampleChainId = '1'; + describe('Token service', () => { beforeAll(() => { nock.disableNetConnect(); @@ -149,11 +150,11 @@ describe('Token service', () => { it('should call the tokens api and return the list of tokens', async () => { const { signal } = new AbortController(); nock(TOKEN_END_POINT_API) - .get(`/tokens/${NetworksChainId.mainnet}`) + .get(`/tokens/${sampleChainId}`) .reply(200, sampleTokenList) .persist(); - const tokens = await fetchTokenList(NetworksChainId.mainnet, signal); + const tokens = await fetchTokenList(sampleChainId, signal); expect(tokens).toStrictEqual(sampleTokenList); }); @@ -161,14 +162,14 @@ describe('Token service', () => { it('should return undefined if the fetch is aborted', async () => { const abortController = new AbortController(); nock(TOKEN_END_POINT_API) - .get(`/tokens/${NetworksChainId.mainnet}`) + .get(`/tokens/${sampleChainId}`) // well beyond time it will take to abort .delay(ONE_SECOND_IN_MILLISECONDS) .reply(200, sampleTokenList) .persist(); const fetchPromise = fetchTokenList( - NetworksChainId.mainnet, + sampleChainId, abortController.signal, ); abortController.abort(); @@ -179,11 +180,11 @@ describe('Token service', () => { it('should return undefined if the fetch fails with a network error', async () => { const { signal } = new AbortController(); nock(TOKEN_END_POINT_API) - .get(`/tokens/${NetworksChainId.mainnet}`) + .get(`/tokens/${sampleChainId}`) .replyWithError('Example network error') .persist(); - const result = await fetchTokenList(NetworksChainId.mainnet, signal); + const result = await fetchTokenList(sampleChainId, signal); expect(result).toBeUndefined(); }); @@ -191,11 +192,11 @@ describe('Token service', () => { it('should return undefined if the fetch fails with an unsuccessful status code', async () => { const { signal } = new AbortController(); nock(TOKEN_END_POINT_API) - .get(`/tokens/${NetworksChainId.mainnet}`) + .get(`/tokens/${sampleChainId}`) .reply(500) .persist(); - const result = await fetchTokenList(NetworksChainId.mainnet, signal); + const result = await fetchTokenList(sampleChainId, signal); expect(result).toBeUndefined(); }); @@ -203,13 +204,13 @@ describe('Token service', () => { it('should return undefined if the fetch fails with a timeout', async () => { const { signal } = new AbortController(); nock(TOKEN_END_POINT_API) - .get(`/tokens/${NetworksChainId.mainnet}`) + .get(`/tokens/${sampleChainId}`) // well beyond timeout .delay(ONE_SECOND_IN_MILLISECONDS) .reply(200, sampleTokenList) .persist(); - const result = await fetchTokenList(NetworksChainId.mainnet, signal, { + const result = await fetchTokenList(sampleChainId, signal, { timeout: ONE_MILLISECOND, }); @@ -222,13 +223,13 @@ describe('Token service', () => { const { signal } = new AbortController(); nock(TOKEN_END_POINT_API) .get( - `/token/${NetworksChainId.mainnet}?address=0x514910771af9ca656af840dff83e8264ecf986ca`, + `/token/${sampleChainId}?address=0x514910771af9ca656af840dff83e8264ecf986ca`, ) .reply(200, sampleToken) .persist(); const token = await fetchTokenMetadata( - NetworksChainId.mainnet, + sampleChainId, '0x514910771af9ca656af840dff83e8264ecf986ca', signal, ); @@ -239,14 +240,14 @@ describe('Token service', () => { it('should return undefined if the fetch is aborted', async () => { const abortController = new AbortController(); nock(TOKEN_END_POINT_API) - .get(`/tokens/${NetworksChainId.mainnet}`) + .get(`/tokens/${sampleChainId}`) // well beyond time it will take to abort .delay(ONE_SECOND_IN_MILLISECONDS) .reply(200, sampleTokenList) .persist(); const fetchPromise = fetchTokenMetadata( - NetworksChainId.mainnet, + sampleChainId, '0x514910771af9ca656af840dff83e8264ecf986ca', abortController.signal, ); @@ -258,12 +259,12 @@ describe('Token service', () => { it('should return undefined if the fetch fails with a network error', async () => { const { signal } = new AbortController(); nock(TOKEN_END_POINT_API) - .get(`/tokens/${NetworksChainId.mainnet}`) + .get(`/tokens/${sampleChainId}`) .replyWithError('Example network error') .persist(); const tokenMetadata = await fetchTokenMetadata( - NetworksChainId.mainnet, + sampleChainId, '0x514910771af9ca656af840dff83e8264ecf986ca', signal, ); @@ -274,12 +275,12 @@ describe('Token service', () => { it('should return undefined if the fetch fails with an unsuccessful status code', async () => { const { signal } = new AbortController(); nock(TOKEN_END_POINT_API) - .get(`/tokens/${NetworksChainId.mainnet}`) + .get(`/tokens/${sampleChainId}`) .reply(500) .persist(); const tokenMetadata = await fetchTokenMetadata( - NetworksChainId.mainnet, + sampleChainId, '0x514910771af9ca656af840dff83e8264ecf986ca', signal, ); @@ -290,14 +291,14 @@ describe('Token service', () => { it('should return undefined if the fetch fails with a timeout', async () => { const { signal } = new AbortController(); nock(TOKEN_END_POINT_API) - .get(`/tokens/${NetworksChainId.mainnet}`) + .get(`/tokens/${sampleChainId}`) // well beyond timeout .delay(ONE_SECOND_IN_MILLISECONDS) .reply(200, sampleTokenList) .persist(); const tokenMetadata = await fetchTokenMetadata( - NetworksChainId.mainnet, + sampleChainId, '0x514910771af9ca656af840dff83e8264ecf986ca', signal, { timeout: ONE_MILLISECOND }, @@ -321,11 +322,11 @@ describe('Token service', () => { it('should call the tokens api and return undefined', async () => { const { signal } = new AbortController(); nock(TOKEN_END_POINT_API) - .get(`/tokens/${NetworksChainId.mainnet}`) + .get(`/tokens/${sampleChainId}`) .reply(404, undefined) .persist(); - const tokens = await fetchTokenList(NetworksChainId.mainnet, signal); + const tokens = await fetchTokenList(sampleChainId, signal); expect(tokens).toBeUndefined(); }); diff --git a/src/apis/token-service.ts b/packages/controller-utils/src/token-service.ts similarity index 99% rename from src/apis/token-service.ts rename to packages/controller-utils/src/token-service.ts index 6486253647..14c3409e9c 100644 --- a/src/apis/token-service.ts +++ b/packages/controller-utils/src/token-service.ts @@ -1,4 +1,4 @@ -import { isTokenDetectionSupportedForNetwork, timeoutFetch } from '../util'; +import { isTokenDetectionSupportedForNetwork, timeoutFetch } from './util'; export const TOKEN_END_POINT_API = 'https://token-api.metaswap.codefi.network'; export const TOKEN_METADATA_NO_SUPPORT_ERROR = diff --git a/packages/controller-utils/src/util.test.ts b/packages/controller-utils/src/util.test.ts index e3176c6569..acb013aa70 100644 --- a/packages/controller-utils/src/util.test.ts +++ b/packages/controller-utils/src/util.test.ts @@ -1,8 +1,323 @@ +import 'isomorphic-fetch'; +import { BN } from 'ethereumjs-util'; +import nock from 'nock'; import * as util from './util'; const VALID = '4e1fF7229BDdAf0A73DF183a88d9c3a04cc975e0'; +const SOME_API = 'https://someapi.com'; +const SOME_FAILING_API = 'https://somefailingapi.com'; + +const DEFAULT_IPFS_URL_FORMAT = 'ipfs://'; +const ALTERNATIVE_IPFS_URL_FORMAT = 'ipfs://ipfs/'; +const IPFS_CID_V0 = 'QmdfTbBqBPQ7VNxZEYEj14VmRuZBkqFbiwReogJgS1zR1n'; +const IPFS_CID_V1 = + 'bafybeihdwdcefgh4dqkjv67uzcmw7ojee6xedzdetojuzjevtenxquvyku'; + +const IFPS_GATEWAY = 'dweb.link'; describe('util', () => { + beforeEach(() => { + nock.cleanAll(); + }); + + it('bNToHex', () => { + expect(util.BNToHex(new BN('1337'))).toBe('0x539'); + }); + + it('fractionBN', () => { + expect(util.fractionBN(new BN('1337'), 9, 10).toNumber()).toBe(1203); + }); + + it('getBuyURL', () => { + expect(util.getBuyURL(undefined, 'foo', 1337)).toBe( + 'https://buy.coinbase.com/?code=9ec56d01-7e81-5017-930c-513daa27bb6a&amount=1337&address=foo&crypto_currency=ETH', + ); + + expect(util.getBuyURL('1', 'foo', 1337)).toBe( + 'https://buy.coinbase.com/?code=9ec56d01-7e81-5017-930c-513daa27bb6a&amount=1337&address=foo&crypto_currency=ETH', + ); + expect(util.getBuyURL('3')).toBe('https://faucet.metamask.io/'); + expect(util.getBuyURL('4')).toBe('https://www.rinkeby.io/'); + expect(util.getBuyURL('5')).toBe('https://goerli-faucet.slock.it/'); + expect(util.getBuyURL('42')).toBe( + 'https://github.com/kovan-testnet/faucet', + ); + expect(util.getBuyURL('unrecognized network ID')).toBeUndefined(); + }); + + it('hexToBN', () => { + expect(util.hexToBN('0x1337').toNumber()).toBe(4919); + }); + + describe('fromHex', () => { + it('converts a string that represents a number in hexadecimal format with leading "0x" into a BN', () => { + expect(util.fromHex('0x1337')).toStrictEqual(new BN(4919)); + }); + + it('converts a string that represents a number in hexadecimal format without leading "0x" into a BN', () => { + expect(util.fromHex('1337')).toStrictEqual(new BN(4919)); + }); + + it('does nothing to a BN', () => { + const bn = new BN(4919); + expect(util.fromHex(bn)).toBe(bn); + }); + }); + + describe('toHex', () => { + it('converts a BN to a hex string prepended with "0x"', () => { + expect(util.toHex(new BN(4919))).toStrictEqual('0x1337'); + }); + + it('parses a string as a number in decimal format and converts it to a hex string prepended with "0x"', () => { + expect(util.toHex('4919')).toStrictEqual('0x1337'); + }); + + it('throws an error if given a string with decimals', () => { + expect(() => util.toHex('4919.3')).toThrow('Invalid character'); + }); + + it('converts a number to a hex string prepended with "0x"', () => { + expect(util.toHex(4919)).toStrictEqual('0x1337'); + }); + + it('throws an error if given a float', () => { + expect(() => util.toHex(4919.3)).toThrow('Invalid character'); + }); + + it('does nothing to a string that is already a "0x"-prepended hex value', () => { + expect(util.toHex('0x1337')).toStrictEqual('0x1337'); + }); + + it('throws an error if given a non-"0x"-prepended string that is not a valid hex value', () => { + expect(() => util.toHex('zzzz')).toThrow('Invalid character'); + }); + }); + + describe('gweiDecToWEIBN', () => { + it('should convert a whole number to WEI', () => { + expect(util.gweiDecToWEIBN(1).toNumber()).toBe(1000000000); + expect(util.gweiDecToWEIBN(123).toNumber()).toBe(123000000000); + expect(util.gweiDecToWEIBN(101).toNumber()).toBe(101000000000); + expect(util.gweiDecToWEIBN(1234).toNumber()).toBe(1234000000000); + expect(util.gweiDecToWEIBN(1000).toNumber()).toBe(1000000000000); + }); + + it('should convert a number with a decimal part to WEI', () => { + expect(util.gweiDecToWEIBN(1.1).toNumber()).toBe(1100000000); + expect(util.gweiDecToWEIBN(123.01).toNumber()).toBe(123010000000); + expect(util.gweiDecToWEIBN(101.001).toNumber()).toBe(101001000000); + expect(util.gweiDecToWEIBN(100.001).toNumber()).toBe(100001000000); + expect(util.gweiDecToWEIBN(1234.567).toNumber()).toBe(1234567000000); + }); + + it('should convert a number < 1 to WEI', () => { + expect(util.gweiDecToWEIBN(0.1).toNumber()).toBe(100000000); + expect(util.gweiDecToWEIBN(0.01).toNumber()).toBe(10000000); + expect(util.gweiDecToWEIBN(0.001).toNumber()).toBe(1000000); + expect(util.gweiDecToWEIBN(0.567).toNumber()).toBe(567000000); + }); + + it('should round to whole WEI numbers', () => { + expect(util.gweiDecToWEIBN(0.1001).toNumber()).toBe(100100000); + expect(util.gweiDecToWEIBN(0.0109).toNumber()).toBe(10900000); + expect(util.gweiDecToWEIBN(0.0014).toNumber()).toBe(1400000); + expect(util.gweiDecToWEIBN(0.5676).toNumber()).toBe(567600000); + }); + + it('should handle inputs with more than 9 decimal places', () => { + expect(util.gweiDecToWEIBN(1.0000000162).toNumber()).toBe(1000000016); + expect(util.gweiDecToWEIBN(1.0000000165).toNumber()).toBe(1000000017); + expect(util.gweiDecToWEIBN(1.0000000199).toNumber()).toBe(1000000020); + expect(util.gweiDecToWEIBN(1.9999999999).toNumber()).toBe(2000000000); + expect(util.gweiDecToWEIBN(1.0000005998).toNumber()).toBe(1000000600); + expect(util.gweiDecToWEIBN(123456.0000005998).toNumber()).toBe( + 123456000000600, + ); + expect(util.gweiDecToWEIBN(1.000000016025).toNumber()).toBe(1000000016); + expect(util.gweiDecToWEIBN(1.0000000160000028).toNumber()).toBe( + 1000000016, + ); + expect(util.gweiDecToWEIBN(1.000000016522).toNumber()).toBe(1000000017); + expect(util.gweiDecToWEIBN(1.000000016800022).toNumber()).toBe( + 1000000017, + ); + }); + + it('should work if there are extraneous trailing decimal zeroes', () => { + expect(util.gweiDecToWEIBN('0.5000').toNumber()).toBe(500000000); + expect(util.gweiDecToWEIBN('123.002300').toNumber()).toBe(123002300000); + expect(util.gweiDecToWEIBN('123.002300000000').toNumber()).toBe( + 123002300000, + ); + expect(util.gweiDecToWEIBN('0.00000200000').toNumber()).toBe(2000); + }); + + it('should work if there is no whole number specified', () => { + expect(util.gweiDecToWEIBN('.1').toNumber()).toBe(100000000); + expect(util.gweiDecToWEIBN('.01').toNumber()).toBe(10000000); + expect(util.gweiDecToWEIBN('.001').toNumber()).toBe(1000000); + expect(util.gweiDecToWEIBN('.567').toNumber()).toBe(567000000); + }); + + it('should handle NaN', () => { + expect(util.gweiDecToWEIBN(NaN).toNumber()).toBe(0); + }); + }); + + describe('weiHexToGweiDec', () => { + it('should convert a whole number to WEI', () => { + const testData = [ + { + input: '3b9aca00', + expectedResult: '1', + }, + { + input: '1ca35f0e00', + expectedResult: '123', + }, + { + input: '178411b200', + expectedResult: '101', + }, + { + input: '11f5021b400', + expectedResult: '1234', + }, + ]; + testData.forEach(({ input, expectedResult }) => { + expect(util.weiHexToGweiDec(input)).toBe(expectedResult); + }); + }); + + it('should convert a number with a decimal part to WEI', () => { + const testData = [ + { + input: '4190ab00', + expectedResult: '1.1', + }, + { + input: '1ca3f7a480', + expectedResult: '123.01', + }, + { + input: '178420f440', + expectedResult: '101.001', + }, + { + input: '11f71ed6fc0', + expectedResult: '1234.567', + }, + ]; + + testData.forEach(({ input, expectedResult }) => { + expect(util.weiHexToGweiDec(input)).toBe(expectedResult); + }); + }); + + it('should convert a number < 1 to WEI', () => { + const testData = [ + { + input: '5f5e100', + expectedResult: '0.1', + }, + { + input: '989680', + expectedResult: '0.01', + }, + { + input: 'f4240', + expectedResult: '0.001', + }, + { + input: '21cbbbc0', + expectedResult: '0.567', + }, + ]; + + testData.forEach(({ input, expectedResult }) => { + expect(util.weiHexToGweiDec(input)).toBe(expectedResult); + }); + }); + + it('should work with 0x prefixed values', () => { + expect(util.weiHexToGweiDec('0x5f48b0f7')).toBe('1.598599415'); + }); + }); + + describe('safelyExecute', () => { + it('should swallow errors', async () => { + expect( + await util.safelyExecute(() => { + throw new Error('ahh'); + }), + ).toBeUndefined(); + }); + }); + + describe('safelyExecuteWithTimeout', () => { + it('should swallow errors', async () => { + expect( + await util.safelyExecuteWithTimeout(() => { + throw new Error('ahh'); + }), + ).toBeUndefined(); + }); + + it('should resolve', async () => { + const response = await util.safelyExecuteWithTimeout(() => { + return new Promise((res) => setTimeout(() => res('response'), 200)); + }); + expect(response).toStrictEqual('response'); + }); + + it('should timeout', async () => { + expect( + await util.safelyExecuteWithTimeout(() => { + return new Promise((res) => setTimeout(res, 800)); + }), + ).toBeUndefined(); + }); + }); + + describe('getEtherscanApiUrl', () => { + const networkType = 'mainnet'; + const address = '0xC7D3BFDeA106B446Cf9f2Db354D496e6Dd8b2525'; + const action = 'txlist'; + + it('should return a correctly structured url', () => { + const url = util.getEtherscanApiUrl(networkType, { address, action }); + expect(url.indexOf(`&action=${action}`)).toBeGreaterThan(0); + }); + + it('should return a correctly structured url with from block', () => { + const fromBlock = 'xxxxxx'; + const url = util.getEtherscanApiUrl(networkType, { + address, + action, + startBlock: fromBlock, + }); + expect(url.indexOf(`&startBlock=${fromBlock}`)).toBeGreaterThan(0); + }); + + it('should return a correctly structured url with testnet subdomain', () => { + const ropsten = 'ropsten'; + const url = util.getEtherscanApiUrl(ropsten, { address, action }); + expect(url.indexOf(`https://api-${ropsten}`)).toBe(0); + }); + + it('should return a correctly structured url with apiKey', () => { + const apiKey = 'xxxxxx'; + const url = util.getEtherscanApiUrl(networkType, { + address, + action, + startBlock: 'xxxxxx', + apikey: apiKey, + }); + expect(url.indexOf(`&apikey=${apiKey}`)).toBeGreaterThan(0); + }); + }); + describe('toChecksumHexAddress', () => { const fullAddress = `0x${VALID}`; it('should return address for valid address', () => { @@ -30,6 +345,70 @@ describe('util', () => { }); }); + it('normalizeMessageData', () => { + const firstNormalized = util.normalizeMessageData( + '879a053d4800c6354e76c7985a865d2922c82fb5b3f4577b2fe08b998954f2e0', + ); + const secondNormalized = util.normalizeMessageData('somedata'); + expect(firstNormalized).toStrictEqual( + '0x879a053d4800c6354e76c7985a865d2922c82fb5b3f4577b2fe08b998954f2e0', + ); + expect(secondNormalized).toStrictEqual('0x736f6d6564617461'); + }); + + it('messageHexToString', () => { + const str = util.hexToText('68656c6c6f207468657265'); + expect(str).toStrictEqual('hello there'); + }); + + it('isSmartContractCode', () => { + const toSmartContract1 = util.isSmartContractCode(''); + const toSmartContract2 = util.isSmartContractCode('0x'); + const toSmartContract3 = util.isSmartContractCode('0x0'); + const toSmartContract4 = util.isSmartContractCode('0x01234'); + expect(toSmartContract1).toBe(false); + expect(toSmartContract2).toBe(false); + expect(toSmartContract3).toBe(false); + expect(toSmartContract4).toBe(true); + }); + + describe('successfulFetch', () => { + beforeEach(() => { + nock(SOME_API).get(/.+/u).reply(200, { foo: 'bar' }).persist(); + nock(SOME_FAILING_API).get(/.+/u).reply(500).persist(); + }); + + it('should return successful fetch response', async () => { + const res = await util.successfulFetch(SOME_API); + const parsed = await res.json(); + expect(parsed).toStrictEqual({ foo: 'bar' }); + }); + + it('should throw error for an unsuccessful fetch', async () => { + await expect(util.successfulFetch(SOME_FAILING_API)).rejects.toThrow( + `Fetch failed with status '500' for request '${SOME_FAILING_API}'`, + ); + }); + }); + + describe('timeoutFetch', () => { + beforeEach(() => { + nock(SOME_API).get(/.+/u).delay(300).reply(200, {}).persist(); + }); + + it('should fetch first if response is faster than timeout', async () => { + const res = await util.timeoutFetch(SOME_API); + const parsed = await res.json(); + expect(parsed).toStrictEqual({}); + }); + + it('should fail fetch with timeout', async () => { + await expect(util.timeoutFetch(SOME_API, {}, 100)).rejects.toThrow( + 'timeout', + ); + }); + }); + describe('normalizeEnsName', () => { it('should normalize with valid 2LD', async () => { let valid = util.normalizeEnsName('metamask.eth'); @@ -108,4 +487,314 @@ describe('util', () => { expect(invalid).toBeNull(); }); }); + + describe('query', () => { + describe('when the given method exists directly on the EthQuery', () => { + it('should call the method on the EthQuery and, if it is successful, return a promise that resolves to the result', async () => { + const ethQuery = { + getBlockByHash: (blockId: any, cb: any) => cb(null, { id: blockId }), + }; + const result = await util.query(ethQuery, 'getBlockByHash', ['0x1234']); + expect(result).toStrictEqual({ id: '0x1234' }); + }); + + it('should call the method on the EthQuery and, if it errors, return a promise that is rejected with the error', async () => { + const ethQuery = { + getBlockByHash: (_blockId: any, cb: any) => + cb(new Error('uh oh'), null), + }; + await expect( + util.query(ethQuery, 'getBlockByHash', ['0x1234']), + ).rejects.toThrow('uh oh'); + }); + }); + + describe('when the given method does not exist directly on the EthQuery', () => { + it('should use sendAsync to call the RPC endpoint and, if it is successful, return a promise that resolves to the result', async () => { + const ethQuery = { + sendAsync: ({ method, params }: any, cb: any) => { + if (method === 'eth_getBlockByHash') { + return cb(null, { id: params[0] }); + } + throw new Error(`Unsupported method ${method}`); + }, + }; + const result = await util.query(ethQuery, 'eth_getBlockByHash', [ + '0x1234', + ]); + expect(result).toStrictEqual({ id: '0x1234' }); + }); + + it('should use sendAsync to call the RPC endpoint and, if it errors, return a promise that is rejected with the error', async () => { + const ethQuery = { + sendAsync: (_args: any, cb: any) => { + cb(new Error('uh oh'), null); + }, + }; + await expect( + util.query(ethQuery, 'eth_getBlockByHash', ['0x1234']), + ).rejects.toThrow('uh oh'); + }); + }); + }); + + describe('convertHexToDecimal', () => { + it('should convert hex price to decimal', () => { + expect(util.convertHexToDecimal('0x50fd51da')).toStrictEqual(1358778842); + }); + + it('should return zero when undefined', () => { + expect(util.convertHexToDecimal(undefined)).toStrictEqual(0); + }); + }); + + describe('getIncreasedPriceHex', () => { + it('should get increased price from number as hex', () => { + expect(util.getIncreasedPriceHex(1358778842, 1.1)).toStrictEqual( + '0x5916a6d6', + ); + }); + }); + + describe('getIncreasedPriceFromExisting', () => { + it('should get increased price from hex as hex', () => { + expect( + util.getIncreasedPriceFromExisting('0x50fd51da', 1.1), + ).toStrictEqual('0x5916a6d6'); + }); + }); + + describe('validateMinimumIncrease', () => { + it('should throw if increase does not meet minimum requirement', () => { + expect(() => + util.validateMinimumIncrease('0x50fd51da', '0x5916a6d6'), + ).toThrow(Error); + + expect(() => + util.validateMinimumIncrease('0x50fd51da', '0x5916a6d6'), + ).toThrow( + 'The proposed value: 1358778842 should meet or exceed the minimum value: 1494656726', + ); + }); + + it('should not throw if increase meets minimum requirement', () => { + expect(() => + util.validateMinimumIncrease('0x5916a6d6', '0x5916a6d6'), + ).not.toThrow(Error); + }); + + it('should not throw if increase exceeds minimum requirement', () => { + expect(() => + util.validateMinimumIncrease('0x7162a5ca', '0x5916a6d6'), + ).not.toThrow(Error); + }); + }); + + describe('getFormattedIpfsUrl', () => { + it('should return a correctly formatted subdomained ipfs url when passed ipfsGateway without protocol prefix, no path and subdomainSupported argument set to true', () => { + expect( + util.getFormattedIpfsUrl( + IFPS_GATEWAY, + `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V1}`, + true, + ), + ).toStrictEqual(`https://${IPFS_CID_V1}.ipfs.${IFPS_GATEWAY}`); + }); + + it('should return a correctly formatted subdomained ipfs url when passed ipfsGateway with protocol prefix, a cidv0 and no path and subdomainSupported argument set to true', () => { + expect( + util.getFormattedIpfsUrl( + `https://${IFPS_GATEWAY}`, + `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V0}`, + true, + ), + ).toStrictEqual(`https://${IPFS_CID_V1}.ipfs.${IFPS_GATEWAY}`); + }); + + it('should return a correctly formatted subdomained ipfs url when passed ipfsGateway with protocol prefix, a path at the end of the url, and subdomainSupported argument set to true', () => { + expect( + util.getFormattedIpfsUrl( + `https://${IFPS_GATEWAY}`, + `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V1}/test`, + true, + ), + ).toStrictEqual(`https://${IPFS_CID_V1}.ipfs.${IFPS_GATEWAY}/test`); + }); + + it('should return a correctly formatted non-subdomained ipfs url when passed ipfsGateway with no "/ipfs/" appended, a path at the end of the url, and subdomainSupported argument set to false', () => { + expect( + util.getFormattedIpfsUrl( + `https://${IFPS_GATEWAY}`, + `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V1}/test`, + false, + ), + ).toStrictEqual(`https://${IFPS_GATEWAY}/ipfs/${IPFS_CID_V1}/test`); + }); + + it('should return a correctly formatted non-subdomained ipfs url when passed an ipfsGateway with "/ipfs/" appended, a path at the end of the url, subdomainSupported argument set to false', () => { + expect( + util.getFormattedIpfsUrl( + `https://${IFPS_GATEWAY}/ipfs/`, + `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V1}/test`, + false, + ), + ).toStrictEqual(`https://${IFPS_GATEWAY}/ipfs/${IPFS_CID_V1}/test`); + }); + }); + + describe('removeIpfsProtocolPrefix', () => { + it('should return content identifier and path combined string from default ipfs url format', () => { + expect( + util.removeIpfsProtocolPrefix( + `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V0}/test`, + ), + ).toStrictEqual(`${IPFS_CID_V0}/test`); + }); + + it('should return content identifier string from default ipfs url format if no path preset', () => { + expect( + util.removeIpfsProtocolPrefix( + `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V0}`, + ), + ).toStrictEqual(IPFS_CID_V0); + }); + + it('should return content identifier string from alternate ipfs url format', () => { + expect( + util.removeIpfsProtocolPrefix( + `${ALTERNATIVE_IPFS_URL_FORMAT}${IPFS_CID_V0}`, + ), + ).toStrictEqual(IPFS_CID_V0); + }); + + it('should throw error if passed a non ipfs url', () => { + expect(() => util.removeIpfsProtocolPrefix(SOME_API)).toThrow( + 'this method should not be used with non ipfs urls', + ); + }); + }); + + describe('addUrlProtocolPrefix', () => { + it('should return a URL with https:// prepended if input URL does not already have it', () => { + expect(util.addUrlProtocolPrefix(IFPS_GATEWAY)).toStrictEqual( + `https://${IFPS_GATEWAY}`, + ); + }); + + it('should return a URL as is if https:// is already prepended', () => { + expect(util.addUrlProtocolPrefix(SOME_API)).toStrictEqual(SOME_API); + }); + }); + + describe('getIpfsCIDv1AndPath', () => { + it('should return content identifier from default ipfs url format', () => { + expect( + util.getIpfsCIDv1AndPath(`${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V0}`), + ).toStrictEqual({ cid: IPFS_CID_V1, path: undefined }); + }); + + it('should return content identifier from alternative ipfs url format', () => { + expect( + util.getIpfsCIDv1AndPath( + `${ALTERNATIVE_IPFS_URL_FORMAT}${IPFS_CID_V0}`, + ), + ).toStrictEqual({ cid: IPFS_CID_V1, path: undefined }); + }); + + it('should return unchanged content identifier if already v1', () => { + expect( + util.getIpfsCIDv1AndPath(`${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V1}`), + ).toStrictEqual({ cid: IPFS_CID_V1, path: undefined }); + }); + + it('should return a path when url contains one', () => { + expect( + util.getIpfsCIDv1AndPath( + `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V1}/test/test/test`, + ), + ).toStrictEqual({ cid: IPFS_CID_V1, path: '/test/test/test' }); + }); + }); +}); + +describe('isPlainObject', () => { + it('returns false for null values', () => { + expect(util.isPlainObject(null)).toBe(false); + expect(util.isPlainObject(undefined)).toBe(false); + }); + + it('returns false for non objects', () => { + expect(util.isPlainObject(5)).toBe(false); + expect(util.isPlainObject('foo')).toBe(false); + }); + + it('returns false for arrays', () => { + expect(util.isPlainObject(['foo'])).toBe(false); + expect(util.isPlainObject([{}])).toBe(false); + }); + + it('returns true for objects', () => { + expect(util.isPlainObject({ foo: 'bar' })).toBe(true); + expect(util.isPlainObject({ foo: 'bar', test: { num: 5 } })).toBe(true); + }); +}); + +describe('hasProperty', () => { + it('returns false for non existing properties', () => { + expect(util.hasProperty({ foo: 'bar' }, 'property')).toBe(false); + }); + + it('returns true for existing properties', () => { + expect(util.hasProperty({ foo: 'bar' }, 'foo')).toBe(true); + }); +}); + +describe('isNonEmptyArray', () => { + it('returns false non arrays', () => { + // @ts-expect-error Invalid type for testing purposes + expect(util.isNonEmptyArray(null)).toBe(false); + // @ts-expect-error Invalid type for testing purposes + expect(util.isNonEmptyArray(undefined)).toBe(false); + }); + + it('returns false for empty array', () => { + expect(util.isNonEmptyArray([])).toBe(false); + }); + + it('returns true arrays with at least one item', () => { + expect(util.isNonEmptyArray([1])).toBe(true); + expect(util.isNonEmptyArray([1, 2, 3, 4])).toBe(true); + }); +}); + +describe('isValidJson', () => { + it('returns false for class instances', () => { + expect(util.isValidJson(new Map())).toBe(false); + }); + + it('returns true for valid JSON', () => { + expect(util.isValidJson({ foo: 'bar', test: { num: 5 } })).toBe(true); + }); +}); + +describe('isTokenDetectionSupportedForNetwork', () => { + it('returns true for Mainnet', () => { + expect( + util.isTokenDetectionSupportedForNetwork( + util.SupportedTokenDetectionNetworks.mainnet, + ), + ).toBe(true); + }); + + it('returns true for custom network such as BSC', () => { + expect( + util.isTokenDetectionSupportedForNetwork( + util.SupportedTokenDetectionNetworks.bsc, + ), + ).toBe(true); + }); + + it('returns false for testnets such as Ropsten', () => { + expect(util.isTokenDetectionSupportedForNetwork('137')).toBe(false); + }); }); diff --git a/packages/controller-utils/src/util.ts b/packages/controller-utils/src/util.ts index bc18eb1c40..abb11189ae 100644 --- a/packages/controller-utils/src/util.ts +++ b/packages/controller-utils/src/util.ts @@ -2,9 +2,262 @@ import { addHexPrefix, isValidAddress, isHexString, + bufferToHex, + BN, toChecksumAddress, + stripHexPrefix, } from 'ethereumjs-util'; +import { fromWei, toWei } from 'ethjs-unit'; import ensNamehash from 'eth-ens-namehash'; +import { CID } from 'multiformats/cid'; +import deepEqual from 'fast-deep-equal'; +import { Json } from '@metamask/base-controller'; +import { MAINNET } from './constants'; + +const TIMEOUT_ERROR = new Error('timeout'); + +const hexRe = /^[0-9A-Fa-f]+$/gu; + +/** + * Converts a BN object to a hex string with a '0x' prefix. + * + * @param inputBn - BN instance to convert to a hex string. + * @returns A '0x'-prefixed hex string. + */ +export function BNToHex(inputBn: any) { + return addHexPrefix(inputBn.toString(16)); +} + +/** + * Used to multiply a BN by a fraction. + * + * @param targetBN - Number to multiply by a fraction. + * @param numerator - Numerator of the fraction multiplier. + * @param denominator - Denominator of the fraction multiplier. + * @returns Product of the multiplication. + */ +export function fractionBN( + targetBN: any, + numerator: number | string, + denominator: number | string, +) { + const numBN = new BN(numerator); + const denomBN = new BN(denominator); + return targetBN.mul(numBN).div(denomBN); +} + +/** + * Used to convert a base-10 number from GWEI to WEI. Can handle numbers with decimal parts. + * + * @param n - The base 10 number to convert to WEI. + * @returns The number in WEI, as a BN. + */ +export function gweiDecToWEIBN(n: number | string) { + if (Number.isNaN(n)) { + return new BN(0); + } + + const parts = n.toString().split('.'); + const wholePart = parts[0] || '0'; + let decimalPart = parts[1] || ''; + + if (!decimalPart) { + return toWei(wholePart, 'gwei'); + } + + if (decimalPart.length <= 9) { + return toWei(`${wholePart}.${decimalPart}`, 'gwei'); + } + + const decimalPartToRemove = decimalPart.slice(9); + const decimalRoundingDigit = decimalPartToRemove[0]; + + decimalPart = decimalPart.slice(0, 9); + let wei = toWei(`${wholePart}.${decimalPart}`, 'gwei'); + + if (Number(decimalRoundingDigit) >= 5) { + wei = wei.add(new BN(1)); + } + + return wei; +} + +/** + * Used to convert values from wei hex format to dec gwei format. + * + * @param hex - The value in hex wei. + * @returns The value in dec gwei as string. + */ +export function weiHexToGweiDec(hex: string) { + const hexWei = new BN(stripHexPrefix(hex), 16); + return fromWei(hexWei, 'gwei').toString(10); +} + +/** + * Return a URL that can be used to obtain ETH for a given network. + * + * @param networkCode - Network code of desired network. + * @param address - Address to deposit obtained ETH. + * @param amount - How much ETH is desired. + * @returns URL to buy ETH based on network. + */ +export function getBuyURL( + networkCode = '1', + address?: string, + amount = 5, +): string | undefined { + switch (networkCode) { + case '1': + return `https://buy.coinbase.com/?code=9ec56d01-7e81-5017-930c-513daa27bb6a&amount=${amount}&address=${address}&crypto_currency=ETH`; + case '3': + return 'https://faucet.metamask.io/'; + case '4': + return 'https://www.rinkeby.io/'; + case '5': + return 'https://goerli-faucet.slock.it/'; + case '42': + return 'https://github.com/kovan-testnet/faucet'; + default: + return undefined; + } +} + +/** + * Return a URL that can be used to fetch ETH transactions. + * + * @param networkType - Network type of desired network. + * @param urlParams - The parameters used to construct the URL. + * @returns URL to fetch the access the endpoint. + */ +export function getEtherscanApiUrl( + networkType: string, + urlParams: any, +): string { + let etherscanSubdomain = 'api'; + if (networkType !== MAINNET) { + etherscanSubdomain = `api-${networkType}`; + } + const apiUrl = `https://${etherscanSubdomain}.etherscan.io`; + let url = `${apiUrl}/api?`; + + for (const paramKey in urlParams) { + if (urlParams[paramKey]) { + url += `${paramKey}=${urlParams[paramKey]}&`; + } + } + url += 'tag=latest&page=1'; + return url; +} + +/** + * Converts a hex string to a BN object. + * + * @param inputHex - Number represented as a hex string. + * @returns A BN instance. + */ +export function hexToBN(inputHex: string) { + return new BN(stripHexPrefix(inputHex), 16); +} + +/** + * A helper function that converts hex data to human readable string. + * + * @param hex - The hex string to convert to string. + * @returns A human readable string conversion. + */ +export function hexToText(hex: string) { + try { + const stripped = stripHexPrefix(hex); + const buff = Buffer.from(stripped, 'hex'); + return buff.toString('utf8'); + } catch (e) { + /* istanbul ignore next */ + return hex; + } +} + +/** + * Parses a hex string and converts it into a number that can be operated on in a bignum-safe, + * base-10 way. + * + * @param value - A base-16 number encoded as a string. + * @returns The number as a BN object in base-16 mode. + */ +export function fromHex(value: string | BN): BN { + if (BN.isBN(value)) { + return value; + } + return new BN(hexToBN(value).toString(10)); +} + +/** + * Converts an integer to a hexadecimal representation. + * + * @param value - An integer, an integer encoded as a base-10 string, or a BN. + * @returns The integer encoded as a hex string. + */ +export function toHex(value: number | string | BN): string { + if (typeof value === 'string' && isHexString(value)) { + return value; + } + const hexString = BN.isBN(value) + ? value.toString(16) + : new BN(value.toString(), 10).toString(16); + return `0x${hexString}`; +} + +/** + * Execute and return an asynchronous operation without throwing errors. + * + * @param operation - Function returning a Promise. + * @param logError - Determines if the error should be logged. + * @returns Promise resolving to the result of the async operation. + */ +export async function safelyExecute( + operation: () => Promise, + logError = false, +) { + try { + return await operation(); + } catch (error: any) { + /* istanbul ignore next */ + if (logError) { + console.error(error); + } + return undefined; + } +} + +/** + * Execute and return an asynchronous operation with a timeout. + * + * @param operation - Function returning a Promise. + * @param logError - Determines if the error should be logged. + * @param timeout - Timeout to fail the operation. + * @returns Promise resolving to the result of the async operation. + */ +export async function safelyExecuteWithTimeout( + operation: () => Promise, + logError = false, + timeout = 500, +) { + try { + return await Promise.race([ + operation(), + new Promise((_, reject) => + setTimeout(() => { + reject(TIMEOUT_ERROR); + }, timeout), + ), + ]); + } catch (error) { + /* istanbul ignore next */ + if (logError) { + console.error(error); + } + return undefined; + } +} /** * Convert an address to a checksummed hexidecimal address. @@ -52,6 +305,135 @@ export function isValidHexAddress( return isValidAddress(addressToCheck); } +/** + * A helper function that converts rawmessageData buffer data to a hex, or just returns the data if + * it is already formatted as a hex. + * + * @param data - The buffer data to convert to a hex. + * @returns A hex string conversion of the buffer data. + */ +export function normalizeMessageData(data: string) { + try { + const stripped = stripHexPrefix(data); + if (stripped.match(hexRe)) { + return addHexPrefix(stripped); + } + } catch (e) { + /* istanbul ignore next */ + } + return bufferToHex(Buffer.from(data, 'utf8')); +} + +/** + * Returns whether the given code corresponds to a smart contract. + * + * @param code - The potential smart contract code. + * @returns Whether the code was smart contract code or not. + */ +export function isSmartContractCode(code: string) { + /* istanbul ignore if */ + if (!code) { + return false; + } + // Geth will return '0x', and ganache-core v2.2.1 will return '0x0' + const smartContractCode = code !== '0x' && code !== '0x0'; + return smartContractCode; +} + +/** + * Execute fetch and verify that the response was successful. + * + * @param request - Request information. + * @param options - Fetch options. + * @returns The fetch response. + */ +export async function successfulFetch(request: string, options?: RequestInit) { + const response = await fetch(request, options); + if (!response.ok) { + throw new Error( + `Fetch failed with status '${response.status}' for request '${request}'`, + ); + } + return response; +} + +/** + * Execute fetch and return object response. + * + * @param request - The request information. + * @param options - The fetch options. + * @returns The fetch response JSON data. + */ +export async function handleFetch(request: string, options?: RequestInit) { + const response = await successfulFetch(request, options); + const object = await response.json(); + return object; +} + +/** + * Execute fetch and return object response, log if known error thrown, otherwise rethrow error. + * + * @param request - the request options object + * @param request.url - The request url to query. + * @param request.options - The fetch options. + * @param request.timeout - Timeout to fail request + * @param request.errorCodesToCatch - array of error codes for errors we want to catch in a particular context + * @returns The fetch response JSON data or undefined (if error occurs). + */ +export async function fetchWithErrorHandling({ + url, + options, + timeout, + errorCodesToCatch, +}: { + url: string; + options?: RequestInit; + timeout?: number; + errorCodesToCatch?: number[]; +}) { + let result; + try { + if (timeout) { + result = Promise.race([ + await handleFetch(url, options), + new Promise((_, reject) => + setTimeout(() => { + reject(TIMEOUT_ERROR); + }, timeout), + ), + ]); + } else { + result = await handleFetch(url, options); + } + } catch (e) { + logOrRethrowError(e, errorCodesToCatch); + } + return result; +} + +/** + * Fetch that fails after timeout. + * + * @param url - Url to fetch. + * @param options - Options to send with the request. + * @param timeout - Timeout to fail request. + * @returns Promise resolving the request. + */ +export async function timeoutFetch( + url: string, + options?: RequestInit, + timeout = 500, +): Promise { + return Promise.race([ + successfulFetch(url, options), + new Promise((_, reject) => + setTimeout(() => { + reject(TIMEOUT_ERROR); + }, timeout), + ), + ]); +} + /** * Normalizes the given ENS name. * @@ -73,3 +455,241 @@ export function normalizeEnsName(ensName: string): string | null { } return null; } + +/** + * Wrapper method to handle EthQuery requests. + * + * @param ethQuery - EthQuery object initialized with a provider. + * @param method - Method to request. + * @param args - Arguments to send. + * @returns Promise resolving the request. + */ +export function query( + ethQuery: any, + method: string, + args: any[] = [], +): Promise { + return new Promise((resolve, reject) => { + const cb = (error: Error, result: any) => { + if (error) { + reject(error); + return; + } + resolve(result); + }; + + if (typeof ethQuery[method] === 'function') { + ethQuery[method](...args, cb); + } else { + ethQuery.sendAsync({ method, params: args }, cb); + } + }); +} + +export const convertHexToDecimal = (value: string | undefined): number => + parseInt(value === undefined ? '0x0' : value, 16); + +export const getIncreasedPriceHex = (value: number, rate: number): string => + addHexPrefix(`${parseInt(`${value * rate}`, 10).toString(16)}`); + +export const getIncreasedPriceFromExisting = ( + value: string | undefined, + rate: number, +): string => { + return getIncreasedPriceHex(convertHexToDecimal(value), rate); +}; + +/** + * Validates that the proposed value is greater than or equal to the minimum value. + * + * @param proposed - The proposed value. + * @param min - The minimum value. + * @returns The proposed value. + * @throws Will throw if the proposed value is too low. + */ +export function validateMinimumIncrease(proposed: string, min: string) { + const proposedDecimal = convertHexToDecimal(proposed); + const minDecimal = convertHexToDecimal(min); + if (proposedDecimal >= minDecimal) { + return proposed; + } + const errorMsg = `The proposed value: ${proposedDecimal} should meet or exceed the minimum value: ${minDecimal}`; + throw new Error(errorMsg); +} + +/** + * Removes IPFS protocol prefix from input string. + * + * @param ipfsUrl - An IPFS url (e.g. ipfs://{content id}) + * @returns IPFS content identifier and (possibly) path in a string + * @throws Will throw if the url passed is not IPFS. + */ +export function removeIpfsProtocolPrefix(ipfsUrl: string) { + if (ipfsUrl.startsWith('ipfs://ipfs/')) { + return ipfsUrl.replace('ipfs://ipfs/', ''); + } else if (ipfsUrl.startsWith('ipfs://')) { + return ipfsUrl.replace('ipfs://', ''); + } + // this method should not be used with non-ipfs urls (i.e. startsWith('ipfs://') === true) + throw new Error('this method should not be used with non ipfs urls'); +} + +/** + * Extracts content identifier and path from an input string. + * + * @param ipfsUrl - An IPFS URL minus the IPFS protocol prefix + * @returns IFPS content identifier (cid) and sub path as string. + * @throws Will throw if the url passed is not ipfs. + */ +export function getIpfsCIDv1AndPath(ipfsUrl: string): { + cid: string; + path?: string; +} { + const url = removeIpfsProtocolPrefix(ipfsUrl); + + // check if there is a path + // (CID is everything preceding first forward slash, path is everything after) + const index = url.indexOf('/'); + const cid = index !== -1 ? url.substring(0, index) : url; + const path = index !== -1 ? url.substring(index) : undefined; + + // We want to ensure that the CID is v1 (https://docs.ipfs.io/concepts/content-addressing/#identifier-formats) + // because most cid v0s appear to be incompatible with IPFS subdomains + return { + cid: CID.parse(cid).toV1().toString(), + path, + }; +} + +/** + * Adds URL protocol prefix to input URL string if missing. + * + * @param urlString - An IPFS URL. + * @returns A URL with a https:// prepended. + */ +export function addUrlProtocolPrefix(urlString: string): string { + if (!urlString.match(/(^http:\/\/)|(^https:\/\/)/u)) { + return `https://${urlString}`; + } + return urlString; +} + +/** + * Formats URL correctly for use retrieving assets hosted on IPFS. + * + * @param ipfsGateway - The users preferred IPFS gateway (full URL or just host). + * @param ipfsUrl - The IFPS URL pointed at the asset. + * @param subdomainSupported - Boolean indicating whether the URL should be formatted with subdomains or not. + * @returns A formatted URL, with the user's preferred IPFS gateway and format (subdomain or not), pointing to an asset hosted on IPFS. + */ +export function getFormattedIpfsUrl( + ipfsGateway: string, + ipfsUrl: string, + subdomainSupported: boolean, +): string { + const { host, protocol, origin } = new URL(addUrlProtocolPrefix(ipfsGateway)); + if (subdomainSupported) { + const { cid, path } = getIpfsCIDv1AndPath(ipfsUrl); + return `${protocol}//${cid}.ipfs.${host}${path ?? ''}`; + } + const cidAndPath = removeIpfsProtocolPrefix(ipfsUrl); + return `${origin}/ipfs/${cidAndPath}`; +} + +type PlainObject = Record; + +/** + * Determines whether a value is a "plain" object. + * + * @param value - A value to check + * @returns True if the passed value is a plain object + */ +export function isPlainObject(value: unknown): value is PlainObject { + return Boolean(value) && typeof value === 'object' && !Array.isArray(value); +} + +export const hasProperty = ( + object: PlainObject, + key: string | number | symbol, +) => Reflect.hasOwnProperty.call(object, key); + +/** + * Like {@link Array}, but always non-empty. + * + * @template T - The non-empty array member type. + */ +export type NonEmptyArray = [T, ...T[]]; + +/** + * Type guard for {@link NonEmptyArray}. + * + * @template T - The non-empty array member type. + * @param value - The value to check. + * @returns Whether the value is a non-empty array. + */ +export function isNonEmptyArray(value: T[]): value is NonEmptyArray { + return Array.isArray(value) && value.length > 0; +} + +/** + * Type guard for {@link Json}. + * + * @param value - The value to check. + * @returns Whether the value is valid JSON. + */ +export function isValidJson(value: unknown): value is Json { + try { + return deepEqual(value, JSON.parse(JSON.stringify(value))); + } catch (_) { + return false; + } +} + +/** + * Networks where token detection is supported - Values are in decimal format + */ +export enum SupportedTokenDetectionNetworks { + mainnet = '1', + bsc = '56', + polygon = '137', + avax = '43114', +} + +/** + * Check if token detection is enabled for certain networks. + * + * @param chainId - ChainID of network + * @returns Whether the current network supports token detection + */ +export function isTokenDetectionSupportedForNetwork(chainId: string): boolean { + return Object.values(SupportedTokenDetectionNetworks).includes( + chainId, + ); +} + +/** + * Utility method to log if error is a common fetch error and otherwise rethrow it. + * + * @param error - Caught error that we should either rethrow or log to console + * @param codesToCatch - array of error codes for errors we want to catch and log in a particular context + */ +function logOrRethrowError(error: any, codesToCatch: number[] = []) { + if (!error) { + return; + } + + const includesErrorCodeToCatch = codesToCatch.some((code) => + error.message?.includes(`Fetch failed with status '${code}'`), + ); + + if ( + error instanceof Error && + (includesErrorCodeToCatch || + error.message?.includes('Failed to fetch') || + error === TIMEOUT_ERROR) + ) { + console.error(error); + } else { + throw error; + } +} diff --git a/packages/ens-controller/CHANGELOG.md b/packages/ens-controller/CHANGELOG.md deleted file mode 100644 index b20a849506..0000000000 --- a/packages/ens-controller/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -# Changelog - -This is the changelog for the `@metamask/ens-controller` package. It will be filled in and this message will be replaced later. diff --git a/packages/gas-fee-controller/CHANGELOG.md b/packages/gas-fee-controller/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/gas-fee-controller/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/gas-fee-controller/README.md b/packages/gas-fee-controller/README.md new file mode 100644 index 0000000000..b720672164 --- /dev/null +++ b/packages/gas-fee-controller/README.md @@ -0,0 +1,19 @@ +# `@metamask/gas-fee-controller` + +(TODO) + +## Installation + +`yarn add @metamask/gas-fee-controller` + +or + +`npm install @metamask/gas-fee-controller` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/gas-fee-controller/jest.config.ts b/packages/gas-fee-controller/jest.config.ts new file mode 100644 index 0000000000..6c616f7297 --- /dev/null +++ b/packages/gas-fee-controller/jest.config.ts @@ -0,0 +1,17 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const displayName = path.basename(__dirname); + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName, +}); + +export default config; diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json new file mode 100644 index 0000000000..6e28604caa --- /dev/null +++ b/packages/gas-fee-controller/package.json @@ -0,0 +1,48 @@ +{ + "name": "@metamask/gas-fee-controller", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/gas-fee-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": {}, + "dependencies": { + "@metamask/base-controller": "workspace:~", + "@metamask/controller-utils": "workspace:~", + "@metamask/network-controller": "workspace:~", + "@types/uuid": "^8.3.4", + "eth-query": "^2.1.2", + "ethereumjs-util": "^7.0.10", + "ethjs-unit": "^0.1.6", + "immer": "^9.0.6", + "uuid": "^8.3.2" + }, + "devDependencies": { + "jest": "^28.1.0", + "jest-when": "^3.5.1", + "sinon": "^9.2.4", + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/src/gas/GasFeeController.test.ts b/packages/gas-fee-controller/src/GasFeeController.test.ts similarity index 99% rename from src/gas/GasFeeController.test.ts rename to packages/gas-fee-controller/src/GasFeeController.test.ts index 0d7ac19238..514aa35547 100644 --- a/src/gas/GasFeeController.test.ts +++ b/packages/gas-fee-controller/src/GasFeeController.test.ts @@ -1,6 +1,6 @@ import sinon, { SinonFakeTimers } from 'sinon'; import { mocked } from 'ts-jest/utils'; -import { ControllerMessenger } from '../ControllerMessenger'; +import { ControllerMessenger } from '@metamask/base-controller'; import { GAS_ESTIMATE_TYPES, GasFeeController, diff --git a/src/gas/GasFeeController.ts b/packages/gas-fee-controller/src/GasFeeController.ts similarity index 98% rename from src/gas/GasFeeController.ts rename to packages/gas-fee-controller/src/GasFeeController.ts index 08ea6a0f71..b88fcdd97a 100644 --- a/src/gas/GasFeeController.ts +++ b/packages/gas-fee-controller/src/GasFeeController.ts @@ -1,15 +1,16 @@ import type { Patch } from 'immer'; - import EthQuery from 'eth-query'; import { v1 as random } from 'uuid'; import { isHexString } from 'ethereumjs-util'; -import { BaseController } from '../BaseControllerV2'; -import { safelyExecute } from '../util'; -import type { RestrictedControllerMessenger } from '../ControllerMessenger'; +import { + BaseControllerV2 as BaseController, + RestrictedControllerMessenger, +} from '@metamask/base-controller'; +import { safelyExecute } from '@metamask/controller-utils'; import type { NetworkController, NetworkState, -} from '../network/NetworkController'; +} from '@metamask/network-controller'; import { fetchGasEstimates, fetchLegacyGasPriceEstimates, diff --git a/src/gas/determineGasFeeCalculations.test.ts b/packages/gas-fee-controller/src/determineGasFeeCalculations.test.ts similarity index 100% rename from src/gas/determineGasFeeCalculations.test.ts rename to packages/gas-fee-controller/src/determineGasFeeCalculations.test.ts diff --git a/src/gas/determineGasFeeCalculations.ts b/packages/gas-fee-controller/src/determineGasFeeCalculations.ts similarity index 100% rename from src/gas/determineGasFeeCalculations.ts rename to packages/gas-fee-controller/src/determineGasFeeCalculations.ts diff --git a/src/gas/fetchBlockFeeHistory.test.ts b/packages/gas-fee-controller/src/fetchBlockFeeHistory.test.ts similarity index 99% rename from src/gas/fetchBlockFeeHistory.test.ts rename to packages/gas-fee-controller/src/fetchBlockFeeHistory.test.ts index 162ea61bb3..fa095a79ed 100644 --- a/src/gas/fetchBlockFeeHistory.test.ts +++ b/packages/gas-fee-controller/src/fetchBlockFeeHistory.test.ts @@ -1,7 +1,7 @@ import { BN } from 'ethereumjs-util'; import { mocked } from 'ts-jest/utils'; import { when } from 'jest-when'; -import { query, fromHex, toHex } from '../util'; +import { query, fromHex, toHex } from '@metamask/controller-utils'; import fetchBlockFeeHistory from './fetchBlockFeeHistory'; jest.mock('../util', () => { diff --git a/src/gas/fetchBlockFeeHistory.ts b/packages/gas-fee-controller/src/fetchBlockFeeHistory.ts similarity index 99% rename from src/gas/fetchBlockFeeHistory.ts rename to packages/gas-fee-controller/src/fetchBlockFeeHistory.ts index 553e7b01f4..fd80040b85 100644 --- a/src/gas/fetchBlockFeeHistory.ts +++ b/packages/gas-fee-controller/src/fetchBlockFeeHistory.ts @@ -1,5 +1,5 @@ import { BN } from 'ethereumjs-util'; -import { query, fromHex, toHex } from '../util'; +import { query, fromHex, toHex } from '@metamask/controller-utils'; type EthQuery = any; diff --git a/src/gas/fetchGasEstimatesViaEthFeeHistory.test.ts b/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory.test.ts similarity index 100% rename from src/gas/fetchGasEstimatesViaEthFeeHistory.test.ts rename to packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory.test.ts diff --git a/src/gas/fetchGasEstimatesViaEthFeeHistory.ts b/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory.ts similarity index 97% rename from src/gas/fetchGasEstimatesViaEthFeeHistory.ts rename to packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory.ts index 85db2fdac9..13baabf398 100644 --- a/src/gas/fetchGasEstimatesViaEthFeeHistory.ts +++ b/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory.ts @@ -1,5 +1,5 @@ import { fromWei } from 'ethjs-unit'; -import { GWEI } from '../constants'; +import { GWEI } from '@metamask/controller-utils'; import { GasFeeEstimates } from './GasFeeController'; import { EthQuery } from './fetchGasEstimatesViaEthFeeHistory/types'; import fetchBlockFeeHistory from './fetchBlockFeeHistory'; diff --git a/src/gas/fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels.test.ts b/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels.test.ts similarity index 100% rename from src/gas/fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels.test.ts rename to packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels.test.ts diff --git a/src/gas/fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels.ts b/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels.ts similarity index 98% rename from src/gas/fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels.ts rename to packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels.ts index 7eedae2c2c..8897ff4eec 100644 --- a/src/gas/fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels.ts +++ b/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels.ts @@ -1,8 +1,8 @@ import { BN } from 'ethereumjs-util'; import { fromWei } from 'ethjs-unit'; +import { GWEI } from '@metamask/controller-utils'; import { Eip1559GasFee, GasFeeEstimates } from '../GasFeeController'; import { FeeHistoryBlock } from '../fetchBlockFeeHistory'; -import { GWEI } from '../../constants'; import medianOf from './medianOf'; export type PriorityLevel = typeof PRIORITY_LEVELS[number]; diff --git a/src/gas/fetchGasEstimatesViaEthFeeHistory/fetchLatestBlock.ts b/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory/fetchLatestBlock.ts similarity index 92% rename from src/gas/fetchGasEstimatesViaEthFeeHistory/fetchLatestBlock.ts rename to packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory/fetchLatestBlock.ts index 01def5bfd5..a3d686f284 100644 --- a/src/gas/fetchGasEstimatesViaEthFeeHistory/fetchLatestBlock.ts +++ b/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory/fetchLatestBlock.ts @@ -1,4 +1,4 @@ -import { query, fromHex } from '../../util'; +import { query, fromHex } from '@metamask/controller-utils'; import { EthBlock, EthQuery } from './types'; /** diff --git a/src/gas/fetchGasEstimatesViaEthFeeHistory/medianOf.ts b/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory/medianOf.ts similarity index 100% rename from src/gas/fetchGasEstimatesViaEthFeeHistory/medianOf.ts rename to packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory/medianOf.ts diff --git a/src/gas/fetchGasEstimatesViaEthFeeHistory/types.ts b/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory/types.ts similarity index 100% rename from src/gas/fetchGasEstimatesViaEthFeeHistory/types.ts rename to packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory/types.ts diff --git a/src/gas/gas-util.test.ts b/packages/gas-fee-controller/src/gas-util.test.ts similarity index 100% rename from src/gas/gas-util.test.ts rename to packages/gas-fee-controller/src/gas-util.test.ts diff --git a/src/gas/gas-util.ts b/packages/gas-fee-controller/src/gas-util.ts similarity index 98% rename from src/gas/gas-util.ts rename to packages/gas-fee-controller/src/gas-util.ts index 98b82f16a0..01dce95267 100644 --- a/src/gas/gas-util.ts +++ b/packages/gas-fee-controller/src/gas-util.ts @@ -1,5 +1,10 @@ import { BN } from 'ethereumjs-util'; -import { query, handleFetch, gweiDecToWEIBN, weiHexToGweiDec } from '../util'; +import { + query, + handleFetch, + gweiDecToWEIBN, + weiHexToGweiDec, +} from '@metamask/controller-utils'; import { GasFeeEstimates, EthGasPriceEstimate, diff --git a/packages/gas-fee-controller/src/index.ts b/packages/gas-fee-controller/src/index.ts new file mode 100644 index 0000000000..bb3be201ce --- /dev/null +++ b/packages/gas-fee-controller/src/index.ts @@ -0,0 +1 @@ +export * from './GasFeeController'; diff --git a/packages/gas-fee-controller/tsconfig.build.json b/packages/gas-fee-controller/tsconfig.build.json new file mode 100644 index 0000000000..d851ae9cc7 --- /dev/null +++ b/packages/gas-fee-controller/tsconfig.build.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [ + { "path": "../base-controller/tsconfig.build.json" }, + { "path": "../controller-utils/tsconfig.build.json" }, + { "path": "../network-controller/tsconfig.build.json" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/gas-fee-controller/tsconfig.json b/packages/gas-fee-controller/tsconfig.json new file mode 100644 index 0000000000..752e99a13c --- /dev/null +++ b/packages/gas-fee-controller/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" }, + { "path": "../network-controller" } + ], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/keyring-controller/CHANGELOG.md b/packages/keyring-controller/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/keyring-controller/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/keyring-controller/README.md b/packages/keyring-controller/README.md new file mode 100644 index 0000000000..516def1a0e --- /dev/null +++ b/packages/keyring-controller/README.md @@ -0,0 +1,19 @@ +# `@metamask/keyring-controller` + +(TODO) + +## Installation + +`yarn add @metamask/keyring-controller` + +or + +`npm install @metamask/keyring-controller` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/keyring-controller/jest.config.ts b/packages/keyring-controller/jest.config.ts new file mode 100644 index 0000000000..6c616f7297 --- /dev/null +++ b/packages/keyring-controller/jest.config.ts @@ -0,0 +1,17 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const displayName = path.basename(__dirname); + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName, +}); + +export default config; diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json new file mode 100644 index 0000000000..0d3dcb4519 --- /dev/null +++ b/packages/keyring-controller/package.json @@ -0,0 +1,51 @@ +{ + "name": "@metamask/keyring-controller", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/keyring-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": {}, + "dependencies": { + "@keystonehq/metamask-airgapped-keyring": "^0.3.0", + "@metamask/base-controller": "workspace:~", + "@metamask/controller-utils": "workspace:~", + "@metamask/message-manager": "workspace:~", + "@metamask/user-controllers": "workspace:~", + "async-mutex": "^0.2.6", + "eth-keyring-controller": "^7.0.2", + "eth-sig-util": "^3.0.0", + "ethereumjs-util": "^7.0.10", + "ethereumjs-wallet": "^1.0.1" + }, + "devDependencies": { + "@ethereumjs/common": "^2.3.1", + "@ethereumjs/tx": "^3.2.1", + "@keystonehq/bc-ur-registry-eth": "^0.9.0", + "sinon": "^9.2.4", + "ts-deepmerge": "^2.0.1", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/src/keyring/KeyringController.test.ts b/packages/keyring-controller/src/KeyringController.test.ts similarity index 99% rename from src/keyring/KeyringController.test.ts rename to packages/keyring-controller/src/KeyringController.test.ts index 15e2460b38..2f9621d5d0 100644 --- a/src/keyring/KeyringController.test.ts +++ b/packages/keyring-controller/src/KeyringController.test.ts @@ -11,9 +11,9 @@ import { TransactionFactory } from '@ethereumjs/tx'; import { MetaMaskKeyring as QRKeyring } from '@keystonehq/metamask-airgapped-keyring'; import { CryptoHDKey, ETHSignature } from '@keystonehq/bc-ur-registry-eth'; import * as uuid from 'uuid'; -import MockEncryptor from '../../tests/mocks/mockEncryptor'; -import { PreferencesController } from '../user/PreferencesController'; -import { MAINNET } from '../constants'; +import { PreferencesController } from '@metamask/user-controllers'; +import { MAINNET } from '@metamask/controller-utils'; +import MockEncryptor from '../tests/mocks/mockEncryptor'; import { AccountImportStrategy, Keyring, diff --git a/src/keyring/KeyringController.ts b/packages/keyring-controller/src/KeyringController.ts similarity index 98% rename from src/keyring/KeyringController.ts rename to packages/keyring-controller/src/KeyringController.ts index 424ab31ce4..34689953f6 100644 --- a/src/keyring/KeyringController.ts +++ b/packages/keyring-controller/src/KeyringController.ts @@ -23,11 +23,13 @@ import { BaseConfig, BaseState, Listener, -} from '../BaseController'; -import { PreferencesController } from '../user/PreferencesController'; -import { PersonalMessageParams } from '../message-manager/PersonalMessageManager'; -import { TypedMessageParams } from '../message-manager/TypedMessageManager'; -import { toChecksumHexAddress } from '../util'; +} from '@metamask/base-controller'; +import { PreferencesController } from '@metamask/user-controllers'; +import { + PersonalMessageParams, + TypedMessageParams, +} from '@metamask/message-manager'; +import { toChecksumHexAddress } from '@metamask/controller-utils'; /** * Available keyring types diff --git a/packages/keyring-controller/src/index.ts b/packages/keyring-controller/src/index.ts new file mode 100644 index 0000000000..9b98ad6fd7 --- /dev/null +++ b/packages/keyring-controller/src/index.ts @@ -0,0 +1 @@ +export * from './KeyringController'; diff --git a/tests/mocks/mockEncryptor.ts b/packages/keyring-controller/tests/mocks/mockEncryptor.ts similarity index 100% rename from tests/mocks/mockEncryptor.ts rename to packages/keyring-controller/tests/mocks/mockEncryptor.ts diff --git a/packages/keyring-controller/tsconfig.build.json b/packages/keyring-controller/tsconfig.build.json new file mode 100644 index 0000000000..5ffb14732f --- /dev/null +++ b/packages/keyring-controller/tsconfig.build.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [ + { "path": "../base-controller/tsconfig.build.json" }, + { "path": "../controller-utils/tsconfig.build.json" }, + { "path": "../message-manager/tsconfig.build.json" }, + { "path": "../user-controllers/tsconfig.build.json" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/keyring-controller/tsconfig.json b/packages/keyring-controller/tsconfig.json new file mode 100644 index 0000000000..6524a0327e --- /dev/null +++ b/packages/keyring-controller/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" }, + { "path": "../message-manager" }, + { "path": "../user-controllers" } + ], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/message-manager/CHANGELOG.md b/packages/message-manager/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/message-manager/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/message-manager/README.md b/packages/message-manager/README.md new file mode 100644 index 0000000000..6599b63e8a --- /dev/null +++ b/packages/message-manager/README.md @@ -0,0 +1,19 @@ +# `@metamask/message-manager` + +(TODO) + +## Installation + +`yarn add @metamask/message-manager` + +or + +`npm install @metamask/message-manager` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/message-manager/jest.config.ts b/packages/message-manager/jest.config.ts new file mode 100644 index 0000000000..6c616f7297 --- /dev/null +++ b/packages/message-manager/jest.config.ts @@ -0,0 +1,17 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const displayName = path.basename(__dirname); + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName, +}); + +export default config; diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json new file mode 100644 index 0000000000..fc28967e26 --- /dev/null +++ b/packages/message-manager/package.json @@ -0,0 +1,42 @@ +{ + "name": "@metamask/message-manager", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/message-manager#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": {}, + "dependencies": { + "@metamask/base-controller": "workspace:~", + "@metamask/controller-utils": "workspace:~", + "@types/uuid": "^8.3.4", + "eth-sig-util": "^3.0.0", + "jsonschema": "^1.2.4", + "uuid": "^8.3.2" + }, + "devDependencies": { + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/src/message-manager/AbstractMessageManager.test.ts b/packages/message-manager/src/AbstractMessageManager.test.ts similarity index 100% rename from src/message-manager/AbstractMessageManager.test.ts rename to packages/message-manager/src/AbstractMessageManager.test.ts diff --git a/src/message-manager/AbstractMessageManager.ts b/packages/message-manager/src/AbstractMessageManager.ts similarity index 98% rename from src/message-manager/AbstractMessageManager.ts rename to packages/message-manager/src/AbstractMessageManager.ts index 7b51eafd7f..3aed006051 100644 --- a/src/message-manager/AbstractMessageManager.ts +++ b/packages/message-manager/src/AbstractMessageManager.ts @@ -1,5 +1,9 @@ import { EventEmitter } from 'events'; -import { BaseController, BaseConfig, BaseState } from '../BaseController'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; /** * @type OriginalRequest diff --git a/src/message-manager/MessageManager.test.ts b/packages/message-manager/src/MessageManager.test.ts similarity index 100% rename from src/message-manager/MessageManager.test.ts rename to packages/message-manager/src/MessageManager.test.ts diff --git a/src/message-manager/MessageManager.ts b/packages/message-manager/src/MessageManager.ts similarity index 97% rename from src/message-manager/MessageManager.ts rename to packages/message-manager/src/MessageManager.ts index dfd533fc39..432650fce1 100644 --- a/src/message-manager/MessageManager.ts +++ b/packages/message-manager/src/MessageManager.ts @@ -1,5 +1,5 @@ import { v1 as random } from 'uuid'; -import { validateSignMessageData, normalizeMessageData } from '../util'; +import { normalizeMessageData } from '@metamask/controller-utils'; import { AbstractMessageManager, AbstractMessage, @@ -7,6 +7,7 @@ import { AbstractMessageParamsMetamask, OriginalRequest, } from './AbstractMessageManager'; +import { validateSignMessageData } from './utils'; /** * @type Message diff --git a/src/message-manager/PersonalMessageManager.test.ts b/packages/message-manager/src/PersonalMessageManager.test.ts similarity index 100% rename from src/message-manager/PersonalMessageManager.test.ts rename to packages/message-manager/src/PersonalMessageManager.test.ts diff --git a/src/message-manager/PersonalMessageManager.ts b/packages/message-manager/src/PersonalMessageManager.ts similarity index 97% rename from src/message-manager/PersonalMessageManager.ts rename to packages/message-manager/src/PersonalMessageManager.ts index 114412b044..fea7ab4575 100644 --- a/src/message-manager/PersonalMessageManager.ts +++ b/packages/message-manager/src/PersonalMessageManager.ts @@ -1,5 +1,5 @@ import { v1 as random } from 'uuid'; -import { validateSignMessageData, normalizeMessageData } from '../util'; +import { normalizeMessageData } from '@metamask/controller-utils'; import { AbstractMessageManager, AbstractMessage, @@ -7,6 +7,7 @@ import { AbstractMessageParamsMetamask, OriginalRequest, } from './AbstractMessageManager'; +import { validateSignMessageData } from './utils'; /** * @type Message diff --git a/src/message-manager/TypedMessageManager.test.ts b/packages/message-manager/src/TypedMessageManager.test.ts similarity index 100% rename from src/message-manager/TypedMessageManager.test.ts rename to packages/message-manager/src/TypedMessageManager.test.ts diff --git a/src/message-manager/TypedMessageManager.ts b/packages/message-manager/src/TypedMessageManager.ts similarity index 99% rename from src/message-manager/TypedMessageManager.ts rename to packages/message-manager/src/TypedMessageManager.ts index 1b9fe91d86..6f7acdbee1 100644 --- a/src/message-manager/TypedMessageManager.ts +++ b/packages/message-manager/src/TypedMessageManager.ts @@ -1,8 +1,4 @@ import { v1 as random } from 'uuid'; -import { - validateTypedSignMessageDataV3, - validateTypedSignMessageDataV1, -} from '../util'; import { AbstractMessageManager, AbstractMessage, @@ -10,6 +6,10 @@ import { AbstractMessageParamsMetamask, OriginalRequest, } from './AbstractMessageManager'; +import { + validateTypedSignMessageDataV3, + validateTypedSignMessageDataV1, +} from './utils'; /** * @type TypedMessage diff --git a/packages/message-manager/src/index.ts b/packages/message-manager/src/index.ts new file mode 100644 index 0000000000..d7b8f3864f --- /dev/null +++ b/packages/message-manager/src/index.ts @@ -0,0 +1,5 @@ +export * from './AbstractMessageManager'; +export * from './MessageManager'; +export * from './PersonalMessageManager'; +export * from './TypedMessageManager'; +export * from './utils'; diff --git a/packages/message-manager/src/utils.test.ts b/packages/message-manager/src/utils.test.ts new file mode 100644 index 0000000000..53e5403d2a --- /dev/null +++ b/packages/message-manager/src/utils.test.ts @@ -0,0 +1,177 @@ +import * as util from './utils'; + +describe('utils', () => { + describe('validateSignMessageData', () => { + it('should throw if no from address', () => { + expect(() => + util.validateSignMessageData({ + data: '0x879a05', + } as any), + ).toThrow('Invalid "from" address: undefined must be a valid string.'); + }); + + it('should throw if invalid from address', () => { + expect(() => + util.validateSignMessageData({ + data: '0x879a05', + from: '01', + } as any), + ).toThrow('Invalid "from" address: 01 must be a valid string.'); + }); + + it('should throw if invalid type from address', () => { + expect(() => + util.validateSignMessageData({ + data: '0x879a05', + from: 123, + } as any), + ).toThrow('Invalid "from" address: 123 must be a valid string.'); + }); + + it('should throw if no data', () => { + expect(() => + util.validateSignMessageData({ + data: '0x879a05', + } as any), + ).toThrow('Invalid "from" address: undefined must be a valid string.'); + }); + + it('should throw if invalid tyoe data', () => { + expect(() => + util.validateSignMessageData({ + data: 123, + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + } as any), + ).toThrow('Invalid message "data": 123 must be a valid string.'); + }); + }); + + describe('validateTypedMessageDataV1', () => { + it('should throw if no from address legacy', () => { + expect(() => + util.validateTypedSignMessageDataV1({ + data: [], + } as any), + ).toThrow('Invalid "from" address:'); + }); + + it('should throw if invalid from address', () => { + expect(() => + util.validateTypedSignMessageDataV1({ + data: [], + from: '3244e191f1b4903970224322180f1fbbc415696b', + } as any), + ).toThrow('Expected EIP712 typed data.'); + }); + + it('should throw if invalid type from address', () => { + expect(() => + util.validateTypedSignMessageDataV1({ + data: [], + from: 123, + } as any), + ).toThrow('Invalid "from" address:'); + }); + + it('should throw if incorrect data', () => { + expect(() => + util.validateTypedSignMessageDataV1({ + data: '0x879a05', + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + } as any), + ).toThrow('Invalid message "data":'); + }); + + it('should throw if no data', () => { + expect(() => + util.validateTypedSignMessageDataV1({ + data: '0x879a05', + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + } as any), + ).toThrow('Invalid message "data":'); + }); + + it('should throw if invalid type data', () => { + expect(() => + util.validateTypedSignMessageDataV1({ + data: [], + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + } as any), + ).toThrow('Expected EIP712 typed data.'); + }); + }); + + describe('validateTypedMessageDataV3', () => { + const dataTyped = + '{"types":{"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}],"Person":[{"name":"name","type":"string"},{"name":"wallet","type":"address"}],"Mail":[{"name":"from","type":"Person"},{"name":"to","type":"Person"},{"name":"contents","type":"string"}]},"primaryType":"Mail","domain":{"name":"Ether Mail","version":"1","chainId":1,"verifyingContract":"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC"},"message":{"from":{"name":"Cow","wallet":"0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826"},"to":{"name":"Bob","wallet":"0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB"},"contents":"Hello, Bob!"}}'; + it('should throw if no from address', () => { + expect(() => + util.validateTypedSignMessageDataV3({ + data: '0x879a05', + } as any), + ).toThrow('Invalid "from" address:'); + }); + + it('should throw if invalid from address', () => { + expect(() => + util.validateTypedSignMessageDataV3({ + data: '0x879a05', + from: '3244e191f1b4903970224322180f1fbbc415696b', + } as any), + ).toThrow('Data must be passed as a valid JSON string.'); + }); + + it('should throw if invalid type from address', () => { + expect(() => + util.validateTypedSignMessageDataV3({ + data: '0x879a05', + from: 123, + } as any), + ).toThrow('Invalid "from" address:'); + }); + + it('should throw if array data', () => { + expect(() => + util.validateTypedSignMessageDataV3({ + data: [], + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + } as any), + ).toThrow('Invalid message "data":'); + }); + + it('should throw if no array data', () => { + expect(() => + util.validateTypedSignMessageDataV3({ + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + } as any), + ).toThrow('Invalid message "data":'); + }); + + it('should throw if no json valid data', () => { + expect(() => + util.validateTypedSignMessageDataV3({ + data: 'uh oh', + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + } as any), + ).toThrow('Data must be passed as a valid JSON string.'); + }); + + it('should throw if data not in typed message schema', () => { + expect(() => + util.validateTypedSignMessageDataV3({ + data: '{"greetings":"I am Alice"}', + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + } as any), + ).toThrow('Data must conform to EIP-712 schema.'); + }); + + it('should not throw if data is correct', () => { + expect(() => + util.validateTypedSignMessageDataV3({ + data: dataTyped, + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + } as any), + ).not.toThrow(); + }); + }); +}); diff --git a/packages/message-manager/src/utils.ts b/packages/message-manager/src/utils.ts new file mode 100644 index 0000000000..f6a56a4d03 --- /dev/null +++ b/packages/message-manager/src/utils.ts @@ -0,0 +1,96 @@ +import { TYPED_MESSAGE_SCHEMA, typedSignatureHash } from 'eth-sig-util'; +import { validate } from 'jsonschema'; +import { isValidHexAddress } from '@metamask/controller-utils'; +import { MessageParams } from './MessageManager'; +import { PersonalMessageParams } from './PersonalMessageManager'; +import { TypedMessageParams } from './TypedMessageManager'; + +/** + * Validates a PersonalMessageParams and MessageParams objects for required properties and throws in + * the event of any validation error. + * + * @param messageData - PersonalMessageParams object to validate. + */ +export function validateSignMessageData( + messageData: PersonalMessageParams | MessageParams, +) { + const { from, data } = messageData; + if (!from || typeof from !== 'string' || !isValidHexAddress(from)) { + throw new Error(`Invalid "from" address: ${from} must be a valid string.`); + } + + if (!data || typeof data !== 'string') { + throw new Error(`Invalid message "data": ${data} must be a valid string.`); + } +} + +/** + * Validates a TypedMessageParams object for required properties and throws in + * the event of any validation error for eth_signTypedMessage_V1. + * + * @param messageData - TypedMessageParams object to validate. + */ +export function validateTypedSignMessageDataV1( + messageData: TypedMessageParams, +) { + if ( + !messageData.from || + typeof messageData.from !== 'string' || + !isValidHexAddress(messageData.from) + ) { + throw new Error( + `Invalid "from" address: ${messageData.from} must be a valid string.`, + ); + } + + if (!messageData.data || !Array.isArray(messageData.data)) { + throw new Error( + `Invalid message "data": ${messageData.data} must be a valid array.`, + ); + } + + try { + // typedSignatureHash will throw if the data is invalid. + typedSignatureHash(messageData.data as any); + } catch (e) { + throw new Error(`Expected EIP712 typed data.`); + } +} + +/** + * Validates a TypedMessageParams object for required properties and throws in + * the event of any validation error for eth_signTypedMessage_V3. + * + * @param messageData - TypedMessageParams object to validate. + */ +export function validateTypedSignMessageDataV3( + messageData: TypedMessageParams, +) { + if ( + !messageData.from || + typeof messageData.from !== 'string' || + !isValidHexAddress(messageData.from) + ) { + throw new Error( + `Invalid "from" address: ${messageData.from} must be a valid string.`, + ); + } + + if (!messageData.data || typeof messageData.data !== 'string') { + throw new Error( + `Invalid message "data": ${messageData.data} must be a valid array.`, + ); + } + let data; + try { + data = JSON.parse(messageData.data); + } catch (e) { + throw new Error('Data must be passed as a valid JSON string.'); + } + const validation = validate(data, TYPED_MESSAGE_SCHEMA); + if (validation.errors.length > 0) { + throw new Error( + 'Data must conform to EIP-712 schema. See https://git.io/fNtcx.', + ); + } +} diff --git a/packages/ens-controller/tsconfig.build.json b/packages/message-manager/tsconfig.build.json similarity index 100% rename from packages/ens-controller/tsconfig.build.json rename to packages/message-manager/tsconfig.build.json diff --git a/packages/ens-controller/tsconfig.json b/packages/message-manager/tsconfig.json similarity index 100% rename from packages/ens-controller/tsconfig.json rename to packages/message-manager/tsconfig.json diff --git a/packages/network-controller/CHANGELOG.md b/packages/network-controller/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/network-controller/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/network-controller/README.md b/packages/network-controller/README.md new file mode 100644 index 0000000000..5ac1d8fcf9 --- /dev/null +++ b/packages/network-controller/README.md @@ -0,0 +1,19 @@ +# `@metamask/network-controller` + +(TODO) + +## Installation + +`yarn add @metamask/network-controller` + +or + +`npm install @metamask/network-controller` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/network-controller/jest.config.ts b/packages/network-controller/jest.config.ts new file mode 100644 index 0000000000..6c616f7297 --- /dev/null +++ b/packages/network-controller/jest.config.ts @@ -0,0 +1,17 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const displayName = path.basename(__dirname); + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName, +}); + +export default config; diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json new file mode 100644 index 0000000000..64e1eca189 --- /dev/null +++ b/packages/network-controller/package.json @@ -0,0 +1,43 @@ +{ + "name": "@metamask/network-controller", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/network-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": {}, + "dependencies": { + "@metamask/base-controller": "workspace:~", + "@metamask/controller-utils": "workspace:~", + "async-mutex": "^0.2.6", + "eth-json-rpc-infura": "^5.1.0", + "eth-query": "^2.1.2", + "web3-provider-engine": "^16.0.3" + }, + "devDependencies": { + "sinon": "^9.2.4", + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/src/network/NetworkController.test.ts b/packages/network-controller/src/NetworkController.test.ts similarity index 100% rename from src/network/NetworkController.test.ts rename to packages/network-controller/src/NetworkController.test.ts diff --git a/src/network/NetworkController.ts b/packages/network-controller/src/NetworkController.ts similarity index 98% rename from src/network/NetworkController.ts rename to packages/network-controller/src/NetworkController.ts index 82053826c0..3478f754f4 100644 --- a/src/network/NetworkController.ts +++ b/packages/network-controller/src/NetworkController.ts @@ -3,8 +3,12 @@ import Subprovider from 'web3-provider-engine/subproviders/provider'; import createInfuraProvider from 'eth-json-rpc-infura/src/createProvider'; import createMetamaskProvider from 'web3-provider-engine/zero'; import { Mutex } from 'async-mutex'; -import { BaseController, BaseConfig, BaseState } from '../BaseController'; -import { MAINNET, RPC } from '../constants'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; +import { MAINNET, RPC } from '@metamask/controller-utils'; /** * Human-readable network name diff --git a/packages/network-controller/src/index.ts b/packages/network-controller/src/index.ts new file mode 100644 index 0000000000..102992b2fc --- /dev/null +++ b/packages/network-controller/src/index.ts @@ -0,0 +1 @@ +export * from './NetworkController'; diff --git a/packages/network-controller/tsconfig.build.json b/packages/network-controller/tsconfig.build.json new file mode 100644 index 0000000000..f9b513ee62 --- /dev/null +++ b/packages/network-controller/tsconfig.build.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [ + { "path": "../base-controller/tsconfig.build.json" }, + { "path": "../controller-utils/tsconfig.build.json" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/network-controller/tsconfig.json b/packages/network-controller/tsconfig.json new file mode 100644 index 0000000000..38d12f2af0 --- /dev/null +++ b/packages/network-controller/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/notification-controller/CHANGELOG.md b/packages/notification-controller/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/notification-controller/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/notification-controller/README.md b/packages/notification-controller/README.md new file mode 100644 index 0000000000..1723345f1c --- /dev/null +++ b/packages/notification-controller/README.md @@ -0,0 +1,19 @@ +# `@metamask/notification-controller` + +(TODO) + +## Installation + +`yarn add @metamask/notification-controller` + +or + +`npm install @metamask/notification-controller` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/notification-controller/jest.config.ts b/packages/notification-controller/jest.config.ts new file mode 100644 index 0000000000..6c616f7297 --- /dev/null +++ b/packages/notification-controller/jest.config.ts @@ -0,0 +1,17 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const displayName = path.basename(__dirname); + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName, +}); + +export default config; diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json new file mode 100644 index 0000000000..6097c3bfb4 --- /dev/null +++ b/packages/notification-controller/package.json @@ -0,0 +1,40 @@ +{ + "name": "@metamask/notification-controller", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/notification-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": {}, + "dependencies": { + "@metamask/base-controller": "workspace:~", + "@metamask/controller-utils": "workspace:~", + "immer": "^9.0.6", + "nanoid": "^3.1.31" + }, + "devDependencies": { + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/src/notification/NotificationController.test.ts b/packages/notification-controller/src/NotificationController.test.ts similarity index 97% rename from src/notification/NotificationController.test.ts rename to packages/notification-controller/src/NotificationController.test.ts index 89a4686bf3..f24e8e4116 100644 --- a/src/notification/NotificationController.test.ts +++ b/packages/notification-controller/src/NotificationController.test.ts @@ -1,4 +1,4 @@ -import { ControllerMessenger } from '../ControllerMessenger'; +import { ControllerMessenger } from '@metamask/base-controller'; import { NotificationControllerActions, NotificationController, diff --git a/src/notification/NotificationController.ts b/packages/notification-controller/src/NotificationController.ts similarity index 96% rename from src/notification/NotificationController.ts rename to packages/notification-controller/src/NotificationController.ts index 87c0c2da36..6ee7491335 100644 --- a/src/notification/NotificationController.ts +++ b/packages/notification-controller/src/NotificationController.ts @@ -1,10 +1,10 @@ import type { Patch } from 'immer'; import { nanoid } from 'nanoid'; - -import { hasProperty } from '../util'; -import { BaseController } from '../BaseControllerV2'; - -import type { RestrictedControllerMessenger } from '../ControllerMessenger'; +import { hasProperty } from '@metamask/controller-utils'; +import { + BaseControllerV2 as BaseController, + RestrictedControllerMessenger, +} from '@metamask/base-controller'; /** * @typedef NotificationControllerState diff --git a/packages/notification-controller/src/index.ts b/packages/notification-controller/src/index.ts new file mode 100644 index 0000000000..6c896d4826 --- /dev/null +++ b/packages/notification-controller/src/index.ts @@ -0,0 +1 @@ +export * from './NotificationController'; diff --git a/packages/notification-controller/tsconfig.build.json b/packages/notification-controller/tsconfig.build.json new file mode 100644 index 0000000000..f9b513ee62 --- /dev/null +++ b/packages/notification-controller/tsconfig.build.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [ + { "path": "../base-controller/tsconfig.build.json" }, + { "path": "../controller-utils/tsconfig.build.json" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/notification-controller/tsconfig.json b/packages/notification-controller/tsconfig.json new file mode 100644 index 0000000000..38d12f2af0 --- /dev/null +++ b/packages/notification-controller/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/permission-controller/CHANGELOG.md b/packages/permission-controller/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/permission-controller/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/permission-controller/README.md b/packages/permission-controller/README.md new file mode 100644 index 0000000000..f7fe181938 --- /dev/null +++ b/packages/permission-controller/README.md @@ -0,0 +1,19 @@ +# `@metamask/permission-controller` + +(TODO) + +## Installation + +`yarn add @metamask/permission-controller` + +or + +`npm install @metamask/permission-controller` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/permission-controller/jest.config.ts b/packages/permission-controller/jest.config.ts new file mode 100644 index 0000000000..6c616f7297 --- /dev/null +++ b/packages/permission-controller/jest.config.ts @@ -0,0 +1,17 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const displayName = path.basename(__dirname); + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName, +}); + +export default config; diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json new file mode 100644 index 0000000000..2c43e88921 --- /dev/null +++ b/packages/permission-controller/package.json @@ -0,0 +1,46 @@ +{ + "name": "@metamask/permission-controller", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/permission-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": {}, + "dependencies": { + "@metamask/approval-controller": "workspace:~", + "@metamask/base-controller": "workspace:~", + "@metamask/controller-utils": "workspace:~", + "@metamask/types": "^1.1.0", + "@types/deep-freeze-strict": "^1.1.0", + "deep-freeze-strict": "^1.1.1", + "eth-rpc-errors": "^4.0.0", + "immer": "^9.0.6", + "json-rpc-engine": "^6.1.0", + "nanoid": "^3.1.31" + }, + "devDependencies": { + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/src/permissions/Caveat.test.ts b/packages/permission-controller/src/Caveat.test.ts similarity index 100% rename from src/permissions/Caveat.test.ts rename to packages/permission-controller/src/Caveat.test.ts diff --git a/src/permissions/Caveat.ts b/packages/permission-controller/src/Caveat.ts similarity index 100% rename from src/permissions/Caveat.ts rename to packages/permission-controller/src/Caveat.ts diff --git a/src/permissions/Permission.test.ts b/packages/permission-controller/src/Permission.test.ts similarity index 100% rename from src/permissions/Permission.test.ts rename to packages/permission-controller/src/Permission.test.ts diff --git a/src/permissions/Permission.ts b/packages/permission-controller/src/Permission.ts similarity index 99% rename from src/permissions/Permission.ts rename to packages/permission-controller/src/Permission.ts index 7112af5e93..5186bfe6f5 100644 --- a/src/permissions/Permission.ts +++ b/packages/permission-controller/src/Permission.ts @@ -1,6 +1,6 @@ import { Json } from '@metamask/types'; import { nanoid } from 'nanoid'; -import { NonEmptyArray } from '../util'; +import { NonEmptyArray } from '@metamask/controller-utils'; import { CaveatConstraint } from './Caveat'; // eslint-disable-next-line @typescript-eslint/no-unused-vars import type { PermissionController } from './PermissionController'; diff --git a/src/permissions/PermissionController.test.ts b/packages/permission-controller/src/PermissionController.test.ts similarity index 99% rename from src/permissions/PermissionController.test.ts rename to packages/permission-controller/src/PermissionController.test.ts index fadae6fd81..606ca8c677 100644 --- a/src/permissions/PermissionController.test.ts +++ b/packages/permission-controller/src/PermissionController.test.ts @@ -5,10 +5,10 @@ import { AddApprovalRequest, HasApprovalRequest, RejectRequest as RejectApprovalRequest, -} from '../approval/ApprovalController'; -import { Json } from '../BaseControllerV2'; -import { ControllerMessenger } from '../ControllerMessenger'; -import { hasProperty, isPlainObject } from '../util'; +} from '@metamask/approval-controller'; +import { Json, ControllerMessenger } from '@metamask/base-controller'; + +import { hasProperty, isPlainObject } from '@metamask/controller-utils'; import * as errors from './errors'; import { EndowmentGetterParams } from './Permission'; import { diff --git a/src/permissions/PermissionController.ts b/packages/permission-controller/src/PermissionController.ts similarity index 99% rename from src/permissions/PermissionController.ts rename to packages/permission-controller/src/PermissionController.ts index 40544b3870..288f2593f1 100644 --- a/src/permissions/PermissionController.ts +++ b/packages/permission-controller/src/PermissionController.ts @@ -9,16 +9,21 @@ import { AddApprovalRequest, HasApprovalRequest, RejectRequest as RejectApprovalRequest, -} from '../approval/ApprovalController'; -import { BaseController, Json, StateMetadata } from '../BaseControllerV2'; -import { RestrictedControllerMessenger } from '../ControllerMessenger'; +} from '@metamask/approval-controller'; +import { + BaseControllerV2 as BaseController, + Json, + StateMetadata, + RestrictedControllerMessenger, +} from '@metamask/base-controller'; + import { hasProperty, isNonEmptyArray, isPlainObject, isValidJson, NonEmptyArray, -} from '../util'; +} from '@metamask/controller-utils'; import { CaveatConstraint, CaveatSpecificationConstraint, diff --git a/src/permissions/README.md b/packages/permission-controller/src/README.md similarity index 100% rename from src/permissions/README.md rename to packages/permission-controller/src/README.md diff --git a/src/permissions/errors.test.ts b/packages/permission-controller/src/errors.test.ts similarity index 100% rename from src/permissions/errors.test.ts rename to packages/permission-controller/src/errors.test.ts diff --git a/src/permissions/errors.ts b/packages/permission-controller/src/errors.ts similarity index 100% rename from src/permissions/errors.ts rename to packages/permission-controller/src/errors.ts diff --git a/src/permissions/index.ts b/packages/permission-controller/src/index.ts similarity index 100% rename from src/permissions/index.ts rename to packages/permission-controller/src/index.ts diff --git a/src/permissions/permission-middleware.ts b/packages/permission-controller/src/permission-middleware.ts similarity index 100% rename from src/permissions/permission-middleware.ts rename to packages/permission-controller/src/permission-middleware.ts diff --git a/src/permissions/rpc-methods/getPermissions.test.ts b/packages/permission-controller/src/rpc-methods/getPermissions.test.ts similarity index 100% rename from src/permissions/rpc-methods/getPermissions.test.ts rename to packages/permission-controller/src/rpc-methods/getPermissions.test.ts diff --git a/src/permissions/rpc-methods/getPermissions.ts b/packages/permission-controller/src/rpc-methods/getPermissions.ts similarity index 100% rename from src/permissions/rpc-methods/getPermissions.ts rename to packages/permission-controller/src/rpc-methods/getPermissions.ts diff --git a/src/permissions/rpc-methods/index.ts b/packages/permission-controller/src/rpc-methods/index.ts similarity index 100% rename from src/permissions/rpc-methods/index.ts rename to packages/permission-controller/src/rpc-methods/index.ts diff --git a/src/permissions/rpc-methods/requestPermissions.test.ts b/packages/permission-controller/src/rpc-methods/requestPermissions.test.ts similarity index 100% rename from src/permissions/rpc-methods/requestPermissions.test.ts rename to packages/permission-controller/src/rpc-methods/requestPermissions.test.ts diff --git a/src/permissions/rpc-methods/requestPermissions.ts b/packages/permission-controller/src/rpc-methods/requestPermissions.ts similarity index 97% rename from src/permissions/rpc-methods/requestPermissions.ts rename to packages/permission-controller/src/rpc-methods/requestPermissions.ts index 6f9b88a752..5509d1ebfb 100644 --- a/src/permissions/rpc-methods/requestPermissions.ts +++ b/packages/permission-controller/src/rpc-methods/requestPermissions.ts @@ -5,11 +5,10 @@ import type { PendingJsonRpcResponse, PermittedHandlerExport, } from '@metamask/types'; +import { isPlainObject } from '@metamask/controller-utils'; import { MethodNames } from '../utils'; - import { invalidParams } from '../errors'; import type { PermissionConstraint, RequestedPermissions } from '../Permission'; -import { isPlainObject } from '../../util'; export const requestPermissionsHandler: PermittedHandlerExport< RequestPermissionsHooks, diff --git a/src/permissions/utils.ts b/packages/permission-controller/src/utils.ts similarity index 100% rename from src/permissions/utils.ts rename to packages/permission-controller/src/utils.ts diff --git a/packages/permission-controller/tsconfig.build.json b/packages/permission-controller/tsconfig.build.json new file mode 100644 index 0000000000..feb4dd6533 --- /dev/null +++ b/packages/permission-controller/tsconfig.build.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [ + { "path": "../approval-controller/tsconfig.build.json" }, + { "path": "../base-controller/tsconfig.build.json" }, + { "path": "../controller-utils/tsconfig.build.json" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/permission-controller/tsconfig.json b/packages/permission-controller/tsconfig.json new file mode 100644 index 0000000000..d92814a7f6 --- /dev/null +++ b/packages/permission-controller/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../approval-controller" }, + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/rate-limit-controller/CHANGELOG.md b/packages/rate-limit-controller/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/rate-limit-controller/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/rate-limit-controller/README.md b/packages/rate-limit-controller/README.md new file mode 100644 index 0000000000..bac94ae5b8 --- /dev/null +++ b/packages/rate-limit-controller/README.md @@ -0,0 +1,19 @@ +# `@metamask/rate-limit-controller` + +(TODO) + +## Installation + +`yarn add @metamask/rate-limit-controller` + +or + +`npm install @metamask/rate-limit-controller` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/rate-limit-controller/jest.config.ts b/packages/rate-limit-controller/jest.config.ts new file mode 100644 index 0000000000..6c616f7297 --- /dev/null +++ b/packages/rate-limit-controller/jest.config.ts @@ -0,0 +1,17 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const displayName = path.basename(__dirname); + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName, +}); + +export default config; diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json new file mode 100644 index 0000000000..1f31dec650 --- /dev/null +++ b/packages/rate-limit-controller/package.json @@ -0,0 +1,39 @@ +{ + "name": "@metamask/rate-limit-controller", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/rate-limit-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": {}, + "dependencies": { + "@metamask/base-controller": "workspace:~", + "eth-rpc-errors": "^4.0.0", + "immer": "^9.0.6" + }, + "devDependencies": { + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/src/ratelimit/RateLimitController.test.ts b/packages/rate-limit-controller/src/RateLimitController.test.ts similarity index 98% rename from src/ratelimit/RateLimitController.test.ts rename to packages/rate-limit-controller/src/RateLimitController.test.ts index 5a0f7c076d..fc63790ad7 100644 --- a/src/ratelimit/RateLimitController.test.ts +++ b/packages/rate-limit-controller/src/RateLimitController.test.ts @@ -1,4 +1,4 @@ -import { ControllerMessenger } from '../ControllerMessenger'; +import { ControllerMessenger } from '@metamask/base-controller'; import { RateLimitControllerActions, RateLimitStateChange, diff --git a/src/ratelimit/RateLimitController.ts b/packages/rate-limit-controller/src/RateLimitController.ts similarity index 97% rename from src/ratelimit/RateLimitController.ts rename to packages/rate-limit-controller/src/RateLimitController.ts index af2c41dd71..221ba8ec50 100644 --- a/src/ratelimit/RateLimitController.ts +++ b/packages/rate-limit-controller/src/RateLimitController.ts @@ -1,9 +1,9 @@ import { ethErrors } from 'eth-rpc-errors'; import type { Patch } from 'immer'; - -import { BaseController } from '../BaseControllerV2'; - -import type { RestrictedControllerMessenger } from '../ControllerMessenger'; +import { + BaseControllerV2 as BaseController, + RestrictedControllerMessenger, +} from '@metamask/base-controller'; /** * @type RateLimitState diff --git a/packages/rate-limit-controller/src/index.ts b/packages/rate-limit-controller/src/index.ts new file mode 100644 index 0000000000..50645817b7 --- /dev/null +++ b/packages/rate-limit-controller/src/index.ts @@ -0,0 +1 @@ +export * from './RateLimitController'; diff --git a/packages/rate-limit-controller/tsconfig.build.json b/packages/rate-limit-controller/tsconfig.build.json new file mode 100644 index 0000000000..b5e7237ece --- /dev/null +++ b/packages/rate-limit-controller/tsconfig.build.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [{ "path": "../base-controller/tsconfig.build.json" }], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/rate-limit-controller/tsconfig.json b/packages/rate-limit-controller/tsconfig.json new file mode 100644 index 0000000000..f15fdde3be --- /dev/null +++ b/packages/rate-limit-controller/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [{ "path": "../base-controller" }], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/subject-metadata-controller/CHANGELOG.md b/packages/subject-metadata-controller/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/subject-metadata-controller/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/subject-metadata-controller/README.md b/packages/subject-metadata-controller/README.md new file mode 100644 index 0000000000..a77819a222 --- /dev/null +++ b/packages/subject-metadata-controller/README.md @@ -0,0 +1,19 @@ +# `@metamask/subject-metadata-controller` + +(TODO) + +## Installation + +`yarn add @metamask/subject-metadata-controller` + +or + +`npm install @metamask/subject-metadata-controller` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/subject-metadata-controller/jest.config.ts b/packages/subject-metadata-controller/jest.config.ts new file mode 100644 index 0000000000..6c616f7297 --- /dev/null +++ b/packages/subject-metadata-controller/jest.config.ts @@ -0,0 +1,17 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const displayName = path.basename(__dirname); + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName, +}); + +export default config; diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json new file mode 100644 index 0000000000..e573234299 --- /dev/null +++ b/packages/subject-metadata-controller/package.json @@ -0,0 +1,40 @@ +{ + "name": "@metamask/subject-metadata-controller", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/subject-metadata-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": {}, + "dependencies": { + "@metamask/base-controller": "workspace:~", + "@metamask/permission-controller": "workspace:~", + "@metamask/types": "^1.1.0", + "immer": "^9.0.6" + }, + "devDependencies": { + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/src/subject-metadata/SubjectMetadataController.test.ts b/packages/subject-metadata-controller/src/SubjectMetadataController.test.ts similarity index 98% rename from src/subject-metadata/SubjectMetadataController.test.ts rename to packages/subject-metadata-controller/src/SubjectMetadataController.test.ts index 647db58cbc..b2a06de8de 100644 --- a/src/subject-metadata/SubjectMetadataController.test.ts +++ b/packages/subject-metadata-controller/src/SubjectMetadataController.test.ts @@ -1,6 +1,5 @@ -import { Json } from '../BaseControllerV2'; -import { ControllerMessenger } from '../ControllerMessenger'; -import { HasPermissions } from '../permissions'; +import { Json, ControllerMessenger } from '@metamask/base-controller'; +import { HasPermissions } from '@metamask/permissions-controller'; import { SubjectMetadataController, SubjectMetadataControllerActions, diff --git a/src/subject-metadata/SubjectMetadataController.ts b/packages/subject-metadata-controller/src/SubjectMetadataController.ts similarity index 97% rename from src/subject-metadata/SubjectMetadataController.ts rename to packages/subject-metadata-controller/src/SubjectMetadataController.ts index 2c0ad67a81..a35c87a217 100644 --- a/src/subject-metadata/SubjectMetadataController.ts +++ b/packages/subject-metadata-controller/src/SubjectMetadataController.ts @@ -1,13 +1,14 @@ import type { Patch } from 'immer'; import { Json } from '@metamask/types'; -import { BaseController } from '../BaseControllerV2'; -import { RestrictedControllerMessenger } from '../ControllerMessenger'; - +import { + BaseControllerV2 as BaseController, + RestrictedControllerMessenger, +} from '@metamask/base-controller'; import type { GenericPermissionController, PermissionSubjectMetadata, HasPermissions, -} from '../permissions'; +} from '@metamask/permission-controller'; const controllerName = 'SubjectMetadataController'; diff --git a/src/subject-metadata/index.ts b/packages/subject-metadata-controller/src/index.ts similarity index 100% rename from src/subject-metadata/index.ts rename to packages/subject-metadata-controller/src/index.ts diff --git a/packages/subject-metadata-controller/tsconfig.build.json b/packages/subject-metadata-controller/tsconfig.build.json new file mode 100644 index 0000000000..4dd230274c --- /dev/null +++ b/packages/subject-metadata-controller/tsconfig.build.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [ + { "path": "../base-controller/tsconfig.build.json" }, + { "path": "../permission-controller/tsconfig.build.json" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/subject-metadata-controller/tsconfig.json b/packages/subject-metadata-controller/tsconfig.json new file mode 100644 index 0000000000..cfe1ed6a84 --- /dev/null +++ b/packages/subject-metadata-controller/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../permission-controller" } + ], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/third-party-controllers/CHANGELOG.md b/packages/third-party-controllers/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/third-party-controllers/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/third-party-controllers/README.md b/packages/third-party-controllers/README.md new file mode 100644 index 0000000000..181b70c19e --- /dev/null +++ b/packages/third-party-controllers/README.md @@ -0,0 +1,19 @@ +# `@metamask/third-party-controllers` + +(TODO) + +## Installation + +`yarn add @metamask/third-party-controllers` + +or + +`npm install @metamask/third-party-controllers` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/third-party-controllers/jest.config.ts b/packages/third-party-controllers/jest.config.ts new file mode 100644 index 0000000000..6c616f7297 --- /dev/null +++ b/packages/third-party-controllers/jest.config.ts @@ -0,0 +1,17 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const displayName = path.basename(__dirname); + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName, +}); + +export default config; diff --git a/packages/third-party-controllers/package.json b/packages/third-party-controllers/package.json new file mode 100644 index 0000000000..a754add5ed --- /dev/null +++ b/packages/third-party-controllers/package.json @@ -0,0 +1,44 @@ +{ + "name": "@metamask/third-party-controllers", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/third-party-controllers#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": {}, + "dependencies": { + "@metamask/base-controller": "workspace:~", + "@metamask/controller-utils": "workspace:~", + "@types/punycode": "^2.1.0", + "eth-phishing-detect": "^1.2.0", + "isomorphic-fetch": "^3.0.0", + "punycode": "^2.1.1" + }, + "devDependencies": { + "ethereumjs-util": "^7.1.4", + "sinon": "^9.2.4", + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/packages/ens-controller/src/EnsController.test.ts b/packages/third-party-controllers/src/EnsController.test.ts similarity index 99% rename from packages/ens-controller/src/EnsController.test.ts rename to packages/third-party-controllers/src/EnsController.test.ts index fb93e1f619..db1fbdaa51 100644 --- a/packages/ens-controller/src/EnsController.test.ts +++ b/packages/third-party-controllers/src/EnsController.test.ts @@ -1,5 +1,5 @@ import { toChecksumHexAddress } from '@metamask/controller-utils'; -import { EnsController } from '.'; +import { EnsController } from './EnsController'; const address1 = '0x32Be343B94f860124dC4fEe278FDCBD38C102D88'; const address2 = '0xc38bf1ad06ef69f0c04e29dbeb4152b4175f0a8d'; diff --git a/packages/ens-controller/src/EnsController.ts b/packages/third-party-controllers/src/EnsController.ts similarity index 100% rename from packages/ens-controller/src/EnsController.ts rename to packages/third-party-controllers/src/EnsController.ts diff --git a/src/third-party/PhishingController.test.ts b/packages/third-party-controllers/src/PhishingController.test.ts similarity index 100% rename from src/third-party/PhishingController.test.ts rename to packages/third-party-controllers/src/PhishingController.test.ts diff --git a/src/third-party/PhishingController.ts b/packages/third-party-controllers/src/PhishingController.ts similarity index 98% rename from src/third-party/PhishingController.ts rename to packages/third-party-controllers/src/PhishingController.ts index 980d14bd2b..d0eaa97c48 100644 --- a/src/third-party/PhishingController.ts +++ b/packages/third-party-controllers/src/PhishingController.ts @@ -1,8 +1,12 @@ import { toASCII } from 'punycode/'; import DEFAULT_PHISHING_RESPONSE from 'eth-phishing-detect/src/config.json'; import PhishingDetector from 'eth-phishing-detect/src/detector'; -import { BaseController, BaseConfig, BaseState } from '../BaseController'; -import { safelyExecute } from '../util'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; +import { safelyExecute } from '@metamask/controller-utils'; /** * @type EthPhishingResponse diff --git a/packages/ens-controller/src/index.ts b/packages/third-party-controllers/src/index.ts similarity index 54% rename from packages/ens-controller/src/index.ts rename to packages/third-party-controllers/src/index.ts index 14cbf704a6..6c5633002a 100644 --- a/packages/ens-controller/src/index.ts +++ b/packages/third-party-controllers/src/index.ts @@ -1 +1,3 @@ +import 'isomorphic-fetch'; + export * from './EnsController'; diff --git a/packages/third-party-controllers/tsconfig.build.json b/packages/third-party-controllers/tsconfig.build.json new file mode 100644 index 0000000000..f9b513ee62 --- /dev/null +++ b/packages/third-party-controllers/tsconfig.build.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [ + { "path": "../base-controller/tsconfig.build.json" }, + { "path": "../controller-utils/tsconfig.build.json" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/third-party-controllers/tsconfig.json b/packages/third-party-controllers/tsconfig.json new file mode 100644 index 0000000000..38d12f2af0 --- /dev/null +++ b/packages/third-party-controllers/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/transaction-controller/CHANGELOG.md b/packages/transaction-controller/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/transaction-controller/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/transaction-controller/README.md b/packages/transaction-controller/README.md new file mode 100644 index 0000000000..8200a0c2f8 --- /dev/null +++ b/packages/transaction-controller/README.md @@ -0,0 +1,19 @@ +# `@metamask/transaction-controller` + +(TODO) + +## Installation + +`yarn add @metamask/transaction-controller` + +or + +`npm install @metamask/transaction-controller` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/transaction-controller/jest.config.ts b/packages/transaction-controller/jest.config.ts new file mode 100644 index 0000000000..6c616f7297 --- /dev/null +++ b/packages/transaction-controller/jest.config.ts @@ -0,0 +1,17 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const displayName = path.basename(__dirname); + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName, +}); + +export default config; diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json new file mode 100644 index 0000000000..d35bdb42fb --- /dev/null +++ b/packages/transaction-controller/package.json @@ -0,0 +1,49 @@ +{ + "name": "@metamask/transaction-controller", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/transaction-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": {}, + "dependencies": { + "@ethereumjs/common": "^2.3.1", + "@ethereumjs/tx": "^3.2.1", + "@metamask/base-controller": "workspace:~", + "@metamask/controller-utils": "workspace:~", + "@metamask/network-controller": "workspace:~", + "async-mutex": "^0.2.6", + "eth-method-registry": "1.1.0", + "eth-query": "^2.1.2", + "eth-rpc-errors": "^4.0.0", + "ethereumjs-util": "^7.0.10", + "uuid": "^8.3.2" + }, + "devDependencies": { + "ethjs-provider-http": "^0.1.6", + "sinon": "^9.2.4", + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/src/transaction/TransactionController.test.ts b/packages/transaction-controller/src/TransactionController.test.ts similarity index 99% rename from src/transaction/TransactionController.test.ts rename to packages/transaction-controller/src/TransactionController.test.ts index 7fcc69b5d0..a7c139e739 100644 --- a/src/transaction/TransactionController.test.ts +++ b/packages/transaction-controller/src/TransactionController.test.ts @@ -4,7 +4,7 @@ import { NetworksChainId, NetworkType, NetworkState, -} from '../network/NetworkController'; +} from '@metamask/network-controller'; import { TransactionController, TransactionStatus, diff --git a/src/transaction/TransactionController.ts b/packages/transaction-controller/src/TransactionController.ts similarity index 99% rename from src/transaction/TransactionController.ts rename to packages/transaction-controller/src/TransactionController.ts index 6aa3eca3a9..6199f40733 100644 --- a/src/transaction/TransactionController.ts +++ b/packages/transaction-controller/src/TransactionController.ts @@ -7,11 +7,15 @@ import Common from '@ethereumjs/common'; import { TransactionFactory, TypedTransaction } from '@ethereumjs/tx'; import { v1 as random } from 'uuid'; import { Mutex } from 'async-mutex'; -import { BaseController, BaseConfig, BaseState } from '../BaseController'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; import type { NetworkState, NetworkController, -} from '../network/NetworkController'; +} from '@metamask/network-controller'; import { BNToHex, fractionBN, @@ -28,8 +32,9 @@ import { isFeeMarketEIP1559Values, validateGasValues, validateMinimumIncrease, -} from '../util'; -import { MAINNET, RPC } from '../constants'; + MAINNET, + RPC, +} from '@metamask/controller-utils'; const HARDFORK = 'london'; diff --git a/packages/transaction-controller/src/index.ts b/packages/transaction-controller/src/index.ts new file mode 100644 index 0000000000..a13df053dd --- /dev/null +++ b/packages/transaction-controller/src/index.ts @@ -0,0 +1,2 @@ +export * from './TransactionController'; +export * from './utils'; diff --git a/src/transaction/mocks/txsMock.ts b/packages/transaction-controller/src/mocks/txsMock.ts similarity index 100% rename from src/transaction/mocks/txsMock.ts rename to packages/transaction-controller/src/mocks/txsMock.ts diff --git a/packages/transaction-controller/src/utils.test.ts b/packages/transaction-controller/src/utils.test.ts new file mode 100644 index 0000000000..c7274104d2 --- /dev/null +++ b/packages/transaction-controller/src/utils.test.ts @@ -0,0 +1,204 @@ +import { + Transaction, + GasPriceValue, + FeeMarketEIP1559Values, +} from './TransactionController'; +import * as util from './utils'; + +const MAX_FEE_PER_GAS = 'maxFeePerGas'; +const MAX_PRIORITY_FEE_PER_GAS = 'maxPriorityFeePerGas'; +const GAS_PRICE = 'gasPrice'; +const FAIL = 'lol'; +const PASS = '0x1'; + +describe('utils', () => { + it('normalizeTransaction', () => { + const normalized = util.normalizeTransaction({ + data: 'data', + from: 'FROM', + gas: 'gas', + gasPrice: 'gasPrice', + nonce: 'nonce', + to: 'TO', + value: 'value', + maxFeePerGas: 'maxFeePerGas', + maxPriorityFeePerGas: 'maxPriorityFeePerGas', + estimatedBaseFee: 'estimatedBaseFee', + }); + expect(normalized).toStrictEqual({ + data: '0xdata', + from: '0xfrom', + gas: '0xgas', + gasPrice: '0xgasPrice', + nonce: '0xnonce', + to: '0xto', + value: '0xvalue', + maxFeePerGas: '0xmaxFeePerGas', + maxPriorityFeePerGas: '0xmaxPriorityFeePerGas', + estimatedBaseFee: '0xestimatedBaseFee', + }); + }); + + describe('validateTransaction', () => { + it('should throw if no from address', () => { + expect(() => util.validateTransaction({} as any)).toThrow( + 'Invalid "from" address: undefined must be a valid string.', + ); + }); + + it('should throw if non-string from address', () => { + expect(() => util.validateTransaction({ from: 1337 } as any)).toThrow( + 'Invalid "from" address: 1337 must be a valid string.', + ); + }); + + it('should throw if invalid from address', () => { + expect(() => util.validateTransaction({ from: '1337' } as any)).toThrow( + 'Invalid "from" address: 1337 must be a valid string.', + ); + }); + + it('should throw if no data', () => { + expect(() => + util.validateTransaction({ + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + to: '0x', + } as any), + ).toThrow('Invalid "to" address: 0x must be a valid string.'); + + expect(() => + util.validateTransaction({ + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + } as any), + ).toThrow('Invalid "to" address: undefined must be a valid string.'); + }); + + it('should delete data', () => { + const transaction = { + data: 'foo', + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + to: '0x', + }; + util.validateTransaction(transaction); + expect(transaction.to).toBeUndefined(); + }); + + it('should throw if invalid to address', () => { + expect(() => + util.validateTransaction({ + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + to: '1337', + } as any), + ).toThrow('Invalid "to" address: 1337 must be a valid string.'); + }); + + it('should throw if value is invalid', () => { + expect(() => + util.validateTransaction({ + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + to: '0x3244e191f1b4903970224322180f1fbbc415696b', + value: '133-7', + } as any), + ).toThrow('Invalid "value": 133-7 is not a positive number.'); + + expect(() => + util.validateTransaction({ + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + to: '0x3244e191f1b4903970224322180f1fbbc415696b', + value: '133.7', + } as any), + ).toThrow('Invalid "value": 133.7 number must be denominated in wei.'); + + expect(() => + util.validateTransaction({ + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + to: '0x3244e191f1b4903970224322180f1fbbc415696b', + value: 'hello', + } as any), + ).toThrow('Invalid "value": hello number must be a valid number.'); + + expect(() => + util.validateTransaction({ + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + to: '0x3244e191f1b4903970224322180f1fbbc415696b', + value: 'one million dollar$', + } as any), + ).toThrow( + 'Invalid "value": one million dollar$ number must be a valid number.', + ); + + expect(() => + util.validateTransaction({ + from: '0x3244e191f1b4903970224322180f1fbbc415696b', + to: '0x3244e191f1b4903970224322180f1fbbc415696b', + value: '1', + } as any), + ).not.toThrow(); + }); + }); + + describe('isEIP1559Transaction', () => { + it('should detect EIP1559 transaction', () => { + const tx: Transaction = { from: '' }; + const eip1559tx: Transaction = { + ...tx, + maxFeePerGas: '2', + maxPriorityFeePerGas: '3', + }; + expect(util.isEIP1559Transaction(eip1559tx)).toBe(true); + expect(util.isEIP1559Transaction(tx)).toBe(false); + }); + }); + + describe('validateGasValues', () => { + it('should throw when provided invalid gas values', () => { + const gasValues: GasPriceValue = { + [GAS_PRICE]: FAIL, + }; + expect(() => util.validateGasValues(gasValues)).toThrow(TypeError); + expect(() => util.validateGasValues(gasValues)).toThrow( + `expected hex string for ${GAS_PRICE} but received: ${FAIL}`, + ); + }); + + it('should throw when any provided gas values are invalid', () => { + const gasValues: FeeMarketEIP1559Values = { + [MAX_PRIORITY_FEE_PER_GAS]: PASS, + [MAX_FEE_PER_GAS]: FAIL, + }; + expect(() => util.validateGasValues(gasValues)).toThrow(TypeError); + expect(() => util.validateGasValues(gasValues)).toThrow( + `expected hex string for ${MAX_FEE_PER_GAS} but received: ${FAIL}`, + ); + }); + + it('should return true when provided valid gas values', () => { + const gasValues: FeeMarketEIP1559Values = { + [MAX_FEE_PER_GAS]: PASS, + [MAX_PRIORITY_FEE_PER_GAS]: PASS, + }; + expect(() => util.validateGasValues(gasValues)).not.toThrow(TypeError); + }); + }); + + describe('isFeeMarketEIP1559Values', () => { + it('should detect if isFeeMarketEIP1559Values', () => { + const gasValues = { + [MAX_PRIORITY_FEE_PER_GAS]: PASS, + [MAX_FEE_PER_GAS]: FAIL, + }; + expect(util.isFeeMarketEIP1559Values(gasValues)).toBe(true); + expect(util.isGasPriceValue(gasValues)).toBe(false); + }); + }); + + describe('isGasPriceValue', () => { + it('should detect if isGasPriceValue', () => { + const gasValues: GasPriceValue = { + [GAS_PRICE]: PASS, + }; + expect(util.isGasPriceValue(gasValues)).toBe(true); + expect(util.isFeeMarketEIP1559Values(gasValues)).toBe(false); + }); + }); +}); diff --git a/packages/transaction-controller/src/utils.ts b/packages/transaction-controller/src/utils.ts new file mode 100644 index 0000000000..92349dca59 --- /dev/null +++ b/packages/transaction-controller/src/utils.ts @@ -0,0 +1,205 @@ +import { addHexPrefix, isHexString } from 'ethereumjs-util'; +import { + handleFetch, + isValidHexAddress, + getEtherscanApiUrl, +} from '@metamask/controller-utils'; +import { + Transaction, + FetchAllOptions, + GasPriceValue, + FeeMarketEIP1559Values, +} from './TransactionController'; + +const NORMALIZERS: { [param in keyof Transaction]: any } = { + data: (data: string) => addHexPrefix(data), + from: (from: string) => addHexPrefix(from).toLowerCase(), + gas: (gas: string) => addHexPrefix(gas), + gasPrice: (gasPrice: string) => addHexPrefix(gasPrice), + nonce: (nonce: string) => addHexPrefix(nonce), + to: (to: string) => addHexPrefix(to).toLowerCase(), + value: (value: string) => addHexPrefix(value), + maxFeePerGas: (maxFeePerGas: string) => addHexPrefix(maxFeePerGas), + maxPriorityFeePerGas: (maxPriorityFeePerGas: string) => + addHexPrefix(maxPriorityFeePerGas), + estimatedBaseFee: (maxPriorityFeePerGas: string) => + addHexPrefix(maxPriorityFeePerGas), +}; + +/** + * Normalizes properties on a Transaction object. + * + * @param transaction - Transaction object to normalize. + * @returns Normalized Transaction object. + */ +export function normalizeTransaction(transaction: Transaction) { + const normalizedTransaction: Transaction = { from: '' }; + let key: keyof Transaction; + for (key in NORMALIZERS) { + if (transaction[key as keyof Transaction]) { + normalizedTransaction[key] = NORMALIZERS[key](transaction[key]) as never; + } + } + return normalizedTransaction; +} + +/** + * Validates a Transaction object for required properties and throws in + * the event of any validation error. + * + * @param transaction - Transaction object to validate. + */ +export function validateTransaction(transaction: Transaction) { + if ( + !transaction.from || + typeof transaction.from !== 'string' || + !isValidHexAddress(transaction.from) + ) { + throw new Error( + `Invalid "from" address: ${transaction.from} must be a valid string.`, + ); + } + + if (transaction.to === '0x' || transaction.to === undefined) { + if (transaction.data) { + delete transaction.to; + } else { + throw new Error( + `Invalid "to" address: ${transaction.to} must be a valid string.`, + ); + } + } else if ( + transaction.to !== undefined && + !isValidHexAddress(transaction.to) + ) { + throw new Error( + `Invalid "to" address: ${transaction.to} must be a valid string.`, + ); + } + + if (transaction.value !== undefined) { + const value = transaction.value.toString(); + if (value.includes('-')) { + throw new Error(`Invalid "value": ${value} is not a positive number.`); + } + + if (value.includes('.')) { + throw new Error( + `Invalid "value": ${value} number must be denominated in wei.`, + ); + } + const intValue = parseInt(transaction.value, 10); + const isValid = + Number.isFinite(intValue) && + !Number.isNaN(intValue) && + !isNaN(Number(value)) && + Number.isSafeInteger(intValue); + if (!isValid) { + throw new Error( + `Invalid "value": ${value} number must be a valid number.`, + ); + } + } +} + +/** + * Checks if a transaction is EIP-1559 by checking for the existence of + * maxFeePerGas and maxPriorityFeePerGas within its parameters. + * + * @param transaction - Transaction object to add. + * @returns Boolean that is true if the transaction is EIP-1559 (has maxFeePerGas and maxPriorityFeePerGas), otherwise returns false. + */ +export const isEIP1559Transaction = (transaction: Transaction): boolean => { + const hasOwnProp = (obj: Transaction, key: string) => + Object.prototype.hasOwnProperty.call(obj, key); + return ( + hasOwnProp(transaction, 'maxFeePerGas') && + hasOwnProp(transaction, 'maxPriorityFeePerGas') + ); +}; + +/** + * Handles the fetch of incoming transactions. + * + * @param networkType - Network type of desired network. + * @param address - Address to get the transactions from. + * @param txHistoryLimit - The maximum number of transactions to fetch. + * @param opt - Object that can contain fromBlock and Etherscan service API key. + * @returns Responses for both ETH and ERC20 token transactions. + */ +export async function handleTransactionFetch( + networkType: string, + address: string, + txHistoryLimit: number, + opt?: FetchAllOptions, +): Promise<[{ [result: string]: [] }, { [result: string]: [] }]> { + // transactions + const urlParams = { + module: 'account', + address, + startBlock: opt?.fromBlock, + apikey: opt?.etherscanApiKey, + offset: txHistoryLimit.toString(), + order: 'desc', + }; + const etherscanTxUrl = getEtherscanApiUrl(networkType, { + ...urlParams, + action: 'txlist', + }); + const etherscanTxResponsePromise = handleFetch(etherscanTxUrl); + + // tokens + const etherscanTokenUrl = getEtherscanApiUrl(networkType, { + ...urlParams, + action: 'tokentx', + }); + const etherscanTokenResponsePromise = handleFetch(etherscanTokenUrl); + + let [etherscanTxResponse, etherscanTokenResponse] = await Promise.all([ + etherscanTxResponsePromise, + etherscanTokenResponsePromise, + ]); + + if ( + etherscanTxResponse.status === '0' || + etherscanTxResponse.result.length <= 0 + ) { + etherscanTxResponse = { status: etherscanTxResponse.status, result: [] }; + } + + if ( + etherscanTokenResponse.status === '0' || + etherscanTokenResponse.result.length <= 0 + ) { + etherscanTokenResponse = { + status: etherscanTokenResponse.status, + result: [], + }; + } + + return [etherscanTxResponse, etherscanTokenResponse]; +} + +export const validateGasValues = ( + gasValues: GasPriceValue | FeeMarketEIP1559Values, +) => { + Object.keys(gasValues).forEach((key) => { + const value = (gasValues as any)[key]; + if (typeof value !== 'string' || !isHexString(value)) { + throw new TypeError( + `expected hex string for ${key} but received: ${value}`, + ); + } + }); +}; + +export const isFeeMarketEIP1559Values = ( + gasValues?: GasPriceValue | FeeMarketEIP1559Values, +): gasValues is FeeMarketEIP1559Values => + (gasValues as FeeMarketEIP1559Values)?.maxFeePerGas !== undefined || + (gasValues as FeeMarketEIP1559Values)?.maxPriorityFeePerGas !== undefined; + +export const isGasPriceValue = ( + gasValues?: GasPriceValue | FeeMarketEIP1559Values, +): gasValues is GasPriceValue => + (gasValues as GasPriceValue)?.gasPrice !== undefined; diff --git a/packages/transaction-controller/tsconfig.build.json b/packages/transaction-controller/tsconfig.build.json new file mode 100644 index 0000000000..d851ae9cc7 --- /dev/null +++ b/packages/transaction-controller/tsconfig.build.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [ + { "path": "../base-controller/tsconfig.build.json" }, + { "path": "../controller-utils/tsconfig.build.json" }, + { "path": "../network-controller/tsconfig.build.json" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/transaction-controller/tsconfig.json b/packages/transaction-controller/tsconfig.json new file mode 100644 index 0000000000..752e99a13c --- /dev/null +++ b/packages/transaction-controller/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" }, + { "path": "../network-controller" } + ], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/packages/user-controllers/CHANGELOG.md b/packages/user-controllers/CHANGELOG.md new file mode 100644 index 0000000000..33c58cfad0 --- /dev/null +++ b/packages/user-controllers/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +(TODO) diff --git a/packages/user-controllers/README.md b/packages/user-controllers/README.md new file mode 100644 index 0000000000..0e9eb83e6e --- /dev/null +++ b/packages/user-controllers/README.md @@ -0,0 +1,19 @@ +# `@metamask/user-controllers` + +(TODO) + +## Installation + +`yarn add @metamask/user-controllers` + +or + +`npm install @metamask/user-controllers` + +## Usage + +(TODO) + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/user-controllers/jest.config.ts b/packages/user-controllers/jest.config.ts new file mode 100644 index 0000000000..6c616f7297 --- /dev/null +++ b/packages/user-controllers/jest.config.ts @@ -0,0 +1,17 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +import * as path from 'path'; +import merge from 'ts-deepmerge'; +import baseConfig from '../../jest.config.packages'; + +const displayName = path.basename(__dirname); + +const config = merge(baseConfig, { + // The display name when running multiple projects + displayName, +}); + +export default config; diff --git a/packages/user-controllers/package.json b/packages/user-controllers/package.json new file mode 100644 index 0000000000..e227ec7c22 --- /dev/null +++ b/packages/user-controllers/package.json @@ -0,0 +1,38 @@ +{ + "name": "@metamask/user-controllers", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/user-controllers#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": {}, + "dependencies": { + "@metamask/base-controller": "workspace:~", + "@metamask/controller-utils": "workspace:~" + }, + "devDependencies": { + "ts-deepmerge": "^2.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/src/user/AddressBookController.test.ts b/packages/user-controllers/src/AddressBookController.test.ts similarity index 100% rename from src/user/AddressBookController.test.ts rename to packages/user-controllers/src/AddressBookController.test.ts diff --git a/src/user/AddressBookController.ts b/packages/user-controllers/src/AddressBookController.ts similarity index 96% rename from src/user/AddressBookController.ts rename to packages/user-controllers/src/AddressBookController.ts index fdad1da6ac..e958417bb5 100644 --- a/src/user/AddressBookController.ts +++ b/packages/user-controllers/src/AddressBookController.ts @@ -2,8 +2,12 @@ import { normalizeEnsName, isValidHexAddress, toChecksumHexAddress, -} from '../util'; -import { BaseController, BaseConfig, BaseState } from '../BaseController'; +} from '@metamask/controller-utils'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; /** * @type ContactEntry diff --git a/src/user/PreferencesController.test.ts b/packages/user-controllers/src/PreferencesController.test.ts similarity index 100% rename from src/user/PreferencesController.test.ts rename to packages/user-controllers/src/PreferencesController.test.ts diff --git a/src/user/PreferencesController.ts b/packages/user-controllers/src/PreferencesController.ts similarity index 98% rename from src/user/PreferencesController.ts rename to packages/user-controllers/src/PreferencesController.ts index 374ef128d9..6de1d3c144 100644 --- a/src/user/PreferencesController.ts +++ b/packages/user-controllers/src/PreferencesController.ts @@ -1,5 +1,9 @@ -import { BaseController, BaseConfig, BaseState } from '../BaseController'; -import { toChecksumHexAddress } from '../util'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; +import { toChecksumHexAddress } from '@metamask/controller-utils'; import { ContactEntry } from './AddressBookController'; /** diff --git a/packages/user-controllers/src/index.ts b/packages/user-controllers/src/index.ts new file mode 100644 index 0000000000..b422163c10 --- /dev/null +++ b/packages/user-controllers/src/index.ts @@ -0,0 +1,2 @@ +export * from './AddressBookController'; +export * from './PreferencesController'; diff --git a/packages/user-controllers/tsconfig.build.json b/packages/user-controllers/tsconfig.build.json new file mode 100644 index 0000000000..f9b513ee62 --- /dev/null +++ b/packages/user-controllers/tsconfig.build.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [ + { "path": "../base-controller/tsconfig.build.json" }, + { "path": "../controller-utils/tsconfig.build.json" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/user-controllers/tsconfig.json b/packages/user-controllers/tsconfig.json new file mode 100644 index 0000000000..38d12f2af0 --- /dev/null +++ b/packages/user-controllers/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] +} diff --git a/src/BaseController.test.ts b/src/BaseController.test.ts deleted file mode 100644 index d5a86fb4ba..0000000000 --- a/src/BaseController.test.ts +++ /dev/null @@ -1,72 +0,0 @@ -import sinon from 'sinon'; -import { BaseController, BaseConfig, BaseState } from './BaseController'; - -const STATE = { name: 'foo' }; -const CONFIG = { disabled: true }; - -class TestController extends BaseController { - constructor(config?: BaseConfig, state?: BaseState) { - super(config, state); - this.initialize(); - } -} - -describe('BaseController', () => { - afterEach(() => { - sinon.restore(); - }); - - it('should set initial state', () => { - const controller = new TestController(undefined, STATE); - expect(controller.state).toStrictEqual(STATE); - }); - - it('should set initial config', () => { - const controller = new TestController(CONFIG); - expect(controller.config).toStrictEqual(CONFIG); - }); - - it('should overwrite state', () => { - const controller = new TestController(); - expect(controller.state).toStrictEqual({}); - controller.update(STATE, true); - expect(controller.state).toStrictEqual(STATE); - }); - - it('should overwrite config', () => { - const controller = new TestController(); - expect(controller.config).toStrictEqual({}); - controller.configure(CONFIG, true); - expect(controller.config).toStrictEqual(CONFIG); - }); - - it('should be able to partially update the config', () => { - const controller = new TestController(CONFIG); - expect(controller.config).toStrictEqual(CONFIG); - controller.configure({ disabled: false }, false, false); - expect(controller.config).toStrictEqual({ disabled: false }); - }); - - it('should notify all listeners', () => { - const controller = new TestController(undefined, STATE); - const listenerOne = sinon.stub(); - const listenerTwo = sinon.stub(); - controller.subscribe(listenerOne); - controller.subscribe(listenerTwo); - controller.notify(); - expect(listenerOne.calledOnce).toBe(true); - expect(listenerTwo.calledOnce).toBe(true); - expect(listenerOne.getCall(0).args[0]).toStrictEqual(STATE); - expect(listenerTwo.getCall(0).args[0]).toStrictEqual(STATE); - }); - - it('should not notify unsubscribed listeners', () => { - const controller = new TestController(); - const listener = sinon.stub(); - controller.subscribe(listener); - controller.unsubscribe(listener); - controller.unsubscribe(() => null); - controller.notify(); - expect(listener.called).toBe(false); - }); -}); diff --git a/src/BaseController.ts b/src/BaseController.ts deleted file mode 100644 index f17c4e0b45..0000000000 --- a/src/BaseController.ts +++ /dev/null @@ -1,183 +0,0 @@ -/** - * State change callbacks - */ -export type Listener = (state: T) => void; - -/** - * @type BaseConfig - * - * Base controller configuration - * @property disabled - Determines if this controller is enabled - */ -export interface BaseConfig { - disabled?: boolean; -} - -/** - * @type BaseState - * - * Base state representation - * @property name - Unique name for this controller - */ -export interface BaseState { - name?: string; -} - -/** - * Controller class that provides configuration, state management, and subscriptions - */ -export class BaseController { - /** - * Default options used to configure this controller - */ - defaultConfig: C = {} as C; - - /** - * Default state set on this controller - */ - defaultState: S = {} as S; - - /** - * Determines if listeners are notified of state changes - */ - disabled = false; - - /** - * Name of this controller used during composition - */ - name = 'BaseController'; - - private readonly initialConfig: C; - - private readonly initialState: S; - - private internalConfig: C = this.defaultConfig; - - private internalState: S = this.defaultState; - - private internalListeners: Listener[] = []; - - /** - * Creates a BaseController instance. Both initial state and initial - * configuration options are merged with defaults upon initialization. - * - * @param config - Initial options used to configure this controller. - * @param state - Initial state to set on this controller. - */ - constructor(config: Partial = {} as C, state: Partial = {} as S) { - // Use assign since generics can't be spread: https://git.io/vpRhY - this.initialState = state as S; - this.initialConfig = config as C; - } - - /** - * Enables the controller. This sets each config option as a member - * variable on this instance and triggers any defined setters. This - * also sets initial state and triggers any listeners. - * - * @returns This controller instance. - */ - protected initialize() { - this.internalState = this.defaultState; - this.internalConfig = this.defaultConfig; - this.configure(this.initialConfig); - this.update(this.initialState); - return this; - } - - /** - * Retrieves current controller configuration options. - * - * @returns The current configuration. - */ - get config() { - return this.internalConfig; - } - - /** - * Retrieves current controller state. - * - * @returns The current state. - */ - get state() { - return this.internalState; - } - - /** - * Updates controller configuration. - * - * @param config - New configuration options. - * @param overwrite - Overwrite config instead of merging. - * @param fullUpdate - Boolean that defines if the update is partial or not. - */ - configure(config: Partial, overwrite = false, fullUpdate = true) { - if (fullUpdate) { - this.internalConfig = overwrite - ? (config as C) - : Object.assign(this.internalConfig, config); - - for (const key in this.internalConfig) { - if (typeof this.internalConfig[key] !== 'undefined') { - (this as any)[key as string] = this.internalConfig[key]; - } - } - } else { - for (const key in config) { - /* istanbul ignore else */ - if (typeof this.internalConfig[key] !== 'undefined') { - this.internalConfig[key] = config[key] as any; - (this as any)[key as string] = config[key]; - } - } - } - } - - /** - * Notifies all subscribed listeners of current state. - */ - notify() { - if (this.disabled) { - return; - } - - this.internalListeners.forEach((listener) => { - listener(this.internalState); - }); - } - - /** - * Adds new listener to be notified of state changes. - * - * @param listener - The callback triggered when state changes. - */ - subscribe(listener: Listener) { - this.internalListeners.push(listener); - } - - /** - * Removes existing listener from receiving state changes. - * - * @param listener - The callback to remove. - * @returns `true` if a listener is found and unsubscribed. - */ - unsubscribe(listener: Listener) { - const index = this.internalListeners.findIndex((cb) => listener === cb); - index > -1 && this.internalListeners.splice(index, 1); - return index > -1; - } - - /** - * Updates controller state. - * - * @param state - The new state. - * @param overwrite - Overwrite state instead of merging. - */ - update(state: Partial, overwrite = false) { - this.internalState = overwrite - ? Object.assign({}, state as S) - : Object.assign({}, this.internalState, state); - this.notify(); - } -} - -export default BaseController; diff --git a/src/BaseControllerV2.test.ts b/src/BaseControllerV2.test.ts deleted file mode 100644 index d640db639f..0000000000 --- a/src/BaseControllerV2.test.ts +++ /dev/null @@ -1,805 +0,0 @@ -import type { Draft, Patch } from 'immer'; -import sinon from 'sinon'; - -import { - BaseController, - getAnonymizedState, - getPersistentState, -} from './BaseControllerV2'; -import { - ControllerMessenger, - RestrictedControllerMessenger, -} from './ControllerMessenger'; - -const countControllerName = 'CountController'; - -type CountControllerState = { - count: number; -}; -type CountControllerAction = { - type: `${typeof countControllerName}:getState`; - handler: () => CountControllerState; -}; - -type CountControllerEvent = { - type: `${typeof countControllerName}:stateChange`; - payload: [CountControllerState, Patch[]]; -}; - -const countControllerStateMetadata = { - count: { - persist: true, - anonymous: true, - }, -}; - -type CountMessenger = RestrictedControllerMessenger< - typeof countControllerName, - CountControllerAction, - CountControllerEvent, - never, - never ->; - -/** - * Constructs a restricted controller messenger for the Count controller. - * - * @param controllerMessenger - The controller messenger. - * @returns A restricted controller messenger for the Count controller. - */ -function getCountMessenger( - controllerMessenger?: ControllerMessenger< - CountControllerAction, - CountControllerEvent - >, -): CountMessenger { - if (!controllerMessenger) { - controllerMessenger = new ControllerMessenger< - CountControllerAction, - CountControllerEvent - >(); - } - return controllerMessenger.getRestricted<'CountController', never, never>({ - name: countControllerName, - }); -} - -class CountController extends BaseController< - typeof countControllerName, - CountControllerState, - CountMessenger -> { - update( - callback: ( - state: Draft, - ) => void | CountControllerState, - ) { - super.update(callback); - } - - destroy() { - super.destroy(); - } -} - -describe('BaseController', () => { - afterEach(() => { - sinon.restore(); - }); - - it('should set initial state', () => { - const controller = new CountController({ - messenger: getCountMessenger(), - name: countControllerName, - state: { count: 0 }, - metadata: countControllerStateMetadata, - }); - - expect(controller.state).toStrictEqual({ count: 0 }); - }); - - it('should allow getting state via the getState action', () => { - const controllerMessenger = new ControllerMessenger< - CountControllerAction, - CountControllerEvent - >(); - new CountController({ - messenger: getCountMessenger(controllerMessenger), - name: countControllerName, - state: { count: 0 }, - metadata: countControllerStateMetadata, - }); - - expect(controllerMessenger.call('CountController:getState')).toStrictEqual({ - count: 0, - }); - }); - - it('should set initial schema', () => { - const controller = new CountController({ - messenger: getCountMessenger(), - name: 'CountController', - state: { count: 0 }, - metadata: countControllerStateMetadata, - }); - - expect(controller.metadata).toStrictEqual(countControllerStateMetadata); - }); - - it('should not allow mutating state directly', () => { - const controller = new CountController({ - messenger: getCountMessenger(), - name: 'CountController', - state: { count: 0 }, - metadata: countControllerStateMetadata, - }); - - expect(() => { - controller.state = { count: 1 }; - }).toThrow( - "Controller state cannot be directly mutated; use 'update' method instead.", - ); - }); - - it('should allow updating state by modifying draft', () => { - const controller = new CountController({ - messenger: getCountMessenger(), - name: 'CountController', - state: { count: 0 }, - metadata: countControllerStateMetadata, - }); - - controller.update((draft) => { - draft.count += 1; - }); - - expect(controller.state).toStrictEqual({ count: 1 }); - }); - - it('should allow updating state by return a value', () => { - const controller = new CountController({ - messenger: getCountMessenger(), - name: 'CountController', - state: { count: 0 }, - metadata: countControllerStateMetadata, - }); - - controller.update(() => { - return { count: 1 }; - }); - - expect(controller.state).toStrictEqual({ count: 1 }); - }); - - it('should throw an error if update callback modifies draft and returns value', () => { - const controller = new CountController({ - messenger: getCountMessenger(), - name: 'CountController', - state: { count: 0 }, - metadata: countControllerStateMetadata, - }); - - expect(() => { - controller.update((draft) => { - draft.count += 1; - return { count: 10 }; - }); - }).toThrow( - '[Immer] An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.', - ); - }); - - it('should inform subscribers of state changes', () => { - const controllerMessenger = new ControllerMessenger< - never, - CountControllerEvent - >(); - const controller = new CountController({ - messenger: getCountMessenger(controllerMessenger), - name: 'CountController', - state: { count: 0 }, - metadata: countControllerStateMetadata, - }); - const listener1 = sinon.stub(); - const listener2 = sinon.stub(); - - controllerMessenger.subscribe('CountController:stateChange', listener1); - controllerMessenger.subscribe('CountController:stateChange', listener2); - controller.update(() => { - return { count: 1 }; - }); - - expect(listener1.callCount).toStrictEqual(1); - expect(listener1.firstCall.args).toStrictEqual([ - { count: 1 }, - [{ op: 'replace', path: [], value: { count: 1 } }], - ]); - expect(listener2.callCount).toStrictEqual(1); - expect(listener2.firstCall.args).toStrictEqual([ - { count: 1 }, - [{ op: 'replace', path: [], value: { count: 1 } }], - ]); - }); - - it('should inform a subscriber of each state change once even after multiple subscriptions', () => { - const controllerMessenger = new ControllerMessenger< - never, - CountControllerEvent - >(); - const controller = new CountController({ - messenger: getCountMessenger(controllerMessenger), - name: 'CountController', - state: { count: 0 }, - metadata: countControllerStateMetadata, - }); - const listener1 = sinon.stub(); - - controllerMessenger.subscribe('CountController:stateChange', listener1); - controllerMessenger.subscribe('CountController:stateChange', listener1); - - controller.update(() => { - return { count: 1 }; - }); - - expect(listener1.callCount).toStrictEqual(1); - expect(listener1.firstCall.args).toStrictEqual([ - { count: 1 }, - [{ op: 'replace', path: [], value: { count: 1 } }], - ]); - }); - - it('should no longer inform a subscriber about state changes after unsubscribing', () => { - const controllerMessenger = new ControllerMessenger< - never, - CountControllerEvent - >(); - const controller = new CountController({ - messenger: getCountMessenger(controllerMessenger), - name: 'CountController', - state: { count: 0 }, - metadata: countControllerStateMetadata, - }); - const listener1 = sinon.stub(); - - controllerMessenger.subscribe('CountController:stateChange', listener1); - controllerMessenger.unsubscribe('CountController:stateChange', listener1); - controller.update(() => { - return { count: 1 }; - }); - - expect(listener1.callCount).toStrictEqual(0); - }); - - it('should no longer inform a subscriber about state changes after unsubscribing once, even if they subscribed many times', () => { - const controllerMessenger = new ControllerMessenger< - never, - CountControllerEvent - >(); - const controller = new CountController({ - messenger: getCountMessenger(controllerMessenger), - name: 'CountController', - state: { count: 0 }, - metadata: countControllerStateMetadata, - }); - const listener1 = sinon.stub(); - - controllerMessenger.subscribe('CountController:stateChange', listener1); - controllerMessenger.subscribe('CountController:stateChange', listener1); - controllerMessenger.unsubscribe('CountController:stateChange', listener1); - controller.update(() => { - return { count: 1 }; - }); - - expect(listener1.callCount).toStrictEqual(0); - }); - - it('should throw when unsubscribing listener who was never subscribed', () => { - const controllerMessenger = new ControllerMessenger< - never, - CountControllerEvent - >(); - new CountController({ - messenger: getCountMessenger(controllerMessenger), - name: 'CountController', - state: { count: 0 }, - metadata: countControllerStateMetadata, - }); - const listener1 = sinon.stub(); - - expect(() => { - controllerMessenger.unsubscribe('CountController:stateChange', listener1); - }).toThrow('Subscription not found for event: CountController:stateChange'); - }); - - it('should no longer update subscribers after being destroyed', () => { - const controllerMessenger = new ControllerMessenger< - never, - CountControllerEvent - >(); - const controller = new CountController({ - messenger: getCountMessenger(controllerMessenger), - name: 'CountController', - state: { count: 0 }, - metadata: countControllerStateMetadata, - }); - const listener1 = sinon.stub(); - const listener2 = sinon.stub(); - - controllerMessenger.subscribe('CountController:stateChange', listener1); - controllerMessenger.subscribe('CountController:stateChange', listener2); - controller.destroy(); - controller.update(() => { - return { count: 1 }; - }); - - expect(listener1.callCount).toStrictEqual(0); - expect(listener2.callCount).toStrictEqual(0); - }); -}); - -describe('getAnonymizedState', () => { - it('should return empty state', () => { - expect(getAnonymizedState({}, {})).toStrictEqual({}); - }); - - it('should return empty state when no properties are anonymized', () => { - const anonymizedState = getAnonymizedState( - { count: 1 }, - { count: { anonymous: false, persist: false } }, - ); - expect(anonymizedState).toStrictEqual({}); - }); - - it('should return state that is already anonymized', () => { - const anonymizedState = getAnonymizedState( - { - password: 'secret password', - privateKey: '123', - network: 'mainnet', - tokens: ['DAI', 'USDC'], - }, - { - password: { - anonymous: false, - persist: false, - }, - privateKey: { - anonymous: false, - persist: false, - }, - network: { - anonymous: true, - persist: false, - }, - tokens: { - anonymous: true, - persist: false, - }, - }, - ); - expect(anonymizedState).toStrictEqual({ - network: 'mainnet', - tokens: ['DAI', 'USDC'], - }); - }); - - it('should use anonymizing function to anonymize state', () => { - const anonymizeTransactionHash = (hash: string) => { - return hash.split('').reverse().join(''); - }; - - const anonymizedState = getAnonymizedState( - { - transactionHash: '0x1234', - }, - { - transactionHash: { - anonymous: anonymizeTransactionHash, - persist: false, - }, - }, - ); - - expect(anonymizedState).toStrictEqual({ transactionHash: '4321x0' }); - }); - - it('should allow returning a partial object from an anonymizing function', () => { - const anonymizeTxMeta = (txMeta: { hash: string; value: number }) => { - return { value: txMeta.value }; - }; - - const anonymizedState = getAnonymizedState( - { - txMeta: { - hash: '0x123', - value: 10, - }, - }, - { - txMeta: { - anonymous: anonymizeTxMeta, - persist: false, - }, - }, - ); - - expect(anonymizedState).toStrictEqual({ txMeta: { value: 10 } }); - }); - - it('should allow returning a nested partial object from an anonymizing function', () => { - const anonymizeTxMeta = (txMeta: { - hash: string; - value: number; - history: { hash: string; value: number }[]; - }) => { - return { - history: txMeta.history.map((entry) => { - return { value: entry.value }; - }), - value: txMeta.value, - }; - }; - - const anonymizedState = getAnonymizedState( - { - txMeta: { - hash: '0x123', - history: [ - { - hash: '0x123', - value: 9, - }, - ], - value: 10, - }, - }, - { - txMeta: { - anonymous: anonymizeTxMeta, - persist: false, - }, - }, - ); - - expect(anonymizedState).toStrictEqual({ - txMeta: { history: [{ value: 9 }], value: 10 }, - }); - }); - - it('should allow transforming types in an anonymizing function', () => { - const anonymizedState = getAnonymizedState( - { - count: '1', - }, - { - count: { - anonymous: (count) => Number(count), - persist: false, - }, - }, - ); - - expect(anonymizedState).toStrictEqual({ count: 1 }); - }); -}); - -describe('getPersistentState', () => { - it('should return empty state', () => { - expect(getPersistentState({}, {})).toStrictEqual({}); - }); - - it('should return empty state when no properties are persistent', () => { - const persistentState = getPersistentState( - { count: 1 }, - { count: { anonymous: false, persist: false } }, - ); - expect(persistentState).toStrictEqual({}); - }); - - it('should return persistent state', () => { - const persistentState = getPersistentState( - { - password: 'secret password', - privateKey: '123', - network: 'mainnet', - tokens: ['DAI', 'USDC'], - }, - { - password: { - anonymous: false, - persist: true, - }, - privateKey: { - anonymous: false, - persist: true, - }, - network: { - anonymous: false, - persist: false, - }, - tokens: { - anonymous: false, - persist: false, - }, - }, - ); - expect(persistentState).toStrictEqual({ - password: 'secret password', - privateKey: '123', - }); - }); - - it('should use function to derive persistent state', () => { - const normalizeTransacitonHash = (hash: string) => { - return hash.toLowerCase(); - }; - - const persistentState = getPersistentState( - { - transactionHash: '0X1234', - }, - { - transactionHash: { - anonymous: false, - persist: normalizeTransacitonHash, - }, - }, - ); - - expect(persistentState).toStrictEqual({ transactionHash: '0x1234' }); - }); - - it('should allow returning a partial object from a persist function', () => { - const getPersistentTxMeta = (txMeta: { hash: string; value: number }) => { - return { value: txMeta.value }; - }; - - const persistentState = getPersistentState( - { - txMeta: { - hash: '0x123', - value: 10, - }, - }, - { - txMeta: { - anonymous: false, - persist: getPersistentTxMeta, - }, - }, - ); - - expect(persistentState).toStrictEqual({ txMeta: { value: 10 } }); - }); - - it('should allow returning a nested partial object from a persist function', () => { - const getPersistentTxMeta = (txMeta: { - hash: string; - value: number; - history: { hash: string; value: number }[]; - }) => { - return { - history: txMeta.history.map((entry) => { - return { value: entry.value }; - }), - value: txMeta.value, - }; - }; - - const persistentState = getPersistentState( - { - txMeta: { - hash: '0x123', - history: [ - { - hash: '0x123', - value: 9, - }, - ], - value: 10, - }, - }, - { - txMeta: { - anonymous: false, - persist: getPersistentTxMeta, - }, - }, - ); - - expect(persistentState).toStrictEqual({ - txMeta: { history: [{ value: 9 }], value: 10 }, - }); - }); - - it('should allow transforming types in a persist function', () => { - const persistentState = getPersistentState( - { - count: '1', - }, - { - count: { - anonymous: false, - persist: (count) => Number(count), - }, - }, - ); - - expect(persistentState).toStrictEqual({ count: 1 }); - }); - - describe('inter-controller communication', () => { - // These two contrived mock controllers are setup to test with. - // The 'VisitorController' records strings that represent visitors. - // The 'VisitorOverflowController' monitors the 'VisitorController' to ensure the number of - // visitors doesn't exceed the maximum capacity. If it does, it will clear out all visitors. - - const visitorName = 'VisitorController'; - - type VisitorControllerState = { - visitors: string[]; - }; - type VisitorControllerAction = { - type: `${typeof visitorName}:clear`; - handler: () => void; - }; - type VisitorControllerEvent = { - type: `${typeof visitorName}:stateChange`; - payload: [VisitorControllerState, Patch[]]; - }; - - const visitorControllerStateMetadata = { - visitors: { - persist: true, - anonymous: true, - }, - }; - - type VisitorMessenger = RestrictedControllerMessenger< - typeof visitorName, - VisitorControllerAction | VisitorOverflowControllerAction, - VisitorControllerEvent | VisitorOverflowControllerEvent, - never, - never - >; - class VisitorController extends BaseController< - typeof visitorName, - VisitorControllerState, - VisitorMessenger - > { - constructor(messagingSystem: VisitorMessenger) { - super({ - messenger: messagingSystem, - metadata: visitorControllerStateMetadata, - name: visitorName, - state: { visitors: [] }, - }); - - messagingSystem.registerActionHandler( - 'VisitorController:clear', - this.clear, - ); - } - - clear = () => { - this.update(() => { - return { visitors: [] }; - }); - }; - - addVisitor(visitor: string) { - this.update(({ visitors }) => { - return { visitors: [...visitors, visitor] }; - }); - } - - destroy() { - super.destroy(); - } - } - - const visitorOverflowName = 'VisitorOverflowController'; - - type VisitorOverflowControllerState = { - maxVisitors: number; - }; - type VisitorOverflowControllerAction = { - type: `${typeof visitorOverflowName}:updateMax`; - handler: (max: number) => void; - }; - type VisitorOverflowControllerEvent = { - type: `${typeof visitorOverflowName}:stateChange`; - payload: [VisitorOverflowControllerState, Patch[]]; - }; - - const visitorOverflowControllerMetadata = { - maxVisitors: { - persist: false, - anonymous: true, - }, - }; - - type VisitorOverflowMessenger = RestrictedControllerMessenger< - typeof visitorOverflowName, - VisitorControllerAction | VisitorOverflowControllerAction, - VisitorControllerEvent | VisitorOverflowControllerEvent, - `${typeof visitorName}:clear`, - `${typeof visitorName}:stateChange` - >; - - class VisitorOverflowController extends BaseController< - typeof visitorOverflowName, - VisitorOverflowControllerState, - VisitorOverflowMessenger - > { - constructor(messagingSystem: VisitorOverflowMessenger) { - super({ - messenger: messagingSystem, - metadata: visitorOverflowControllerMetadata, - name: visitorOverflowName, - state: { maxVisitors: 5 }, - }); - - messagingSystem.registerActionHandler( - 'VisitorOverflowController:updateMax', - this.updateMax, - ); - - messagingSystem.subscribe( - 'VisitorController:stateChange', - this.onVisit, - ); - } - - onVisit = ({ visitors }: VisitorControllerState) => { - if (visitors.length > this.state.maxVisitors) { - this.messagingSystem.call('VisitorController:clear'); - } - }; - - updateMax = (max: number) => { - this.update(() => { - return { maxVisitors: max }; - }); - }; - - destroy() { - super.destroy(); - } - } - - it('should allow messaging between controllers', () => { - const controllerMessenger = new ControllerMessenger< - VisitorControllerAction | VisitorOverflowControllerAction, - VisitorControllerEvent | VisitorOverflowControllerEvent - >(); - const visitorControllerMessenger = controllerMessenger.getRestricted< - typeof visitorName, - never, - never - >({ - name: visitorName, - }); - const visitorController = new VisitorController( - visitorControllerMessenger, - ); - const visitorOverflowControllerMessenger = - controllerMessenger.getRestricted({ - name: visitorOverflowName, - allowedActions: ['VisitorController:clear'], - allowedEvents: ['VisitorController:stateChange'], - }); - const visitorOverflowController = new VisitorOverflowController( - visitorOverflowControllerMessenger, - ); - - controllerMessenger.call('VisitorOverflowController:updateMax', 2); - visitorController.addVisitor('A'); - visitorController.addVisitor('B'); - visitorController.addVisitor('C'); // this should trigger an overflow - - expect(visitorOverflowController.state.maxVisitors).toStrictEqual(2); - expect(visitorController.state.visitors).toHaveLength(0); - }); - }); -}); diff --git a/src/BaseControllerV2.ts b/src/BaseControllerV2.ts deleted file mode 100644 index 3ec72970b1..0000000000 --- a/src/BaseControllerV2.ts +++ /dev/null @@ -1,248 +0,0 @@ -import { enablePatches, produceWithPatches } from 'immer'; - -// Imported separately because only the type is used -// eslint-disable-next-line no-duplicate-imports -import type { Draft, Patch } from 'immer'; - -import type { - RestrictedControllerMessenger, - Namespaced, -} from './ControllerMessenger'; - -enablePatches(); - -/** - * A state change listener. - * - * This function will get called for each state change, and is given a copy of - * the new state along with a set of patches describing the changes since the - * last update. - * - * @param state - The new controller state. - * @param patches - A list of patches describing any changes (see here for more - * information: https://immerjs.github.io/immer/docs/patches) - */ -export type Listener = (state: T, patches: Patch[]) => void; - -/** - * An function to derive state. - * - * This function will accept one piece of the controller state (one property), - * and will return some derivation of that state. - * - * @param value - A piece of controller state. - * @returns Something derived from controller state. - */ -export type StateDeriver = (value: T) => Json; - -/** - * State metadata. - * - * This metadata describes which parts of state should be persisted, and how to - * get an anonymized representation of the state. - */ -export type StateMetadata> = { - [P in keyof T]: StatePropertyMetadata; -}; - -/** - * Metadata for a single state property - * - * @property persist - Indicates whether this property should be persisted - * (`true` for persistent, `false` for transient), or is set to a function - * that derives the persistent state from the state. - * @property anonymous - Indicates whether this property is already anonymous, - * (`true` for anonymous, `false` if it has potential to be personally - * identifiable), or is set to a function that returns an anonymized - * representation of this state. - */ -export interface StatePropertyMetadata { - persist: boolean | StateDeriver; - anonymous: boolean | StateDeriver; -} - -export type Json = - | null - | boolean - | number - | string - | Json[] - | { [prop: string]: Json }; - -/** - * Controller class that provides state management, subscriptions, and state metadata - */ -export class BaseController< - N extends string, - S extends Record, - messenger extends RestrictedControllerMessenger, -> { - private internalState: S; - - protected messagingSystem: messenger; - - /** - * The name of the controller. - * - * This is used by the ComposableController to construct a composed application state. - */ - public readonly name: N; - - public readonly metadata: StateMetadata; - - /** - * The existence of the `subscribe` property is how the ComposableController detects whether a - * controller extends the old BaseController or the new one. We set it to `undefined` here to - * ensure the ComposableController never mistakes them for an older style controller. - */ - public readonly subscribe: undefined; - - /** - * Creates a BaseController instance. - * - * @param options - Controller options. - * @param options.messenger - Controller messaging system. - * @param options.metadata - State metadata, describing how to "anonymize" the state, and which - * parts should be persisted. - * @param options.name - The name of the controller, used as a namespace for events and actions. - * @param options.state - Initial controller state. - */ - constructor({ - messenger, - metadata, - name, - state, - }: { - messenger: messenger; - metadata: StateMetadata; - name: N; - state: S; - }) { - this.messagingSystem = messenger; - this.name = name; - this.internalState = state; - this.metadata = metadata; - - this.messagingSystem.registerActionHandler( - `${name}:getState`, - () => this.state, - ); - } - - /** - * Retrieves current controller state. - * - * @returns The current state. - */ - get state() { - return this.internalState; - } - - set state(_) { - throw new Error( - `Controller state cannot be directly mutated; use 'update' method instead.`, - ); - } - - /** - * Updates controller state. Accepts a callback that is passed a draft copy - * of the controller state. If a value is returned, it is set as the new - * state. Otherwise, any changes made within that callback to the draft are - * applied to the controller state. - * - * @param callback - Callback for updating state, passed a draft state - * object. Return a new state object or mutate the draft to update state. - */ - protected update(callback: (state: Draft) => void | S) { - // We run into ts2589, "infinite type depth", if we don't cast - // produceWithPatches here. - // The final, omitted member of the returned tuple are the inverse patches. - const [nextState, patches] = ( - produceWithPatches as unknown as ( - state: S, - cb: typeof callback, - ) => [S, Patch[], Patch[]] - )(this.internalState, callback); - - this.internalState = nextState; - this.messagingSystem.publish( - `${this.name}:stateChange` as Namespaced, - nextState, - patches, - ); - } - - /** - * Prepares the controller for garbage collection. This should be extended - * by any subclasses to clean up any additional connections or events. - * - * The only cleanup performed here is to remove listeners. While technically - * this is not required to ensure this instance is garbage collected, it at - * least ensures this instance won't be responsible for preventing the - * listeners from being garbage collected. - */ - protected destroy() { - this.messagingSystem.clearEventSubscriptions( - `${this.name}:stateChange` as Namespaced, - ); - } -} - -/** - * Returns an anonymized representation of the controller state. - * - * By "anonymized" we mean that it should not contain any information that could be personally - * identifiable. - * - * @param state - The controller state. - * @param metadata - The controller state metadata, which describes how to derive the - * anonymized state. - * @returns The anonymized controller state. - */ -export function getAnonymizedState>( - state: S, - metadata: StateMetadata, -): Record { - return deriveStateFromMetadata(state, metadata, 'anonymous'); -} - -/** - * Returns the subset of state that should be persisted. - * - * @param state - The controller state. - * @param metadata - The controller state metadata, which describes which pieces of state should be persisted. - * @returns The subset of controller state that should be persisted. - */ -export function getPersistentState>( - state: S, - metadata: StateMetadata, -): Record { - return deriveStateFromMetadata(state, metadata, 'persist'); -} - -/** - * Use the metadata to derive state according to the given metadata property. - * - * @param state - The full controller state. - * @param metadata - The controller metadata. - * @param metadataProperty - The metadata property to use to derive state. - * @returns The metadata-derived controller state. - */ -function deriveStateFromMetadata>( - state: S, - metadata: StateMetadata, - metadataProperty: 'anonymous' | 'persist', -): Record { - return Object.keys(state).reduce((persistedState, key) => { - const propertyMetadata = metadata[key as keyof S][metadataProperty]; - const stateProperty = state[key]; - if (typeof propertyMetadata === 'function') { - persistedState[key as string] = propertyMetadata( - stateProperty as S[keyof S], - ); - } else if (propertyMetadata) { - persistedState[key as string] = stateProperty; - } - return persistedState; - }, {} as Record); -} diff --git a/src/ControllerMessenger.test.ts b/src/ControllerMessenger.test.ts deleted file mode 100644 index 55759315d3..0000000000 --- a/src/ControllerMessenger.test.ts +++ /dev/null @@ -1,1099 +0,0 @@ -import type { Patch } from 'immer'; -import sinon from 'sinon'; - -import { ControllerMessenger } from './ControllerMessenger'; - -describe('ControllerMessenger', () => { - afterEach(() => { - sinon.restore(); - }); - - it('should allow registering and calling an action handler', () => { - type CountAction = { type: 'count'; handler: (increment: number) => void }; - const controllerMessenger = new ControllerMessenger(); - - let count = 0; - controllerMessenger.registerActionHandler('count', (increment: number) => { - count += increment; - }); - controllerMessenger.call('count', 1); - - expect(count).toStrictEqual(1); - }); - - it('should allow registering and calling multiple different action handlers', () => { - // These 'Other' types are included to demonstrate that controller messenger - // generics can indeed be unions of actions and events from different - // controllers. - type GetOtherState = { - type: `OtherController:getState`; - handler: () => { stuff: string }; - }; - - type OtherStateChange = { - type: `OtherController:stateChange`; - payload: [{ stuff: string }, Patch[]]; - }; - - type MessageAction = - | { type: 'concat'; handler: (message: string) => void } - | { type: 'reset'; handler: (initialMessage: string) => void }; - const controllerMessenger = new ControllerMessenger< - MessageAction | GetOtherState, - OtherStateChange - >(); - - let message = ''; - controllerMessenger.registerActionHandler( - 'reset', - (initialMessage: string) => { - message = initialMessage; - }, - ); - - controllerMessenger.registerActionHandler('concat', (s: string) => { - message += s; - }); - - controllerMessenger.call('reset', 'hello'); - controllerMessenger.call('concat', ', world'); - - expect(message).toStrictEqual('hello, world'); - }); - - it('should allow registering and calling an action handler with no parameters', () => { - type IncrementAction = { type: 'increment'; handler: () => void }; - const controllerMessenger = new ControllerMessenger< - IncrementAction, - never - >(); - - let count = 0; - controllerMessenger.registerActionHandler('increment', () => { - count += 1; - }); - controllerMessenger.call('increment'); - - expect(count).toStrictEqual(1); - }); - - it('should allow registering and calling an action handler with multiple parameters', () => { - type MessageAction = { - type: 'message'; - handler: (to: string, message: string) => void; - }; - const controllerMessenger = new ControllerMessenger(); - - const messages: Record = {}; - controllerMessenger.registerActionHandler('message', (to, message) => { - messages[to] = message; - }); - controllerMessenger.call('message', '0x123', 'hello'); - - expect(messages['0x123']).toStrictEqual('hello'); - }); - - it('should allow registering and calling an action handler with a return value', () => { - type AddAction = { type: 'add'; handler: (a: number, b: number) => number }; - const controllerMessenger = new ControllerMessenger(); - - controllerMessenger.registerActionHandler('add', (a, b) => { - return a + b; - }); - const result = controllerMessenger.call('add', 5, 10); - - expect(result).toStrictEqual(15); - }); - - it('should not allow registering multiple action handlers under the same name', () => { - type PingAction = { type: 'ping'; handler: () => void }; - const controllerMessenger = new ControllerMessenger(); - - controllerMessenger.registerActionHandler('ping', () => undefined); - - expect(() => { - controllerMessenger.registerActionHandler('ping', () => undefined); - }).toThrow('A handler for ping has already been registered'); - }); - - it('should throw when calling unregistered action', () => { - type PingAction = { type: 'ping'; handler: () => void }; - const controllerMessenger = new ControllerMessenger(); - - expect(() => { - controllerMessenger.call('ping'); - }).toThrow('A handler for ping has not been registered'); - }); - - it('should throw when calling an action that has been unregistered', () => { - type PingAction = { type: 'ping'; handler: () => void }; - const controllerMessenger = new ControllerMessenger(); - - expect(() => { - controllerMessenger.call('ping'); - }).toThrow('A handler for ping has not been registered'); - - let pingCount = 0; - controllerMessenger.registerActionHandler('ping', () => { - pingCount += 1; - }); - - controllerMessenger.unregisterActionHandler('ping'); - - expect(() => { - controllerMessenger.call('ping'); - }).toThrow('A handler for ping has not been registered'); - expect(pingCount).toStrictEqual(0); - }); - - it('should throw when calling an action after actions have been reset', () => { - type PingAction = { type: 'ping'; handler: () => void }; - const controllerMessenger = new ControllerMessenger(); - - expect(() => { - controllerMessenger.call('ping'); - }).toThrow('A handler for ping has not been registered'); - - let pingCount = 0; - controllerMessenger.registerActionHandler('ping', () => { - pingCount += 1; - }); - - controllerMessenger.clearActions(); - - expect(() => { - controllerMessenger.call('ping'); - }).toThrow('A handler for ping has not been registered'); - expect(pingCount).toStrictEqual(0); - }); - - it('should publish event to subscriber', () => { - type MessageEvent = { type: 'message'; payload: [string] }; - const controllerMessenger = new ControllerMessenger(); - - const handler = sinon.stub(); - controllerMessenger.subscribe('message', handler); - controllerMessenger.publish('message', 'hello'); - - expect(handler.calledWithExactly('hello')).toStrictEqual(true); - expect(handler.callCount).toStrictEqual(1); - }); - - it('should allow publishing multiple different events to subscriber', () => { - type MessageEvent = - | { type: 'message'; payload: [string] } - | { type: 'ping'; payload: [] }; - const controllerMessenger = new ControllerMessenger(); - - const messageHandler = sinon.stub(); - const pingHandler = sinon.stub(); - controllerMessenger.subscribe('message', messageHandler); - controllerMessenger.subscribe('ping', pingHandler); - - controllerMessenger.publish('message', 'hello'); - controllerMessenger.publish('ping'); - - expect(messageHandler.calledWithExactly('hello')).toStrictEqual(true); - expect(messageHandler.callCount).toStrictEqual(1); - expect(pingHandler.calledWithExactly()).toStrictEqual(true); - expect(pingHandler.callCount).toStrictEqual(1); - }); - - it('should publish event with no payload to subscriber', () => { - type PingEvent = { type: 'ping'; payload: [] }; - const controllerMessenger = new ControllerMessenger(); - - const handler = sinon.stub(); - controllerMessenger.subscribe('ping', handler); - controllerMessenger.publish('ping'); - - expect(handler.calledWithExactly()).toStrictEqual(true); - expect(handler.callCount).toStrictEqual(1); - }); - - it('should publish event with multiple payload parameters to subscriber', () => { - type MessageEvent = { type: 'message'; payload: [string, string] }; - const controllerMessenger = new ControllerMessenger(); - - const handler = sinon.stub(); - controllerMessenger.subscribe('message', handler); - controllerMessenger.publish('message', 'hello', 'there'); - - expect(handler.calledWithExactly('hello', 'there')).toStrictEqual(true); - expect(handler.callCount).toStrictEqual(1); - }); - - it('should publish event once to subscriber even if subscribed multiple times', () => { - type MessageEvent = { type: 'message'; payload: [string] }; - const controllerMessenger = new ControllerMessenger(); - - const handler = sinon.stub(); - controllerMessenger.subscribe('message', handler); - controllerMessenger.subscribe('message', handler); - controllerMessenger.publish('message', 'hello'); - - expect(handler.calledWithExactly('hello')).toStrictEqual(true); - expect(handler.callCount).toStrictEqual(1); - }); - - it('should publish event to many subscribers', () => { - type MessageEvent = { type: 'message'; payload: [string] }; - const controllerMessenger = new ControllerMessenger(); - - const handler1 = sinon.stub(); - const handler2 = sinon.stub(); - controllerMessenger.subscribe('message', handler1); - controllerMessenger.subscribe('message', handler2); - controllerMessenger.publish('message', 'hello'); - - expect(handler1.calledWithExactly('hello')).toStrictEqual(true); - expect(handler1.callCount).toStrictEqual(1); - expect(handler2.calledWithExactly('hello')).toStrictEqual(true); - expect(handler2.callCount).toStrictEqual(1); - }); - - it('should publish event with selector to subscriber', () => { - type MessageEvent = { - type: 'complexMessage'; - payload: [Record]; - }; - const controllerMessenger = new ControllerMessenger(); - - const handler = sinon.stub(); - const selector = sinon.fake((obj: Record) => obj.prop1); - controllerMessenger.subscribe('complexMessage', handler, selector); - controllerMessenger.publish('complexMessage', { prop1: 'a', prop2: 'b' }); - - expect(handler.calledWithExactly('a', undefined)).toStrictEqual(true); - expect(handler.callCount).toStrictEqual(1); - expect( - selector.calledWithExactly({ prop1: 'a', prop2: 'b' }), - ).toStrictEqual(true); - expect(selector.callCount).toStrictEqual(1); - }); - - it('should call selector event handler with previous selector return value', () => { - type MessageEvent = { - type: 'complexMessage'; - payload: [Record]; - }; - const controllerMessenger = new ControllerMessenger(); - - const handler = sinon.stub(); - const selector = sinon.fake((obj: Record) => obj.prop1); - controllerMessenger.subscribe('complexMessage', handler, selector); - controllerMessenger.publish('complexMessage', { prop1: 'a', prop2: 'b' }); - controllerMessenger.publish('complexMessage', { prop1: 'z', prop2: 'b' }); - - expect(handler.getCall(0).calledWithExactly('a', undefined)).toStrictEqual( - true, - ); - expect(handler.getCall(1).calledWithExactly('z', 'a')).toStrictEqual(true); - expect(handler.callCount).toStrictEqual(2); - expect( - selector.getCall(0).calledWithExactly({ prop1: 'a', prop2: 'b' }), - ).toStrictEqual(true); - - expect( - selector.getCall(1).calledWithExactly({ prop1: 'z', prop2: 'b' }), - ).toStrictEqual(true); - expect(selector.callCount).toStrictEqual(2); - }); - - it('should not publish event with selector if selector return value is unchanged', () => { - type MessageEvent = { - type: 'complexMessage'; - payload: [Record]; - }; - const controllerMessenger = new ControllerMessenger(); - - const handler = sinon.stub(); - const selector = sinon.fake((obj: Record) => obj.prop1); - controllerMessenger.subscribe('complexMessage', handler, selector); - controllerMessenger.publish('complexMessage', { prop1: 'a', prop2: 'b' }); - controllerMessenger.publish('complexMessage', { prop1: 'a', prop3: 'c' }); - - expect(handler.calledWithExactly('a', undefined)).toStrictEqual(true); - expect(handler.callCount).toStrictEqual(1); - expect( - selector.getCall(0).calledWithExactly({ prop1: 'a', prop2: 'b' }), - ).toStrictEqual(true); - - expect( - selector.getCall(1).calledWithExactly({ prop1: 'a', prop3: 'c' }), - ).toStrictEqual(true); - expect(selector.callCount).toStrictEqual(2); - }); - - it('should publish event to many subscribers with the same selector', () => { - type MessageEvent = { - type: 'complexMessage'; - payload: [Record]; - }; - const controllerMessenger = new ControllerMessenger(); - - const handler1 = sinon.stub(); - const handler2 = sinon.stub(); - const selector = sinon.fake((obj: Record) => obj.prop1); - controllerMessenger.subscribe('complexMessage', handler1, selector); - controllerMessenger.subscribe('complexMessage', handler2, selector); - controllerMessenger.publish('complexMessage', { prop1: 'a', prop2: 'b' }); - controllerMessenger.publish('complexMessage', { prop1: 'a', prop3: 'c' }); - - expect(handler1.calledWithExactly('a', undefined)).toStrictEqual(true); - expect(handler1.callCount).toStrictEqual(1); - expect(handler2.calledWithExactly('a', undefined)).toStrictEqual(true); - expect(handler2.callCount).toStrictEqual(1); - expect( - selector.getCall(0).calledWithExactly({ prop1: 'a', prop2: 'b' }), - ).toStrictEqual(true); - - expect( - selector.getCall(1).calledWithExactly({ prop1: 'a', prop2: 'b' }), - ).toStrictEqual(true); - - expect( - selector.getCall(2).calledWithExactly({ prop1: 'a', prop3: 'c' }), - ).toStrictEqual(true); - - expect( - selector.getCall(3).calledWithExactly({ prop1: 'a', prop3: 'c' }), - ).toStrictEqual(true); - expect(selector.callCount).toStrictEqual(4); - }); - - it('should not call subscriber after unsubscribing', () => { - type MessageEvent = { type: 'message'; payload: [string] }; - const controllerMessenger = new ControllerMessenger(); - - const handler = sinon.stub(); - controllerMessenger.subscribe('message', handler); - controllerMessenger.unsubscribe('message', handler); - controllerMessenger.publish('message', 'hello'); - - expect(handler.callCount).toStrictEqual(0); - }); - - it('should not call subscriber with selector after unsubscribing', () => { - type MessageEvent = { - type: 'complexMessage'; - payload: [Record]; - }; - const controllerMessenger = new ControllerMessenger(); - - const handler = sinon.stub(); - const selector = sinon.fake((obj: Record) => obj.prop1); - controllerMessenger.subscribe('complexMessage', handler, selector); - controllerMessenger.unsubscribe('complexMessage', handler); - controllerMessenger.publish('complexMessage', { prop1: 'a', prop2: 'b' }); - - expect(handler.callCount).toStrictEqual(0); - expect(selector.callCount).toStrictEqual(0); - }); - - it('should throw when unsubscribing when there are no subscriptions', () => { - type MessageEvent = { type: 'message'; payload: [string] }; - const controllerMessenger = new ControllerMessenger(); - - const handler = sinon.stub(); - expect(() => controllerMessenger.unsubscribe('message', handler)).toThrow( - 'Subscription not found for event: message', - ); - }); - - it('should throw when unsubscribing a handler that is not subscribed', () => { - type MessageEvent = { type: 'message'; payload: [string] }; - const controllerMessenger = new ControllerMessenger(); - - const handler1 = sinon.stub(); - const handler2 = sinon.stub(); - controllerMessenger.subscribe('message', handler1); - - expect(() => controllerMessenger.unsubscribe('message', handler2)).toThrow( - 'Subscription not found for event: message', - ); - }); - - it('should not call subscriber after clearing event subscriptions', () => { - type MessageEvent = { type: 'message'; payload: [string] }; - const controllerMessenger = new ControllerMessenger(); - - const handler = sinon.stub(); - controllerMessenger.subscribe('message', handler); - controllerMessenger.clearEventSubscriptions('message'); - controllerMessenger.publish('message', 'hello'); - - expect(handler.callCount).toStrictEqual(0); - }); - - it('should not throw when clearing event that has no subscriptions', () => { - type MessageEvent = { type: 'message'; payload: [string] }; - const controllerMessenger = new ControllerMessenger(); - - expect(() => - controllerMessenger.clearEventSubscriptions('message'), - ).not.toThrow(); - }); - - it('should not call subscriber after resetting subscriptions', () => { - type MessageEvent = { type: 'message'; payload: [string] }; - const controllerMessenger = new ControllerMessenger(); - - const handler = sinon.stub(); - controllerMessenger.subscribe('message', handler); - controllerMessenger.clearSubscriptions(); - controllerMessenger.publish('message', 'hello'); - - expect(handler.callCount).toStrictEqual(0); - }); -}); - -describe('RestrictedControllerMessenger', () => { - it('should allow registering and calling an action handler', () => { - type CountAction = { - type: 'CountController:count'; - handler: (increment: number) => void; - }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'CountController', - allowedActions: ['CountController:count'], - }); - - let count = 0; - restrictedControllerMessenger.registerActionHandler( - 'CountController:count', - (increment: number) => { - count += increment; - }, - ); - restrictedControllerMessenger.call('CountController:count', 1); - - expect(count).toStrictEqual(1); - }); - - it('should allow registering and calling multiple different action handlers', () => { - type MessageAction = - | { type: 'MessageController:concat'; handler: (message: string) => void } - | { - type: 'MessageController:reset'; - handler: (initialMessage: string) => void; - }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedActions: ['MessageController:reset', 'MessageController:concat'], - }); - - let message = ''; - restrictedControllerMessenger.registerActionHandler( - 'MessageController:reset', - (initialMessage: string) => { - message = initialMessage; - }, - ); - - restrictedControllerMessenger.registerActionHandler( - 'MessageController:concat', - (s: string) => { - message += s; - }, - ); - - restrictedControllerMessenger.call('MessageController:reset', 'hello'); - restrictedControllerMessenger.call('MessageController:concat', ', world'); - - expect(message).toStrictEqual('hello, world'); - }); - - it('should allow registering and calling an action handler with no parameters', () => { - type IncrementAction = { - type: 'CountController:increment'; - handler: () => void; - }; - const controllerMessenger = new ControllerMessenger< - IncrementAction, - never - >(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'CountController', - allowedActions: ['CountController:increment'], - }); - - let count = 0; - restrictedControllerMessenger.registerActionHandler( - 'CountController:increment', - () => { - count += 1; - }, - ); - restrictedControllerMessenger.call('CountController:increment'); - - expect(count).toStrictEqual(1); - }); - - it('should allow registering and calling an action handler with multiple parameters', () => { - type MessageAction = { - type: 'MessageController:message'; - handler: (to: string, message: string) => void; - }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedActions: ['MessageController:message'], - }); - - const messages: Record = {}; - restrictedControllerMessenger.registerActionHandler( - 'MessageController:message', - (to, message) => { - messages[to] = message; - }, - ); - - restrictedControllerMessenger.call( - 'MessageController:message', - '0x123', - 'hello', - ); - - expect(messages['0x123']).toStrictEqual('hello'); - }); - - it('should allow registering and calling an action handler with a return value', () => { - type AddAction = { - type: 'MathController:add'; - handler: (a: number, b: number) => number; - }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'MathController', - allowedActions: ['MathController:add'], - }); - - restrictedControllerMessenger.registerActionHandler( - 'MathController:add', - (a, b) => { - return a + b; - }, - ); - const result = restrictedControllerMessenger.call( - 'MathController:add', - 5, - 10, - ); - - expect(result).toStrictEqual(15); - }); - - it('should not allow registering multiple action handlers under the same name', () => { - type CountAction = { type: 'PingController:ping'; handler: () => void }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'PingController', - allowedActions: ['PingController:ping'], - }); - - restrictedControllerMessenger.registerActionHandler( - 'PingController:ping', - () => undefined, - ); - - expect(() => { - restrictedControllerMessenger.registerActionHandler( - 'PingController:ping', - () => undefined, - ); - }).toThrow('A handler for PingController:ping has already been registered'); - }); - - it('should throw when calling unregistered action', () => { - type CountAction = { type: 'PingController:ping'; handler: () => void }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'PingController', - allowedActions: ['PingController:ping'], - }); - - expect(() => { - restrictedControllerMessenger.call('PingController:ping'); - }).toThrow('A handler for PingController:ping has not been registered'); - }); - - it('should throw when calling an action that has been unregistered', () => { - type PingAction = { type: 'PingController:ping'; handler: () => void }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'PingController', - allowedActions: ['PingController:ping'], - }); - - expect(() => { - restrictedControllerMessenger.call('PingController:ping'); - }).toThrow('A handler for PingController:ping has not been registered'); - - let pingCount = 0; - restrictedControllerMessenger.registerActionHandler( - 'PingController:ping', - () => { - pingCount += 1; - }, - ); - - restrictedControllerMessenger.unregisterActionHandler( - 'PingController:ping', - ); - - expect(() => { - restrictedControllerMessenger.call('PingController:ping'); - }).toThrow('A handler for PingController:ping has not been registered'); - expect(pingCount).toStrictEqual(0); - }); - - it('should publish event to subscriber', () => { - type MessageEvent = { - type: 'MessageController:message'; - payload: [string]; - }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedEvents: ['MessageController:message'], - }); - - const handler = sinon.stub(); - restrictedControllerMessenger.subscribe( - 'MessageController:message', - handler, - ); - restrictedControllerMessenger.publish('MessageController:message', 'hello'); - - expect(handler.calledWithExactly('hello')).toStrictEqual(true); - expect(handler.callCount).toStrictEqual(1); - }); - - it('should publish event with selector to subscriber', () => { - type MessageEvent = { - type: 'MessageController:complexMessage'; - payload: [Record]; - }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedEvents: ['MessageController:complexMessage'], - }); - - const handler = sinon.stub(); - const selector = sinon.fake((obj: Record) => obj.prop1); - restrictedControllerMessenger.subscribe( - 'MessageController:complexMessage', - handler, - selector, - ); - - restrictedControllerMessenger.publish('MessageController:complexMessage', { - prop1: 'a', - prop2: 'b', - }); - - expect(handler.calledWithExactly('a', undefined)).toStrictEqual(true); - expect(handler.callCount).toStrictEqual(1); - expect( - selector.calledWithExactly({ prop1: 'a', prop2: 'b' }), - ).toStrictEqual(true); - expect(selector.callCount).toStrictEqual(1); - }); - - it('should allow publishing multiple different events to subscriber', () => { - type MessageEvent = - | { type: 'MessageController:message'; payload: [string] } - | { type: 'MessageController:ping'; payload: [] }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedEvents: ['MessageController:message', 'MessageController:ping'], - }); - - const messageHandler = sinon.stub(); - const pingHandler = sinon.stub(); - restrictedControllerMessenger.subscribe( - 'MessageController:message', - messageHandler, - ); - - restrictedControllerMessenger.subscribe( - 'MessageController:ping', - pingHandler, - ); - - restrictedControllerMessenger.publish('MessageController:message', 'hello'); - restrictedControllerMessenger.publish('MessageController:ping'); - - expect(messageHandler.calledWithExactly('hello')).toStrictEqual(true); - expect(messageHandler.callCount).toStrictEqual(1); - expect(pingHandler.calledWithExactly()).toStrictEqual(true); - expect(pingHandler.callCount).toStrictEqual(1); - }); - - it('should publish event with no payload to subscriber', () => { - type PingEvent = { type: 'PingController:ping'; payload: [] }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'PingController', - allowedEvents: ['PingController:ping'], - }); - - const handler = sinon.stub(); - restrictedControllerMessenger.subscribe('PingController:ping', handler); - restrictedControllerMessenger.publish('PingController:ping'); - - expect(handler.calledWithExactly()).toStrictEqual(true); - expect(handler.callCount).toStrictEqual(1); - }); - - it('should publish event with multiple payload parameters to subscriber', () => { - type MessageEvent = { - type: 'MessageController:message'; - payload: [string, string]; - }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedEvents: ['MessageController:message'], - }); - - const handler = sinon.stub(); - restrictedControllerMessenger.subscribe( - 'MessageController:message', - handler, - ); - - restrictedControllerMessenger.publish( - 'MessageController:message', - 'hello', - 'there', - ); - - expect(handler.calledWithExactly('hello', 'there')).toStrictEqual(true); - expect(handler.callCount).toStrictEqual(1); - }); - - it('should publish event once to subscriber even if subscribed multiple times', () => { - type MessageEvent = { - type: 'MessageController:message'; - payload: [string]; - }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedEvents: ['MessageController:message'], - }); - - const handler = sinon.stub(); - restrictedControllerMessenger.subscribe( - 'MessageController:message', - handler, - ); - - restrictedControllerMessenger.subscribe( - 'MessageController:message', - handler, - ); - restrictedControllerMessenger.publish('MessageController:message', 'hello'); - - expect(handler.calledWithExactly('hello')).toStrictEqual(true); - expect(handler.callCount).toStrictEqual(1); - }); - - it('should publish event to many subscribers', () => { - type MessageEvent = { - type: 'MessageController:message'; - payload: [string]; - }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedEvents: ['MessageController:message'], - }); - - const handler1 = sinon.stub(); - const handler2 = sinon.stub(); - restrictedControllerMessenger.subscribe( - 'MessageController:message', - handler1, - ); - - restrictedControllerMessenger.subscribe( - 'MessageController:message', - handler2, - ); - restrictedControllerMessenger.publish('MessageController:message', 'hello'); - - expect(handler1.calledWithExactly('hello')).toStrictEqual(true); - expect(handler1.callCount).toStrictEqual(1); - expect(handler2.calledWithExactly('hello')).toStrictEqual(true); - expect(handler2.callCount).toStrictEqual(1); - }); - - it('should not call subscriber after unsubscribing', () => { - type MessageEvent = { - type: 'MessageController:message'; - payload: [string]; - }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedEvents: ['MessageController:message'], - }); - - const handler = sinon.stub(); - restrictedControllerMessenger.subscribe( - 'MessageController:message', - handler, - ); - - restrictedControllerMessenger.unsubscribe( - 'MessageController:message', - handler, - ); - restrictedControllerMessenger.publish('MessageController:message', 'hello'); - - expect(handler.callCount).toStrictEqual(0); - }); - - it('should throw when unsubscribing when there are no subscriptions', () => { - type MessageEvent = { - type: 'MessageController:message'; - payload: [string]; - }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedEvents: ['MessageController:message'], - }); - - const handler = sinon.stub(); - expect(() => - restrictedControllerMessenger.unsubscribe( - 'MessageController:message', - handler, - ), - ).toThrow(`Subscription not found for event: MessageController:message`); - }); - - it('should throw when unsubscribing a handler that is not subscribed', () => { - type MessageEvent = { - type: 'MessageController:message'; - payload: [string]; - }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedEvents: ['MessageController:message'], - }); - - const handler1 = sinon.stub(); - const handler2 = sinon.stub(); - restrictedControllerMessenger.subscribe( - 'MessageController:message', - handler1, - ); - - expect(() => - restrictedControllerMessenger.unsubscribe( - 'MessageController:message', - handler2, - ), - ).toThrow(`Subscription not found for event: MessageController:message`); - }); - - it('should not call subscriber after clearing event subscriptions', () => { - type MessageEvent = { - type: 'MessageController:message'; - payload: [string]; - }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedEvents: ['MessageController:message'], - }); - - const handler = sinon.stub(); - restrictedControllerMessenger.subscribe( - 'MessageController:message', - handler, - ); - - restrictedControllerMessenger.clearEventSubscriptions( - 'MessageController:message', - ); - restrictedControllerMessenger.publish('MessageController:message', 'hello'); - - expect(handler.callCount).toStrictEqual(0); - }); - - it('should not throw when clearing event that has no subscriptions', () => { - type MessageEvent = { - type: 'MessageController:message'; - payload: [string]; - }; - const controllerMessenger = new ControllerMessenger(); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedEvents: ['MessageController:message'], - }); - - expect(() => - restrictedControllerMessenger.clearEventSubscriptions( - 'MessageController:message', - ), - ).not.toThrow(); - }); - - it('should allow calling an external action', () => { - type CountAction = { - type: 'CountController:count'; - handler: (increment: number) => void; - }; - const controllerMessenger = new ControllerMessenger(); - const externalRestrictedControllerMessenger = - controllerMessenger.getRestricted({ - name: 'CountController', - }); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'OtherController', - allowedActions: ['CountController:count'], - }); - - let count = 0; - externalRestrictedControllerMessenger.registerActionHandler( - 'CountController:count', - (increment: number) => { - count += increment; - }, - ); - restrictedControllerMessenger.call('CountController:count', 1); - - expect(count).toStrictEqual(1); - }); - - it('should allow subscribing to an external event', () => { - type MessageEvent = { - type: 'MessageController:message'; - payload: [string]; - }; - const controllerMessenger = new ControllerMessenger(); - const externalRestrictedControllerMessenger = - controllerMessenger.getRestricted({ - name: 'MessageController', - }); - const restrictedControllerMessenger = controllerMessenger.getRestricted({ - name: 'OtherController', - allowedEvents: ['MessageController:message'], - }); - - const handler = sinon.stub(); - restrictedControllerMessenger.subscribe( - 'MessageController:message', - handler, - ); - - externalRestrictedControllerMessenger.publish( - 'MessageController:message', - 'hello', - ); - - expect(handler.calledWithExactly('hello')).toStrictEqual(true); - expect(handler.callCount).toStrictEqual(1); - }); - - it('should allow interacting with internal and external actions', () => { - type MessageAction = - | { type: 'MessageController:concat'; handler: (message: string) => void } - | { - type: 'MessageController:reset'; - handler: (initialMessage: string) => void; - }; - type CountAction = { - type: 'CountController:count'; - handler: (increment: number) => void; - }; - const controllerMessenger = new ControllerMessenger< - MessageAction | CountAction, - never - >(); - - const messageControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedActions: ['MessageController:reset', 'CountController:count'], - }); - const countControllerMessenger = controllerMessenger.getRestricted({ - name: 'CountController', - }); - - let count = 0; - countControllerMessenger.registerActionHandler( - 'CountController:count', - (increment: number) => { - count += increment; - }, - ); - - let fullMessage = ''; - messageControllerMessenger.registerActionHandler( - 'MessageController:concat', - (message: string) => { - fullMessage += message; - }, - ); - - messageControllerMessenger.registerActionHandler( - 'MessageController:reset', - (message: string) => { - fullMessage = message; - }, - ); - - messageControllerMessenger.call('MessageController:reset', 'hello'); - messageControllerMessenger.call('CountController:count', 1); - - expect(fullMessage).toStrictEqual('hello'); - expect(count).toStrictEqual(1); - }); - - it('should allow interacting with internal and external events', () => { - type MessageEvent = - | { type: 'MessageController:message'; payload: [string] } - | { type: 'MessageController:ping'; payload: [] }; - type CountEvent = { type: 'CountController:update'; payload: [number] }; - const controllerMessenger = new ControllerMessenger< - never, - MessageEvent | CountEvent - >(); - - const messageControllerMessenger = controllerMessenger.getRestricted({ - name: 'MessageController', - allowedEvents: ['MessageController:ping', 'CountController:update'], - }); - const countControllerMessenger = controllerMessenger.getRestricted({ - name: 'CountController', - }); - - let pings = 0; - messageControllerMessenger.subscribe('MessageController:ping', () => { - pings += 1; - }); - let currentCount; - messageControllerMessenger.subscribe( - 'CountController:update', - (newCount: number) => { - currentCount = newCount; - }, - ); - messageControllerMessenger.publish('MessageController:ping'); - countControllerMessenger.publish('CountController:update', 10); - - expect(pings).toStrictEqual(1); - expect(currentCount).toStrictEqual(10); - }); -}); diff --git a/src/ControllerMessenger.ts b/src/ControllerMessenger.ts deleted file mode 100644 index 1c080b9a7a..0000000000 --- a/src/ControllerMessenger.ts +++ /dev/null @@ -1,627 +0,0 @@ -type ActionHandler = ( - ...args: ExtractActionParameters -) => ExtractActionResponse; -type ExtractActionParameters = Action extends { - type: T; - handler: (...args: infer H) => any; -} - ? H - : never; -type ExtractActionResponse = Action extends { - type: T; - handler: (...args: any) => infer H; -} - ? H - : never; - -type ExtractEventHandler = Event extends { type: T; payload: infer P } - ? P extends unknown[] - ? (...payload: P) => void - : never - : never; -type ExtractEventPayload = Event extends { type: T; payload: infer P } - ? P - : never; - -type GenericEventHandler = (...args: unknown[]) => void; - -type SelectorFunction = ( - ...args: Args -) => ReturnValue; -type SelectorEventHandler = ( - newValue: SelectorReturnValue, - previousValue: SelectorReturnValue | undefined, -) => void; - -export type ActionConstraint = { - type: string; - handler: (...args: any) => unknown; -}; -export type EventConstraint = { type: string; payload: unknown[] }; - -type EventSubscriptionMap = Map< - GenericEventHandler | SelectorEventHandler, - SelectorFunction | undefined ->; - -/** - * A namespaced string - * - * This type verifies that the string T is prefixed by the string Name followed by a colon. - * - * @template Name - The namespace we're checking for. - * @template T - The full string, including the namespace. - */ -export type Namespaced = T extends `${Name}:${string}` - ? T - : never; - -type NarrowToNamespace = T extends { - type: `${Namespace}:${string}`; -} - ? T - : never; - -type NarrowToAllowed = T extends { - type: Allowed; -} - ? T - : never; - -/** - * A restricted controller messenger. - * - * This acts as a wrapper around the controller messenger instance that restricts access to actions - * and events. - * - * @template N - The namespace for this messenger. Typically this is the name of the controller or - * module that this messenger has been created for. The authority to publish events and register - * actions under this namespace is granted to this restricted messenger instance. - * @template Action - A type union of all Action types. - * @template Event - A type union of all Event types. - * @template AllowedAction - A type union of the 'type' string for any allowed actions. - * @template AllowedEvent - A type union of the 'type' string for any allowed events. - */ -export class RestrictedControllerMessenger< - N extends string, - Action extends ActionConstraint, - Event extends EventConstraint, - AllowedAction extends string, - AllowedEvent extends string, -> { - private controllerMessenger: ControllerMessenger< - ActionConstraint, - EventConstraint - >; - - private controllerName: N; - - private allowedActions: AllowedAction[] | null; - - private allowedEvents: AllowedEvent[] | null; - - /** - * Constructs a restricted controller messenger - * - * The provided allowlists grant the ability to call the listed actions and subscribe to the - * listed events. The "name" provided grants ownership of any actions and events under that - * namespace. Ownership allows registering actions and publishing events, as well as - * unregistering actions and clearing event subscriptions. - * - * @param options - The controller options. - * @param options.controllerMessenger - The controller messenger instance that is being wrapped. - * @param options.name - The name of the thing this messenger will be handed to (e.g. the - * controller name). This grants "ownership" of actions and events under this namespace to the - * restricted controller messenger returned. - * @param options.allowedActions - The list of actions that this restricted controller messenger - * should be alowed to call. - * @param options.allowedEvents - The list of events that this restricted controller messenger - * should be allowed to subscribe to. - */ - constructor({ - controllerMessenger, - name, - allowedActions, - allowedEvents, - }: { - controllerMessenger: ControllerMessenger; - name: N; - allowedActions?: AllowedAction[]; - allowedEvents?: AllowedEvent[]; - }) { - this.controllerMessenger = controllerMessenger; - this.controllerName = name; - this.allowedActions = allowedActions || null; - this.allowedEvents = allowedEvents || null; - } - - /** - * Register an action handler. - * - * This will make the registered function available to call via the `call` method. - * - * The action type this handler is registered under *must* be in the current namespace. - * - * @param action - The action type. This is a unqiue identifier for this action. - * @param handler - The action handler. This function gets called when the `call` method is - * invoked with the given action type. - * @throws Will throw when a handler has been registered for this action type already. - * @template T - A type union of Action type strings that are namespaced by N. - */ - registerActionHandler>( - action: T, - handler: ActionHandler, - ) { - /* istanbul ignore if */ // Branch unreachable with valid types - if (!action.startsWith(`${this.controllerName}:`)) { - throw new Error( - `Only allowed registering action handlers prefixed by '${this.controllerName}:'`, - ); - } - this.controllerMessenger.registerActionHandler(action, handler); - } - - /** - * Unregister an action handler. - * - * This will prevent this action from being called. - * - * The action type being unregistered *must* be in the current namespace. - * - * @param action - The action type. This is a unqiue identifier for this action. - * @template T - A type union of Action type strings that are namespaced by N. - */ - unregisterActionHandler>(action: T) { - /* istanbul ignore if */ // Branch unreachable with valid types - if (!action.startsWith(`${this.controllerName}:`)) { - throw new Error( - `Only allowed unregistering action handlers prefixed by '${this.controllerName}:'`, - ); - } - this.controllerMessenger.unregisterActionHandler(action); - } - - /** - * Call an action. - * - * This function will call the action handler corresponding to the given action type, passing - * along any parameters given. - * - * The action type being called must be on the action allowlist. - * - * @param action - The action type. This is a unqiue identifier for this action. - * @param params - The action parameters. These must match the type of the parameters of the - * registered action handler. - * @throws Will throw when no handler has been registered for the given type. - * @template T - A type union of allowed Action type strings. - * @returns The action return value. - */ - call( - action: T, - ...params: ExtractActionParameters - ): ExtractActionResponse { - /* istanbul ignore next */ // Branches unreachable with valid types - if (this.allowedActions === null) { - throw new Error('No actions allowed'); - } else if (!this.allowedActions.includes(action)) { - throw new Error(`Action missing from allow list: ${action}`); - } - return this.controllerMessenger.call(action, ...params); - } - - /** - * Publish an event. - * - * Publishes the given payload to all subscribers of the given event type. - * - * The event type being published *must* be in the current namespace. - * - * @param event - The event type. This is a unique identifier for this event. - * @param payload - The event payload. The type of the parameters for each event handler must - * match the type of this payload. - * @template E - A type union of Event type strings that are namespaced by N. - */ - publish>( - event: E, - ...payload: ExtractEventPayload - ) { - /* istanbul ignore if */ // Branch unreachable with valid types - if (!event.startsWith(`${this.controllerName}:`)) { - throw new Error( - `Only allowed publishing events prefixed by '${this.controllerName}:'`, - ); - } - this.controllerMessenger.publish(event, ...payload); - } - - /** - * Subscribe to an event. - * - * Registers the given function as an event handler for the given event type. - * - * The event type being subscribed to must be on the event allowlist. - * - * @param eventType - The event type. This is a unique identifier for this event. - * @param handler - The event handler. The type of the parameters for this event handler must - * match the type of the payload for this event type. - * @template E - A type union of Event type strings. - */ - subscribe( - eventType: E, - handler: ExtractEventHandler, - ): void; - - /** - * Subscribe to an event, with a selector. - * - * Registers the given handler function as an event handler for the given - * event type. When an event is published, its payload is first passed to the - * selector. The event handler is only called if the selector's return value - * differs from its last known return value. - * - * The event type being subscribed to must be on the event allowlist. - * - * @param eventType - The event type. This is a unique identifier for this event. - * @param handler - The event handler. The type of the parameters for this event - * handler must match the return type of the selector. - * @param selector - The selector function used to select relevant data from - * the event payload. The type of the parameters for this selector must match - * the type of the payload for this event type. - * @template E - A type union of Event type strings. - * @template V - The selector return value. - */ - subscribe( - eventType: E, - handler: SelectorEventHandler, - selector: SelectorFunction, V>, - ): void; - - subscribe( - event: E, - handler: ExtractEventHandler, - selector?: SelectorFunction, V>, - ) { - /* istanbul ignore next */ // Branches unreachable with valid types - if (this.allowedEvents === null) { - throw new Error('No events allowed'); - } else if (!this.allowedEvents.includes(event)) { - throw new Error(`Event missing from allow list: ${event}`); - } - - if (selector) { - return this.controllerMessenger.subscribe(event, handler, selector); - } - return this.controllerMessenger.subscribe(event, handler); - } - - /** - * Unsubscribe from an event. - * - * Unregisters the given function as an event handler for the given event. - * - * The event type being unsubscribed to must be on the event allowlist. - * - * @param event - The event type. This is a unique identifier for this event. - * @param handler - The event handler to unregister. - * @throws Will throw when the given event handler is not registered for this event. - * @template T - A type union of allowed Event type strings. - */ - unsubscribe( - event: E, - handler: ExtractEventHandler, - ) { - /* istanbul ignore next */ // Branches unreachable with valid types - if (this.allowedEvents === null) { - throw new Error('No events allowed'); - } else if (!this.allowedEvents.includes(event)) { - throw new Error(`Event missing from allow list: ${event}`); - } - this.controllerMessenger.unsubscribe(event, handler); - } - - /** - * Clear subscriptions for a specific event. - * - * This will remove all subscribed handlers for this event. - * - * The event type being cleared *must* be in the current namespace. - * - * @param event - The event type. This is a unique identifier for this event. - * @template E - A type union of Event type strings that are namespaced by N. - */ - clearEventSubscriptions>(event: E) { - /* istanbul ignore if */ // Branch unreachable with valid types - if (!event.startsWith(`${this.controllerName}:`)) { - throw new Error( - `Only allowed clearing events prefixed by '${this.controllerName}:'`, - ); - } - this.controllerMessenger.clearEventSubscriptions(event); - } -} - -/** - * A messaging system for controllers. - * - * The controller messenger allows registering functions as 'actions' that can be called elsewhere, - * and it allows publishing and subscribing to events. Both actions and events are identified by - * unique strings. - * - * @template Action - A type union of all Action types. - * @template Event - A type union of all Event types. - */ -export class ControllerMessenger< - Action extends ActionConstraint, - Event extends EventConstraint, -> { - private actions = new Map(); - - private events = new Map(); - - /** - * A cache of selector return values for their respective handlers. - */ - private eventPayloadCache = new Map< - GenericEventHandler, - unknown | undefined - >(); - - /** - * Register an action handler. - * - * This will make the registered function available to call via the `call` method. - * - * @param actionType - The action type. This is a unqiue identifier for this action. - * @param handler - The action handler. This function gets called when the `call` method is - * invoked with the given action type. - * @throws Will throw when a handler has been registered for this action type already. - * @template T - A type union of Action type strings. - */ - registerActionHandler( - actionType: T, - handler: ActionHandler, - ) { - if (this.actions.has(actionType)) { - throw new Error( - `A handler for ${actionType} has already been registered`, - ); - } - this.actions.set(actionType, handler); - } - - /** - * Unregister an action handler. - * - * This will prevent this action from being called. - * - * @param actionType - The action type. This is a unqiue identifier for this action. - * @template T - A type union of Action type strings. - */ - unregisterActionHandler(actionType: T) { - this.actions.delete(actionType); - } - - /** - * Unregister all action handlers. - * - * This prevents all actions from being called. - */ - clearActions() { - this.actions.clear(); - } - - /** - * Call an action. - * - * This function will call the action handler corresponding to the given action type, passing - * along any parameters given. - * - * @param actionType - The action type. This is a unqiue identifier for this action. - * @param params - The action parameters. These must match the type of the parameters of the - * registered action handler. - * @throws Will throw when no handler has been registered for the given type. - * @template T - A type union of Action type strings. - * @returns The action return value. - */ - call( - actionType: T, - ...params: ExtractActionParameters - ): ExtractActionResponse { - const handler = this.actions.get(actionType) as ActionHandler; - if (!handler) { - throw new Error(`A handler for ${actionType} has not been registered`); - } - return handler(...params); - } - - /** - * Publish an event. - * - * Publishes the given payload to all subscribers of the given event type. - * - * @param eventType - The event type. This is a unique identifier for this event. - * @param payload - The event payload. The type of the parameters for each event handler must - * match the type of this payload. - * @template E - A type union of Event type strings. - */ - publish( - eventType: E, - ...payload: ExtractEventPayload - ) { - const subscribers = this.events.get(eventType); - - if (subscribers) { - for (const [handler, selector] of subscribers.entries()) { - if (selector) { - const previousValue = this.eventPayloadCache.get(handler); - const newValue = selector(...payload); - - if (newValue !== previousValue) { - this.eventPayloadCache.set(handler, newValue); - handler(newValue, previousValue); - } - } else { - (handler as GenericEventHandler)(...payload); - } - } - } - } - - /** - * Subscribe to an event. - * - * Registers the given function as an event handler for the given event type. - * - * @param eventType - The event type. This is a unique identifier for this event. - * @param handler - The event handler. The type of the parameters for this event handler must - * match the type of the payload for this event type. - * @template E - A type union of Event type strings. - */ - subscribe( - eventType: E, - handler: ExtractEventHandler, - ): void; - - /** - * Subscribe to an event, with a selector. - * - * Registers the given handler function as an event handler for the given - * event type. When an event is published, its payload is first passed to the - * selector. The event handler is only called if the selector's return value - * differs from its last known return value. - * - * @param eventType - The event type. This is a unique identifier for this event. - * @param handler - The event handler. The type of the parameters for this event - * handler must match the return type of the selector. - * @param selector - The selector function used to select relevant data from - * the event payload. The type of the parameters for this selector must match - * the type of the payload for this event type. - * @template E - A type union of Event type strings. - * @template V - The selector return value. - */ - subscribe( - eventType: E, - handler: SelectorEventHandler, - selector: SelectorFunction, V>, - ): void; - - subscribe( - eventType: E, - handler: ExtractEventHandler, - selector?: SelectorFunction, V>, - ): void { - let subscribers = this.events.get(eventType); - if (!subscribers) { - subscribers = new Map(); - this.events.set(eventType, subscribers); - } - - subscribers.set(handler, selector); - } - - /** - * Unsubscribe from an event. - * - * Unregisters the given function as an event handler for the given event. - * - * @param eventType - The event type. This is a unique identifier for this event. - * @param handler - The event handler to unregister. - * @throws Will throw when the given event handler is not registered for this event. - * @template E - A type union of Event type strings. - */ - unsubscribe( - eventType: E, - handler: ExtractEventHandler, - ) { - const subscribers = this.events.get(eventType); - - if (!subscribers || !subscribers.has(handler)) { - throw new Error(`Subscription not found for event: ${eventType}`); - } - - const selector = subscribers.get(handler); - if (selector) { - this.eventPayloadCache.delete(handler); - } - - subscribers.delete(handler); - } - - /** - * Clear subscriptions for a specific event. - * - * This will remove all subscribed handlers for this event. - * - * @param eventType - The event type. This is a unique identifier for this event. - * @template E - A type union of Event type strings. - */ - clearEventSubscriptions(eventType: E) { - this.events.delete(eventType); - } - - /** - * Clear all subscriptions. - * - * This will remove all subscribed handlers for all events. - */ - clearSubscriptions() { - this.events.clear(); - } - - /** - * Get a restricted controller messenger - * - * Returns a wrapper around the controller messenger instance that restricts access to actions - * and events. The provided allowlists grant the ability to call the listed actions and subscribe - * to the listed events. The "name" provided grants ownership of any actions and events under - * that namespace. Ownership allows registering actions and publishing events, as well as - * unregistering actions and clearing event subscriptions. - * - * @param options - Controller messenger options. - * @param options.name - The name of the thing this messenger will be handed to (e.g. the - * controller name). This grants "ownership" of actions and events under this namespace to the - * restricted controller messenger returned. - * @param options.allowedActions - The list of actions that this restricted controller messenger - * should be alowed to call. - * @param options.allowedEvents - The list of events that this restricted controller messenger - * should be allowed to subscribe to. - * @template N - The namespace for this messenger. Typically this is the name of the controller or - * module that this messenger has been created for. The authority to publish events and register - * actions under this namespace is granted to this restricted messenger instance. - * @template AllowedAction - A type union of the 'type' string for any allowed actions. - * @template AllowedEvent - A type union of the 'type' string for any allowed events. - * @returns The restricted controller messenger. - */ - getRestricted< - N extends string, - AllowedAction extends string, - AllowedEvent extends string, - >({ - name, - allowedActions, - allowedEvents, - }: { - name: N; - allowedActions?: Extract[]; - allowedEvents?: Extract[]; - }): RestrictedControllerMessenger< - N, - NarrowToNamespace | NarrowToAllowed, - NarrowToNamespace | NarrowToAllowed, - AllowedAction, - AllowedEvent - > { - return new RestrictedControllerMessenger< - N, - NarrowToNamespace | NarrowToAllowed, - NarrowToNamespace | NarrowToAllowed, - AllowedAction, - AllowedEvent - >({ - controllerMessenger: this, - name, - allowedActions, - allowedEvents, - }); - } -} diff --git a/src/index.ts b/src/index.ts deleted file mode 100644 index 795cb705ca..0000000000 --- a/src/index.ts +++ /dev/null @@ -1,42 +0,0 @@ -import 'isomorphic-fetch'; -import * as util from './util'; - -export * from './assets/AccountTrackerController'; -export * from './user/AddressBookController'; -export * from './approval/ApprovalController'; -export * from './assets/AssetsContractController'; -export * from './BaseController'; -export { - BaseController as BaseControllerV2, - getPersistentState, - getAnonymizedState, - Json, - StateDeriver, - StateMetadata, - StatePropertyMetadata, -} from './BaseControllerV2'; -export * from './ComposableController'; -export * from './ControllerMessenger'; -export * from './assets/CurrencyRateController'; -export * from './keyring/KeyringController'; -export * from './message-manager/MessageManager'; -export * from './network/NetworkController'; -export * from './third-party/PhishingController'; -export * from './user/PreferencesController'; -export * from './assets/TokenBalancesController'; -export * from './assets/TokenRatesController'; -export * from './transaction/TransactionController'; -export * from './message-manager/PersonalMessageManager'; -export * from './message-manager/TypedMessageManager'; -export * from './announcement/AnnouncementController'; -export * from './assets/TokenListController'; -export * from './gas/GasFeeController'; -export * from './assets/TokensController'; -export * from './assets/CollectiblesController'; -export * from './assets/TokenDetectionController'; -export * from './assets/CollectibleDetectionController'; -export * from './permissions'; -export * from './subject-metadata'; -export * from './ratelimit/RateLimitController'; -export * from './notification/NotificationController'; -export { util }; diff --git a/src/third-party/EnsController.test.ts b/src/third-party/EnsController.test.ts deleted file mode 100644 index 980587232f..0000000000 --- a/src/third-party/EnsController.test.ts +++ /dev/null @@ -1,260 +0,0 @@ -import { toChecksumHexAddress } from '../util'; -import { EnsController } from './EnsController'; - -const address1 = '0x32Be343B94f860124dC4fEe278FDCBD38C102D88'; -const address2 = '0xc38bf1ad06ef69f0c04e29dbeb4152b4175f0a8d'; -const address3 = '0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359'; -const name1 = 'foobarb.eth'; -const name2 = 'bazbarb.eth'; - -const address1Checksum = toChecksumHexAddress(address1); -const address2Checksum = toChecksumHexAddress(address2); -const address3Checksum = toChecksumHexAddress(address3); - -describe('EnsController', () => { - it('should set default state', () => { - const controller = new EnsController(); - expect(controller.state).toStrictEqual({ ensEntries: {} }); - }); - - it('should add a new ENS entry and return true', () => { - const controller = new EnsController(); - expect(controller.set('1', name1, address1)).toStrictEqual(true); - expect(controller.state).toStrictEqual({ - ensEntries: { - 1: { - [name1]: { - address: address1Checksum, - chainId: '1', - ensName: name1, - }, - }, - }, - }); - }); - - it('should add a new ENS entry with null address and return true', () => { - const controller = new EnsController(); - expect(controller.set('1', name1, null)).toStrictEqual(true); - expect(controller.state).toStrictEqual({ - ensEntries: { - 1: { - [name1]: { - address: null, - chainId: '1', - ensName: name1, - }, - }, - }, - }); - }); - - it('should update an ENS entry and return true', () => { - const controller = new EnsController(); - expect(controller.set('1', name1, address1)).toStrictEqual(true); - expect(controller.set('1', name1, address2)).toStrictEqual(true); - expect(controller.state).toStrictEqual({ - ensEntries: { - 1: { - [name1]: { - address: address2Checksum, - chainId: '1', - ensName: name1, - }, - }, - }, - }); - }); - - it('should update an ENS entry with null address and return true', () => { - const controller = new EnsController(); - expect(controller.set('1', name1, address1)).toStrictEqual(true); - expect(controller.set('1', name1, null)).toStrictEqual(true); - expect(controller.state).toStrictEqual({ - ensEntries: { - 1: { - [name1]: { - address: null, - chainId: '1', - ensName: name1, - }, - }, - }, - }); - }); - - it('should not update an ENS entry if the address is the same (valid address) and return false', () => { - const controller = new EnsController(); - expect(controller.set('1', name1, address1)).toStrictEqual(true); - expect(controller.set('1', name1, address1)).toStrictEqual(false); - expect(controller.state).toStrictEqual({ - ensEntries: { - 1: { - [name1]: { - address: address1Checksum, - chainId: '1', - ensName: name1, - }, - }, - }, - }); - }); - - it('should not update an ENS entry if the address is the same (null) and return false', () => { - const controller = new EnsController(); - expect(controller.set('1', name1, null)).toStrictEqual(true); - expect(controller.set('1', name1, null)).toStrictEqual(false); - expect(controller.state).toStrictEqual({ - ensEntries: { - 1: { - [name1]: { - address: null, - chainId: '1', - ensName: name1, - }, - }, - }, - }); - }); - - it('should add multiple ENS entries and update without side effects', () => { - const controller = new EnsController(); - expect(controller.set('1', name1, address1)).toStrictEqual(true); - expect(controller.set('1', name2, address2)).toStrictEqual(true); - expect(controller.set('2', name1, address1)).toStrictEqual(true); - expect(controller.set('1', name1, address3)).toStrictEqual(true); - expect(controller.state).toStrictEqual({ - ensEntries: { - 1: { - [name1]: { - address: address3Checksum, - chainId: '1', - ensName: name1, - }, - [name2]: { - address: address2Checksum, - chainId: '1', - ensName: name2, - }, - }, - 2: { - [name1]: { - address: address1Checksum, - chainId: '2', - ensName: name1, - }, - }, - }, - }); - }); - - it('should get ENS entry by chainId and ensName', () => { - const controller = new EnsController(); - expect(controller.set('1', name1, address1)).toStrictEqual(true); - expect(controller.get('1', name1)).toStrictEqual({ - address: address1Checksum, - chainId: '1', - ensName: name1, - }); - }); - - it('should return null when getting nonexistent name', () => { - const controller = new EnsController(); - expect(controller.set('1', name1, address1)).toStrictEqual(true); - expect(controller.get('1', name2)).toBeNull(); - }); - - it('should return null when getting nonexistent chainId', () => { - const controller = new EnsController(); - expect(controller.set('1', name1, address1)).toStrictEqual(true); - expect(controller.get('2', name1)).toBeNull(); - }); - - it('should throw on attempt to set invalid ENS entry: chainId', () => { - const controller = new EnsController(); - expect(() => { - controller.set('a', name1, address1); - }).toThrow( - 'Invalid ENS entry: { chainId:a, ensName:foobarb.eth, address:0x32Be343B94f860124dC4fEe278FDCBD38C102D88}', - ); - expect(controller.state).toStrictEqual({ ensEntries: {} }); - }); - - it('should throw on attempt to set invalid ENS entry: ENS name', () => { - const controller = new EnsController(); - expect(() => { - controller.set('1', 'foo.eth', address1); - }).toThrow('Invalid ENS name: foo.eth'); - expect(controller.state).toStrictEqual({ ensEntries: {} }); - }); - - it('should throw on attempt to set invalid ENS entry: address', () => { - const controller = new EnsController(); - expect(() => { - controller.set('1', name1, 'foo'); - }).toThrow( - 'Invalid ENS entry: { chainId:1, ensName:foobarb.eth, address:foo}', - ); - expect(controller.state).toStrictEqual({ ensEntries: {} }); - }); - - it('should remove an ENS entry and return true', () => { - const controller = new EnsController(); - expect(controller.set('1', name1, address1)).toStrictEqual(true); - expect(controller.delete('1', name1)).toStrictEqual(true); - expect(controller.state).toStrictEqual({ ensEntries: {} }); - }); - - it('should return false if an ENS entry was NOT deleted', () => { - const controller = new EnsController(); - controller.set('1', name1, address1); - expect(controller.delete('1', 'bar')).toStrictEqual(false); - expect(controller.delete('2', 'bar')).toStrictEqual(false); - expect(controller.state).toStrictEqual({ - ensEntries: { - 1: { - [name1]: { - address: address1Checksum, - chainId: '1', - ensName: name1, - }, - }, - }, - }); - }); - - it('should add multiple ENS entries and remove without side effects', () => { - const controller = new EnsController(); - expect(controller.set('1', name1, address1)).toStrictEqual(true); - expect(controller.set('1', name2, address2)).toStrictEqual(true); - expect(controller.set('2', name1, address1)).toStrictEqual(true); - expect(controller.delete('1', name1)).toStrictEqual(true); - expect(controller.state).toStrictEqual({ - ensEntries: { - 1: { - [name2]: { - address: address2Checksum, - chainId: '1', - ensName: name2, - }, - }, - 2: { - [name1]: { - address: address1Checksum, - chainId: '2', - ensName: name1, - }, - }, - }, - }); - }); - - it('should clear all ENS entries', () => { - const controller = new EnsController(); - expect(controller.set('1', name1, address1)).toStrictEqual(true); - expect(controller.set('1', name2, address2)).toStrictEqual(true); - expect(controller.set('2', name1, address1)).toStrictEqual(true); - controller.clear(); - expect(controller.state).toStrictEqual({ ensEntries: {} }); - }); -}); diff --git a/src/third-party/EnsController.ts b/src/third-party/EnsController.ts deleted file mode 100644 index 9a8eace70f..0000000000 --- a/src/third-party/EnsController.ts +++ /dev/null @@ -1,162 +0,0 @@ -import { BaseController, BaseConfig, BaseState } from '../BaseController'; -import { - normalizeEnsName, - isValidHexAddress, - toChecksumHexAddress, -} from '../util'; - -/** - * @type EnsEntry - * - * ENS entry representation - * @property chainId - Id of the associated chain - * @property ensName - The ENS name - * @property address - Hex address with the ENS name, or null - */ -export interface EnsEntry { - chainId: string; - ensName: string; - address: string | null; -} - -/** - * @type EnsState - * - * ENS controller state - * @property ensEntries - Object of ENS entry objects - */ -export interface EnsState extends BaseState { - ensEntries: { [chainId: string]: { [ensName: string]: EnsEntry } }; -} - -/** - * Controller that manages a list ENS names and their resolved addresses - * by chainId. A null address indicates an unresolved ENS name. - */ -export class EnsController extends BaseController { - /** - * Name of this controller used during composition - */ - override name = 'EnsController'; - - /** - * Creates an EnsController instance. - * - * @param config - Initial options used to configure this controller. - * @param state - Initial state to set on this controller. - */ - constructor(config?: Partial, state?: Partial) { - super(config, state); - - this.defaultState = { ensEntries: {} }; - - this.initialize(); - } - - /** - * Remove all chain Ids and ENS entries from state. - */ - clear() { - this.update({ ensEntries: {} }); - } - - /** - * Delete an ENS entry. - * - * @param chainId - Parent chain of the ENS entry to delete. - * @param ensName - Name of the ENS entry to delete. - * @returns Boolean indicating if the entry was deleted. - */ - delete(chainId: string, ensName: string): boolean { - const normalizedEnsName = normalizeEnsName(ensName); - if ( - !normalizedEnsName || - !this.state.ensEntries[chainId] || - !this.state.ensEntries[chainId][normalizedEnsName] - ) { - return false; - } - - const ensEntries = Object.assign({}, this.state.ensEntries); - delete ensEntries[chainId][normalizedEnsName]; - - if (Object.keys(ensEntries[chainId]).length === 0) { - delete ensEntries[chainId]; - } - - this.update({ ensEntries }); - return true; - } - - /** - * Retrieve a DNS entry. - * - * @param chainId - Parent chain of the ENS entry to retrieve. - * @param ensName - Name of the ENS entry to retrieve. - * @returns The EnsEntry or null if it does not exist. - */ - get(chainId: string, ensName: string): EnsEntry | null { - const normalizedEnsName = normalizeEnsName(ensName); - - // TODO Explicitly handle the case where `normalizedEnsName` is `null` - // eslint-disable-next-line no-implicit-coercion - return !!normalizedEnsName && this.state.ensEntries[chainId] - ? this.state.ensEntries[chainId][normalizedEnsName] || null - : null; - } - - /** - * Add or update an ENS entry by chainId and ensName. - * - * A null address indicates that the ENS name does not resolve. - * - * @param chainId - Id of the associated chain. - * @param ensName - The ENS name. - * @param address - Associated address (or null) to add or update. - * @returns Boolean indicating if the entry was set. - */ - set(chainId: string, ensName: string, address: string | null): boolean { - if ( - !Number.isInteger(Number.parseInt(chainId, 10)) || - !ensName || - typeof ensName !== 'string' || - (address && !isValidHexAddress(address)) - ) { - throw new Error( - `Invalid ENS entry: { chainId:${chainId}, ensName:${ensName}, address:${address}}`, - ); - } - - const normalizedEnsName = normalizeEnsName(ensName); - if (!normalizedEnsName) { - throw new Error(`Invalid ENS name: ${ensName}`); - } - - const normalizedAddress = address ? toChecksumHexAddress(address) : null; - const subState = this.state.ensEntries[chainId]; - - if ( - subState?.[normalizedEnsName] && - subState[normalizedEnsName].address === normalizedAddress - ) { - return false; - } - - this.update({ - ensEntries: { - ...this.state.ensEntries, - [chainId]: { - ...this.state.ensEntries[chainId], - [normalizedEnsName]: { - address: normalizedAddress, - chainId, - ensName: normalizedEnsName, - }, - }, - }, - }); - return true; - } -} - -export default EnsController; diff --git a/src/util.test.ts b/src/util.test.ts deleted file mode 100644 index 849e4fdd31..0000000000 --- a/src/util.test.ts +++ /dev/null @@ -1,1292 +0,0 @@ -import 'isomorphic-fetch'; -import { BN } from 'ethereumjs-util'; -import nock from 'nock'; -import * as util from './util'; -import { - Transaction, - GasPriceValue, - FeeMarketEIP1559Values, -} from './transaction/TransactionController'; -import { NetworksChainId } from './network/NetworkController'; - -const VALID = '4e1fF7229BDdAf0A73DF183a88d9c3a04cc975e0'; -const SOME_API = 'https://someapi.com'; -const SOME_FAILING_API = 'https://somefailingapi.com'; - -const DEFAULT_IPFS_URL_FORMAT = 'ipfs://'; -const ALTERNATIVE_IPFS_URL_FORMAT = 'ipfs://ipfs/'; -const IPFS_CID_V0 = 'QmdfTbBqBPQ7VNxZEYEj14VmRuZBkqFbiwReogJgS1zR1n'; -const IPFS_CID_V1 = - 'bafybeihdwdcefgh4dqkjv67uzcmw7ojee6xedzdetojuzjevtenxquvyku'; - -const IFPS_GATEWAY = 'dweb.link'; - -const MAX_FEE_PER_GAS = 'maxFeePerGas'; -const MAX_PRIORITY_FEE_PER_GAS = 'maxPriorityFeePerGas'; -const GAS_PRICE = 'gasPrice'; -const FAIL = 'lol'; -const PASS = '0x1'; - -describe('util', () => { - beforeEach(() => { - nock.cleanAll(); - }); - - it('bNToHex', () => { - expect(util.BNToHex(new BN('1337'))).toBe('0x539'); - }); - - it('fractionBN', () => { - expect(util.fractionBN(new BN('1337'), 9, 10).toNumber()).toBe(1203); - }); - - it('getBuyURL', () => { - expect(util.getBuyURL(undefined, 'foo', 1337)).toBe( - 'https://buy.coinbase.com/?code=9ec56d01-7e81-5017-930c-513daa27bb6a&amount=1337&address=foo&crypto_currency=ETH', - ); - - expect(util.getBuyURL('1', 'foo', 1337)).toBe( - 'https://buy.coinbase.com/?code=9ec56d01-7e81-5017-930c-513daa27bb6a&amount=1337&address=foo&crypto_currency=ETH', - ); - expect(util.getBuyURL('3')).toBe('https://faucet.metamask.io/'); - expect(util.getBuyURL('4')).toBe('https://www.rinkeby.io/'); - expect(util.getBuyURL('5')).toBe('https://goerli-faucet.slock.it/'); - expect(util.getBuyURL('42')).toBe( - 'https://github.com/kovan-testnet/faucet', - ); - expect(util.getBuyURL('unrecognized network ID')).toBeUndefined(); - }); - - it('hexToBN', () => { - expect(util.hexToBN('0x1337').toNumber()).toBe(4919); - }); - - describe('fromHex', () => { - it('converts a string that represents a number in hexadecimal format with leading "0x" into a BN', () => { - expect(util.fromHex('0x1337')).toStrictEqual(new BN(4919)); - }); - - it('converts a string that represents a number in hexadecimal format without leading "0x" into a BN', () => { - expect(util.fromHex('1337')).toStrictEqual(new BN(4919)); - }); - - it('does nothing to a BN', () => { - const bn = new BN(4919); - expect(util.fromHex(bn)).toBe(bn); - }); - }); - - describe('toHex', () => { - it('converts a BN to a hex string prepended with "0x"', () => { - expect(util.toHex(new BN(4919))).toStrictEqual('0x1337'); - }); - - it('parses a string as a number in decimal format and converts it to a hex string prepended with "0x"', () => { - expect(util.toHex('4919')).toStrictEqual('0x1337'); - }); - - it('throws an error if given a string with decimals', () => { - expect(() => util.toHex('4919.3')).toThrow('Invalid character'); - }); - - it('converts a number to a hex string prepended with "0x"', () => { - expect(util.toHex(4919)).toStrictEqual('0x1337'); - }); - - it('throws an error if given a float', () => { - expect(() => util.toHex(4919.3)).toThrow('Invalid character'); - }); - - it('does nothing to a string that is already a "0x"-prepended hex value', () => { - expect(util.toHex('0x1337')).toStrictEqual('0x1337'); - }); - - it('throws an error if given a non-"0x"-prepended string that is not a valid hex value', () => { - expect(() => util.toHex('zzzz')).toThrow('Invalid character'); - }); - }); - - it('normalizeTransaction', () => { - const normalized = util.normalizeTransaction({ - data: 'data', - from: 'FROM', - gas: 'gas', - gasPrice: 'gasPrice', - nonce: 'nonce', - to: 'TO', - value: 'value', - maxFeePerGas: 'maxFeePerGas', - maxPriorityFeePerGas: 'maxPriorityFeePerGas', - estimatedBaseFee: 'estimatedBaseFee', - }); - expect(normalized).toStrictEqual({ - data: '0xdata', - from: '0xfrom', - gas: '0xgas', - gasPrice: '0xgasPrice', - nonce: '0xnonce', - to: '0xto', - value: '0xvalue', - maxFeePerGas: '0xmaxFeePerGas', - maxPriorityFeePerGas: '0xmaxPriorityFeePerGas', - estimatedBaseFee: '0xestimatedBaseFee', - }); - }); - - describe('gweiDecToWEIBN', () => { - it('should convert a whole number to WEI', () => { - expect(util.gweiDecToWEIBN(1).toNumber()).toBe(1000000000); - expect(util.gweiDecToWEIBN(123).toNumber()).toBe(123000000000); - expect(util.gweiDecToWEIBN(101).toNumber()).toBe(101000000000); - expect(util.gweiDecToWEIBN(1234).toNumber()).toBe(1234000000000); - expect(util.gweiDecToWEIBN(1000).toNumber()).toBe(1000000000000); - }); - - it('should convert a number with a decimal part to WEI', () => { - expect(util.gweiDecToWEIBN(1.1).toNumber()).toBe(1100000000); - expect(util.gweiDecToWEIBN(123.01).toNumber()).toBe(123010000000); - expect(util.gweiDecToWEIBN(101.001).toNumber()).toBe(101001000000); - expect(util.gweiDecToWEIBN(100.001).toNumber()).toBe(100001000000); - expect(util.gweiDecToWEIBN(1234.567).toNumber()).toBe(1234567000000); - }); - - it('should convert a number < 1 to WEI', () => { - expect(util.gweiDecToWEIBN(0.1).toNumber()).toBe(100000000); - expect(util.gweiDecToWEIBN(0.01).toNumber()).toBe(10000000); - expect(util.gweiDecToWEIBN(0.001).toNumber()).toBe(1000000); - expect(util.gweiDecToWEIBN(0.567).toNumber()).toBe(567000000); - }); - - it('should round to whole WEI numbers', () => { - expect(util.gweiDecToWEIBN(0.1001).toNumber()).toBe(100100000); - expect(util.gweiDecToWEIBN(0.0109).toNumber()).toBe(10900000); - expect(util.gweiDecToWEIBN(0.0014).toNumber()).toBe(1400000); - expect(util.gweiDecToWEIBN(0.5676).toNumber()).toBe(567600000); - }); - - it('should handle inputs with more than 9 decimal places', () => { - expect(util.gweiDecToWEIBN(1.0000000162).toNumber()).toBe(1000000016); - expect(util.gweiDecToWEIBN(1.0000000165).toNumber()).toBe(1000000017); - expect(util.gweiDecToWEIBN(1.0000000199).toNumber()).toBe(1000000020); - expect(util.gweiDecToWEIBN(1.9999999999).toNumber()).toBe(2000000000); - expect(util.gweiDecToWEIBN(1.0000005998).toNumber()).toBe(1000000600); - expect(util.gweiDecToWEIBN(123456.0000005998).toNumber()).toBe( - 123456000000600, - ); - expect(util.gweiDecToWEIBN(1.000000016025).toNumber()).toBe(1000000016); - expect(util.gweiDecToWEIBN(1.0000000160000028).toNumber()).toBe( - 1000000016, - ); - expect(util.gweiDecToWEIBN(1.000000016522).toNumber()).toBe(1000000017); - expect(util.gweiDecToWEIBN(1.000000016800022).toNumber()).toBe( - 1000000017, - ); - }); - - it('should work if there are extraneous trailing decimal zeroes', () => { - expect(util.gweiDecToWEIBN('0.5000').toNumber()).toBe(500000000); - expect(util.gweiDecToWEIBN('123.002300').toNumber()).toBe(123002300000); - expect(util.gweiDecToWEIBN('123.002300000000').toNumber()).toBe( - 123002300000, - ); - expect(util.gweiDecToWEIBN('0.00000200000').toNumber()).toBe(2000); - }); - - it('should work if there is no whole number specified', () => { - expect(util.gweiDecToWEIBN('.1').toNumber()).toBe(100000000); - expect(util.gweiDecToWEIBN('.01').toNumber()).toBe(10000000); - expect(util.gweiDecToWEIBN('.001').toNumber()).toBe(1000000); - expect(util.gweiDecToWEIBN('.567').toNumber()).toBe(567000000); - }); - - it('should handle NaN', () => { - expect(util.gweiDecToWEIBN(NaN).toNumber()).toBe(0); - }); - }); - - describe('weiHexToGweiDec', () => { - it('should convert a whole number to WEI', () => { - const testData = [ - { - input: '3b9aca00', - expectedResult: '1', - }, - { - input: '1ca35f0e00', - expectedResult: '123', - }, - { - input: '178411b200', - expectedResult: '101', - }, - { - input: '11f5021b400', - expectedResult: '1234', - }, - ]; - testData.forEach(({ input, expectedResult }) => { - expect(util.weiHexToGweiDec(input)).toBe(expectedResult); - }); - }); - - it('should convert a number with a decimal part to WEI', () => { - const testData = [ - { - input: '4190ab00', - expectedResult: '1.1', - }, - { - input: '1ca3f7a480', - expectedResult: '123.01', - }, - { - input: '178420f440', - expectedResult: '101.001', - }, - { - input: '11f71ed6fc0', - expectedResult: '1234.567', - }, - ]; - - testData.forEach(({ input, expectedResult }) => { - expect(util.weiHexToGweiDec(input)).toBe(expectedResult); - }); - }); - - it('should convert a number < 1 to WEI', () => { - const testData = [ - { - input: '5f5e100', - expectedResult: '0.1', - }, - { - input: '989680', - expectedResult: '0.01', - }, - { - input: 'f4240', - expectedResult: '0.001', - }, - { - input: '21cbbbc0', - expectedResult: '0.567', - }, - ]; - - testData.forEach(({ input, expectedResult }) => { - expect(util.weiHexToGweiDec(input)).toBe(expectedResult); - }); - }); - - it('should work with 0x prefixed values', () => { - expect(util.weiHexToGweiDec('0x5f48b0f7')).toBe('1.598599415'); - }); - }); - - describe('safelyExecute', () => { - it('should swallow errors', async () => { - expect( - await util.safelyExecute(() => { - throw new Error('ahh'); - }), - ).toBeUndefined(); - }); - }); - - describe('safelyExecuteWithTimeout', () => { - it('should swallow errors', async () => { - expect( - await util.safelyExecuteWithTimeout(() => { - throw new Error('ahh'); - }), - ).toBeUndefined(); - }); - - it('should resolve', async () => { - const response = await util.safelyExecuteWithTimeout(() => { - return new Promise((res) => setTimeout(() => res('response'), 200)); - }); - expect(response).toStrictEqual('response'); - }); - - it('should timeout', async () => { - expect( - await util.safelyExecuteWithTimeout(() => { - return new Promise((res) => setTimeout(res, 800)); - }), - ).toBeUndefined(); - }); - }); - - describe('getEtherscanApiUrl', () => { - const networkType = 'mainnet'; - const address = '0xC7D3BFDeA106B446Cf9f2Db354D496e6Dd8b2525'; - const action = 'txlist'; - - it('should return a correctly structured url', () => { - const url = util.getEtherscanApiUrl(networkType, { address, action }); - expect(url.indexOf(`&action=${action}`)).toBeGreaterThan(0); - }); - - it('should return a correctly structured url with from block', () => { - const fromBlock = 'xxxxxx'; - const url = util.getEtherscanApiUrl(networkType, { - address, - action, - startBlock: fromBlock, - }); - expect(url.indexOf(`&startBlock=${fromBlock}`)).toBeGreaterThan(0); - }); - - it('should return a correctly structured url with testnet subdomain', () => { - const ropsten = 'ropsten'; - const url = util.getEtherscanApiUrl(ropsten, { address, action }); - expect(url.indexOf(`https://api-${ropsten}`)).toBe(0); - }); - - it('should return a correctly structured url with apiKey', () => { - const apiKey = 'xxxxxx'; - const url = util.getEtherscanApiUrl(networkType, { - address, - action, - startBlock: 'xxxxxx', - apikey: apiKey, - }); - expect(url.indexOf(`&apikey=${apiKey}`)).toBeGreaterThan(0); - }); - }); - - describe('toChecksumHexAddress', () => { - const fullAddress = `0x${VALID}`; - it('should return address for valid address', () => { - expect(util.toChecksumHexAddress(fullAddress)).toBe(fullAddress); - }); - - it('should return address for non prefix address', () => { - expect(util.toChecksumHexAddress(VALID)).toBe(fullAddress); - }); - }); - - describe('isValidHexAddress', () => { - it('should return true for valid address', () => { - expect(util.isValidHexAddress(VALID)).toBe(true); - }); - - it('should return false for invalid address', () => { - expect(util.isValidHexAddress('0x00')).toBe(false); - }); - - it('should allow allowNonPrefixed to be false', () => { - expect(util.isValidHexAddress('0x00', { allowNonPrefixed: false })).toBe( - false, - ); - }); - }); - - describe('validateTransaction', () => { - it('should throw if no from address', () => { - expect(() => util.validateTransaction({} as any)).toThrow( - 'Invalid "from" address: undefined must be a valid string.', - ); - }); - - it('should throw if non-string from address', () => { - expect(() => util.validateTransaction({ from: 1337 } as any)).toThrow( - 'Invalid "from" address: 1337 must be a valid string.', - ); - }); - - it('should throw if invalid from address', () => { - expect(() => util.validateTransaction({ from: '1337' } as any)).toThrow( - 'Invalid "from" address: 1337 must be a valid string.', - ); - }); - - it('should throw if no data', () => { - expect(() => - util.validateTransaction({ - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - to: '0x', - } as any), - ).toThrow('Invalid "to" address: 0x must be a valid string.'); - - expect(() => - util.validateTransaction({ - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - } as any), - ).toThrow('Invalid "to" address: undefined must be a valid string.'); - }); - - it('should delete data', () => { - const transaction = { - data: 'foo', - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - to: '0x', - }; - util.validateTransaction(transaction); - expect(transaction.to).toBeUndefined(); - }); - - it('should throw if invalid to address', () => { - expect(() => - util.validateTransaction({ - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - to: '1337', - } as any), - ).toThrow('Invalid "to" address: 1337 must be a valid string.'); - }); - - it('should throw if value is invalid', () => { - expect(() => - util.validateTransaction({ - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - to: '0x3244e191f1b4903970224322180f1fbbc415696b', - value: '133-7', - } as any), - ).toThrow('Invalid "value": 133-7 is not a positive number.'); - - expect(() => - util.validateTransaction({ - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - to: '0x3244e191f1b4903970224322180f1fbbc415696b', - value: '133.7', - } as any), - ).toThrow('Invalid "value": 133.7 number must be denominated in wei.'); - - expect(() => - util.validateTransaction({ - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - to: '0x3244e191f1b4903970224322180f1fbbc415696b', - value: 'hello', - } as any), - ).toThrow('Invalid "value": hello number must be a valid number.'); - - expect(() => - util.validateTransaction({ - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - to: '0x3244e191f1b4903970224322180f1fbbc415696b', - value: 'one million dollar$', - } as any), - ).toThrow( - 'Invalid "value": one million dollar$ number must be a valid number.', - ); - - expect(() => - util.validateTransaction({ - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - to: '0x3244e191f1b4903970224322180f1fbbc415696b', - value: '1', - } as any), - ).not.toThrow(); - }); - }); - - it('normalizeMessageData', () => { - const firstNormalized = util.normalizeMessageData( - '879a053d4800c6354e76c7985a865d2922c82fb5b3f4577b2fe08b998954f2e0', - ); - const secondNormalized = util.normalizeMessageData('somedata'); - expect(firstNormalized).toStrictEqual( - '0x879a053d4800c6354e76c7985a865d2922c82fb5b3f4577b2fe08b998954f2e0', - ); - expect(secondNormalized).toStrictEqual('0x736f6d6564617461'); - }); - - it('messageHexToString', () => { - const str = util.hexToText('68656c6c6f207468657265'); - expect(str).toStrictEqual('hello there'); - }); - - describe('validateSignMessageData', () => { - it('should throw if no from address', () => { - expect(() => - util.validateSignMessageData({ - data: '0x879a05', - } as any), - ).toThrow('Invalid "from" address: undefined must be a valid string.'); - }); - - it('should throw if invalid from address', () => { - expect(() => - util.validateSignMessageData({ - data: '0x879a05', - from: '01', - } as any), - ).toThrow('Invalid "from" address: 01 must be a valid string.'); - }); - - it('should throw if invalid type from address', () => { - expect(() => - util.validateSignMessageData({ - data: '0x879a05', - from: 123, - } as any), - ).toThrow('Invalid "from" address: 123 must be a valid string.'); - }); - - it('should throw if no data', () => { - expect(() => - util.validateSignMessageData({ - data: '0x879a05', - } as any), - ).toThrow('Invalid "from" address: undefined must be a valid string.'); - }); - - it('should throw if invalid tyoe data', () => { - expect(() => - util.validateSignMessageData({ - data: 123, - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - } as any), - ).toThrow('Invalid message "data": 123 must be a valid string.'); - }); - }); - - describe('validateTypedMessageDataV1', () => { - it('should throw if no from address legacy', () => { - expect(() => - util.validateTypedSignMessageDataV1({ - data: [], - } as any), - ).toThrow('Invalid "from" address:'); - }); - - it('should throw if invalid from address', () => { - expect(() => - util.validateTypedSignMessageDataV1({ - data: [], - from: '3244e191f1b4903970224322180f1fbbc415696b', - } as any), - ).toThrow('Expected EIP712 typed data.'); - }); - - it('should throw if invalid type from address', () => { - expect(() => - util.validateTypedSignMessageDataV1({ - data: [], - from: 123, - } as any), - ).toThrow('Invalid "from" address:'); - }); - - it('should throw if incorrect data', () => { - expect(() => - util.validateTypedSignMessageDataV1({ - data: '0x879a05', - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - } as any), - ).toThrow('Invalid message "data":'); - }); - - it('should throw if no data', () => { - expect(() => - util.validateTypedSignMessageDataV1({ - data: '0x879a05', - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - } as any), - ).toThrow('Invalid message "data":'); - }); - - it('should throw if invalid type data', () => { - expect(() => - util.validateTypedSignMessageDataV1({ - data: [], - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - } as any), - ).toThrow('Expected EIP712 typed data.'); - }); - }); - - describe('validateTypedMessageDataV3', () => { - const dataTyped = - '{"types":{"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}],"Person":[{"name":"name","type":"string"},{"name":"wallet","type":"address"}],"Mail":[{"name":"from","type":"Person"},{"name":"to","type":"Person"},{"name":"contents","type":"string"}]},"primaryType":"Mail","domain":{"name":"Ether Mail","version":"1","chainId":1,"verifyingContract":"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC"},"message":{"from":{"name":"Cow","wallet":"0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826"},"to":{"name":"Bob","wallet":"0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB"},"contents":"Hello, Bob!"}}'; - it('should throw if no from address', () => { - expect(() => - util.validateTypedSignMessageDataV3({ - data: '0x879a05', - } as any), - ).toThrow('Invalid "from" address:'); - }); - - it('should throw if invalid from address', () => { - expect(() => - util.validateTypedSignMessageDataV3({ - data: '0x879a05', - from: '3244e191f1b4903970224322180f1fbbc415696b', - } as any), - ).toThrow('Data must be passed as a valid JSON string.'); - }); - - it('should throw if invalid type from address', () => { - expect(() => - util.validateTypedSignMessageDataV3({ - data: '0x879a05', - from: 123, - } as any), - ).toThrow('Invalid "from" address:'); - }); - - it('should throw if array data', () => { - expect(() => - util.validateTypedSignMessageDataV3({ - data: [], - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - } as any), - ).toThrow('Invalid message "data":'); - }); - - it('should throw if no array data', () => { - expect(() => - util.validateTypedSignMessageDataV3({ - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - } as any), - ).toThrow('Invalid message "data":'); - }); - - it('should throw if no json valid data', () => { - expect(() => - util.validateTypedSignMessageDataV3({ - data: 'uh oh', - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - } as any), - ).toThrow('Data must be passed as a valid JSON string.'); - }); - - it('should throw if data not in typed message schema', () => { - expect(() => - util.validateTypedSignMessageDataV3({ - data: '{"greetings":"I am Alice"}', - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - } as any), - ).toThrow('Data must conform to EIP-712 schema.'); - }); - - it('should not throw if data is correct', () => { - expect(() => - util.validateTypedSignMessageDataV3({ - data: dataTyped, - from: '0x3244e191f1b4903970224322180f1fbbc415696b', - } as any), - ).not.toThrow(); - }); - - it('should identify smart contract code', () => { - const toSmartContract1 = util.isSmartContractCode(''); - const toSmartContract2 = util.isSmartContractCode('0x'); - const toSmartContract3 = util.isSmartContractCode('0x0'); - const toSmartContract4 = util.isSmartContractCode('0x01234'); - expect(toSmartContract1).toBe(false); - expect(toSmartContract2).toBe(false); - expect(toSmartContract3).toBe(false); - expect(toSmartContract4).toBe(true); - }); - }); - - describe('validateTokenToWatch', () => { - it('should throw if undefined token atrributes', () => { - expect(() => - util.validateTokenToWatch({ - address: undefined, - decimals: 0, - symbol: 'TKN', - } as any), - ).toThrow('Must specify address, symbol, and decimals.'); - - expect(() => - util.validateTokenToWatch({ - address: '0x1', - decimals: 0, - symbol: undefined, - } as any), - ).toThrow('Must specify address, symbol, and decimals.'); - - expect(() => - util.validateTokenToWatch({ - address: '0x1', - decimals: undefined, - symbol: 'TKN', - } as any), - ).toThrow('Must specify address, symbol, and decimals.'); - }); - - it('should throw if symbol is not a string', () => { - expect(() => - util.validateTokenToWatch({ - address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', - decimals: 0, - symbol: { foo: 'bar' }, - } as any), - ).toThrow('Invalid symbol: not a string.'); - }); - - it('should throw if symbol is an empty string', () => { - expect(() => - util.validateTokenToWatch({ - address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', - decimals: 0, - symbol: '', - } as any), - ).toThrow('Must specify address, symbol, and decimals.'); - }); - - it('should not throw if symbol is exactly 1 character long', () => { - expect(() => - util.validateTokenToWatch({ - address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', - decimals: 0, - symbol: 'T', - } as any), - ).not.toThrow(); - }); - - it('should not throw if symbol is exactly 11 characters long', () => { - expect(() => - util.validateTokenToWatch({ - address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', - decimals: 0, - symbol: 'TKNTKNTKNTK', - } as any), - ).not.toThrow(); - }); - - it('should throw if symbol is more than 11 characters long', () => { - expect(() => - util.validateTokenToWatch({ - address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', - decimals: 0, - symbol: 'TKNTKNTKNTKN', - } as any), - ).toThrow('Invalid symbol "TKNTKNTKNTKN": longer than 11 characters.'); - }); - - it('should throw if invalid decimals', () => { - expect(() => - util.validateTokenToWatch({ - address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', - decimals: 0, - symbol: 'TKN', - } as any), - ).not.toThrow(); - - expect(() => - util.validateTokenToWatch({ - address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', - decimals: 38, - symbol: 'TKN', - } as any), - ).toThrow('Invalid decimals "38": must be 0 <= 36.'); - - expect(() => - util.validateTokenToWatch({ - address: '0xe9f786dfdd9be4d57e830acb52296837765f0e5b', - decimals: -1, - symbol: 'TKN', - } as any), - ).toThrow('Invalid decimals "-1": must be 0 <= 36.'); - }); - - it('should throw if invalid address', () => { - expect(() => - util.validateTokenToWatch({ - address: '0xe9', - decimals: 0, - symbol: 'TKN', - } as any), - ).toThrow('Invalid address "0xe9".'); - }); - }); - - describe('successfulFetch', () => { - beforeEach(() => { - nock(SOME_API).get(/.+/u).reply(200, { foo: 'bar' }).persist(); - nock(SOME_FAILING_API).get(/.+/u).reply(500).persist(); - }); - - it('should return successful fetch response', async () => { - const res = await util.successfulFetch(SOME_API); - const parsed = await res.json(); - expect(parsed).toStrictEqual({ foo: 'bar' }); - }); - - it('should throw error for an unsuccessful fetch', async () => { - await expect(util.successfulFetch(SOME_FAILING_API)).rejects.toThrow( - `Fetch failed with status '500' for request '${SOME_FAILING_API}'`, - ); - }); - }); - - describe('timeoutFetch', () => { - beforeEach(() => { - nock(SOME_API).get(/.+/u).delay(300).reply(200, {}).persist(); - }); - - it('should fetch first if response is faster than timeout', async () => { - const res = await util.timeoutFetch(SOME_API); - const parsed = await res.json(); - expect(parsed).toStrictEqual({}); - }); - - it('should fail fetch with timeout', async () => { - await expect(util.timeoutFetch(SOME_API, {}, 100)).rejects.toThrow( - 'timeout', - ); - }); - }); - - describe('normalizeEnsName', () => { - it('should normalize with valid 2LD', async () => { - let valid = util.normalizeEnsName('metamask.eth'); - expect(valid).toStrictEqual('metamask.eth'); - valid = util.normalizeEnsName('foobar1.eth'); - expect(valid).toStrictEqual('foobar1.eth'); - valid = util.normalizeEnsName('foo-bar.eth'); - expect(valid).toStrictEqual('foo-bar.eth'); - valid = util.normalizeEnsName('1-foo-bar.eth'); - expect(valid).toStrictEqual('1-foo-bar.eth'); - }); - - it('should normalize with valid 2LD and "test" TLD', async () => { - const valid = util.normalizeEnsName('metamask.test'); - expect(valid).toStrictEqual('metamask.test'); - }); - - it('should normalize with valid 2LD and 3LD', async () => { - let valid = util.normalizeEnsName('a.metamask.eth'); - expect(valid).toStrictEqual('a.metamask.eth'); - valid = util.normalizeEnsName('aa.metamask.eth'); - expect(valid).toStrictEqual('aa.metamask.eth'); - valid = util.normalizeEnsName('a-a.metamask.eth'); - expect(valid).toStrictEqual('a-a.metamask.eth'); - valid = util.normalizeEnsName('1-a.metamask.eth'); - expect(valid).toStrictEqual('1-a.metamask.eth'); - valid = util.normalizeEnsName('1-2.metamask.eth'); - expect(valid).toStrictEqual('1-2.metamask.eth'); - }); - - it('should return null with invalid 2LD', async () => { - let invalid = util.normalizeEnsName('me.eth'); - expect(invalid).toBeNull(); - invalid = util.normalizeEnsName('metamask-.eth'); - expect(invalid).toBeNull(); - invalid = util.normalizeEnsName('-metamask.eth'); - expect(invalid).toBeNull(); - invalid = util.normalizeEnsName('@metamask.eth'); - expect(invalid).toBeNull(); - invalid = util.normalizeEnsName('foobar.eth'); - expect(invalid).toBeNull(); - }); - - it('should return null with valid 2LD and invalid 3LD', async () => { - let invalid = util.normalizeEnsName('-.metamask.eth'); - expect(invalid).toBeNull(); - invalid = util.normalizeEnsName('abc-.metamask.eth'); - expect(invalid).toBeNull(); - invalid = util.normalizeEnsName('-abc.metamask.eth'); - expect(invalid).toBeNull(); - invalid = util.normalizeEnsName('.metamask.eth'); - expect(invalid).toBeNull(); - invalid = util.normalizeEnsName('f@o.metamask.eth'); - expect(invalid).toBeNull(); - }); - - it('should return null with invalid 2LD and valid 3LD', async () => { - const invalid = util.normalizeEnsName('foo.barbaz.eth'); - expect(invalid).toBeNull(); - }); - - it('should return null with invalid TLD', async () => { - const invalid = util.normalizeEnsName('a.metamask.com'); - expect(invalid).toBeNull(); - }); - - it('should return null with repeated periods', async () => { - let invalid = util.normalizeEnsName('foo..metamask.eth'); - expect(invalid).toBeNull(); - invalid = util.normalizeEnsName('foo.metamask..eth'); - expect(invalid).toBeNull(); - }); - - it('should return null with empty string', async () => { - const invalid = util.normalizeEnsName(''); - expect(invalid).toBeNull(); - }); - }); - - describe('query', () => { - describe('when the given method exists directly on the EthQuery', () => { - it('should call the method on the EthQuery and, if it is successful, return a promise that resolves to the result', async () => { - const ethQuery = { - getBlockByHash: (blockId: any, cb: any) => cb(null, { id: blockId }), - }; - const result = await util.query(ethQuery, 'getBlockByHash', ['0x1234']); - expect(result).toStrictEqual({ id: '0x1234' }); - }); - - it('should call the method on the EthQuery and, if it errors, return a promise that is rejected with the error', async () => { - const ethQuery = { - getBlockByHash: (_blockId: any, cb: any) => - cb(new Error('uh oh'), null), - }; - await expect( - util.query(ethQuery, 'getBlockByHash', ['0x1234']), - ).rejects.toThrow('uh oh'); - }); - }); - - describe('when the given method does not exist directly on the EthQuery', () => { - it('should use sendAsync to call the RPC endpoint and, if it is successful, return a promise that resolves to the result', async () => { - const ethQuery = { - sendAsync: ({ method, params }: any, cb: any) => { - if (method === 'eth_getBlockByHash') { - return cb(null, { id: params[0] }); - } - throw new Error(`Unsupported method ${method}`); - }, - }; - const result = await util.query(ethQuery, 'eth_getBlockByHash', [ - '0x1234', - ]); - expect(result).toStrictEqual({ id: '0x1234' }); - }); - - it('should use sendAsync to call the RPC endpoint and, if it errors, return a promise that is rejected with the error', async () => { - const ethQuery = { - sendAsync: (_args: any, cb: any) => { - cb(new Error('uh oh'), null); - }, - }; - await expect( - util.query(ethQuery, 'eth_getBlockByHash', ['0x1234']), - ).rejects.toThrow('uh oh'); - }); - }); - }); - - describe('convertHexToDecimal', () => { - it('should convert hex price to decimal', () => { - expect(util.convertHexToDecimal('0x50fd51da')).toStrictEqual(1358778842); - }); - - it('should return zero when undefined', () => { - expect(util.convertHexToDecimal(undefined)).toStrictEqual(0); - }); - }); - - describe('getIncreasedPriceHex', () => { - it('should get increased price from number as hex', () => { - expect(util.getIncreasedPriceHex(1358778842, 1.1)).toStrictEqual( - '0x5916a6d6', - ); - }); - }); - - describe('getIncreasedPriceFromExisting', () => { - it('should get increased price from hex as hex', () => { - expect( - util.getIncreasedPriceFromExisting('0x50fd51da', 1.1), - ).toStrictEqual('0x5916a6d6'); - }); - }); - - describe('isEIP1559Transaction', () => { - it('should detect EIP1559 transaction', () => { - const tx: Transaction = { from: '' }; - const eip1559tx: Transaction = { - ...tx, - maxFeePerGas: '2', - maxPriorityFeePerGas: '3', - }; - expect(util.isEIP1559Transaction(eip1559tx)).toBe(true); - expect(util.isEIP1559Transaction(tx)).toBe(false); - }); - }); - - describe('validateGasValues', () => { - it('should throw when provided invalid gas values', () => { - const gasValues: GasPriceValue = { - [GAS_PRICE]: FAIL, - }; - expect(() => util.validateGasValues(gasValues)).toThrow(TypeError); - expect(() => util.validateGasValues(gasValues)).toThrow( - `expected hex string for ${GAS_PRICE} but received: ${FAIL}`, - ); - }); - - it('should throw when any provided gas values are invalid', () => { - const gasValues: FeeMarketEIP1559Values = { - [MAX_PRIORITY_FEE_PER_GAS]: PASS, - [MAX_FEE_PER_GAS]: FAIL, - }; - expect(() => util.validateGasValues(gasValues)).toThrow(TypeError); - expect(() => util.validateGasValues(gasValues)).toThrow( - `expected hex string for ${MAX_FEE_PER_GAS} but received: ${FAIL}`, - ); - }); - - it('should return true when provided valid gas values', () => { - const gasValues: FeeMarketEIP1559Values = { - [MAX_FEE_PER_GAS]: PASS, - [MAX_PRIORITY_FEE_PER_GAS]: PASS, - }; - expect(() => util.validateGasValues(gasValues)).not.toThrow(TypeError); - }); - }); - - describe('isFeeMarketEIP1559Values', () => { - it('should detect if isFeeMarketEIP1559Values', () => { - const gasValues = { - [MAX_PRIORITY_FEE_PER_GAS]: PASS, - [MAX_FEE_PER_GAS]: FAIL, - }; - expect(util.isFeeMarketEIP1559Values(gasValues)).toBe(true); - expect(util.isGasPriceValue(gasValues)).toBe(false); - }); - }); - - describe('isGasPriceValue', () => { - it('should detect if isGasPriceValue', () => { - const gasValues: GasPriceValue = { - [GAS_PRICE]: PASS, - }; - expect(util.isGasPriceValue(gasValues)).toBe(true); - expect(util.isFeeMarketEIP1559Values(gasValues)).toBe(false); - }); - }); - - describe('validateMinimumIncrease', () => { - it('should throw if increase does not meet minimum requirement', () => { - expect(() => - util.validateMinimumIncrease('0x50fd51da', '0x5916a6d6'), - ).toThrow(Error); - - expect(() => - util.validateMinimumIncrease('0x50fd51da', '0x5916a6d6'), - ).toThrow( - 'The proposed value: 1358778842 should meet or exceed the minimum value: 1494656726', - ); - }); - - it('should not throw if increase meets minimum requirement', () => { - expect(() => - util.validateMinimumIncrease('0x5916a6d6', '0x5916a6d6'), - ).not.toThrow(Error); - }); - - it('should not throw if increase exceeds minimum requirement', () => { - expect(() => - util.validateMinimumIncrease('0x7162a5ca', '0x5916a6d6'), - ).not.toThrow(Error); - }); - }); - - describe('getFormattedIpfsUrl', () => { - it('should return a correctly formatted subdomained ipfs url when passed ipfsGateway without protocol prefix, no path and subdomainSupported argument set to true', () => { - expect( - util.getFormattedIpfsUrl( - IFPS_GATEWAY, - `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V1}`, - true, - ), - ).toStrictEqual(`https://${IPFS_CID_V1}.ipfs.${IFPS_GATEWAY}`); - }); - - it('should return a correctly formatted subdomained ipfs url when passed ipfsGateway with protocol prefix, a cidv0 and no path and subdomainSupported argument set to true', () => { - expect( - util.getFormattedIpfsUrl( - `https://${IFPS_GATEWAY}`, - `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V0}`, - true, - ), - ).toStrictEqual(`https://${IPFS_CID_V1}.ipfs.${IFPS_GATEWAY}`); - }); - - it('should return a correctly formatted subdomained ipfs url when passed ipfsGateway with protocol prefix, a path at the end of the url, and subdomainSupported argument set to true', () => { - expect( - util.getFormattedIpfsUrl( - `https://${IFPS_GATEWAY}`, - `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V1}/test`, - true, - ), - ).toStrictEqual(`https://${IPFS_CID_V1}.ipfs.${IFPS_GATEWAY}/test`); - }); - - it('should return a correctly formatted non-subdomained ipfs url when passed ipfsGateway with no "/ipfs/" appended, a path at the end of the url, and subdomainSupported argument set to false', () => { - expect( - util.getFormattedIpfsUrl( - `https://${IFPS_GATEWAY}`, - `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V1}/test`, - false, - ), - ).toStrictEqual(`https://${IFPS_GATEWAY}/ipfs/${IPFS_CID_V1}/test`); - }); - - it('should return a correctly formatted non-subdomained ipfs url when passed an ipfsGateway with "/ipfs/" appended, a path at the end of the url, subdomainSupported argument set to false', () => { - expect( - util.getFormattedIpfsUrl( - `https://${IFPS_GATEWAY}/ipfs/`, - `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V1}/test`, - false, - ), - ).toStrictEqual(`https://${IFPS_GATEWAY}/ipfs/${IPFS_CID_V1}/test`); - }); - }); - - describe('removeIpfsProtocolPrefix', () => { - it('should return content identifier and path combined string from default ipfs url format', () => { - expect( - util.removeIpfsProtocolPrefix( - `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V0}/test`, - ), - ).toStrictEqual(`${IPFS_CID_V0}/test`); - }); - - it('should return content identifier string from default ipfs url format if no path preset', () => { - expect( - util.removeIpfsProtocolPrefix( - `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V0}`, - ), - ).toStrictEqual(IPFS_CID_V0); - }); - - it('should return content identifier string from alternate ipfs url format', () => { - expect( - util.removeIpfsProtocolPrefix( - `${ALTERNATIVE_IPFS_URL_FORMAT}${IPFS_CID_V0}`, - ), - ).toStrictEqual(IPFS_CID_V0); - }); - - it('should throw error if passed a non ipfs url', () => { - expect(() => util.removeIpfsProtocolPrefix(SOME_API)).toThrow( - 'this method should not be used with non ipfs urls', - ); - }); - }); - - describe('addUrlProtocolPrefix', () => { - it('should return a URL with https:// prepended if input URL does not already have it', () => { - expect(util.addUrlProtocolPrefix(IFPS_GATEWAY)).toStrictEqual( - `https://${IFPS_GATEWAY}`, - ); - }); - - it('should return a URL as is if https:// is already prepended', () => { - expect(util.addUrlProtocolPrefix(SOME_API)).toStrictEqual(SOME_API); - }); - }); - - describe('getIpfsCIDv1AndPath', () => { - it('should return content identifier from default ipfs url format', () => { - expect( - util.getIpfsCIDv1AndPath(`${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V0}`), - ).toStrictEqual({ cid: IPFS_CID_V1, path: undefined }); - }); - - it('should return content identifier from alternative ipfs url format', () => { - expect( - util.getIpfsCIDv1AndPath( - `${ALTERNATIVE_IPFS_URL_FORMAT}${IPFS_CID_V0}`, - ), - ).toStrictEqual({ cid: IPFS_CID_V1, path: undefined }); - }); - - it('should return unchanged content identifier if already v1', () => { - expect( - util.getIpfsCIDv1AndPath(`${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V1}`), - ).toStrictEqual({ cid: IPFS_CID_V1, path: undefined }); - }); - - it('should return a path when url contains one', () => { - expect( - util.getIpfsCIDv1AndPath( - `${DEFAULT_IPFS_URL_FORMAT}${IPFS_CID_V1}/test/test/test`, - ), - ).toStrictEqual({ cid: IPFS_CID_V1, path: '/test/test/test' }); - }); - }); -}); - -describe('isPlainObject', () => { - it('returns false for null values', () => { - expect(util.isPlainObject(null)).toBe(false); - expect(util.isPlainObject(undefined)).toBe(false); - }); - - it('returns false for non objects', () => { - expect(util.isPlainObject(5)).toBe(false); - expect(util.isPlainObject('foo')).toBe(false); - }); - - it('returns false for arrays', () => { - expect(util.isPlainObject(['foo'])).toBe(false); - expect(util.isPlainObject([{}])).toBe(false); - }); - - it('returns true for objects', () => { - expect(util.isPlainObject({ foo: 'bar' })).toBe(true); - expect(util.isPlainObject({ foo: 'bar', test: { num: 5 } })).toBe(true); - }); -}); - -describe('hasProperty', () => { - it('returns false for non existing properties', () => { - expect(util.hasProperty({ foo: 'bar' }, 'property')).toBe(false); - }); - - it('returns true for existing properties', () => { - expect(util.hasProperty({ foo: 'bar' }, 'foo')).toBe(true); - }); -}); - -describe('isNonEmptyArray', () => { - it('returns false non arrays', () => { - // @ts-expect-error Invalid type for testing purposes - expect(util.isNonEmptyArray(null)).toBe(false); - // @ts-expect-error Invalid type for testing purposes - expect(util.isNonEmptyArray(undefined)).toBe(false); - }); - - it('returns false for empty array', () => { - expect(util.isNonEmptyArray([])).toBe(false); - }); - - it('returns true arrays with at least one item', () => { - expect(util.isNonEmptyArray([1])).toBe(true); - expect(util.isNonEmptyArray([1, 2, 3, 4])).toBe(true); - }); -}); - -describe('isValidJson', () => { - it('returns false for class instances', () => { - expect(util.isValidJson(new Map())).toBe(false); - }); - - it('returns true for valid JSON', () => { - expect(util.isValidJson({ foo: 'bar', test: { num: 5 } })).toBe(true); - }); -}); - -describe('isTokenDetectionSupportedForNetwork', () => { - it('returns true for Mainnet', () => { - expect( - util.isTokenDetectionSupportedForNetwork( - util.SupportedTokenDetectionNetworks.mainnet, - ), - ).toBe(true); - }); - - it('returns true for custom network such as BSC', () => { - expect( - util.isTokenDetectionSupportedForNetwork( - util.SupportedTokenDetectionNetworks.bsc, - ), - ).toBe(true); - }); - - it('returns false for testnets such as Ropsten', () => { - expect( - util.isTokenDetectionSupportedForNetwork(NetworksChainId.ropsten), - ).toBe(false); - }); -}); diff --git a/src/util.ts b/src/util.ts deleted file mode 100644 index e00bb97411..0000000000 --- a/src/util.ts +++ /dev/null @@ -1,1025 +0,0 @@ -import { - addHexPrefix, - isValidAddress, - isHexString, - bufferToHex, - BN, - toChecksumAddress, - stripHexPrefix, -} from 'ethereumjs-util'; -import { fromWei, toWei } from 'ethjs-unit'; -import { ethErrors } from 'eth-rpc-errors'; -import ensNamehash from 'eth-ens-namehash'; -import { TYPED_MESSAGE_SCHEMA, typedSignatureHash } from 'eth-sig-util'; -import { validate } from 'jsonschema'; -import { CID } from 'multiformats/cid'; -import deepEqual from 'fast-deep-equal'; -import { - Transaction, - FetchAllOptions, - GasPriceValue, - FeeMarketEIP1559Values, -} from './transaction/TransactionController'; -import { MessageParams } from './message-manager/MessageManager'; -import { PersonalMessageParams } from './message-manager/PersonalMessageManager'; -import { TypedMessageParams } from './message-manager/TypedMessageManager'; -import { Token } from './assets/TokenRatesController'; -import { MAINNET } from './constants'; -import { Json } from './BaseControllerV2'; - -const TIMEOUT_ERROR = new Error('timeout'); - -const hexRe = /^[0-9A-Fa-f]+$/gu; - -const NORMALIZERS: { [param in keyof Transaction]: any } = { - data: (data: string) => addHexPrefix(data), - from: (from: string) => addHexPrefix(from).toLowerCase(), - gas: (gas: string) => addHexPrefix(gas), - gasPrice: (gasPrice: string) => addHexPrefix(gasPrice), - nonce: (nonce: string) => addHexPrefix(nonce), - to: (to: string) => addHexPrefix(to).toLowerCase(), - value: (value: string) => addHexPrefix(value), - maxFeePerGas: (maxFeePerGas: string) => addHexPrefix(maxFeePerGas), - maxPriorityFeePerGas: (maxPriorityFeePerGas: string) => - addHexPrefix(maxPriorityFeePerGas), - estimatedBaseFee: (maxPriorityFeePerGas: string) => - addHexPrefix(maxPriorityFeePerGas), -}; - -/** - * Converts a BN object to a hex string with a '0x' prefix. - * - * @param inputBn - BN instance to convert to a hex string. - * @returns A '0x'-prefixed hex string. - */ -export function BNToHex(inputBn: any) { - return addHexPrefix(inputBn.toString(16)); -} - -/** - * Used to multiply a BN by a fraction. - * - * @param targetBN - Number to multiply by a fraction. - * @param numerator - Numerator of the fraction multiplier. - * @param denominator - Denominator of the fraction multiplier. - * @returns Product of the multiplication. - */ -export function fractionBN( - targetBN: any, - numerator: number | string, - denominator: number | string, -) { - const numBN = new BN(numerator); - const denomBN = new BN(denominator); - return targetBN.mul(numBN).div(denomBN); -} - -/** - * Used to convert a base-10 number from GWEI to WEI. Can handle numbers with decimal parts. - * - * @param n - The base 10 number to convert to WEI. - * @returns The number in WEI, as a BN. - */ -export function gweiDecToWEIBN(n: number | string) { - if (Number.isNaN(n)) { - return new BN(0); - } - - const parts = n.toString().split('.'); - const wholePart = parts[0] || '0'; - let decimalPart = parts[1] || ''; - - if (!decimalPart) { - return toWei(wholePart, 'gwei'); - } - - if (decimalPart.length <= 9) { - return toWei(`${wholePart}.${decimalPart}`, 'gwei'); - } - - const decimalPartToRemove = decimalPart.slice(9); - const decimalRoundingDigit = decimalPartToRemove[0]; - - decimalPart = decimalPart.slice(0, 9); - let wei = toWei(`${wholePart}.${decimalPart}`, 'gwei'); - - if (Number(decimalRoundingDigit) >= 5) { - wei = wei.add(new BN(1)); - } - - return wei; -} - -/** - * Used to convert values from wei hex format to dec gwei format. - * - * @param hex - The value in hex wei. - * @returns The value in dec gwei as string. - */ -export function weiHexToGweiDec(hex: string) { - const hexWei = new BN(stripHexPrefix(hex), 16); - return fromWei(hexWei, 'gwei').toString(10); -} - -/** - * Return a URL that can be used to obtain ETH for a given network. - * - * @param networkCode - Network code of desired network. - * @param address - Address to deposit obtained ETH. - * @param amount - How much ETH is desired. - * @returns URL to buy ETH based on network. - */ -export function getBuyURL( - networkCode = '1', - address?: string, - amount = 5, -): string | undefined { - switch (networkCode) { - case '1': - return `https://buy.coinbase.com/?code=9ec56d01-7e81-5017-930c-513daa27bb6a&amount=${amount}&address=${address}&crypto_currency=ETH`; - case '3': - return 'https://faucet.metamask.io/'; - case '4': - return 'https://www.rinkeby.io/'; - case '5': - return 'https://goerli-faucet.slock.it/'; - case '42': - return 'https://github.com/kovan-testnet/faucet'; - default: - return undefined; - } -} - -/** - * Return a URL that can be used to fetch ETH transactions. - * - * @param networkType - Network type of desired network. - * @param urlParams - The parameters used to construct the URL. - * @returns URL to fetch the access the endpoint. - */ -export function getEtherscanApiUrl( - networkType: string, - urlParams: any, -): string { - let etherscanSubdomain = 'api'; - if (networkType !== MAINNET) { - etherscanSubdomain = `api-${networkType}`; - } - const apiUrl = `https://${etherscanSubdomain}.etherscan.io`; - let url = `${apiUrl}/api?`; - - for (const paramKey in urlParams) { - if (urlParams[paramKey]) { - url += `${paramKey}=${urlParams[paramKey]}&`; - } - } - url += 'tag=latest&page=1'; - return url; -} - -/** - * Handles the fetch of incoming transactions. - * - * @param networkType - Network type of desired network. - * @param address - Address to get the transactions from. - * @param txHistoryLimit - The maximum number of transactions to fetch. - * @param opt - Object that can contain fromBlock and Etherscan service API key. - * @returns Responses for both ETH and ERC20 token transactions. - */ -export async function handleTransactionFetch( - networkType: string, - address: string, - txHistoryLimit: number, - opt?: FetchAllOptions, -): Promise<[{ [result: string]: [] }, { [result: string]: [] }]> { - // transactions - const urlParams = { - module: 'account', - address, - startBlock: opt?.fromBlock, - apikey: opt?.etherscanApiKey, - offset: txHistoryLimit.toString(), - order: 'desc', - }; - const etherscanTxUrl = getEtherscanApiUrl(networkType, { - ...urlParams, - action: 'txlist', - }); - const etherscanTxResponsePromise = handleFetch(etherscanTxUrl); - - // tokens - const etherscanTokenUrl = getEtherscanApiUrl(networkType, { - ...urlParams, - action: 'tokentx', - }); - const etherscanTokenResponsePromise = handleFetch(etherscanTokenUrl); - - let [etherscanTxResponse, etherscanTokenResponse] = await Promise.all([ - etherscanTxResponsePromise, - etherscanTokenResponsePromise, - ]); - - if ( - etherscanTxResponse.status === '0' || - etherscanTxResponse.result.length <= 0 - ) { - etherscanTxResponse = { status: etherscanTxResponse.status, result: [] }; - } - - if ( - etherscanTokenResponse.status === '0' || - etherscanTokenResponse.result.length <= 0 - ) { - etherscanTokenResponse = { - status: etherscanTokenResponse.status, - result: [], - }; - } - - return [etherscanTxResponse, etherscanTokenResponse]; -} - -/** - * Converts a hex string to a BN object. - * - * @param inputHex - Number represented as a hex string. - * @returns A BN instance. - */ -export function hexToBN(inputHex: string) { - return new BN(stripHexPrefix(inputHex), 16); -} - -/** - * A helper function that converts hex data to human readable string. - * - * @param hex - The hex string to convert to string. - * @returns A human readable string conversion. - */ -export function hexToText(hex: string) { - try { - const stripped = stripHexPrefix(hex); - const buff = Buffer.from(stripped, 'hex'); - return buff.toString('utf8'); - } catch (e) { - /* istanbul ignore next */ - return hex; - } -} - -/** - * Parses a hex string and converts it into a number that can be operated on in a bignum-safe, - * base-10 way. - * - * @param value - A base-16 number encoded as a string. - * @returns The number as a BN object in base-16 mode. - */ -export function fromHex(value: string | BN): BN { - if (BN.isBN(value)) { - return value; - } - return new BN(hexToBN(value).toString(10)); -} - -/** - * Converts an integer to a hexadecimal representation. - * - * @param value - An integer, an integer encoded as a base-10 string, or a BN. - * @returns The integer encoded as a hex string. - */ -export function toHex(value: number | string | BN): string { - if (typeof value === 'string' && isHexString(value)) { - return value; - } - const hexString = BN.isBN(value) - ? value.toString(16) - : new BN(value.toString(), 10).toString(16); - return `0x${hexString}`; -} - -/** - * Normalizes properties on a Transaction object. - * - * @param transaction - Transaction object to normalize. - * @returns Normalized Transaction object. - */ -export function normalizeTransaction(transaction: Transaction) { - const normalizedTransaction: Transaction = { from: '' }; - let key: keyof Transaction; - for (key in NORMALIZERS) { - if (transaction[key as keyof Transaction]) { - normalizedTransaction[key] = NORMALIZERS[key](transaction[key]) as never; - } - } - return normalizedTransaction; -} - -/** - * Execute and return an asynchronous operation without throwing errors. - * - * @param operation - Function returning a Promise. - * @param logError - Determines if the error should be logged. - * @returns Promise resolving to the result of the async operation. - */ -export async function safelyExecute( - operation: () => Promise, - logError = false, -) { - try { - return await operation(); - } catch (error: any) { - /* istanbul ignore next */ - if (logError) { - console.error(error); - } - return undefined; - } -} - -/** - * Execute and return an asynchronous operation with a timeout. - * - * @param operation - Function returning a Promise. - * @param logError - Determines if the error should be logged. - * @param timeout - Timeout to fail the operation. - * @returns Promise resolving to the result of the async operation. - */ -export async function safelyExecuteWithTimeout( - operation: () => Promise, - logError = false, - timeout = 500, -) { - try { - return await Promise.race([ - operation(), - new Promise((_, reject) => - setTimeout(() => { - reject(TIMEOUT_ERROR); - }, timeout), - ), - ]); - } catch (error) { - /* istanbul ignore next */ - if (logError) { - console.error(error); - } - return undefined; - } -} - -/** - * Convert an address to a checksummed hexidecimal address. - * - * @param address - The address to convert. - * @returns A 0x-prefixed hexidecimal checksummed address. - */ -export function toChecksumHexAddress(address: string) { - const hexPrefixed = addHexPrefix(address); - if (!isHexString(hexPrefixed)) { - // Version 5.1 of ethereumjs-utils would have returned '0xY' for input 'y' - // but we shouldn't waste effort trying to change case on a clearly invalid - // string. Instead just return the hex prefixed original string which most - // closely mimics the original behavior. - return hexPrefixed; - } - return toChecksumAddress(hexPrefixed); -} - -/** - * Validates that the input is a hex address. This utility method is a thin - * wrapper around ethereumjs-util.isValidAddress, with the exception that it - * does not throw an error when provided values that are not hex strings. In - * addition, and by default, this method will return true for hex strings that - * meet the length requirement of a hex address, but are not prefixed with `0x` - * Finally, if the mixedCaseUseChecksum flag is true and a mixed case string is - * provided this method will validate it has the proper checksum formatting. - * - * @param possibleAddress - Input parameter to check against. - * @param options - The validation options. - * @param options.allowNonPrefixed - If true will first ensure '0x' is prepended to the string. - * @returns Whether or not the input is a valid hex address. - */ -export function isValidHexAddress( - possibleAddress: string, - { allowNonPrefixed = true } = {}, -) { - const addressToCheck = allowNonPrefixed - ? addHexPrefix(possibleAddress) - : possibleAddress; - if (!isHexString(addressToCheck)) { - return false; - } - - return isValidAddress(addressToCheck); -} - -/** - * Validates a Transaction object for required properties and throws in - * the event of any validation error. - * - * @param transaction - Transaction object to validate. - */ -export function validateTransaction(transaction: Transaction) { - if ( - !transaction.from || - typeof transaction.from !== 'string' || - !isValidHexAddress(transaction.from) - ) { - throw new Error( - `Invalid "from" address: ${transaction.from} must be a valid string.`, - ); - } - - if (transaction.to === '0x' || transaction.to === undefined) { - if (transaction.data) { - delete transaction.to; - } else { - throw new Error( - `Invalid "to" address: ${transaction.to} must be a valid string.`, - ); - } - } else if ( - transaction.to !== undefined && - !isValidHexAddress(transaction.to) - ) { - throw new Error( - `Invalid "to" address: ${transaction.to} must be a valid string.`, - ); - } - - if (transaction.value !== undefined) { - const value = transaction.value.toString(); - if (value.includes('-')) { - throw new Error(`Invalid "value": ${value} is not a positive number.`); - } - - if (value.includes('.')) { - throw new Error( - `Invalid "value": ${value} number must be denominated in wei.`, - ); - } - const intValue = parseInt(transaction.value, 10); - const isValid = - Number.isFinite(intValue) && - !Number.isNaN(intValue) && - !isNaN(Number(value)) && - Number.isSafeInteger(intValue); - if (!isValid) { - throw new Error( - `Invalid "value": ${value} number must be a valid number.`, - ); - } - } -} - -/** - * A helper function that converts rawmessageData buffer data to a hex, or just returns the data if - * it is already formatted as a hex. - * - * @param data - The buffer data to convert to a hex. - * @returns A hex string conversion of the buffer data. - */ -export function normalizeMessageData(data: string) { - try { - const stripped = stripHexPrefix(data); - if (stripped.match(hexRe)) { - return addHexPrefix(stripped); - } - } catch (e) { - /* istanbul ignore next */ - } - return bufferToHex(Buffer.from(data, 'utf8')); -} - -/** - * Validates a PersonalMessageParams and MessageParams objects for required properties and throws in - * the event of any validation error. - * - * @param messageData - PersonalMessageParams object to validate. - */ -export function validateSignMessageData( - messageData: PersonalMessageParams | MessageParams, -) { - const { from, data } = messageData; - if (!from || typeof from !== 'string' || !isValidHexAddress(from)) { - throw new Error(`Invalid "from" address: ${from} must be a valid string.`); - } - - if (!data || typeof data !== 'string') { - throw new Error(`Invalid message "data": ${data} must be a valid string.`); - } -} - -/** - * Validates a TypedMessageParams object for required properties and throws in - * the event of any validation error for eth_signTypedMessage_V1. - * - * @param messageData - TypedMessageParams object to validate. - */ -export function validateTypedSignMessageDataV1( - messageData: TypedMessageParams, -) { - if ( - !messageData.from || - typeof messageData.from !== 'string' || - !isValidHexAddress(messageData.from) - ) { - throw new Error( - `Invalid "from" address: ${messageData.from} must be a valid string.`, - ); - } - - if (!messageData.data || !Array.isArray(messageData.data)) { - throw new Error( - `Invalid message "data": ${messageData.data} must be a valid array.`, - ); - } - - try { - // typedSignatureHash will throw if the data is invalid. - typedSignatureHash(messageData.data as any); - } catch (e) { - throw new Error(`Expected EIP712 typed data.`); - } -} - -/** - * Validates a TypedMessageParams object for required properties and throws in - * the event of any validation error for eth_signTypedMessage_V3. - * - * @param messageData - TypedMessageParams object to validate. - */ -export function validateTypedSignMessageDataV3( - messageData: TypedMessageParams, -) { - if ( - !messageData.from || - typeof messageData.from !== 'string' || - !isValidHexAddress(messageData.from) - ) { - throw new Error( - `Invalid "from" address: ${messageData.from} must be a valid string.`, - ); - } - - if (!messageData.data || typeof messageData.data !== 'string') { - throw new Error( - `Invalid message "data": ${messageData.data} must be a valid array.`, - ); - } - let data; - try { - data = JSON.parse(messageData.data); - } catch (e) { - throw new Error('Data must be passed as a valid JSON string.'); - } - const validation = validate(data, TYPED_MESSAGE_SCHEMA); - if (validation.errors.length > 0) { - throw new Error( - 'Data must conform to EIP-712 schema. See https://git.io/fNtcx.', - ); - } -} - -/** - * Validates a ERC20 token to be added with EIP747. - * - * @param token - Token object to validate. - */ -export function validateTokenToWatch(token: Token) { - const { address, symbol, decimals } = token; - if (!address || !symbol || typeof decimals === 'undefined') { - throw ethErrors.rpc.invalidParams( - `Must specify address, symbol, and decimals.`, - ); - } - - if (typeof symbol !== 'string') { - throw ethErrors.rpc.invalidParams(`Invalid symbol: not a string.`); - } - - if (symbol.length > 11) { - throw ethErrors.rpc.invalidParams( - `Invalid symbol "${symbol}": longer than 11 characters.`, - ); - } - const numDecimals = parseInt(decimals as unknown as string, 10); - if (isNaN(numDecimals) || numDecimals > 36 || numDecimals < 0) { - throw ethErrors.rpc.invalidParams( - `Invalid decimals "${decimals}": must be 0 <= 36.`, - ); - } - - if (!isValidHexAddress(address)) { - throw ethErrors.rpc.invalidParams(`Invalid address "${address}".`); - } -} - -/** - * Returns whether the given code corresponds to a smart contract. - * - * @param code - The potential smart contract code. - * @returns Whether the code was smart contract code or not. - */ -export function isSmartContractCode(code: string) { - /* istanbul ignore if */ - if (!code) { - return false; - } - // Geth will return '0x', and ganache-core v2.2.1 will return '0x0' - const smartContractCode = code !== '0x' && code !== '0x0'; - return smartContractCode; -} - -/** - * Execute fetch and verify that the response was successful. - * - * @param request - Request information. - * @param options - Fetch options. - * @returns The fetch response. - */ -export async function successfulFetch(request: string, options?: RequestInit) { - const response = await fetch(request, options); - if (!response.ok) { - throw new Error( - `Fetch failed with status '${response.status}' for request '${request}'`, - ); - } - return response; -} - -/** - * Execute fetch and return object response. - * - * @param request - The request information. - * @param options - The fetch options. - * @returns The fetch response JSON data. - */ -export async function handleFetch(request: string, options?: RequestInit) { - const response = await successfulFetch(request, options); - const object = await response.json(); - return object; -} - -/** - * Execute fetch and return object response, log if known error thrown, otherwise rethrow error. - * - * @param request - the request options object - * @param request.url - The request url to query. - * @param request.options - The fetch options. - * @param request.timeout - Timeout to fail request - * @param request.errorCodesToCatch - array of error codes for errors we want to catch in a particular context - * @returns The fetch response JSON data or undefined (if error occurs). - */ -export async function fetchWithErrorHandling({ - url, - options, - timeout, - errorCodesToCatch, -}: { - url: string; - options?: RequestInit; - timeout?: number; - errorCodesToCatch?: number[]; -}) { - let result; - try { - if (timeout) { - result = Promise.race([ - await handleFetch(url, options), - new Promise((_, reject) => - setTimeout(() => { - reject(TIMEOUT_ERROR); - }, timeout), - ), - ]); - } else { - result = await handleFetch(url, options); - } - } catch (e) { - logOrRethrowError(e, errorCodesToCatch); - } - return result; -} - -/** - * Fetch that fails after timeout. - * - * @param url - Url to fetch. - * @param options - Options to send with the request. - * @param timeout - Timeout to fail request. - * @returns Promise resolving the request. - */ -export async function timeoutFetch( - url: string, - options?: RequestInit, - timeout = 500, -): Promise { - return Promise.race([ - successfulFetch(url, options), - new Promise((_, reject) => - setTimeout(() => { - reject(TIMEOUT_ERROR); - }, timeout), - ), - ]); -} - -/** - * Normalizes the given ENS name. - * - * @param ensName - The ENS name. - * @returns The normalized ENS name string. - */ -export function normalizeEnsName(ensName: string): string | null { - if (ensName && typeof ensName === 'string') { - try { - const normalized = ensNamehash.normalize(ensName.trim()); - // this regex is only sufficient with the above call to ensNamehash.normalize - // TODO: change 7 in regex to 3 when shorter ENS domains are live - if (normalized.match(/^(([\w\d-]+)\.)*[\w\d-]{7,}\.(eth|test)$/u)) { - return normalized; - } - } catch (_) { - // do nothing - } - } - return null; -} - -/** - * Wrapper method to handle EthQuery requests. - * - * @param ethQuery - EthQuery object initialized with a provider. - * @param method - Method to request. - * @param args - Arguments to send. - * @returns Promise resolving the request. - */ -export function query( - ethQuery: any, - method: string, - args: any[] = [], -): Promise { - return new Promise((resolve, reject) => { - const cb = (error: Error, result: any) => { - if (error) { - reject(error); - return; - } - resolve(result); - }; - - if (typeof ethQuery[method] === 'function') { - ethQuery[method](...args, cb); - } else { - ethQuery.sendAsync({ method, params: args }, cb); - } - }); -} - -/** - * Checks if a transaction is EIP-1559 by checking for the existence of - * maxFeePerGas and maxPriorityFeePerGas within its parameters. - * - * @param transaction - Transaction object to add. - * @returns Boolean that is true if the transaction is EIP-1559 (has maxFeePerGas and maxPriorityFeePerGas), otherwise returns false. - */ -export const isEIP1559Transaction = (transaction: Transaction): boolean => { - const hasOwnProp = (obj: Transaction, key: string) => - Object.prototype.hasOwnProperty.call(obj, key); - return ( - hasOwnProp(transaction, 'maxFeePerGas') && - hasOwnProp(transaction, 'maxPriorityFeePerGas') - ); -}; - -export const convertHexToDecimal = (value: string | undefined): number => - parseInt(value === undefined ? '0x0' : value, 16); - -export const getIncreasedPriceHex = (value: number, rate: number): string => - addHexPrefix(`${parseInt(`${value * rate}`, 10).toString(16)}`); - -export const getIncreasedPriceFromExisting = ( - value: string | undefined, - rate: number, -): string => { - return getIncreasedPriceHex(convertHexToDecimal(value), rate); -}; - -export const validateGasValues = ( - gasValues: GasPriceValue | FeeMarketEIP1559Values, -) => { - Object.keys(gasValues).forEach((key) => { - const value = (gasValues as any)[key]; - if (typeof value !== 'string' || !isHexString(value)) { - throw new TypeError( - `expected hex string for ${key} but received: ${value}`, - ); - } - }); -}; - -export const isFeeMarketEIP1559Values = ( - gasValues?: GasPriceValue | FeeMarketEIP1559Values, -): gasValues is FeeMarketEIP1559Values => - (gasValues as FeeMarketEIP1559Values)?.maxFeePerGas !== undefined || - (gasValues as FeeMarketEIP1559Values)?.maxPriorityFeePerGas !== undefined; - -export const isGasPriceValue = ( - gasValues?: GasPriceValue | FeeMarketEIP1559Values, -): gasValues is GasPriceValue => - (gasValues as GasPriceValue)?.gasPrice !== undefined; - -/** - * Validates that the proposed value is greater than or equal to the minimum value. - * - * @param proposed - The proposed value. - * @param min - The minimum value. - * @returns The proposed value. - * @throws Will throw if the proposed value is too low. - */ -export function validateMinimumIncrease(proposed: string, min: string) { - const proposedDecimal = convertHexToDecimal(proposed); - const minDecimal = convertHexToDecimal(min); - if (proposedDecimal >= minDecimal) { - return proposed; - } - const errorMsg = `The proposed value: ${proposedDecimal} should meet or exceed the minimum value: ${minDecimal}`; - throw new Error(errorMsg); -} - -/** - * Removes IPFS protocol prefix from input string. - * - * @param ipfsUrl - An IPFS url (e.g. ipfs://{content id}) - * @returns IPFS content identifier and (possibly) path in a string - * @throws Will throw if the url passed is not IPFS. - */ -export function removeIpfsProtocolPrefix(ipfsUrl: string) { - if (ipfsUrl.startsWith('ipfs://ipfs/')) { - return ipfsUrl.replace('ipfs://ipfs/', ''); - } else if (ipfsUrl.startsWith('ipfs://')) { - return ipfsUrl.replace('ipfs://', ''); - } - // this method should not be used with non-ipfs urls (i.e. startsWith('ipfs://') === true) - throw new Error('this method should not be used with non ipfs urls'); -} - -/** - * Extracts content identifier and path from an input string. - * - * @param ipfsUrl - An IPFS URL minus the IPFS protocol prefix - * @returns IFPS content identifier (cid) and sub path as string. - * @throws Will throw if the url passed is not ipfs. - */ -export function getIpfsCIDv1AndPath(ipfsUrl: string): { - cid: string; - path?: string; -} { - const url = removeIpfsProtocolPrefix(ipfsUrl); - - // check if there is a path - // (CID is everything preceding first forward slash, path is everything after) - const index = url.indexOf('/'); - const cid = index !== -1 ? url.substring(0, index) : url; - const path = index !== -1 ? url.substring(index) : undefined; - - // We want to ensure that the CID is v1 (https://docs.ipfs.io/concepts/content-addressing/#identifier-formats) - // because most cid v0s appear to be incompatible with IPFS subdomains - return { - cid: CID.parse(cid).toV1().toString(), - path, - }; -} - -/** - * Adds URL protocol prefix to input URL string if missing. - * - * @param urlString - An IPFS URL. - * @returns A URL with a https:// prepended. - */ -export function addUrlProtocolPrefix(urlString: string): string { - if (!urlString.match(/(^http:\/\/)|(^https:\/\/)/u)) { - return `https://${urlString}`; - } - return urlString; -} - -/** - * Formats URL correctly for use retrieving assets hosted on IPFS. - * - * @param ipfsGateway - The users preferred IPFS gateway (full URL or just host). - * @param ipfsUrl - The IFPS URL pointed at the asset. - * @param subdomainSupported - Boolean indicating whether the URL should be formatted with subdomains or not. - * @returns A formatted URL, with the user's preferred IPFS gateway and format (subdomain or not), pointing to an asset hosted on IPFS. - */ -export function getFormattedIpfsUrl( - ipfsGateway: string, - ipfsUrl: string, - subdomainSupported: boolean, -): string { - const { host, protocol, origin } = new URL(addUrlProtocolPrefix(ipfsGateway)); - if (subdomainSupported) { - const { cid, path } = getIpfsCIDv1AndPath(ipfsUrl); - return `${protocol}//${cid}.ipfs.${host}${path ?? ''}`; - } - const cidAndPath = removeIpfsProtocolPrefix(ipfsUrl); - return `${origin}/ipfs/${cidAndPath}`; -} - -type PlainObject = Record; - -/** - * Determines whether a value is a "plain" object. - * - * @param value - A value to check - * @returns True if the passed value is a plain object - */ -export function isPlainObject(value: unknown): value is PlainObject { - return Boolean(value) && typeof value === 'object' && !Array.isArray(value); -} - -export const hasProperty = ( - object: PlainObject, - key: string | number | symbol, -) => Reflect.hasOwnProperty.call(object, key); - -/** - * Like {@link Array}, but always non-empty. - * - * @template T - The non-empty array member type. - */ -export type NonEmptyArray = [T, ...T[]]; - -/** - * Type guard for {@link NonEmptyArray}. - * - * @template T - The non-empty array member type. - * @param value - The value to check. - * @returns Whether the value is a non-empty array. - */ -export function isNonEmptyArray(value: T[]): value is NonEmptyArray { - return Array.isArray(value) && value.length > 0; -} - -/** - * Type guard for {@link Json}. - * - * @param value - The value to check. - * @returns Whether the value is valid JSON. - */ -export function isValidJson(value: unknown): value is Json { - try { - return deepEqual(value, JSON.parse(JSON.stringify(value))); - } catch (_) { - return false; - } -} - -/** - * Networks where token detection is supported - Values are in decimal format - */ -export enum SupportedTokenDetectionNetworks { - mainnet = '1', - bsc = '56', - polygon = '137', - avax = '43114', -} - -/** - * Check if token detection is enabled for certain networks. - * - * @param chainId - ChainID of network - * @returns Whether the current network supports token detection - */ -export function isTokenDetectionSupportedForNetwork(chainId: string): boolean { - return Object.values(SupportedTokenDetectionNetworks).includes( - chainId, - ); -} - -/** - * Utility method to log if error is a common fetch error and otherwise rethrow it. - * - * @param error - Caught error that we should either rethrow or log to console - * @param codesToCatch - array of error codes for errors we want to catch and log in a particular context - */ -function logOrRethrowError(error: any, codesToCatch: number[] = []) { - if (!error) { - return; - } - - const includesErrorCodeToCatch = codesToCatch.some((code) => - error.message?.includes(`Fetch failed with status '${code}'`), - ); - - if ( - error instanceof Error && - (includesErrorCodeToCatch || - error.message?.includes('Failed to fetch') || - error === TIMEOUT_ERROR) - ) { - console.error(error); - } else { - throw error; - } -} diff --git a/tests/setupTests.ts b/tests/setupTests.ts deleted file mode 100644 index 9f4b4e806a..0000000000 --- a/tests/setupTests.ts +++ /dev/null @@ -1 +0,0 @@ -import 'isomorphic-fetch'; diff --git a/tsconfig.build.json b/tsconfig.build.json index 6cf1ea5582..d927fa6c32 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -1,8 +1,21 @@ { "references": [ + { "path": "./packages/announcement-controller/tsconfig.build.json" }, + { "path": "./packages/approval-controller/tsconfig.build.json" }, + { "path": "./packages/assets-controllers/tsconfig.build.json" }, { "path": "./packages/base-controller/tsconfig.build.json" }, + { "path": "./packages/composable-controller/tsconfig.build.json" }, { "path": "./packages/controller-utils/tsconfig.build.json" }, - { "path": "./packages/ens-controller/tsconfig.build.json" } + { "path": "./packages/gas-fee-controller/tsconfig.build.json" }, + { "path": "./packages/keyring-controller/tsconfig.build.json" }, + { "path": "./packages/message-manager/tsconfig.build.json" }, + { "path": "./packages/network-controller/tsconfig.build.json" }, + { "path": "./packages/notification-controller/tsconfig.build.json" }, + { "path": "./packages/permission-controller/tsconfig.build.json" }, + { "path": "./packages/rate-limit-controller/tsconfig.build.json" }, + { "path": "./packages/subject-metadata-controller/tsconfig.build.json" }, + { "path": "./packages/third-party-controllers/tsconfig.build.json" }, + { "path": "./packages/user-controllers/tsconfig.build.json" } ], "files": [], "include": [] diff --git a/tsconfig.json b/tsconfig.json index d430c62a13..b5c26ab403 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,9 +3,22 @@ "noEmit": true }, "references": [ + { "path": "./packages/announcement-controller" }, + { "path": "./packages/approval-controller" }, + { "path": "./packages/assets-controllers" }, { "path": "./packages/base-controller" }, + { "path": "./packages/composable-controller" }, { "path": "./packages/controller-utils" }, - { "path": "./packages/ens-controller" } + { "path": "./packages/gas-fee-controller" }, + { "path": "./packages/keyring-controller" }, + { "path": "./packages/message-manager" }, + { "path": "./packages/network-controller" }, + { "path": "./packages/notification-controller" }, + { "path": "./packages/permission-controller" }, + { "path": "./packages/rate-limit-controller" }, + { "path": "./packages/subject-metadata-controller" }, + { "path": "./packages/third-party-controllers" }, + { "path": "./packages/user-controllers" } ], "files": [], "include": [] diff --git a/yarn.lock b/yarn.lock index 462d9494da..51963db733 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,6 +15,13 @@ __metadata: languageName: node linkType: hard +"@apocentre/alias-sampling@npm:^0.5.3": + version: 0.5.3 + resolution: "@apocentre/alias-sampling@npm:0.5.3" + checksum: 0b339b25ab7a30f6332f322be5c796d2db582365f7531e22d579d16a8fc562cb0f4fba4b93e7afafe9b368a40b91660c6547e1650e72feebbc7615a1ef5accbe + languageName: node + linkType: hard + "@babel/code-frame@npm:7.12.11": version: 7.12.11 resolution: "@babel/code-frame@npm:7.12.11" @@ -51,7 +58,7 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.17.10": +"@babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.17.10": version: 7.17.10 resolution: "@babel/compat-data@npm:7.17.10" checksum: e85051087cd4690de5061909a2dd2d7f8b6434a3c2e30be6c119758db2027ae1845bcd75a81127423dd568b706ac6994a1a3d7d701069a23bf5cfe900728290b @@ -92,6 +99,31 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/generator@npm:7.18.2" + dependencies: + "@babel/types": ^7.18.2 + "@jridgewell/gen-mapping": ^0.3.0 + jsesc: ^2.5.1 + checksum: d0661e95532ddd97566d41fec26355a7b28d1cbc4df95fe80cc084c413342935911b48db20910708db39714844ddd614f61c2ec4cca3fb10181418bdcaa2e7a3 + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.13.0": + version: 7.18.2 + resolution: "@babel/helper-compilation-targets@npm:7.18.2" + dependencies: + "@babel/compat-data": ^7.17.10 + "@babel/helper-validator-option": ^7.16.7 + browserslist: ^4.20.2 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 4f02e79f20c0b3f8db5049ba8c35027c41ccb3fc7884835d04e49886538e0f55702959db1bb75213c94a5708fec2dc81a443047559a4f184abb884c72c0059b4 + languageName: node + linkType: hard + "@babel/helper-compilation-targets@npm:^7.17.10": version: 7.17.10 resolution: "@babel/helper-compilation-targets@npm:7.17.10" @@ -106,6 +138,24 @@ __metadata: languageName: node linkType: hard +"@babel/helper-define-polyfill-provider@npm:^0.3.1": + version: 0.3.1 + resolution: "@babel/helper-define-polyfill-provider@npm:0.3.1" + dependencies: + "@babel/helper-compilation-targets": ^7.13.0 + "@babel/helper-module-imports": ^7.12.13 + "@babel/helper-plugin-utils": ^7.13.0 + "@babel/traverse": ^7.13.0 + debug: ^4.1.1 + lodash.debounce: ^4.0.8 + resolve: ^1.14.2 + semver: ^6.1.2 + peerDependencies: + "@babel/core": ^7.4.0-0 + checksum: e3e93cb22febfc0449a210cdafb278e5e1a038af2ca2b02f5dee71c7a49e8ba26e469d631ee11a4243885961a62bb2e5b0a4deb3ec1d7918a33c953d05c3e584 + languageName: node + linkType: hard + "@babel/helper-environment-visitor@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-environment-visitor@npm:7.16.7" @@ -115,6 +165,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-environment-visitor@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/helper-environment-visitor@npm:7.18.2" + checksum: 1a9c8726fad454a082d077952a90f17188e92eabb3de236cb4782c49b39e3f69c327e272b965e9a20ff8abf37d30d03ffa6fd7974625a6c23946f70f7527f5e9 + languageName: node + linkType: hard + "@babel/helper-function-name@npm:^7.17.9": version: 7.17.9 resolution: "@babel/helper-function-name@npm:7.17.9" @@ -134,7 +191,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.16.7": +"@babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-module-imports@npm:7.16.7" dependencies: @@ -173,7 +230,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.17.12": +"@babel/helper-plugin-utils@npm:^7.13.0, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.17.12": version: 7.17.12 resolution: "@babel/helper-plugin-utils@npm:7.17.12" checksum: 4813cf0ddb0f143de032cb88d4207024a2334951db330f8216d6fa253ea320c02c9b2667429ef1a34b5e95d4cfbd085f6cb72d418999751c31d0baf2422cc61d @@ -297,6 +354,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.18.0": + version: 7.18.4 + resolution: "@babel/parser@npm:7.18.4" + bin: + parser: ./bin/babel-parser.js + checksum: e05b2dc720c4b200e088258f3c2a2de5041c140444edc38181d1217b10074e881a7133162c5b62356061f26279f08df5a06ec14c5842996ee8601ad03c57a44f + languageName: node + linkType: hard + "@babel/plugin-syntax-async-generators@npm:^7.8.4": version: 7.8.4 resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" @@ -440,6 +506,31 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-runtime@npm:^7.5.5": + version: 7.18.2 + resolution: "@babel/plugin-transform-runtime@npm:7.18.2" + dependencies: + "@babel/helper-module-imports": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 + babel-plugin-polyfill-corejs2: ^0.3.0 + babel-plugin-polyfill-corejs3: ^0.5.0 + babel-plugin-polyfill-regenerator: ^0.3.0 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 2f41b3a9213ddb795de0f7598e9e6dfe20781bab4346e34585f2ceab187dac03860db6e41c4819fb3ddb51111ee910c8b45971d6e886cd715e06ba0f3ea19481 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.5.5": + version: 7.18.3 + resolution: "@babel/runtime@npm:7.18.3" + dependencies: + regenerator-runtime: ^0.13.4 + checksum: db8526226aa02cfa35a5a7ac1a34b5f303c62a1f000c7db48cb06c6290e616483e5036ab3c4e7a84d0f3be6d4e2148d5fe5cec9564bf955f505c3e764b83d7f1 + languageName: node + linkType: hard + "@babel/template@npm:^7.16.7": version: 7.16.7 resolution: "@babel/template@npm:7.16.7" @@ -462,6 +553,24 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.13.0": + version: 7.18.2 + resolution: "@babel/traverse@npm:7.18.2" + dependencies: + "@babel/code-frame": ^7.16.7 + "@babel/generator": ^7.18.2 + "@babel/helper-environment-visitor": ^7.18.2 + "@babel/helper-function-name": ^7.17.9 + "@babel/helper-hoist-variables": ^7.16.7 + "@babel/helper-split-export-declaration": ^7.16.7 + "@babel/parser": ^7.18.0 + "@babel/types": ^7.18.2 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: e21c2d550bf610406cf21ef6fbec525cb1d80b9d6d71af67552478a24ee371203cb4025b23b110ae7288a62a874ad5898daad19ad23daa95dfc8ab47a47a092f + languageName: node + linkType: hard + "@babel/traverse@npm:^7.17.12, @babel/traverse@npm:^7.17.9, @babel/traverse@npm:^7.7.2": version: 7.17.12 resolution: "@babel/traverse@npm:7.17.12" @@ -512,6 +621,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.18.2": + version: 7.18.4 + resolution: "@babel/types@npm:7.18.4" + dependencies: + "@babel/helper-validator-identifier": ^7.16.7 + to-fast-properties: ^2.0.0 + checksum: 85df59beb99c1b95e9e41590442f2ffa1e5b1b558d025489db40c9f7c906bd03a17da26c3ec486e5800e80af27c42ca7eee9506d9212ab17766d2d68d30fbf52 + languageName: node + linkType: hard + "@babel/types@npm:^7.8.3": version: 7.8.7 resolution: "@babel/types@npm:7.8.7" @@ -574,6 +693,437 @@ __metadata: languageName: node linkType: hard +"@ethereumjs/common@npm:^2.0.0, @ethereumjs/common@npm:^2.3.1, @ethereumjs/common@npm:^2.6.4": + version: 2.6.4 + resolution: "@ethereumjs/common@npm:2.6.4" + dependencies: + crc-32: ^1.2.0 + ethereumjs-util: ^7.1.4 + checksum: 2d3ef9e76c2dfb9fd1fc390834107ffd49e7074b893f3985f3d5996e217064cfe3617b16aff42fb7e8631a21ae32286ddf8ec21251589c4ac43d5b3c03217f9f + languageName: node + linkType: hard + +"@ethereumjs/tx@npm:3.0.0": + version: 3.0.0 + resolution: "@ethereumjs/tx@npm:3.0.0" + dependencies: + "@ethereumjs/common": ^2.0.0 + ethereumjs-util: ^7.0.7 + checksum: 5a911bbdd9497d12407efd9a7238ab9e531af150663dca9701350da4cdc9cc46ec86cba6b583a5ae935e7f490553bb3bdf9dabdb1e0fcbbe3a1869c4dfbaf058 + languageName: node + linkType: hard + +"@ethereumjs/tx@npm:^3.2.1, @ethereumjs/tx@npm:^3.3.0": + version: 3.5.2 + resolution: "@ethereumjs/tx@npm:3.5.2" + dependencies: + "@ethereumjs/common": ^2.6.4 + ethereumjs-util: ^7.1.5 + checksum: a34a7228a623b40300484d15875b9f31f0a612cfeab64a845f6866cf0bfe439519e9455ac6396149f29bc527cf0ee277ace082ae013a1075dcbf7193220a0146 + languageName: node + linkType: hard + +"@ethersproject/abi@npm:5.6.3, @ethersproject/abi@npm:^5.6.3": + version: 5.6.3 + resolution: "@ethersproject/abi@npm:5.6.3" + dependencies: + "@ethersproject/address": ^5.6.1 + "@ethersproject/bignumber": ^5.6.2 + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/constants": ^5.6.1 + "@ethersproject/hash": ^5.6.1 + "@ethersproject/keccak256": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/strings": ^5.6.1 + checksum: 64b89ca153c22dbe95cc024abac7e08849f92b9b33b024b67da6ac127706d37fcbd36cf5713a462b8c3371b49664c4181ca4ab81e6ee55413ea5265e8b59f175 + languageName: node + linkType: hard + +"@ethersproject/abstract-provider@npm:5.6.1, @ethersproject/abstract-provider@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/abstract-provider@npm:5.6.1" + dependencies: + "@ethersproject/bignumber": ^5.6.2 + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/networks": ^5.6.3 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/transactions": ^5.6.2 + "@ethersproject/web": ^5.6.1 + checksum: a1be8035d9e67fd41a336e2d38f5cf03b7a2590243749b4cf807ad73906b5a298e177ebe291cb5b54262ded4825169bf82968e0e5b09fbea17444b903faeeab0 + languageName: node + linkType: hard + +"@ethersproject/abstract-signer@npm:5.6.2, @ethersproject/abstract-signer@npm:^5.6.2": + version: 5.6.2 + resolution: "@ethersproject/abstract-signer@npm:5.6.2" + dependencies: + "@ethersproject/abstract-provider": ^5.6.1 + "@ethersproject/bignumber": ^5.6.2 + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + checksum: 09f3dd1309b37bb3803057d618e4a831668e010e22047f52f1719f2b6f50b63805f1bec112b1603880d6c6b7d403ed187611ff1b14ae1f151141ede186a04996 + languageName: node + linkType: hard + +"@ethersproject/address@npm:5.6.1, @ethersproject/address@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/address@npm:5.6.1" + dependencies: + "@ethersproject/bignumber": ^5.6.2 + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/keccak256": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/rlp": ^5.6.1 + checksum: 262096ef05a1b626c161a72698a5d8b06aebf821fe01a1651ab40f80c29ca2481b96be7f972745785fd6399906509458c4c9a38f3bc1c1cb5afa7d2f76f7309a + languageName: node + linkType: hard + +"@ethersproject/base64@npm:5.6.1, @ethersproject/base64@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/base64@npm:5.6.1" + dependencies: + "@ethersproject/bytes": ^5.6.1 + checksum: d21c5c297e1b8bc48fe59012c0cd70a90df7772fac07d9cc3da499d71d174d9f48edfd83495d4a1496cb70e8d1b33fb5b549a9529c5c2f97bb3a07d3f33a3fe8 + languageName: node + linkType: hard + +"@ethersproject/basex@npm:5.6.1, @ethersproject/basex@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/basex@npm:5.6.1" + dependencies: + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/properties": ^5.6.0 + checksum: a14b75d2c25d0ac00ce0098e5bd338d4cce7a68c583839b2bc4e3512ffcb14498b18cbcb4e05b695d216d2a23814d0c335385f35b3118735cc4895234db5ae1c + languageName: node + linkType: hard + +"@ethersproject/bignumber@npm:5.6.2, @ethersproject/bignumber@npm:^5.6.2": + version: 5.6.2 + resolution: "@ethersproject/bignumber@npm:5.6.2" + dependencies: + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + bn.js: ^5.2.1 + checksum: 9cf31c10274f1b6d45b16aed29f43729e8f5edec38c8ec8bb90d6b44f0eae14fda6519536228d23916a375ce11e71a77279a912d653ea02503959910b6bf9de7 + languageName: node + linkType: hard + +"@ethersproject/bytes@npm:5.6.1, @ethersproject/bytes@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/bytes@npm:5.6.1" + dependencies: + "@ethersproject/logger": ^5.6.0 + checksum: d06ffe3bf12aa8a6588d99b82e40b46a2cbb8b057fc650aad836e3e8c95d4559773254eeeb8fed652066dcf8082e527e37cd2b9fff7ac8cabc4de7c49459a7eb + languageName: node + linkType: hard + +"@ethersproject/constants@npm:5.6.1, @ethersproject/constants@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/constants@npm:5.6.1" + dependencies: + "@ethersproject/bignumber": ^5.6.2 + checksum: 3c6abcee60f1620796dc40210a638b601ad8a2d3f6668a69c42a5ca361044f21296b16d1d43b8a00f7c28b385de4165983a8adf671e0983f5ef07459dfa84997 + languageName: node + linkType: hard + +"@ethersproject/contracts@npm:5.6.2": + version: 5.6.2 + resolution: "@ethersproject/contracts@npm:5.6.2" + dependencies: + "@ethersproject/abi": ^5.6.3 + "@ethersproject/abstract-provider": ^5.6.1 + "@ethersproject/abstract-signer": ^5.6.2 + "@ethersproject/address": ^5.6.1 + "@ethersproject/bignumber": ^5.6.2 + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/constants": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/transactions": ^5.6.2 + checksum: c5a36ce3d0b88dc80db0135aaf39a71c0f14e262fd14172ae557d8943e69d3a2ba52c8f73f67639db0c235ea51155a97ff3584d431b92686f4c711b1004e6f87 + languageName: node + linkType: hard + +"@ethersproject/hash@npm:5.6.1, @ethersproject/hash@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/hash@npm:5.6.1" + dependencies: + "@ethersproject/abstract-signer": ^5.6.2 + "@ethersproject/address": ^5.6.1 + "@ethersproject/bignumber": ^5.6.2 + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/keccak256": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/strings": ^5.6.1 + checksum: 1338b578a51bc5cb692c17b1cabc51e484e9e3e009c4ffec13032332fc7e746c115968de1c259133cdcdad55fa96c5c8a5144170190c62b968a3fedb5b1d2cdb + languageName: node + linkType: hard + +"@ethersproject/hdnode@npm:5.6.2, @ethersproject/hdnode@npm:^5.6.2": + version: 5.6.2 + resolution: "@ethersproject/hdnode@npm:5.6.2" + dependencies: + "@ethersproject/abstract-signer": ^5.6.2 + "@ethersproject/basex": ^5.6.1 + "@ethersproject/bignumber": ^5.6.2 + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/pbkdf2": ^5.6.1 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/sha2": ^5.6.1 + "@ethersproject/signing-key": ^5.6.2 + "@ethersproject/strings": ^5.6.1 + "@ethersproject/transactions": ^5.6.2 + "@ethersproject/wordlists": ^5.6.1 + checksum: b096882ac75d6738c085bf7cdaaf06b6b89055b8e98469df4abf00d600a6131299ec25ca3bc71986cc79d70ddf09ec00258e7ce7e94c45d5ffb83aa616eaaaae + languageName: node + linkType: hard + +"@ethersproject/json-wallets@npm:5.6.1, @ethersproject/json-wallets@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/json-wallets@npm:5.6.1" + dependencies: + "@ethersproject/abstract-signer": ^5.6.2 + "@ethersproject/address": ^5.6.1 + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/hdnode": ^5.6.2 + "@ethersproject/keccak256": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/pbkdf2": ^5.6.1 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/random": ^5.6.1 + "@ethersproject/strings": ^5.6.1 + "@ethersproject/transactions": ^5.6.2 + aes-js: 3.0.0 + scrypt-js: 3.0.1 + checksum: 811b3596aaf1c1a64a8acef0c4fe0123a660349e6cbd5e970b1f9461966fd06858be0f154543bbd962a0ef0d369db52c6254c6b5264c172d44315085a2a6c454 + languageName: node + linkType: hard + +"@ethersproject/keccak256@npm:5.6.1, @ethersproject/keccak256@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/keccak256@npm:5.6.1" + dependencies: + "@ethersproject/bytes": ^5.6.1 + js-sha3: 0.8.0 + checksum: fdc950e22a1aafc92fdf749cdc5b8952b85e8cee8872d807c5f40be31f58675d30e0eca5e676876b93f2cd22ac63a344d384d116827ee80928c24b7c299991f5 + languageName: node + linkType: hard + +"@ethersproject/logger@npm:5.6.0, @ethersproject/logger@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/logger@npm:5.6.0" + checksum: 6eee38a973c7a458552278971c109a3e5df3c257e433cb959da9a287ea04628d1f510d41b83bd5f9da5ddc05d97d307ed2162a9ba1b4fcc50664e4f60061636c + languageName: node + linkType: hard + +"@ethersproject/networks@npm:5.6.3, @ethersproject/networks@npm:^5.6.3": + version: 5.6.3 + resolution: "@ethersproject/networks@npm:5.6.3" + dependencies: + "@ethersproject/logger": ^5.6.0 + checksum: 94d2981eeed0accb69124cfb9a807552ada98b370415c9d906018bd70a33bc5a1286ff01eb2a3ce213c12334fcc7ab635ad0429f25a687b9b8f34d26d21df74b + languageName: node + linkType: hard + +"@ethersproject/pbkdf2@npm:5.6.1, @ethersproject/pbkdf2@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/pbkdf2@npm:5.6.1" + dependencies: + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/sha2": ^5.6.1 + checksum: 316006373828a189bf22b7a08df7dd7ffe24e5f2c83e6d09d922ce663892cc14c7d27524dc4e51993d51e4464a7b7ce5e7b23453bdc85e3c6d4d5c41aa7227cf + languageName: node + linkType: hard + +"@ethersproject/properties@npm:5.6.0, @ethersproject/properties@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/properties@npm:5.6.0" + dependencies: + "@ethersproject/logger": ^5.6.0 + checksum: adcb6a843dcdf809262d77d6fbe52acdd48703327b298f78e698b76784e89564fb81791d27eaee72b1a6aaaf5688ea2ae7a95faabdef8b4aecc99989fec55901 + languageName: node + linkType: hard + +"@ethersproject/providers@npm:5.6.8": + version: 5.6.8 + resolution: "@ethersproject/providers@npm:5.6.8" + dependencies: + "@ethersproject/abstract-provider": ^5.6.1 + "@ethersproject/abstract-signer": ^5.6.2 + "@ethersproject/address": ^5.6.1 + "@ethersproject/base64": ^5.6.1 + "@ethersproject/basex": ^5.6.1 + "@ethersproject/bignumber": ^5.6.2 + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/constants": ^5.6.1 + "@ethersproject/hash": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/networks": ^5.6.3 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/random": ^5.6.1 + "@ethersproject/rlp": ^5.6.1 + "@ethersproject/sha2": ^5.6.1 + "@ethersproject/strings": ^5.6.1 + "@ethersproject/transactions": ^5.6.2 + "@ethersproject/web": ^5.6.1 + bech32: 1.1.4 + ws: 7.4.6 + checksum: 27dc2005e1ae7a6d498bb0bbacc6ad1f7164a599cf5aaad7c51cfd7c4d36d0cc5c7c40ba504f9017c746e8a0f008f15ad24e9961816793b49755dcb5c01540c0 + languageName: node + linkType: hard + +"@ethersproject/random@npm:5.6.1, @ethersproject/random@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/random@npm:5.6.1" + dependencies: + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + checksum: 55517d65eee6dcc0848ef10a825245d61553a6c1bec15d2f69d9430ce4568d9af32013e2aa96c8336545465a24a1fd04defbe9e9f76a5ee110dc5128d4111c11 + languageName: node + linkType: hard + +"@ethersproject/rlp@npm:5.6.1, @ethersproject/rlp@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/rlp@npm:5.6.1" + dependencies: + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + checksum: 43a281d0e7842606e2337b5552c13f4b5dad209dce173de39ef6866e02c9d7b974f1cae945782f4c4b74a8e22d8272bfd0348c1cd1bfeb2c278078ef95565488 + languageName: node + linkType: hard + +"@ethersproject/sha2@npm:5.6.1, @ethersproject/sha2@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/sha2@npm:5.6.1" + dependencies: + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + hash.js: 1.1.7 + checksum: 04313cb4a8e24ce8b5736f9d08906764fbfdab19bc64adef363cf570defa72926d8faae19aed805e1caee737f5efecdc60a4c89fd2b1ee2b3ba0eb9555cae3ae + languageName: node + linkType: hard + +"@ethersproject/signing-key@npm:5.6.2, @ethersproject/signing-key@npm:^5.6.2": + version: 5.6.2 + resolution: "@ethersproject/signing-key@npm:5.6.2" + dependencies: + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + bn.js: ^5.2.1 + elliptic: 6.5.4 + hash.js: 1.1.7 + checksum: 7889d0934c9664f87e7b7e021794e2d2ddb2e81c1392498e154cf2d5909b922d74d3df78cec44187f63dc700eddad8f8ea5ded47d2082a212a591818014ca636 + languageName: node + linkType: hard + +"@ethersproject/solidity@npm:5.6.1": + version: 5.6.1 + resolution: "@ethersproject/solidity@npm:5.6.1" + dependencies: + "@ethersproject/bignumber": ^5.6.2 + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/keccak256": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/sha2": ^5.6.1 + "@ethersproject/strings": ^5.6.1 + checksum: a31bd7b98314824d15e28350ee1a21c10e32d2f71579b46c72eab06b895dba147efe966874444a30b17846f9c2ad74043152ec49d4401148262afffb30727087 + languageName: node + linkType: hard + +"@ethersproject/strings@npm:5.6.1, @ethersproject/strings@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/strings@npm:5.6.1" + dependencies: + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/constants": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + checksum: dcf33c2ddb22a48c3d7afc151a5f37e5a4da62a742a298988d517dc9adfaff9c5a0ebd8f476ec9792704cfc8142abd541e97432bc47cb121093edac7a5cfaf22 + languageName: node + linkType: hard + +"@ethersproject/transactions@npm:5.6.2, @ethersproject/transactions@npm:^5.6.2": + version: 5.6.2 + resolution: "@ethersproject/transactions@npm:5.6.2" + dependencies: + "@ethersproject/address": ^5.6.1 + "@ethersproject/bignumber": ^5.6.2 + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/constants": ^5.6.1 + "@ethersproject/keccak256": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/rlp": ^5.6.1 + "@ethersproject/signing-key": ^5.6.2 + checksum: 5cf13936ce406f97b71fc1e99090698c2e4276dcb17c5a022aa3c3f55825961edcb53d4a59166acab797275afa45fb93f1b9b602ebc709da6afa66853f849609 + languageName: node + linkType: hard + +"@ethersproject/units@npm:5.6.1": + version: 5.6.1 + resolution: "@ethersproject/units@npm:5.6.1" + dependencies: + "@ethersproject/bignumber": ^5.6.2 + "@ethersproject/constants": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + checksum: 79cc7c35181fc3bd76fc33d95f1c8d2a20a6339dfc22745184967481b66e0782ee12bbf75b4269119152cbd23bf7980b900978d885b5da72cfb74cf897411065 + languageName: node + linkType: hard + +"@ethersproject/wallet@npm:5.6.2": + version: 5.6.2 + resolution: "@ethersproject/wallet@npm:5.6.2" + dependencies: + "@ethersproject/abstract-provider": ^5.6.1 + "@ethersproject/abstract-signer": ^5.6.2 + "@ethersproject/address": ^5.6.1 + "@ethersproject/bignumber": ^5.6.2 + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/hash": ^5.6.1 + "@ethersproject/hdnode": ^5.6.2 + "@ethersproject/json-wallets": ^5.6.1 + "@ethersproject/keccak256": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/random": ^5.6.1 + "@ethersproject/signing-key": ^5.6.2 + "@ethersproject/transactions": ^5.6.2 + "@ethersproject/wordlists": ^5.6.1 + checksum: 88603a4797b8f489c76671ff096ad3630ad1226640032594cfb3376398b41c1c4875076f1cf6521854c42e4496cafd2171e6dc301669cbf6c972ba13e97be5b0 + languageName: node + linkType: hard + +"@ethersproject/web@npm:5.6.1, @ethersproject/web@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/web@npm:5.6.1" + dependencies: + "@ethersproject/base64": ^5.6.1 + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/strings": ^5.6.1 + checksum: 4acb62bb04431f5a1b1ec27e88847087676dd2fd72ba40c789f2885493e5eed6b6d387d5b47d4cdfc2775bcbe714e04bfaf0d04a6f30e929310384362e6be429 + languageName: node + linkType: hard + +"@ethersproject/wordlists@npm:5.6.1, @ethersproject/wordlists@npm:^5.6.1": + version: 5.6.1 + resolution: "@ethersproject/wordlists@npm:5.6.1" + dependencies: + "@ethersproject/bytes": ^5.6.1 + "@ethersproject/hash": ^5.6.1 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/strings": ^5.6.1 + checksum: 3be4f300705b3f4f2b1dfa3948aac2e5030ab6216086578ec5cd2fad130b6b30d2a6a3c54d94c6669601ed62b56e7052232bc0a934a451ef3320fd6513734729 + languageName: node + linkType: hard + "@gar/promisify@npm:^1.1.3": version: 1.1.3 resolution: "@gar/promisify@npm:1.1.3" @@ -895,6 +1445,56 @@ __metadata: languageName: node linkType: hard +"@keystonehq/base-eth-keyring@npm:^0.4.1": + version: 0.4.1 + resolution: "@keystonehq/base-eth-keyring@npm:0.4.1" + dependencies: + "@ethereumjs/tx": 3.0.0 + "@keystonehq/bc-ur-registry-eth": ^0.9.1 + ethereumjs-util: ^7.0.8 + hdkey: ^2.0.1 + uuid: ^8.3.2 + checksum: 582c8a5d581b2c2045ee225dc5722394e77be2c550c81ed21b072733b3bfbd4a043d2de25056843472f6bc534fd5072f9813cd0d520794c5d9ee1d1048b939ee + languageName: node + linkType: hard + +"@keystonehq/bc-ur-registry-eth@npm:^0.9.0, @keystonehq/bc-ur-registry-eth@npm:^0.9.1": + version: 0.9.1 + resolution: "@keystonehq/bc-ur-registry-eth@npm:0.9.1" + dependencies: + "@keystonehq/bc-ur-registry": ^0.5.0-alpha.5 + ethereumjs-util: ^7.0.8 + hdkey: ^2.0.1 + uuid: ^8.3.2 + checksum: 7fe8db26767a466e31cb3e48c0943823fae85c83b0390d130bec82ec4e7cd0a39eb72f33a0efb45bbe51541f4d758087e2009ee105ac35b43b0fc8826ec99d40 + languageName: node + linkType: hard + +"@keystonehq/bc-ur-registry@npm:^0.5.0-alpha.5": + version: 0.5.0-alpha.6 + resolution: "@keystonehq/bc-ur-registry@npm:0.5.0-alpha.6" + dependencies: + "@ngraveio/bc-ur": ^1.1.5 + base58check: ^2.0.0 + tslib: ^2.3.0 + checksum: 88605ded2fdde6a23dbb335e6b7c234c5f4f51d2eee432dbab7a4b06b18380d2fc76b8e4cb1527512e13f6a5d1aff29538d3d45019f94818fb43c8700673c506 + languageName: node + linkType: hard + +"@keystonehq/metamask-airgapped-keyring@npm:^0.3.0": + version: 0.3.1 + resolution: "@keystonehq/metamask-airgapped-keyring@npm:0.3.1" + dependencies: + "@ethereumjs/tx": ^3.3.0 + "@keystonehq/base-eth-keyring": ^0.4.1 + "@keystonehq/bc-ur-registry-eth": ^0.9.1 + "@metamask/obs-store": ^7.0.0 + rlp: ^2.2.6 + uuid: ^8.3.2 + checksum: 2e6c362c72afc2921707ae476a908a63e1cfae33035ae9a5192aca118d85f7f9db01593c584c44e9a62eb4632d0d4cf6e25270d82a7afc492edda69c2f1c2870 + languageName: node + linkType: hard + "@lavamoat/aa@npm:^2.0.1": version: 2.0.1 resolution: "@lavamoat/aa@npm:2.0.1" @@ -917,6 +1517,54 @@ __metadata: languageName: node linkType: hard +"@metamask/announcement-controller@workspace:packages/announcement-controller": + version: 0.0.0-use.local + resolution: "@metamask/announcement-controller@workspace:packages/announcement-controller" + dependencies: + "@metamask/base-controller": "workspace:~" + ts-deepmerge: ^2.0.1 + languageName: unknown + linkType: soft + +"@metamask/approval-controller@workspace:packages/approval-controller, @metamask/approval-controller@workspace:~": + version: 0.0.0-use.local + resolution: "@metamask/approval-controller@workspace:packages/approval-controller" + dependencies: + "@metamask/base-controller": "workspace:~" + eth-rpc-errors: ^4.0.0 + immer: ^9.0.6 + nanoid: ^3.1.31 + sinon: ^9.2.4 + ts-deepmerge: ^2.0.1 + languageName: unknown + linkType: soft + +"@metamask/assets-controllers@workspace:packages/assets-controllers, @metamask/assets-controllers@workspace:~": + version: 0.0.0-use.local + resolution: "@metamask/assets-controllers@workspace:packages/assets-controllers" + dependencies: + "@metamask/base-controller": "workspace:~" + "@metamask/controller-utils": "workspace:~" + "@metamask/network-controller": "workspace:~" + "@metamask/user-controllers": "workspace:~" + "@types/uuid": ^8.3.4 + "@types/web3": ^1.0.6 + abort-controller: ^3.0.0 + async-mutex: ^0.2.6 + eth-query: ^2.1.2 + eth-rpc-errors: ^4.0.0 + ethereumjs-util: ^7.1.4 + ethers: ^5.4.1 + ethjs-provider-http: ^0.1.6 + immer: ^9.0.6 + single-call-balance-checker-abi: ^1.0.0 + sinon: ^9.2.4 + ts-deepmerge: ^2.0.1 + uuid: ^8.3.2 + web3: ^0.20.7 + languageName: unknown + linkType: soft + "@metamask/auto-changelog@npm:^2.6.0": version: 2.6.0 resolution: "@metamask/auto-changelog@npm:2.6.0" @@ -931,24 +1579,59 @@ __metadata: languageName: node linkType: hard -"@metamask/base-controller@workspace:packages/base-controller": +"@metamask/base-controller@workspace:packages/base-controller, @metamask/base-controller@workspace:~": version: 0.0.0-use.local resolution: "@metamask/base-controller@workspace:packages/base-controller" dependencies: "@types/sinon": ^9.0.10 immer: ^9.0.6 - isomorphic-fetch: ^3.0.0 sinon: ^9.2.4 ts-deepmerge: ^2.0.1 languageName: unknown linkType: soft -"@metamask/controller-utils@workspace:packages/controller-utils": +"@metamask/bip39@npm:^4.0.0": + version: 4.0.0 + resolution: "@metamask/bip39@npm:4.0.0" + dependencies: + "@types/node": 11.11.6 + create-hash: ^1.1.0 + pbkdf2: ^3.0.9 + randombytes: ^2.0.1 + checksum: 0d629de806dd0a6c6ea2ff4ab4752931b15eda5abcf2975f3beed8b4161bcc4765ec97bd8ba0146059b10178f6cf1753f74223655908bc585a76b565f26d4f16 + languageName: node + linkType: hard + +"@metamask/composable-controller@workspace:packages/composable-controller": + version: 0.0.0-use.local + resolution: "@metamask/composable-controller@workspace:packages/composable-controller" + dependencies: + "@metamask/assets-controllers": "workspace:~" + "@metamask/base-controller": "workspace:~" + "@metamask/network-controller": "workspace:~" + "@metamask/third-party-controllers": "workspace:~" + "@metamask/user-controllers": "workspace:~" + immer: ^9.0.6 + sinon: ^9.2.4 + ts-deepmerge: ^2.0.1 + languageName: unknown + linkType: soft + +"@metamask/controller-utils@workspace:packages/controller-utils, @metamask/controller-utils@workspace:~": version: 0.0.0-use.local resolution: "@metamask/controller-utils@workspace:packages/controller-utils" dependencies: + "@metamask/assets-controllers": "workspace:~" + "@metamask/base-controller": "workspace:~" + "@metamask/message-manager": "workspace:~" + "@metamask/transaction-controller": "workspace:~" eth-ens-namehash: ^2.0.8 + eth-rpc-errors: ^4.0.0 ethereumjs-util: ^7.1.4 + ethjs-unit: ^0.1.6 + fast-deep-equal: ^3.1.3 + isomorphic-fetch: ^3.0.0 + multiformats: ^9.5.2 ts-deepmerge: ^2.0.1 languageName: unknown linkType: soft @@ -988,15 +1671,7 @@ __metadata: typedoc: ^0.22.15 typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 - languageName: unknown - linkType: soft - -"@metamask/ens-controller@workspace:packages/ens-controller": - version: 0.0.0-use.local - resolution: "@metamask/ens-controller@workspace:packages/ens-controller" - dependencies: - ethereumjs-util: ^7.1.4 - ts-deepmerge: ^2.0.1 + uuid: ^8.3.2 languageName: unknown linkType: soft @@ -1049,6 +1724,243 @@ __metadata: languageName: node linkType: hard +"@metamask/eth-hd-keyring@npm:^4.0.2": + version: 4.0.2 + resolution: "@metamask/eth-hd-keyring@npm:4.0.2" + dependencies: + "@metamask/bip39": ^4.0.0 + "@metamask/eth-sig-util": ^4.0.0 + eth-simple-keyring: ^4.2.0 + ethereumjs-util: ^7.0.9 + ethereumjs-wallet: ^1.0.1 + checksum: a390fe8baa71fa1e8416e20038c6d3e2b435ae0e7089d48f9ac5067e257971282d3cf2b8e7fcc0985c6cf0aa2839ea678ec92bc32aba02b764b18081f1f28d5e + languageName: node + linkType: hard + +"@metamask/eth-sig-util@npm:^4.0.0": + version: 4.0.1 + resolution: "@metamask/eth-sig-util@npm:4.0.1" + dependencies: + ethereumjs-abi: ^0.6.8 + ethereumjs-util: ^6.2.1 + ethjs-util: ^0.1.6 + tweetnacl: ^1.0.3 + tweetnacl-util: ^0.15.1 + checksum: 740df4c92a1282e6be4c00c86c1a8ccfb93e767596e43f6da895aa5bab4a28fc3c2209f0327db34924a4a1e9db72bc4d3dddfcfc45cca0b218c9ccbf7d1b1445 + languageName: node + linkType: hard + +"@metamask/gas-fee-controller@workspace:packages/gas-fee-controller": + version: 0.0.0-use.local + resolution: "@metamask/gas-fee-controller@workspace:packages/gas-fee-controller" + dependencies: + "@metamask/base-controller": "workspace:~" + "@metamask/controller-utils": "workspace:~" + "@metamask/network-controller": "workspace:~" + "@types/uuid": ^8.3.4 + eth-query: ^2.1.2 + ethereumjs-util: ^7.0.10 + ethjs-unit: ^0.1.6 + immer: ^9.0.6 + jest: ^28.1.0 + jest-when: ^3.5.1 + sinon: ^9.2.4 + ts-deepmerge: ^2.0.1 + uuid: ^8.3.2 + languageName: unknown + linkType: soft + +"@metamask/keyring-controller@workspace:packages/keyring-controller": + version: 0.0.0-use.local + resolution: "@metamask/keyring-controller@workspace:packages/keyring-controller" + dependencies: + "@ethereumjs/common": ^2.3.1 + "@ethereumjs/tx": ^3.2.1 + "@keystonehq/bc-ur-registry-eth": ^0.9.0 + "@keystonehq/metamask-airgapped-keyring": ^0.3.0 + "@metamask/base-controller": "workspace:~" + "@metamask/controller-utils": "workspace:~" + "@metamask/message-manager": "workspace:~" + "@metamask/user-controllers": "workspace:~" + async-mutex: ^0.2.6 + eth-keyring-controller: ^7.0.2 + eth-sig-util: ^3.0.0 + ethereumjs-util: ^7.0.10 + ethereumjs-wallet: ^1.0.1 + sinon: ^9.2.4 + ts-deepmerge: ^2.0.1 + uuid: ^8.3.2 + languageName: unknown + linkType: soft + +"@metamask/message-manager@workspace:packages/message-manager, @metamask/message-manager@workspace:~": + version: 0.0.0-use.local + resolution: "@metamask/message-manager@workspace:packages/message-manager" + dependencies: + "@metamask/base-controller": "workspace:~" + "@metamask/controller-utils": "workspace:~" + "@types/uuid": ^8.3.4 + eth-sig-util: ^3.0.0 + jsonschema: ^1.2.4 + ts-deepmerge: ^2.0.1 + uuid: ^8.3.2 + languageName: unknown + linkType: soft + +"@metamask/network-controller@workspace:packages/network-controller, @metamask/network-controller@workspace:~": + version: 0.0.0-use.local + resolution: "@metamask/network-controller@workspace:packages/network-controller" + dependencies: + "@metamask/base-controller": "workspace:~" + "@metamask/controller-utils": "workspace:~" + async-mutex: ^0.2.6 + eth-json-rpc-infura: ^5.1.0 + eth-query: ^2.1.2 + sinon: ^9.2.4 + ts-deepmerge: ^2.0.1 + web3-provider-engine: ^16.0.3 + languageName: unknown + linkType: soft + +"@metamask/notification-controller@workspace:packages/notification-controller": + version: 0.0.0-use.local + resolution: "@metamask/notification-controller@workspace:packages/notification-controller" + dependencies: + "@metamask/base-controller": "workspace:~" + "@metamask/controller-utils": "workspace:~" + immer: ^9.0.6 + nanoid: ^3.1.31 + ts-deepmerge: ^2.0.1 + languageName: unknown + linkType: soft + +"@metamask/obs-store@npm:^7.0.0": + version: 7.0.0 + resolution: "@metamask/obs-store@npm:7.0.0" + dependencies: + "@metamask/safe-event-emitter": ^2.0.0 + through2: ^2.0.3 + checksum: e1497140384de0ac689adbe7286df43e843c5d73fd8ba7080af2faab3de73e823b46b8214be1c839d9e9e5f86fb40df50a26e93bae936329daeaedae5e523323 + languageName: node + linkType: hard + +"@metamask/permission-controller@workspace:packages/permission-controller, @metamask/permission-controller@workspace:~": + version: 0.0.0-use.local + resolution: "@metamask/permission-controller@workspace:packages/permission-controller" + dependencies: + "@metamask/approval-controller": "workspace:~" + "@metamask/base-controller": "workspace:~" + "@metamask/controller-utils": "workspace:~" + "@metamask/types": ^1.1.0 + "@types/deep-freeze-strict": ^1.1.0 + deep-freeze-strict: ^1.1.1 + eth-rpc-errors: ^4.0.0 + immer: ^9.0.6 + json-rpc-engine: ^6.1.0 + nanoid: ^3.1.31 + ts-deepmerge: ^2.0.1 + languageName: unknown + linkType: soft + +"@metamask/rate-limit-controller@workspace:packages/rate-limit-controller": + version: 0.0.0-use.local + resolution: "@metamask/rate-limit-controller@workspace:packages/rate-limit-controller" + dependencies: + "@metamask/base-controller": "workspace:~" + eth-rpc-errors: ^4.0.0 + immer: ^9.0.6 + ts-deepmerge: ^2.0.1 + languageName: unknown + linkType: soft + +"@metamask/safe-event-emitter@npm:^2.0.0": + version: 2.0.0 + resolution: "@metamask/safe-event-emitter@npm:2.0.0" + checksum: 8b717ac5d53df0027c05509f03d0534700b5898dd1c3a53fb2dc4c0499ca5971b14aae67f522d09eb9f509e77f50afa95fdb3eda1afbff8b071c18a3d2905e93 + languageName: node + linkType: hard + +"@metamask/subject-metadata-controller@workspace:packages/subject-metadata-controller": + version: 0.0.0-use.local + resolution: "@metamask/subject-metadata-controller@workspace:packages/subject-metadata-controller" + dependencies: + "@metamask/base-controller": "workspace:~" + "@metamask/permission-controller": "workspace:~" + "@metamask/types": ^1.1.0 + immer: ^9.0.6 + ts-deepmerge: ^2.0.1 + languageName: unknown + linkType: soft + +"@metamask/third-party-controllers@workspace:packages/third-party-controllers, @metamask/third-party-controllers@workspace:~": + version: 0.0.0-use.local + resolution: "@metamask/third-party-controllers@workspace:packages/third-party-controllers" + dependencies: + "@metamask/base-controller": "workspace:~" + "@metamask/controller-utils": "workspace:~" + "@types/punycode": ^2.1.0 + eth-phishing-detect: ^1.2.0 + ethereumjs-util: ^7.1.4 + isomorphic-fetch: ^3.0.0 + punycode: ^2.1.1 + sinon: ^9.2.4 + ts-deepmerge: ^2.0.1 + languageName: unknown + linkType: soft + +"@metamask/transaction-controller@workspace:packages/transaction-controller, @metamask/transaction-controller@workspace:~": + version: 0.0.0-use.local + resolution: "@metamask/transaction-controller@workspace:packages/transaction-controller" + dependencies: + "@ethereumjs/common": ^2.3.1 + "@ethereumjs/tx": ^3.2.1 + "@metamask/base-controller": "workspace:~" + "@metamask/controller-utils": "workspace:~" + "@metamask/network-controller": "workspace:~" + async-mutex: ^0.2.6 + eth-method-registry: 1.1.0 + eth-query: ^2.1.2 + eth-rpc-errors: ^4.0.0 + ethereumjs-util: ^7.0.10 + ethjs-provider-http: ^0.1.6 + sinon: ^9.2.4 + ts-deepmerge: ^2.0.1 + uuid: ^8.3.2 + languageName: unknown + linkType: soft + +"@metamask/types@npm:^1.1.0": + version: 1.1.0 + resolution: "@metamask/types@npm:1.1.0" + checksum: 500e8c076a2b0a6d688c8c465101256f090547d99c9a5585efe3d1db7a494b6b2712b127043fb316912caffc4fff78976b9a7780780abb68305e8a3bf812689c + languageName: node + linkType: hard + +"@metamask/user-controllers@workspace:packages/user-controllers, @metamask/user-controllers@workspace:~": + version: 0.0.0-use.local + resolution: "@metamask/user-controllers@workspace:packages/user-controllers" + dependencies: + "@metamask/base-controller": "workspace:~" + "@metamask/controller-utils": "workspace:~" + ts-deepmerge: ^2.0.1 + languageName: unknown + linkType: soft + +"@ngraveio/bc-ur@npm:^1.1.5": + version: 1.1.6 + resolution: "@ngraveio/bc-ur@npm:1.1.6" + dependencies: + "@apocentre/alias-sampling": ^0.5.3 + assert: ^2.0.0 + bignumber.js: ^9.0.1 + cbor-sync: ^1.0.4 + crc: ^3.8.0 + jsbi: ^3.1.5 + sha.js: ^2.4.11 + checksum: 8081d0436a37ccc4612e0fdb8000b37d695ed14b82e909cb9f3931191b57dd9d33f67c4573911bc63e52267e7f8a3185979032ba16aa559183b5259071df3de8 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.3": version: 2.1.3 resolution: "@nodelib/fs.scandir@npm:2.1.3" @@ -1262,7 +2174,7 @@ __metadata: languageName: node linkType: hard -"@types/bn.js@npm:^5.1.0": +"@types/bn.js@npm:*, @types/bn.js@npm:^5.1.0": version: 5.1.0 resolution: "@types/bn.js@npm:5.1.0" dependencies: @@ -1271,6 +2183,15 @@ __metadata: languageName: node linkType: hard +"@types/bn.js@npm:^4.11.3": + version: 4.11.6 + resolution: "@types/bn.js@npm:4.11.6" + dependencies: + "@types/node": "*" + checksum: 7f66f2c7b7b9303b3205a57184261974b114495736b77853af5b18d857c0b33e82ce7146911e86e87a87837de8acae28986716fd381ac7c301fd6e8d8b6c811f + languageName: node + linkType: hard + "@types/color-name@npm:^1.1.1": version: 1.1.1 resolution: "@types/color-name@npm:1.1.1" @@ -1278,6 +2199,13 @@ __metadata: languageName: node linkType: hard +"@types/deep-freeze-strict@npm:^1.1.0": + version: 1.1.0 + resolution: "@types/deep-freeze-strict@npm:1.1.0" + checksum: 29819f8e53cd6e0e82be7878a113291363c4c5f7e43804f71a37667d845e68977245985c1f116cb04dc1c4eceffa499735b26acf5a3d25a30fc4557a88e95b18 + languageName: node + linkType: hard + "@types/glob@npm:^7.1.1": version: 7.1.4 resolution: "@types/glob@npm:7.1.4" @@ -1387,6 +2315,13 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:11.11.6": + version: 11.11.6 + resolution: "@types/node@npm:11.11.6" + checksum: 075f1c011cf568e49701419acbcb55c24906b3bb5a34d9412a3b88f228a7a78401a5ad4d3e1cd6855c99aaea5ef96e37fc86ca097e50f06da92cf822befc1fff + languageName: node + linkType: hard + "@types/node@npm:^14.14.31": version: 14.14.31 resolution: "@types/node@npm:14.14.31" @@ -1417,6 +2352,13 @@ __metadata: languageName: node linkType: hard +"@types/punycode@npm:^2.1.0": + version: 2.1.0 + resolution: "@types/punycode@npm:2.1.0" + checksum: 6835698becab395eb9ac186970fd7879aeb522ea72d516ef9d681d787989653fcc2439ecc07d48280e1ca11862773b806efeec3fdbd1207528829a83b65d4275 + languageName: node + linkType: hard + "@types/secp256k1@npm:^4.0.1": version: 4.0.1 resolution: "@types/secp256k1@npm:4.0.1" @@ -1427,11 +2369,11 @@ __metadata: linkType: hard "@types/sinon@npm:^9.0.10": - version: 9.0.10 - resolution: "@types/sinon@npm:9.0.10" + version: 9.0.11 + resolution: "@types/sinon@npm:9.0.11" dependencies: "@types/sinonjs__fake-timers": "*" - checksum: d0fb5db239af2292e8d107ac349861e0d01784d09d86732e90113752beddd0258fff7a993194767b8b5944882654a7cf594d83bb881fc0a60858167667f34923 + checksum: 2074490973012283ec9ccb9f607fa12f36c78d8801f63ec437d3e8351dae161a018836cc02e8b039118ec9fb7680331594716ed0858075a11d381edd27faa75c languageName: node linkType: hard @@ -1456,6 +2398,30 @@ __metadata: languageName: node linkType: hard +"@types/underscore@npm:*": + version: 1.11.4 + resolution: "@types/underscore@npm:1.11.4" + checksum: db9f8486bc851b732259e51f42d62aad1ae2158be5724612dc125ece5f5d61c51447f9dea28284c2a0f79cb95e788d01cb5ce97709880019213e69fab0dd1696 + languageName: node + linkType: hard + +"@types/uuid@npm:^8.3.4": + version: 8.3.4 + resolution: "@types/uuid@npm:8.3.4" + checksum: 6f11f3ff70f30210edaa8071422d405e9c1d4e53abbe50fdce365150d3c698fe7bbff65c1e71ae080cbfb8fded860dbb5e174da96fdbbdfcaa3fb3daa474d20f + languageName: node + linkType: hard + +"@types/web3@npm:^1.0.6": + version: 1.0.20 + resolution: "@types/web3@npm:1.0.20" + dependencies: + "@types/bn.js": "*" + "@types/underscore": "*" + checksum: d0c8e101650baf12d054ed978164a653359fc68ccf06783d7fc9bf3d65dcbad2c52a87b22b07ecd7814860e1d318dfb462b8ec2ad317660d1bbd9954b050e7b7 + languageName: node + linkType: hard + "@types/yargs-parser@npm:*": version: 13.0.0 resolution: "@types/yargs-parser@npm:13.0.0" @@ -1656,6 +2622,33 @@ __metadata: languageName: node linkType: hard +"abort-controller@npm:^3.0.0": + version: 3.0.0 + resolution: "abort-controller@npm:3.0.0" + dependencies: + event-target-shim: ^5.0.0 + checksum: 170bdba9b47b7e65906a28c8ce4f38a7a369d78e2271706f020849c1bfe0ee2067d4261df8bbb66eb84f79208fd5b710df759d64191db58cfba7ce8ef9c54b75 + languageName: node + linkType: hard + +"abstract-leveldown@npm:~2.6.0": + version: 2.6.3 + resolution: "abstract-leveldown@npm:2.6.3" + dependencies: + xtend: ~4.0.0 + checksum: 87b18580467c303c34c305620e2c3227010f64187d6b1cd60c2d1b9adc058b0c4de716e111e9493aaad0080cb7836601032c5084990cd713f86b6a78f1fab791 + languageName: node + linkType: hard + +"abstract-leveldown@npm:~2.7.1": + version: 2.7.2 + resolution: "abstract-leveldown@npm:2.7.2" + dependencies: + xtend: ~4.0.0 + checksum: 97c45a05d8b5d24edf3855c1f9a19f919c4a189e387929745289a53116c80638339a7d4e50ad76d0ad2900166adaeaf2e0350dcdcd453e783cd8f04fd9bea17a + languageName: node + linkType: hard + "acorn-globals@npm:^6.0.0": version: 6.0.0 resolution: "acorn-globals@npm:6.0.0" @@ -1707,6 +2700,20 @@ __metadata: languageName: node linkType: hard +"aes-js@npm:3.0.0": + version: 3.0.0 + resolution: "aes-js@npm:3.0.0" + checksum: 251e26d533cd1a915b44896b17d5ed68c24a02484cfdd2e74ec700a309267db96651ea4eb657bf20aac32a3baa61f6e34edf8e2fec2de440a655da9942d334b8 + languageName: node + linkType: hard + +"aes-js@npm:^3.1.2": + version: 3.1.2 + resolution: "aes-js@npm:3.1.2" + checksum: 062154d50b1e433cc8c3b8ca7879f3a6375d5e79c2a507b2b6c4ec920b4cd851bf2afa7f65c98761a9da89c0ab618cbe6529e8e9a1c71f93290b53128fb8f712 + languageName: node + linkType: hard + "agent-base@npm:6, agent-base@npm:^6.0.2": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -1935,6 +2942,18 @@ __metadata: languageName: node linkType: hard +"assert@npm:^2.0.0": + version: 2.0.0 + resolution: "assert@npm:2.0.0" + dependencies: + es6-object-assign: ^1.1.0 + is-nan: ^1.2.1 + object-is: ^1.0.1 + util: ^0.12.0 + checksum: bb91f181a86d10588ee16c5e09c280f9811373974c29974cbe401987ea34e966699d7989a812b0e19377b511ea0bc627f5905647ce569311824848ede382cae8 + languageName: node + linkType: hard + "astral-regex@npm:^2.0.0": version: 2.0.0 resolution: "astral-regex@npm:2.0.0" @@ -1942,6 +2961,47 @@ __metadata: languageName: node linkType: hard +"async-eventemitter@npm:^0.2.2": + version: 0.2.4 + resolution: "async-eventemitter@npm:0.2.4" + dependencies: + async: ^2.4.0 + checksum: b9e77e0f58ebd7188c50c23d613d1263e0ab501f5e677e02b57cc97d7032beaf60aafa189887e7105569c791e212df4af00b608be1e9a4c425911d577124911e + languageName: node + linkType: hard + +"async-limiter@npm:~1.0.0": + version: 1.0.1 + resolution: "async-limiter@npm:1.0.1" + checksum: 2b849695b465d93ad44c116220dee29a5aeb63adac16c1088983c339b0de57d76e82533e8e364a93a9f997f28bbfc6a92948cefc120652bd07f3b59f8d75cf2b + languageName: node + linkType: hard + +"async-mutex@npm:^0.2.6": + version: 0.2.6 + resolution: "async-mutex@npm:0.2.6" + dependencies: + tslib: ^2.0.0 + checksum: f50102e0c57f6a958528cff7dff13da070897f17107b42274417a7248905b927b6e51c3387f8aed1f5cd6005b0e692d64a83a0789be602e4e7e7da4afe08b889 + languageName: node + linkType: hard + +"async@npm:^1.4.2": + version: 1.5.2 + resolution: "async@npm:1.5.2" + checksum: fe5d6214d8f15bd51eee5ae8ec5079b228b86d2d595f47b16369dec2e11b3ff75a567bb5f70d12d79006665fbbb7ee0a7ec0e388524eefd454ecbe651c124ebd + languageName: node + linkType: hard + +"async@npm:^2.0.1, async@npm:^2.1.2, async@npm:^2.4.0, async@npm:^2.5.0": + version: 2.6.4 + resolution: "async@npm:2.6.4" + dependencies: + lodash: ^4.17.14 + checksum: a52083fb32e1ebe1d63e5c5624038bb30be68ff07a6c8d7dfe35e47c93fc144bd8652cbec869e0ac07d57dde387aa5f1386be3559cdee799cb1f789678d88e19 + languageName: node + linkType: hard + "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -1949,6 +3009,13 @@ __metadata: languageName: node linkType: hard +"available-typed-arrays@npm:^1.0.5": + version: 1.0.5 + resolution: "available-typed-arrays@npm:1.0.5" + checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a + languageName: node + linkType: hard + "aws-sign2@npm:~0.7.0": version: 0.7.0 resolution: "aws-sign2@npm:0.7.0" @@ -2005,6 +3072,42 @@ __metadata: languageName: node linkType: hard +"babel-plugin-polyfill-corejs2@npm:^0.3.0": + version: 0.3.1 + resolution: "babel-plugin-polyfill-corejs2@npm:0.3.1" + dependencies: + "@babel/compat-data": ^7.13.11 + "@babel/helper-define-polyfill-provider": ^0.3.1 + semver: ^6.1.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: ca873f14ccd6d2942013345a956de8165d0913556ec29756a748157140f5312f79eed487674e0ca562285880f05829b3712d72e1e4b412c2ce46bd6a50b4b975 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs3@npm:^0.5.0": + version: 0.5.2 + resolution: "babel-plugin-polyfill-corejs3@npm:0.5.2" + dependencies: + "@babel/helper-define-polyfill-provider": ^0.3.1 + core-js-compat: ^3.21.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 2f3184c73f80f00ac876a5ebcad945fd8d2ae70e5f85b7ab6cc3bc69bc74025f4f7070de7abbb2a7274c78e130bd34fc13f4c85342da28205930364a1ef0aa21 + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.3.0": + version: 0.3.1 + resolution: "babel-plugin-polyfill-regenerator@npm:0.3.1" + dependencies: + "@babel/helper-define-polyfill-provider": ^0.3.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f1473df7b700d6795ca41301b1e65a0aff15ce6c1463fc0ce2cf0c821114b0330920f59d4cebf52976363ee817ba29ad2758544a4661a724b08191080b9fe1da + languageName: node + linkType: hard + "babel-preset-current-node-syntax@npm:^1.0.0": version: 1.0.1 resolution: "babel-preset-current-node-syntax@npm:1.0.1" @@ -2039,6 +3142,15 @@ __metadata: languageName: node linkType: hard +"backoff@npm:^2.5.0": + version: 2.5.0 + resolution: "backoff@npm:2.5.0" + dependencies: + precond: 0.2 + checksum: ccdcf2a26acd9379d0d4f09e3fb3b7ee34dee94f07ab74d1e38b38f89a3675d9f3cbebb142d9c61c655f4c9eb63f1d6ec28cebeb3dc9215efd8fe7cef92725b9 + languageName: node + linkType: hard + "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" @@ -2046,6 +3158,13 @@ __metadata: languageName: node linkType: hard +"base-x@npm:^1.1.0": + version: 1.1.0 + resolution: "base-x@npm:1.1.0" + checksum: 54e24c32919442627fe48aaa76338f8ff02187b42eae6e75e829eef3e44e37f43b128a271733322a7c798626ac7f4fb06184db2ef0ce1da7f37c448ef6f76e26 + languageName: node + linkType: hard + "base-x@npm:^3.0.2": version: 3.0.8 resolution: "base-x@npm:3.0.8" @@ -2055,6 +3174,22 @@ __metadata: languageName: node linkType: hard +"base58check@npm:^2.0.0": + version: 2.0.0 + resolution: "base58check@npm:2.0.0" + dependencies: + bs58: ^3.0.0 + checksum: 19f77522a38d66d5c9cc16411880e258899a6807b31477e3ac33ebaa64555126e9b29e7d5d2be88748aae8b1d05f91e5eb3aef4847a033af25b8a0c0f995b037 + languageName: node + linkType: hard + +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 + languageName: node + linkType: hard + "bcrypt-pbkdf@npm:^1.0.0": version: 1.0.2 resolution: "bcrypt-pbkdf@npm:1.0.2" @@ -2064,6 +3199,27 @@ __metadata: languageName: node linkType: hard +"bech32@npm:1.1.4": + version: 1.1.4 + resolution: "bech32@npm:1.1.4" + checksum: 0e98db619191548390d6f09ff68b0253ba7ae6a55db93dfdbb070ba234c1fd3308c0606fbcc95fad50437227b10011e2698b89f0181f6e7f845c499bd14d0f4b + languageName: node + linkType: hard + +"bignumber.js@git+https://github.com/frozeman/bignumber.js-nolookahead.git": + version: 2.0.7 + resolution: "bignumber.js@https://github.com/frozeman/bignumber.js-nolookahead.git#commit=57692b3ecfc98bbdd6b3a516cb2353652ea49934" + checksum: 8f9d21a8c7ef04b70098c49760679ee469e84f5469595c08aa01af47e1bae7703ae474f02abc89aa106e034e3b3faca0c0fd4faae72a037f2d45f4b26cbd6c3d + languageName: node + linkType: hard + +"bignumber.js@npm:^9.0.1": + version: 9.0.2 + resolution: "bignumber.js@npm:9.0.2" + checksum: 8637b71d0a99104b20413c47578953970006fec6b4df796b9dcfd9835ea9c402ea0e727eba9a5ca9f9a393c1d88b6168c5bbe0887598b708d4f8b4870ad62e1f + languageName: node + linkType: hard + "blakejs@npm:^1.1.0": version: 1.1.0 resolution: "blakejs@npm:1.1.0" @@ -2071,7 +3227,14 @@ __metadata: languageName: node linkType: hard -"bn.js@npm:^4.11.1, bn.js@npm:^4.11.9": +"bn.js@npm:4.11.6": + version: 4.11.6 + resolution: "bn.js@npm:4.11.6" + checksum: db23047bf06fdf9cf74401c8e76bca9f55313c81df382247d2c753868b368562e69171716b81b7038ada8860af18346fd4bcd1cf9d4963f923fe8e54e61cb58a + languageName: node + linkType: hard + +"bn.js@npm:^4.11.0, bn.js@npm:^4.11.1, bn.js@npm:^4.11.8, bn.js@npm:^4.11.9": version: 4.12.0 resolution: "bn.js@npm:4.12.0" checksum: 39afb4f15f4ea537b55eaf1446c896af28ac948fdcf47171961475724d1bb65118cca49fa6e3d67706e4790955ec0e74de584e45c8f1ef89f46c812bee5b5a12 @@ -2085,6 +3248,13 @@ __metadata: languageName: node linkType: hard +"bn.js@npm:^5.2.0, bn.js@npm:^5.2.1": + version: 5.2.1 + resolution: "bn.js@npm:5.2.1" + checksum: 3dd8c8d38055fedfa95c1d5fc3c99f8dd547b36287b37768db0abab3c239711f88ff58d18d155dd8ad902b0b0cee973747b7ae20ea12a09473272b0201c9edd3 + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -2120,6 +3290,15 @@ __metadata: languageName: node linkType: hard +"browser-passworder@npm:^2.0.3": + version: 2.0.3 + resolution: "browser-passworder@npm:2.0.3" + dependencies: + browserify-unibabel: ^3.0.0 + checksum: df3ec46e1069f995e24f56979e825fd719a368187e307bd37f0440ac10833fbfb2fd02be02add9da2da991476ef9b146fd1480b04acbb8d96d4e4123af333667 + languageName: node + linkType: hard + "browser-process-hrtime@npm:^1.0.0": version: 1.0.0 resolution: "browser-process-hrtime@npm:1.0.0" @@ -2141,6 +3320,13 @@ __metadata: languageName: node linkType: hard +"browserify-unibabel@npm:^3.0.0": + version: 3.0.0 + resolution: "browserify-unibabel@npm:3.0.0" + checksum: fe1b502c098fe5f22d12023ec971791a00c910575712782b611917b1aea6e2311ac5adad2f1dbfaa26555346bc0f74ed5b3d8773b493d3ec5bc1928d90619c42 + languageName: node + linkType: hard + "browserslist@npm:^4.20.2": version: 4.20.3 resolution: "browserslist@npm:4.20.3" @@ -2156,6 +3342,21 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.20.3": + version: 4.20.4 + resolution: "browserslist@npm:4.20.4" + dependencies: + caniuse-lite: ^1.0.30001349 + electron-to-chromium: ^1.4.147 + escalade: ^3.1.1 + node-releases: ^2.0.5 + picocolors: ^1.0.0 + bin: + browserslist: cli.js + checksum: 0e56c42da765524e5c31bc9a1f08afaa8d5dba085071137cf21e56dc78d0cf0283764143df4c7d1c0cd18c3187fc9494e1d93fa0255004f0be493251a28635f9 + languageName: node + linkType: hard + "bs-logger@npm:0.x": version: 0.2.6 resolution: "bs-logger@npm:0.2.6" @@ -2165,6 +3366,15 @@ __metadata: languageName: node linkType: hard +"bs58@npm:^3.0.0": + version: 3.1.0 + resolution: "bs58@npm:3.1.0" + dependencies: + base-x: ^1.1.0 + checksum: 6d757a49958c43bc630f3b327511ce3ee065307c24240aa86189f72df0a4a8245c7ce7e7abad209b637f155006952c7b8f04bb4aa6ee4212a891882424bca82e + languageName: node + linkType: hard + "bs58@npm:^4.0.0": version: 4.0.1 resolution: "bs58@npm:4.0.1" @@ -2194,6 +3404,15 @@ __metadata: languageName: node linkType: hard +"btoa@npm:^1.2.1": + version: 1.2.1 + resolution: "btoa@npm:1.2.1" + bin: + btoa: bin/btoa.js + checksum: afbf004fb1b1d530e053ffa66ef5bd3878b101c59d808ac947fcff96810b4452abba2b54be687adadea2ba9efc7af48b04228742789bf824ef93f103767e690c + languageName: node + linkType: hard + "buffer-from@npm:^1.0.0": version: 1.1.1 resolution: "buffer-from@npm:1.1.1" @@ -2208,6 +3427,16 @@ __metadata: languageName: node linkType: hard +"buffer@npm:^5.1.0": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" + dependencies: + base64-js: ^1.3.1 + ieee754: ^1.1.13 + checksum: e2cf8429e1c4c7b8cbd30834ac09bd61da46ce35f5c22a78e6c2f04497d6d25541b16881e30a019c6fd3154150650ccee27a308eff3e26229d788bbdeb08ab84 + languageName: node + linkType: hard + "cacache@npm:^16.1.0": version: 16.1.1 resolution: "cacache@npm:16.1.1" @@ -2234,6 +3463,16 @@ __metadata: languageName: node linkType: hard +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind@npm:1.0.2" + dependencies: + function-bind: ^1.1.1 + get-intrinsic: ^1.0.2 + checksum: f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0 + languageName: node + linkType: hard + "callsites@npm:^3.0.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" @@ -2262,6 +3501,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001349": + version: 1.0.30001349 + resolution: "caniuse-lite@npm:1.0.30001349" + checksum: 0095fcbb7ca4ef76227f5c3788c3cdbad3c52a25825c577371ffa73a44d74ff43fc5a849e5fa37c8b4c6237bb5272777085e1f674f9f86fde9aed85201d26f07 + languageName: node + linkType: hard + "caseless@npm:~0.12.0": version: 0.12.0 resolution: "caseless@npm:0.12.0" @@ -2269,6 +3515,13 @@ __metadata: languageName: node linkType: hard +"cbor-sync@npm:^1.0.4": + version: 1.0.4 + resolution: "cbor-sync@npm:1.0.4" + checksum: 147834c64b43511b2ea601f02bc2cc4190ec8d41a7b8dc3e9037c636b484ca2124bc7d49da7a0f775ea5153ff799d57e45992816851dbb1d61335f308a0d0120 + languageName: node + linkType: hard + "chalk@npm:^2.0.0": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -2297,6 +3550,15 @@ __metadata: languageName: node linkType: hard +"checkpoint-store@npm:^1.1.0": + version: 1.1.0 + resolution: "checkpoint-store@npm:1.1.0" + dependencies: + functional-red-black-tree: ^1.0.1 + checksum: 94e921ccb222c7970615e8b2bcd956dbd52f15a1c397af0447dbdef8ecd32ffe342e394d39e55f2912278a460f3736de777b5b57a5baf229c0a6bd04d2465511 + languageName: node + linkType: hard + "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -2346,6 +3608,13 @@ __metadata: languageName: node linkType: hard +"clone@npm:^2.0.0, clone@npm:^2.1.1": + version: 2.1.2 + resolution: "clone@npm:2.1.2" + checksum: aaf106e9bc025b21333e2f4c12da539b568db4925c0501a1bf4070836c9e848c892fa22c35548ce0d1132b08bbbfa17a00144fe58fccdab6fa900fec4250f67d + languageName: node + linkType: hard + "co@npm:^4.6.0": version: 4.6.0 resolution: "co@npm:4.6.0" @@ -2463,6 +3732,23 @@ __metadata: languageName: node linkType: hard +"cookiejar@npm:^2.1.1": + version: 2.1.3 + resolution: "cookiejar@npm:2.1.3" + checksum: 88259983ebc52ceb23cdacfa48762b6a518a57872eff1c7ed01d214fff5cf492e2660d7d5c04700a28f1787a76811df39e8639f8e17670b3cf94ecd86e161f07 + languageName: node + linkType: hard + +"core-js-compat@npm:^3.21.0": + version: 3.22.8 + resolution: "core-js-compat@npm:3.22.8" + dependencies: + browserslist: ^4.20.3 + semver: 7.0.0 + checksum: 0c82d9110dcb267c2f5547c61b62f8043793d203523048169176b8badf0b73f3792624342b85d9c923df8eb8971b4aa468b160abb81a023d183c5951e4f05a66 + languageName: node + linkType: hard + "core-util-is@npm:1.0.2, core-util-is@npm:~1.0.0": version: 1.0.2 resolution: "core-util-is@npm:1.0.2" @@ -2470,6 +3756,24 @@ __metadata: languageName: node linkType: hard +"crc-32@npm:^1.2.0": + version: 1.2.2 + resolution: "crc-32@npm:1.2.2" + bin: + crc32: bin/crc32.njs + checksum: ad2d0ad0cbd465b75dcaeeff0600f8195b686816ab5f3ba4c6e052a07f728c3e70df2e3ca9fd3d4484dc4ba70586e161ca5a2334ec8bf5a41bf022a6103ff243 + languageName: node + linkType: hard + +"crc@npm:^3.8.0": + version: 3.8.0 + resolution: "crc@npm:3.8.0" + dependencies: + buffer: ^5.1.0 + checksum: dabbc4eba223b206068b92ca82bb471d583eb6be2384a87f5c3712730cfd6ba4b13a45e8ba3ef62174d5a781a2c5ac5c20bf36cf37bba73926899bd0aa19186f + languageName: node + linkType: hard + "create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": version: 1.2.0 resolution: "create-hash@npm:1.2.0" @@ -2515,6 +3819,13 @@ __metadata: languageName: node linkType: hard +"crypto-js@npm:^3.1.4": + version: 3.3.0 + resolution: "crypto-js@npm:3.3.0" + checksum: 193923143a4784b2f974366068d96fe8280168fd3fef2bfea9551a5c3e32096f5a8fa49ff4eeb5bd0b9716d325618d38cfbe6125e359a4ef488fbca93e600824 + languageName: node + linkType: hard + "cssom@npm:^0.5.0": version: 0.5.0 resolution: "cssom@npm:0.5.0" @@ -2614,6 +3925,13 @@ __metadata: languageName: node linkType: hard +"deep-freeze-strict@npm:^1.1.1": + version: 1.1.1 + resolution: "deep-freeze-strict@npm:1.1.1" + checksum: b601e226c873464e35f3667a632963c1e8281f6bb4016d0fbbd8ef60fd51f0c9dcf79fadd745d1597b463f2c25ea0f213599559606c29df8c7e941394cb80f9a + languageName: node + linkType: hard + "deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": version: 0.1.3 resolution: "deep-is@npm:0.1.3" @@ -2628,6 +3946,15 @@ __metadata: languageName: node linkType: hard +"deferred-leveldown@npm:~1.2.1": + version: 1.2.2 + resolution: "deferred-leveldown@npm:1.2.2" + dependencies: + abstract-leveldown: ~2.6.0 + checksum: ad3a26d20dc80c702c85c4795cbb52ef25d8e500728c98098b468c499ca745051e6cc03bd12be97ff38c43466a7895879db76ffb761a75b0f009829d990a0ea9 + languageName: node + linkType: hard + "define-properties@npm:^1.1.2, define-properties@npm:^1.1.3": version: 1.1.3 resolution: "define-properties@npm:1.1.3" @@ -2637,6 +3964,16 @@ __metadata: languageName: node linkType: hard +"define-properties@npm:^1.1.4": + version: 1.1.4 + resolution: "define-properties@npm:1.1.4" + dependencies: + has-property-descriptors: ^1.0.0 + object-keys: ^1.1.1 + checksum: ce0aef3f9eb193562b5cfb79b2d2c86b6a109dfc9fdcb5f45d680631a1a908c06824ddcdb72b7573b54e26ace07f0a23420aaba0d5c627b34d2c1de8ef527e2b + languageName: node + linkType: hard + "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -2728,6 +4065,13 @@ __metadata: languageName: node linkType: hard +"dom-walk@npm:^0.1.0": + version: 0.1.2 + resolution: "dom-walk@npm:0.1.2" + checksum: 19eb0ce9c6de39d5e231530685248545d9cd2bd97b2cb3486e0bfc0f2a393a9addddfd5557463a932b52fdfcf68ad2a619020cd2c74a5fe46fbecaa8e80872f3 + languageName: node + linkType: hard + "domexception@npm:^4.0.0": version: 4.0.0 resolution: "domexception@npm:4.0.0" @@ -2754,7 +4098,14 @@ __metadata: languageName: node linkType: hard -"elliptic@npm:^6.5.2": +"electron-to-chromium@npm:^1.4.147": + version: 1.4.148 + resolution: "electron-to-chromium@npm:1.4.148" + checksum: 3730c2eb46c7d0602b418a5a80e8d37e673c61d7cdc6a431a0d23bf08b6db6375c5f842d9e4285549ef2c5bad9189da34f05f28993fdb43920df5befc72db87a + languageName: node + linkType: hard + +"elliptic@npm:6.5.4, elliptic@npm:^6.5.2, elliptic@npm:^6.5.4": version: 6.5.4 resolution: "elliptic@npm:6.5.4" dependencies: @@ -2815,6 +4166,17 @@ __metadata: languageName: node linkType: hard +"errno@npm:~0.1.1": + version: 0.1.8 + resolution: "errno@npm:0.1.8" + dependencies: + prr: ~1.0.1 + bin: + errno: cli.js + checksum: 1271f7b9fbb3bcbec76ffde932485d1e3561856d21d847ec613a9722ee924cdd4e523a62dc71a44174d91e898fe21fdc8d5b50823f4b5e0ce8c35c8271e6ef4a + languageName: node + linkType: hard + "error-ex@npm:^1.2.0, error-ex@npm:^1.3.1": version: 1.3.2 resolution: "error-ex@npm:1.3.2" @@ -2843,6 +4205,37 @@ __metadata: languageName: node linkType: hard +"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.5, es-abstract@npm:^1.20.0": + version: 1.20.1 + resolution: "es-abstract@npm:1.20.1" + dependencies: + call-bind: ^1.0.2 + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + function.prototype.name: ^1.1.5 + get-intrinsic: ^1.1.1 + get-symbol-description: ^1.0.0 + has: ^1.0.3 + has-property-descriptors: ^1.0.0 + has-symbols: ^1.0.3 + internal-slot: ^1.0.3 + is-callable: ^1.2.4 + is-negative-zero: ^2.0.2 + is-regex: ^1.1.4 + is-shared-array-buffer: ^1.0.2 + is-string: ^1.0.7 + is-weakref: ^1.0.2 + object-inspect: ^1.12.0 + object-keys: ^1.1.1 + object.assign: ^4.1.2 + regexp.prototype.flags: ^1.4.3 + string.prototype.trimend: ^1.0.5 + string.prototype.trimstart: ^1.0.5 + unbox-primitive: ^1.0.2 + checksum: 28da27ae0ed9c76df7ee8ef5c278df79dcfdb554415faf7068bb7c58f8ba8e2a16bfb59e586844be6429ab4c302ca7748979d48442224cb1140b051866d74b7f + languageName: node + linkType: hard + "es-to-primitive@npm:^1.2.1": version: 1.2.1 resolution: "es-to-primitive@npm:1.2.1" @@ -2854,6 +4247,13 @@ __metadata: languageName: node linkType: hard +"es6-object-assign@npm:^1.1.0": + version: 1.1.0 + resolution: "es6-object-assign@npm:1.1.0" + checksum: 8d4fdf63484d78b5c64cacc2c2e1165bc7b6a64b739d2a9db6a4dc8641d99cc9efb433cdd4dc3d3d6b00bfa6ce959694e4665e3255190339945c5f33b692b5d8 + languageName: node + linkType: hard + "escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -3198,6 +4598,20 @@ __metadata: languageName: node linkType: hard +"eth-block-tracker@npm:^4.4.2": + version: 4.4.3 + resolution: "eth-block-tracker@npm:4.4.3" + dependencies: + "@babel/plugin-transform-runtime": ^7.5.5 + "@babel/runtime": ^7.5.5 + eth-query: ^2.1.0 + json-rpc-random-id: ^1.0.1 + pify: ^3.0.0 + safe-event-emitter: ^1.0.1 + checksum: 3ae7e459b19b65303ec7bd0df7ad2a69476adb01cf2f44699b3482fd14e9e058e9eb85a9612307ba33f565e29ca6d19466765122a1106d1def820f6bfe272d52 + languageName: node + linkType: hard + "eth-ens-namehash@npm:^2.0.8": version: 2.0.8 resolution: "eth-ens-namehash@npm:2.0.8" @@ -3208,6 +4622,159 @@ __metadata: languageName: node linkType: hard +"eth-json-rpc-filters@npm:^4.2.1": + version: 4.2.2 + resolution: "eth-json-rpc-filters@npm:4.2.2" + dependencies: + "@metamask/safe-event-emitter": ^2.0.0 + async-mutex: ^0.2.6 + eth-json-rpc-middleware: ^6.0.0 + eth-query: ^2.1.2 + json-rpc-engine: ^6.1.0 + pify: ^5.0.0 + checksum: add6ef65c30c6dc85f9ab464325b509247b1be2596763d30cc23c66d32e0a835830daf14bc36fc2e43670d0c54b4a6010bb981c9006372c5520fd6abdf0d6c77 + languageName: node + linkType: hard + +"eth-json-rpc-infura@npm:^5.1.0": + version: 5.1.0 + resolution: "eth-json-rpc-infura@npm:5.1.0" + dependencies: + eth-json-rpc-middleware: ^6.0.0 + eth-rpc-errors: ^3.0.0 + json-rpc-engine: ^5.3.0 + node-fetch: ^2.6.0 + checksum: 29712d77741b6bc94634d32286095e30e65e793034d1ba80fa14719ddb1a85a34cc8eddc36f0bbe3f9aaa841b80217e5347bb919004068749e0e945eff637a98 + languageName: node + linkType: hard + +"eth-json-rpc-middleware@npm:^6.0.0": + version: 6.0.0 + resolution: "eth-json-rpc-middleware@npm:6.0.0" + dependencies: + btoa: ^1.2.1 + clone: ^2.1.1 + eth-query: ^2.1.2 + eth-rpc-errors: ^3.0.0 + eth-sig-util: ^1.4.2 + ethereumjs-util: ^5.1.2 + json-rpc-engine: ^5.3.0 + json-stable-stringify: ^1.0.1 + node-fetch: ^2.6.1 + pify: ^3.0.0 + safe-event-emitter: ^1.0.1 + checksum: d4ef8c6ba85cc0060c09ded79152d46cdd1a85124c655f40bb8ca72a4b52dfe7ef101b45dae1ac04558900ccb10b98e5c9570be22715a7dc158e822728e159b5 + languageName: node + linkType: hard + +"eth-keyring-controller@npm:^7.0.2": + version: 7.0.2 + resolution: "eth-keyring-controller@npm:7.0.2" + dependencies: + "@metamask/bip39": ^4.0.0 + "@metamask/eth-hd-keyring": ^4.0.2 + browser-passworder: ^2.0.3 + eth-sig-util: ^3.0.1 + eth-simple-keyring: ^4.2.0 + obs-store: ^4.0.3 + checksum: e00c6d3b3e01ac19aa69e34538a24377ea9239929c7da8d355b62bb89e83c1e2c72ed60fd84fb86566c141f751f259f35aa7749dd204d669dc1e310a581aef56 + languageName: node + linkType: hard + +"eth-method-registry@npm:1.1.0": + version: 1.1.0 + resolution: "eth-method-registry@npm:1.1.0" + dependencies: + ethjs: ^0.3.0 + checksum: 3529e06e67740572d5771761d425faf5197695df06035e3c085213e45492eb1fad71f26df36c733769f4ceaa3d0f3d7e91065d42806f800e8ddc4b44b232c614 + languageName: node + linkType: hard + +"eth-phishing-detect@npm:^1.2.0": + version: 1.2.0 + resolution: "eth-phishing-detect@npm:1.2.0" + dependencies: + fast-levenshtein: ^2.0.6 + checksum: 66a6a7c249ec8494e0360663596ce980ca75747cd202c47732eca0bfc7a97c6debbae359842e4f3e4ac7e6c44ab1f7f091c3aa7baa330449d3c1b7cc58608b71 + languageName: node + linkType: hard + +"eth-query@npm:^2.1.0, eth-query@npm:^2.1.2": + version: 2.1.2 + resolution: "eth-query@npm:2.1.2" + dependencies: + json-rpc-random-id: ^1.0.0 + xtend: ^4.0.1 + checksum: 83daa0e28452c54722aec78cd24d036bad5b6e7c08035d98e10d4bea11f71662f12cab63ebd8a848d4df46ad316503d54ecccb41c9244d2ea8b29364b0a20201 + languageName: node + linkType: hard + +"eth-rpc-errors@npm:^3.0.0": + version: 3.0.0 + resolution: "eth-rpc-errors@npm:3.0.0" + dependencies: + fast-safe-stringify: ^2.0.6 + checksum: c14db72bd28e8545ce8d6bbe22fa092b11695cfedc22632eda875324354edac813742c097cf56e214bd3adc14c8b1160a7b8ee371c93126e5abbb55ca75671eb + languageName: node + linkType: hard + +"eth-rpc-errors@npm:^4.0.0, eth-rpc-errors@npm:^4.0.2": + version: 4.0.3 + resolution: "eth-rpc-errors@npm:4.0.3" + dependencies: + fast-safe-stringify: ^2.0.6 + checksum: 5fa31d1a10fdb340733b9a55e38e7687222c501052ca20743cef4d0c911a9bbcc0cad54aa6bf3e4b428604c071ff519803060e1cbc79ddb7c9257c11d407d32a + languageName: node + linkType: hard + +"eth-sig-util@npm:^1.4.2": + version: 1.4.2 + resolution: "eth-sig-util@npm:1.4.2" + dependencies: + ethereumjs-abi: "git+https://github.com/ethereumjs/ethereumjs-abi.git" + ethereumjs-util: ^5.1.1 + checksum: 578f5c571c1bb0a86dc1bd4a5b56b8073b37823496d7afa74d772cf91ae6860f91bafcbee931be39a3d13f0c195df9f026a27fce350605ad5d15901a5a4ea94a + languageName: node + linkType: hard + +"eth-sig-util@npm:^3.0.0, eth-sig-util@npm:^3.0.1": + version: 3.0.1 + resolution: "eth-sig-util@npm:3.0.1" + dependencies: + ethereumjs-abi: ^0.6.8 + ethereumjs-util: ^5.1.1 + tweetnacl: ^1.0.3 + tweetnacl-util: ^0.15.0 + checksum: 614bf7011b30f78c3532f53e3f80919fe5502b0fa7a3656e6e7dae56d26bc9f559c5b6480c2bcc66d63cd9f72b489732df3b7f1daa0ac9a1fe3b6878347ab4c6 + languageName: node + linkType: hard + +"eth-simple-keyring@npm:^4.2.0": + version: 4.2.0 + resolution: "eth-simple-keyring@npm:4.2.0" + dependencies: + eth-sig-util: ^3.0.1 + ethereumjs-util: ^7.0.9 + ethereumjs-wallet: ^1.0.1 + events: ^1.1.1 + checksum: 5c6e03b2641905c3d58c0343e0d28d1192cdfd7da43ff8924c02ed50ff88cf1c66bb5e7057dec2fba9fe84ec467291e86c9ec0a8c72457214f7fe6a85984a259 + languageName: node + linkType: hard + +"ethereum-common@npm:0.2.0": + version: 0.2.0 + resolution: "ethereum-common@npm:0.2.0" + checksum: 5e80af27482530ac700676502cd4c02a7248c064999d01dced302f5f40a180c86f57caaab347dbd12482c2869539d321c8c0039db9e3dfb1411e6ad3d57b2547 + languageName: node + linkType: hard + +"ethereum-common@npm:^0.0.18": + version: 0.0.18 + resolution: "ethereum-common@npm:0.0.18" + checksum: 2244126199604abc17508ca249c6f8a66a2ed02e9c97115f234e311f42e2d67aedff08128569fa3dfb8a2d09e1c194eace39a1ce61bfeb2338b6d3f2ac324ee8 + languageName: node + linkType: hard + "ethereum-cryptography@npm:^0.1.3": version: 0.1.3 resolution: "ethereum-cryptography@npm:0.1.3" @@ -3231,6 +4798,133 @@ __metadata: languageName: node linkType: hard +"ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": + version: 0.6.8 + resolution: "ethereumjs-abi@https://github.com/ethereumjs/ethereumjs-abi.git#commit=ee3994657fa7a427238e6ba92a84d0b529bbcde0" + dependencies: + bn.js: ^4.11.8 + ethereumjs-util: ^6.0.0 + checksum: ae074be0bb012857ab5d3ae644d1163b908a48dd724b7d2567cfde309dc72222d460438f2411936a70dc949dc604ce1ef7118f7273bd525815579143c907e336 + languageName: node + linkType: hard + +"ethereumjs-abi@npm:^0.6.8": + version: 0.6.8 + resolution: "ethereumjs-abi@npm:0.6.8" + dependencies: + bn.js: ^4.11.8 + ethereumjs-util: ^6.0.0 + checksum: cede2a8ae7c7e04eeaec079c2f925601a25b2ef75cf9230e7c5da63b4ea27883b35447365a47e35c1e831af520973a2252af89022c292c18a09a4607821a366b + languageName: node + linkType: hard + +"ethereumjs-account@npm:^2.0.3": + version: 2.0.5 + resolution: "ethereumjs-account@npm:2.0.5" + dependencies: + ethereumjs-util: ^5.0.0 + rlp: ^2.0.0 + safe-buffer: ^5.1.1 + checksum: 2e4546b8b0213168eebd3a5296da904b6f55470e39b4c742d252748927d2b268f8d6374b0178c1d5b7188646f97dae74a7ac1c7485fe96ea557c152b52223f18 + languageName: node + linkType: hard + +"ethereumjs-block@npm:^1.2.2": + version: 1.7.1 + resolution: "ethereumjs-block@npm:1.7.1" + dependencies: + async: ^2.0.1 + ethereum-common: 0.2.0 + ethereumjs-tx: ^1.2.2 + ethereumjs-util: ^5.0.0 + merkle-patricia-tree: ^2.1.2 + checksum: 9967c3674af77ea8475a3c023fa160ef6b614450ec50fa32ac083909ead22d3d1c3148f9407b6593d3ccfbe0c51f889c26aa1c15b17026fc2d35cbc542822af8 + languageName: node + linkType: hard + +"ethereumjs-block@npm:~2.2.0": + version: 2.2.2 + resolution: "ethereumjs-block@npm:2.2.2" + dependencies: + async: ^2.0.1 + ethereumjs-common: ^1.5.0 + ethereumjs-tx: ^2.1.1 + ethereumjs-util: ^5.0.0 + merkle-patricia-tree: ^2.1.2 + checksum: 91f7f60820394e072c9a115da2871a096414644109d2449d4a79b30be67b0080bc848dfa7e2ae7b2ab255de3be4f6736c6cb2b418c29eada794d018cc384e189 + languageName: node + linkType: hard + +"ethereumjs-common@npm:^1.1.0, ethereumjs-common@npm:^1.5.0": + version: 1.5.2 + resolution: "ethereumjs-common@npm:1.5.2" + checksum: 3fc64faced268e0c61da50c5db76d18cfd44325d5706792f32ac8c85c0e800d52db284f042c3bd0623daf59b946176ef7dbea476d1b0252492137fa4549a3349 + languageName: node + linkType: hard + +"ethereumjs-tx@npm:^1.2.2": + version: 1.3.7 + resolution: "ethereumjs-tx@npm:1.3.7" + dependencies: + ethereum-common: ^0.0.18 + ethereumjs-util: ^5.0.0 + checksum: fe2323fe7db7f5dda85715dc67c31dd1f2925bf5a88e393ba939dbe699b73df008f1332f711b1aa37e943193acf3b6976202a33f2fab1f7675b6d2dd70f424d4 + languageName: node + linkType: hard + +"ethereumjs-tx@npm:^2.1.1": + version: 2.1.2 + resolution: "ethereumjs-tx@npm:2.1.2" + dependencies: + ethereumjs-common: ^1.5.0 + ethereumjs-util: ^6.0.0 + checksum: a5b607b4e125ed696d76a9e4db8a95e03a967323c66694912d799619b16fa43985336924221f9e7582dc1b09ff88a62116bf2290ee14d952bf7e6715e5728525 + languageName: node + linkType: hard + +"ethereumjs-util@npm:^5.0.0, ethereumjs-util@npm:^5.1.1, ethereumjs-util@npm:^5.1.2, ethereumjs-util@npm:^5.1.5": + version: 5.2.1 + resolution: "ethereumjs-util@npm:5.2.1" + dependencies: + bn.js: ^4.11.0 + create-hash: ^1.1.2 + elliptic: ^6.5.2 + ethereum-cryptography: ^0.1.3 + ethjs-util: ^0.1.3 + rlp: ^2.0.0 + safe-buffer: ^5.1.1 + checksum: 20db6c639d92b35739fd5f7a71e64a92e85442ea0d176b59b5cd5828265b6cf42bd4868cf81a9b20a83738db1ffa7a2f778f1d850d663627a1a5209f7904b44f + languageName: node + linkType: hard + +"ethereumjs-util@npm:^6.0.0, ethereumjs-util@npm:^6.2.1": + version: 6.2.1 + resolution: "ethereumjs-util@npm:6.2.1" + dependencies: + "@types/bn.js": ^4.11.3 + bn.js: ^4.11.0 + create-hash: ^1.1.2 + elliptic: ^6.5.2 + ethereum-cryptography: ^0.1.3 + ethjs-util: 0.1.6 + rlp: ^2.2.3 + checksum: e3cb4a2c034a2529281fdfc21a2126fe032fdc3038863f5720352daa65ddcc50fc8c67dbedf381a882dc3802e05d979287126d7ecf781504bde1fd8218693bde + languageName: node + linkType: hard + +"ethereumjs-util@npm:^7.0.10, ethereumjs-util@npm:^7.0.7, ethereumjs-util@npm:^7.0.8, ethereumjs-util@npm:^7.0.9, ethereumjs-util@npm:^7.1.2, ethereumjs-util@npm:^7.1.5": + version: 7.1.5 + resolution: "ethereumjs-util@npm:7.1.5" + dependencies: + "@types/bn.js": ^5.1.0 + bn.js: ^5.1.2 + create-hash: ^1.1.2 + ethereum-cryptography: ^0.1.3 + rlp: ^2.2.4 + checksum: 27a3c79d6e06b2df34b80d478ce465b371c8458b58f5afc14d91c8564c13363ad336e6e83f57eb0bd719fde94d10ee5697ceef78b5aa932087150c5287b286d1 + languageName: node + linkType: hard + "ethereumjs-util@npm:^7.1.4": version: 7.1.4 resolution: "ethereumjs-util@npm:7.1.4" @@ -3244,6 +4938,239 @@ __metadata: languageName: node linkType: hard +"ethereumjs-vm@npm:^2.3.4": + version: 2.6.0 + resolution: "ethereumjs-vm@npm:2.6.0" + dependencies: + async: ^2.1.2 + async-eventemitter: ^0.2.2 + ethereumjs-account: ^2.0.3 + ethereumjs-block: ~2.2.0 + ethereumjs-common: ^1.1.0 + ethereumjs-util: ^6.0.0 + fake-merkle-patricia-tree: ^1.0.1 + functional-red-black-tree: ^1.0.1 + merkle-patricia-tree: ^2.3.2 + rustbn.js: ~0.2.0 + safe-buffer: ^5.1.1 + checksum: 3b3098b2ac3d5335797e4d73fceb76d1b776e453abb5fa4d1cd94f6391f493e95e3c89a8ee602558bc2a3b36b89977e66473de73faa87c8540b1954aa7b8c3fd + languageName: node + linkType: hard + +"ethereumjs-wallet@npm:^1.0.1": + version: 1.0.2 + resolution: "ethereumjs-wallet@npm:1.0.2" + dependencies: + aes-js: ^3.1.2 + bs58check: ^2.1.2 + ethereum-cryptography: ^0.1.3 + ethereumjs-util: ^7.1.2 + randombytes: ^2.1.0 + scrypt-js: ^3.0.1 + utf8: ^3.0.0 + uuid: ^8.3.2 + checksum: 555effe571c633ca9189e08639928e7bfcb601474f5a37653a3d028b06a10fb8577408c32d425ccecb3ac25d7165322cb9786239fa09ce276532d262206feb8c + languageName: node + linkType: hard + +"ethers@npm:^5.4.1": + version: 5.6.8 + resolution: "ethers@npm:5.6.8" + dependencies: + "@ethersproject/abi": 5.6.3 + "@ethersproject/abstract-provider": 5.6.1 + "@ethersproject/abstract-signer": 5.6.2 + "@ethersproject/address": 5.6.1 + "@ethersproject/base64": 5.6.1 + "@ethersproject/basex": 5.6.1 + "@ethersproject/bignumber": 5.6.2 + "@ethersproject/bytes": 5.6.1 + "@ethersproject/constants": 5.6.1 + "@ethersproject/contracts": 5.6.2 + "@ethersproject/hash": 5.6.1 + "@ethersproject/hdnode": 5.6.2 + "@ethersproject/json-wallets": 5.6.1 + "@ethersproject/keccak256": 5.6.1 + "@ethersproject/logger": 5.6.0 + "@ethersproject/networks": 5.6.3 + "@ethersproject/pbkdf2": 5.6.1 + "@ethersproject/properties": 5.6.0 + "@ethersproject/providers": 5.6.8 + "@ethersproject/random": 5.6.1 + "@ethersproject/rlp": 5.6.1 + "@ethersproject/sha2": 5.6.1 + "@ethersproject/signing-key": 5.6.2 + "@ethersproject/solidity": 5.6.1 + "@ethersproject/strings": 5.6.1 + "@ethersproject/transactions": 5.6.2 + "@ethersproject/units": 5.6.1 + "@ethersproject/wallet": 5.6.2 + "@ethersproject/web": 5.6.1 + "@ethersproject/wordlists": 5.6.1 + checksum: 3ef1e1509e96029839330bef465c368fee140d98c4fb23d743a0904b7ebdf70fa3c79683a2350355c9400497a5c179fe988d84a2b578d756f09c80462a94f614 + languageName: node + linkType: hard + +"ethjs-abi@npm:0.2.0": + version: 0.2.0 + resolution: "ethjs-abi@npm:0.2.0" + dependencies: + bn.js: 4.11.6 + js-sha3: 0.5.5 + number-to-bn: 1.7.0 + checksum: ce66790b312874a8b96122308fe33c05a758127518bda0407b33f8f9ef4641fd75f7c79df850256cc68449442fe4eea74a116a7e26672e72bd326831bdf81570 + languageName: node + linkType: hard + +"ethjs-abi@npm:0.2.1": + version: 0.2.1 + resolution: "ethjs-abi@npm:0.2.1" + dependencies: + bn.js: 4.11.6 + js-sha3: 0.5.5 + number-to-bn: 1.7.0 + checksum: f58ad78f08ab0eda43b799075b245e39178f26045b0b21600f1d2544b04f6ba197734b43825112b5fd63acd5cb9ca4ea4df7e72d7ec58457f907e88f5ad52b13 + languageName: node + linkType: hard + +"ethjs-contract@npm:0.2.2": + version: 0.2.2 + resolution: "ethjs-contract@npm:0.2.2" + dependencies: + ethjs-abi: 0.2.0 + ethjs-filter: 0.1.8 + ethjs-util: 0.1.3 + js-sha3: 0.5.5 + checksum: b340749cf51705ac1e67e7c9b3ae1ceba6631dddffa2b9c62447c348aeba0a56685da956b7193d537c51b9fa2b7bdd2de147e834d4e66214cfa1abdde3d82781 + languageName: node + linkType: hard + +"ethjs-filter@npm:0.1.8": + version: 0.1.8 + resolution: "ethjs-filter@npm:0.1.8" + checksum: c8cfab8416aae0cf94f670fb09b4adb418447693a749760fea6f9ed5dda293b56b035070236c7cd79622f3e4558de7f790fa6494a1770f7f3f4b8ee9d3aa75a5 + languageName: node + linkType: hard + +"ethjs-format@npm:0.2.7": + version: 0.2.7 + resolution: "ethjs-format@npm:0.2.7" + dependencies: + bn.js: 4.11.6 + ethjs-schema: 0.2.1 + ethjs-util: 0.1.3 + is-hex-prefixed: 1.0.0 + number-to-bn: 1.7.0 + strip-hex-prefix: 1.0.0 + checksum: b27ea907e03ffcecd94baf8fa58afcc345af0af6ceb4ebe45e2f2aea3e3d14cf70a80c18ceb302f4b6cc439018fc05060f6bbf98751ab2fdc7f4af19b3b578b7 + languageName: node + linkType: hard + +"ethjs-provider-http@npm:0.1.6, ethjs-provider-http@npm:^0.1.6": + version: 0.1.6 + resolution: "ethjs-provider-http@npm:0.1.6" + dependencies: + xhr2: 0.1.3 + checksum: 0eb8f45d362e5a12f9852da3346cf80bd150562eb0abcbb95892502a6d8f7de77da4aff24341f925f2766e57bb17414c53dafd08bf695b8208d6f50abe7c7716 + languageName: node + linkType: hard + +"ethjs-query@npm:0.3.7": + version: 0.3.7 + resolution: "ethjs-query@npm:0.3.7" + dependencies: + ethjs-format: 0.2.7 + ethjs-rpc: 0.2.0 + promise-to-callback: ^1.0.0 + checksum: 08e8fcced0f7af2828da3f67df94a8a384430d988e43e5d5266aa161ac8f7b4bfc143897e613ba79dd158c0596a9422c0a6efdfe1308530e5b24cd4789ffd694 + languageName: node + linkType: hard + +"ethjs-rpc@npm:0.2.0": + version: 0.2.0 + resolution: "ethjs-rpc@npm:0.2.0" + dependencies: + promise-to-callback: ^1.0.0 + checksum: b6f4f021ba2b613d453fc02a7d33ec198d64d29af3da137bf728175360281323ab1525b22079d9b0689db0683d76cf265b68774412bff7281d0d26898f4875da + languageName: node + linkType: hard + +"ethjs-schema@npm:0.2.1": + version: 0.2.1 + resolution: "ethjs-schema@npm:0.2.1" + checksum: 7d8b1225bcf9616bfe94a24c2f4a48dae5ec30180a61d509efd7335eec68431abee638fbd02c2088e0ee59010396284e4b8364af8afdb229ac67e29ae38a3230 + languageName: node + linkType: hard + +"ethjs-unit@npm:0.1.6, ethjs-unit@npm:^0.1.6": + version: 0.1.6 + resolution: "ethjs-unit@npm:0.1.6" + dependencies: + bn.js: 4.11.6 + number-to-bn: 1.7.0 + checksum: df6b4752ff7461a59a20219f4b1684c631ea601241c39660e3f6c6bd63c950189723841c22b3c6c0ebeb3c9fc99e0e803e3c613101206132603705fcbcf4def5 + languageName: node + linkType: hard + +"ethjs-util@npm:0.1.3": + version: 0.1.3 + resolution: "ethjs-util@npm:0.1.3" + dependencies: + is-hex-prefixed: 1.0.0 + strip-hex-prefix: 1.0.0 + checksum: 1e2c0f94a806986f0db84604e5ecbad93937f34e6cf589de4db2f2870a8278b366482a2d116b392bfa87910f29300c114daace8fa876d3d6b8b886ca0c023b57 + languageName: node + linkType: hard + +"ethjs-util@npm:0.1.6, ethjs-util@npm:^0.1.3, ethjs-util@npm:^0.1.6": + version: 0.1.6 + resolution: "ethjs-util@npm:0.1.6" + dependencies: + is-hex-prefixed: 1.0.0 + strip-hex-prefix: 1.0.0 + checksum: 1f42959e78ec6f49889c49c8a98639e06f52a15966387dd39faf2930db48663d026efb7db2702dcffe7f2a99c4a0144b7ce784efdbf733f4077aae95de76d65f + languageName: node + linkType: hard + +"ethjs@npm:^0.3.0": + version: 0.3.9 + resolution: "ethjs@npm:0.3.9" + dependencies: + bn.js: 4.11.6 + ethjs-abi: 0.2.1 + ethjs-contract: 0.2.2 + ethjs-filter: 0.1.8 + ethjs-provider-http: 0.1.6 + ethjs-query: 0.3.7 + ethjs-unit: 0.1.6 + ethjs-util: 0.1.3 + js-sha3: 0.5.5 + number-to-bn: 1.7.0 + checksum: aa4e69ce4b5db75f8869850ba97199fbee086d0e1a228002a599bdf5617ff1fc914f7552ed25d7c916cf0457d3cbc5d4385f6ea20890b67762eed93a0ef74851 + languageName: node + linkType: hard + +"event-target-shim@npm:^5.0.0": + version: 5.0.1 + resolution: "event-target-shim@npm:5.0.1" + checksum: 1ffe3bb22a6d51bdeb6bf6f7cf97d2ff4a74b017ad12284cc9e6a279e727dc30a5de6bb613e5596ff4dc3e517841339ad09a7eec44266eccb1aa201a30448166 + languageName: node + linkType: hard + +"events@npm:^1.1.1": + version: 1.1.1 + resolution: "events@npm:1.1.1" + checksum: 40431eb005cc4c57861b93d44c2981a49e7feb99df84cf551baed299ceea4444edf7744733f6a6667e942af687359b1f4a87ec1ec4f21d5127dac48a782039b9 + languageName: node + linkType: hard + +"events@npm:^3.0.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 + languageName: node + linkType: hard + "evp_bytestokey@npm:^1.0.3": version: 1.0.3 resolution: "evp_bytestokey@npm:1.0.3" @@ -3306,7 +5233,16 @@ __metadata: languageName: node linkType: hard -"fast-deep-equal@npm:^3.1.1": +"fake-merkle-patricia-tree@npm:^1.0.1": + version: 1.0.1 + resolution: "fake-merkle-patricia-tree@npm:1.0.1" + dependencies: + checkpoint-store: ^1.1.0 + checksum: 8f9fe05bb5beabb31e4fbb8d2cfe83cfb36fd9f6ba78193dea8fab7a679470d45bb04c6f052d4f79da03e81129c5b5bed528902430184e1e11b4959f397019ac + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" checksum: e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d @@ -3374,6 +5310,13 @@ __metadata: languageName: node linkType: hard +"fast-safe-stringify@npm:^2.0.6": + version: 2.1.1 + resolution: "fast-safe-stringify@npm:2.1.1" + checksum: a851cbddc451745662f8f00ddb622d6766f9bd97642dabfd9a405fb0d646d69fc0b9a1243cbf67f5f18a39f40f6fa821737651ff1bceeba06c9992ca2dc5bd3d + languageName: node + linkType: hard + "fastq@npm:^1.6.0": version: 1.9.0 resolution: "fastq@npm:1.9.0" @@ -3446,6 +5389,15 @@ __metadata: languageName: node linkType: hard +"for-each@npm:^0.3.3": + version: 0.3.3 + resolution: "for-each@npm:0.3.3" + dependencies: + is-callable: ^1.1.3 + checksum: 6c48ff2bc63362319c65e2edca4a8e1e3483a2fabc72fbe7feaf8c73db94fc7861bd53bc02c8a66a0c1dd709da6b04eec42e0abdd6b40ce47305ae92a25e5d28 + languageName: node + linkType: hard + "forever-agent@npm:~0.6.1": version: 0.6.1 resolution: "forever-agent@npm:0.6.1" @@ -3517,6 +5469,18 @@ __metadata: languageName: node linkType: hard +"function.prototype.name@npm:^1.1.5": + version: 1.1.5 + resolution: "function.prototype.name@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.0 + functions-have-names: ^1.2.2 + checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 + languageName: node + linkType: hard + "functional-red-black-tree@npm:^1.0.1": version: 1.0.1 resolution: "functional-red-black-tree@npm:1.0.1" @@ -3524,6 +5488,13 @@ __metadata: languageName: node linkType: hard +"functions-have-names@npm:^1.2.2": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 + languageName: node + linkType: hard + "gauge@npm:^4.0.3": version: 4.0.4 resolution: "gauge@npm:4.0.4" @@ -3570,6 +5541,17 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1": + version: 1.1.2 + resolution: "get-intrinsic@npm:1.1.2" + dependencies: + function-bind: ^1.1.1 + has: ^1.0.3 + has-symbols: ^1.0.3 + checksum: 252f45491f2ba88ebf5b38018020c7cc3279de54b1d67ffb70c0cdf1dfa8ab31cd56467b5d117a8b4275b7a4dde91f86766b163a17a850f036528a7b2faafb2b + languageName: node + linkType: hard + "get-stream@npm:^6.0.0": version: 6.0.1 resolution: "get-stream@npm:6.0.1" @@ -3577,6 +5559,16 @@ __metadata: languageName: node linkType: hard +"get-symbol-description@npm:^1.0.0": + version: 1.0.0 + resolution: "get-symbol-description@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.1 + checksum: 9ceff8fe968f9270a37a1f73bf3f1f7bda69ca80f4f80850670e0e7b9444ff99323f7ac52f96567f8b5f5fbe7ac717a0d81d3407c7313e82810c6199446a5247 + languageName: node + linkType: hard + "getpass@npm:^0.1.1": version: 0.1.7 resolution: "getpass@npm:0.1.7" @@ -3629,6 +5621,16 @@ __metadata: languageName: node linkType: hard +"global@npm:~4.4.0": + version: 4.4.0 + resolution: "global@npm:4.4.0" + dependencies: + min-document: ^2.19.0 + process: ^0.11.10 + checksum: 9c057557c8f5a5bcfbeb9378ba4fe2255d04679452be504608dd5f13b54edf79f7be1db1031ea06a4ec6edd3b9f5f17d2d172fb47e6c69dae57fd84b7e72b77f + languageName: node + linkType: hard + "globals@npm:^11.1.0": version: 11.12.0 resolution: "globals@npm:11.12.0" @@ -3736,6 +5738,13 @@ __metadata: languageName: node linkType: hard +"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": + version: 1.0.2 + resolution: "has-bigints@npm:1.0.2" + checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b + languageName: node + linkType: hard + "has-flag@npm:^3.0.0": version: 3.0.0 resolution: "has-flag@npm:3.0.0" @@ -3750,6 +5759,15 @@ __metadata: languageName: node linkType: hard +"has-property-descriptors@npm:^1.0.0": + version: 1.0.0 + resolution: "has-property-descriptors@npm:1.0.0" + dependencies: + get-intrinsic: ^1.1.1 + checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb + languageName: node + linkType: hard + "has-symbols@npm:^1.0.0": version: 1.0.0 resolution: "has-symbols@npm:1.0.0" @@ -3764,6 +5782,22 @@ __metadata: languageName: node linkType: hard +"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.0": + version: 1.0.0 + resolution: "has-tostringtag@npm:1.0.0" + dependencies: + has-symbols: ^1.0.2 + checksum: cc12eb28cb6ae22369ebaad3a8ab0799ed61270991be88f208d508076a1e99abe4198c965935ce85ea90b60c94ddda73693b0920b58e7ead048b4a391b502c1c + languageName: node + linkType: hard + "has-unicode@npm:^2.0.0, has-unicode@npm:^2.0.1": version: 2.0.1 resolution: "has-unicode@npm:2.0.1" @@ -3790,7 +5824,7 @@ __metadata: languageName: node linkType: hard -"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3, hash.js@npm:^1.1.7": +"hash.js@npm:1.1.7, hash.js@npm:^1.0.0, hash.js@npm:^1.0.3, hash.js@npm:^1.1.7": version: 1.1.7 resolution: "hash.js@npm:1.1.7" dependencies: @@ -3800,6 +5834,17 @@ __metadata: languageName: node linkType: hard +"hdkey@npm:^2.0.1": + version: 2.0.1 + resolution: "hdkey@npm:2.0.1" + dependencies: + bs58check: ^2.1.2 + safe-buffer: ^5.1.1 + secp256k1: ^4.0.0 + checksum: 77105cecf7843f03f9b602724882cfeb227e392843bb808971ccdb2094e5a4e0c1731587e079d344816f738929def5df297f5fec687bcece46e36ac339e62fcd + languageName: node + linkType: hard + "hmac-drbg@npm:^1.0.1": version: 1.0.1 resolution: "hmac-drbg@npm:1.0.1" @@ -3907,6 +5952,13 @@ __metadata: languageName: node linkType: hard +"ieee754@npm:^1.1.13": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e + languageName: node + linkType: hard + "ignore@npm:^4.0.6": version: 4.0.6 resolution: "ignore@npm:4.0.6" @@ -3928,10 +5980,17 @@ __metadata: languageName: node linkType: hard +"immediate@npm:^3.2.3": + version: 3.3.0 + resolution: "immediate@npm:3.3.0" + checksum: 634b4305101e2452eba6c07d485bf3e415995e533c94b9c3ffbc37026fa1be34def6e4f2276b0dc2162a3f91628564a4bfb26280278b89d3ee54624e854d2f5f + languageName: node + linkType: hard + "immer@npm:^9.0.6": - version: 9.0.6 - resolution: "immer@npm:9.0.6" - checksum: 75da22f3b32f3f14604eb389b4f50e84a14f2e42f306f0cbe4d2969aed54ec7fda9a7e9ca42ebae2ba73ec9bb6ec1001fafbac535accaf03860054ab0f7e8388 + version: 9.0.14 + resolution: "immer@npm:9.0.14" + checksum: 17f1365c06d653e672a4f609f08e7203e9ab4b4284818332d6ca9b3f3577a0e3c0066ca7933b636fbae560df79a4b3fde70ed717ce3c6e95c39bf3d5861d5be9 languageName: node linkType: hard @@ -3998,13 +6057,24 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 languageName: node linkType: hard +"internal-slot@npm:^1.0.3": + version: 1.0.3 + resolution: "internal-slot@npm:1.0.3" + dependencies: + get-intrinsic: ^1.1.0 + has: ^1.0.3 + side-channel: ^1.0.4 + checksum: 1944f92e981e47aebc98a88ff0db579fd90543d937806104d0b96557b10c1f170c51fb777b97740a8b6ddeec585fca8c39ae99fd08a8e058dfc8ab70937238bf + languageName: node + linkType: hard + "ip@npm:^1.1.5": version: 1.1.8 resolution: "ip@npm:1.1.8" @@ -4012,6 +6082,16 @@ __metadata: languageName: node linkType: hard +"is-arguments@npm:^1.0.4": + version: 1.1.1 + resolution: "is-arguments@npm:1.1.1" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: 7f02700ec2171b691ef3e4d0e3e6c0ba408e8434368504bb593d0d7c891c0dbfda6d19d30808b904a6cb1929bca648c061ba438c39f296c2a8ca083229c49f27 + languageName: node + linkType: hard + "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -4019,6 +6099,32 @@ __metadata: languageName: node linkType: hard +"is-bigint@npm:^1.0.1": + version: 1.0.4 + resolution: "is-bigint@npm:1.0.4" + dependencies: + has-bigints: ^1.0.1 + checksum: c56edfe09b1154f8668e53ebe8252b6f185ee852a50f9b41e8d921cb2bed425652049fbe438723f6cb48a63ca1aa051e948e7e401e093477c99c84eba244f666 + languageName: node + linkType: hard + +"is-boolean-object@npm:^1.1.0": + version: 1.1.2 + resolution: "is-boolean-object@npm:1.1.2" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: c03b23dbaacadc18940defb12c1c0e3aaece7553ef58b162a0f6bba0c2a7e1551b59f365b91e00d2dbac0522392d576ef322628cb1d036a0fe51eb466db67222 + languageName: node + linkType: hard + +"is-callable@npm:^1.1.3, is-callable@npm:^1.2.4": + version: 1.2.4 + resolution: "is-callable@npm:1.2.4" + checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f + languageName: node + linkType: hard + "is-callable@npm:^1.1.4": version: 1.1.4 resolution: "is-callable@npm:1.1.4" @@ -4051,6 +6157,15 @@ __metadata: languageName: node linkType: hard +"is-core-module@npm:^2.8.1": + version: 2.9.0 + resolution: "is-core-module@npm:2.9.0" + dependencies: + has: ^1.0.3 + checksum: b27034318b4b462f1c8f1dfb1b32baecd651d891a4e2d1922135daeff4141dfced2b82b07aef83ef54275c4a3526aa38da859223664d0868ca24182badb784ce + languageName: node + linkType: hard + "is-date-object@npm:^1.0.1": version: 1.0.1 resolution: "is-date-object@npm:1.0.1" @@ -4065,6 +6180,13 @@ __metadata: languageName: node linkType: hard +"is-fn@npm:^1.0.0": + version: 1.0.0 + resolution: "is-fn@npm:1.0.0" + checksum: eeea1e536716f93a92dc1a8550b2c0909fe74bb5144d0fb6d65e0d31eb9c06c30559f69d83a9351d2288cc7293b43bc074e0fab5fae19e312ff38aa0c7672827 + languageName: node + linkType: hard + "is-fullwidth-code-point@npm:^1.0.0": version: 1.0.0 resolution: "is-fullwidth-code-point@npm:1.0.0" @@ -4088,6 +6210,13 @@ __metadata: languageName: node linkType: hard +"is-function@npm:^1.0.1": + version: 1.0.2 + resolution: "is-function@npm:1.0.2" + checksum: 7d564562e07b4b51359547d3ccc10fb93bb392fd1b8177ae2601ee4982a0ece86d952323fc172a9000743a3971f09689495ab78a1d49a9b14fc97a7e28521dc0 + languageName: node + linkType: hard + "is-generator-fn@npm:^2.0.0": version: 2.1.0 resolution: "is-generator-fn@npm:2.1.0" @@ -4095,6 +6224,15 @@ __metadata: languageName: node linkType: hard +"is-generator-function@npm:^1.0.7": + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: ^1.0.0 + checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b + languageName: node + linkType: hard + "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1": version: 4.0.1 resolution: "is-glob@npm:4.0.1" @@ -4104,6 +6242,13 @@ __metadata: languageName: node linkType: hard +"is-hex-prefixed@npm:1.0.0": + version: 1.0.0 + resolution: "is-hex-prefixed@npm:1.0.0" + checksum: 5ac58e6e528fb029cc43140f6eeb380fad23d0041cc23154b87f7c9a1b728bcf05909974e47248fd0b7fcc11ba33cf7e58d64804883056fabd23e2b898be41de + languageName: node + linkType: hard + "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" @@ -4111,6 +6256,32 @@ __metadata: languageName: node linkType: hard +"is-nan@npm:^1.2.1": + version: 1.3.2 + resolution: "is-nan@npm:1.3.2" + dependencies: + call-bind: ^1.0.0 + define-properties: ^1.1.3 + checksum: 5dfadcef6ad12d3029d43643d9800adbba21cf3ce2ec849f734b0e14ee8da4070d82b15fdb35138716d02587c6578225b9a22779cab34888a139cc43e4e3610a + languageName: node + linkType: hard + +"is-negative-zero@npm:^2.0.2": + version: 2.0.2 + resolution: "is-negative-zero@npm:2.0.2" + checksum: f3232194c47a549da60c3d509c9a09be442507616b69454716692e37ae9f37c4dea264fb208ad0c9f3efd15a796a46b79df07c7e53c6227c32170608b809149a + languageName: node + linkType: hard + +"is-number-object@npm:^1.0.4": + version: 1.0.7 + resolution: "is-number-object@npm:1.0.7" + dependencies: + has-tostringtag: ^1.0.0 + checksum: d1e8d01bb0a7134c74649c4e62da0c6118a0bfc6771ea3c560914d52a627873e6920dd0fd0ebc0e12ad2ff4687eac4c308f7e80320b973b2c8a2c8f97a7524f7 + languageName: node + linkType: hard + "is-number@npm:^7.0.0": version: 7.0.0 resolution: "is-number@npm:7.0.0" @@ -4141,6 +6312,25 @@ __metadata: languageName: node linkType: hard +"is-regex@npm:^1.1.4": + version: 1.1.4 + resolution: "is-regex@npm:1.1.4" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 + languageName: node + linkType: hard + +"is-shared-array-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "is-shared-array-buffer@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a + languageName: node + linkType: hard + "is-stream@npm:^2.0.0": version: 2.0.0 resolution: "is-stream@npm:2.0.0" @@ -4155,6 +6345,15 @@ __metadata: languageName: node linkType: hard +"is-string@npm:^1.0.7": + version: 1.0.7 + resolution: "is-string@npm:1.0.7" + dependencies: + has-tostringtag: ^1.0.0 + checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 + languageName: node + linkType: hard + "is-symbol@npm:^1.0.2": version: 1.0.2 resolution: "is-symbol@npm:1.0.2" @@ -4164,6 +6363,28 @@ __metadata: languageName: node linkType: hard +"is-symbol@npm:^1.0.3": + version: 1.0.4 + resolution: "is-symbol@npm:1.0.4" + dependencies: + has-symbols: ^1.0.2 + checksum: 92805812ef590738d9de49d677cd17dfd486794773fb6fa0032d16452af46e9b91bb43ffe82c983570f015b37136f4b53b28b8523bfb10b0ece7a66c31a54510 + languageName: node + linkType: hard + +"is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.9": + version: 1.1.9 + resolution: "is-typed-array@npm:1.1.9" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + es-abstract: ^1.20.0 + for-each: ^0.3.3 + has-tostringtag: ^1.0.0 + checksum: 11910f1e58755fef43bf0074e52fa5b932bf101ec65d613e0a83d40e8e4c6e3f2ee142d624ebc7624c091d3bbe921131f8db7d36ecbbb71909f2fe310c1faa65 + languageName: node + linkType: hard + "is-typedarray@npm:~1.0.0": version: 1.0.0 resolution: "is-typedarray@npm:1.0.0" @@ -4171,6 +6392,15 @@ __metadata: languageName: node linkType: hard +"is-weakref@npm:^1.0.2": + version: 1.0.2 + resolution: "is-weakref@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 95bd9a57cdcb58c63b1c401c60a474b0f45b94719c30f548c891860f051bc2231575c290a6b420c6bc6e7ed99459d424c652bd5bf9a1d5259505dc35b4bf83de + languageName: node + linkType: hard + "isarray@npm:0.0.1": version: 0.0.1 resolution: "isarray@npm:0.0.1" @@ -4750,6 +6980,20 @@ __metadata: languageName: node linkType: hard +"js-sha3@npm:0.5.5": + version: 0.5.5 + resolution: "js-sha3@npm:0.5.5" + checksum: 19900933f7b8cf0b91a8aba3ecbc2e27a336d0e7dc0bb30db938a56a399b355f68a98e086d2523db03c9f6abea5de42d40ce7237c9d3412f5eb44a5d409033f0 + languageName: node + linkType: hard + +"js-sha3@npm:0.8.0": + version: 0.8.0 + resolution: "js-sha3@npm:0.8.0" + checksum: 75df77c1fc266973f06cce8309ce010e9e9f07ec35ab12022ed29b7f0d9c8757f5a73e1b35aa24840dced0dea7059085aa143d817aea9e188e2a80d569d9adce + languageName: node + linkType: hard + "js-sha3@npm:^0.5.7": version: 0.5.7 resolution: "js-sha3@npm:0.5.7" @@ -4776,6 +7020,13 @@ __metadata: languageName: node linkType: hard +"jsbi@npm:^3.1.5": + version: 3.2.5 + resolution: "jsbi@npm:3.2.5" + checksum: 642d1bb139ad1c1e96c4907eb159565e980a0d168487626b493d0d0b7b341da0e43001089d3b21703fe17b18a7a6c0f42c92026f71d54471ed0a0d1b3015ec0f + languageName: node + linkType: hard + "jsbn@npm:~0.1.0": version: 0.1.1 resolution: "jsbn@npm:0.1.1" @@ -4846,6 +7097,33 @@ __metadata: languageName: node linkType: hard +"json-rpc-engine@npm:^5.3.0": + version: 5.4.0 + resolution: "json-rpc-engine@npm:5.4.0" + dependencies: + eth-rpc-errors: ^3.0.0 + safe-event-emitter: ^1.0.1 + checksum: 310af9dc256a14e3695f917912046afcab1fe716d6243616702bc2ebcbc7d164e3c2c04a5ff267e3930ef451e4cd8905651b656988bceb96a7034bf144eb8e67 + languageName: node + linkType: hard + +"json-rpc-engine@npm:^6.1.0": + version: 6.1.0 + resolution: "json-rpc-engine@npm:6.1.0" + dependencies: + "@metamask/safe-event-emitter": ^2.0.0 + eth-rpc-errors: ^4.0.2 + checksum: 33b6c9bbd81abf8e323a0281ee05871713203c40d34a4d0bda27706cd0a0935c7b51845238ba89b73027e44ebc8034bbd82db9f962e6c578eb922d9b95acc8bd + languageName: node + linkType: hard + +"json-rpc-random-id@npm:^1.0.0, json-rpc-random-id@npm:^1.0.1": + version: 1.0.1 + resolution: "json-rpc-random-id@npm:1.0.1" + checksum: fcd2e884193a129ace4002bd65a86e9cdb206733b4693baea77bd8b372cf8de3043fbea27716a2c9a716581a908ca8d978d9dfec4847eb2cf77edb4cf4b2252c + languageName: node + linkType: hard + "json-schema-traverse@npm:^0.4.1": version: 0.4.1 resolution: "json-schema-traverse@npm:0.4.1" @@ -4874,6 +7152,15 @@ __metadata: languageName: node linkType: hard +"json-stable-stringify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify@npm:1.0.1" + dependencies: + jsonify: ~0.0.0 + checksum: 65d6cbf0fca72a4136999f65f4401cf39a129f7aeff0fdd987ac3d3423a2113659294045fb8377e6e20d865cac32b1b8d70f3d87346c9786adcee60661d96ca5 + languageName: node + linkType: hard + "json-stringify-safe@npm:~5.0.1": version: 5.0.1 resolution: "json-stringify-safe@npm:5.0.1" @@ -4919,6 +7206,20 @@ __metadata: languageName: node linkType: hard +"jsonify@npm:~0.0.0": + version: 0.0.0 + resolution: "jsonify@npm:0.0.0" + checksum: d8d4ed476c116e6987a460dcb82f22284686caae9f498ac87b0502c1765ac1522f4f450a4cad4cc368d202fd3b27a3860735140a82867fc6d558f5f199c38bce + languageName: node + linkType: hard + +"jsonschema@npm:^1.2.4": + version: 1.4.1 + resolution: "jsonschema@npm:1.4.1" + checksum: 1ef02a6cd9bc32241ec86bbf1300bdbc3b5f2d8df6eb795517cf7d1cd9909e7beba1e54fdf73990fd66be98a182bda9add9607296b0cb00b1348212988e424b2 + languageName: node + linkType: hard + "jsprim@npm:^1.2.2": version: 1.4.1 resolution: "jsprim@npm:1.4.1" @@ -4956,6 +7257,68 @@ __metadata: languageName: node linkType: hard +"level-codec@npm:~7.0.0": + version: 7.0.1 + resolution: "level-codec@npm:7.0.1" + checksum: 2565c131d93aea0786af5eda9bb907e3f5152fade03fd7a7751e2f95301fc5241063eb927c2f7df086fac33592523aab8df86bcf7ecc46ed53de11453b600329 + languageName: node + linkType: hard + +"level-errors@npm:^1.0.3": + version: 1.1.2 + resolution: "level-errors@npm:1.1.2" + dependencies: + errno: ~0.1.1 + checksum: 18c22fd574ff31567642a85d9a306604a32cbe969b8469fee29620c10488214a6b5e6bbf19e3b5e2042859e4b81041af537319c18132a1aaa56d4ed5981157b7 + languageName: node + linkType: hard + +"level-errors@npm:~1.0.3": + version: 1.0.5 + resolution: "level-errors@npm:1.0.5" + dependencies: + errno: ~0.1.1 + checksum: a62df2a24987c0100855ec03f03655ddc6170b33a83987a53858ba0a7dbe125b4b5382e01068a1dc899ccf7f9d12b824702da15488bd06b4b3ee7a1e4232cb0a + languageName: node + linkType: hard + +"level-iterator-stream@npm:~1.3.0": + version: 1.3.1 + resolution: "level-iterator-stream@npm:1.3.1" + dependencies: + inherits: ^2.0.1 + level-errors: ^1.0.3 + readable-stream: ^1.0.33 + xtend: ^4.0.0 + checksum: bf57d8dcee6e7ec68e6c580edc768d2e3960f93e741d7d4adcc7d86f267c741ebcfba5353b3b6551ca10d12e30939c90f1a13303313b1b719325111f0ff14540 + languageName: node + linkType: hard + +"level-ws@npm:0.0.0": + version: 0.0.0 + resolution: "level-ws@npm:0.0.0" + dependencies: + readable-stream: ~1.0.15 + xtend: ~2.1.1 + checksum: fcc3e6993b538ed8931612a74ef26cf32b53d71c059a819bb1006c075f0c1198afb79026a69aeeafcbd4598c45b4b214315b4216b44eca68587fce1b5ad61b75 + languageName: node + linkType: hard + +"levelup@npm:^1.2.1": + version: 1.3.9 + resolution: "levelup@npm:1.3.9" + dependencies: + deferred-leveldown: ~1.2.1 + level-codec: ~7.0.0 + level-errors: ~1.0.3 + level-iterator-stream: ~1.3.0 + prr: ~1.0.1 + semver: ~5.4.1 + xtend: ~4.0.0 + checksum: df3b534b948c17d724050f6ecc2b21eb2fde357bd0c68582cd3a5eb4bf943a3057cd2e9db6bd7253020fcb853c83a70943bff9264f5132afa8cf3c25c3c7cd8e + languageName: node + linkType: hard + "leven@npm:^3.1.0": version: 3.1.0 resolution: "leven@npm:3.1.0" @@ -5021,6 +7384,13 @@ __metadata: languageName: node linkType: hard +"lodash.debounce@npm:^4.0.8": + version: 4.0.8 + resolution: "lodash.debounce@npm:4.0.8" + checksum: a3f527d22c548f43ae31c861ada88b2637eb48ac6aa3eb56e82d44917971b8aa96fbb37aa60efea674dc4ee8c42074f90f7b1f772e9db375435f6c83a19b3bc6 + languageName: node + linkType: hard + "lodash.get@npm:^4.4.2": version: 4.4.2 resolution: "lodash.get@npm:4.4.2" @@ -5035,7 +7405,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.13, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21": +"lodash@npm:^4.17.13, lodash@npm:^4.17.14, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -5058,6 +7428,13 @@ __metadata: languageName: node linkType: hard +"ltgt@npm:~2.2.0": + version: 2.2.1 + resolution: "ltgt@npm:2.2.1" + checksum: 7e3874296f7538bc8087b428ac4208008d7b76916354b34a08818ca7c83958c1df10ec427eeeaad895f6b81e41e24745b18d30f89abcc21d228b94f6961d50a2 + languageName: node + linkType: hard + "lunr@npm:^2.3.9": version: 2.3.9 resolution: "lunr@npm:2.3.9" @@ -5141,6 +7518,20 @@ __metadata: languageName: node linkType: hard +"memdown@npm:^1.0.0": + version: 1.4.1 + resolution: "memdown@npm:1.4.1" + dependencies: + abstract-leveldown: ~2.7.1 + functional-red-black-tree: ^1.0.1 + immediate: ^3.2.3 + inherits: ~2.0.1 + ltgt: ~2.2.0 + safe-buffer: ~5.1.1 + checksum: 3f89142a12389b1ebfc7adaf3be19ed57cd073f84160eb7419b61c8e188e2b82eb787dad168d7b00ca68355b6b952067d9badaa5ac88c8ee014e4b0af2bfaea0 + languageName: node + linkType: hard + "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -5155,6 +7546,22 @@ __metadata: languageName: node linkType: hard +"merkle-patricia-tree@npm:^2.1.2, merkle-patricia-tree@npm:^2.3.2": + version: 2.3.2 + resolution: "merkle-patricia-tree@npm:2.3.2" + dependencies: + async: ^1.4.2 + ethereumjs-util: ^5.0.0 + level-ws: 0.0.0 + levelup: ^1.2.1 + memdown: ^1.0.0 + readable-stream: ^2.0.0 + rlp: ^2.0.0 + semaphore: ">=1.0.1" + checksum: f6066a16e08190b9e8d3aa28d8e861a3e884ee0be8109c4f5e879965fdfb8181cfc04bae3aaf97c7fb6d07446d94b4f3e1cce502dde4a5699a03acf6df518b12 + languageName: node + linkType: hard + "micromatch@npm:^4.0.2": version: 4.0.2 resolution: "micromatch@npm:4.0.2" @@ -5198,6 +7605,15 @@ __metadata: languageName: node linkType: hard +"min-document@npm:^2.19.0": + version: 2.19.0 + resolution: "min-document@npm:2.19.0" + dependencies: + dom-walk: ^0.1.0 + checksum: da6437562ea2228041542a2384528e74e22d1daa1a4ec439c165abf0b9d8a63e17e3b8a6dc6e0c731845e85301198730426932a0e813d23f932ca668340c9623 + languageName: node + linkType: hard + "minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": version: 1.0.1 resolution: "minimalistic-assert@npm:1.0.1" @@ -5346,6 +7762,22 @@ __metadata: languageName: node linkType: hard +"multiformats@npm:^9.5.2": + version: 9.6.5 + resolution: "multiformats@npm:9.6.5" + checksum: f4fce459bf19e1c38e4daa0e6de3aeea55ab000620d23ef599943495ab65d1c0351c5aa53d15eb365181d30a4b0629785a0d8901d17b5d153c48f4f1a683cd47 + languageName: node + linkType: hard + +"nanoid@npm:^3.1.31": + version: 3.3.4 + resolution: "nanoid@npm:3.3.4" + bin: + nanoid: bin/nanoid.cjs + checksum: 2fddd6dee994b7676f008d3ffa4ab16035a754f4bb586c61df5a22cf8c8c94017aadd360368f47d653829e0569a92b129979152ff97af23a558331e47e37cd9c + languageName: node + linkType: hard + "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -5382,7 +7814,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.1": +"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" dependencies: @@ -5461,6 +7893,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.5": + version: 2.0.5 + resolution: "node-releases@npm:2.0.5" + checksum: e85d949addd19f8827f32569d2be5751e7812ccf6cc47879d49f79b5234ff4982225e39a3929315f96370823b070640fb04d79fc0ddec8b515a969a03493a42f + languageName: node + linkType: hard + "nopt@npm:^5.0.0": version: 5.0.0 resolution: "nopt@npm:5.0.0" @@ -5538,6 +7977,16 @@ __metadata: languageName: node linkType: hard +"number-to-bn@npm:1.7.0": + version: 1.7.0 + resolution: "number-to-bn@npm:1.7.0" + dependencies: + bn.js: 4.11.6 + strip-hex-prefix: 1.0.0 + checksum: 5b8c9dbe7b49dc7a069e5f0ba4e197257c89db11463478cb002fee7a34dc8868636952bd9f6310e5fdf22b266e0e6dffb5f9537c741734718107e90ae59b3de4 + languageName: node + linkType: hard + "nwsapi@npm:^2.2.0": version: 2.2.0 resolution: "nwsapi@npm:2.2.0" @@ -5559,6 +8008,13 @@ __metadata: languageName: node linkType: hard +"object-inspect@npm:^1.12.0, object-inspect@npm:^1.9.0": + version: 1.12.2 + resolution: "object-inspect@npm:1.12.2" + checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 + languageName: node + linkType: hard + "object-inspect@npm:^1.7.0": version: 1.8.0 resolution: "object-inspect@npm:1.8.0" @@ -5566,6 +8022,16 @@ __metadata: languageName: node linkType: hard +"object-is@npm:^1.0.1": + version: 1.1.5 + resolution: "object-is@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + checksum: 989b18c4cba258a6b74dc1d74a41805c1a1425bce29f6cabb50dcb1a6a651ea9104a1b07046739a49a5bb1bc49727bcb00efd5c55f932f6ea04ec8927a7901fe + languageName: node + linkType: hard + "object-keys@npm:^1.0.11, object-keys@npm:^1.0.12, object-keys@npm:^1.1.1": version: 1.1.1 resolution: "object-keys@npm:1.1.1" @@ -5573,6 +8039,13 @@ __metadata: languageName: node linkType: hard +"object-keys@npm:~0.4.0": + version: 0.4.0 + resolution: "object-keys@npm:0.4.0" + checksum: 1be3ebe9b48c0d5eda8e4a30657d887a748cb42435e0e2eaf49faf557bdd602cd2b7558b8ce90a4eb2b8592d16b875a1900bce859cbb0f35b21c67e11a45313c + languageName: node + linkType: hard + "object.assign@npm:^4.1.0": version: 4.1.0 resolution: "object.assign@npm:4.1.0" @@ -5585,6 +8058,18 @@ __metadata: languageName: node linkType: hard +"object.assign@npm:^4.1.2": + version: 4.1.2 + resolution: "object.assign@npm:4.1.2" + dependencies: + call-bind: ^1.0.0 + define-properties: ^1.1.3 + has-symbols: ^1.0.1 + object-keys: ^1.1.1 + checksum: d621d832ed7b16ac74027adb87196804a500d80d9aca536fccb7ba48d33a7e9306a75f94c1d29cbfa324bc091bfc530bc24789568efdaee6a47fcfa298993814 + languageName: node + linkType: hard + "object.values@npm:^1.1.1": version: 1.1.1 resolution: "object.values@npm:1.1.1" @@ -5597,6 +8082,18 @@ __metadata: languageName: node linkType: hard +"obs-store@npm:^4.0.3": + version: 4.0.3 + resolution: "obs-store@npm:4.0.3" + dependencies: + readable-stream: ^2.2.2 + safe-event-emitter: ^1.0.1 + through2: ^2.0.3 + xtend: ^4.0.1 + checksum: a3c05dad7483489f2c083059256f24838b106e10012dd296c7d3e8066869bbc7313dc90775354b519cbeb7aa4c230b0f66cc87ef1414189bad6d03adb0b00b75 + languageName: node + linkType: hard + "once@npm:^1.3.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -5711,6 +8208,13 @@ __metadata: languageName: node linkType: hard +"parse-headers@npm:^2.0.0": + version: 2.0.5 + resolution: "parse-headers@npm:2.0.5" + checksum: 3e97f01e4c7f960bfbfd0ee489f0bd8d3c72b6c814f1f79b66abec2cca8eaf8e4ecd89deba0b6e61266469aed87350bc932001181c01ff8c29a59e696abe251f + languageName: node + linkType: hard + "parse-json@npm:^2.2.0": version: 2.2.0 resolution: "parse-json@npm:2.2.0" @@ -5767,7 +8271,7 @@ __metadata: languageName: node linkType: hard -"path-parse@npm:^1.0.6": +"path-parse@npm:^1.0.6, path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a @@ -5812,6 +8316,19 @@ __metadata: languageName: node linkType: hard +"pbkdf2@npm:^3.0.9": + version: 3.1.2 + resolution: "pbkdf2@npm:3.1.2" + dependencies: + create-hash: ^1.1.2 + create-hmac: ^1.1.4 + ripemd160: ^2.0.1 + safe-buffer: ^5.0.1 + sha.js: ^2.4.8 + checksum: 2c950a100b1da72123449208e231afc188d980177d021d7121e96a2de7f2abbc96ead2b87d03d8fe5c318face097f203270d7e27908af9f471c165a4e8e69c92 + languageName: node + linkType: hard + "performance-now@npm:^2.1.0": version: 2.1.0 resolution: "performance-now@npm:2.1.0" @@ -5854,6 +8371,20 @@ __metadata: languageName: node linkType: hard +"pify@npm:^3.0.0": + version: 3.0.0 + resolution: "pify@npm:3.0.0" + checksum: 6cdcbc3567d5c412450c53261a3f10991665d660961e06605decf4544a61a97a54fefe70a68d5c37080ff9d6f4cf51444c90198d1ba9f9309a6c0d6e9f5c4fde + languageName: node + linkType: hard + +"pify@npm:^5.0.0": + version: 5.0.0 + resolution: "pify@npm:5.0.0" + checksum: 443e3e198ad6bfa8c0c533764cf75c9d5bc976387a163792fb553ffe6ce923887cf14eebf5aea9b7caa8eab930da8c33612990ae85bd8c2bc18bedb9eae94ecb + languageName: node + linkType: hard + "pirates@npm:^4.0.4": version: 4.0.5 resolution: "pirates@npm:4.0.5" @@ -5879,6 +8410,13 @@ __metadata: languageName: node linkType: hard +"precond@npm:0.2": + version: 0.2.3 + resolution: "precond@npm:0.2.3" + checksum: c613e7d68af3e0b43a294a994bf067cc2bc44b03fd17bc4fb133e30617a4f5b49414b08e9b392d52d7c6822d8a71f66a7fe93a8a1e7d02240177202cff3f63ef + languageName: node + linkType: hard + "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -5953,6 +8491,13 @@ __metadata: languageName: node linkType: hard +"process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3 + languageName: node + linkType: hard + "progress@npm:^2.0.0": version: 2.0.3 resolution: "progress@npm:2.0.3" @@ -5977,6 +8522,16 @@ __metadata: languageName: node linkType: hard +"promise-to-callback@npm:^1.0.0": + version: 1.0.0 + resolution: "promise-to-callback@npm:1.0.0" + dependencies: + is-fn: ^1.0.0 + set-immediate-shim: ^1.0.1 + checksum: 8c9e1327386e00f799589cdf96fff2586a13b52b0185222bc3199e1305ba9344589eedfd4038dcbaf5592d85d567097d1507b81e948b7fff6ffdd3de49d54e14 + languageName: node + linkType: hard + "prompts@npm:^2.0.1": version: 2.2.1 resolution: "prompts@npm:2.2.1" @@ -5987,6 +8542,13 @@ __metadata: languageName: node linkType: hard +"prr@npm:~1.0.1": + version: 1.0.1 + resolution: "prr@npm:1.0.1" + checksum: 3bca2db0479fd38f8c4c9439139b0c42dcaadcc2fbb7bb8e0e6afaa1383457f1d19aea9e5f961d5b080f1cfc05bfa1fe9e45c97a1d3fd6d421950a73d3108381 + languageName: node + linkType: hard + "psl@npm:^1.1.28": version: 1.7.0 resolution: "psl@npm:1.7.0" @@ -6022,7 +8584,7 @@ __metadata: languageName: node linkType: hard -"randombytes@npm:^2.1.0": +"randombytes@npm:^2.0.1, randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" dependencies: @@ -6076,7 +8638,19 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.6": +"readable-stream@npm:^1.0.33": + version: 1.1.14 + resolution: "readable-stream@npm:1.1.14" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.1 + isarray: 0.0.1 + string_decoder: ~0.10.x + checksum: 17dfeae3e909945a4a1abc5613ea92d03269ef54c49288599507fc98ff4615988a1c39a999dcf9aacba70233d9b7040bc11a5f2bfc947e262dedcc0a8b32b5a0 + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.6, readable-stream@npm:^2.2.2, readable-stream@npm:^2.2.9, readable-stream@npm:~2.3.6": version: 2.3.7 resolution: "readable-stream@npm:2.3.7" dependencies: @@ -6102,6 +8676,36 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:~1.0.15": + version: 1.0.34 + resolution: "readable-stream@npm:1.0.34" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.1 + isarray: 0.0.1 + string_decoder: ~0.10.x + checksum: 85042c537e4f067daa1448a7e257a201070bfec3dd2706abdbd8ebc7f3418eb4d3ed4b8e5af63e2544d69f88ab09c28d5da3c0b77dc76185fddd189a59863b60 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.13.4": + version: 0.13.9 + resolution: "regenerator-runtime@npm:0.13.9" + checksum: 65ed455fe5afd799e2897baf691ca21c2772e1a969d19bb0c4695757c2d96249eb74ee3553ea34a91062b2a676beedf630b4c1551cc6299afb937be1426ec55e + languageName: node + linkType: hard + +"regexp.prototype.flags@npm:^1.4.3": + version: 1.4.3 + resolution: "regexp.prototype.flags@npm:1.4.3" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + functions-have-names: ^1.2.2 + checksum: 51228bae732592adb3ededd5e15426be25f289e9c4ef15212f4da73f4ec3919b6140806374b8894036a86020d054a8d2657d3fee6bb9b4d35d8939c20030b7a6 + languageName: node + linkType: hard + "regexpp@npm:^3.0.0, regexpp@npm:^3.1.0": version: 3.1.0 resolution: "regexpp@npm:3.1.0" @@ -6116,7 +8720,7 @@ __metadata: languageName: node linkType: hard -"request@npm:^2.88.2": +"request@npm:^2.85.0, request@npm:^2.88.2": version: 2.88.2 resolution: "request@npm:2.88.2" dependencies: @@ -6207,6 +8811,19 @@ __metadata: languageName: node linkType: hard +"resolve@npm:^1.14.2": + version: 1.22.0 + resolution: "resolve@npm:1.22.0" + dependencies: + is-core-module: ^2.8.1 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: a2d14cc437b3a23996f8c7367eee5c7cf8149c586b07ca2ae00e96581ce59455555a1190be9aa92154785cf9f2042646c200d0e00e0bbd2b8a995a93a0ed3e4e + languageName: node + linkType: hard + "resolve@npm:^1.20.0": version: 1.20.0 resolution: "resolve@npm:1.20.0" @@ -6236,6 +8853,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@^1.14.2#~builtin": + version: 1.22.0 + resolution: "resolve@patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=07638b" + dependencies: + is-core-module: ^2.8.1 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: c79ecaea36c872ee4a79e3db0d3d4160b593f2ca16e031d8283735acd01715a203607e9ded3f91f68899c2937fa0d49390cddbe0fb2852629212f3cda283f4a7 + languageName: node + linkType: hard + "resolve@patch:resolve@^1.20.0#~builtin": version: 1.20.0 resolution: "resolve@patch:resolve@npm%3A1.20.0#~builtin::version=1.20.0&hash=07638b" @@ -6281,6 +8911,17 @@ __metadata: languageName: node linkType: hard +"rlp@npm:^2.0.0, rlp@npm:^2.2.3, rlp@npm:^2.2.6": + version: 2.2.7 + resolution: "rlp@npm:2.2.7" + dependencies: + bn.js: ^5.2.0 + bin: + rlp: bin/rlp + checksum: 3db4dfe5c793f40ac7e0be689a1f75d05e6f2ca0c66189aeb62adab8c436b857ab4420a419251ee60370d41d957a55698fc5e23ab1e1b41715f33217bc4bb558 + languageName: node + linkType: hard + "rlp@npm:^2.2.4": version: 2.2.6 resolution: "rlp@npm:2.2.6" @@ -6299,6 +8940,13 @@ __metadata: languageName: node linkType: hard +"rustbn.js@npm:~0.2.0": + version: 0.2.0 + resolution: "rustbn.js@npm:0.2.0" + checksum: 2148e7ba34e70682907ee29df4784639e6eb025481b2c91249403b7ec57181980161868d9aa24822a5075dd1bb5a180dfedc77309e5f0d27b6301f9b563af99a + languageName: node + linkType: hard + "safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1": version: 5.2.0 resolution: "safe-buffer@npm:5.2.0" @@ -6320,6 +8968,15 @@ __metadata: languageName: node linkType: hard +"safe-event-emitter@npm:^1.0.1": + version: 1.0.1 + resolution: "safe-event-emitter@npm:1.0.1" + dependencies: + events: ^3.0.0 + checksum: 2a15094bd28b0966571693f219b5a846949ae24f7ba87c6024f0ed552bef63ebe72970a784b85b77b1f03f1c95e78fabe19306d44538dbc4a3a685bed31c18c4 + languageName: node + linkType: hard + "safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" @@ -6336,13 +8993,25 @@ __metadata: languageName: node linkType: hard -"scrypt-js@npm:^3.0.0": +"scrypt-js@npm:3.0.1, scrypt-js@npm:^3.0.0, scrypt-js@npm:^3.0.1": version: 3.0.1 resolution: "scrypt-js@npm:3.0.1" checksum: b7c7d1a68d6ca946f2fbb0778e0c4ec63c65501b54023b2af7d7e9f48fdb6c6580d6f7675cd53bda5944c5ebc057560d5a6365079752546865defb3b79dea454 languageName: node linkType: hard +"secp256k1@npm:^4.0.0": + version: 4.0.3 + resolution: "secp256k1@npm:4.0.3" + dependencies: + elliptic: ^6.5.4 + node-addon-api: ^2.0.0 + node-gyp: latest + node-gyp-build: ^4.2.0 + checksum: 21e219adc0024fbd75021001358780a3cc6ac21273c3fcaef46943af73969729709b03f1df7c012a0baab0830fb9a06ccc6b42f8d50050c665cb98078eab477b + languageName: node + linkType: hard + "secp256k1@npm:^4.0.1": version: 4.0.2 resolution: "secp256k1@npm:4.0.2" @@ -6355,6 +9024,13 @@ __metadata: languageName: node linkType: hard +"semaphore@npm:>=1.0.1, semaphore@npm:^1.0.3": + version: 1.1.0 + resolution: "semaphore@npm:1.1.0" + checksum: d2445d232ad9959048d4748ef54eb01bc7b60436be2b42fb7de20c4cffacf70eafeeecd3772c1baf408cfdce3805fa6618a4389590335671f18cde54ef3cfae4 + languageName: node + linkType: hard + "semver@npm:2 || 3 || 4 || 5": version: 5.7.1 resolution: "semver@npm:5.7.1" @@ -6364,6 +9040,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:7.0.0": + version: 7.0.0 + resolution: "semver@npm:7.0.0" + bin: + semver: bin/semver.js + checksum: 272c11bf8d083274ef79fe40a81c55c184dff84dd58e3c325299d0927ba48cece1f020793d138382b85f89bab5002a35a5ba59a3a68a7eebbb597eb733838778 + languageName: node + linkType: hard + "semver@npm:7.x, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.5": version: 7.3.5 resolution: "semver@npm:7.3.5" @@ -6375,7 +9060,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.3.0": +"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0": version: 6.3.0 resolution: "semver@npm:6.3.0" bin: @@ -6384,6 +9069,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:~5.4.1": + version: 5.4.1 + resolution: "semver@npm:5.4.1" + bin: + semver: ./bin/semver + checksum: d4bf8cc6a95b065a545ab35082b6ac6c5f4ebe1e1c570f72c252afe9b7e622f2479fb2a5cef3e937d8807d37bfdad2d1feebcc8610e06f556e552c22cad070a2 + languageName: node + linkType: hard + "set-blocking@npm:^2.0.0, set-blocking@npm:~2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -6391,6 +9085,13 @@ __metadata: languageName: node linkType: hard +"set-immediate-shim@npm:^1.0.1": + version: 1.0.1 + resolution: "set-immediate-shim@npm:1.0.1" + checksum: 5085c84039d1e5eee73d2bf48ce765fcec76159021d0cc7b40e23bcdf62cb6d450ffb781e3c62c1118425242c48eae96df712cba0a20a437e86b0d4a15d51a11 + languageName: node + linkType: hard + "setimmediate@npm:^1.0.5": version: 1.0.5 resolution: "setimmediate@npm:1.0.5" @@ -6398,7 +9099,7 @@ __metadata: languageName: node linkType: hard -"sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": +"sha.js@npm:^2.4.0, sha.js@npm:^2.4.11, sha.js@npm:^2.4.8": version: 2.4.11 resolution: "sha.js@npm:2.4.11" dependencies: @@ -6437,6 +9138,17 @@ __metadata: languageName: node linkType: hard +"side-channel@npm:^1.0.4": + version: 1.0.4 + resolution: "side-channel@npm:1.0.4" + dependencies: + call-bind: ^1.0.0 + get-intrinsic: ^1.0.2 + object-inspect: ^1.9.0 + checksum: 351e41b947079c10bd0858364f32bb3a7379514c399edb64ab3dce683933483fc63fb5e4efe0a15a2e8a7e3c436b6a91736ddb8d8c6591b0460a24bb4a1ee245 + languageName: node + linkType: hard + "signal-exit@npm:^3.0.0": version: 3.0.2 resolution: "signal-exit@npm:3.0.2" @@ -6458,6 +9170,13 @@ __metadata: languageName: node linkType: hard +"single-call-balance-checker-abi@npm:^1.0.0": + version: 1.0.0 + resolution: "single-call-balance-checker-abi@npm:1.0.0" + checksum: d68fd83e58c42e6ccd4951d30cacffad01b4ca46595766b51ca09346f715027eac3a1d9e80e6147c7c20181ac6aca5d5330f9d1b131c91cbac3a16c1f3efbc3a + languageName: node + linkType: hard + "sinon@npm:^9.2.4": version: 9.2.4 resolution: "sinon@npm:9.2.4" @@ -6708,6 +9427,17 @@ __metadata: languageName: node linkType: hard +"string.prototype.trimend@npm:^1.0.5": + version: 1.0.5 + resolution: "string.prototype.trimend@npm:1.0.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: d44f543833112f57224e79182debadc9f4f3bf9d48a0414d6f0cbd2a86f2b3e8c0ca1f95c3f8e5b32ae83e91554d79d932fc746b411895f03f93d89ed3dfb6bc + languageName: node + linkType: hard + "string.prototype.trimstart@npm:^1.0.1": version: 1.0.1 resolution: "string.prototype.trimstart@npm:1.0.1" @@ -6718,6 +9448,17 @@ __metadata: languageName: node linkType: hard +"string.prototype.trimstart@npm:^1.0.5": + version: 1.0.5 + resolution: "string.prototype.trimstart@npm:1.0.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: a4857c5399ad709d159a77371eeaa8f9cc284469a0b5e1bfe405de16f1fd4166a8ea6f4180e55032f348d1b679b1599fd4301fbc7a8b72bdb3e795e43f7b1048 + languageName: node + linkType: hard + "string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -6727,6 +9468,13 @@ __metadata: languageName: node linkType: hard +"string_decoder@npm:~0.10.x": + version: 0.10.31 + resolution: "string_decoder@npm:0.10.31" + checksum: fe00f8e303647e5db919948ccb5ce0da7dea209ab54702894dd0c664edd98e5d4df4b80d6fabf7b9e92b237359d21136c95bf068b2f7760b772ca974ba970202 + languageName: node + linkType: hard + "string_decoder@npm:~1.1.1": version: 1.1.1 resolution: "string_decoder@npm:1.1.1" @@ -6793,6 +9541,15 @@ __metadata: languageName: node linkType: hard +"strip-hex-prefix@npm:1.0.0": + version: 1.0.0 + resolution: "strip-hex-prefix@npm:1.0.0" + dependencies: + is-hex-prefixed: 1.0.0 + checksum: 4cafe7caee1d281d3694d14920fd5d3c11adf09371cef7e2ccedd5b83efd9e9bd2219b5d6ce6e809df6e0f437dc9d30db1192116580875698aad164a6d6b285b + languageName: node + linkType: hard + "strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -6837,6 +9594,13 @@ __metadata: languageName: node linkType: hard +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 53b1e247e68e05db7b3808b99b892bd36fb096e6fba213a06da7fab22045e97597db425c724f2bbd6c99a3c295e1e73f3e4de78592289f38431049e1277ca0ae + languageName: node + linkType: hard + "symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" @@ -6905,6 +9669,16 @@ __metadata: languageName: node linkType: hard +"through2@npm:^2.0.3": + version: 2.0.5 + resolution: "through2@npm:2.0.5" + dependencies: + readable-stream: ~2.3.6 + xtend: ~4.0.1 + checksum: beb0f338aa2931e5660ec7bf3ad949e6d2e068c31f4737b9525e5201b824ac40cac6a337224856b56bd1ddd866334bbfb92a9f57cd6f66bc3f18d3d86fc0fe50 + languageName: node + linkType: hard + "tmpl@npm:1.0.x": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -7062,6 +9836,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^2.0.0, tslib@npm:^2.3.0": + version: 2.4.0 + resolution: "tslib@npm:2.4.0" + checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113 + languageName: node + linkType: hard + "tsutils@npm:^3.17.1": version: 3.17.1 resolution: "tsutils@npm:3.17.1" @@ -7093,6 +9874,13 @@ __metadata: languageName: node linkType: hard +"tweetnacl-util@npm:^0.15.0, tweetnacl-util@npm:^0.15.1": + version: 0.15.1 + resolution: "tweetnacl-util@npm:0.15.1" + checksum: ae6aa8a52cdd21a95103a4cc10657d6a2040b36c7a6da7b9d3ab811c6750a2d5db77e8c36969e75fdee11f511aa2b91c552496c6e8e989b6e490e54aca2864fc + languageName: node + linkType: hard + "tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": version: 0.14.5 resolution: "tweetnacl@npm:0.14.5" @@ -7100,6 +9888,13 @@ __metadata: languageName: node linkType: hard +"tweetnacl@npm:^1.0.3": + version: 1.0.3 + resolution: "tweetnacl@npm:1.0.3" + checksum: e4a57cac188f0c53f24c7a33279e223618a2bfb5fea426231991652a13247bea06b081fd745d71291fcae0f4428d29beba1b984b1f1ce6f66b06a6d1ab90645c + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -7192,6 +9987,18 @@ __metadata: languageName: node linkType: hard +"unbox-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "unbox-primitive@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + has-bigints: ^1.0.2 + has-symbols: ^1.0.3 + which-boxed-primitive: ^1.0.2 + checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9 + languageName: node + linkType: hard + "unique-filename@npm:^1.1.1": version: 1.1.1 resolution: "unique-filename@npm:1.1.1" @@ -7226,6 +10033,20 @@ __metadata: languageName: node linkType: hard +"utf8@npm:^2.1.1": + version: 2.1.2 + resolution: "utf8@npm:2.1.2" + checksum: de5d18adb219cae7871e1c105249e2fc7e6cae0e01c2b4c2eb6b099851b3bf62d1db6be6d83b5e4dea09036f8d16dd7222ad46eb326b38940a988e86743c1a61 + languageName: node + linkType: hard + +"utf8@npm:^3.0.0": + version: 3.0.0 + resolution: "utf8@npm:3.0.0" + checksum: cb89a69ad9ab393e3eae9b25305b3ff08bebca9adc839191a34f90777eb2942f86a96369d2839925fea58f8f722f7e27031d697f10f5f39690f8c5047303e62d + languageName: node + linkType: hard + "util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" @@ -7233,6 +10054,20 @@ __metadata: languageName: node linkType: hard +"util@npm:^0.12.0": + version: 0.12.4 + resolution: "util@npm:0.12.4" + dependencies: + inherits: ^2.0.3 + is-arguments: ^1.0.4 + is-generator-function: ^1.0.7 + is-typed-array: ^1.1.3 + safe-buffer: ^5.1.2 + which-typed-array: ^1.1.2 + checksum: 8eac7a6e6b341c0f1b3eb73bbe5dfcae31a7e9699c8fc3266789f3e95f7637946a7700dcf1904dbd3749a58a36760ebf7acf4bb5b717f7468532a8a79f44eff0 + languageName: node + linkType: hard + "uuid@npm:^3.3.2": version: 3.3.3 resolution: "uuid@npm:3.3.3" @@ -7242,6 +10077,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 5575a8a75c13120e2f10e6ddc801b2c7ed7d8f3c8ac22c7ed0c7b2ba6383ec0abda88c905085d630e251719e0777045ae3236f04c812184b7c765f63a70e58df + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.0": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -7329,6 +10173,48 @@ __metadata: languageName: node linkType: hard +"web3-provider-engine@npm:^16.0.3": + version: 16.0.4 + resolution: "web3-provider-engine@npm:16.0.4" + dependencies: + "@ethereumjs/tx": ^3.3.0 + async: ^2.5.0 + backoff: ^2.5.0 + clone: ^2.0.0 + eth-block-tracker: ^4.4.2 + eth-json-rpc-filters: ^4.2.1 + eth-json-rpc-infura: ^5.1.0 + eth-json-rpc-middleware: ^6.0.0 + eth-rpc-errors: ^3.0.0 + eth-sig-util: ^1.4.2 + ethereumjs-block: ^1.2.2 + ethereumjs-util: ^5.1.5 + ethereumjs-vm: ^2.3.4 + json-stable-stringify: ^1.0.1 + promise-to-callback: ^1.0.0 + readable-stream: ^2.2.9 + request: ^2.85.0 + semaphore: ^1.0.3 + ws: ^5.1.1 + xhr: ^2.2.0 + xtend: ^4.0.1 + checksum: bf7f3bbe7de82fb7fef2ec645d0d9e29bb08e6ed126f831ddf6fd82f34e184252291085639553b39709fdf31701cc7461e4578f83ade33dd585043936d2022de + languageName: node + linkType: hard + +"web3@npm:^0.20.7": + version: 0.20.7 + resolution: "web3@npm:0.20.7" + dependencies: + bignumber.js: "git+https://github.com/frozeman/bignumber.js-nolookahead.git" + crypto-js: ^3.1.4 + utf8: ^2.1.1 + xhr2-cookies: ^1.1.0 + xmlhttprequest: "*" + checksum: acec4beac2265a7ff864f35df5a709d086d2bdb4c0e1dbf323e07b963bee5662c1b18fd26c7f11595006a3a9288d769b75f6e43c5aa3bfc36e957650cd2ac4b6 + languageName: node + linkType: hard + "webidl-conversions@npm:^3.0.0": version: 3.0.1 resolution: "webidl-conversions@npm:3.0.1" @@ -7353,9 +10239,9 @@ __metadata: linkType: hard "whatwg-fetch@npm:^3.4.1": - version: 3.4.1 - resolution: "whatwg-fetch@npm:3.4.1" - checksum: c27cd1a06bdb661a39ae632806dc539e0b45e0e09b0c43aa0796366727fd3c419a29d39978c769dda3cb860c4970d51079e99ee748aa5eb53cc2496374da4de6 + version: 3.6.2 + resolution: "whatwg-fetch@npm:3.6.2" + checksum: ee976b7249e7791edb0d0a62cd806b29006ad7ec3a3d89145921ad8c00a3a67e4be8f3fb3ec6bc7b58498724fd568d11aeeeea1f7827e7e1e5eae6c8a275afed languageName: node linkType: hard @@ -7396,6 +10282,33 @@ __metadata: languageName: node linkType: hard +"which-boxed-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "which-boxed-primitive@npm:1.0.2" + dependencies: + is-bigint: ^1.0.1 + is-boolean-object: ^1.1.0 + is-number-object: ^1.0.4 + is-string: ^1.0.5 + is-symbol: ^1.0.3 + checksum: 53ce774c7379071729533922adcca47220228405e1895f26673bbd71bdf7fb09bee38c1d6399395927c6289476b5ae0629863427fd151491b71c4b6cb04f3a5e + languageName: node + linkType: hard + +"which-typed-array@npm:^1.1.2": + version: 1.1.8 + resolution: "which-typed-array@npm:1.1.8" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + es-abstract: ^1.20.0 + for-each: ^0.3.3 + has-tostringtag: ^1.0.0 + is-typed-array: ^1.1.9 + checksum: bedf4d30a738e848404fe67fe0ace33433a7298cf3f5a4d4b2c624ba99c4d25f06a7fd6f3566c3d16af5f8a54f0c6293cbfded5b1208ce11812753990223b45a + languageName: node + linkType: hard + "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -7467,6 +10380,30 @@ __metadata: languageName: node linkType: hard +"ws@npm:7.4.6": + version: 7.4.6 + resolution: "ws@npm:7.4.6" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 3a990b32ed08c72070d5e8913e14dfcd831919205be52a3ff0b4cdd998c8d554f167c9df3841605cde8b11d607768cacab3e823c58c96a5c08c987e093eb767a + languageName: node + linkType: hard + +"ws@npm:^5.1.1": + version: 5.2.3 + resolution: "ws@npm:5.2.3" + dependencies: + async-limiter: ~1.0.0 + checksum: bdb2223a40c2c68cf91b25a6c9b8c67d5275378ec6187f343314d3df7530e55b77cb9fe79fb1c6a9758389ac5aefc569d24236924b5c65c5dbbaff409ef739fc + languageName: node + linkType: hard + "ws@npm:^8.2.3": version: 8.6.0 resolution: "ws@npm:8.6.0" @@ -7482,6 +10419,34 @@ __metadata: languageName: node linkType: hard +"xhr2-cookies@npm:^1.1.0": + version: 1.1.0 + resolution: "xhr2-cookies@npm:1.1.0" + dependencies: + cookiejar: ^2.1.1 + checksum: 6a9fc45f3490cc53e6a308bd7164dab07ecb94f6345e78951ed4a1e8f8c4c7707a1b039a6b4ef7c9d611d9465d6f94d7d4260c43bc34eed8d6f9210a775eb719 + languageName: node + linkType: hard + +"xhr2@npm:0.1.3": + version: 0.1.3 + resolution: "xhr2@npm:0.1.3" + checksum: 4a3bdcf5f39b4bddc99fd3de1de2f88ce3f23430483bfe6a50628b2c999af3073a781c95f42e161d332de209101fbd313501ba38a7a883dec566c60914042aa2 + languageName: node + linkType: hard + +"xhr@npm:^2.2.0": + version: 2.6.0 + resolution: "xhr@npm:2.6.0" + dependencies: + global: ~4.4.0 + is-function: ^1.0.1 + parse-headers: ^2.0.0 + xtend: ^4.0.0 + checksum: a1db277e37737caf3ed363d2a33ce4b4ea5b5fc190b663a6f70bc252799185b840ccaa166eaeeea4841c9c60b87741f0a24e29cbcf6708dd425986d4df186d2f + languageName: node + linkType: hard + "xml-name-validator@npm:^4.0.0": version: 4.0.0 resolution: "xml-name-validator@npm:4.0.0" @@ -7496,6 +10461,29 @@ __metadata: languageName: node linkType: hard +"xmlhttprequest@npm:*": + version: 1.8.0 + resolution: "xmlhttprequest@npm:1.8.0" + checksum: c891cf0d7884b4f5cce835aa01f1965727cd352cbd2d7a2e0605bf11ec99ae2198364cca54656ec8b2581a5704dee6c2bf9911922a0ff2a71b613455d32e81b7 + languageName: node + linkType: hard + +"xtend@npm:^4.0.0, xtend@npm:^4.0.1, xtend@npm:~4.0.0, xtend@npm:~4.0.1": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a + languageName: node + linkType: hard + +"xtend@npm:~2.1.1": + version: 2.1.2 + resolution: "xtend@npm:2.1.2" + dependencies: + object-keys: ~0.4.0 + checksum: a8b79f31502c163205984eaa2b196051cd2fab0882b49758e30f2f9018255bc6c462e32a090bf3385d1bda04755ad8cc0052a09e049b0038f49eb9b950d9c447 + languageName: node + linkType: hard + "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" From 6e4ea9af00475fcc9633d2760da05cfe6955c78c Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 13 Jun 2022 15:22:47 -0500 Subject: [PATCH 006/115] Get all tests passing --- jest.config.packages.ts | 45 +- package.json | 9 +- packages/announcement-controller/package.json | 1 - .../announcement-controller/tsconfig.json | 2 +- .../tsconfig.test.json | 8 + packages/approval-controller/package.json | 1 - packages/approval-controller/tsconfig.json | 2 +- .../approval-controller/tsconfig.test.json | 8 + packages/assets-controllers/__mocks__/uuid.js | 14 - packages/assets-controllers/jest.config.ts | 3 + packages/assets-controllers/package.json | 4 +- .../src/AccountTrackerController.test.ts | 17 +- .../ERC1155/ERC1155Standard.test.ts | 3 +- .../ERC721/ERC721Standard.test.ts | 1 + .../src/Standards/ERC20Standard.test.ts | 5 +- .../src/TokenDetectionController.test.ts | 2 +- .../src/TokenListController.test.ts | 40 +- .../src/TokensController.test.ts | 7 + packages/assets-controllers/tsconfig.json | 2 +- .../assets-controllers/tsconfig.test.json | 13 + packages/base-controller/package.json | 1 - packages/base-controller/tsconfig.json | 2 +- packages/base-controller/tsconfig.test.json | 7 + packages/composable-controller/package.json | 1 - packages/composable-controller/tsconfig.json | 2 +- .../composable-controller/tsconfig.test.json | 14 + packages/controller-utils/jest.config.ts | 3 + packages/controller-utils/package.json | 3 +- .../src/crypto-compare.test.ts | 2 +- .../src/token-service.test.ts | 3 +- packages/controller-utils/src/util.test.ts | 2 +- packages/controller-utils/tsconfig.json | 2 +- packages/controller-utils/tsconfig.test.json | 8 + packages/gas-fee-controller/package.json | 1 - .../src/GasFeeController.test.ts | 7 +- .../src/determineGasFeeCalculations.test.ts | 34 +- .../src/fetchBlockFeeHistory.test.ts | 70 +- .../fetchGasEstimatesViaEthFeeHistory.test.ts | 20 +- packages/gas-fee-controller/tsconfig.json | 2 +- .../gas-fee-controller/tsconfig.test.json | 12 + packages/keyring-controller/package.json | 1 - .../src/KeyringController.test.ts | 7 + packages/keyring-controller/tsconfig.json | 2 +- .../keyring-controller/tsconfig.test.json | 13 + packages/message-manager/package.json | 1 - packages/message-manager/tsconfig.json | 2 +- packages/message-manager/tsconfig.test.json | 11 + packages/network-controller/package.json | 1 - packages/network-controller/tsconfig.json | 2 +- .../network-controller/tsconfig.test.json | 11 + packages/notification-controller/package.json | 1 - .../notification-controller/tsconfig.json | 2 +- .../tsconfig.test.json | 11 + packages/permission-controller/package.json | 1 - .../rpc-methods/requestPermissions.test.ts | 4 +- packages/permission-controller/tsconfig.json | 2 +- .../permission-controller/tsconfig.test.json | 12 + packages/rate-limit-controller/package.json | 1 - packages/rate-limit-controller/tsconfig.json | 2 +- .../rate-limit-controller/tsconfig.test.json | 8 + .../subject-metadata-controller/package.json | 1 - .../src/SubjectMetadataController.test.ts | 2 +- .../subject-metadata-controller/tsconfig.json | 2 +- .../tsconfig.test.json | 11 + packages/third-party-controllers/package.json | 1 - .../third-party-controllers/tsconfig.json | 2 +- .../tsconfig.test.json | 11 + .../transaction-controller/jest.config.ts | 3 + packages/transaction-controller/package.json | 2 +- .../src/TransactionController.test.ts | 7 + .../src/TransactionController.ts | 16 +- packages/transaction-controller/tsconfig.json | 2 +- .../transaction-controller/tsconfig.test.json | 12 + packages/user-controllers/package.json | 1 - packages/user-controllers/tsconfig.json | 2 +- packages/user-controllers/tsconfig.test.json | 11 + tests/setupTests.ts | 3 + tests/setupTestsAfterEnv.ts | 3 + tsconfig.packages.json | 4 +- tsconfig.packages.test.json | 21 + yarn.lock | 2995 +++++++++++++++-- 81 files changed, 3194 insertions(+), 396 deletions(-) create mode 100644 packages/announcement-controller/tsconfig.test.json create mode 100644 packages/approval-controller/tsconfig.test.json delete mode 100644 packages/assets-controllers/__mocks__/uuid.js create mode 100644 packages/assets-controllers/tsconfig.test.json create mode 100644 packages/base-controller/tsconfig.test.json create mode 100644 packages/composable-controller/tsconfig.test.json create mode 100644 packages/controller-utils/tsconfig.test.json create mode 100644 packages/gas-fee-controller/tsconfig.test.json create mode 100644 packages/keyring-controller/tsconfig.test.json create mode 100644 packages/message-manager/tsconfig.test.json create mode 100644 packages/network-controller/tsconfig.test.json create mode 100644 packages/notification-controller/tsconfig.test.json create mode 100644 packages/permission-controller/tsconfig.test.json create mode 100644 packages/rate-limit-controller/tsconfig.test.json create mode 100644 packages/subject-metadata-controller/tsconfig.test.json create mode 100644 packages/third-party-controllers/tsconfig.test.json create mode 100644 packages/transaction-controller/tsconfig.test.json create mode 100644 packages/user-controllers/tsconfig.test.json create mode 100644 tests/setupTests.ts create mode 100644 tests/setupTestsAfterEnv.ts create mode 100644 tsconfig.packages.test.json diff --git a/jest.config.packages.ts b/jest.config.packages.ts index 09046bad83..8d615b1ac5 100644 --- a/jest.config.packages.ts +++ b/jest.config.packages.ts @@ -4,6 +4,9 @@ */ import type { Config } from '@jest/types'; +// TODO: Figure out if this is really needed +// import { jsWithBabel as tsjPreset } from 'ts-jest/presets'; +import { jsWithTs as tsjPreset } from 'ts-jest/presets'; const config: Config.InitialOptions = { // All imported modules in your tests should be mocked automatically @@ -66,7 +69,11 @@ const config: Config.InitialOptions = { // globalTeardown: undefined, // A set of global variables that need to be available in all test environments - // globals: {} + globals: { + 'ts-jest': { + tsconfig: '/tsconfig.test.json', + }, + }, // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers. // maxWorkers: "50%", @@ -89,7 +96,19 @@ const config: Config.InitialOptions = { // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module // NOTE: This must be synchronized with the `paths` option in `tsconfig.packages.json` moduleNameMapper: { - '^@metamask/(.+)$': '/../$1/src', + '^@metamask/(.+)$': [ + '/../$1/src', + // Some @metamask/* packages we are referencing aren't in this monorepo, + // so in that case use their published versions + '/../../node_modules/@metamask/$1', + ], + // The ethjs-* packages strangely link to their uncompiled versions instead + // of compiled versions as their main files + // '^ethjs$': '/../../node_modules/ethjs/dist/ethjs.js', + // '^ethjs-query$': + // '/../../node_modules/ethjs-query/dist/ethjs-query.js', + // '^ethjs-provider-http$': + // '/../../node_modules/ethjs-provider-http/dist/ethjs-provider-http.js', }, // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader @@ -102,7 +121,7 @@ const config: Config.InitialOptions = { // notifyMode: "failure-change", // A preset that is used as a base for Jest's configuration - preset: 'ts-jest', + // preset: 'ts-jest/presets/js-with-babel', // Run tests from one or more projects // projects: undefined @@ -138,10 +157,10 @@ const config: Config.InitialOptions = { // runner: "jest-runner", // The paths to modules that run some code to configure or set up the testing environment before each test - // setupFiles: [], + setupFiles: ['../../tests/setupTests.ts'], // A list of paths to modules that run some code to configure or set up the testing framework before each test - // setupFilesAfterEnv: [], + setupFilesAfterEnv: ['../../tests/setupTestsAfterEnv.ts'], // The number of seconds after which a test is considered as slow and reported as such in the results. // slowTestThreshold: 5, @@ -150,7 +169,7 @@ const config: Config.InitialOptions = { // snapshotSerializers: [], // The test environment that will be used for testing - testEnvironment: 'jsdom', + // testEnvironment: 'jsdom', // Options that will be passed to the testEnvironment // testEnvironmentOptions: {}, @@ -185,13 +204,17 @@ const config: Config.InitialOptions = { // timers: "real", // A map from regular expressions to paths to transformers - // transform: undefined, + transform: { + ...tsjPreset.transform, + // '\\.jsx?$': 'babel-jest', + }, // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation - // transformIgnorePatterns: [ - // "/node_modules/", - // "\\.pnp\\.[^\\/]+$" - // ], + transformIgnorePatterns: [ + // Transform multiformats as it ships as ESM for the browser version + '/node_modules/(?!(?:multiformats|uuid)/)', + '\\.pnp\\.[^\\/]+$', + ], // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them // unmockedModulePathPatterns: undefined, diff --git a/package.json b/package.json index 7b4842b5a5..18b1b40a9e 100644 --- a/package.json +++ b/package.json @@ -40,14 +40,15 @@ "eslint-plugin-jsdoc": "^36.1.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.4.1", - "jest": "^28.1.0", - "jest-environment-jsdom": "^28.1.0", - "jest-when": "^3.5.1", + "isomorphic-fetch": "^3.0.0", + "jest": "^26.4.2", + "jest-environment-jsdom": "^25.0.0", + "jest-when": "^3.4.2", "prettier": "^2.6.2", "prettier-plugin-packagejson": "^2.2.17", "rimraf": "^3.0.2", "ts-deepmerge": "^2.0.1", - "ts-jest": "^28.0.2", + "ts-jest": "^26.5.2", "ts-node": "^10.7.0", "typedoc": "^0.22.15", "typedoc-plugin-missing-exports": "^0.22.6", diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index bf68741d8f..a5cbbbf83f 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@metamask/base-controller": "workspace:~" }, diff --git a/packages/announcement-controller/tsconfig.json b/packages/announcement-controller/tsconfig.json index f15fdde3be..9dbc0cf335 100644 --- a/packages/announcement-controller/tsconfig.json +++ b/packages/announcement-controller/tsconfig.json @@ -4,5 +4,5 @@ "baseUrl": "./" }, "references": [{ "path": "../base-controller" }], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/announcement-controller/tsconfig.test.json b/packages/announcement-controller/tsconfig.test.json new file mode 100644 index 0000000000..642abfdf51 --- /dev/null +++ b/packages/announcement-controller/tsconfig.test.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [{ "path": "../base-controller" }], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index 9e068f5b6f..1dc40647b3 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@metamask/base-controller": "workspace:~", "eth-rpc-errors": "^4.0.0", diff --git a/packages/approval-controller/tsconfig.json b/packages/approval-controller/tsconfig.json index f15fdde3be..9dbc0cf335 100644 --- a/packages/approval-controller/tsconfig.json +++ b/packages/approval-controller/tsconfig.json @@ -4,5 +4,5 @@ "baseUrl": "./" }, "references": [{ "path": "../base-controller" }], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/approval-controller/tsconfig.test.json b/packages/approval-controller/tsconfig.test.json new file mode 100644 index 0000000000..642abfdf51 --- /dev/null +++ b/packages/approval-controller/tsconfig.test.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [{ "path": "../base-controller" }], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/assets-controllers/__mocks__/uuid.js b/packages/assets-controllers/__mocks__/uuid.js deleted file mode 100644 index 5f17ea96d7..0000000000 --- a/packages/assets-controllers/__mocks__/uuid.js +++ /dev/null @@ -1,14 +0,0 @@ -const uuid = require('uuid'); - -// mock the v4 function of uuid lib to make sure it returns the fixed id for testing -const v4 = () => '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'; - -module.exports.NIL = uuid.NIL; -module.exports.v1 = uuid.v1; -module.exports.v3 = uuid.v3; -module.exports.v5 = uuid.v5; -module.exports.parse = uuid.parse; -module.exports.validate = uuid.validate; -module.exports.stringify = uuid.stringify; - -module.exports.v4 = v4; diff --git a/packages/assets-controllers/jest.config.ts b/packages/assets-controllers/jest.config.ts index 6c616f7297..4a218a523f 100644 --- a/packages/assets-controllers/jest.config.ts +++ b/packages/assets-controllers/jest.config.ts @@ -12,6 +12,9 @@ const displayName = path.basename(__dirname); const config = merge(baseConfig, { // The display name when running multiple projects displayName, + + // We rely on `window` to make requests + testEnvironment: 'jsdom', }); export default config; diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index ce992ae40f..045e6ffcc1 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -20,10 +20,11 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@metamask/base-controller": "workspace:~", + "@metamask/contract-metadata": "^1.35.0", "@metamask/controller-utils": "workspace:~", + "@metamask/metamask-eth-abis": "3.0.0", "@metamask/network-controller": "workspace:~", "@metamask/user-controllers": "workspace:~", "@types/uuid": "^8.3.4", @@ -42,6 +43,7 @@ "devDependencies": { "ethereumjs-util": "^7.1.4", "ethjs-provider-http": "^0.1.6", + "nock": "^13.0.7", "sinon": "^9.2.4", "ts-deepmerge": "^2.0.1" }, diff --git a/packages/assets-controllers/src/AccountTrackerController.test.ts b/packages/assets-controllers/src/AccountTrackerController.test.ts index 5235b3c7d1..596796ce19 100644 --- a/packages/assets-controllers/src/AccountTrackerController.test.ts +++ b/packages/assets-controllers/src/AccountTrackerController.test.ts @@ -2,9 +2,21 @@ import sinon from 'sinon'; import HttpProvider from 'ethjs-provider-http'; import type { ContactEntry } from '@metamask/user-controllers'; import { PreferencesController } from '@metamask/user-controllers'; -import * as utils from '@metamask/controller-utils'; +import { query } from '@metamask/controller-utils'; import { AccountTrackerController } from './AccountTrackerController'; +jest.mock('@metamask/controller-utils', () => { + return { + ...jest.requireActual('@metamask/controller-utils'), + query: jest.fn(), + }; +}); + +const mockedQuery = query as jest.Mock< + ReturnType, + Parameters +>; + const provider = new HttpProvider( 'https://ropsten.infura.io/v3/341eacb578dd44a1a049cbc5f6fd4035', ); @@ -51,7 +63,6 @@ describe('AccountTrackerController', () => { it('should sync balance with addresses', async () => { const address = '0xc38bf1ad06ef69f0c04e29dbeb4152b4175f0a8d'; - const queryStub = sinon.stub(utils, 'query'); const controller = new AccountTrackerController( { onPreferencesStateChange: sinon.stub(), @@ -61,7 +72,7 @@ describe('AccountTrackerController', () => { }, { provider }, ); - queryStub.returns(Promise.resolve('0x10')); + mockedQuery.mockReturnValue(Promise.resolve('0x10')); const result = await controller.syncBalanceWithAddresses([address]); expect(result[address].balance).toBe('0x10'); }); diff --git a/packages/assets-controllers/src/Standards/CollectibleStandards/ERC1155/ERC1155Standard.test.ts b/packages/assets-controllers/src/Standards/CollectibleStandards/ERC1155/ERC1155Standard.test.ts index 01869b2a03..6e2dccd0c7 100644 --- a/packages/assets-controllers/src/Standards/CollectibleStandards/ERC1155/ERC1155Standard.test.ts +++ b/packages/assets-controllers/src/Standards/CollectibleStandards/ERC1155/ERC1155Standard.test.ts @@ -12,15 +12,16 @@ const ERC1155_ADDRESS = '0xfaaFDc07907ff5120a76b34b731b278c38d6043C'; describe('ERC1155Standard', () => { let erc1155Standard: ERC1155Standard; let web3: any; - nock.disableNetConnect(); beforeAll(() => { web3 = new Web3(MAINNET_PROVIDER); erc1155Standard = new ERC1155Standard(web3); + nock.disableNetConnect(); }); afterAll(() => { nock.restore(); + nock.enableNetConnect(); }); it('should determine if contract supports URI metadata interface correctly', async () => { diff --git a/packages/assets-controllers/src/Standards/CollectibleStandards/ERC721/ERC721Standard.test.ts b/packages/assets-controllers/src/Standards/CollectibleStandards/ERC721/ERC721Standard.test.ts index c409214f0c..0a10403d8f 100644 --- a/packages/assets-controllers/src/Standards/CollectibleStandards/ERC721/ERC721Standard.test.ts +++ b/packages/assets-controllers/src/Standards/CollectibleStandards/ERC721/ERC721Standard.test.ts @@ -25,6 +25,7 @@ describe('ERC721Standard', () => { afterAll(() => { nock.restore(); + nock.enableNetConnect(); }); it('should determine if contract supports interface correctly', async () => { diff --git a/packages/assets-controllers/src/Standards/ERC20Standard.test.ts b/packages/assets-controllers/src/Standards/ERC20Standard.test.ts index e13802d957..cf746e768a 100644 --- a/packages/assets-controllers/src/Standards/ERC20Standard.test.ts +++ b/packages/assets-controllers/src/Standards/ERC20Standard.test.ts @@ -12,15 +12,16 @@ const MKR_ADDRESS = '0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2'; describe('ERC20Standard', () => { let erc20Standard: ERC20Standard; let web3: any; - nock.disableNetConnect(); beforeAll(() => { web3 = new Web3(MAINNET_PROVIDER); erc20Standard = new ERC20Standard(web3); + nock.disableNetConnect(); }); afterAll(() => { - nock.restore(); + nock.enableNetConnect(); + // nock.restore(); }); it('should get correct token symbol for a given ERC20 contract address', async () => { diff --git a/packages/assets-controllers/src/TokenDetectionController.test.ts b/packages/assets-controllers/src/TokenDetectionController.test.ts index 8e93aa8d24..d53c2933d2 100644 --- a/packages/assets-controllers/src/TokenDetectionController.test.ts +++ b/packages/assets-controllers/src/TokenDetectionController.test.ts @@ -11,7 +11,7 @@ import { NetworkController, NetworksChainId, } from '@metamask/network-controller'; -import { ControllerMessenger } from '../ControllerMessenger'; +import { ControllerMessenger } from '@metamask/base-controller'; import { TokensController } from './TokensController'; import { TokenDetectionController } from './TokenDetectionController'; diff --git a/packages/assets-controllers/src/TokenListController.test.ts b/packages/assets-controllers/src/TokenListController.test.ts index 04b401d5e8..a02f52b9aa 100644 --- a/packages/assets-controllers/src/TokenListController.test.ts +++ b/packages/assets-controllers/src/TokenListController.test.ts @@ -703,30 +703,36 @@ describe('TokenListController', () => { .get(`/tokens/${NetworksChainId.mainnet}`) .reply(200, sampleMainnetTokenList) .persist(); + const messenger = getRestrictedMessenger(); const controller = new TokenListController({ chainId: NetworksChainId.mainnet, onNetworkStateChange: (listener) => network.subscribe(listener), messenger, + interval: 750, }); await controller.start(); - expect(controller.state.tokenList).toStrictEqual( - sampleSingleChainState.tokenList, - ); - - expect( - controller.state.tokensChainsCache[NetworksChainId.mainnet].data, - ).toStrictEqual( - sampleSingleChainState.tokensChainsCache[NetworksChainId.mainnet].data, - ); - - expect( - controller.state.tokensChainsCache[NetworksChainId.mainnet].timestamp, - ).toBeGreaterThanOrEqual( - sampleSingleChainState.tokensChainsCache[NetworksChainId.mainnet] - .timestamp, - ); - controller.destroy(); + try { + await new Promise((resolve) => setTimeout(resolve, 1000)); + expect(controller.state.tokenList).toStrictEqual( + sampleSingleChainState.tokenList, + ); + + expect( + controller.state.tokensChainsCache[NetworksChainId.mainnet].data, + ).toStrictEqual( + sampleSingleChainState.tokensChainsCache[NetworksChainId.mainnet].data, + ); + + expect( + controller.state.tokensChainsCache[NetworksChainId.mainnet].timestamp, + ).toBeGreaterThanOrEqual( + sampleSingleChainState.tokensChainsCache[NetworksChainId.mainnet] + .timestamp, + ); + } finally { + controller.destroy(); + } }); it('should update the cache before threshold time if the current data is undefined', async () => { diff --git a/packages/assets-controllers/src/TokensController.test.ts b/packages/assets-controllers/src/TokensController.test.ts index 57062e9313..4ab758956a 100644 --- a/packages/assets-controllers/src/TokensController.test.ts +++ b/packages/assets-controllers/src/TokensController.test.ts @@ -11,6 +11,13 @@ import { TOKEN_END_POINT_API } from '@metamask/controller-utils'; import { TokensController } from './TokensController'; import { Token } from './TokenRatesController'; +jest.mock('uuid', () => { + return { + ...jest.requireActual('uuid'), + v1: () => '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d', + }; +}); + describe('TokensController', () => { let tokensController: TokensController; let preferences: PreferencesController; diff --git a/packages/assets-controllers/tsconfig.json b/packages/assets-controllers/tsconfig.json index 46941a6cfd..bb860cb5ee 100644 --- a/packages/assets-controllers/tsconfig.json +++ b/packages/assets-controllers/tsconfig.json @@ -9,5 +9,5 @@ { "path": "../network-controller" }, { "path": "../user-controllers" } ], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/assets-controllers/tsconfig.test.json b/packages/assets-controllers/tsconfig.test.json new file mode 100644 index 0000000000..634c0b7e28 --- /dev/null +++ b/packages/assets-controllers/tsconfig.test.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" }, + { "path": "../network-controller" }, + { "path": "../user-controllers" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index 73e79c5d1e..a09807a2f0 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "immer": "^9.0.6" }, diff --git a/packages/base-controller/tsconfig.json b/packages/base-controller/tsconfig.json index fc89716298..76a00b2242 100644 --- a/packages/base-controller/tsconfig.json +++ b/packages/base-controller/tsconfig.json @@ -3,5 +3,5 @@ "compilerOptions": { "baseUrl": "./" }, - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/base-controller/tsconfig.test.json b/packages/base-controller/tsconfig.test.json new file mode 100644 index 0000000000..64b943f524 --- /dev/null +++ b/packages/base-controller/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index ab8562f9fa..970b86a1a6 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "devDependencies": { "@metamask/assets-controllers": "workspace:~", "@metamask/base-controller": "workspace:~", diff --git a/packages/composable-controller/tsconfig.json b/packages/composable-controller/tsconfig.json index 63d6f33c41..b979310bb8 100644 --- a/packages/composable-controller/tsconfig.json +++ b/packages/composable-controller/tsconfig.json @@ -10,5 +10,5 @@ { "path": "../third-party-controllers" }, { "path": "../user-controllers" } ], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/composable-controller/tsconfig.test.json b/packages/composable-controller/tsconfig.test.json new file mode 100644 index 0000000000..01fc0d7afa --- /dev/null +++ b/packages/composable-controller/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../assets-controllers" }, + { "path": "../base-controller" }, + { "path": "../network-controller" }, + { "path": "../third-party-controllers" }, + { "path": "../user-controllers" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/controller-utils/jest.config.ts b/packages/controller-utils/jest.config.ts index 6c616f7297..4a218a523f 100644 --- a/packages/controller-utils/jest.config.ts +++ b/packages/controller-utils/jest.config.ts @@ -12,6 +12,9 @@ const displayName = path.basename(__dirname); const config = merge(baseConfig, { // The display name when running multiple projects displayName, + + // We rely on `window` to make requests + testEnvironment: 'jsdom', }); export default config; diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 493454aa0e..6f0403e7d9 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@metamask/assets-controllers": "workspace:~", "@metamask/base-controller": "workspace:~", @@ -35,6 +34,8 @@ "multiformats": "^9.5.2" }, "devDependencies": { + "abort-controller": "^3.0.0", + "nock": "^13.0.7", "ts-deepmerge": "^2.0.1" }, "engines": { diff --git a/packages/controller-utils/src/crypto-compare.test.ts b/packages/controller-utils/src/crypto-compare.test.ts index fb78846a09..47571a3377 100644 --- a/packages/controller-utils/src/crypto-compare.test.ts +++ b/packages/controller-utils/src/crypto-compare.test.ts @@ -1,5 +1,5 @@ +import 'isomorphic-fetch'; import nock from 'nock'; - import { fetchExchangeRate } from './crypto-compare'; const cryptoCompareHost = 'https://min-api.cryptocompare.com'; diff --git a/packages/controller-utils/src/token-service.test.ts b/packages/controller-utils/src/token-service.test.ts index 74e3f62c56..dbb7c3a123 100644 --- a/packages/controller-utils/src/token-service.test.ts +++ b/packages/controller-utils/src/token-service.test.ts @@ -1,4 +1,5 @@ import nock from 'nock'; +import { AbortController } from 'abort-controller'; import { fetchTokenList, fetchTokenMetadata, @@ -311,7 +312,7 @@ describe('Token service', () => { const { signal } = new AbortController(); await expect( fetchTokenMetadata( - NetworksChainId.goerli, + '5', '0x514910771af9ca656af840dff83e8264ecf986ca', signal, ), diff --git a/packages/controller-utils/src/util.test.ts b/packages/controller-utils/src/util.test.ts index acb013aa70..39bc0b53b9 100644 --- a/packages/controller-utils/src/util.test.ts +++ b/packages/controller-utils/src/util.test.ts @@ -795,6 +795,6 @@ describe('isTokenDetectionSupportedForNetwork', () => { }); it('returns false for testnets such as Ropsten', () => { - expect(util.isTokenDetectionSupportedForNetwork('137')).toBe(false); + expect(util.isTokenDetectionSupportedForNetwork('3')).toBe(false); }); }); diff --git a/packages/controller-utils/tsconfig.json b/packages/controller-utils/tsconfig.json index f15fdde3be..9dbc0cf335 100644 --- a/packages/controller-utils/tsconfig.json +++ b/packages/controller-utils/tsconfig.json @@ -4,5 +4,5 @@ "baseUrl": "./" }, "references": [{ "path": "../base-controller" }], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/controller-utils/tsconfig.test.json b/packages/controller-utils/tsconfig.test.json new file mode 100644 index 0000000000..642abfdf51 --- /dev/null +++ b/packages/controller-utils/tsconfig.test.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [{ "path": "../base-controller" }], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 6e28604caa..258d49be37 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", diff --git a/packages/gas-fee-controller/src/GasFeeController.test.ts b/packages/gas-fee-controller/src/GasFeeController.test.ts index 514aa35547..bdd02dae19 100644 --- a/packages/gas-fee-controller/src/GasFeeController.test.ts +++ b/packages/gas-fee-controller/src/GasFeeController.test.ts @@ -1,5 +1,4 @@ import sinon, { SinonFakeTimers } from 'sinon'; -import { mocked } from 'ts-jest/utils'; import { ControllerMessenger } from '@metamask/base-controller'; import { GAS_ESTIMATE_TYPES, @@ -15,10 +14,8 @@ import determineGasFeeCalculations from './determineGasFeeCalculations'; jest.mock('./determineGasFeeCalculations'); -const mockedDetermineGasFeeCalculations = mocked( - determineGasFeeCalculations, - true, -); +const mockedDetermineGasFeeCalculations = + determineGasFeeCalculations as jest.Mock; const name = 'GasFeeController'; diff --git a/packages/gas-fee-controller/src/determineGasFeeCalculations.test.ts b/packages/gas-fee-controller/src/determineGasFeeCalculations.test.ts index 4ca928dbbd..99858e448a 100644 --- a/packages/gas-fee-controller/src/determineGasFeeCalculations.test.ts +++ b/packages/gas-fee-controller/src/determineGasFeeCalculations.test.ts @@ -1,4 +1,3 @@ -import { mocked } from 'ts-jest/utils'; import determineGasFeeCalculations from './determineGasFeeCalculations'; import { unknownString, @@ -18,17 +17,28 @@ import fetchGasEstimatesViaEthFeeHistory from './fetchGasEstimatesViaEthFeeHisto jest.mock('./gas-util'); jest.mock('./fetchGasEstimatesViaEthFeeHistory'); -const mockedFetchGasEstimates = mocked(fetchGasEstimates, true); -const mockedFetchLegacyGasPriceEstimates = mocked( - fetchLegacyGasPriceEstimates, - true, -); -const mockedFetchEthGasPriceEstimate = mocked(fetchEthGasPriceEstimate, true); -const mockedCalculateTimeEstimate = mocked(calculateTimeEstimate, true); -const mockedFetchGasEstimatesViaEthFeeHistory = mocked( - fetchGasEstimatesViaEthFeeHistory, - true, -); +const mockedFetchGasEstimates = fetchGasEstimates as jest.Mock< + ReturnType, + Parameters +>; +const mockedFetchLegacyGasPriceEstimates = + fetchLegacyGasPriceEstimates as jest.Mock< + ReturnType, + Parameters + >; +const mockedFetchEthGasPriceEstimate = fetchEthGasPriceEstimate as jest.Mock< + ReturnType, + Parameters +>; +const mockedCalculateTimeEstimate = calculateTimeEstimate as jest.Mock< + ReturnType, + Parameters +>; +const mockedFetchGasEstimatesViaEthFeeHistory = + fetchGasEstimatesViaEthFeeHistory as jest.Mock< + ReturnType, + Parameters + >; /** * Builds mock data for the `fetchGasEstimates` function. All of the data here is filled in to make diff --git a/packages/gas-fee-controller/src/fetchBlockFeeHistory.test.ts b/packages/gas-fee-controller/src/fetchBlockFeeHistory.test.ts index fa095a79ed..5fb8da5083 100644 --- a/packages/gas-fee-controller/src/fetchBlockFeeHistory.test.ts +++ b/packages/gas-fee-controller/src/fetchBlockFeeHistory.test.ts @@ -1,18 +1,20 @@ import { BN } from 'ethereumjs-util'; -import { mocked } from 'ts-jest/utils'; import { when } from 'jest-when'; import { query, fromHex, toHex } from '@metamask/controller-utils'; import fetchBlockFeeHistory from './fetchBlockFeeHistory'; -jest.mock('../util', () => { +jest.mock('@metamask/controller-utils', () => { return { - ...jest.requireActual('../util'), + ...jest.requireActual('@metamask/controller-utils'), __esModule: true, query: jest.fn(), }; }); -const mockedQuery = mocked(query, true); +const mockedQuery = query as jest.Mock< + ReturnType, + Parameters +>; /** * Calls the given function the given number of times, collecting the results from each call. @@ -71,20 +73,20 @@ describe('fetchBlockFeeHistory', () => { expect(feeHistory).toStrictEqual([ { - number: new BN(1), - baseFeePerGas: new BN(10_000_000_000), + number: fromHex(toHex(1)), + baseFeePerGas: fromHex(toHex(10_000_000_000)), gasUsedRatio: 0.1, priorityFeesByPercentile: {}, }, { - number: new BN(2), - baseFeePerGas: new BN(20_000_000_000), + number: fromHex(toHex(2)), + baseFeePerGas: fromHex(toHex(20_000_000_000)), gasUsedRatio: 0.2, priorityFeesByPercentile: {}, }, { - number: new BN(3), - baseFeePerGas: new BN(30_000_000_000), + number: fromHex(toHex(3)), + baseFeePerGas: fromHex(toHex(30_000_000_000)), gasUsedRatio: 0.3, priorityFeesByPercentile: {}, }, @@ -183,7 +185,7 @@ describe('fetchBlockFeeHistory', () => { expect(feeHistory).toStrictEqual( expectedBlocks.map((block) => { return { - number: new BN(block.number), + number: fromHex(toHex(block.number)), baseFeePerGas: fromHex(block.baseFeePerGas), gasUsedRatio: block.gasUsedRatio, priorityFeesByPercentile: {}, @@ -273,33 +275,33 @@ describe('fetchBlockFeeHistory', () => { expect(feeHistory).toStrictEqual([ { - number: new BN(1), - baseFeePerGas: new BN(100_000_000_000), + number: fromHex(toHex(1)), + baseFeePerGas: fromHex(toHex(100_000_000_000)), gasUsedRatio: 0.1, priorityFeesByPercentile: { - 10: new BN(10_000_000_000), - 20: new BN(15_000_000_000), - 30: new BN(20_000_000_000), + 10: fromHex(toHex(10_000_000_000)), + 20: fromHex(toHex(15_000_000_000)), + 30: fromHex(toHex(20_000_000_000)), }, }, { - number: new BN(2), - baseFeePerGas: new BN(200_000_000_000), + number: fromHex(toHex(2)), + baseFeePerGas: fromHex(toHex(200_000_000_000)), gasUsedRatio: 0.2, priorityFeesByPercentile: { - 10: new BN(0), - 20: new BN(10_000_000_000), - 30: new BN(15_000_000_000), + 10: fromHex(toHex(0)), + 20: fromHex(toHex(10_000_000_000)), + 30: fromHex(toHex(15_000_000_000)), }, }, { - number: new BN(3), - baseFeePerGas: new BN(300_000_000_000), + number: fromHex(toHex(3)), + baseFeePerGas: fromHex(toHex(300_000_000_000)), gasUsedRatio: 0.3, priorityFeesByPercentile: { - 10: new BN(20_000_000_000), - 20: new BN(20_000_000_000), - 30: new BN(30_000_000_000), + 10: fromHex(toHex(20_000_000_000)), + 20: fromHex(toHex(20_000_000_000)), + 30: fromHex(toHex(30_000_000_000)), }, }, ]); @@ -363,26 +365,26 @@ describe('fetchBlockFeeHistory', () => { expect(feeHistory).toStrictEqual([ { - number: new BN(1), - baseFeePerGas: new BN(10_000_000_000), + number: fromHex(toHex(1)), + baseFeePerGas: fromHex(toHex(10_000_000_000)), gasUsedRatio: 0.1, priorityFeesByPercentile: {}, }, { - number: new BN(2), - baseFeePerGas: new BN(20_000_000_000), + number: fromHex(toHex(2)), + baseFeePerGas: fromHex(toHex(20_000_000_000)), gasUsedRatio: 0.2, priorityFeesByPercentile: {}, }, { - number: new BN(3), - baseFeePerGas: new BN(30_000_000_000), + number: fromHex(toHex(3)), + baseFeePerGas: fromHex(toHex(30_000_000_000)), gasUsedRatio: 0.3, priorityFeesByPercentile: {}, }, { - number: new BN(4), - baseFeePerGas: new BN(40_000_000_000), + number: fromHex(toHex(4)), + baseFeePerGas: fromHex(toHex(40_000_000_000)), gasUsedRatio: null, priorityFeesByPercentile: null, }, diff --git a/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory.test.ts b/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory.test.ts index c82a737730..c9086ab4fc 100644 --- a/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory.test.ts +++ b/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory.test.ts @@ -1,5 +1,4 @@ import { BN } from 'ethereumjs-util'; -import { mocked } from 'ts-jest/utils'; import { when } from 'jest-when'; import fetchBlockFeeHistory from './fetchBlockFeeHistory'; import calculateGasFeeEstimatesForPriorityLevels from './fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels'; @@ -12,12 +11,19 @@ jest.mock( ); jest.mock('./fetchGasEstimatesViaEthFeeHistory/fetchLatestBlock'); -const mockedFetchBlockFeeHistory = mocked(fetchBlockFeeHistory, true); -const mockedCalculateGasFeeEstimatesForPriorityLevels = mocked( - calculateGasFeeEstimatesForPriorityLevels, - true, -); -const mockedFetchLatestBlock = mocked(fetchLatestBlock, true); +const mockedFetchBlockFeeHistory = fetchBlockFeeHistory as jest.Mock< + ReturnType, + Parameters +>; +const mockedCalculateGasFeeEstimatesForPriorityLevels = + calculateGasFeeEstimatesForPriorityLevels as jest.Mock< + ReturnType, + Parameters + >; +const mockedFetchLatestBlock = fetchLatestBlock as jest.Mock< + ReturnType, + Parameters +>; describe('fetchGasEstimatesViaEthFeeHistory', () => { const latestBlock = { diff --git a/packages/gas-fee-controller/tsconfig.json b/packages/gas-fee-controller/tsconfig.json index 752e99a13c..3fbbfa075d 100644 --- a/packages/gas-fee-controller/tsconfig.json +++ b/packages/gas-fee-controller/tsconfig.json @@ -8,5 +8,5 @@ { "path": "../controller-utils" }, { "path": "../network-controller" } ], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/gas-fee-controller/tsconfig.test.json b/packages/gas-fee-controller/tsconfig.test.json new file mode 100644 index 0000000000..06ec9145ea --- /dev/null +++ b/packages/gas-fee-controller/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" }, + { "path": "../network-controller" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 0d3dcb4519..8023e46ff5 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@keystonehq/metamask-airgapped-keyring": "^0.3.0", "@metamask/base-controller": "workspace:~", diff --git a/packages/keyring-controller/src/KeyringController.test.ts b/packages/keyring-controller/src/KeyringController.test.ts index 2f9621d5d0..8a2cd10d44 100644 --- a/packages/keyring-controller/src/KeyringController.test.ts +++ b/packages/keyring-controller/src/KeyringController.test.ts @@ -23,6 +23,13 @@ import { SignTypedDataVersion, } from './KeyringController'; +jest.mock('uuid', () => { + return { + ...jest.requireActual('uuid'), + v4: () => '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d', + }; +}); + const input = '{"version":3,"id":"534e0199-53f6-41a9-a8fe-d504702ee5e8","address":"b97c80fab7a3793bbe746864db80d236f1345ea7",' + '"crypto":{"ciphertext":"974fec42023c2d6340d9710863aa82a2961aa03b9d7e5dd19aa77ab4aab1f344",' + diff --git a/packages/keyring-controller/tsconfig.json b/packages/keyring-controller/tsconfig.json index 6524a0327e..0cb6ecf089 100644 --- a/packages/keyring-controller/tsconfig.json +++ b/packages/keyring-controller/tsconfig.json @@ -9,5 +9,5 @@ { "path": "../message-manager" }, { "path": "../user-controllers" } ], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*", "./tests/**/*"] } diff --git a/packages/keyring-controller/tsconfig.test.json b/packages/keyring-controller/tsconfig.test.json new file mode 100644 index 0000000000..d8cb3660f1 --- /dev/null +++ b/packages/keyring-controller/tsconfig.test.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" }, + { "path": "../message-manager" }, + { "path": "../user-controllers" } + ], + "include": ["../../types/**/*", "./src/**/*", "./tests/**/*"] +} diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index fc28967e26..8f1d4a57a8 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", diff --git a/packages/message-manager/tsconfig.json b/packages/message-manager/tsconfig.json index 38d12f2af0..56d577a8b6 100644 --- a/packages/message-manager/tsconfig.json +++ b/packages/message-manager/tsconfig.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/message-manager/tsconfig.test.json b/packages/message-manager/tsconfig.test.json new file mode 100644 index 0000000000..f0de25755c --- /dev/null +++ b/packages/message-manager/tsconfig.test.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 64e1eca189..ef7f31978b 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", diff --git a/packages/network-controller/tsconfig.json b/packages/network-controller/tsconfig.json index 38d12f2af0..56d577a8b6 100644 --- a/packages/network-controller/tsconfig.json +++ b/packages/network-controller/tsconfig.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/network-controller/tsconfig.test.json b/packages/network-controller/tsconfig.test.json new file mode 100644 index 0000000000..f0de25755c --- /dev/null +++ b/packages/network-controller/tsconfig.test.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index 6097c3bfb4..1e7cbfbb3e 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", diff --git a/packages/notification-controller/tsconfig.json b/packages/notification-controller/tsconfig.json index 38d12f2af0..56d577a8b6 100644 --- a/packages/notification-controller/tsconfig.json +++ b/packages/notification-controller/tsconfig.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/notification-controller/tsconfig.test.json b/packages/notification-controller/tsconfig.test.json new file mode 100644 index 0000000000..f0de25755c --- /dev/null +++ b/packages/notification-controller/tsconfig.test.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 2c43e88921..a01dd26868 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@metamask/approval-controller": "workspace:~", "@metamask/base-controller": "workspace:~", diff --git a/packages/permission-controller/src/rpc-methods/requestPermissions.test.ts b/packages/permission-controller/src/rpc-methods/requestPermissions.test.ts index d1144eb195..553292b7bb 100644 --- a/packages/permission-controller/src/rpc-methods/requestPermissions.test.ts +++ b/packages/permission-controller/src/rpc-methods/requestPermissions.test.ts @@ -99,7 +99,7 @@ describe('requestPermissions RPC method', () => { delete expectedError.stack; const response: any = await engine.handle(req as any); - expect(response.error).toStrictEqual(expectedError); + expect(response.error).toMatchObject(expectedError); expect(mockRequestPermissionsForOrigin).not.toHaveBeenCalled(); } }); @@ -131,7 +131,7 @@ describe('requestPermissions RPC method', () => { delete expectedError.stack; const response: any = await engine.handle(req as any); - expect(response.error).toStrictEqual(expectedError); + expect(response.error).toMatchObject(expectedError); expect(mockRequestPermissionsForOrigin).not.toHaveBeenCalled(); } }); diff --git a/packages/permission-controller/tsconfig.json b/packages/permission-controller/tsconfig.json index d92814a7f6..aa8b80803d 100644 --- a/packages/permission-controller/tsconfig.json +++ b/packages/permission-controller/tsconfig.json @@ -8,5 +8,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/permission-controller/tsconfig.test.json b/packages/permission-controller/tsconfig.test.json new file mode 100644 index 0000000000..00d08fd793 --- /dev/null +++ b/packages/permission-controller/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../approval-controller" }, + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index 1f31dec650..196b52d1ba 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@metamask/base-controller": "workspace:~", "eth-rpc-errors": "^4.0.0", diff --git a/packages/rate-limit-controller/tsconfig.json b/packages/rate-limit-controller/tsconfig.json index f15fdde3be..9dbc0cf335 100644 --- a/packages/rate-limit-controller/tsconfig.json +++ b/packages/rate-limit-controller/tsconfig.json @@ -4,5 +4,5 @@ "baseUrl": "./" }, "references": [{ "path": "../base-controller" }], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/rate-limit-controller/tsconfig.test.json b/packages/rate-limit-controller/tsconfig.test.json new file mode 100644 index 0000000000..642abfdf51 --- /dev/null +++ b/packages/rate-limit-controller/tsconfig.test.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [{ "path": "../base-controller" }], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index e573234299..eeedc19ae8 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/permission-controller": "workspace:~", diff --git a/packages/subject-metadata-controller/src/SubjectMetadataController.test.ts b/packages/subject-metadata-controller/src/SubjectMetadataController.test.ts index b2a06de8de..e81ec6d985 100644 --- a/packages/subject-metadata-controller/src/SubjectMetadataController.test.ts +++ b/packages/subject-metadata-controller/src/SubjectMetadataController.test.ts @@ -1,5 +1,5 @@ import { Json, ControllerMessenger } from '@metamask/base-controller'; -import { HasPermissions } from '@metamask/permissions-controller'; +import { HasPermissions } from '@metamask/permission-controller'; import { SubjectMetadataController, SubjectMetadataControllerActions, diff --git a/packages/subject-metadata-controller/tsconfig.json b/packages/subject-metadata-controller/tsconfig.json index cfe1ed6a84..f98fd238f8 100644 --- a/packages/subject-metadata-controller/tsconfig.json +++ b/packages/subject-metadata-controller/tsconfig.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../permission-controller" } ], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/subject-metadata-controller/tsconfig.test.json b/packages/subject-metadata-controller/tsconfig.test.json new file mode 100644 index 0000000000..df53fcd3f5 --- /dev/null +++ b/packages/subject-metadata-controller/tsconfig.test.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../permission-controller" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/third-party-controllers/package.json b/packages/third-party-controllers/package.json index a754add5ed..9cb4c4db85 100644 --- a/packages/third-party-controllers/package.json +++ b/packages/third-party-controllers/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", diff --git a/packages/third-party-controllers/tsconfig.json b/packages/third-party-controllers/tsconfig.json index 38d12f2af0..56d577a8b6 100644 --- a/packages/third-party-controllers/tsconfig.json +++ b/packages/third-party-controllers/tsconfig.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/third-party-controllers/tsconfig.test.json b/packages/third-party-controllers/tsconfig.test.json new file mode 100644 index 0000000000..f0de25755c --- /dev/null +++ b/packages/third-party-controllers/tsconfig.test.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/transaction-controller/jest.config.ts b/packages/transaction-controller/jest.config.ts index 6c616f7297..c639ef0b0d 100644 --- a/packages/transaction-controller/jest.config.ts +++ b/packages/transaction-controller/jest.config.ts @@ -12,6 +12,9 @@ const displayName = path.basename(__dirname); const config = merge(baseConfig, { // The display name when running multiple projects displayName, + + // We rely on `XMLHttpRequest` to make requests + testEnvironment: 'jsdom', }); export default config; diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index d35bdb42fb..a313a0eb85 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@ethereumjs/common": "^2.3.1", "@ethereumjs/tx": "^3.2.1", @@ -28,6 +27,7 @@ "@metamask/controller-utils": "workspace:~", "@metamask/network-controller": "workspace:~", "async-mutex": "^0.2.6", + "babel-runtime": "^6.26.0", "eth-method-registry": "1.1.0", "eth-query": "^2.1.2", "eth-rpc-errors": "^4.0.0", diff --git a/packages/transaction-controller/src/TransactionController.test.ts b/packages/transaction-controller/src/TransactionController.test.ts index a7c139e739..b690cdbb54 100644 --- a/packages/transaction-controller/src/TransactionController.test.ts +++ b/packages/transaction-controller/src/TransactionController.test.ts @@ -25,6 +25,13 @@ const mockFlags: { [key: string]: any } = { estimateGas: null, }; +jest.mock('uuid', () => { + return { + ...jest.requireActual('uuid'), + v1: () => '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d', + }; +}); + jest.mock('eth-query', () => jest.fn().mockImplementation(() => { return { diff --git a/packages/transaction-controller/src/TransactionController.ts b/packages/transaction-controller/src/TransactionController.ts index 6199f40733..0789dafd77 100644 --- a/packages/transaction-controller/src/TransactionController.ts +++ b/packages/transaction-controller/src/TransactionController.ts @@ -20,21 +20,23 @@ import { BNToHex, fractionBN, hexToBN, - normalizeTransaction, safelyExecute, - validateTransaction, isSmartContractCode, - handleTransactionFetch, query, getIncreasedPriceFromExisting, - isEIP1559Transaction, - isGasPriceValue, - isFeeMarketEIP1559Values, - validateGasValues, validateMinimumIncrease, MAINNET, RPC, } from '@metamask/controller-utils'; +import { + normalizeTransaction, + validateTransaction, + handleTransactionFetch, + isEIP1559Transaction, + isGasPriceValue, + isFeeMarketEIP1559Values, + validateGasValues, +} from './utils'; const HARDFORK = 'london'; diff --git a/packages/transaction-controller/tsconfig.json b/packages/transaction-controller/tsconfig.json index 752e99a13c..3fbbfa075d 100644 --- a/packages/transaction-controller/tsconfig.json +++ b/packages/transaction-controller/tsconfig.json @@ -8,5 +8,5 @@ { "path": "../controller-utils" }, { "path": "../network-controller" } ], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/transaction-controller/tsconfig.test.json b/packages/transaction-controller/tsconfig.test.json new file mode 100644 index 0000000000..06ec9145ea --- /dev/null +++ b/packages/transaction-controller/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" }, + { "path": "../network-controller" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/packages/user-controllers/package.json b/packages/user-controllers/package.json index e227ec7c22..9a9d381bdb 100644 --- a/packages/user-controllers/package.json +++ b/packages/user-controllers/package.json @@ -20,7 +20,6 @@ "files": [ "dist/" ], - "scripts": {}, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~" diff --git a/packages/user-controllers/tsconfig.json b/packages/user-controllers/tsconfig.json index 38d12f2af0..56d577a8b6 100644 --- a/packages/user-controllers/tsconfig.json +++ b/packages/user-controllers/tsconfig.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*", "./jest.config.packages.ts"] + "include": ["../../types/**/*", "./src/**/*"] } diff --git a/packages/user-controllers/tsconfig.test.json b/packages/user-controllers/tsconfig.test.json new file mode 100644 index 0000000000..f0de25755c --- /dev/null +++ b/packages/user-controllers/tsconfig.test.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types/**/*", "./src/**/*"] +} diff --git a/tests/setupTests.ts b/tests/setupTests.ts new file mode 100644 index 0000000000..9ac7b718bc --- /dev/null +++ b/tests/setupTests.ts @@ -0,0 +1,3 @@ +// Import isomorphic-fetch up front (even though each package also imports it) +// so that Nock can override `fetch` effectively +import 'isomorphic-fetch'; diff --git a/tests/setupTestsAfterEnv.ts b/tests/setupTestsAfterEnv.ts new file mode 100644 index 0000000000..c692e7ccbf --- /dev/null +++ b/tests/setupTestsAfterEnv.ts @@ -0,0 +1,3 @@ +// import nock from 'nock'; + +// nock.disableNetConnect(); diff --git a/tsconfig.packages.json b/tsconfig.packages.json index 326a3dac5b..519de2e9d9 100644 --- a/tsconfig.packages.json +++ b/tsconfig.packages.json @@ -5,9 +5,7 @@ "module": "CommonJS", "moduleResolution": "node", /* NOTE: This must be synchronized with the `moduleNameMapper` option in `jest.config.packages.json` */ - "paths": { - "@metamask/*": ["../*/src"] - }, + "paths": { "@metamask/*": ["../*/src"] }, /* We can't enable noEmit because when our subpackages refer to other packages TypeScript will give us a warning */ /* "noEmit": true, */ "strict": true, diff --git a/tsconfig.packages.test.json b/tsconfig.packages.test.json new file mode 100644 index 0000000000..733ad13cf2 --- /dev/null +++ b/tsconfig.packages.test.json @@ -0,0 +1,21 @@ +{ + "extends": "./tsconfig.packages.json", + "compilerOptions": { + /** + * Instruct ts-jest to process JS files as well as TS files. + * This is important because some NPM modules (e.g. "multiformats") ship + * with ESM files, and these files will be used even if they ship with TS + * definition files, if Jest is run using the `jsdom` environment and the + * "browser" field for these packages points to the ESM version. + * This is paired with `transformIgnorePatterns` to explicit tell Jest not + * to ignore these packages when transforming files. + * See: + */ + "allowJs": true, + /** + * Prevent warnings related to this option from being printed when running + * tests. + */ + "esModuleInterop": true + } +} diff --git a/yarn.lock b/yarn.lock index 51963db733..1d1bf6912d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -65,6 +65,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.1.0, @babel/core@npm:^7.7.5": + version: 7.18.5 + resolution: "@babel/core@npm:7.18.5" + dependencies: + "@ampproject/remapping": ^2.1.0 + "@babel/code-frame": ^7.16.7 + "@babel/generator": ^7.18.2 + "@babel/helper-compilation-targets": ^7.18.2 + "@babel/helper-module-transforms": ^7.18.0 + "@babel/helpers": ^7.18.2 + "@babel/parser": ^7.18.5 + "@babel/template": ^7.16.7 + "@babel/traverse": ^7.18.5 + "@babel/types": ^7.18.4 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.1 + semver: ^6.3.0 + checksum: e20c3d69a07eb564408d611b827c2f5db56f05f1ca7cb3046f3823a1cf6b13c032f02d4b8ffe1e4593699e86e0f25ca1aee6228486c1ebea48d21aaeb28e6718 + languageName: node + linkType: hard + "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3": version: 7.17.12 resolution: "@babel/core@npm:7.17.12" @@ -110,7 +133,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.13.0": +"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.18.2": version: 7.18.2 resolution: "@babel/helper-compilation-targets@npm:7.18.2" dependencies: @@ -216,6 +239,22 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/helper-module-transforms@npm:7.18.0" + dependencies: + "@babel/helper-environment-visitor": ^7.16.7 + "@babel/helper-module-imports": ^7.16.7 + "@babel/helper-simple-access": ^7.17.7 + "@babel/helper-split-export-declaration": ^7.16.7 + "@babel/helper-validator-identifier": ^7.16.7 + "@babel/template": ^7.16.7 + "@babel/traverse": ^7.18.0 + "@babel/types": ^7.18.0 + checksum: 824c3967c08d75bb36adc18c31dcafebcd495b75b723e2e17c6185e88daf5c6db62a6a75d9f791b5f38618a349e7cb32503e715a1b9a4e8bad4d0f43e3e6b523 + languageName: node + linkType: hard + "@babel/helper-plugin-utils@npm:^7.0.0": version: 7.0.0 resolution: "@babel/helper-plugin-utils@npm:7.0.0" @@ -294,6 +333,17 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/helpers@npm:7.18.2" + dependencies: + "@babel/template": ^7.16.7 + "@babel/traverse": ^7.18.2 + "@babel/types": ^7.18.2 + checksum: 94620242f23f6d5f9b83a02b1aa1632ffb05b0815e1bb53d3b46d64aa8e771066bba1db8bd267d9091fb00134cfaeda6a8d69d1d4cc2c89658631adfa077ae70 + languageName: node + linkType: hard + "@babel/highlight@npm:^7.0.0": version: 7.5.0 resolution: "@babel/highlight@npm:7.5.0" @@ -363,6 +413,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.18.5": + version: 7.18.5 + resolution: "@babel/parser@npm:7.18.5" + bin: + parser: ./bin/babel-parser.js + checksum: 4976349d8681af215fd5771bd5b74568cc95a2e8bf2afcf354bf46f73f3d6f08d54705f354b1d0012f914dd02a524b7d37c5c1204ccaafccb9db3c37dba96a9b + languageName: node + linkType: hard + "@babel/plugin-syntax-async-generators@npm:^7.8.4": version: 7.8.4 resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" @@ -553,6 +612,24 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.18.0, @babel/traverse@npm:^7.18.2, @babel/traverse@npm:^7.18.5": + version: 7.18.5 + resolution: "@babel/traverse@npm:7.18.5" + dependencies: + "@babel/code-frame": ^7.16.7 + "@babel/generator": ^7.18.2 + "@babel/helper-environment-visitor": ^7.18.2 + "@babel/helper-function-name": ^7.17.9 + "@babel/helper-hoist-variables": ^7.16.7 + "@babel/helper-split-export-declaration": ^7.16.7 + "@babel/parser": ^7.18.5 + "@babel/types": ^7.18.4 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: cc0470c880e15a748ca3424665c65836dba450fd0331fb28f9d30aa42acd06387b6321996517ab1761213f781fe8d657e2c3ad67c34afcb766d50653b393810f + languageName: node + linkType: hard + "@babel/traverse@npm:^7.13.0": version: 7.18.2 resolution: "@babel/traverse@npm:7.18.2" @@ -621,7 +698,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.18.2": +"@babel/types@npm:^7.18.0, @babel/types@npm:^7.18.2, @babel/types@npm:^7.18.4": version: 7.18.4 resolution: "@babel/types@npm:7.18.4" dependencies: @@ -649,6 +726,18 @@ __metadata: languageName: node linkType: hard +"@cnakazawa/watch@npm:^1.0.3": + version: 1.0.4 + resolution: "@cnakazawa/watch@npm:1.0.4" + dependencies: + exec-sh: ^0.3.2 + minimist: ^1.2.0 + bin: + watch: cli.js + checksum: 88f395ca0af2f3c0665b8ce7bb29e83647ec5d141e8735712aeeee4117081555436712966b6957aa1c461f6f826a4d23b0034e379c443a10e919f81c8748bf29 + languageName: node + linkType: hard + "@cspotcode/source-map-consumer@npm:0.8.0": version: 0.8.0 resolution: "@cspotcode/source-map-consumer@npm:0.8.0" @@ -1150,6 +1239,20 @@ __metadata: languageName: node linkType: hard +"@jest/console@npm:^26.6.2": + version: 26.6.2 + resolution: "@jest/console@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + "@types/node": "*" + chalk: ^4.0.0 + jest-message-util: ^26.6.2 + jest-util: ^26.6.2 + slash: ^3.0.0 + checksum: 69a9ca6ba357d7634fd537e3b87c64369865ffb59f57fe6661223088bd62273d0c1d660fefce3625a427f42a37d32590f6b291e1295ea6d6b7cb31ddae36a737 + languageName: node + linkType: hard + "@jest/console@npm:^28.1.0": version: 28.1.0 resolution: "@jest/console@npm:28.1.0" @@ -1164,6 +1267,42 @@ __metadata: languageName: node linkType: hard +"@jest/core@npm:^26.6.3": + version: 26.6.3 + resolution: "@jest/core@npm:26.6.3" + dependencies: + "@jest/console": ^26.6.2 + "@jest/reporters": ^26.6.2 + "@jest/test-result": ^26.6.2 + "@jest/transform": ^26.6.2 + "@jest/types": ^26.6.2 + "@types/node": "*" + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + jest-changed-files: ^26.6.2 + jest-config: ^26.6.3 + jest-haste-map: ^26.6.2 + jest-message-util: ^26.6.2 + jest-regex-util: ^26.0.0 + jest-resolve: ^26.6.2 + jest-resolve-dependencies: ^26.6.3 + jest-runner: ^26.6.3 + jest-runtime: ^26.6.3 + jest-snapshot: ^26.6.2 + jest-util: ^26.6.2 + jest-validate: ^26.6.2 + jest-watcher: ^26.6.2 + micromatch: ^4.0.2 + p-each-series: ^2.1.0 + rimraf: ^3.0.0 + slash: ^3.0.0 + strip-ansi: ^6.0.0 + checksum: f52b26ffe9b923ed67b3ff30e170b3a434d4263990f78d96cd43acbd0aa8ad36aecad2f1822f376da3a80228714fd6b7f7acd51744133cfcd2780ba0e3da537b + languageName: node + linkType: hard + "@jest/core@npm:^28.1.0": version: 28.1.0 resolution: "@jest/core@npm:28.1.0" @@ -1206,6 +1345,29 @@ __metadata: languageName: node linkType: hard +"@jest/environment@npm:^25.5.0": + version: 25.5.0 + resolution: "@jest/environment@npm:25.5.0" + dependencies: + "@jest/fake-timers": ^25.5.0 + "@jest/types": ^25.5.0 + jest-mock: ^25.5.0 + checksum: 93a9ddbcfafef26c21bb880ea947493f4b248e5d929ed165290079ac28559fa0d6983641ad57abe30d9ae13d3ecf73034964e2adc3b7bb207f1888818e6a3432 + languageName: node + linkType: hard + +"@jest/environment@npm:^26.6.2": + version: 26.6.2 + resolution: "@jest/environment@npm:26.6.2" + dependencies: + "@jest/fake-timers": ^26.6.2 + "@jest/types": ^26.6.2 + "@types/node": "*" + jest-mock: ^26.6.2 + checksum: 7748081b2a758161785aff161780b05084dccaff908c8ed82c04f7da5d5e5439e77b5eb667306d5c4e1422653c7a67ed2955f26704f48c65c404195e1e21780a + languageName: node + linkType: hard + "@jest/environment@npm:^28.1.0": version: 28.1.0 resolution: "@jest/environment@npm:28.1.0" @@ -1237,6 +1399,33 @@ __metadata: languageName: node linkType: hard +"@jest/fake-timers@npm:^25.5.0": + version: 25.5.0 + resolution: "@jest/fake-timers@npm:25.5.0" + dependencies: + "@jest/types": ^25.5.0 + jest-message-util: ^25.5.0 + jest-mock: ^25.5.0 + jest-util: ^25.5.0 + lolex: ^5.0.0 + checksum: e34dc713a2e26e936aa15d0d6f479ad9ffbea13d50436f873631fd8077fd746d23e2ce1f0bd2ac32fe99f0dac3eae35960a59fdd98830c0134819e5c9b7e822e + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^26.6.2": + version: 26.6.2 + resolution: "@jest/fake-timers@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + "@sinonjs/fake-timers": ^6.0.1 + "@types/node": "*" + jest-message-util: ^26.6.2 + jest-mock: ^26.6.2 + jest-util: ^26.6.2 + checksum: c732658fac4014a424e6629495296c3b2e8697787518df34c74539ec139625e7141ad792b8a4d3c8392b47954ad01be9846b7c57cc8c631490969e7cafa84e6a + languageName: node + linkType: hard + "@jest/fake-timers@npm:^28.1.0": version: 28.1.0 resolution: "@jest/fake-timers@npm:28.1.0" @@ -1251,6 +1440,17 @@ __metadata: languageName: node linkType: hard +"@jest/globals@npm:^26.6.2": + version: 26.6.2 + resolution: "@jest/globals@npm:26.6.2" + dependencies: + "@jest/environment": ^26.6.2 + "@jest/types": ^26.6.2 + expect: ^26.6.2 + checksum: 49b28d0cc7e99898eeaf23e6899e3c9ee25a2a4831caa3eb930ec1722de2e92a0e8a6a6f649438fdd20ff0c0d5e522dd78cb719466a57f011a88d60419b903c5 + languageName: node + linkType: hard + "@jest/globals@npm:^28.1.0": version: 28.1.0 resolution: "@jest/globals@npm:28.1.0" @@ -1262,6 +1462,42 @@ __metadata: languageName: node linkType: hard +"@jest/reporters@npm:^26.6.2": + version: 26.6.2 + resolution: "@jest/reporters@npm:26.6.2" + dependencies: + "@bcoe/v8-coverage": ^0.2.3 + "@jest/console": ^26.6.2 + "@jest/test-result": ^26.6.2 + "@jest/transform": ^26.6.2 + "@jest/types": ^26.6.2 + chalk: ^4.0.0 + collect-v8-coverage: ^1.0.0 + exit: ^0.1.2 + glob: ^7.1.2 + graceful-fs: ^4.2.4 + istanbul-lib-coverage: ^3.0.0 + istanbul-lib-instrument: ^4.0.3 + istanbul-lib-report: ^3.0.0 + istanbul-lib-source-maps: ^4.0.0 + istanbul-reports: ^3.0.2 + jest-haste-map: ^26.6.2 + jest-resolve: ^26.6.2 + jest-util: ^26.6.2 + jest-worker: ^26.6.2 + node-notifier: ^8.0.0 + slash: ^3.0.0 + source-map: ^0.6.0 + string-length: ^4.0.1 + terminal-link: ^2.0.0 + v8-to-istanbul: ^7.0.0 + dependenciesMeta: + node-notifier: + optional: true + checksum: 53c7a697c562becb7682a9a6248ea553013bf7048c08ddce5bf9fb53b975fc9f799ca163f7494e0be6c4d3cf181c8bc392976268da52b7de8ce4470b971ed84e + languageName: node + linkType: hard + "@jest/reporters@npm:^28.1.0": version: 28.1.0 resolution: "@jest/reporters@npm:28.1.0" @@ -1308,6 +1544,17 @@ __metadata: languageName: node linkType: hard +"@jest/source-map@npm:^26.6.2": + version: 26.6.2 + resolution: "@jest/source-map@npm:26.6.2" + dependencies: + callsites: ^3.0.0 + graceful-fs: ^4.2.4 + source-map: ^0.6.0 + checksum: b171cef442738887dda85527ab78229996db5946c6435ddb56d442c2851889ba493729a9de73100f1a31b9a31a91207b55bc75656ae7df9843d65078b925385e + languageName: node + linkType: hard + "@jest/source-map@npm:^28.0.2": version: 28.0.2 resolution: "@jest/source-map@npm:28.0.2" @@ -1319,6 +1566,18 @@ __metadata: languageName: node linkType: hard +"@jest/test-result@npm:^26.6.2": + version: 26.6.2 + resolution: "@jest/test-result@npm:26.6.2" + dependencies: + "@jest/console": ^26.6.2 + "@jest/types": ^26.6.2 + "@types/istanbul-lib-coverage": ^2.0.0 + collect-v8-coverage: ^1.0.0 + checksum: dcb6175825231e9377e43546aed4edd6acc22f1788d5f099bbba36bb55b9115a92f760e88426c076bcdeff5a50d8f697327a920db0cd1fb339781fc3713fa8c7 + languageName: node + linkType: hard + "@jest/test-result@npm:^28.1.0": version: 28.1.0 resolution: "@jest/test-result@npm:28.1.0" @@ -1331,6 +1590,19 @@ __metadata: languageName: node linkType: hard +"@jest/test-sequencer@npm:^26.6.3": + version: 26.6.3 + resolution: "@jest/test-sequencer@npm:26.6.3" + dependencies: + "@jest/test-result": ^26.6.2 + graceful-fs: ^4.2.4 + jest-haste-map: ^26.6.2 + jest-runner: ^26.6.3 + jest-runtime: ^26.6.3 + checksum: a3450b3d7057f74da1828bb7b3658f228a7c049dc4082c5c49b8bafbd8f69d102a8a99007b7ed5d43464712f7823f53fe3564fda17787f178c219cccf329a461 + languageName: node + linkType: hard + "@jest/test-sequencer@npm:^28.1.0": version: 28.1.0 resolution: "@jest/test-sequencer@npm:28.1.0" @@ -1343,6 +1615,29 @@ __metadata: languageName: node linkType: hard +"@jest/transform@npm:^26.6.2": + version: 26.6.2 + resolution: "@jest/transform@npm:26.6.2" + dependencies: + "@babel/core": ^7.1.0 + "@jest/types": ^26.6.2 + babel-plugin-istanbul: ^6.0.0 + chalk: ^4.0.0 + convert-source-map: ^1.4.0 + fast-json-stable-stringify: ^2.0.0 + graceful-fs: ^4.2.4 + jest-haste-map: ^26.6.2 + jest-regex-util: ^26.0.0 + jest-util: ^26.6.2 + micromatch: ^4.0.2 + pirates: ^4.0.1 + slash: ^3.0.0 + source-map: ^0.6.1 + write-file-atomic: ^3.0.0 + checksum: 31667b925a2f3b310d854495da0ab67be8f5da24df76ecfc51162e75f1140aed5d18069ba190cb5e0c7e492b04272c8c79076ddf5bbcff530ee80a16a02c4545 + languageName: node + linkType: hard + "@jest/transform@npm:^28.1.0": version: 28.1.0 resolution: "@jest/transform@npm:28.1.0" @@ -1366,6 +1661,31 @@ __metadata: languageName: node linkType: hard +"@jest/types@npm:^25.5.0": + version: 25.5.0 + resolution: "@jest/types@npm:25.5.0" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^1.1.1 + "@types/yargs": ^15.0.0 + chalk: ^3.0.0 + checksum: 785b67521a2c54f290ad4b53f49fec6b14fa25828bf26a838f7bbe08dd42122f27f71a620ea9a33286346786e9b120dd370abf589e6ef8c5fde9dc56906880b1 + languageName: node + linkType: hard + +"@jest/types@npm:^26.6.2": + version: 26.6.2 + resolution: "@jest/types@npm:26.6.2" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^15.0.0 + chalk: ^4.0.0 + checksum: a0bd3d2f22f26ddb23f41fddf6e6a30bf4fab2ce79ec1cb6ce6fdfaf90a72e00f4c71da91ec61e13db3b10c41de22cf49d07c57ff2b59171d64b29f909c1d8d6 + languageName: node + linkType: hard + "@jest/types@npm:^27.2.5": version: 27.2.5 resolution: "@jest/types@npm:27.2.5" @@ -1544,7 +1864,9 @@ __metadata: resolution: "@metamask/assets-controllers@workspace:packages/assets-controllers" dependencies: "@metamask/base-controller": "workspace:~" + "@metamask/contract-metadata": ^1.35.0 "@metamask/controller-utils": "workspace:~" + "@metamask/metamask-eth-abis": 3.0.0 "@metamask/network-controller": "workspace:~" "@metamask/user-controllers": "workspace:~" "@types/uuid": ^8.3.4 @@ -1557,6 +1879,7 @@ __metadata: ethers: ^5.4.1 ethjs-provider-http: ^0.1.6 immer: ^9.0.6 + nock: ^13.0.7 single-call-balance-checker-abi: ^1.0.0 sinon: ^9.2.4 ts-deepmerge: ^2.0.1 @@ -1617,6 +1940,13 @@ __metadata: languageName: unknown linkType: soft +"@metamask/contract-metadata@npm:^1.35.0": + version: 1.35.0 + resolution: "@metamask/contract-metadata@npm:1.35.0" + checksum: d2bbb8bff2e2ebd4104512dbf4b2900fffd1f03125673b0d3ac58dac0e3b324402fec7170229dfdb601635d6d7074e0755f139149b3dc8640ee4703c17eb2383 + languageName: node + linkType: hard + "@metamask/controller-utils@workspace:packages/controller-utils, @metamask/controller-utils@workspace:~": version: 0.0.0-use.local resolution: "@metamask/controller-utils@workspace:packages/controller-utils" @@ -1625,6 +1955,7 @@ __metadata: "@metamask/base-controller": "workspace:~" "@metamask/message-manager": "workspace:~" "@metamask/transaction-controller": "workspace:~" + abort-controller: ^3.0.0 eth-ens-namehash: ^2.0.8 eth-rpc-errors: ^4.0.0 ethereumjs-util: ^7.1.4 @@ -1632,6 +1963,7 @@ __metadata: fast-deep-equal: ^3.1.3 isomorphic-fetch: ^3.0.0 multiformats: ^9.5.2 + nock: ^13.0.7 ts-deepmerge: ^2.0.1 languageName: unknown linkType: soft @@ -1659,14 +1991,15 @@ __metadata: eslint-plugin-jsdoc: ^36.1.0 eslint-plugin-node: ^11.1.0 eslint-plugin-prettier: ^3.4.1 - jest: ^28.1.0 - jest-environment-jsdom: ^28.1.0 - jest-when: ^3.5.1 + isomorphic-fetch: ^3.0.0 + jest: ^26.4.2 + jest-environment-jsdom: ^25.0.0 + jest-when: ^3.4.2 prettier: ^2.6.2 prettier-plugin-packagejson: ^2.2.17 rimraf: ^3.0.2 ts-deepmerge: ^2.0.1 - ts-jest: ^28.0.2 + ts-jest: ^26.5.2 ts-node: ^10.7.0 typedoc: ^0.22.15 typedoc-plugin-missing-exports: ^0.22.6 @@ -1807,6 +2140,13 @@ __metadata: languageName: unknown linkType: soft +"@metamask/metamask-eth-abis@npm:3.0.0": + version: 3.0.0 + resolution: "@metamask/metamask-eth-abis@npm:3.0.0" + checksum: a9e3020dd8deda91b4957cc38f0041944fd60a374d7f9d19b3bc2706c5ca70b3c2a5f679b5ef390b722a2c047a2852ebecd3aaa91c054cf5a60d9ca02ee45fe6 + languageName: node + linkType: hard + "@metamask/network-controller@workspace:packages/network-controller, @metamask/network-controller@workspace:~": version: 0.0.0-use.local resolution: "@metamask/network-controller@workspace:packages/network-controller" @@ -1918,6 +2258,7 @@ __metadata: "@metamask/controller-utils": "workspace:~" "@metamask/network-controller": "workspace:~" async-mutex: ^0.2.6 + babel-runtime: ^6.26.0 eth-method-registry: 1.1.0 eth-query: ^2.1.2 eth-rpc-errors: ^4.0.0 @@ -2098,6 +2439,13 @@ __metadata: languageName: node linkType: hard +"@tootallnate/once@npm:1": + version: 1.1.2 + resolution: "@tootallnate/once@npm:1.1.2" + checksum: e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9 + languageName: node + linkType: hard + "@tootallnate/once@npm:2": version: 2.0.0 resolution: "@tootallnate/once@npm:2.0.0" @@ -2133,7 +2481,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.1.14": +"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.1.7": version: 7.1.19 resolution: "@types/babel__core@npm:7.1.19" dependencies: @@ -2174,6 +2522,15 @@ __metadata: languageName: node linkType: hard +"@types/babel__traverse@npm:^7.0.4": + version: 7.17.1 + resolution: "@types/babel__traverse@npm:7.17.1" + dependencies: + "@babel/types": ^7.3.0 + checksum: 8992d8c1eaaf1c793e9184b930767883446939d2744c40ea4e9591086e79b631189dc519931ed8864f1e016742a189703c217db59b800aca84870b865009d8b4 + languageName: node + linkType: hard + "@types/bn.js@npm:*, @types/bn.js@npm:^5.1.0": version: 5.1.0 resolution: "@types/bn.js@npm:5.1.0" @@ -2216,7 +2573,7 @@ __metadata: languageName: node linkType: hard -"@types/graceful-fs@npm:^4.1.3": +"@types/graceful-fs@npm:^4.1.2, @types/graceful-fs@npm:^4.1.3": version: 4.1.5 resolution: "@types/graceful-fs@npm:4.1.5" dependencies: @@ -2241,6 +2598,16 @@ __metadata: languageName: node linkType: hard +"@types/istanbul-reports@npm:^1.1.1": + version: 1.1.2 + resolution: "@types/istanbul-reports@npm:1.1.2" + dependencies: + "@types/istanbul-lib-coverage": "*" + "@types/istanbul-lib-report": "*" + checksum: 00866e815d1e68d0a590d691506937b79d8d65ad8eab5ed34dbfee66136c7c0f4ea65327d32046d5fe469f22abea2b294987591dc66365ebc3991f7e413b2d78 + languageName: node + linkType: hard + "@types/istanbul-reports@npm:^3.0.0": version: 3.0.0 resolution: "@types/istanbul-reports@npm:3.0.0" @@ -2269,17 +2636,6 @@ __metadata: languageName: node linkType: hard -"@types/jsdom@npm:^16.2.4": - version: 16.2.14 - resolution: "@types/jsdom@npm:16.2.14" - dependencies: - "@types/node": "*" - "@types/parse5": "*" - "@types/tough-cookie": "*" - checksum: 12bb926fa74ea07c0ba0bfd5bf185ac0fd771b28666a5e8784b9af4bb96bb0c51fc5f494eff7da1d3cd804e4757f640a23c344c1cd5d188f95ab0ab51770d88b - languageName: node - linkType: hard - "@types/json-schema@npm:^7.0.3": version: 7.0.6 resolution: "@types/json-schema@npm:7.0.6" @@ -2329,10 +2685,10 @@ __metadata: languageName: node linkType: hard -"@types/parse5@npm:*": - version: 6.0.3 - resolution: "@types/parse5@npm:6.0.3" - checksum: ddb59ee4144af5dfcc508a8dcf32f37879d11e12559561e65788756b95b33e6f03ea027d88e1f5408f9b7bfb656bf630ace31a2169edf44151daaf8dd58df1b7 +"@types/normalize-package-data@npm:^2.4.0": + version: 2.4.1 + resolution: "@types/normalize-package-data@npm:2.4.1" + checksum: e87bccbf11f95035c89a132b52b79ce69a1e3652fe55962363063c9c0dae0fe2477ebc585e03a9652adc6f381d24ba5589cc5e51849df4ced3d3e004a7d40ed5 languageName: node linkType: hard @@ -2345,6 +2701,13 @@ __metadata: languageName: node linkType: hard +"@types/prettier@npm:^2.0.0": + version: 2.6.3 + resolution: "@types/prettier@npm:2.6.3" + checksum: e1836699ca189fff6d2a73dc22e028b6a6f693ed1180d5998ac29fa197caf8f85aa92cb38db642e4a370e616b451cb5722ad2395dab11c78e025a1455f37d1f0 + languageName: node + linkType: hard + "@types/prettier@npm:^2.1.5": version: 2.6.1 resolution: "@types/prettier@npm:2.6.1" @@ -2384,6 +2747,13 @@ __metadata: languageName: node linkType: hard +"@types/stack-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "@types/stack-utils@npm:1.0.1" + checksum: 9dc052b575acfeca3f165fb19d87b7b2989d54ed7d64a7eeb0b7587bc5795ef1f2c2b1511a44dcf0831ef35b8ce3486f97fcbfdd50c01f68aa297de31502c9d9 + languageName: node + linkType: hard + "@types/stack-utils@npm:^2.0.0": version: 2.0.1 resolution: "@types/stack-utils@npm:2.0.1" @@ -2391,13 +2761,6 @@ __metadata: languageName: node linkType: hard -"@types/tough-cookie@npm:*": - version: 4.0.2 - resolution: "@types/tough-cookie@npm:4.0.2" - checksum: e055556ffdaa39ad85ede0af192c93f93f986f4bd9e9426efdc2948e3e2632db3a4a584d4937dbf6d7620527419bc99e6182d3daf2b08685e710f2eda5291905 - languageName: node - linkType: hard - "@types/underscore@npm:*": version: 1.11.4 resolution: "@types/underscore@npm:1.11.4" @@ -2429,6 +2792,15 @@ __metadata: languageName: node linkType: hard +"@types/yargs@npm:^15.0.0": + version: 15.0.14 + resolution: "@types/yargs@npm:15.0.14" + dependencies: + "@types/yargs-parser": "*" + checksum: 8e358aeb8f0c3758e59e2b8fcfdee5627ab2fe3d92f50f380503d966c7f33287be3322155516a50d27727fde1ad3878f48f60cd6648439126d4b0bbb1a1153ed + languageName: node + linkType: hard + "@types/yargs@npm:^16.0.0": version: 16.0.4 resolution: "@types/yargs@npm:16.0.4" @@ -2608,7 +2980,7 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.5, abab@npm:^2.0.6": +"abab@npm:^2.0.0, abab@npm:^2.0.3, abab@npm:^2.0.5": version: 2.0.6 resolution: "abab@npm:2.0.6" checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e @@ -2649,6 +3021,16 @@ __metadata: languageName: node linkType: hard +"acorn-globals@npm:^4.3.2": + version: 4.3.4 + resolution: "acorn-globals@npm:4.3.4" + dependencies: + acorn: ^6.0.1 + acorn-walk: ^6.0.1 + checksum: c31bfde102d8a104835e9591c31dd037ec771449f9c86a6b1d2ac3c7c336694f828cfabba7687525b094f896a854affbf1afe6e1b12c0d998be6bab5d49c9663 + languageName: node + linkType: hard + "acorn-globals@npm:^6.0.0": version: 6.0.0 resolution: "acorn-globals@npm:6.0.0" @@ -2668,6 +3050,13 @@ __metadata: languageName: node linkType: hard +"acorn-walk@npm:^6.0.1": + version: 6.2.0 + resolution: "acorn-walk@npm:6.2.0" + checksum: ea241a5d96338f1e8030aafae72a91ff0ec4360e2775e44a2fdb2eb618b07fc309e000a5126056631ac7f00fe8bd9bbd23fcb6d018eee4ba11086eb36c1b2e61 + languageName: node + linkType: hard + "acorn-walk@npm:^7.1.1": version: 7.2.0 resolution: "acorn-walk@npm:7.2.0" @@ -2682,7 +3071,16 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.1.1, acorn@npm:^7.4.0": +"acorn@npm:^6.0.1": + version: 6.4.2 + resolution: "acorn@npm:6.4.2" + bin: + acorn: bin/acorn + checksum: 44b07053729db7f44d28343eed32247ed56dc4a6ec6dff2b743141ecd6b861406bbc1c20bf9d4f143ea7dd08add5dc8c290582756539bc03a8db605050ce2fb4 + languageName: node + linkType: hard + +"acorn@npm:^7.1.0, acorn@npm:^7.1.1, acorn@npm:^7.4.0": version: 7.4.1 resolution: "acorn@npm:7.4.1" bin: @@ -2691,7 +3089,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.4.1, acorn@npm:^8.5.0": +"acorn@npm:^8.2.4, acorn@npm:^8.4.1": version: 8.7.1 resolution: "acorn@npm:8.7.1" bin: @@ -2838,6 +3236,16 @@ __metadata: languageName: node linkType: hard +"anymatch@npm:^2.0.0": + version: 2.0.0 + resolution: "anymatch@npm:2.0.0" + dependencies: + micromatch: ^3.1.4 + normalize-path: ^2.1.1 + checksum: f7bb1929842b4585cdc28edbb385767d499ce7d673f96a8f11348d2b2904592ffffc594fe9229b9a1e9e4dccb9329b7692f9f45e6a11dcefbb76ecdc9ab740f6 + languageName: node + linkType: hard + "anymatch@npm:^3.0.3": version: 3.1.1 resolution: "anymatch@npm:3.1.1" @@ -2898,6 +3306,34 @@ __metadata: languageName: node linkType: hard +"arr-diff@npm:^4.0.0": + version: 4.0.0 + resolution: "arr-diff@npm:4.0.0" + checksum: ea7c8834842ad3869297f7915689bef3494fd5b102ac678c13ffccab672d3d1f35802b79e90c4cfec2f424af3392e44112d1ccf65da34562ed75e049597276a0 + languageName: node + linkType: hard + +"arr-flatten@npm:^1.1.0": + version: 1.1.0 + resolution: "arr-flatten@npm:1.1.0" + checksum: 963fe12564fca2f72c055f3f6c206b9e031f7c433a0c66ca9858b484821f248c5b1e5d53c8e4989d80d764cd776cf6d9b160ad05f47bdc63022bfd63b5455e22 + languageName: node + linkType: hard + +"arr-union@npm:^3.1.0": + version: 3.1.0 + resolution: "arr-union@npm:3.1.0" + checksum: b5b0408c6eb7591143c394f3be082fee690ddd21f0fdde0a0a01106799e847f67fcae1b7e56b0a0c173290e29c6aca9562e82b300708a268bc8f88f3d6613cb9 + languageName: node + linkType: hard + +"array-equal@npm:^1.0.0": + version: 1.0.0 + resolution: "array-equal@npm:1.0.0" + checksum: 3f68045806357db9b2fa1ad583e42a659de030633118a0cd35ee4975cb20db3b9a3d36bbec9b5afe70011cf989eefd215c12fe0ce08c498f770859ca6e70688a + languageName: node + linkType: hard + "array-includes@npm:^3.1.1": version: 3.1.1 resolution: "array-includes@npm:3.1.1" @@ -2916,6 +3352,13 @@ __metadata: languageName: node linkType: hard +"array-unique@npm:^0.3.2": + version: 0.3.2 + resolution: "array-unique@npm:0.3.2" + checksum: da344b89cfa6b0a5c221f965c21638bfb76b57b45184a01135382186924f55973cd9b171d4dad6bf606c6d9d36b0d721d091afdc9791535ead97ccbe78f8a888 + languageName: node + linkType: hard + "array.prototype.flat@npm:^1.2.3": version: 1.2.3 resolution: "array.prototype.flat@npm:1.2.3" @@ -2954,6 +3397,13 @@ __metadata: languageName: node linkType: hard +"assign-symbols@npm:^1.0.0": + version: 1.0.0 + resolution: "assign-symbols@npm:1.0.0" + checksum: c0eb895911d05b6b2d245154f70461c5e42c107457972e5ebba38d48967870dee53bcdf6c7047990586daa80fab8dab3cc6300800fbd47b454247fdedd859a2c + languageName: node + linkType: hard + "astral-regex@npm:^2.0.0": version: 2.0.0 resolution: "astral-regex@npm:2.0.0" @@ -3009,6 +3459,15 @@ __metadata: languageName: node linkType: hard +"atob@npm:^2.1.2": + version: 2.1.2 + resolution: "atob@npm:2.1.2" + bin: + atob: bin/atob.js + checksum: dfeeeb70090c5ebea7be4b9f787f866686c645d9f39a0d184c817252d0cf08455ed25267d79c03254d3be1f03ac399992a792edcd5ffb9c91e097ab5ef42833a + languageName: node + linkType: hard + "available-typed-arrays@npm:^1.0.5": version: 1.0.5 resolution: "available-typed-arrays@npm:1.0.5" @@ -3030,13 +3489,31 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^28.1.0": - version: 28.1.0 - resolution: "babel-jest@npm:28.1.0" +"babel-jest@npm:^26.6.3": + version: 26.6.3 + resolution: "babel-jest@npm:26.6.3" dependencies: - "@jest/transform": ^28.1.0 - "@types/babel__core": ^7.1.14 - babel-plugin-istanbul: ^6.1.1 + "@jest/transform": ^26.6.2 + "@jest/types": ^26.6.2 + "@types/babel__core": ^7.1.7 + babel-plugin-istanbul: ^6.0.0 + babel-preset-jest: ^26.6.2 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + slash: ^3.0.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 5917233f0d381e719e195b69b81e46da90293432d10288d79f8f59b8f3f9ac030e14701f3d9f90893fb739481df1d132446f1b983d841e65e2623775db100897 + languageName: node + linkType: hard + +"babel-jest@npm:^28.1.0": + version: 28.1.0 + resolution: "babel-jest@npm:28.1.0" + dependencies: + "@jest/transform": ^28.1.0 + "@types/babel__core": ^7.1.14 + babel-plugin-istanbul: ^6.1.1 babel-preset-jest: ^28.0.2 chalk: ^4.0.0 graceful-fs: ^4.2.9 @@ -3047,7 +3524,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-istanbul@npm:^6.1.1": +"babel-plugin-istanbul@npm:^6.0.0, babel-plugin-istanbul@npm:^6.1.1": version: 6.1.1 resolution: "babel-plugin-istanbul@npm:6.1.1" dependencies: @@ -3060,6 +3537,18 @@ __metadata: languageName: node linkType: hard +"babel-plugin-jest-hoist@npm:^26.6.2": + version: 26.6.2 + resolution: "babel-plugin-jest-hoist@npm:26.6.2" + dependencies: + "@babel/template": ^7.3.3 + "@babel/types": ^7.3.3 + "@types/babel__core": ^7.0.0 + "@types/babel__traverse": ^7.0.6 + checksum: abe3732fdf20f96e91cbf788a54d776b30bd7a6054cb002a744d7071c656813e26e77a780dc2a6f6b197472897e220836cd907bda3fadb9d0481126bfd6c3783 + languageName: node + linkType: hard + "babel-plugin-jest-hoist@npm:^28.0.2": version: 28.0.2 resolution: "babel-plugin-jest-hoist@npm:28.0.2" @@ -3130,6 +3619,18 @@ __metadata: languageName: node linkType: hard +"babel-preset-jest@npm:^26.6.2": + version: 26.6.2 + resolution: "babel-preset-jest@npm:26.6.2" + dependencies: + babel-plugin-jest-hoist: ^26.6.2 + babel-preset-current-node-syntax: ^1.0.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 1d9bef3a7ac6751a09d29ceb84be8b1998abd210fafa12223689c744db4f2a63ab90cba7986a71f3154d9aceda9dbeca563178731d21cbaf793b4096ed3a4d01 + languageName: node + linkType: hard + "babel-preset-jest@npm:^28.0.2": version: 28.0.2 resolution: "babel-preset-jest@npm:28.0.2" @@ -3142,6 +3643,16 @@ __metadata: languageName: node linkType: hard +"babel-runtime@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-runtime@npm:6.26.0" + dependencies: + core-js: ^2.4.0 + regenerator-runtime: ^0.11.0 + checksum: 8aeade94665e67a73c1ccc10f6fd42ba0c689b980032b70929de7a6d9a12eb87ef51902733f8fefede35afea7a5c3ef7e916a64d503446c1eedc9e3284bd3d50 + languageName: node + linkType: hard + "backoff@npm:^2.5.0": version: 2.5.0 resolution: "backoff@npm:2.5.0" @@ -3190,6 +3701,21 @@ __metadata: languageName: node linkType: hard +"base@npm:^0.11.1": + version: 0.11.2 + resolution: "base@npm:0.11.2" + dependencies: + cache-base: ^1.0.1 + class-utils: ^0.3.5 + component-emitter: ^1.2.1 + define-property: ^1.0.0 + isobject: ^3.0.1 + mixin-deep: ^1.2.0 + pascalcase: ^0.1.1 + checksum: a4a146b912e27eea8f66d09cb0c9eab666f32ce27859a7dfd50f38cd069a2557b39f16dba1bc2aecb3b44bf096738dd207b7970d99b0318423285ab1b1994edd + languageName: node + linkType: hard + "bcrypt-pbkdf@npm:^1.0.0": version: 1.0.2 resolution: "bcrypt-pbkdf@npm:1.0.2" @@ -3274,6 +3800,24 @@ __metadata: languageName: node linkType: hard +"braces@npm:^2.3.1": + version: 2.3.2 + resolution: "braces@npm:2.3.2" + dependencies: + arr-flatten: ^1.1.0 + array-unique: ^0.3.2 + extend-shallow: ^2.0.1 + fill-range: ^4.0.0 + isobject: ^3.0.1 + repeat-element: ^1.1.2 + snapdragon: ^0.8.1 + snapdragon-node: ^2.0.1 + split-string: ^3.0.2 + to-regex: ^3.0.1 + checksum: e30dcb6aaf4a31c8df17d848aa283a65699782f75ad61ae93ec25c9729c66cf58e66f0000a9fec84e4add1135bb7da40f7cb9601b36bebcfa9ca58e8d5c07de0 + languageName: node + linkType: hard + "braces@npm:^3.0.1": version: 3.0.2 resolution: "braces@npm:3.0.2" @@ -3413,6 +3957,13 @@ __metadata: languageName: node linkType: hard +"buffer-from@npm:1.x": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 0448524a562b37d4d7ed9efd91685a5b77a50672c556ea254ac9a6d30e3403a517d8981f10e565db24e8339413b43c97ca2951f10e399c6125a0d8911f5679bb + languageName: node + linkType: hard + "buffer-from@npm:^1.0.0": version: 1.1.1 resolution: "buffer-from@npm:1.1.1" @@ -3463,6 +4014,23 @@ __metadata: languageName: node linkType: hard +"cache-base@npm:^1.0.1": + version: 1.0.1 + resolution: "cache-base@npm:1.0.1" + dependencies: + collection-visit: ^1.0.0 + component-emitter: ^1.2.1 + get-value: ^2.0.6 + has-value: ^1.0.0 + isobject: ^3.0.1 + set-value: ^2.0.0 + to-object-path: ^0.3.0 + union-value: ^1.0.0 + unset-value: ^1.0.0 + checksum: 9114b8654fe2366eedc390bad0bcf534e2f01b239a888894e2928cb58cdc1e6ea23a73c6f3450dcfd2058aa73a8a981e723cd1e7c670c047bf11afdc65880107 + languageName: node + linkType: hard + "call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": version: 1.0.2 resolution: "call-bind@npm:1.0.2" @@ -3480,14 +4048,14 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^5.3.1": +"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": version: 5.3.1 resolution: "camelcase@npm:5.3.1" checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b languageName: node linkType: hard -"camelcase@npm:^6.2.0": +"camelcase@npm:^6.0.0, camelcase@npm:^6.2.0": version: 6.3.0 resolution: "camelcase@npm:6.3.0" checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d @@ -3508,6 +4076,15 @@ __metadata: languageName: node linkType: hard +"capture-exit@npm:^2.0.0": + version: 2.0.0 + resolution: "capture-exit@npm:2.0.0" + dependencies: + rsvp: ^4.8.4 + checksum: 0b9f10daca09e521da9599f34c8e7af14ad879c336e2bdeb19955b375398ae1c5bcc91ac9f2429944343057ee9ed028b1b2fb28816c384e0e55d70c439b226f4 + languageName: node + linkType: hard + "caseless@npm:~0.12.0": version: 0.12.0 resolution: "caseless@npm:0.12.0" @@ -3533,6 +4110,16 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^3.0.0": + version: 3.0.0 + resolution: "chalk@npm:3.0.0" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 8e3ddf3981c4da405ddbd7d9c8d91944ddf6e33d6837756979f7840a29272a69a5189ecae0ff84006750d6d1e92368d413335eab4db5476db6e6703a1d1e0505 + languageName: node + linkType: hard + "chalk@npm:^4.0.0": version: 4.1.0 resolution: "chalk@npm:4.1.0" @@ -3566,6 +4153,13 @@ __metadata: languageName: node linkType: hard +"ci-info@npm:^2.0.0": + version: 2.0.0 + resolution: "ci-info@npm:2.0.0" + checksum: 3b374666a85ea3ca43fa49aa3a048d21c9b475c96eb13c133505d2324e7ae5efd6a454f41efe46a152269e9b6a00c9edbe63ec7fa1921957165aae16625acd67 + languageName: node + linkType: hard + "ci-info@npm:^3.2.0": version: 3.3.1 resolution: "ci-info@npm:3.3.1" @@ -3583,6 +4177,13 @@ __metadata: languageName: node linkType: hard +"cjs-module-lexer@npm:^0.6.0": + version: 0.6.0 + resolution: "cjs-module-lexer@npm:0.6.0" + checksum: 445b039607efd74561d7db8d0867031c8b6a69f25e83fdd861b0fa1fbc11f12de057ba1db80637f3c9016774354092af5325eebb90505d65ccc5389cae09d1fd + languageName: node + linkType: hard + "cjs-module-lexer@npm:^1.0.0": version: 1.2.2 resolution: "cjs-module-lexer@npm:1.2.2" @@ -3590,6 +4191,18 @@ __metadata: languageName: node linkType: hard +"class-utils@npm:^0.3.5": + version: 0.3.6 + resolution: "class-utils@npm:0.3.6" + dependencies: + arr-union: ^3.1.0 + define-property: ^0.2.5 + isobject: ^3.0.0 + static-extend: ^0.1.1 + checksum: be108900801e639e50f96a7e4bfa8867c753a7750a7603879f3981f8b0a89cba657497a2d5f40cd4ea557ff15d535a100818bb486baf6e26fe5d7872e75f1078 + languageName: node + linkType: hard + "clean-stack@npm:^2.0.0": version: 2.2.0 resolution: "clean-stack@npm:2.2.0" @@ -3597,6 +4210,17 @@ __metadata: languageName: node linkType: hard +"cliui@npm:^6.0.0": + version: 6.0.0 + resolution: "cliui@npm:6.0.0" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.0 + wrap-ansi: ^6.2.0 + checksum: 4fcfd26d292c9f00238117f39fc797608292ae36bac2168cfee4c85923817d0607fe21b3329a8621e01aedf512c99b7eaa60e363a671ffd378df6649fb48ae42 + languageName: node + linkType: hard + "cliui@npm:^7.0.2": version: 7.0.4 resolution: "cliui@npm:7.0.4" @@ -3636,6 +4260,16 @@ __metadata: languageName: node linkType: hard +"collection-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "collection-visit@npm:1.0.0" + dependencies: + map-visit: ^1.0.0 + object-visit: ^1.0.0 + checksum: 15d9658fe6eb23594728346adad5433b86bb7a04fd51bbab337755158722f9313a5376ef479de5b35fbc54140764d0d39de89c339f5d25b959ed221466981da9 + languageName: node + linkType: hard + "color-convert@npm:^1.9.0": version: 1.9.3 resolution: "color-convert@npm:1.9.3" @@ -3693,6 +4327,13 @@ __metadata: languageName: node linkType: hard +"component-emitter@npm:^1.2.1": + version: 1.3.0 + resolution: "component-emitter@npm:1.3.0" + checksum: b3c46de38ffd35c57d1c02488355be9f218e582aec72d72d1b8bbec95a3ac1b38c96cd6e03ff015577e68f550fbb361a3bfdbd9bb248be9390b7b3745691be6b + languageName: node + linkType: hard + "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -3739,6 +4380,13 @@ __metadata: languageName: node linkType: hard +"copy-descriptor@npm:^0.1.0": + version: 0.1.1 + resolution: "copy-descriptor@npm:0.1.1" + checksum: d4b7b57b14f1d256bb9aa0b479241048afd7f5bcf22035fc7b94e8af757adeae247ea23c1a774fe44869fd5694efba4a969b88d966766c5245fdee59837fe45b + languageName: node + linkType: hard + "core-js-compat@npm:^3.21.0": version: 3.22.8 resolution: "core-js-compat@npm:3.22.8" @@ -3749,6 +4397,13 @@ __metadata: languageName: node linkType: hard +"core-js@npm:^2.4.0": + version: 2.6.12 + resolution: "core-js@npm:2.6.12" + checksum: 44fa9934a85f8c78d61e0c8b7b22436330471ffe59ec5076fe7f324d6e8cf7f824b14b1c81ca73608b13bdb0fef035bd820989bf059767ad6fa13123bb8bd016 + languageName: node + linkType: hard + "core-util-is@npm:1.0.2, core-util-is@npm:~1.0.0": version: 1.0.2 resolution: "core-util-is@npm:1.0.2" @@ -3808,7 +4463,20 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:^6.0.0": + version: 6.0.5 + resolution: "cross-spawn@npm:6.0.5" + dependencies: + nice-try: ^1.0.4 + path-key: ^2.0.1 + semver: ^5.5.0 + shebang-command: ^1.2.0 + which: ^1.2.9 + checksum: f893bb0d96cd3d5751d04e67145bdddf25f99449531a72e82dcbbd42796bbc8268c1076c6b3ea51d4d455839902804b94bc45dfb37ecbb32ea8e54a6741c3ab9 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -3826,10 +4494,10 @@ __metadata: languageName: node linkType: hard -"cssom@npm:^0.5.0": - version: 0.5.0 - resolution: "cssom@npm:0.5.0" - checksum: 823471aa30091c59e0a305927c30e7768939b6af70405808f8d2ce1ca778cddcb24722717392438329d1691f9a87cb0183b64b8d779b56a961546d54854fde01 +"cssom@npm:^0.4.1, cssom@npm:^0.4.4": + version: 0.4.4 + resolution: "cssom@npm:0.4.4" + checksum: e3bc1076e7ee4213d4fef05e7ae03bfa83dc05f32611d8edc341f4ecc3d9647b89c8245474c7dd2cdcdb797a27c462e99da7ad00a34399694559f763478ff53f languageName: node linkType: hard @@ -3840,7 +4508,7 @@ __metadata: languageName: node linkType: hard -"cssstyle@npm:^2.3.0": +"cssstyle@npm:^2.0.0, cssstyle@npm:^2.3.0": version: 2.3.0 resolution: "cssstyle@npm:2.3.0" dependencies: @@ -3858,14 +4526,25 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^3.0.1": - version: 3.0.2 - resolution: "data-urls@npm:3.0.2" +"data-urls@npm:^1.1.0": + version: 1.1.0 + resolution: "data-urls@npm:1.1.0" + dependencies: + abab: ^2.0.0 + whatwg-mimetype: ^2.2.0 + whatwg-url: ^7.0.0 + checksum: dc4bd9621df0dff336d7c4c0517c792488ef3cf11cd37e72ab80f3a7f0a0aa14bad677ac97cf22c87c6eb9518e58b98590e1c8c756b56240940f0e470c81612e + languageName: node + linkType: hard + +"data-urls@npm:^2.0.0": + version: 2.0.0 + resolution: "data-urls@npm:2.0.0" dependencies: - abab: ^2.0.6 - whatwg-mimetype: ^3.0.0 - whatwg-url: ^11.0.0 - checksum: 033fc3dd0fba6d24bc9a024ddcf9923691dd24f90a3d26f6545d6a2f71ec6956f93462f2cdf2183cc46f10dc01ed3bcb36731a8208456eb1a08147e571fe2a76 + abab: ^2.0.3 + whatwg-mimetype: ^2.3.0 + whatwg-url: ^8.0.0 + checksum: 97caf828aac25e25e04ba6869db0f99c75e6859bb5b424ada28d3e7841941ebf08ddff3c1b1bb4585986bd507a5d54c2a716853ea6cb98af877400e637393e71 languageName: node linkType: hard @@ -3881,7 +4560,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^2.6.9": +"debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -3911,13 +4590,27 @@ __metadata: languageName: node linkType: hard -"decimal.js@npm:^10.3.1": +"decamelize@npm:^1.2.0": + version: 1.2.0 + resolution: "decamelize@npm:1.2.0" + checksum: ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa + languageName: node + linkType: hard + +"decimal.js@npm:^10.2.1": version: 10.3.1 resolution: "decimal.js@npm:10.3.1" checksum: 0351ac9f05fe050f23227aa6a4573bee2d58fa7378fcf28d969a8c789525032effb488a90320fd3fe86a66e17b4bc507d811b15eada5b7f0e7ec5d2af4c24a59 languageName: node linkType: hard +"decode-uri-component@npm:^0.2.0": + version: 0.2.0 + resolution: "decode-uri-component@npm:0.2.0" + checksum: f3749344ab9305ffcfe4bfe300e2dbb61fc6359e2b736812100a3b1b6db0a5668cba31a05e4b45d4d63dbf1a18dfa354cd3ca5bb3ededddabb8cd293f4404f94 + languageName: node + linkType: hard + "dedent@npm:^0.7.0": version: 0.7.0 resolution: "dedent@npm:0.7.0" @@ -3974,6 +4667,34 @@ __metadata: languageName: node linkType: hard +"define-property@npm:^0.2.5": + version: 0.2.5 + resolution: "define-property@npm:0.2.5" + dependencies: + is-descriptor: ^0.1.0 + checksum: 85af107072b04973b13f9e4128ab74ddfda48ec7ad2e54b193c0ffb57067c4ce5b7786a7b4ae1f24bd03e87c5d18766b094571810b314d7540f86d4354dbd394 + languageName: node + linkType: hard + +"define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "define-property@npm:1.0.0" + dependencies: + is-descriptor: ^1.0.0 + checksum: 5fbed11dace44dd22914035ba9ae83ad06008532ca814d7936a53a09e897838acdad5b108dd0688cc8d2a7cf0681acbe00ee4136cf36743f680d10517379350a + languageName: node + linkType: hard + +"define-property@npm:^2.0.2": + version: 2.0.2 + resolution: "define-property@npm:2.0.2" + dependencies: + is-descriptor: ^1.0.2 + isobject: ^3.0.1 + checksum: 3217ed53fc9eed06ba8da6f4d33e28c68a82e2f2a8ab4d562c4920d8169a166fe7271453675e6c69301466f36a65d7f47edf0cf7f474b9aa52a5ead9c1b13c99 + languageName: node + linkType: hard + "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -4009,6 +4730,13 @@ __metadata: languageName: node linkType: hard +"diff-sequences@npm:^26.6.2": + version: 26.6.2 + resolution: "diff-sequences@npm:26.6.2" + checksum: 79af871776ef149a7ff3345d6b1bf37fe6e81f68632aa5542787851f6f60fba19b0be22fdd1e06046f56ae7382763ccfe94a982c39ee72bd107aef435ecbc0cf + languageName: node + linkType: hard + "diff-sequences@npm:^27.0.6": version: 27.0.6 resolution: "diff-sequences@npm:27.0.6" @@ -4072,12 +4800,21 @@ __metadata: languageName: node linkType: hard -"domexception@npm:^4.0.0": - version: 4.0.0 - resolution: "domexception@npm:4.0.0" +"domexception@npm:^1.0.1": + version: 1.0.1 + resolution: "domexception@npm:1.0.1" + dependencies: + webidl-conversions: ^4.0.2 + checksum: f564a9c0915dcb83ceefea49df14aaed106b1468fbe505119e8bcb0b77e242534f3aba861978537c0fc9dc6f35b176d0ffc77b3e342820fb27a8f215e7ae4d52 + languageName: node + linkType: hard + +"domexception@npm:^2.0.1": + version: 2.0.1 + resolution: "domexception@npm:2.0.1" dependencies: - webidl-conversions: ^7.0.0 - checksum: ddbc1268edf33a8ba02ccc596735ede80375ee0cf124b30d2f05df5b464ba78ef4f49889b6391df4a04954e63d42d5631c7fcf8b1c4f12bc531252977a5f13d5 + webidl-conversions: ^5.0.0 + checksum: d638e9cb05c52999f1b2eb87c374b03311ea5b1d69c2f875bc92da73e17db60c12142b45c950228642ff7f845c536b65305483350d080df59003a653da80b691 languageName: node linkType: hard @@ -4127,6 +4864,13 @@ __metadata: languageName: node linkType: hard +"emittery@npm:^0.7.1": + version: 0.7.2 + resolution: "emittery@npm:0.7.2" + checksum: 908cd933d48a9bcb58ddf39e9a7d4ba1e049de392ccbef010102539a636e03cea2b28218331b7ede41de8165d9ed7f148851c5112ebd2e943117c0f61eff5f10 + languageName: node + linkType: hard + "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -4143,6 +4887,15 @@ __metadata: languageName: node linkType: hard +"end-of-stream@npm:^1.1.0": + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" + dependencies: + once: ^1.4.0 + checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b + languageName: node + linkType: hard + "enquirer@npm:^2.3.5": version: 2.3.6 resolution: "enquirer@npm:2.3.6" @@ -4275,6 +5028,25 @@ __metadata: languageName: node linkType: hard +"escodegen@npm:^1.11.1": + version: 1.14.3 + resolution: "escodegen@npm:1.14.3" + dependencies: + esprima: ^4.0.1 + estraverse: ^4.2.0 + esutils: ^2.0.2 + optionator: ^0.8.1 + source-map: ~0.6.1 + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: bin/escodegen.js + esgenerate: bin/esgenerate.js + checksum: 381cdc4767ecdb221206bbbab021b467bbc2a6f5c9a99c9e6353040080bdd3dfe73d7604ad89a47aca6ea7d58bc635f6bd3fbc8da9a1998e9ddfa8372362ccd0 + languageName: node + linkType: hard + "escodegen@npm:^2.0.0": version: 2.0.0 resolution: "escodegen@npm:2.0.0" @@ -4577,7 +5349,7 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^4.1.1": +"estraverse@npm:^4.1.1, estraverse@npm:^4.2.0": version: 4.3.0 resolution: "estraverse@npm:4.3.0" checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 @@ -5182,6 +5954,45 @@ __metadata: languageName: node linkType: hard +"exec-sh@npm:^0.3.2": + version: 0.3.6 + resolution: "exec-sh@npm:0.3.6" + checksum: 0be4f06929c8e4834ea4812f29fe59e2dfcc1bc3fc4b4bb71acb38a500c3b394628a05ef7ba432520bc6c5ec4fadab00cc9c513c4ff6a32104965af302e998e0 + languageName: node + linkType: hard + +"execa@npm:^1.0.0": + version: 1.0.0 + resolution: "execa@npm:1.0.0" + dependencies: + cross-spawn: ^6.0.0 + get-stream: ^4.0.0 + is-stream: ^1.1.0 + npm-run-path: ^2.0.0 + p-finally: ^1.0.0 + signal-exit: ^3.0.0 + strip-eof: ^1.0.0 + checksum: ddf1342c1c7d02dd93b41364cd847640f6163350d9439071abf70bf4ceb1b9b2b2e37f54babb1d8dc1df8e0d8def32d0e81e74a2e62c3e1d70c303eb4c306bc4 + languageName: node + linkType: hard + +"execa@npm:^4.0.0": + version: 4.1.0 + resolution: "execa@npm:4.1.0" + dependencies: + cross-spawn: ^7.0.0 + get-stream: ^5.0.0 + human-signals: ^1.1.1 + is-stream: ^2.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^4.0.0 + onetime: ^5.1.0 + signal-exit: ^3.0.2 + strip-final-newline: ^2.0.0 + checksum: e30d298934d9c52f90f3847704fd8224e849a081ab2b517bbc02f5f7732c24e56a21f14cb96a08256deffeb2d12b2b7cb7e2b014a12fb36f8d3357e06417ed55 + languageName: node + linkType: hard + "execa@npm:^5.0.0, execa@npm:^5.1.1": version: 5.1.1 resolution: "execa@npm:5.1.1" @@ -5206,6 +6017,35 @@ __metadata: languageName: node linkType: hard +"expand-brackets@npm:^2.1.4": + version: 2.1.4 + resolution: "expand-brackets@npm:2.1.4" + dependencies: + debug: ^2.3.3 + define-property: ^0.2.5 + extend-shallow: ^2.0.1 + posix-character-classes: ^0.1.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: 1781d422e7edfa20009e2abda673cadb040a6037f0bd30fcd7357304f4f0c284afd420d7622722ca4a016f39b6d091841ab57b401c1f7e2e5131ac65b9f14fa1 + languageName: node + linkType: hard + +"expect@npm:^26.6.2": + version: 26.6.2 + resolution: "expect@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + ansi-styles: ^4.0.0 + jest-get-type: ^26.3.0 + jest-matcher-utils: ^26.6.2 + jest-message-util: ^26.6.2 + jest-regex-util: ^26.0.0 + checksum: 79a9b888c5c6d37d11f2cb76def6cf1dc8ff098d38662ee20c9f2ee0da67e9a93435f2327854b2e7554732153870621843e7f83e8cefb1250447ee2bc39883a4 + languageName: node + linkType: hard + "expect@npm:^28.1.0": version: 28.1.0 resolution: "expect@npm:28.1.0" @@ -5219,6 +6059,25 @@ __metadata: languageName: node linkType: hard +"extend-shallow@npm:^2.0.1": + version: 2.0.1 + resolution: "extend-shallow@npm:2.0.1" + dependencies: + is-extendable: ^0.1.0 + checksum: 8fb58d9d7a511f4baf78d383e637bd7d2e80843bd9cd0853649108ea835208fb614da502a553acc30208e1325240bb7cc4a68473021612496bb89725483656d8 + languageName: node + linkType: hard + +"extend-shallow@npm:^3.0.0, extend-shallow@npm:^3.0.2": + version: 3.0.2 + resolution: "extend-shallow@npm:3.0.2" + dependencies: + assign-symbols: ^1.0.0 + is-extendable: ^1.0.1 + checksum: a920b0cd5838a9995ace31dfd11ab5e79bf6e295aa566910ce53dff19f4b1c0fda2ef21f26b28586c7a2450ca2b42d97bd8c0f5cec9351a819222bf861e02461 + languageName: node + linkType: hard + "extend@npm:~3.0.2": version: 3.0.2 resolution: "extend@npm:3.0.2" @@ -5226,6 +6085,22 @@ __metadata: languageName: node linkType: hard +"extglob@npm:^2.0.4": + version: 2.0.4 + resolution: "extglob@npm:2.0.4" + dependencies: + array-unique: ^0.3.2 + define-property: ^1.0.0 + expand-brackets: ^2.1.4 + extend-shallow: ^2.0.1 + fragment-cache: ^0.2.1 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: a41531b8934735b684cef5e8c5a01d0f298d7d384500ceca38793a9ce098125aab04ee73e2d75d5b2901bc5dddd2b64e1b5e3bf19139ea48bac52af4a92f1d00 + languageName: node + linkType: hard + "extsprintf@npm:1.3.0, extsprintf@npm:^1.2.0": version: 1.3.0 resolution: "extsprintf@npm:1.3.0" @@ -5344,6 +6219,18 @@ __metadata: languageName: node linkType: hard +"fill-range@npm:^4.0.0": + version: 4.0.0 + resolution: "fill-range@npm:4.0.0" + dependencies: + extend-shallow: ^2.0.1 + is-number: ^3.0.0 + repeat-string: ^1.6.1 + to-regex-range: ^2.1.0 + checksum: dbb5102467786ab42bc7a3ec7380ae5d6bfd1b5177b2216de89e4a541193f8ba599a6db84651bd2c58c8921db41b8cc3d699ea83b477342d3ce404020f73c298 + languageName: node + linkType: hard + "fill-range@npm:^7.0.1": version: 7.0.1 resolution: "fill-range@npm:7.0.1" @@ -5398,6 +6285,13 @@ __metadata: languageName: node linkType: hard +"for-in@npm:^1.0.2": + version: 1.0.2 + resolution: "for-in@npm:1.0.2" + checksum: 09f4ae93ce785d253ac963d94c7f3432d89398bf25ac7a24ed034ca393bf74380bdeccc40e0f2d721a895e54211b07c8fad7132e8157827f6f7f059b70b4043d + languageName: node + linkType: hard + "forever-agent@npm:~0.6.1": version: 0.6.1 resolution: "forever-agent@npm:0.6.1" @@ -5405,14 +6299,14 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^4.0.0": - version: 4.0.0 - resolution: "form-data@npm:4.0.0" +"form-data@npm:^3.0.0": + version: 3.0.1 + resolution: "form-data@npm:3.0.1" dependencies: asynckit: ^0.4.0 combined-stream: ^1.0.8 mime-types: ^2.1.12 - checksum: 01135bf8675f9d5c61ff18e2e2932f719ca4de964e3be90ef4c36aacfc7b9cb2fceb5eca0b7e0190e3383fe51c5b37f4cb80b62ca06a99aaabfcfd6ac7c9328c + checksum: b019e8d35c8afc14a2bd8a7a92fa4f525a4726b6d5a9740e8d2623c30e308fbb58dc8469f90415a856698933c8479b01646a9dff33c87cc4e76d72aedbbf860d languageName: node linkType: hard @@ -5427,6 +6321,15 @@ __metadata: languageName: node linkType: hard +"fragment-cache@npm:^0.2.1": + version: 0.2.1 + resolution: "fragment-cache@npm:0.2.1" + dependencies: + map-cache: ^0.2.2 + checksum: 1cbbd0b0116b67d5790175de0038a11df23c1cd2e8dcdbade58ebba5594c2d641dade6b4f126d82a7b4a6ffc2ea12e3d387dbb64ea2ae97cf02847d436f60fdc + languageName: node + linkType: hard + "fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -5443,7 +6346,7 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:^2.3.2": +"fsevents@npm:^2.1.2, fsevents@npm:^2.3.2": version: 2.3.2 resolution: "fsevents@npm:2.3.2" dependencies: @@ -5453,7 +6356,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@^2.3.2#~builtin": +"fsevents@patch:fsevents@^2.1.2#~builtin, fsevents@patch:fsevents@^2.3.2#~builtin": version: 2.3.2 resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=18f3a7" dependencies: @@ -5534,7 +6437,7 @@ __metadata: languageName: node linkType: hard -"get-caller-file@npm:^2.0.5": +"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 @@ -5552,6 +6455,24 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^4.0.0": + version: 4.1.0 + resolution: "get-stream@npm:4.1.0" + dependencies: + pump: ^3.0.0 + checksum: 443e1914170c15bd52ff8ea6eff6dfc6d712b031303e36302d2778e3de2506af9ee964d6124010f7818736dcfde05c04ba7ca6cc26883106e084357a17ae7d73 + languageName: node + linkType: hard + +"get-stream@npm:^5.0.0": + version: 5.2.0 + resolution: "get-stream@npm:5.2.0" + dependencies: + pump: ^3.0.0 + checksum: 8bc1a23174a06b2b4ce600df38d6c98d2ef6d84e020c1ddad632ad75bac4e092eeb40e4c09e0761c35fc2dbc5e7fff5dab5e763a383582c4a167dd69a905bd12 + languageName: node + linkType: hard + "get-stream@npm:^6.0.0": version: 6.0.1 resolution: "get-stream@npm:6.0.1" @@ -5569,6 +6490,13 @@ __metadata: languageName: node linkType: hard +"get-value@npm:^2.0.3, get-value@npm:^2.0.6": + version: 2.0.6 + resolution: "get-value@npm:2.0.6" + checksum: 5c3b99cb5398ea8016bf46ff17afc5d1d286874d2ad38ca5edb6e87d75c0965b0094cb9a9dddef2c59c23d250702323539a7fbdd870620db38c7e7d7ec87c1eb + languageName: node + linkType: hard + "getpass@npm:^0.1.1": version: 0.1.7 resolution: "getpass@npm:0.1.7" @@ -5594,6 +6522,20 @@ __metadata: languageName: node linkType: hard +"glob@npm:^7.1.1, glob@npm:^7.1.2": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.1.1 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133 + languageName: node + linkType: hard + "glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0": version: 7.2.0 resolution: "glob@npm:7.2.0" @@ -5714,13 +6656,20 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.10 resolution: "graceful-fs@npm:4.2.10" checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da languageName: node linkType: hard +"growly@npm:^1.3.0": + version: 1.3.0 + resolution: "growly@npm:1.3.0" + checksum: 53cdecd4c16d7d9154a9061a9ccb87d602e957502ca69b529d7d1b2436c2c0b700ec544fc6b3e4cd115d59b81e62e44ce86bd0521403b579d3a2a97d7ce72a44 + languageName: node + linkType: hard + "har-schema@npm:^2.0.0": version: 2.0.0 resolution: "har-schema@npm:2.0.0" @@ -5805,20 +6754,59 @@ __metadata: languageName: node linkType: hard -"has@npm:^1.0.3": - version: 1.0.3 - resolution: "has@npm:1.0.3" +"has-value@npm:^0.3.1": + version: 0.3.1 + resolution: "has-value@npm:0.3.1" dependencies: - function-bind: ^1.1.1 - checksum: b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792 + get-value: ^2.0.3 + has-values: ^0.1.4 + isobject: ^2.0.0 + checksum: 29e2a1e6571dad83451b769c7ce032fce6009f65bccace07c2962d3ad4d5530b6743d8f3229e4ecf3ea8e905d23a752c5f7089100c1f3162039fa6dc3976558f languageName: node linkType: hard -"hash-base@npm:^3.0.0": - version: 3.0.4 - resolution: "hash-base@npm:3.0.4" +"has-value@npm:^1.0.0": + version: 1.0.0 + resolution: "has-value@npm:1.0.0" dependencies: - inherits: ^2.0.1 + get-value: ^2.0.6 + has-values: ^1.0.0 + isobject: ^3.0.0 + checksum: b9421d354e44f03d3272ac39fd49f804f19bc1e4fa3ceef7745df43d6b402053f828445c03226b21d7d934a21ac9cf4bc569396dc312f496ddff873197bbd847 + languageName: node + linkType: hard + +"has-values@npm:^0.1.4": + version: 0.1.4 + resolution: "has-values@npm:0.1.4" + checksum: ab1c4bcaf811ccd1856c11cfe90e62fca9e2b026ebe474233a3d282d8d67e3b59ed85b622c7673bac3db198cb98bd1da2b39300a2f98e453729b115350af49bc + languageName: node + linkType: hard + +"has-values@npm:^1.0.0": + version: 1.0.0 + resolution: "has-values@npm:1.0.0" + dependencies: + is-number: ^3.0.0 + kind-of: ^4.0.0 + checksum: 77e6693f732b5e4cf6c38dfe85fdcefad0fab011af74995c3e83863fabf5e3a836f406d83565816baa0bc0a523c9410db8b990fe977074d61aeb6d8f4fcffa11 + languageName: node + linkType: hard + +"has@npm:^1.0.3": + version: 1.0.3 + resolution: "has@npm:1.0.3" + dependencies: + function-bind: ^1.1.1 + checksum: b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792 + languageName: node + linkType: hard + +"hash-base@npm:^3.0.0": + version: 3.0.4 + resolution: "hash-base@npm:3.0.4" + dependencies: + inherits: ^2.0.1 safe-buffer: ^5.0.1 checksum: 878465a0dfcc33cce195c2804135352c590d6d10980adc91a9005fd377e77f2011256c2b7cfce472e3f2e92d561d1bf3228d2da06348a9017ce9a258b3b49764 languageName: node @@ -5863,12 +6851,21 @@ __metadata: languageName: node linkType: hard -"html-encoding-sniffer@npm:^3.0.0": - version: 3.0.0 - resolution: "html-encoding-sniffer@npm:3.0.0" +"html-encoding-sniffer@npm:^1.0.2": + version: 1.0.2 + resolution: "html-encoding-sniffer@npm:1.0.2" + dependencies: + whatwg-encoding: ^1.0.1 + checksum: b874df6750451b7642fbe8e998c6bdd2911b0f42ad2927814b717bf1f4b082b0904b6178a1bfbc40117bf5799777993b0825e7713ca0fca49844e5aec03aa0e2 + languageName: node + linkType: hard + +"html-encoding-sniffer@npm:^2.0.1": + version: 2.0.1 + resolution: "html-encoding-sniffer@npm:2.0.1" dependencies: - whatwg-encoding: ^2.0.0 - checksum: 8d806aa00487e279e5ccb573366a951a9f68f65c90298eac9c3a2b440a7ffe46615aff2995a2f61c6746c639234e6179a97e18ca5ccbbf93d3725ef2099a4502 + whatwg-encoding: ^1.0.5 + checksum: bf30cce461015ed7e365736fcd6a3063c7bc016a91f74398ef6158886970a96333938f7c02417ab3c12aa82e3e53b40822145facccb9ddfbcdc15a879ae4d7ba languageName: node linkType: hard @@ -5886,6 +6883,17 @@ __metadata: languageName: node linkType: hard +"http-proxy-agent@npm:^4.0.1": + version: 4.0.1 + resolution: "http-proxy-agent@npm:4.0.1" + dependencies: + "@tootallnate/once": 1 + agent-base: 6 + debug: 4 + checksum: c6a5da5a1929416b6bbdf77b1aca13888013fe7eb9d59fc292e25d18e041bb154a8dfada58e223fc7b76b9b2d155a87e92e608235201f77d34aa258707963a82 + languageName: node + linkType: hard + "http-proxy-agent@npm:^5.0.0": version: 5.0.0 resolution: "http-proxy-agent@npm:5.0.0" @@ -5918,6 +6926,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^1.1.1": + version: 1.1.1 + resolution: "human-signals@npm:1.1.1" + checksum: d587647c9e8ec24e02821b6be7de5a0fc37f591f6c4e319b3054b43fd4c35a70a94c46fc74d8c1a43c47fde157d23acd7421f375e1c1365b09a16835b8300205 + languageName: node + linkType: hard + "human-signals@npm:^2.1.0": version: 2.1.0 resolution: "human-signals@npm:2.1.0" @@ -5934,7 +6949,16 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": +"iconv-lite@npm:0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: ">= 2.1.2 < 3" + checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -6075,6 +7099,13 @@ __metadata: languageName: node linkType: hard +"ip-regex@npm:^2.1.0": + version: 2.1.0 + resolution: "ip-regex@npm:2.1.0" + checksum: 331d95052aa53ce245745ea0fc3a6a1e2e3c8d6da65fa8ea52bf73768c1b22a9ac50629d1d2b08c04e7b3ac4c21b536693c149ce2c2615ee4796030e5b3e3cba + languageName: node + linkType: hard + "ip@npm:^1.1.5": version: 1.1.8 resolution: "ip@npm:1.1.8" @@ -6082,6 +7113,24 @@ __metadata: languageName: node linkType: hard +"is-accessor-descriptor@npm:^0.1.6": + version: 0.1.6 + resolution: "is-accessor-descriptor@npm:0.1.6" + dependencies: + kind-of: ^3.0.2 + checksum: 3d629a086a9585bc16a83a8e8a3416f400023301855cafb7ccc9a1d63145b7480f0ad28877dcc2cce09492c4ec1c39ef4c071996f24ee6ac626be4217b8ffc8a + languageName: node + linkType: hard + +"is-accessor-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-accessor-descriptor@npm:1.0.0" + dependencies: + kind-of: ^6.0.0 + checksum: 8e475968e9b22f9849343c25854fa24492dbe8ba0dea1a818978f9f1b887339190b022c9300d08c47fe36f1b913d70ce8cbaca00369c55a56705fdb7caed37fe + languageName: node + linkType: hard + "is-arguments@npm:^1.0.4": version: 1.1.1 resolution: "is-arguments@npm:1.1.1" @@ -6118,6 +7167,13 @@ __metadata: languageName: node linkType: hard +"is-buffer@npm:^1.1.5": + version: 1.1.6 + resolution: "is-buffer@npm:1.1.6" + checksum: 4a186d995d8bbf9153b4bd9ff9fd04ae75068fe695d29025d25e592d9488911eeece84eefbd8fa41b8ddcc0711058a71d4c466dcf6f1f6e1d83830052d8ca707 + languageName: node + linkType: hard + "is-callable@npm:^1.1.3, is-callable@npm:^1.2.4": version: 1.2.4 resolution: "is-callable@npm:1.2.4" @@ -6139,6 +7195,17 @@ __metadata: languageName: node linkType: hard +"is-ci@npm:^2.0.0": + version: 2.0.0 + resolution: "is-ci@npm:2.0.0" + dependencies: + ci-info: ^2.0.0 + bin: + is-ci: bin.js + checksum: 77b869057510f3efa439bbb36e9be429d53b3f51abd4776eeea79ab3b221337fe1753d1e50058a9e2c650d38246108beffb15ccfd443929d77748d8c0cc90144 + languageName: node + linkType: hard + "is-core-module@npm:^2.1.0": version: 2.2.0 resolution: "is-core-module@npm:2.2.0" @@ -6166,6 +7233,24 @@ __metadata: languageName: node linkType: hard +"is-data-descriptor@npm:^0.1.4": + version: 0.1.4 + resolution: "is-data-descriptor@npm:0.1.4" + dependencies: + kind-of: ^3.0.2 + checksum: 5c622e078ba933a78338ae398a3d1fc5c23332b395312daf4f74bab4afb10d061cea74821add726cb4db8b946ba36217ee71a24fe71dd5bca4632edb7f6aad87 + languageName: node + linkType: hard + +"is-data-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-data-descriptor@npm:1.0.0" + dependencies: + kind-of: ^6.0.0 + checksum: e705e6816241c013b05a65dc452244ee378d1c3e3842bd140beabe6e12c0d700ef23c91803f971aa7b091fb0573c5da8963af34a2b573337d87bc3e1f53a4e6d + languageName: node + linkType: hard + "is-date-object@npm:^1.0.1": version: 1.0.1 resolution: "is-date-object@npm:1.0.1" @@ -6173,6 +7258,53 @@ __metadata: languageName: node linkType: hard +"is-descriptor@npm:^0.1.0": + version: 0.1.6 + resolution: "is-descriptor@npm:0.1.6" + dependencies: + is-accessor-descriptor: ^0.1.6 + is-data-descriptor: ^0.1.4 + kind-of: ^5.0.0 + checksum: 0f780c1b46b465f71d970fd7754096ffdb7b69fd8797ca1f5069c163eaedcd6a20ec4a50af669075c9ebcfb5266d2e53c8b227e485eefdb0d1fee09aa1dd8ab6 + languageName: node + linkType: hard + +"is-descriptor@npm:^1.0.0, is-descriptor@npm:^1.0.2": + version: 1.0.2 + resolution: "is-descriptor@npm:1.0.2" + dependencies: + is-accessor-descriptor: ^1.0.0 + is-data-descriptor: ^1.0.0 + kind-of: ^6.0.2 + checksum: 2ed623560bee035fb67b23e32ce885700bef8abe3fbf8c909907d86507b91a2c89a9d3a4d835a4d7334dd5db0237a0aeae9ca109c1e4ef1c0e7b577c0846ab5a + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 3fef7ddbf0be25958e8991ad941901bf5922ab2753c46980b60b05c1bf9c9c2402d35e6dc32e4380b980ef5e1970a5d9d5e5aa2e02d77727c3b6b5e918474c56 + languageName: node + linkType: hard + +"is-extendable@npm:^0.1.0, is-extendable@npm:^0.1.1": + version: 0.1.1 + resolution: "is-extendable@npm:0.1.1" + checksum: 3875571d20a7563772ecc7a5f36cb03167e9be31ad259041b4a8f73f33f885441f778cee1f1fe0085eb4bc71679b9d8c923690003a36a6a5fdf8023e6e3f0672 + languageName: node + linkType: hard + +"is-extendable@npm:^1.0.1": + version: 1.0.1 + resolution: "is-extendable@npm:1.0.1" + dependencies: + is-plain-object: ^2.0.4 + checksum: db07bc1e9de6170de70eff7001943691f05b9d1547730b11be01c0ebfe67362912ba743cf4be6fd20a5e03b4180c685dad80b7c509fe717037e3eee30ad8e84f + languageName: node + linkType: hard + "is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" @@ -6282,6 +7414,15 @@ __metadata: languageName: node linkType: hard +"is-number@npm:^3.0.0": + version: 3.0.0 + resolution: "is-number@npm:3.0.0" + dependencies: + kind-of: ^3.0.2 + checksum: 0c62bf8e9d72c4dd203a74d8cfc751c746e75513380fef420cda8237e619a988ee43e678ddb23c87ac24d91ac0fe9f22e4ffb1301a50310c697e9d73ca3994e9 + languageName: node + linkType: hard + "is-number@npm:^7.0.0": version: 7.0.0 resolution: "is-number@npm:7.0.0" @@ -6296,6 +7437,15 @@ __metadata: languageName: node linkType: hard +"is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": + version: 2.0.4 + resolution: "is-plain-object@npm:2.0.4" + dependencies: + isobject: ^3.0.1 + checksum: 2a401140cfd86cabe25214956ae2cfee6fbd8186809555cd0e84574f88de7b17abacb2e477a6a658fa54c6083ecbda1e6ae404c7720244cd198903848fca70ca + languageName: node + linkType: hard + "is-potential-custom-element-name@npm:^1.0.1": version: 1.0.1 resolution: "is-potential-custom-element-name@npm:1.0.1" @@ -6331,6 +7481,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^1.1.0": + version: 1.1.0 + resolution: "is-stream@npm:1.1.0" + checksum: 063c6bec9d5647aa6d42108d4c59723d2bd4ae42135a2d4db6eadbd49b7ea05b750fd69d279e5c7c45cf9da753ad2c00d8978be354d65aa9f6bb434969c6a2ae + languageName: node + linkType: hard + "is-stream@npm:^2.0.0": version: 2.0.0 resolution: "is-stream@npm:2.0.0" @@ -6385,7 +7542,7 @@ __metadata: languageName: node linkType: hard -"is-typedarray@npm:~1.0.0": +"is-typedarray@npm:^1.0.0, is-typedarray@npm:~1.0.0": version: 1.0.0 resolution: "is-typedarray@npm:1.0.0" checksum: 3508c6cd0a9ee2e0df2fa2e9baabcdc89e911c7bd5cf64604586697212feec525aa21050e48affb5ffc3df20f0f5d2e2cf79b08caa64e1ccc9578e251763aef7 @@ -6401,6 +7558,22 @@ __metadata: languageName: node linkType: hard +"is-windows@npm:^1.0.2": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 + languageName: node + linkType: hard + +"is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: ^2.0.0 + checksum: 20849846ae414997d290b75e16868e5261e86ff5047f104027026fd61d8b5a9b0b3ade16239f35e1a067b3c7cc02f70183cb661010ed16f4b6c7c93dad1b19d8 + languageName: node + linkType: hard + "isarray@npm:0.0.1": version: 0.0.1 resolution: "isarray@npm:0.0.1" @@ -6408,7 +7581,7 @@ __metadata: languageName: node linkType: hard -"isarray@npm:^1.0.0, isarray@npm:~1.0.0": +"isarray@npm:1.0.0, isarray@npm:^1.0.0, isarray@npm:~1.0.0": version: 1.0.0 resolution: "isarray@npm:1.0.0" checksum: f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab @@ -6422,6 +7595,22 @@ __metadata: languageName: node linkType: hard +"isobject@npm:^2.0.0": + version: 2.1.0 + resolution: "isobject@npm:2.1.0" + dependencies: + isarray: 1.0.0 + checksum: 811c6f5a866877d31f0606a88af4a45f282544de886bf29f6a34c46616a1ae2ed17076cc6bf34c0128f33eecf7e1fcaa2c82cf3770560d3e26810894e96ae79f + languageName: node + linkType: hard + +"isobject@npm:^3.0.0, isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 + languageName: node + linkType: hard + "isomorphic-fetch@npm:^3.0.0": version: 3.0.0 resolution: "isomorphic-fetch@npm:3.0.0" @@ -6453,6 +7642,18 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-instrument@npm:^4.0.3": + version: 4.0.3 + resolution: "istanbul-lib-instrument@npm:4.0.3" + dependencies: + "@babel/core": ^7.7.5 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-coverage: ^3.0.0 + semver: ^6.3.0 + checksum: fa1171d3022b1bb8f6a734042620ac5d9ee7dc80f3065a0bb12863e9f0494d0eefa3d86608fcc0254ab2765d29d7dad8bdc42e5f8df2f9a1fbe85ccc59d76cb9 + languageName: node + linkType: hard + "istanbul-lib-instrument@npm:^5.0.4, istanbul-lib-instrument@npm:^5.1.0": version: 5.2.0 resolution: "istanbul-lib-instrument@npm:5.2.0" @@ -6488,7 +7689,7 @@ __metadata: languageName: node linkType: hard -"istanbul-reports@npm:^3.1.3": +"istanbul-reports@npm:^3.0.2, istanbul-reports@npm:^3.1.3": version: 3.1.4 resolution: "istanbul-reports@npm:3.1.4" dependencies: @@ -6498,6 +7699,17 @@ __metadata: languageName: node linkType: hard +"jest-changed-files@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-changed-files@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + execa: ^4.0.0 + throat: ^5.0.0 + checksum: 8c405f5ff905ee69ace9fd39355233206e3e233badf6a3f3b27e45bbf0a46d86943430be2e080d25b1e085f4231b9b3b27c94317aa04116efb40b592184066f4 + languageName: node + linkType: hard + "jest-changed-files@npm:^28.0.2": version: 28.0.2 resolution: "jest-changed-files@npm:28.0.2" @@ -6535,6 +7747,29 @@ __metadata: languageName: node linkType: hard +"jest-cli@npm:^26.6.3": + version: 26.6.3 + resolution: "jest-cli@npm:26.6.3" + dependencies: + "@jest/core": ^26.6.3 + "@jest/test-result": ^26.6.2 + "@jest/types": ^26.6.2 + chalk: ^4.0.0 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + import-local: ^3.0.2 + is-ci: ^2.0.0 + jest-config: ^26.6.3 + jest-util: ^26.6.2 + jest-validate: ^26.6.2 + prompts: ^2.0.1 + yargs: ^15.4.1 + bin: + jest: bin/jest.js + checksum: c8554147be756f09f5566974f0026485f78742e8642d2723f8fbee5746f50f44fb72b17aad181226655a8446d3ecc8ad8ed0a11a8a55686fa2b9c10d85700121 + languageName: node + linkType: hard + "jest-cli@npm:^28.1.0": version: 28.1.0 resolution: "jest-cli@npm:28.1.0" @@ -6562,6 +7797,37 @@ __metadata: languageName: node linkType: hard +"jest-config@npm:^26.6.3": + version: 26.6.3 + resolution: "jest-config@npm:26.6.3" + dependencies: + "@babel/core": ^7.1.0 + "@jest/test-sequencer": ^26.6.3 + "@jest/types": ^26.6.2 + babel-jest: ^26.6.3 + chalk: ^4.0.0 + deepmerge: ^4.2.2 + glob: ^7.1.1 + graceful-fs: ^4.2.4 + jest-environment-jsdom: ^26.6.2 + jest-environment-node: ^26.6.2 + jest-get-type: ^26.3.0 + jest-jasmine2: ^26.6.3 + jest-regex-util: ^26.0.0 + jest-resolve: ^26.6.2 + jest-util: ^26.6.2 + jest-validate: ^26.6.2 + micromatch: ^4.0.2 + pretty-format: ^26.6.2 + peerDependencies: + ts-node: ">=9.0.0" + peerDependenciesMeta: + ts-node: + optional: true + checksum: 303c798582d3c5d4b4e6ab8a4d91a83ded28e4ebbc0bcfc1ad271f9864437ef5409b7c7773010143811bc8176b0695c096717b91419c6484b56dcc032560a74b + languageName: node + linkType: hard + "jest-config@npm:^28.1.0": version: 28.1.0 resolution: "jest-config@npm:28.1.0" @@ -6600,6 +7866,18 @@ __metadata: languageName: node linkType: hard +"jest-diff@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-diff@npm:26.6.2" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^26.6.2 + jest-get-type: ^26.3.0 + pretty-format: ^26.6.2 + checksum: d00d297f31e1ac0252127089892432caa7a11c69bde29cf3bb6c7a839c8afdb95cf1fd401f9df16a4422745da2e6a5d94b428b30666a2540c38e1c5699915c2d + languageName: node + linkType: hard + "jest-diff@npm:^27.0.0": version: 27.3.1 resolution: "jest-diff@npm:27.3.1" @@ -6624,6 +7902,15 @@ __metadata: languageName: node linkType: hard +"jest-docblock@npm:^26.0.0": + version: 26.0.0 + resolution: "jest-docblock@npm:26.0.0" + dependencies: + detect-newline: ^3.0.0 + checksum: e03ef104ee8c571335e6fa394b8fc8d2bd87eec9fe8b3d7d9aac056ada7de288f37ee8ac4922bb3a4222ac304db975d8832d5abc85486092866c534a16847cd5 + languageName: node + linkType: hard + "jest-docblock@npm:^28.0.2": version: 28.0.2 resolution: "jest-docblock@npm:28.0.2" @@ -6633,6 +7920,19 @@ __metadata: languageName: node linkType: hard +"jest-each@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-each@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + chalk: ^4.0.0 + jest-get-type: ^26.3.0 + jest-util: ^26.6.2 + pretty-format: ^26.6.2 + checksum: 4e00ea4667e4fe015b894dc698cce0ae695cf458e021e5da62d4a5b052cd2c0a878da93f8c97cbdde60bcecf70982e8d3a7a5d63e1588f59531cc797a18c39ef + languageName: node + linkType: hard + "jest-each@npm:^28.1.0": version: 28.1.0 resolution: "jest-each@npm:28.1.0" @@ -6646,19 +7946,46 @@ __metadata: languageName: node linkType: hard -"jest-environment-jsdom@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-environment-jsdom@npm:28.1.0" +"jest-environment-jsdom@npm:^25.0.0": + version: 25.5.0 + resolution: "jest-environment-jsdom@npm:25.5.0" dependencies: - "@jest/environment": ^28.1.0 - "@jest/fake-timers": ^28.1.0 - "@jest/types": ^28.1.0 - "@types/jsdom": ^16.2.4 + "@jest/environment": ^25.5.0 + "@jest/fake-timers": ^25.5.0 + "@jest/types": ^25.5.0 + jest-mock: ^25.5.0 + jest-util: ^25.5.0 + jsdom: ^15.2.1 + checksum: 3f8b54a0a49492ba82aedcf0b0015dbb106a8eb6adca4525424072abadf1b654383ea6f42de76eeb3deb5aac17728583df2b538bf481ca85a3e61f07e7e6ec3e + languageName: node + linkType: hard + +"jest-environment-jsdom@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-environment-jsdom@npm:26.6.2" + dependencies: + "@jest/environment": ^26.6.2 + "@jest/fake-timers": ^26.6.2 + "@jest/types": ^26.6.2 "@types/node": "*" - jest-mock: ^28.1.0 - jest-util: ^28.1.0 - jsdom: ^19.0.0 - checksum: b1e3354a4a6fe1486cc6cd597460e6851c4f575770582e6ade7cca852ce9af9c421cb42f071863a37a0ad81e5d57443d99b1d8b2f39eac5acde8134a29e759d2 + jest-mock: ^26.6.2 + jest-util: ^26.6.2 + jsdom: ^16.4.0 + checksum: 8af9ffdf1b147362a19032bfe9ed51b709d43c74dc4b1c45e56d721808bf6cabdca8c226855b55a985ea196ce51cdb171bfe420ceec3daa2d13818d5c1915890 + languageName: node + linkType: hard + +"jest-environment-node@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-environment-node@npm:26.6.2" + dependencies: + "@jest/environment": ^26.6.2 + "@jest/fake-timers": ^26.6.2 + "@jest/types": ^26.6.2 + "@types/node": "*" + jest-mock: ^26.6.2 + jest-util: ^26.6.2 + checksum: 0b69b481e6d6f2350ed241c2dabc70b0b1f3a00f9a410b7dad97c8ab38e88026acf7445ca663eb314f46ff50acee0133100b1006bf4ebda5298ffb02763a6861 languageName: node linkType: hard @@ -6676,6 +8003,13 @@ __metadata: languageName: node linkType: hard +"jest-get-type@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-get-type@npm:26.3.0" + checksum: 1cc6465ae4f5e880be22ba52fd270fa64c21994915f81b41f8f7553a7957dd8e077cc8d03035de9412e2d739f8bad6a032ebb5dab5805692a5fb9e20dd4ea666 + languageName: node + linkType: hard + "jest-get-type@npm:^27.3.1": version: 27.3.1 resolution: "jest-get-type@npm:27.3.1" @@ -6690,6 +8024,31 @@ __metadata: languageName: node linkType: hard +"jest-haste-map@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-haste-map@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + "@types/graceful-fs": ^4.1.2 + "@types/node": "*" + anymatch: ^3.0.3 + fb-watchman: ^2.0.0 + fsevents: ^2.1.2 + graceful-fs: ^4.2.4 + jest-regex-util: ^26.0.0 + jest-serializer: ^26.6.2 + jest-util: ^26.6.2 + jest-worker: ^26.6.2 + micromatch: ^4.0.2 + sane: ^4.0.3 + walker: ^1.0.7 + dependenciesMeta: + fsevents: + optional: true + checksum: 8ad5236d5646d2388d2bd58a57ea53698923434f43d59ea9ebdc58bce4d0b8544c8de2f7acaa9a6d73171f04460388b2b6d7d6b6c256aea4ebb8780140781596 + languageName: node + linkType: hard + "jest-haste-map@npm:^28.1.0": version: 28.1.0 resolution: "jest-haste-map@npm:28.1.0" @@ -6713,6 +8072,42 @@ __metadata: languageName: node linkType: hard +"jest-jasmine2@npm:^26.6.3": + version: 26.6.3 + resolution: "jest-jasmine2@npm:26.6.3" + dependencies: + "@babel/traverse": ^7.1.0 + "@jest/environment": ^26.6.2 + "@jest/source-map": ^26.6.2 + "@jest/test-result": ^26.6.2 + "@jest/types": ^26.6.2 + "@types/node": "*" + chalk: ^4.0.0 + co: ^4.6.0 + expect: ^26.6.2 + is-generator-fn: ^2.0.0 + jest-each: ^26.6.2 + jest-matcher-utils: ^26.6.2 + jest-message-util: ^26.6.2 + jest-runtime: ^26.6.3 + jest-snapshot: ^26.6.2 + jest-util: ^26.6.2 + pretty-format: ^26.6.2 + throat: ^5.0.0 + checksum: 41df0b993ae0cdeb2660fb3d8e88e2dcc83aec6b5c27d85eb233c2d507b546f8dce45fc54898ffbefa48ccc4633f225d0e023fd0979b8f7f2f1626074a69a9a3 + languageName: node + linkType: hard + +"jest-leak-detector@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-leak-detector@npm:26.6.2" + dependencies: + jest-get-type: ^26.3.0 + pretty-format: ^26.6.2 + checksum: 364dd4d021347e26c66ba9c09da8a30477f14a3a8a208d2d7d64e4c396db81b85d8cb6b6834bcfc47a61b5938e274553957d11a7de2255f058c9d55d7f8fdfe7 + languageName: node + linkType: hard + "jest-leak-detector@npm:^28.1.0": version: 28.1.0 resolution: "jest-leak-detector@npm:28.1.0" @@ -6723,6 +8118,18 @@ __metadata: languageName: node linkType: hard +"jest-matcher-utils@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-matcher-utils@npm:26.6.2" + dependencies: + chalk: ^4.0.0 + jest-diff: ^26.6.2 + jest-get-type: ^26.3.0 + pretty-format: ^26.6.2 + checksum: 74d2165c1ac7fe98fe27cd2b5407499478e6b2fe99dd54e26d8ee5c9f5f913bdd7bdc07c7221b9b04df0c15e9be0e866ff3455b03e38cc66c480d9996d6d5405 + languageName: node + linkType: hard + "jest-matcher-utils@npm:^28.1.0": version: 28.1.0 resolution: "jest-matcher-utils@npm:28.1.0" @@ -6735,6 +8142,39 @@ __metadata: languageName: node linkType: hard +"jest-message-util@npm:^25.5.0": + version: 25.5.0 + resolution: "jest-message-util@npm:25.5.0" + dependencies: + "@babel/code-frame": ^7.0.0 + "@jest/types": ^25.5.0 + "@types/stack-utils": ^1.0.1 + chalk: ^3.0.0 + graceful-fs: ^4.2.4 + micromatch: ^4.0.2 + slash: ^3.0.0 + stack-utils: ^1.0.1 + checksum: 16ab8999802649069504a6eb1b2ee645d048cfe8dd2a8ac2a552d5f7f67bf657f02e1974c8e18313dbe9b4e9d83f80510757c1e6b4e5392db7d5da68d4eeebba + languageName: node + linkType: hard + +"jest-message-util@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-message-util@npm:26.6.2" + dependencies: + "@babel/code-frame": ^7.0.0 + "@jest/types": ^26.6.2 + "@types/stack-utils": ^2.0.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + micromatch: ^4.0.2 + pretty-format: ^26.6.2 + slash: ^3.0.0 + stack-utils: ^2.0.2 + checksum: ffe5a715591c41240b9ed4092faf10f3eaf9ddfdf25d257a0c9f903aaa8d9eed5baa7e38016d2ec4f610fd29225e0f5231a91153e087a043e62824972c83d015 + languageName: node + linkType: hard + "jest-message-util@npm:^28.1.0": version: 28.1.0 resolution: "jest-message-util@npm:28.1.0" @@ -6752,6 +8192,25 @@ __metadata: languageName: node linkType: hard +"jest-mock@npm:^25.5.0": + version: 25.5.0 + resolution: "jest-mock@npm:25.5.0" + dependencies: + "@jest/types": ^25.5.0 + checksum: b0e3cc2ccb05b45fc1ec52476d07740cab980d7ed41bf621c9000b9c5e4dafb05bc3f8ca6f7907a865d89522001a14f582863c6481af9e972a8f1765f0fe852e + languageName: node + linkType: hard + +"jest-mock@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-mock@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + "@types/node": "*" + checksum: 6c0fe028ff0cdc87b5d63b9ca749af04cae6c5577aaab234f602e546cae3f4b932adac9d77e6de2abb24955ee00978e1e5d5a861725654e2f9a42317d91fbc1f + languageName: node + linkType: hard + "jest-mock@npm:^28.1.0": version: 28.1.0 resolution: "jest-mock@npm:28.1.0" @@ -6774,6 +8233,13 @@ __metadata: languageName: node linkType: hard +"jest-regex-util@npm:^26.0.0": + version: 26.0.0 + resolution: "jest-regex-util@npm:26.0.0" + checksum: 930a00665e8dfbedc29140678b4a54f021b41b895cf35050f76f557c1da3ac48ff42dd7b18ba2ccba6f4e518c6445d6753730d03ec7049901b93992db1ef0483 + languageName: node + linkType: hard + "jest-regex-util@npm:^28.0.2": version: 28.0.2 resolution: "jest-regex-util@npm:28.0.2" @@ -6781,6 +8247,17 @@ __metadata: languageName: node linkType: hard +"jest-resolve-dependencies@npm:^26.6.3": + version: 26.6.3 + resolution: "jest-resolve-dependencies@npm:26.6.3" + dependencies: + "@jest/types": ^26.6.2 + jest-regex-util: ^26.0.0 + jest-snapshot: ^26.6.2 + checksum: 533ea1e271426006ff02c03c9802b108fcd68f2144615b6110ae59f3a0a2cc4a7abb3f44c3c65299c76b3a725d5d8220aaed9c58b79c8c8c508c18699a96e3f7 + languageName: node + linkType: hard + "jest-resolve-dependencies@npm:^28.1.0": version: 28.1.0 resolution: "jest-resolve-dependencies@npm:28.1.0" @@ -6791,6 +8268,22 @@ __metadata: languageName: node linkType: hard +"jest-resolve@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-resolve@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + jest-pnp-resolver: ^1.2.2 + jest-util: ^26.6.2 + read-pkg-up: ^7.0.1 + resolve: ^1.18.1 + slash: ^3.0.0 + checksum: d6264d3f39b098753802a237c8c54f3109f5f3b3b7fa6f8d7aec7dca01b357ddf518ce1c33a68454357c15f48fb3c6026a92b9c4f5d72f07e24e80f04bcc8d58 + languageName: node + linkType: hard + "jest-resolve@npm:^28.1.0": version: 28.1.0 resolution: "jest-resolve@npm:28.1.0" @@ -6808,6 +8301,34 @@ __metadata: languageName: node linkType: hard +"jest-runner@npm:^26.6.3": + version: 26.6.3 + resolution: "jest-runner@npm:26.6.3" + dependencies: + "@jest/console": ^26.6.2 + "@jest/environment": ^26.6.2 + "@jest/test-result": ^26.6.2 + "@jest/types": ^26.6.2 + "@types/node": "*" + chalk: ^4.0.0 + emittery: ^0.7.1 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + jest-config: ^26.6.3 + jest-docblock: ^26.0.0 + jest-haste-map: ^26.6.2 + jest-leak-detector: ^26.6.2 + jest-message-util: ^26.6.2 + jest-resolve: ^26.6.2 + jest-runtime: ^26.6.3 + jest-util: ^26.6.2 + jest-worker: ^26.6.2 + source-map-support: ^0.5.6 + throat: ^5.0.0 + checksum: ccd69918baa49a5efa45985cf60cfa1fbb1686b32d7a86296b7b55f89684e36d1f08e62598c4b7be7e81f2cf2e245d1a65146ea7bdcaedfa6ed176d3e645d7e2 + languageName: node + linkType: hard + "jest-runner@npm:^28.1.0": version: 28.1.0 resolution: "jest-runner@npm:28.1.0" @@ -6837,6 +8358,43 @@ __metadata: languageName: node linkType: hard +"jest-runtime@npm:^26.6.3": + version: 26.6.3 + resolution: "jest-runtime@npm:26.6.3" + dependencies: + "@jest/console": ^26.6.2 + "@jest/environment": ^26.6.2 + "@jest/fake-timers": ^26.6.2 + "@jest/globals": ^26.6.2 + "@jest/source-map": ^26.6.2 + "@jest/test-result": ^26.6.2 + "@jest/transform": ^26.6.2 + "@jest/types": ^26.6.2 + "@types/yargs": ^15.0.0 + chalk: ^4.0.0 + cjs-module-lexer: ^0.6.0 + collect-v8-coverage: ^1.0.0 + exit: ^0.1.2 + glob: ^7.1.3 + graceful-fs: ^4.2.4 + jest-config: ^26.6.3 + jest-haste-map: ^26.6.2 + jest-message-util: ^26.6.2 + jest-mock: ^26.6.2 + jest-regex-util: ^26.0.0 + jest-resolve: ^26.6.2 + jest-snapshot: ^26.6.2 + jest-util: ^26.6.2 + jest-validate: ^26.6.2 + slash: ^3.0.0 + strip-bom: ^4.0.0 + yargs: ^15.4.1 + bin: + jest-runtime: bin/jest-runtime.js + checksum: 867922b49f9ab4cf2f5f1356ac3d9962c4477c7a2ff696cc841ea4c600ea389e7d6dfcbf945fec6849e606f81980addf31e4f34d63eaa3d3415f4901de2f605a + languageName: node + linkType: hard + "jest-runtime@npm:^28.1.0": version: 28.1.0 resolution: "jest-runtime@npm:28.1.0" @@ -6867,6 +8425,40 @@ __metadata: languageName: node linkType: hard +"jest-serializer@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-serializer@npm:26.6.2" + dependencies: + "@types/node": "*" + graceful-fs: ^4.2.4 + checksum: dbecfb0d01462fe486a0932cf1680cf6abb204c059db2a8f72c6c2a7c9842a82f6d256874112774cea700764ed8f38fc9e3db982456c138d87353e3390e746fe + languageName: node + linkType: hard + +"jest-snapshot@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-snapshot@npm:26.6.2" + dependencies: + "@babel/types": ^7.0.0 + "@jest/types": ^26.6.2 + "@types/babel__traverse": ^7.0.4 + "@types/prettier": ^2.0.0 + chalk: ^4.0.0 + expect: ^26.6.2 + graceful-fs: ^4.2.4 + jest-diff: ^26.6.2 + jest-get-type: ^26.3.0 + jest-haste-map: ^26.6.2 + jest-matcher-utils: ^26.6.2 + jest-message-util: ^26.6.2 + jest-resolve: ^26.6.2 + natural-compare: ^1.4.0 + pretty-format: ^26.6.2 + semver: ^7.3.2 + checksum: 53f1de055b1d3840bc6e851fd674d5991b844d4695dadbd07354c93bf191048d8767b8606999847e97c4214a485b9afb45c1d2411772befa1870414ac973b3e2 + languageName: node + linkType: hard + "jest-snapshot@npm:^28.1.0": version: 28.1.0 resolution: "jest-snapshot@npm:28.1.0" @@ -6898,7 +8490,34 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:^28.0.0, jest-util@npm:^28.1.0": +"jest-util@npm:^25.5.0": + version: 25.5.0 + resolution: "jest-util@npm:25.5.0" + dependencies: + "@jest/types": ^25.5.0 + chalk: ^3.0.0 + graceful-fs: ^4.2.4 + is-ci: ^2.0.0 + make-dir: ^3.0.0 + checksum: 4c982e37968914d9e8b8330d2838533a4e8566b80b38cbb0916a19660a805357913aae1382fef35aeb4e348ba5dad77eb7413a16d533cdba7317941e01236352 + languageName: node + linkType: hard + +"jest-util@npm:^26.1.0, jest-util@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-util@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + "@types/node": "*" + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + is-ci: ^2.0.0 + micromatch: ^4.0.2 + checksum: 3c6a5fba05c4c6892cd3a9f66196ea8867087b77a5aa1a3f6cd349c785c3f1ca24abfd454664983aed1a165cab7846688e44fe8630652d666ba326b08625bc3d + languageName: node + linkType: hard + +"jest-util@npm:^28.1.0": version: 28.1.0 resolution: "jest-util@npm:28.1.0" dependencies: @@ -6912,6 +8531,20 @@ __metadata: languageName: node linkType: hard +"jest-validate@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-validate@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + camelcase: ^6.0.0 + chalk: ^4.0.0 + jest-get-type: ^26.3.0 + leven: ^3.1.0 + pretty-format: ^26.6.2 + checksum: bac11d6586d9b8885328a4a66eec45b692e45ac23034a5c09eb0ee32de324f2d3d52b073e0c34e9c222b3642b083d1152a736cf24c52109e4957537d731ca62b + languageName: node + linkType: hard + "jest-validate@npm:^28.1.0": version: 28.1.0 resolution: "jest-validate@npm:28.1.0" @@ -6926,6 +8559,21 @@ __metadata: languageName: node linkType: hard +"jest-watcher@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-watcher@npm:26.6.2" + dependencies: + "@jest/test-result": ^26.6.2 + "@jest/types": ^26.6.2 + "@types/node": "*" + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + jest-util: ^26.6.2 + string-length: ^4.0.1 + checksum: 401137f1a73bf23cdf390019ebffb3f6f89c53ca49d48252d1dd6daf17a68787fef75cc55a623de28b63d87d0e8f13d8972d7dd06740f2f64f7b2a0409d119d2 + languageName: node + linkType: hard + "jest-watcher@npm:^28.1.0": version: 28.1.0 resolution: "jest-watcher@npm:28.1.0" @@ -6942,7 +8590,7 @@ __metadata: languageName: node linkType: hard -"jest-when@npm:^3.5.1": +"jest-when@npm:^3.4.2, jest-when@npm:^3.5.1": version: 3.5.1 resolution: "jest-when@npm:3.5.1" peerDependencies: @@ -6951,6 +8599,17 @@ __metadata: languageName: node linkType: hard +"jest-worker@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-worker@npm:26.6.2" + dependencies: + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^7.0.0 + checksum: f9afa3b88e3f12027901e4964ba3ff048285b5783b5225cab28fac25b4058cea8ad54001e9a1577ee2bed125fac3ccf5c80dc507b120300cc1bbcb368796533e + languageName: node + linkType: hard + "jest-worker@npm:^28.1.0": version: 28.1.0 resolution: "jest-worker@npm:28.1.0" @@ -6962,6 +8621,19 @@ __metadata: languageName: node linkType: hard +"jest@npm:^26.4.2": + version: 26.6.3 + resolution: "jest@npm:26.6.3" + dependencies: + "@jest/core": ^26.6.3 + import-local: ^3.0.2 + jest-cli: ^26.6.3 + bin: + jest: bin/jest.js + checksum: 3a9b4c70e9bd5391e7367a0036045c1d3545c2a39e1439a71fb4b59b1748bc34e2ccb324faa1046b99bffc8dc2ed7b3c59016c462255b2646f5fa9300351f914 + languageName: node + linkType: hard + "jest@npm:^28.1.0": version: 28.1.0 resolution: "jest@npm:28.1.0" @@ -7041,22 +8713,61 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^19.0.0": - version: 19.0.0 - resolution: "jsdom@npm:19.0.0" +"jsdom@npm:^15.2.1": + version: 15.2.1 + resolution: "jsdom@npm:15.2.1" + dependencies: + abab: ^2.0.0 + acorn: ^7.1.0 + acorn-globals: ^4.3.2 + array-equal: ^1.0.0 + cssom: ^0.4.1 + cssstyle: ^2.0.0 + data-urls: ^1.1.0 + domexception: ^1.0.1 + escodegen: ^1.11.1 + html-encoding-sniffer: ^1.0.2 + nwsapi: ^2.2.0 + parse5: 5.1.0 + pn: ^1.1.0 + request: ^2.88.0 + request-promise-native: ^1.0.7 + saxes: ^3.1.9 + symbol-tree: ^3.2.2 + tough-cookie: ^3.0.1 + w3c-hr-time: ^1.0.1 + w3c-xmlserializer: ^1.1.2 + webidl-conversions: ^4.0.2 + whatwg-encoding: ^1.0.5 + whatwg-mimetype: ^2.3.0 + whatwg-url: ^7.0.0 + ws: ^7.0.0 + xml-name-validator: ^3.0.0 + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: eff437b977330b1e63cd3ee2c2fe7c799c876799cae35525e1e6864d939dd41631ebd65f847adaeb83c2160c828d027d0f1d0dbe88366d1da22c875a5165a78c + languageName: node + linkType: hard + +"jsdom@npm:^16.4.0": + version: 16.7.0 + resolution: "jsdom@npm:16.7.0" dependencies: abab: ^2.0.5 - acorn: ^8.5.0 + acorn: ^8.2.4 acorn-globals: ^6.0.0 - cssom: ^0.5.0 + cssom: ^0.4.4 cssstyle: ^2.3.0 - data-urls: ^3.0.1 - decimal.js: ^10.3.1 - domexception: ^4.0.0 + data-urls: ^2.0.0 + decimal.js: ^10.2.1 + domexception: ^2.0.1 escodegen: ^2.0.0 - form-data: ^4.0.0 - html-encoding-sniffer: ^3.0.0 - http-proxy-agent: ^5.0.0 + form-data: ^3.0.0 + html-encoding-sniffer: ^2.0.1 + http-proxy-agent: ^4.0.1 https-proxy-agent: ^5.0.0 is-potential-custom-element-name: ^1.0.1 nwsapi: ^2.2.0 @@ -7065,19 +8776,19 @@ __metadata: symbol-tree: ^3.2.4 tough-cookie: ^4.0.0 w3c-hr-time: ^1.0.2 - w3c-xmlserializer: ^3.0.0 - webidl-conversions: ^7.0.0 - whatwg-encoding: ^2.0.0 - whatwg-mimetype: ^3.0.0 - whatwg-url: ^10.0.0 - ws: ^8.2.3 - xml-name-validator: ^4.0.0 + w3c-xmlserializer: ^2.0.0 + webidl-conversions: ^6.1.0 + whatwg-encoding: ^1.0.5 + whatwg-mimetype: ^2.3.0 + whatwg-url: ^8.5.0 + ws: ^7.4.6 + xml-name-validator: ^3.0.0 peerDependencies: canvas: ^2.5.0 peerDependenciesMeta: canvas: optional: true - checksum: 94b693bf4a394097dd96705550bb7b6cd3c8db3c5414e6e9c92a0995ed8b61067597da2f37fca6bed4b5a2f1ef33960ee759522156dccd0b306311988ea87cfb + checksum: 454b83371857000763ed31130a049acd1b113e3b927e6dcd75c67ddc30cdd242d7ebcac5c2294b7a1a6428155cb1398709c573b3c6d809218692ea68edd93370 languageName: node linkType: hard @@ -7161,7 +8872,7 @@ __metadata: languageName: node linkType: hard -"json-stringify-safe@npm:~5.0.1": +"json-stringify-safe@npm:^5.0.1, json-stringify-safe@npm:~5.0.1": version: 5.0.1 resolution: "json-stringify-safe@npm:5.0.1" checksum: 48ec0adad5280b8a96bb93f4563aa1667fd7a36334f79149abd42446d0989f2ddc58274b479f4819f1f00617957e6344c886c55d05a4e15ebb4ab931e4a6a8ee @@ -7250,6 +8961,38 @@ __metadata: languageName: node linkType: hard +"kind-of@npm:^3.0.2, kind-of@npm:^3.0.3, kind-of@npm:^3.2.0": + version: 3.2.2 + resolution: "kind-of@npm:3.2.2" + dependencies: + is-buffer: ^1.1.5 + checksum: e898df8ca2f31038f27d24f0b8080da7be274f986bc6ed176f37c77c454d76627619e1681f6f9d2e8d2fd7557a18ecc419a6bb54e422abcbb8da8f1a75e4b386 + languageName: node + linkType: hard + +"kind-of@npm:^4.0.0": + version: 4.0.0 + resolution: "kind-of@npm:4.0.0" + dependencies: + is-buffer: ^1.1.5 + checksum: 1b9e7624a8771b5a2489026e820f3bbbcc67893e1345804a56b23a91e9069965854d2a223a7c6ee563c45be9d8c6ff1ef87f28ed5f0d1a8d00d9dcbb067c529f + languageName: node + linkType: hard + +"kind-of@npm:^5.0.0": + version: 5.1.0 + resolution: "kind-of@npm:5.1.0" + checksum: f2a0102ae0cf19c4a953397e552571bad2b588b53282874f25fca7236396e650e2db50d41f9f516bd402536e4df968dbb51b8e69e4d5d4a7173def78448f7bab + languageName: node + linkType: hard + +"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 3ab01e7b1d440b22fe4c31f23d8d38b4d9b91d9f291df683476576493d5dfd2e03848a8b05813dd0c3f0e835bc63f433007ddeceb71f05cb25c45ae1b19c6d3b + languageName: node + linkType: hard + "kleur@npm:^3.0.3": version: 3.0.3 resolution: "kleur@npm:3.0.3" @@ -7398,20 +9141,29 @@ __metadata: languageName: node linkType: hard -"lodash.memoize@npm:4.x": - version: 4.1.2 - resolution: "lodash.memoize@npm:4.1.2" - checksum: 9ff3942feeccffa4f1fafa88d32f0d24fdc62fd15ded5a74a5f950ff5f0c6f61916157246744c620173dddf38d37095a92327d5fd3861e2063e736a5c207d089 +"lodash.sortby@npm:^4.7.0": + version: 4.7.0 + resolution: "lodash.sortby@npm:4.7.0" + checksum: db170c9396d29d11fe9a9f25668c4993e0c1331bcb941ddbd48fb76f492e732add7f2a47cfdf8e9d740fa59ac41bbfaf931d268bc72aab3ab49e9f89354d718c languageName: node linkType: hard -"lodash@npm:^4.17.13, lodash@npm:^4.17.14, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21": +"lodash@npm:4.x, lodash@npm:^4.17.13, lodash@npm:^4.17.14, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 languageName: node linkType: hard +"lolex@npm:^5.0.0": + version: 5.1.2 + resolution: "lolex@npm:5.1.2" + dependencies: + "@sinonjs/commons": ^1.7.0 + checksum: 7eb468d4ef4746c024d23cb2b75f679f79449a9d5cbe11abadf2f3b147c1d7ffe28816438bedfb8a75c58357a625c2f9ba197b050c226d2b3f0c4a956cf556fb + languageName: node + linkType: hard + "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -7489,6 +9241,15 @@ __metadata: languageName: node linkType: hard +"makeerror@npm:1.0.12": + version: 1.0.12 + resolution: "makeerror@npm:1.0.12" + dependencies: + tmpl: 1.0.5 + checksum: b38a025a12c8146d6eeea5a7f2bf27d51d8ad6064da8ca9405fcf7bf9b54acd43e3b30ddd7abb9b1bfa4ddb266019133313482570ddb207de568f71ecfcf6060 + languageName: node + linkType: hard + "makeerror@npm:1.0.x": version: 1.0.11 resolution: "makeerror@npm:1.0.11" @@ -7498,6 +9259,22 @@ __metadata: languageName: node linkType: hard +"map-cache@npm:^0.2.2": + version: 0.2.2 + resolution: "map-cache@npm:0.2.2" + checksum: 3067cea54285c43848bb4539f978a15dedc63c03022abeec6ef05c8cb6829f920f13b94bcaf04142fc6a088318e564c4785704072910d120d55dbc2e0c421969 + languageName: node + linkType: hard + +"map-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "map-visit@npm:1.0.0" + dependencies: + object-visit: ^1.0.0 + checksum: c27045a5021c344fc19b9132eb30313e441863b2951029f8f8b66f79d3d8c1e7e5091578075a996f74e417479506fe9ede28c44ca7bc351a61c9d8073daec36a + languageName: node + linkType: hard + "marked@npm:^4.0.12": version: 4.0.14 resolution: "marked@npm:4.0.14" @@ -7562,6 +9339,27 @@ __metadata: languageName: node linkType: hard +"micromatch@npm:^3.1.4": + version: 3.1.10 + resolution: "micromatch@npm:3.1.10" + dependencies: + arr-diff: ^4.0.0 + array-unique: ^0.3.2 + braces: ^2.3.1 + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + extglob: ^2.0.4 + fragment-cache: ^0.2.1 + kind-of: ^6.0.2 + nanomatch: ^1.2.9 + object.pick: ^1.3.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.2 + checksum: ad226cba4daa95b4eaf47b2ca331c8d2e038d7b41ae7ed0697cde27f3f1d6142881ab03d4da51b65d9d315eceb5e4cdddb3fbb55f5f72cfa19cf3ea469d054dc + languageName: node + linkType: hard + "micromatch@npm:^4.0.2": version: 4.0.2 resolution: "micromatch@npm:4.0.2" @@ -7637,6 +9435,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^3.1.1": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: ^1.1.7 + checksum: c154e566406683e7bcb746e000b84d74465b3a832c45d59912b9b55cd50dee66e5c4b1e5566dba26154040e51672f9aa450a9aef0c97cfc7336b78b7afb9540a + languageName: node + linkType: hard + "minimatch@npm:^5.0.1": version: 5.0.1 resolution: "minimatch@npm:5.0.1" @@ -7646,7 +9453,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0": +"minimist@npm:^1.1.1, minimist@npm:^1.2.0": version: 1.2.6 resolution: "minimist@npm:1.2.6" checksum: d15428cd1e11eb14e1233bcfb88ae07ed7a147de251441d61158619dfb32c4d7e9061d09cab4825fdee18ecd6fce323228c8c47b5ba7cd20af378ca4048fb3fb @@ -7732,7 +9539,17 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": +"mixin-deep@npm:^1.2.0": + version: 1.3.2 + resolution: "mixin-deep@npm:1.3.2" + dependencies: + for-in: ^1.0.2 + is-extendable: ^1.0.1 + checksum: 820d5a51fcb7479f2926b97f2c3bb223546bc915e6b3a3eb5d906dda871bba569863595424a76682f2b15718252954644f3891437cb7e3f220949bed54b1750d + languageName: node + linkType: hard + +"mkdirp@npm:1.x, mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" bin: @@ -7778,6 +9595,25 @@ __metadata: languageName: node linkType: hard +"nanomatch@npm:^1.2.9": + version: 1.2.13 + resolution: "nanomatch@npm:1.2.13" + dependencies: + arr-diff: ^4.0.0 + array-unique: ^0.3.2 + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + fragment-cache: ^0.2.1 + is-windows: ^1.0.2 + kind-of: ^6.0.2 + object.pick: ^1.3.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: 54d4166d6ef08db41252eb4e96d4109ebcb8029f0374f9db873bd91a1f896c32ec780d2a2ea65c0b2d7caf1f28d5e1ea33746a470f32146ac8bba821d80d38d8 + languageName: node + linkType: hard + "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -7792,6 +9628,13 @@ __metadata: languageName: node linkType: hard +"nice-try@npm:^1.0.4": + version: 1.0.5 + resolution: "nice-try@npm:1.0.5" + checksum: 0b4af3b5bb5d86c289f7a026303d192a7eb4417231fe47245c460baeabae7277bcd8fd9c728fb6bd62c30b3e15cd6620373e2cf33353b095d8b403d3e8a15aff + languageName: node + linkType: hard + "nise@npm:^4.0.4": version: 4.0.4 resolution: "nise@npm:4.0.4" @@ -7805,6 +9648,18 @@ __metadata: languageName: node linkType: hard +"nock@npm:^13.0.7": + version: 13.2.6 + resolution: "nock@npm:13.2.6" + dependencies: + debug: ^4.1.0 + json-stringify-safe: ^5.0.1 + lodash: ^4.17.21 + propagate: ^2.0.0 + checksum: d135a8036b2feb41c0696c585682f7252f6cd3232ff686efe54a39f979f063fcc178636dfdf27aba07f653091e2812014db41ed6f5f250fdd2ee2948035a4203 + languageName: node + linkType: hard + "node-addon-api@npm:^2.0.0": version: 2.0.2 resolution: "node-addon-api@npm:2.0.2" @@ -7886,6 +9741,20 @@ __metadata: languageName: node linkType: hard +"node-notifier@npm:^8.0.0": + version: 8.0.2 + resolution: "node-notifier@npm:8.0.2" + dependencies: + growly: ^1.3.0 + is-wsl: ^2.2.0 + semver: ^7.3.2 + shellwords: ^0.1.1 + uuid: ^8.3.0 + which: ^2.0.2 + checksum: 7db1683003f6aaa4324959dfa663cd56e301ccc0165977a9e7737989ffe3b4763297f9fc85f44d0662b63a4fd85516eda43411b492a4d2fae207afb23773f912 + languageName: node + linkType: hard + "node-releases@npm:^2.0.3": version: 2.0.4 resolution: "node-releases@npm:2.0.4" @@ -7911,7 +9780,7 @@ __metadata: languageName: node linkType: hard -"normalize-package-data@npm:^2.3.2": +"normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0": version: 2.5.0 resolution: "normalize-package-data@npm:2.5.0" dependencies: @@ -7923,6 +9792,15 @@ __metadata: languageName: node linkType: hard +"normalize-path@npm:^2.1.1": + version: 2.1.1 + resolution: "normalize-path@npm:2.1.1" + dependencies: + remove-trailing-separator: ^1.0.1 + checksum: 7e9cbdcf7f5b8da7aa191fbfe33daf290cdcd8c038f422faf1b8a83c972bf7a6d94c5be34c4326cb00fb63bc0fd97d9fbcfaf2e5d6142332c2cd36d2e1b86cea + languageName: node + linkType: hard + "normalize-path@npm:^3.0.0": version: 3.0.0 resolution: "normalize-path@npm:3.0.0" @@ -7937,7 +9815,16 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^4.0.1": +"npm-run-path@npm:^2.0.0": + version: 2.0.2 + resolution: "npm-run-path@npm:2.0.2" + dependencies: + path-key: ^2.0.0 + checksum: acd5ad81648ba4588ba5a8effb1d98d2b339d31be16826a118d50f182a134ac523172101b82eab1d01cb4c2ba358e857d54cfafd8163a1ffe7bd52100b741125 + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.0, npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" dependencies: @@ -8008,6 +9895,17 @@ __metadata: languageName: node linkType: hard +"object-copy@npm:^0.1.0": + version: 0.1.0 + resolution: "object-copy@npm:0.1.0" + dependencies: + copy-descriptor: ^0.1.0 + define-property: ^0.2.5 + kind-of: ^3.0.3 + checksum: a9e35f07e3a2c882a7e979090360d1a20ab51d1fa19dfdac3aa8873b328a7c4c7683946ee97c824ae40079d848d6740a3788fa14f2185155dab7ed970a72c783 + languageName: node + linkType: hard + "object-inspect@npm:^1.12.0, object-inspect@npm:^1.9.0": version: 1.12.2 resolution: "object-inspect@npm:1.12.2" @@ -8046,6 +9944,15 @@ __metadata: languageName: node linkType: hard +"object-visit@npm:^1.0.0": + version: 1.0.1 + resolution: "object-visit@npm:1.0.1" + dependencies: + isobject: ^3.0.0 + checksum: b0ee07f5bf3bb881b881ff53b467ebbde2b37ebb38649d6944a6cd7681b32eedd99da9bd1e01c55facf81f54ed06b13af61aba6ad87f0052982995e09333f790 + languageName: node + linkType: hard + "object.assign@npm:^4.1.0": version: 4.1.0 resolution: "object.assign@npm:4.1.0" @@ -8070,6 +9977,15 @@ __metadata: languageName: node linkType: hard +"object.pick@npm:^1.3.0": + version: 1.3.0 + resolution: "object.pick@npm:1.3.0" + dependencies: + isobject: ^3.0.1 + checksum: 77fb6eed57c67adf75e9901187e37af39f052ef601cb4480386436561357eb9e459e820762f01fd02c5c1b42ece839ad393717a6d1850d848ee11fbabb3e580a + languageName: node + linkType: hard + "object.values@npm:^1.1.1": version: 1.1.1 resolution: "object.values@npm:1.1.1" @@ -8094,7 +10010,7 @@ __metadata: languageName: node linkType: hard -"once@npm:^1.3.0": +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -8103,7 +10019,7 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^5.1.2": +"onetime@npm:^5.1.0, onetime@npm:^5.1.2": version: 5.1.2 resolution: "onetime@npm:5.1.2" dependencies: @@ -8140,6 +10056,20 @@ __metadata: languageName: node linkType: hard +"p-each-series@npm:^2.1.0": + version: 2.2.0 + resolution: "p-each-series@npm:2.2.0" + checksum: 5fbe2f1f1966f55833bd401fe36f7afe410707d5e9fb6032c6dde8aa716d50521c3bb201fdb584130569b5941d5e84993e09e0b3f76a474288e0ede8f632983c + languageName: node + linkType: hard + +"p-finally@npm:^1.0.0": + version: 1.0.0 + resolution: "p-finally@npm:1.0.0" + checksum: 93a654c53dc805dd5b5891bab16eb0ea46db8f66c4bfd99336ae929323b1af2b70a8b0654f8f1eae924b2b73d037031366d645f1fd18b3d30cbd15950cc4b1d4 + languageName: node + linkType: hard + "p-limit@npm:^1.1.0": version: 1.3.0 resolution: "p-limit@npm:1.3.0" @@ -8224,7 +10154,7 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^5.2.0": +"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" dependencies: @@ -8236,6 +10166,13 @@ __metadata: languageName: node linkType: hard +"parse5@npm:5.1.0": + version: 5.1.0 + resolution: "parse5@npm:5.1.0" + checksum: 13c44c6d47035a3cc75303655ae5630dc264f9b9ab8344feb3f79ca195d8b57a2a246af902abef1d780ad1eee92eb9b88cd03098a7ee7dd111f032152ebaf0a6 + languageName: node + linkType: hard + "parse5@npm:6.0.1": version: 6.0.1 resolution: "parse5@npm:6.0.1" @@ -8243,6 +10180,13 @@ __metadata: languageName: node linkType: hard +"pascalcase@npm:^0.1.1": + version: 0.1.1 + resolution: "pascalcase@npm:0.1.1" + checksum: f83681c3c8ff75fa473a2bb2b113289952f802ff895d435edd717e7cb898b0408cbdb247117a938edcbc5d141020909846cc2b92c47213d764e2a94d2ad2b925 + languageName: node + linkType: hard + "path-exists@npm:^3.0.0": version: 3.0.0 resolution: "path-exists@npm:3.0.0" @@ -8264,6 +10208,13 @@ __metadata: languageName: node linkType: hard +"path-key@npm:^2.0.0, path-key@npm:^2.0.1": + version: 2.0.1 + resolution: "path-key@npm:2.0.1" + checksum: f7ab0ad42fe3fb8c7f11d0c4f849871e28fbd8e1add65c370e422512fc5887097b9cf34d09c1747d45c942a8c1e26468d6356e2df3f740bf177ab8ca7301ebfd + languageName: node + linkType: hard + "path-key@npm:^3.0.0, path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -8385,7 +10336,7 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.4": +"pirates@npm:^4.0.1, pirates@npm:^4.0.4": version: 4.0.5 resolution: "pirates@npm:4.0.5" checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227 @@ -8410,6 +10361,20 @@ __metadata: languageName: node linkType: hard +"pn@npm:^1.1.0": + version: 1.1.0 + resolution: "pn@npm:1.1.0" + checksum: e4654186dc92a187c8c7fe4ccda902f4d39dd9c10f98d1c5a08ce5fad5507ef1e33ddb091240c3950bee81bd201b4c55098604c433a33b5e8bdd97f38b732fa0 + languageName: node + linkType: hard + +"posix-character-classes@npm:^0.1.0": + version: 0.1.1 + resolution: "posix-character-classes@npm:0.1.1" + checksum: dedb99913c60625a16050cfed2fb5c017648fc075be41ac18474e1c6c3549ef4ada201c8bd9bd006d36827e289c571b6092e1ef6e756cdbab2fd7046b25c6442 + languageName: node + linkType: hard + "precond@npm:0.2": version: 0.2.3 resolution: "precond@npm:0.2.3" @@ -8460,6 +10425,18 @@ __metadata: languageName: node linkType: hard +"pretty-format@npm:^26.6.2": + version: 26.6.2 + resolution: "pretty-format@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + ansi-regex: ^5.0.0 + ansi-styles: ^4.0.0 + react-is: ^17.0.1 + checksum: e3b808404d7e1519f0df1aa1f25cee0054ab475775c6b2b8c5568ff23194a92d54bf93274139b6f584ca70fd773be4eaa754b0e03f12bb0a8d1426b07f079976 + languageName: node + linkType: hard + "pretty-format@npm:^27.0.0, pretty-format@npm:^27.3.1": version: 27.3.1 resolution: "pretty-format@npm:27.3.1" @@ -8542,6 +10519,13 @@ __metadata: languageName: node linkType: hard +"propagate@npm:^2.0.0": + version: 2.0.1 + resolution: "propagate@npm:2.0.1" + checksum: c4febaee2be0979e82fb6b3727878fd122a98d64a7fa3c9d09b0576751b88514a9e9275b1b92e76b364d488f508e223bd7e1dcdc616be4cdda876072fbc2a96c + languageName: node + linkType: hard + "prr@npm:~1.0.1": version: 1.0.1 resolution: "prr@npm:1.0.1" @@ -8563,6 +10547,16 @@ __metadata: languageName: node linkType: hard +"pump@npm:^3.0.0": + version: 3.0.0 + resolution: "pump@npm:3.0.0" + dependencies: + end-of-stream: ^1.1.0 + once: ^1.3.1 + checksum: e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 + languageName: node + linkType: hard + "punycode@npm:2.1.0": version: 2.1.0 resolution: "punycode@npm:2.1.0" @@ -8627,6 +10621,17 @@ __metadata: languageName: node linkType: hard +"read-pkg-up@npm:^7.0.1": + version: 7.0.1 + resolution: "read-pkg-up@npm:7.0.1" + dependencies: + find-up: ^4.1.0 + read-pkg: ^5.2.0 + type-fest: ^0.8.1 + checksum: e4e93ce70e5905b490ca8f883eb9e48b5d3cebc6cd4527c25a0d8f3ae2903bd4121c5ab9c5a3e217ada0141098eeb661313c86fa008524b089b8ed0b7f165e44 + languageName: node + linkType: hard + "read-pkg@npm:^2.0.0": version: 2.0.0 resolution: "read-pkg@npm:2.0.0" @@ -8638,6 +10643,18 @@ __metadata: languageName: node linkType: hard +"read-pkg@npm:^5.2.0": + version: 5.2.0 + resolution: "read-pkg@npm:5.2.0" + dependencies: + "@types/normalize-package-data": ^2.4.0 + normalize-package-data: ^2.5.0 + parse-json: ^5.0.0 + type-fest: ^0.6.0 + checksum: eb696e60528b29aebe10e499ba93f44991908c57d70f2d26f369e46b8b9afc208ef11b4ba64f67630f31df8b6872129e0a8933c8c53b7b4daf0eace536901222 + languageName: node + linkType: hard + "readable-stream@npm:^1.0.33": version: 1.1.14 resolution: "readable-stream@npm:1.1.14" @@ -8688,6 +10705,13 @@ __metadata: languageName: node linkType: hard +"regenerator-runtime@npm:^0.11.0": + version: 0.11.1 + resolution: "regenerator-runtime@npm:0.11.1" + checksum: 3c97bd2c7b2b3247e6f8e2147a002eb78c995323732dad5dc70fac8d8d0b758d0295e7015b90d3d444446ae77cbd24b9f9123ec3a77018e81d8999818301b4f4 + languageName: node + linkType: hard + "regenerator-runtime@npm:^0.13.4": version: 0.13.9 resolution: "regenerator-runtime@npm:0.13.9" @@ -8695,6 +10719,16 @@ __metadata: languageName: node linkType: hard +"regex-not@npm:^1.0.0, regex-not@npm:^1.0.2": + version: 1.0.2 + resolution: "regex-not@npm:1.0.2" + dependencies: + extend-shallow: ^3.0.2 + safe-regex: ^1.1.0 + checksum: 3081403de79559387a35ef9d033740e41818a559512668cef3d12da4e8a29ef34ee13c8ed1256b07e27ae392790172e8a15c8a06b72962fd4550476cde3d8f77 + languageName: node + linkType: hard + "regexp.prototype.flags@npm:^1.4.3": version: 1.4.3 resolution: "regexp.prototype.flags@npm:1.4.3" @@ -8720,7 +10754,52 @@ __metadata: languageName: node linkType: hard -"request@npm:^2.85.0, request@npm:^2.88.2": +"remove-trailing-separator@npm:^1.0.1": + version: 1.1.0 + resolution: "remove-trailing-separator@npm:1.1.0" + checksum: d3c20b5a2d987db13e1cca9385d56ecfa1641bae143b620835ac02a6b70ab88f68f117a0021838db826c57b31373d609d52e4f31aca75fc490c862732d595419 + languageName: node + linkType: hard + +"repeat-element@npm:^1.1.2": + version: 1.1.4 + resolution: "repeat-element@npm:1.1.4" + checksum: 1edd0301b7edad71808baad226f0890ba709443f03a698224c9ee4f2494c317892dc5211b2ba8cbea7194a9ddbcac01e283bd66de0467ab24ee1fc1a3711d8a9 + languageName: node + linkType: hard + +"repeat-string@npm:^1.6.1": + version: 1.6.1 + resolution: "repeat-string@npm:1.6.1" + checksum: 1b809fc6db97decdc68f5b12c4d1a671c8e3f65ec4a40c238bc5200e44e85bcc52a54f78268ab9c29fcf5fe4f1343e805420056d1f30fa9a9ee4c2d93e3cc6c0 + languageName: node + linkType: hard + +"request-promise-core@npm:1.1.4": + version: 1.1.4 + resolution: "request-promise-core@npm:1.1.4" + dependencies: + lodash: ^4.17.19 + peerDependencies: + request: ^2.34 + checksum: c798bafd552961e36fbf5023b1d081e81c3995ab390f1bc8ef38a711ba3fe4312eb94dbd61887073d7356c3499b9380947d7f62faa805797c0dc50f039425699 + languageName: node + linkType: hard + +"request-promise-native@npm:^1.0.7": + version: 1.0.9 + resolution: "request-promise-native@npm:1.0.9" + dependencies: + request-promise-core: 1.1.4 + stealthy-require: ^1.1.1 + tough-cookie: ^2.3.3 + peerDependencies: + request: ^2.34 + checksum: 3e2c694eefac88cb20beef8911ad57a275ab3ccbae0c4ca6c679fffb09d5fd502458aab08791f0814ca914b157adab2d4e472597c97a73be702918e41725ed69 + languageName: node + linkType: hard + +"request@npm:^2.85.0, request@npm:^2.88.0, request@npm:^2.88.2": version: 2.88.2 resolution: "request@npm:2.88.2" dependencies: @@ -8762,6 +10841,13 @@ __metadata: languageName: node linkType: hard +"require-main-filename@npm:^2.0.0": + version: 2.0.0 + resolution: "require-main-filename@npm:2.0.0" + checksum: e9e294695fea08b076457e9ddff854e81bffbe248ed34c1eec348b7abbd22a0d02e8d75506559e2265e96978f3c4720bd77a6dad84755de8162b357eb6c778c7 + languageName: node + linkType: hard + "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -8785,6 +10871,13 @@ __metadata: languageName: node linkType: hard +"resolve-url@npm:^0.2.1": + version: 0.2.1 + resolution: "resolve-url@npm:0.2.1" + checksum: 7b7035b9ed6e7bc7d289e90aef1eab5a43834539695dac6416ca6e91f1a94132ae4796bbd173cdacfdc2ade90b5f38a3fb6186bebc1b221cd157777a23b9ad14 + languageName: node + linkType: hard + "resolve.exports@npm:^1.1.0": version: 1.1.0 resolution: "resolve.exports@npm:1.1.0" @@ -8811,7 +10904,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.14.2": +"resolve@npm:^1.14.2, resolve@npm:^1.18.1": version: 1.22.0 resolution: "resolve@npm:1.22.0" dependencies: @@ -8853,7 +10946,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.14.2#~builtin": +"resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.18.1#~builtin": version: 1.22.0 resolution: "resolve@patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=07638b" dependencies: @@ -8876,6 +10969,13 @@ __metadata: languageName: node linkType: hard +"ret@npm:~0.1.10": + version: 0.1.15 + resolution: "ret@npm:0.1.15" + checksum: d76a9159eb8c946586567bd934358dfc08a36367b3257f7a3d7255fdd7b56597235af23c6afa0d7f0254159e8051f93c918809962ebd6df24ca2a83dbe4d4151 + languageName: node + linkType: hard + "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" @@ -8933,6 +11033,13 @@ __metadata: languageName: node linkType: hard +"rsvp@npm:^4.8.4": + version: 4.8.5 + resolution: "rsvp@npm:4.8.5" + checksum: 2d8ef30d8febdf05bdf856ccca38001ae3647e41835ca196bc1225333f79b94ae44def733121ca549ccc36209c9b689f6586905e2a043873262609744da8efc1 + languageName: node + linkType: hard + "run-parallel@npm:^1.1.9": version: 1.1.10 resolution: "run-parallel@npm:1.1.10" @@ -8977,13 +11084,50 @@ __metadata: languageName: node linkType: hard -"safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": +"safe-regex@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex@npm:1.1.0" + dependencies: + ret: ~0.1.10 + checksum: 9a8bba57c87a841f7997b3b951e8e403b1128c1a4fd1182f40cc1a20e2d490593d7c2a21030fadfea320c8e859219019e136f678c6689ed5960b391b822f01d5 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 languageName: node linkType: hard +"sane@npm:^4.0.3": + version: 4.1.0 + resolution: "sane@npm:4.1.0" + dependencies: + "@cnakazawa/watch": ^1.0.3 + anymatch: ^2.0.0 + capture-exit: ^2.0.0 + exec-sh: ^0.3.2 + execa: ^1.0.0 + fb-watchman: ^2.0.0 + micromatch: ^3.1.4 + minimist: ^1.1.1 + walker: ~1.0.5 + bin: + sane: ./src/cli.js + checksum: 97716502d456c0d38670a902a4ea943d196dcdf998d1e40532d8f3e24e25d7eddfd4c3579025a1eee8eac09a48dfd05fba61a2156c56704e7feaa450eb249f7c + languageName: node + linkType: hard + +"saxes@npm:^3.1.9": + version: 3.1.11 + resolution: "saxes@npm:3.1.11" + dependencies: + xmlchars: ^2.1.1 + checksum: 3b69918c013fffae51c561f629a0f620c02dba70f762dab38f3cd92676dfe5edf1f0a523ca567882838f1a80e26e4671a8c2c689afa05c68f45a78261445aba0 + languageName: node + linkType: hard + "saxes@npm:^5.0.1": version: 5.0.1 resolution: "saxes@npm:5.0.1" @@ -9031,7 +11175,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5": +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0": version: 5.7.1 resolution: "semver@npm:5.7.1" bin: @@ -9092,6 +11236,18 @@ __metadata: languageName: node linkType: hard +"set-value@npm:^2.0.0, set-value@npm:^2.0.1": + version: 2.0.1 + resolution: "set-value@npm:2.0.1" + dependencies: + extend-shallow: ^2.0.1 + is-extendable: ^0.1.1 + is-plain-object: ^2.0.3 + split-string: ^3.0.1 + checksum: 09a4bc72c94641aeae950eb60dc2755943b863780fcc32e441eda964b64df5e3f50603d5ebdd33394ede722528bd55ed43aae26e9df469b4d32e2292b427b601 + languageName: node + linkType: hard + "setimmediate@npm:^1.0.5": version: 1.0.5 resolution: "setimmediate@npm:1.0.5" @@ -9111,6 +11267,15 @@ __metadata: languageName: node linkType: hard +"shebang-command@npm:^1.2.0": + version: 1.2.0 + resolution: "shebang-command@npm:1.2.0" + dependencies: + shebang-regex: ^1.0.0 + checksum: 9eed1750301e622961ba5d588af2212505e96770ec376a37ab678f965795e995ade7ed44910f5d3d3cb5e10165a1847f52d3348c64e146b8be922f7707958908 + languageName: node + linkType: hard + "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -9120,6 +11285,13 @@ __metadata: languageName: node linkType: hard +"shebang-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "shebang-regex@npm:1.0.0" + checksum: 404c5a752cd40f94591dfd9346da40a735a05139dac890ffc229afba610854d8799aaa52f87f7e0c94c5007f2c6af55bdcaeb584b56691926c5eaf41dc8f1372 + languageName: node + linkType: hard + "shebang-regex@npm:^3.0.0": version: 3.0.0 resolution: "shebang-regex@npm:3.0.0" @@ -9127,6 +11299,13 @@ __metadata: languageName: node linkType: hard +"shellwords@npm:^0.1.1": + version: 0.1.1 + resolution: "shellwords@npm:0.1.1" + checksum: 8d73a5e9861f5e5f1068e2cfc39bc0002400fe58558ab5e5fa75630d2c3adf44ca1fac81957609c8320d5533e093802fcafc72904bf1a32b95de3c19a0b1c0d4 + languageName: node + linkType: hard + "shiki@npm:^0.10.1": version: 0.10.1 resolution: "shiki@npm:0.10.1" @@ -9156,6 +11335,13 @@ __metadata: languageName: node linkType: hard +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 + languageName: node + linkType: hard + "signal-exit@npm:^3.0.3": version: 3.0.3 resolution: "signal-exit@npm:3.0.3" @@ -9163,13 +11349,6 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.7": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 - languageName: node - linkType: hard - "single-call-balance-checker-abi@npm:^1.0.0": version: 1.0.0 resolution: "single-call-balance-checker-abi@npm:1.0.0" @@ -9223,6 +11402,42 @@ __metadata: languageName: node linkType: hard +"snapdragon-node@npm:^2.0.1": + version: 2.1.1 + resolution: "snapdragon-node@npm:2.1.1" + dependencies: + define-property: ^1.0.0 + isobject: ^3.0.0 + snapdragon-util: ^3.0.1 + checksum: 9bb57d759f9e2a27935dbab0e4a790137adebace832b393e350a8bf5db461ee9206bb642d4fe47568ee0b44080479c8b4a9ad0ebe3712422d77edf9992a672fd + languageName: node + linkType: hard + +"snapdragon-util@npm:^3.0.1": + version: 3.0.1 + resolution: "snapdragon-util@npm:3.0.1" + dependencies: + kind-of: ^3.2.0 + checksum: 684997dbe37ec995c03fd3f412fba2b711fc34cb4010452b7eb668be72e8811a86a12938b511e8b19baf853b325178c56d8b78d655305e5cfb0bb8b21677e7b7 + languageName: node + linkType: hard + +"snapdragon@npm:^0.8.1": + version: 0.8.2 + resolution: "snapdragon@npm:0.8.2" + dependencies: + base: ^0.11.1 + debug: ^2.2.0 + define-property: ^0.2.5 + extend-shallow: ^2.0.1 + map-cache: ^0.2.2 + source-map: ^0.5.6 + source-map-resolve: ^0.5.0 + use: ^3.1.0 + checksum: a197f242a8f48b11036563065b2487e9b7068f50a20dd81d9161eca6af422174fc158b8beeadbe59ce5ef172aa5718143312b3aebaae551c124b7824387c8312 + languageName: node + linkType: hard + "socks-proxy-agent@npm:^7.0.0": version: 7.0.0 resolution: "socks-proxy-agent@npm:7.0.0" @@ -9267,6 +11482,19 @@ __metadata: languageName: node linkType: hard +"source-map-resolve@npm:^0.5.0": + version: 0.5.3 + resolution: "source-map-resolve@npm:0.5.3" + dependencies: + atob: ^2.1.2 + decode-uri-component: ^0.2.0 + resolve-url: ^0.2.1 + source-map-url: ^0.4.0 + urix: ^0.1.0 + checksum: c73fa44ac00783f025f6ad9e038ab1a2e007cd6a6b86f47fe717c3d0765b4a08d264f6966f3bd7cd9dbcd69e4832783d5472e43247775b2a550d6f2155d24bae + languageName: node + linkType: hard + "source-map-support@npm:0.5.13": version: 0.5.13 resolution: "source-map-support@npm:0.5.13" @@ -9277,6 +11505,30 @@ __metadata: languageName: node linkType: hard +"source-map-support@npm:^0.5.6": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: 43e98d700d79af1d36f859bdb7318e601dfc918c7ba2e98456118ebc4c4872b327773e5a1df09b0524e9e5063bb18f0934538eace60cca2710d1fa687645d137 + languageName: node + linkType: hard + +"source-map-url@npm:^0.4.0": + version: 0.4.1 + resolution: "source-map-url@npm:0.4.1" + checksum: 64c5c2c77aff815a6e61a4120c309ae4cac01298d9bcbb3deb1b46a4dd4c46d4a1eaeda79ec9f684766ae80e8dc86367b89326ce9dd2b89947bd9291fc1ac08c + languageName: node + linkType: hard + +"source-map@npm:^0.5.6": + version: 0.5.7 + resolution: "source-map@npm:0.5.7" + checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d + languageName: node + linkType: hard + "source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": version: 0.6.1 resolution: "source-map@npm:0.6.1" @@ -9284,6 +11536,13 @@ __metadata: languageName: node linkType: hard +"source-map@npm:^0.7.3": + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 01cc5a74b1f0e1d626a58d36ad6898ea820567e87f18dfc9d24a9843a351aaa2ec09b87422589906d6ff1deed29693e176194dc88bcae7c9a852dc74b311dbf5 + languageName: node + linkType: hard + "spdx-correct@npm:^3.0.0": version: 3.1.1 resolution: "spdx-correct@npm:3.1.1" @@ -9318,6 +11577,15 @@ __metadata: languageName: node linkType: hard +"split-string@npm:^3.0.1, split-string@npm:^3.0.2": + version: 3.1.0 + resolution: "split-string@npm:3.1.0" + dependencies: + extend-shallow: ^3.0.0 + checksum: ae5af5c91bdc3633628821bde92fdf9492fa0e8a63cf6a0376ed6afde93c701422a1610916f59be61972717070119e848d10dfbbd5024b7729d6a71972d2a84c + languageName: node + linkType: hard + "sprintf-js@npm:~1.0.2": version: 1.0.3 resolution: "sprintf-js@npm:1.0.3" @@ -9355,7 +11623,16 @@ __metadata: languageName: node linkType: hard -"stack-utils@npm:^2.0.3": +"stack-utils@npm:^1.0.1": + version: 1.0.5 + resolution: "stack-utils@npm:1.0.5" + dependencies: + escape-string-regexp: ^2.0.0 + checksum: f82baf8d89536252a55c76866d5be3d04c96b09693a8d2ab3794b9fdec3674e05bd3f3d19345093e2cbba116a1f8f413858e0537bc3c81c605249261c3d26182 + languageName: node + linkType: hard + +"stack-utils@npm:^2.0.2, stack-utils@npm:^2.0.3": version: 2.0.5 resolution: "stack-utils@npm:2.0.5" dependencies: @@ -9364,6 +11641,23 @@ __metadata: languageName: node linkType: hard +"static-extend@npm:^0.1.1": + version: 0.1.2 + resolution: "static-extend@npm:0.1.2" + dependencies: + define-property: ^0.2.5 + object-copy: ^0.1.0 + checksum: 8657485b831f79e388a437260baf22784540417a9b29e11572c87735df24c22b84eda42107403a64b30861b2faf13df9f7fc5525d51f9d1d2303aba5cbf4e12c + languageName: node + linkType: hard + +"stealthy-require@npm:^1.1.1": + version: 1.1.1 + resolution: "stealthy-require@npm:1.1.1" + checksum: 6805b857a9f3a6a1079fc6652278038b81011f2a5b22cbd559f71a6c02087e6f1df941eb10163e3fdc5391ab5807aa46758d4258547c1f5ede31e6d9bfda8dd3 + languageName: node + linkType: hard + "string-length@npm:^4.0.1": version: 4.0.1 resolution: "string-length@npm:4.0.1" @@ -9534,6 +11828,13 @@ __metadata: languageName: node linkType: hard +"strip-eof@npm:^1.0.0": + version: 1.0.0 + resolution: "strip-eof@npm:1.0.0" + checksum: 40bc8ddd7e072f8ba0c2d6d05267b4e0a4800898c3435b5fb5f5a21e6e47dfaff18467e7aa0d1844bb5d6274c3097246595841fbfeb317e541974ee992cac506 + languageName: node + linkType: hard + "strip-final-newline@npm:^2.0.0": version: 2.0.0 resolution: "strip-final-newline@npm:2.0.0" @@ -9601,7 +11902,7 @@ __metadata: languageName: node linkType: hard -"symbol-tree@npm:^3.2.4": +"symbol-tree@npm:^3.2.2, symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" checksum: 6e8fc7e1486b8b54bea91199d9535bb72f10842e40c79e882fc94fb7b14b89866adf2fd79efa5ebb5b658bc07fb459ccce5ac0e99ef3d72f474e74aaf284029d @@ -9662,6 +11963,13 @@ __metadata: languageName: node linkType: hard +"throat@npm:^5.0.0": + version: 5.0.0 + resolution: "throat@npm:5.0.0" + checksum: 031ff7f4431618036c1dedd99c8aa82f5c33077320a8358ed829e84b320783781d1869fe58e8f76e948306803de966f5f7573766a437562c9f5c033297ad2fe2 + languageName: node + linkType: hard + "throat@npm:^6.0.1": version: 6.0.1 resolution: "throat@npm:6.0.1" @@ -9679,7 +11987,7 @@ __metadata: languageName: node linkType: hard -"tmpl@npm:1.0.x": +"tmpl@npm:1.0.5, tmpl@npm:1.0.x": version: 1.0.5 resolution: "tmpl@npm:1.0.5" checksum: cd922d9b853c00fe414c5a774817be65b058d54a2d01ebb415840960406c669a0fc632f66df885e24cb022ec812739199ccbdb8d1164c3e513f85bfca5ab2873 @@ -9693,6 +12001,25 @@ __metadata: languageName: node linkType: hard +"to-object-path@npm:^0.3.0": + version: 0.3.0 + resolution: "to-object-path@npm:0.3.0" + dependencies: + kind-of: ^3.0.2 + checksum: 9425effee5b43e61d720940fa2b889623f77473d459c2ce3d4a580a4405df4403eec7be6b857455908070566352f9e2417304641ed158dda6f6a365fe3e66d70 + languageName: node + linkType: hard + +"to-regex-range@npm:^2.1.0": + version: 2.1.1 + resolution: "to-regex-range@npm:2.1.1" + dependencies: + is-number: ^3.0.0 + repeat-string: ^1.6.1 + checksum: 46093cc14be2da905cc931e442d280b2e544e2bfdb9a24b3cf821be8d342f804785e5736c108d5be026021a05d7b38144980a61917eee3c88de0a5e710e10320 + languageName: node + linkType: hard + "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" @@ -9702,6 +12029,39 @@ __metadata: languageName: node linkType: hard +"to-regex@npm:^3.0.1, to-regex@npm:^3.0.2": + version: 3.0.2 + resolution: "to-regex@npm:3.0.2" + dependencies: + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + regex-not: ^1.0.2 + safe-regex: ^1.1.0 + checksum: 4ed4a619059b64e204aad84e4e5f3ea82d97410988bcece7cf6cbfdbf193d11bff48cf53842d88b8bb00b1bfc0d048f61f20f0709e6f393fd8fe0122662d9db4 + languageName: node + linkType: hard + +"tough-cookie@npm:^2.3.3, tough-cookie@npm:~2.5.0": + version: 2.5.0 + resolution: "tough-cookie@npm:2.5.0" + dependencies: + psl: ^1.1.28 + punycode: ^2.1.1 + checksum: 16a8cd090224dd176eee23837cbe7573ca0fa297d7e468ab5e1c02d49a4e9a97bb05fef11320605eac516f91d54c57838a25864e8680e27b069a5231d8264977 + languageName: node + linkType: hard + +"tough-cookie@npm:^3.0.1": + version: 3.0.1 + resolution: "tough-cookie@npm:3.0.1" + dependencies: + ip-regex: ^2.1.0 + psl: ^1.1.28 + punycode: ^2.1.1 + checksum: 796f6239bce5674a1267b19f41972a2602a2a23715817237b5922b0dc2343512512eea7d41d29210a4ec545f8ef32173bbbf01277dd8ec3ae3841b19cbe69f67 + languageName: node + linkType: hard + "tough-cookie@npm:^4.0.0": version: 4.0.0 resolution: "tough-cookie@npm:4.0.0" @@ -9713,22 +12073,21 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:~2.5.0": - version: 2.5.0 - resolution: "tough-cookie@npm:2.5.0" +"tr46@npm:^1.0.1": + version: 1.0.1 + resolution: "tr46@npm:1.0.1" dependencies: - psl: ^1.1.28 - punycode: ^2.1.1 - checksum: 16a8cd090224dd176eee23837cbe7573ca0fa297d7e468ab5e1c02d49a4e9a97bb05fef11320605eac516f91d54c57838a25864e8680e27b069a5231d8264977 + punycode: ^2.1.0 + checksum: 96d4ed46bc161db75dbf9247a236ea0bfcaf5758baae6749e92afab0bc5a09cb59af21788ede7e55080f2bf02dce3e4a8f2a484cc45164e29f4b5e68f7cbcc1a languageName: node linkType: hard -"tr46@npm:^3.0.0": - version: 3.0.0 - resolution: "tr46@npm:3.0.0" +"tr46@npm:^2.1.0": + version: 2.1.0 + resolution: "tr46@npm:2.1.0" dependencies: punycode: ^2.1.1 - checksum: 44c3cc6767fb800490e6e9fd64fd49041aa4e49e1f6a012b34a75de739cc9ed3a6405296072c1df8b6389ae139c5e7c6496f659cfe13a04a4bff3a1422981270 + checksum: ffe6049b9dca3ae329b059aada7f515b0f0064c611b39b51ff6b53897e954650f6f63d9319c6c008d36ead477c7b55e5f64c9dc60588ddc91ff720d64eb710b3 languageName: node linkType: hard @@ -9746,36 +12105,26 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:^28.0.2": - version: 28.0.2 - resolution: "ts-jest@npm:28.0.2" +"ts-jest@npm:^26.5.2": + version: 26.5.6 + resolution: "ts-jest@npm:26.5.6" dependencies: bs-logger: 0.x + buffer-from: 1.x fast-json-stable-stringify: 2.x - jest-util: ^28.0.0 + jest-util: ^26.1.0 json5: 2.x - lodash.memoize: 4.x + lodash: 4.x make-error: 1.x + mkdirp: 1.x semver: 7.x - yargs-parser: ^20.x + yargs-parser: 20.x peerDependencies: - "@babel/core": ">=7.0.0-beta.0 <8" - "@types/jest": ^27.0.0 - babel-jest: ^28.0.0 - jest: ^28.0.0 - typescript: ">=4.3" - peerDependenciesMeta: - "@babel/core": - optional: true - "@types/jest": - optional: true - babel-jest: - optional: true - esbuild: - optional: true + jest: ">=26 <27" + typescript: ">=3.8 <5.0" bin: ts-jest: cli.js - checksum: bb244015f947cf9a77c892691a8131116a86f4f1cc7a1ff045cd72f78c16485c07ac582b31117f8d722a0ebb9d51c27468c28e2f8eec8bbae6e2a09ee41066f2 + checksum: 6f65ad4fe67ab3f0fd4c7f9954acbee863af05b2b3f88dd0f490bbcdc58002960fac908b2cb9f009ec14da6fe13cb00a39e291260d6e555abe72448d1c0a017f languageName: node linkType: hard @@ -9934,6 +12283,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^0.6.0": + version: 0.6.0 + resolution: "type-fest@npm:0.6.0" + checksum: b2188e6e4b21557f6e92960ec496d28a51d68658018cba8b597bd3ef757721d1db309f120ae987abeeda874511d14b776157ff809f23c6d1ce8f83b9b2b7d60f + languageName: node + linkType: hard + "type-fest@npm:^0.8.1": version: 0.8.1 resolution: "type-fest@npm:0.8.1" @@ -9941,6 +12297,15 @@ __metadata: languageName: node linkType: hard +"typedarray-to-buffer@npm:^3.1.5": + version: 3.1.5 + resolution: "typedarray-to-buffer@npm:3.1.5" + dependencies: + is-typedarray: ^1.0.0 + checksum: 99c11aaa8f45189fcfba6b8a4825fd684a321caa9bd7a76a27cf0c7732c174d198b99f449c52c3818107430b5f41c0ccbbfb75cb2ee3ca4a9451710986d61a60 + languageName: node + linkType: hard + "typedoc-plugin-missing-exports@npm:^0.22.6": version: 0.22.6 resolution: "typedoc-plugin-missing-exports@npm:0.22.6" @@ -9999,6 +12364,18 @@ __metadata: languageName: node linkType: hard +"union-value@npm:^1.0.0": + version: 1.0.1 + resolution: "union-value@npm:1.0.1" + dependencies: + arr-union: ^3.1.0 + get-value: ^2.0.6 + is-extendable: ^0.1.1 + set-value: ^2.0.1 + checksum: a3464097d3f27f6aa90cf103ed9387541bccfc006517559381a10e0dffa62f465a9d9a09c9b9c3d26d0f4cbe61d4d010e2fbd710fd4bf1267a768ba8a774b0ba + languageName: node + linkType: hard + "unique-filename@npm:^1.1.1": version: 1.1.1 resolution: "unique-filename@npm:1.1.1" @@ -10024,6 +12401,16 @@ __metadata: languageName: node linkType: hard +"unset-value@npm:^1.0.0": + version: 1.0.0 + resolution: "unset-value@npm:1.0.0" + dependencies: + has-value: ^0.3.1 + isobject: ^3.0.0 + checksum: 5990ecf660672be2781fc9fb322543c4aa592b68ed9a3312fa4df0e9ba709d42e823af090fc8f95775b4cd2c9a5169f7388f0cec39238b6d0d55a69fc2ab6b29 + languageName: node + linkType: hard + "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -10033,6 +12420,20 @@ __metadata: languageName: node linkType: hard +"urix@npm:^0.1.0": + version: 0.1.0 + resolution: "urix@npm:0.1.0" + checksum: 4c076ecfbf3411e888547fe844e52378ab5ada2d2f27625139011eada79925e77f7fbf0e4016d45e6a9e9adb6b7e64981bd49b22700c7c401c5fc15f423303b3 + languageName: node + linkType: hard + +"use@npm:^3.1.0": + version: 3.1.1 + resolution: "use@npm:3.1.1" + checksum: 08a130289f5238fcbf8f59a18951286a6e660d17acccc9d58d9b69dfa0ee19aa038e8f95721b00b432c36d1629a9e32a464bf2e7e0ae6a244c42ddb30bdd8b33 + languageName: node + linkType: hard + "utf8@npm:^2.1.1": version: 2.1.2 resolution: "utf8@npm:2.1.2" @@ -10077,7 +12478,7 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^8.3.2": +"uuid@npm:^8.3.0, uuid@npm:^8.3.2": version: 8.3.2 resolution: "uuid@npm:8.3.2" bin: @@ -10100,6 +12501,17 @@ __metadata: languageName: node linkType: hard +"v8-to-istanbul@npm:^7.0.0": + version: 7.1.2 + resolution: "v8-to-istanbul@npm:7.1.2" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.1 + convert-source-map: ^1.6.0 + source-map: ^0.7.3 + checksum: e52b48764f55aed62ff87f2b5f710c874f992cd1313eac8f438bf65aeeb0689153d85bb76e39514fd90ba3521d6ebea929a8ae1339b6d7b0cf18fb0ed13d8b40 + languageName: node + linkType: hard + "v8-to-istanbul@npm:^9.0.0": version: 9.0.0 resolution: "v8-to-istanbul@npm:9.0.0" @@ -10146,7 +12558,7 @@ __metadata: languageName: node linkType: hard -"w3c-hr-time@npm:^1.0.2": +"w3c-hr-time@npm:^1.0.1, w3c-hr-time@npm:^1.0.2": version: 1.0.2 resolution: "w3c-hr-time@npm:1.0.2" dependencies: @@ -10155,12 +12567,23 @@ __metadata: languageName: node linkType: hard -"w3c-xmlserializer@npm:^3.0.0": - version: 3.0.0 - resolution: "w3c-xmlserializer@npm:3.0.0" +"w3c-xmlserializer@npm:^1.1.2": + version: 1.1.2 + resolution: "w3c-xmlserializer@npm:1.1.2" + dependencies: + domexception: ^1.0.1 + webidl-conversions: ^4.0.2 + xml-name-validator: ^3.0.0 + checksum: 1683e083d0dfc1529988f8956510a3a26e90738b41c4df0c7eb95283bfbeabeb492308117dcd32afef2a141e2a959ddf10ce562983d91b9f474a530b9dcdd337 + languageName: node + linkType: hard + +"w3c-xmlserializer@npm:^2.0.0": + version: 2.0.0 + resolution: "w3c-xmlserializer@npm:2.0.0" dependencies: - xml-name-validator: ^4.0.0 - checksum: 0af8589942eeb11c9fe29eb31a1a09f3d5dd136aea53a9848dfbabff79ac0dd26fe13eb54d330d5555fe27bb50b28dca0715e09f9cc2bfa7670ccc8b7f919ca2 + xml-name-validator: ^3.0.0 + checksum: ae25c51cf71f1fb2516df1ab33a481f83461a117565b95e3d0927432522323f93b1b2846cbb60196d337970c421adb604fc2d0d180c6a47a839da01db5b9973b languageName: node linkType: hard @@ -10173,6 +12596,15 @@ __metadata: languageName: node linkType: hard +"walker@npm:~1.0.5": + version: 1.0.8 + resolution: "walker@npm:1.0.8" + dependencies: + makeerror: 1.0.12 + checksum: ad7a257ea1e662e57ef2e018f97b3c02a7240ad5093c392186ce0bcf1f1a60bbadd520d073b9beb921ed99f64f065efb63dfc8eec689a80e569f93c1c5d5e16c + languageName: node + linkType: hard + "web3-provider-engine@npm:^16.0.3": version: 16.0.4 resolution: "web3-provider-engine@npm:16.0.4" @@ -10222,19 +12654,33 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^7.0.0": - version: 7.0.0 - resolution: "webidl-conversions@npm:7.0.0" - checksum: f05588567a2a76428515333eff87200fae6c83c3948a7482ebb109562971e77ef6dc49749afa58abb993391227c5697b3ecca52018793e0cb4620a48f10bd21b +"webidl-conversions@npm:^4.0.2": + version: 4.0.2 + resolution: "webidl-conversions@npm:4.0.2" + checksum: c93d8dfe908a0140a4ae9c0ebc87a33805b416a33ee638a605b551523eec94a9632165e54632f6d57a39c5f948c4bab10e0e066525e9a4b87a79f0d04fbca374 languageName: node linkType: hard -"whatwg-encoding@npm:^2.0.0": - version: 2.0.0 - resolution: "whatwg-encoding@npm:2.0.0" +"webidl-conversions@npm:^5.0.0": + version: 5.0.0 + resolution: "webidl-conversions@npm:5.0.0" + checksum: ccf1ec2ca7c0b5671e5440ace4a66806ae09c49016ab821481bec0c05b1b82695082dc0a27d1fe9d804d475a408ba0c691e6803fd21be608e710955d4589cd69 + languageName: node + linkType: hard + +"webidl-conversions@npm:^6.1.0": + version: 6.1.0 + resolution: "webidl-conversions@npm:6.1.0" + checksum: 1f526507aa491f972a0c1409d07f8444e1d28778dfa269a9971f2e157182f3d496dc33296e4ed45b157fdb3bf535bb90c90bf10c50dcf1dd6caacb2a34cc84fb + languageName: node + linkType: hard + +"whatwg-encoding@npm:^1.0.1, whatwg-encoding@npm:^1.0.5": + version: 1.0.5 + resolution: "whatwg-encoding@npm:1.0.5" dependencies: - iconv-lite: 0.6.3 - checksum: 7087810c410aa9b689cbd6af8773341a53cdc1f3aae2a882c163bd5522ec8ca4cdfc269aef417a5792f411807d5d77d50df4c24e3abb00bb60192858a40cc675 + iconv-lite: 0.4.24 + checksum: 5be4efe111dce29ddee3448d3915477fcc3b28f991d9cf1300b4e50d6d189010d47bca2f51140a844cf9b726e8f066f4aee72a04d687bfe4f2ee2767b2f5b1e6 languageName: node linkType: hard @@ -10245,40 +12691,42 @@ __metadata: languageName: node linkType: hard -"whatwg-mimetype@npm:^3.0.0": - version: 3.0.0 - resolution: "whatwg-mimetype@npm:3.0.0" - checksum: ce08bbb36b6aaf64f3a84da89707e3e6a31e5ab1c1a2379fd68df79ba712a4ab090904f0b50e6693b0dafc8e6343a6157e40bf18fdffd26e513cf95ee2a59824 +"whatwg-mimetype@npm:^2.2.0, whatwg-mimetype@npm:^2.3.0": + version: 2.3.0 + resolution: "whatwg-mimetype@npm:2.3.0" + checksum: 23eb885940bcbcca4ff841c40a78e9cbb893ec42743993a42bf7aed16085b048b44b06f3402018931687153550f9a32d259dfa524e4f03577ab898b6965e5383 languageName: node linkType: hard -"whatwg-url@npm:^10.0.0": - version: 10.0.0 - resolution: "whatwg-url@npm:10.0.0" +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" dependencies: - tr46: ^3.0.0 - webidl-conversions: ^7.0.0 - checksum: a21ec309c5cc743fe9414509408bedf65eaf0fb5c17ac66baa08ef12fce16da4dd30ce90abefbd5a716408301c58a73666dabfd5042cf4242992eb98b954f861 + tr46: ~0.0.3 + webidl-conversions: ^3.0.0 + checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c languageName: node linkType: hard -"whatwg-url@npm:^11.0.0": - version: 11.0.0 - resolution: "whatwg-url@npm:11.0.0" +"whatwg-url@npm:^7.0.0": + version: 7.1.0 + resolution: "whatwg-url@npm:7.1.0" dependencies: - tr46: ^3.0.0 - webidl-conversions: ^7.0.0 - checksum: ed4826aaa57e66bb3488a4b25c9cd476c46ba96052747388b5801f137dd740b73fde91ad207d96baf9f17fbcc80fc1a477ad65181b5eb5fa718d27c69501d7af + lodash.sortby: ^4.7.0 + tr46: ^1.0.1 + webidl-conversions: ^4.0.2 + checksum: fecb07c87290b47d2ec2fb6d6ca26daad3c9e211e0e531dd7566e7ff95b5b3525a57d4f32640ad4adf057717e0c215731db842ad761e61d947e81010e05cf5fd languageName: node linkType: hard -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" +"whatwg-url@npm:^8.0.0, whatwg-url@npm:^8.5.0": + version: 8.7.0 + resolution: "whatwg-url@npm:8.7.0" dependencies: - tr46: ~0.0.3 - webidl-conversions: ^3.0.0 - checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c + lodash: ^4.7.0 + tr46: ^2.1.0 + webidl-conversions: ^6.1.0 + checksum: a87abcc6cefcece5311eb642858c8fdb234e51ec74196bfacf8def2edae1bfbffdf6acb251646ed6301f8cee44262642d8769c707256125a91387e33f405dd1e languageName: node linkType: hard @@ -10295,6 +12743,13 @@ __metadata: languageName: node linkType: hard +"which-module@npm:^2.0.0": + version: 2.0.0 + resolution: "which-module@npm:2.0.0" + checksum: 809f7fd3dfcb2cdbe0180b60d68100c88785084f8f9492b0998c051d7a8efe56784492609d3f09ac161635b78ea29219eb1418a98c15ce87d085bce905705c9c + languageName: node + linkType: hard + "which-typed-array@npm:^1.1.2": version: 1.1.8 resolution: "which-typed-array@npm:1.1.8" @@ -10309,6 +12764,17 @@ __metadata: languageName: node linkType: hard +"which@npm:^1.2.9": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: ^2.0.0 + bin: + which: ./bin/which + checksum: f2e185c6242244b8426c9df1510e86629192d93c1a986a7d2a591f2c24869e7ffd03d6dac07ca863b2e4c06f59a4cc9916c585b72ee9fa1aa609d0124df15e04 + languageName: node + linkType: hard + "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -10352,6 +12818,17 @@ __metadata: languageName: node linkType: hard +"wrap-ansi@npm:^6.2.0": + version: 6.2.0 + resolution: "wrap-ansi@npm:6.2.0" + dependencies: + ansi-styles: ^4.0.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + checksum: 6cd96a410161ff617b63581a08376f0cb9162375adeb7956e10c8cd397821f7eb2a6de24eb22a0b28401300bf228c86e50617cd568209b5f6775b93c97d2fe3a + languageName: node + linkType: hard + "wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -10370,6 +12847,18 @@ __metadata: languageName: node linkType: hard +"write-file-atomic@npm:^3.0.0": + version: 3.0.3 + resolution: "write-file-atomic@npm:3.0.3" + dependencies: + imurmurhash: ^0.1.4 + is-typedarray: ^1.0.0 + signal-exit: ^3.0.2 + typedarray-to-buffer: ^3.1.5 + checksum: c55b24617cc61c3a4379f425fc62a386cc51916a9b9d993f39734d005a09d5a4bb748bc251f1304e7abd71d0a26d339996c275955f527a131b1dcded67878280 + languageName: node + linkType: hard + "write-file-atomic@npm:^4.0.1": version: 4.0.1 resolution: "write-file-atomic@npm:4.0.1" @@ -10404,9 +12893,9 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.2.3": - version: 8.6.0 - resolution: "ws@npm:8.6.0" +"ws@npm:^7.0.0, ws@npm:^7.4.6": + version: 7.5.8 + resolution: "ws@npm:7.5.8" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -10415,7 +12904,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: e2fca82059f1e087d0c78e2f37135e1b8332bc804fce46f83c2db1cb8571685abf9d2c99b964bab3752536ad90b99b46fb8d1428899aed3e560684ab4641bffd + checksum: 49479ccf3ddab6500c5906fbcc316e9c8cd44b0ffb3903a6c1caf9b38cb9e06691685722a4c642cfa7d4c6eb390424fc3142cd4f8b940cfc7a9ce9761b1cd65b languageName: node linkType: hard @@ -10447,14 +12936,14 @@ __metadata: languageName: node linkType: hard -"xml-name-validator@npm:^4.0.0": - version: 4.0.0 - resolution: "xml-name-validator@npm:4.0.0" - checksum: af100b79c29804f05fa35aa3683e29a321db9b9685d5e5febda3fa1e40f13f85abc40f45a6b2bf7bee33f68a1dc5e8eaef4cec100a304a9db565e6061d4cb5ad +"xml-name-validator@npm:^3.0.0": + version: 3.0.0 + resolution: "xml-name-validator@npm:3.0.0" + checksum: b3ac459afed783c285bb98e4960bd1f3ba12754fd4f2320efa0f9181ca28928c53cc75ca660d15d205e81f92304419afe94c531c7cfb3e0649aa6d140d53ecb0 languageName: node linkType: hard -"xmlchars@npm:^2.2.0": +"xmlchars@npm:^2.1.1, xmlchars@npm:^2.2.0": version: 2.2.0 resolution: "xmlchars@npm:2.2.0" checksum: 8c70ac94070ccca03f47a81fcce3b271bd1f37a591bf5424e787ae313fcb9c212f5f6786e1fa82076a2c632c0141552babcd85698c437506dfa6ae2d58723062 @@ -10484,6 +12973,13 @@ __metadata: languageName: node linkType: hard +"y18n@npm:^4.0.0": + version: 4.0.3 + resolution: "y18n@npm:4.0.3" + checksum: 014dfcd9b5f4105c3bb397c1c8c6429a9df004aa560964fb36732bfb999bfe83d45ae40aeda5b55d21b1ee53d8291580a32a756a443e064317953f08025b1aa4 + languageName: node + linkType: hard + "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" @@ -10498,6 +12994,23 @@ __metadata: languageName: node linkType: hard +"yargs-parser@npm:20.x": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 + languageName: node + linkType: hard + +"yargs-parser@npm:^18.1.2": + version: 18.1.3 + resolution: "yargs-parser@npm:18.1.3" + dependencies: + camelcase: ^5.0.0 + decamelize: ^1.2.0 + checksum: 60e8c7d1b85814594d3719300ecad4e6ae3796748b0926137bfec1f3042581b8646d67e83c6fc80a692ef08b8390f21ddcacb9464476c39bbdf52e34961dd4d9 + languageName: node + linkType: hard + "yargs-parser@npm:^20.2.2": version: 20.2.7 resolution: "yargs-parser@npm:20.2.7" @@ -10505,13 +13018,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^20.x": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 - languageName: node - linkType: hard - "yargs-parser@npm:^21.0.0": version: 21.0.1 resolution: "yargs-parser@npm:21.0.1" @@ -10519,6 +13025,25 @@ __metadata: languageName: node linkType: hard +"yargs@npm:^15.4.1": + version: 15.4.1 + resolution: "yargs@npm:15.4.1" + dependencies: + cliui: ^6.0.0 + decamelize: ^1.2.0 + find-up: ^4.1.0 + get-caller-file: ^2.0.1 + require-directory: ^2.1.1 + require-main-filename: ^2.0.0 + set-blocking: ^2.0.0 + string-width: ^4.2.0 + which-module: ^2.0.0 + y18n: ^4.0.0 + yargs-parser: ^18.1.2 + checksum: 40b974f508d8aed28598087720e086ecd32a5fd3e945e95ea4457da04ee9bdb8bdd17fd91acff36dc5b7f0595a735929c514c40c402416bbb87c03f6fb782373 + languageName: node + linkType: hard + "yargs@npm:^16.2.0": version: 16.2.0 resolution: "yargs@npm:16.2.0" From be2bbe17c5a97d18b64ebc127f19875e86a9fee3 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 13 Jun 2022 15:30:02 -0500 Subject: [PATCH 007/115] Simplify build:clean command --- package.json | 2 +- scripts/clean-build.sh | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) delete mode 100755 scripts/clean-build.sh diff --git a/package.json b/package.json index 18b1b40a9e..d8cde50063 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ ], "scripts": { "build": "tsc --build tsconfig.build.json --verbose", - "build:clean": "./scripts/clean-build.sh", + "build:clean": "yarn rimraf './**/*.tsbuildinfo' './dist'", "build:watch": "yarn build --watch", "doc": "typedoc && touch docs/.nojekyll", "lint": "yarn lint:eslint && yarn lint:misc --check", diff --git a/scripts/clean-build.sh b/scripts/clean-build.sh deleted file mode 100755 index ea914103c5..0000000000 --- a/scripts/clean-build.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -exec find packages \( -name dist -or -name tsconfig.tsbuildinfo -or -name tsconfig.build.tsbuildinfo \) -print0 | xargs -I {} -0 rm -rf {} From 25916fd81f26f215448cf841d83f23190816e712 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 13 Jun 2022 15:34:42 -0500 Subject: [PATCH 008/115] Simplify globs in tsconfigs --- packages/announcement-controller/tsconfig.build.json | 2 +- packages/announcement-controller/tsconfig.json | 2 +- packages/announcement-controller/tsconfig.test.json | 2 +- packages/approval-controller/tsconfig.build.json | 2 +- packages/approval-controller/tsconfig.json | 2 +- packages/approval-controller/tsconfig.test.json | 2 +- packages/assets-controllers/tsconfig.build.json | 2 +- packages/assets-controllers/tsconfig.json | 2 +- packages/assets-controllers/tsconfig.test.json | 2 +- packages/base-controller/tsconfig.build.json | 2 +- packages/base-controller/tsconfig.json | 2 +- packages/base-controller/tsconfig.test.json | 2 +- packages/composable-controller/tsconfig.build.json | 2 +- packages/composable-controller/tsconfig.json | 2 +- packages/composable-controller/tsconfig.test.json | 2 +- packages/controller-utils/tsconfig.build.json | 2 +- packages/controller-utils/tsconfig.json | 2 +- packages/controller-utils/tsconfig.test.json | 2 +- packages/gas-fee-controller/tsconfig.build.json | 2 +- packages/gas-fee-controller/tsconfig.json | 2 +- packages/gas-fee-controller/tsconfig.test.json | 2 +- packages/keyring-controller/tsconfig.build.json | 2 +- packages/keyring-controller/tsconfig.json | 2 +- packages/keyring-controller/tsconfig.test.json | 2 +- packages/message-manager/tsconfig.build.json | 2 +- packages/message-manager/tsconfig.json | 2 +- packages/message-manager/tsconfig.test.json | 2 +- packages/network-controller/tsconfig.build.json | 2 +- packages/network-controller/tsconfig.json | 2 +- packages/network-controller/tsconfig.test.json | 2 +- packages/notification-controller/tsconfig.build.json | 2 +- packages/notification-controller/tsconfig.json | 2 +- packages/notification-controller/tsconfig.test.json | 2 +- packages/permission-controller/tsconfig.build.json | 2 +- packages/permission-controller/tsconfig.json | 2 +- packages/permission-controller/tsconfig.test.json | 2 +- packages/rate-limit-controller/tsconfig.build.json | 2 +- packages/rate-limit-controller/tsconfig.json | 2 +- packages/rate-limit-controller/tsconfig.test.json | 2 +- packages/subject-metadata-controller/tsconfig.build.json | 2 +- packages/subject-metadata-controller/tsconfig.json | 2 +- packages/subject-metadata-controller/tsconfig.test.json | 2 +- packages/third-party-controllers/tsconfig.build.json | 2 +- packages/third-party-controllers/tsconfig.json | 2 +- packages/third-party-controllers/tsconfig.test.json | 2 +- packages/transaction-controller/tsconfig.build.json | 2 +- packages/transaction-controller/tsconfig.json | 2 +- packages/transaction-controller/tsconfig.test.json | 2 +- packages/user-controllers/tsconfig.build.json | 2 +- packages/user-controllers/tsconfig.json | 2 +- packages/user-controllers/tsconfig.test.json | 2 +- 51 files changed, 51 insertions(+), 51 deletions(-) diff --git a/packages/announcement-controller/tsconfig.build.json b/packages/announcement-controller/tsconfig.build.json index b5e7237ece..e5fd7422b9 100644 --- a/packages/announcement-controller/tsconfig.build.json +++ b/packages/announcement-controller/tsconfig.build.json @@ -6,5 +6,5 @@ "rootDir": "./src" }, "references": [{ "path": "../base-controller/tsconfig.build.json" }], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/announcement-controller/tsconfig.json b/packages/announcement-controller/tsconfig.json index 9dbc0cf335..34354c4b09 100644 --- a/packages/announcement-controller/tsconfig.json +++ b/packages/announcement-controller/tsconfig.json @@ -4,5 +4,5 @@ "baseUrl": "./" }, "references": [{ "path": "../base-controller" }], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/announcement-controller/tsconfig.test.json b/packages/announcement-controller/tsconfig.test.json index 642abfdf51..e717cbcf4c 100644 --- a/packages/announcement-controller/tsconfig.test.json +++ b/packages/announcement-controller/tsconfig.test.json @@ -4,5 +4,5 @@ "baseUrl": "./" }, "references": [{ "path": "../base-controller" }], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/approval-controller/tsconfig.build.json b/packages/approval-controller/tsconfig.build.json index b5e7237ece..e5fd7422b9 100644 --- a/packages/approval-controller/tsconfig.build.json +++ b/packages/approval-controller/tsconfig.build.json @@ -6,5 +6,5 @@ "rootDir": "./src" }, "references": [{ "path": "../base-controller/tsconfig.build.json" }], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/approval-controller/tsconfig.json b/packages/approval-controller/tsconfig.json index 9dbc0cf335..34354c4b09 100644 --- a/packages/approval-controller/tsconfig.json +++ b/packages/approval-controller/tsconfig.json @@ -4,5 +4,5 @@ "baseUrl": "./" }, "references": [{ "path": "../base-controller" }], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/approval-controller/tsconfig.test.json b/packages/approval-controller/tsconfig.test.json index 642abfdf51..e717cbcf4c 100644 --- a/packages/approval-controller/tsconfig.test.json +++ b/packages/approval-controller/tsconfig.test.json @@ -4,5 +4,5 @@ "baseUrl": "./" }, "references": [{ "path": "../base-controller" }], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/assets-controllers/tsconfig.build.json b/packages/assets-controllers/tsconfig.build.json index 9bf34e6999..ed14b986f7 100644 --- a/packages/assets-controllers/tsconfig.build.json +++ b/packages/assets-controllers/tsconfig.build.json @@ -11,5 +11,5 @@ { "path": "../network-controller/tsconfig.build.json" }, { "path": "../user-controllers/tsconfig.build.json" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/assets-controllers/tsconfig.json b/packages/assets-controllers/tsconfig.json index bb860cb5ee..bd417c6424 100644 --- a/packages/assets-controllers/tsconfig.json +++ b/packages/assets-controllers/tsconfig.json @@ -9,5 +9,5 @@ { "path": "../network-controller" }, { "path": "../user-controllers" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/assets-controllers/tsconfig.test.json b/packages/assets-controllers/tsconfig.test.json index 634c0b7e28..a5459670f6 100644 --- a/packages/assets-controllers/tsconfig.test.json +++ b/packages/assets-controllers/tsconfig.test.json @@ -9,5 +9,5 @@ { "path": "../network-controller" }, { "path": "../user-controllers" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/base-controller/tsconfig.build.json b/packages/base-controller/tsconfig.build.json index d5b9acb758..0df910b215 100644 --- a/packages/base-controller/tsconfig.build.json +++ b/packages/base-controller/tsconfig.build.json @@ -5,5 +5,5 @@ "outDir": "./dist", "rootDir": "./src" }, - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/base-controller/tsconfig.json b/packages/base-controller/tsconfig.json index 76a00b2242..ee9de925a2 100644 --- a/packages/base-controller/tsconfig.json +++ b/packages/base-controller/tsconfig.json @@ -3,5 +3,5 @@ "compilerOptions": { "baseUrl": "./" }, - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/base-controller/tsconfig.test.json b/packages/base-controller/tsconfig.test.json index 64b943f524..7112d5ed29 100644 --- a/packages/base-controller/tsconfig.test.json +++ b/packages/base-controller/tsconfig.test.json @@ -3,5 +3,5 @@ "compilerOptions": { "baseUrl": "./" }, - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/composable-controller/tsconfig.build.json b/packages/composable-controller/tsconfig.build.json index 240997700a..17dac80fc0 100644 --- a/packages/composable-controller/tsconfig.build.json +++ b/packages/composable-controller/tsconfig.build.json @@ -12,5 +12,5 @@ { "path": "../third-party-controllers/tsconfig.build.json" }, { "path": "../user-controllers/tsconfig.build.json" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/composable-controller/tsconfig.json b/packages/composable-controller/tsconfig.json index b979310bb8..196f9c3637 100644 --- a/packages/composable-controller/tsconfig.json +++ b/packages/composable-controller/tsconfig.json @@ -10,5 +10,5 @@ { "path": "../third-party-controllers" }, { "path": "../user-controllers" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/composable-controller/tsconfig.test.json b/packages/composable-controller/tsconfig.test.json index 01fc0d7afa..849ad6af79 100644 --- a/packages/composable-controller/tsconfig.test.json +++ b/packages/composable-controller/tsconfig.test.json @@ -10,5 +10,5 @@ { "path": "../third-party-controllers" }, { "path": "../user-controllers" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/controller-utils/tsconfig.build.json b/packages/controller-utils/tsconfig.build.json index b5e7237ece..e5fd7422b9 100644 --- a/packages/controller-utils/tsconfig.build.json +++ b/packages/controller-utils/tsconfig.build.json @@ -6,5 +6,5 @@ "rootDir": "./src" }, "references": [{ "path": "../base-controller/tsconfig.build.json" }], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/controller-utils/tsconfig.json b/packages/controller-utils/tsconfig.json index 9dbc0cf335..34354c4b09 100644 --- a/packages/controller-utils/tsconfig.json +++ b/packages/controller-utils/tsconfig.json @@ -4,5 +4,5 @@ "baseUrl": "./" }, "references": [{ "path": "../base-controller" }], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/controller-utils/tsconfig.test.json b/packages/controller-utils/tsconfig.test.json index 642abfdf51..e717cbcf4c 100644 --- a/packages/controller-utils/tsconfig.test.json +++ b/packages/controller-utils/tsconfig.test.json @@ -4,5 +4,5 @@ "baseUrl": "./" }, "references": [{ "path": "../base-controller" }], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/gas-fee-controller/tsconfig.build.json b/packages/gas-fee-controller/tsconfig.build.json index d851ae9cc7..ac0df4920c 100644 --- a/packages/gas-fee-controller/tsconfig.build.json +++ b/packages/gas-fee-controller/tsconfig.build.json @@ -10,5 +10,5 @@ { "path": "../controller-utils/tsconfig.build.json" }, { "path": "../network-controller/tsconfig.build.json" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/gas-fee-controller/tsconfig.json b/packages/gas-fee-controller/tsconfig.json index 3fbbfa075d..4bbb0be81b 100644 --- a/packages/gas-fee-controller/tsconfig.json +++ b/packages/gas-fee-controller/tsconfig.json @@ -8,5 +8,5 @@ { "path": "../controller-utils" }, { "path": "../network-controller" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/gas-fee-controller/tsconfig.test.json b/packages/gas-fee-controller/tsconfig.test.json index 06ec9145ea..b5ecb34cc2 100644 --- a/packages/gas-fee-controller/tsconfig.test.json +++ b/packages/gas-fee-controller/tsconfig.test.json @@ -8,5 +8,5 @@ { "path": "../controller-utils" }, { "path": "../network-controller" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/keyring-controller/tsconfig.build.json b/packages/keyring-controller/tsconfig.build.json index 5ffb14732f..3e916145dd 100644 --- a/packages/keyring-controller/tsconfig.build.json +++ b/packages/keyring-controller/tsconfig.build.json @@ -11,5 +11,5 @@ { "path": "../message-manager/tsconfig.build.json" }, { "path": "../user-controllers/tsconfig.build.json" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/keyring-controller/tsconfig.json b/packages/keyring-controller/tsconfig.json index 0cb6ecf089..55b15ec749 100644 --- a/packages/keyring-controller/tsconfig.json +++ b/packages/keyring-controller/tsconfig.json @@ -9,5 +9,5 @@ { "path": "../message-manager" }, { "path": "../user-controllers" } ], - "include": ["../../types/**/*", "./src/**/*", "./tests/**/*"] + "include": ["../../types", "./src", "./tests"] } diff --git a/packages/keyring-controller/tsconfig.test.json b/packages/keyring-controller/tsconfig.test.json index d8cb3660f1..c073248b09 100644 --- a/packages/keyring-controller/tsconfig.test.json +++ b/packages/keyring-controller/tsconfig.test.json @@ -9,5 +9,5 @@ { "path": "../message-manager" }, { "path": "../user-controllers" } ], - "include": ["../../types/**/*", "./src/**/*", "./tests/**/*"] + "include": ["../../types", "./src", "./tests"] } diff --git a/packages/message-manager/tsconfig.build.json b/packages/message-manager/tsconfig.build.json index f9b513ee62..bbfe057a20 100644 --- a/packages/message-manager/tsconfig.build.json +++ b/packages/message-manager/tsconfig.build.json @@ -9,5 +9,5 @@ { "path": "../base-controller/tsconfig.build.json" }, { "path": "../controller-utils/tsconfig.build.json" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/message-manager/tsconfig.json b/packages/message-manager/tsconfig.json index 56d577a8b6..7ee9852347 100644 --- a/packages/message-manager/tsconfig.json +++ b/packages/message-manager/tsconfig.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/message-manager/tsconfig.test.json b/packages/message-manager/tsconfig.test.json index f0de25755c..ff98fbfbe8 100644 --- a/packages/message-manager/tsconfig.test.json +++ b/packages/message-manager/tsconfig.test.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/network-controller/tsconfig.build.json b/packages/network-controller/tsconfig.build.json index f9b513ee62..bbfe057a20 100644 --- a/packages/network-controller/tsconfig.build.json +++ b/packages/network-controller/tsconfig.build.json @@ -9,5 +9,5 @@ { "path": "../base-controller/tsconfig.build.json" }, { "path": "../controller-utils/tsconfig.build.json" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/network-controller/tsconfig.json b/packages/network-controller/tsconfig.json index 56d577a8b6..7ee9852347 100644 --- a/packages/network-controller/tsconfig.json +++ b/packages/network-controller/tsconfig.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/network-controller/tsconfig.test.json b/packages/network-controller/tsconfig.test.json index f0de25755c..ff98fbfbe8 100644 --- a/packages/network-controller/tsconfig.test.json +++ b/packages/network-controller/tsconfig.test.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/notification-controller/tsconfig.build.json b/packages/notification-controller/tsconfig.build.json index f9b513ee62..bbfe057a20 100644 --- a/packages/notification-controller/tsconfig.build.json +++ b/packages/notification-controller/tsconfig.build.json @@ -9,5 +9,5 @@ { "path": "../base-controller/tsconfig.build.json" }, { "path": "../controller-utils/tsconfig.build.json" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/notification-controller/tsconfig.json b/packages/notification-controller/tsconfig.json index 56d577a8b6..7ee9852347 100644 --- a/packages/notification-controller/tsconfig.json +++ b/packages/notification-controller/tsconfig.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/notification-controller/tsconfig.test.json b/packages/notification-controller/tsconfig.test.json index f0de25755c..ff98fbfbe8 100644 --- a/packages/notification-controller/tsconfig.test.json +++ b/packages/notification-controller/tsconfig.test.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/permission-controller/tsconfig.build.json b/packages/permission-controller/tsconfig.build.json index feb4dd6533..072ac3ed13 100644 --- a/packages/permission-controller/tsconfig.build.json +++ b/packages/permission-controller/tsconfig.build.json @@ -10,5 +10,5 @@ { "path": "../base-controller/tsconfig.build.json" }, { "path": "../controller-utils/tsconfig.build.json" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/permission-controller/tsconfig.json b/packages/permission-controller/tsconfig.json index aa8b80803d..32e1ee560c 100644 --- a/packages/permission-controller/tsconfig.json +++ b/packages/permission-controller/tsconfig.json @@ -8,5 +8,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/permission-controller/tsconfig.test.json b/packages/permission-controller/tsconfig.test.json index 00d08fd793..327cc8662d 100644 --- a/packages/permission-controller/tsconfig.test.json +++ b/packages/permission-controller/tsconfig.test.json @@ -8,5 +8,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/rate-limit-controller/tsconfig.build.json b/packages/rate-limit-controller/tsconfig.build.json index b5e7237ece..e5fd7422b9 100644 --- a/packages/rate-limit-controller/tsconfig.build.json +++ b/packages/rate-limit-controller/tsconfig.build.json @@ -6,5 +6,5 @@ "rootDir": "./src" }, "references": [{ "path": "../base-controller/tsconfig.build.json" }], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/rate-limit-controller/tsconfig.json b/packages/rate-limit-controller/tsconfig.json index 9dbc0cf335..34354c4b09 100644 --- a/packages/rate-limit-controller/tsconfig.json +++ b/packages/rate-limit-controller/tsconfig.json @@ -4,5 +4,5 @@ "baseUrl": "./" }, "references": [{ "path": "../base-controller" }], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/rate-limit-controller/tsconfig.test.json b/packages/rate-limit-controller/tsconfig.test.json index 642abfdf51..e717cbcf4c 100644 --- a/packages/rate-limit-controller/tsconfig.test.json +++ b/packages/rate-limit-controller/tsconfig.test.json @@ -4,5 +4,5 @@ "baseUrl": "./" }, "references": [{ "path": "../base-controller" }], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/subject-metadata-controller/tsconfig.build.json b/packages/subject-metadata-controller/tsconfig.build.json index 4dd230274c..7e0b87ab2f 100644 --- a/packages/subject-metadata-controller/tsconfig.build.json +++ b/packages/subject-metadata-controller/tsconfig.build.json @@ -9,5 +9,5 @@ { "path": "../base-controller/tsconfig.build.json" }, { "path": "../permission-controller/tsconfig.build.json" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/subject-metadata-controller/tsconfig.json b/packages/subject-metadata-controller/tsconfig.json index f98fd238f8..087b00ab75 100644 --- a/packages/subject-metadata-controller/tsconfig.json +++ b/packages/subject-metadata-controller/tsconfig.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../permission-controller" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/subject-metadata-controller/tsconfig.test.json b/packages/subject-metadata-controller/tsconfig.test.json index df53fcd3f5..313b73f207 100644 --- a/packages/subject-metadata-controller/tsconfig.test.json +++ b/packages/subject-metadata-controller/tsconfig.test.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../permission-controller" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/third-party-controllers/tsconfig.build.json b/packages/third-party-controllers/tsconfig.build.json index f9b513ee62..bbfe057a20 100644 --- a/packages/third-party-controllers/tsconfig.build.json +++ b/packages/third-party-controllers/tsconfig.build.json @@ -9,5 +9,5 @@ { "path": "../base-controller/tsconfig.build.json" }, { "path": "../controller-utils/tsconfig.build.json" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/third-party-controllers/tsconfig.json b/packages/third-party-controllers/tsconfig.json index 56d577a8b6..7ee9852347 100644 --- a/packages/third-party-controllers/tsconfig.json +++ b/packages/third-party-controllers/tsconfig.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/third-party-controllers/tsconfig.test.json b/packages/third-party-controllers/tsconfig.test.json index f0de25755c..ff98fbfbe8 100644 --- a/packages/third-party-controllers/tsconfig.test.json +++ b/packages/third-party-controllers/tsconfig.test.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/transaction-controller/tsconfig.build.json b/packages/transaction-controller/tsconfig.build.json index d851ae9cc7..ac0df4920c 100644 --- a/packages/transaction-controller/tsconfig.build.json +++ b/packages/transaction-controller/tsconfig.build.json @@ -10,5 +10,5 @@ { "path": "../controller-utils/tsconfig.build.json" }, { "path": "../network-controller/tsconfig.build.json" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/transaction-controller/tsconfig.json b/packages/transaction-controller/tsconfig.json index 3fbbfa075d..4bbb0be81b 100644 --- a/packages/transaction-controller/tsconfig.json +++ b/packages/transaction-controller/tsconfig.json @@ -8,5 +8,5 @@ { "path": "../controller-utils" }, { "path": "../network-controller" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/transaction-controller/tsconfig.test.json b/packages/transaction-controller/tsconfig.test.json index 06ec9145ea..b5ecb34cc2 100644 --- a/packages/transaction-controller/tsconfig.test.json +++ b/packages/transaction-controller/tsconfig.test.json @@ -8,5 +8,5 @@ { "path": "../controller-utils" }, { "path": "../network-controller" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/user-controllers/tsconfig.build.json b/packages/user-controllers/tsconfig.build.json index f9b513ee62..bbfe057a20 100644 --- a/packages/user-controllers/tsconfig.build.json +++ b/packages/user-controllers/tsconfig.build.json @@ -9,5 +9,5 @@ { "path": "../base-controller/tsconfig.build.json" }, { "path": "../controller-utils/tsconfig.build.json" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/user-controllers/tsconfig.json b/packages/user-controllers/tsconfig.json index 56d577a8b6..7ee9852347 100644 --- a/packages/user-controllers/tsconfig.json +++ b/packages/user-controllers/tsconfig.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } diff --git a/packages/user-controllers/tsconfig.test.json b/packages/user-controllers/tsconfig.test.json index f0de25755c..ff98fbfbe8 100644 --- a/packages/user-controllers/tsconfig.test.json +++ b/packages/user-controllers/tsconfig.test.json @@ -7,5 +7,5 @@ { "path": "../base-controller" }, { "path": "../controller-utils" } ], - "include": ["../../types/**/*", "./src/**/*"] + "include": ["../../types", "./src"] } From 8b8a6889486934f22e7aaa975ad6479a5a999a72 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 13 Jun 2022 15:44:18 -0500 Subject: [PATCH 009/115] Use __dirname in Jest config --- jest.config.packages.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jest.config.packages.ts b/jest.config.packages.ts index 8d615b1ac5..2bfff22c6b 100644 --- a/jest.config.packages.ts +++ b/jest.config.packages.ts @@ -3,6 +3,7 @@ * https://jestjs.io/docs/configuration */ +import * as path from 'path'; import type { Config } from '@jest/types'; // TODO: Figure out if this is really needed // import { jsWithBabel as tsjPreset } from 'ts-jest/presets'; @@ -157,10 +158,10 @@ const config: Config.InitialOptions = { // runner: "jest-runner", // The paths to modules that run some code to configure or set up the testing environment before each test - setupFiles: ['../../tests/setupTests.ts'], + setupFiles: [path.resolve(__dirname, 'tests/setupTests.ts')], // A list of paths to modules that run some code to configure or set up the testing framework before each test - setupFilesAfterEnv: ['../../tests/setupTestsAfterEnv.ts'], + // setupFilesAfterEnv: [], // The number of seconds after which a test is considered as slow and reported as such in the results. // slowTestThreshold: 5, From 97d5e3faf40fab7f845f661898adb75f379dce30 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 13 Jun 2022 15:44:48 -0500 Subject: [PATCH 010/115] Fix linting --- packages/gas-fee-controller/package.json | 1 + packages/third-party-controllers/package.json | 1 + tests/setupTestsAfterEnv.ts | 3 --- yarn.lock | 2 ++ 4 files changed, 4 insertions(+), 3 deletions(-) delete mode 100644 tests/setupTestsAfterEnv.ts diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 258d49be37..d5ae739701 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -34,6 +34,7 @@ "devDependencies": { "jest": "^28.1.0", "jest-when": "^3.5.1", + "nock": "^13.0.7", "sinon": "^9.2.4", "ts-deepmerge": "^2.0.1" }, diff --git a/packages/third-party-controllers/package.json b/packages/third-party-controllers/package.json index 9cb4c4db85..431faf8a3a 100644 --- a/packages/third-party-controllers/package.json +++ b/packages/third-party-controllers/package.json @@ -30,6 +30,7 @@ }, "devDependencies": { "ethereumjs-util": "^7.1.4", + "nock": "^13.0.7", "sinon": "^9.2.4", "ts-deepmerge": "^2.0.1" }, diff --git a/tests/setupTestsAfterEnv.ts b/tests/setupTestsAfterEnv.ts deleted file mode 100644 index c692e7ccbf..0000000000 --- a/tests/setupTestsAfterEnv.ts +++ /dev/null @@ -1,3 +0,0 @@ -// import nock from 'nock'; - -// nock.disableNetConnect(); diff --git a/yarn.lock b/yarn.lock index 1d1bf6912d..02f10e2aed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2097,6 +2097,7 @@ __metadata: immer: ^9.0.6 jest: ^28.1.0 jest-when: ^3.5.1 + nock: ^13.0.7 sinon: ^9.2.4 ts-deepmerge: ^2.0.1 uuid: ^8.3.2 @@ -2242,6 +2243,7 @@ __metadata: eth-phishing-detect: ^1.2.0 ethereumjs-util: ^7.1.4 isomorphic-fetch: ^3.0.0 + nock: ^13.0.7 punycode: ^2.1.1 sinon: ^9.2.4 ts-deepmerge: ^2.0.1 From 416f0ad3029312d31a7a69424da9a871c104b6a4 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 13 Jun 2022 16:29:08 -0500 Subject: [PATCH 011/115] Clean some things up --- .eslintrc.js | 11 ----------- jest.config.packages.ts | 28 ++++++++-------------------- package.json | 2 +- 3 files changed, 9 insertions(+), 32 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index e00888fee6..11892a73f5 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -69,17 +69,6 @@ module.exports = { 'error', { matchDescription: '^[A-Z`\\d_][\\s\\S]*[.?!`>)}]$' }, ], - - // These options do not support our monorepo structure, which houses - // two levels of `package.json`'s instead of just one. - // 'import/no-extraneous-import': 'off', - // 'import/no-extraneous-dependencies': 'off', - // 'node/no-extraneous-import': 'off', - // 'node/no-extraneous-dependencies': 'off', - - // TODO: This isn't working for `jest.config.ts` (see first line). Look into - // why. - 'node/no-unpublished-import': 'off', }, settings: { 'import/resolver': { diff --git a/jest.config.packages.ts b/jest.config.packages.ts index 2bfff22c6b..ec7783c984 100644 --- a/jest.config.packages.ts +++ b/jest.config.packages.ts @@ -5,9 +5,6 @@ import * as path from 'path'; import type { Config } from '@jest/types'; -// TODO: Figure out if this is really needed -// import { jsWithBabel as tsjPreset } from 'ts-jest/presets'; -import { jsWithTs as tsjPreset } from 'ts-jest/presets'; const config: Config.InitialOptions = { // All imported modules in your tests should be mocked automatically @@ -28,17 +25,15 @@ const config: Config.InitialOptions = { collectCoverage: true, // An array of glob patterns indicating a set of files for which coverage information should be collected - collectCoverageFrom: ['./packages/src/**/*.ts'], + collectCoverageFrom: ['/src/**/*.ts'], // The directory where Jest should output its coverage files coverageDirectory: 'coverage', // An array of regexp pattern strings used to skip coverage collection - // TODO: Test index.ts - // coveragePathIgnorePatterns: ['./packages/index.ts'], + // coveragePathIgnorePatterns: [], // Indicates which provider should be used to instrument code for coverage - // XXX: Might have to be 'babel' coverageProvider: 'v8', // A list of reporter names that Jest uses when writing coverage reports @@ -103,13 +98,6 @@ const config: Config.InitialOptions = { // so in that case use their published versions '/../../node_modules/@metamask/$1', ], - // The ethjs-* packages strangely link to their uncompiled versions instead - // of compiled versions as their main files - // '^ethjs$': '/../../node_modules/ethjs/dist/ethjs.js', - // '^ethjs-query$': - // '/../../node_modules/ethjs-query/dist/ethjs-query.js', - // '^ethjs-provider-http$': - // '/../../node_modules/ethjs-provider-http/dist/ethjs-provider-http.js', }, // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader @@ -122,7 +110,10 @@ const config: Config.InitialOptions = { // notifyMode: "failure-change", // A preset that is used as a base for Jest's configuration - // preset: 'ts-jest/presets/js-with-babel', + // Here we're telling ts-jest to run JavaScript code through babel-jest + // because some of our dependencies (e.g. ethjs-*) ship with uncompiled + // JavaScript. + preset: 'ts-jest/presets/js-with-ts', // Run tests from one or more projects // projects: undefined @@ -205,15 +196,12 @@ const config: Config.InitialOptions = { // timers: "real", // A map from regular expressions to paths to transformers - transform: { - ...tsjPreset.transform, - // '\\.jsx?$': 'babel-jest', - }, + // transform: undefined, // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation transformIgnorePatterns: [ // Transform multiformats as it ships as ESM for the browser version - '/node_modules/(?!(?:multiformats|uuid)/)', + '/node_modules/(?!multiformats/)', '\\.pnp\\.[^\\/]+$', ], diff --git a/package.json b/package.json index d8cde50063..fcfa552dc1 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "test": "jest", "test:watch": "jest --watch" }, - "devDependencies": { + "dependencies": { "@jest/types": "^28.1.0", "@lavamoat/allow-scripts": "^2.0.2", "@metamask/auto-changelog": "^2.6.0", From ddab44dbab9ba2b8704e708ccb4ca7495415ddb9 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 14 Jun 2022 11:22:58 -0700 Subject: [PATCH 012/115] Simplify Jest config, move configs to each package --- ...fig.packages.ts => jest.config.packages.js | 28 +- jest.config.ts | 10 - package.json | 12 +- .../announcement-controller/jest.config.js | 25 + .../announcement-controller/jest.config.ts | 17 - packages/announcement-controller/package.json | 11 +- packages/approval-controller/jest.config.js | 25 + packages/approval-controller/jest.config.ts | 17 - packages/approval-controller/package.json | 11 +- .../src/ApprovalController.test.js | 282 --- .../src/ApprovalController.test.ts | 243 +++ packages/assets-controllers/jest.config.js | 28 + packages/assets-controllers/jest.config.ts | 20 - packages/assets-controllers/package.json | 11 +- packages/base-controller/jest.config.js | 25 + packages/base-controller/jest.config.ts | 17 - packages/base-controller/package.json | 11 +- packages/composable-controller/jest.config.js | 25 + packages/composable-controller/jest.config.ts | 17 - packages/composable-controller/package.json | 11 +- packages/controller-utils/jest.config.js | 28 + packages/controller-utils/jest.config.ts | 20 - packages/controller-utils/package.json | 11 +- packages/gas-fee-controller/jest.config.js | 25 + packages/gas-fee-controller/jest.config.ts | 17 - packages/gas-fee-controller/package.json | 15 +- packages/keyring-controller/jest.config.js | 25 + packages/keyring-controller/jest.config.ts | 17 - packages/keyring-controller/package.json | 11 +- packages/message-manager/jest.config.js | 25 + packages/message-manager/jest.config.ts | 17 - packages/message-manager/package.json | 11 +- packages/network-controller/jest.config.js | 25 + packages/network-controller/jest.config.ts | 17 - packages/network-controller/package.json | 11 +- .../notification-controller/jest.config.js | 25 + .../notification-controller/jest.config.ts | 17 - packages/notification-controller/package.json | 11 +- packages/permission-controller/jest.config.js | 25 + packages/permission-controller/jest.config.ts | 17 - packages/permission-controller/package.json | 11 +- packages/rate-limit-controller/jest.config.js | 25 + packages/rate-limit-controller/jest.config.ts | 17 - packages/rate-limit-controller/package.json | 11 +- .../jest.config.js | 25 + .../jest.config.ts | 17 - .../subject-metadata-controller/package.json | 11 +- .../third-party-controllers/jest.config.js | 25 + .../third-party-controllers/jest.config.ts | 17 - packages/third-party-controllers/package.json | 11 +- .../transaction-controller/jest.config.js | 28 + .../transaction-controller/jest.config.ts | 20 - packages/transaction-controller/package.json | 11 +- packages/user-controllers/jest.config.js | 25 + packages/user-controllers/jest.config.ts | 17 - packages/user-controllers/package.json | 11 +- tsconfig.json | 1 + yarn.lock | 1799 +++-------------- 58 files changed, 1154 insertions(+), 2144 deletions(-) rename jest.config.packages.ts => jest.config.packages.js (94%) delete mode 100644 jest.config.ts create mode 100644 packages/announcement-controller/jest.config.js delete mode 100644 packages/announcement-controller/jest.config.ts create mode 100644 packages/approval-controller/jest.config.js delete mode 100644 packages/approval-controller/jest.config.ts delete mode 100644 packages/approval-controller/src/ApprovalController.test.js create mode 100644 packages/assets-controllers/jest.config.js delete mode 100644 packages/assets-controllers/jest.config.ts create mode 100644 packages/base-controller/jest.config.js delete mode 100644 packages/base-controller/jest.config.ts create mode 100644 packages/composable-controller/jest.config.js delete mode 100644 packages/composable-controller/jest.config.ts create mode 100644 packages/controller-utils/jest.config.js delete mode 100644 packages/controller-utils/jest.config.ts create mode 100644 packages/gas-fee-controller/jest.config.js delete mode 100644 packages/gas-fee-controller/jest.config.ts create mode 100644 packages/keyring-controller/jest.config.js delete mode 100644 packages/keyring-controller/jest.config.ts create mode 100644 packages/message-manager/jest.config.js delete mode 100644 packages/message-manager/jest.config.ts create mode 100644 packages/network-controller/jest.config.js delete mode 100644 packages/network-controller/jest.config.ts create mode 100644 packages/notification-controller/jest.config.js delete mode 100644 packages/notification-controller/jest.config.ts create mode 100644 packages/permission-controller/jest.config.js delete mode 100644 packages/permission-controller/jest.config.ts create mode 100644 packages/rate-limit-controller/jest.config.js delete mode 100644 packages/rate-limit-controller/jest.config.ts create mode 100644 packages/subject-metadata-controller/jest.config.js delete mode 100644 packages/subject-metadata-controller/jest.config.ts create mode 100644 packages/third-party-controllers/jest.config.js delete mode 100644 packages/third-party-controllers/jest.config.ts create mode 100644 packages/transaction-controller/jest.config.js delete mode 100644 packages/transaction-controller/jest.config.ts create mode 100644 packages/user-controllers/jest.config.js delete mode 100644 packages/user-controllers/jest.config.ts diff --git a/jest.config.packages.ts b/jest.config.packages.js similarity index 94% rename from jest.config.packages.ts rename to jest.config.packages.js index ec7783c984..d7de03c260 100644 --- a/jest.config.packages.ts +++ b/jest.config.packages.js @@ -3,10 +3,9 @@ * https://jestjs.io/docs/configuration */ -import * as path from 'path'; -import type { Config } from '@jest/types'; +const path = require('path'); -const config: Config.InitialOptions = { +module.exports = { // All imported modules in your tests should be mocked automatically // automock: false, @@ -25,29 +24,24 @@ const config: Config.InitialOptions = { collectCoverage: true, // An array of glob patterns indicating a set of files for which coverage information should be collected - collectCoverageFrom: ['/src/**/*.ts'], + collectCoverageFrom: ['./src/**/*.ts'], // The directory where Jest should output its coverage files coverageDirectory: 'coverage', // An array of regexp pattern strings used to skip coverage collection - // coveragePathIgnorePatterns: [], + // TODO: Test index.ts + coveragePathIgnorePatterns: ['./src/index.ts'], // Indicates which provider should be used to instrument code for coverage - coverageProvider: 'v8', + coverageProvider: 'babel', // A list of reporter names that Jest uses when writing coverage reports - coverageReporters: ['text', 'html'], + coverageReporters: ['text', 'html', 'json-summary'], // An object that configures minimum threshold enforcement for coverage results - coverageThreshold: { - global: { - branches: 90, - functions: 96, - lines: 95, - statements: 95, - }, - }, + // (Each package defines this separately) + // coverageThreshold: undefined // A path to a custom dependency extractor // dependencyExtractor: undefined, @@ -161,7 +155,7 @@ const config: Config.InitialOptions = { // snapshotSerializers: [], // The test environment that will be used for testing - // testEnvironment: 'jsdom', + testEnvironment: 'node', // Options that will be passed to the testEnvironment // testEnvironmentOptions: {}, @@ -217,5 +211,3 @@ const config: Config.InitialOptions = { // Whether to use watchman for file crawling // watchman: true, }; - -export default config; diff --git a/jest.config.ts b/jest.config.ts deleted file mode 100644 index 9b90cb7855..0000000000 --- a/jest.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { Config } from '@jest/types'; - -const config: Config.InitialOptions = { - // Run tests from one or more projects - // This is all we need in this file because each package has its own Jest - // config - projects: ['/packages/*'], -}; - -export default config; diff --git a/package.json b/package.json index fcfa552dc1..bde9fffefe 100644 --- a/package.json +++ b/package.json @@ -17,19 +17,15 @@ "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore", "prepack": "yarn build", "setup": "yarn install", - "test": "jest", - "test:watch": "jest --watch" + "test": "yarn workspaces foreach run test" }, "dependencies": { - "@jest/types": "^28.1.0", "@lavamoat/allow-scripts": "^2.0.2", "@metamask/auto-changelog": "^2.6.0", "@metamask/eslint-config": "^9.0.0", "@metamask/eslint-config-jest": "^9.0.0", "@metamask/eslint-config-nodejs": "^9.0.0", "@metamask/eslint-config-typescript": "^9.0.1", - "@types/jest-when": "^2.7.3", - "@types/node": "^14.14.31", "@typescript-eslint/eslint-plugin": "^4.33.0", "@typescript-eslint/parser": "^4.33.0", "eslint": "^7.24.0", @@ -41,15 +37,9 @@ "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.4.1", "isomorphic-fetch": "^3.0.0", - "jest": "^26.4.2", - "jest-environment-jsdom": "^25.0.0", - "jest-when": "^3.4.2", "prettier": "^2.6.2", "prettier-plugin-packagejson": "^2.2.17", "rimraf": "^3.0.2", - "ts-deepmerge": "^2.0.1", - "ts-jest": "^26.5.2", - "ts-node": "^10.7.0", "typedoc": "^0.22.15", "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3", diff --git a/packages/announcement-controller/jest.config.js b/packages/announcement-controller/jest.config.js new file mode 100644 index 0000000000..a7ae2b4b47 --- /dev/null +++ b/packages/announcement-controller/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 100, + statements: 100, + }, + }, +}); diff --git a/packages/announcement-controller/jest.config.ts b/packages/announcement-controller/jest.config.ts deleted file mode 100644 index 6c616f7297..0000000000 --- a/packages/announcement-controller/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, -}); - -export default config; diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index a5cbbbf83f..380736a465 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -20,11 +20,20 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@metamask/base-controller": "workspace:~" }, "devDependencies": { - "ts-deepmerge": "^2.0.1" + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" diff --git a/packages/approval-controller/jest.config.js b/packages/approval-controller/jest.config.js new file mode 100644 index 0000000000..a7ae2b4b47 --- /dev/null +++ b/packages/approval-controller/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 100, + statements: 100, + }, + }, +}); diff --git a/packages/approval-controller/jest.config.ts b/packages/approval-controller/jest.config.ts deleted file mode 100644 index 6c616f7297..0000000000 --- a/packages/approval-controller/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, -}); - -export default config; diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index 1dc40647b3..1051643240 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -27,8 +27,13 @@ "nanoid": "^3.1.31" }, "devDependencies": { + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", "sinon": "^9.2.4", - "ts-deepmerge": "^2.0.1" + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" @@ -36,5 +41,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/packages/approval-controller/src/ApprovalController.test.js b/packages/approval-controller/src/ApprovalController.test.js deleted file mode 100644 index 9b8dde0df9..0000000000 --- a/packages/approval-controller/src/ApprovalController.test.js +++ /dev/null @@ -1,282 +0,0 @@ -const { errorCodes } = require('eth-rpc-errors'); -const { ControllerMessenger } = require('@metamask/base-controller'); -const { ApprovalController } = require('./ApprovalController'); - -/** - * Constructs a restricted controller messenger. - * - * @returns {object} A restricted controller messenger. - */ -function getRestrictedMessenger() { - const controllerMessenger = new ControllerMessenger(); - const messenger = controllerMessenger.getRestricted({ - name: 'ApprovalController', - }); - return messenger; -} - -const getApprovalController = () => - new ApprovalController({ - messenger: getRestrictedMessenger(), - showApprovalRequest: () => undefined, - }); - -const STORE_KEY = 'pendingApprovals'; - -describe('ApprovalController: Input Validation', () => { - describe('add', () => { - it('validates input', () => { - const approvalController = getApprovalController(); - - expect(() => - approvalController.add({ id: null, origin: 'bar.baz' }), - ).toThrow(getInvalidIdError()); - - expect(() => approvalController.add({ id: 'foo' })).toThrow( - getInvalidOriginError(), - ); - - expect(() => approvalController.add({ id: 'foo', origin: true })).toThrow( - getInvalidOriginError(), - ); - - expect(() => - approvalController.add({ id: 'foo', origin: 'bar.baz', type: {} }), - ).toThrow(getInvalidTypeError(errorCodes.rpc.internal)); - - expect(() => - approvalController.add({ id: 'foo', origin: 'bar.baz', type: '' }), - ).toThrow(getInvalidTypeError(errorCodes.rpc.internal)); - - expect(() => - approvalController.add({ - id: 'foo', - origin: 'bar.baz', - type: 'type', - requestData: 'foo', - }), - ).toThrow(getInvalidRequestDataError()); - }); - }); - - describe('get', () => { - it('returns undefined for non-existing entry', () => { - const approvalController = getApprovalController(); - - approvalController.add({ id: 'foo', origin: 'bar.baz', type: 'type' }); - - expect(approvalController.get('fizz')).toBeUndefined(); - - expect(approvalController.get()).toBeUndefined(); - - expect(approvalController.get({})).toBeUndefined(); - }); - }); - - describe('getApprovalCount', () => { - it('validates input', () => { - const approvalController = getApprovalController(); - - expect(() => approvalController.getApprovalCount()).toThrow( - getApprovalCountParamsError(), - ); - - expect(() => approvalController.getApprovalCount({})).toThrow( - getApprovalCountParamsError(), - ); - - expect(() => - approvalController.getApprovalCount({ origin: null }), - ).toThrow(getApprovalCountParamsError()); - - expect(() => - approvalController.getApprovalCount({ type: false }), - ).toThrow(getApprovalCountParamsError()); - }); - }); - - describe('has', () => { - it('validates input', () => { - const approvalController = getApprovalController(); - - expect(() => approvalController.has()).toThrow( - getInvalidHasParamsError(), - ); - - expect(() => approvalController.has({})).toThrow( - getInvalidHasParamsError(), - ); - - expect(() => approvalController.has({ id: true })).toThrow( - getInvalidHasIdError(), - ); - - expect(() => approvalController.has({ origin: true })).toThrow( - getInvalidHasOriginError(), - ); - - expect(() => approvalController.has({ type: true })).toThrow( - getInvalidHasTypeError(), - ); - - expect(() => - approvalController.has({ origin: 'foo', type: true }), - ).toThrow(getInvalidHasTypeError()); - }); - }); - - // We test this internal function before resolve, reject, and clear because - // they are heavily dependent upon it. - describe('_delete', () => { - let approvalController; - - beforeEach(() => { - approvalController = getApprovalController(); - }); - - it('deletes entry', () => { - approvalController.add({ id: 'foo', origin: 'bar.baz', type: 'type' }); - - approvalController._delete('foo'); - - expect( - !approvalController.has({ id: 'foo' }) && - !approvalController.has({ type: 'type' }) && - !approvalController.has({ origin: 'bar.baz' }) && - !approvalController.state[STORE_KEY].foo, - ).toStrictEqual(true); - }); - - it('deletes one entry out of many without side-effects', () => { - approvalController.add({ id: 'foo', origin: 'bar.baz', type: 'type1' }); - approvalController.add({ id: 'fizz', origin: 'bar.baz', type: 'type2' }); - - approvalController._delete('fizz'); - - expect( - !approvalController.has({ id: 'fizz' }) && - !approvalController.has({ origin: 'bar.baz', type: 'type2' }), - ).toStrictEqual(true); - - expect( - approvalController.has({ id: 'foo' }) && - approvalController.has({ origin: 'bar.baz' }), - ).toStrictEqual(true); - }); - }); - - describe('miscellaneous', () => { - it('isEmptyOrigin: handles non-existing origin', () => { - const approvalController = getApprovalController(); - expect(() => approvalController._isEmptyOrigin('kaplar')).not.toThrow(); - }); - }); -}); - -// helpers - -/** - * Get an invalid ID error. - * - * @returns {Error} An invalid ID error. - */ -function getInvalidIdError() { - return getError('Must specify non-empty string id.', errorCodes.rpc.internal); -} - -/** - * Get an invalid ID type error. - * - * @returns {Error} An invalid ID type error. - */ -function getInvalidHasIdError() { - return getError('May not specify non-string id.'); -} - -/** - * Get an invalid origin type error. - * - * @returns {Error} The invalid origin type error. - */ -function getInvalidHasOriginError() { - return getError('May not specify non-string origin.'); -} - -/** - * Get an invalid type error. - * - * @returns {Error} The invalid type error. - */ -function getInvalidHasTypeError() { - return getError('May not specify non-string type.'); -} - -/** - * Get an invalid origin error. - * - * @returns {Error} The invalid origin error. - */ -function getInvalidOriginError() { - return getError( - 'Must specify non-empty string origin.', - errorCodes.rpc.internal, - ); -} - -/** - * Get an invalid request data error. - * - * @returns {Error} The invalid request data error. - */ -function getInvalidRequestDataError() { - return getError( - 'Request data must be a plain object if specified.', - errorCodes.rpc.internal, - ); -} - -/** - * Get an invalid type error. - * - * @param {number} code - The error code. - * @returns {Error} The invalid type error. - */ -function getInvalidTypeError(code) { - return getError('Must specify non-empty string type.', code); -} - -/** - * Get an invalid params error. - * - * @returns {Error} The invalid params error. - */ -function getInvalidHasParamsError() { - return getError('Must specify a valid combination of id, origin, and type.'); -} - -/** - * Get an invalid approval count params error. - * - * @returns {Error} The invalid approval count params error. - */ -function getApprovalCountParamsError() { - return getError('Must specify origin, type, or both.'); -} - -/** - * Get an Error. - * - * @param {string} message - The error message. - * @param {number} code - The error code. - * @returns {Error} An Error. - */ -function getError(message, code) { - const err = { - name: 'Error', - message, - }; - if (code !== undefined) { - err.code = code; - } - return err; -} diff --git a/packages/approval-controller/src/ApprovalController.test.ts b/packages/approval-controller/src/ApprovalController.test.ts index e68da7f8fa..a17aa6508a 100644 --- a/packages/approval-controller/src/ApprovalController.test.ts +++ b/packages/approval-controller/src/ApprovalController.test.ts @@ -55,6 +55,45 @@ describe('approval controller', () => { }); }); + it('validates input', () => { + expect(() => + approvalController.add({ id: null, origin: 'bar.baz' } as any), + ).toThrow(getInvalidIdError()); + + expect(() => approvalController.add({ id: 'foo' } as any)).toThrow( + getInvalidOriginError(), + ); + + expect(() => + approvalController.add({ id: 'foo', origin: true } as any), + ).toThrow(getInvalidOriginError()); + + expect(() => + approvalController.add({ + id: 'foo', + origin: 'bar.baz', + type: {}, + } as any), + ).toThrow(getInvalidTypeError(errorCodes.rpc.internal)); + + expect(() => + approvalController.add({ + id: 'foo', + origin: 'bar.baz', + type: '', + } as any), + ).toThrow(getInvalidTypeError(errorCodes.rpc.internal)); + + expect(() => + approvalController.add({ + id: 'foo', + origin: 'bar.baz', + type: 'type', + requestData: 'foo', + } as any), + ).toThrow(getInvalidRequestDataError()); + }); + it('adds correctly specified entry', () => { expect(() => approvalController.add({ id: 'foo', origin: 'bar.baz', type: TYPE }), @@ -194,6 +233,21 @@ describe('approval controller', () => { time: 1, }); }); + + it('returns undefined for non-existing entry', () => { + const approvalController = new ApprovalController({ + messenger: getRestrictedMessenger(), + showApprovalRequest: sinon.spy(), + }); + + approvalController.add({ id: 'foo', origin: 'bar.baz', type: 'type' }); + + expect(approvalController.get('fizz')).toBeUndefined(); + + expect((approvalController as any).get()).toBeUndefined(); + + expect(approvalController.get({} as any)).toBeUndefined(); + }); }); describe('getApprovalCount', () => { @@ -210,6 +264,24 @@ describe('approval controller', () => { approvalController.add(args).catch(() => undefined); }); + it('validates input', () => { + expect(() => approvalController.getApprovalCount()).toThrow( + getApprovalCountParamsError(), + ); + + expect(() => approvalController.getApprovalCount({})).toThrow( + getApprovalCountParamsError(), + ); + + expect(() => + approvalController.getApprovalCount({ origin: null } as any), + ).toThrow(getApprovalCountParamsError()); + + expect(() => + approvalController.getApprovalCount({ type: false } as any), + ).toThrow(getApprovalCountParamsError()); + }); + it('gets the count when specifying origin and type', () => { addWithCatch({ id: '1', origin: 'origin1', type: TYPE }); addWithCatch({ id: '2', origin: 'origin1', type: 'type1' }); @@ -345,6 +417,32 @@ describe('approval controller', () => { }); }); + it('validates input', () => { + expect(() => approvalController.has()).toThrow( + getInvalidHasParamsError(), + ); + + expect(() => approvalController.has({})).toThrow( + getInvalidHasParamsError(), + ); + + expect(() => approvalController.has({ id: true } as any)).toThrow( + getInvalidHasIdError(), + ); + + expect(() => approvalController.has({ origin: true } as any)).toThrow( + getInvalidHasOriginError(), + ); + + expect(() => approvalController.has({ type: true } as any)).toThrow( + getInvalidHasTypeError(), + ); + + expect(() => + approvalController.has({ origin: 'foo', type: true } as any), + ).toThrow(getInvalidHasTypeError()); + }); + it('returns true for existing entry by id', () => { approvalController.add({ id: 'foo', origin: 'bar.baz', type: TYPE }); @@ -630,6 +728,63 @@ describe('approval controller', () => { }); }); + // We test this internal function before resolve, reject, and clear because + // they are heavily dependent upon it. + // TODO: Stop using private methods in tests + describe('_delete', () => { + let approvalController: ApprovalController; + + beforeEach(() => { + approvalController = new ApprovalController({ + messenger: getRestrictedMessenger(), + showApprovalRequest: sinon.spy(), + }); + }); + + it('deletes entry', () => { + approvalController.add({ id: 'foo', origin: 'bar.baz', type: 'type' }); + + (approvalController as any)._delete('foo'); + + expect( + !approvalController.has({ id: 'foo' }) && + !approvalController.has({ type: 'type' }) && + !approvalController.has({ origin: 'bar.baz' }) && + !approvalController.state[STORE_KEY].foo, + ).toStrictEqual(true); + }); + + it('deletes one entry out of many without side-effects', () => { + approvalController.add({ id: 'foo', origin: 'bar.baz', type: 'type1' }); + approvalController.add({ id: 'fizz', origin: 'bar.baz', type: 'type2' }); + + (approvalController as any)._delete('fizz'); + + expect( + !approvalController.has({ id: 'fizz' }) && + !approvalController.has({ origin: 'bar.baz', type: 'type2' }), + ).toStrictEqual(true); + + expect( + approvalController.has({ id: 'foo' }) && + approvalController.has({ origin: 'bar.baz' }), + ).toStrictEqual(true); + }); + }); + + // TODO: Stop using private methods in tests + describe('_isEmptyOrigin', () => { + it('handles non-existing origin', () => { + const approvalController = new ApprovalController({ + messenger: getRestrictedMessenger(), + showApprovalRequest: sinon.spy(), + }); + expect(() => + (approvalController as any)._isEmptyOrigin('kaplar'), + ).not.toThrow(); + }); + }); + describe('actions', () => { it('addApprovalRequest: shouldShowRequest = true', async () => { const messenger = new ControllerMessenger< @@ -706,6 +861,15 @@ function getOriginTypeCollisionError(origin: string, type = TYPE) { return getError(message, errorCodes.rpc.resourceUnavailable); } +/** + * Get an invalid ID error. + * + * @returns An invalid ID error. + */ +function getInvalidIdError() { + return getError('Must specify non-empty string id.', errorCodes.rpc.internal); +} + /** * Get an "ID not found" error. * @@ -716,6 +880,85 @@ function getIdNotFoundError(id: string) { return getError(`Approval request with id '${id}' not found.`); } +/** + * Get an invalid ID type error. + * + * @returns An invalid ID type error. + */ +function getInvalidHasIdError() { + return getError('May not specify non-string id.'); +} + +/** + * Get an invalid origin type error. + * + * @returns The invalid origin type error. + */ +function getInvalidHasOriginError() { + return getError('May not specify non-string origin.'); +} + +/** + * Get an invalid type error. + * + * @returns The invalid type error. + */ +function getInvalidHasTypeError() { + return getError('May not specify non-string type.'); +} + +/** + * Get an invalid origin error. + * + * @returns The invalid origin error. + */ +function getInvalidOriginError() { + return getError( + 'Must specify non-empty string origin.', + errorCodes.rpc.internal, + ); +} + +/** + * Get an invalid request data error. + * + * @returns The invalid request data error. + */ +function getInvalidRequestDataError() { + return getError( + 'Request data must be a plain object if specified.', + errorCodes.rpc.internal, + ); +} + +/** + * Get an invalid type error. + * + * @param code - The error code. + * @returns The invalid type error. + */ +function getInvalidTypeError(code: number) { + return getError('Must specify non-empty string type.', code); +} + +/** + * Get an invalid params error. + * + * @returns The invalid params error. + */ +function getInvalidHasParamsError() { + return getError('Must specify a valid combination of id, origin, and type.'); +} + +/** + * Get an invalid approval count params error. + * + * @returns The invalid approval count params error. + */ +function getApprovalCountParamsError() { + return getError('Must specify origin, type, or both.'); +} + /** * Get an error. * diff --git a/packages/assets-controllers/jest.config.js b/packages/assets-controllers/jest.config.js new file mode 100644 index 0000000000..12e4d4a2f9 --- /dev/null +++ b/packages/assets-controllers/jest.config.js @@ -0,0 +1,28 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 88.53, + functions: 96.44, + lines: 96.42, + statements: 96.51, + }, + }, + + // We rely on `window` to make requests + testEnvironment: 'jsdom', +}); diff --git a/packages/assets-controllers/jest.config.ts b/packages/assets-controllers/jest.config.ts deleted file mode 100644 index 4a218a523f..0000000000 --- a/packages/assets-controllers/jest.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, - - // We rely on `window` to make requests - testEnvironment: 'jsdom', -}); - -export default config; diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 045e6ffcc1..403e63cf7c 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/contract-metadata": "^1.35.0", @@ -41,11 +45,16 @@ "web3": "^0.20.7" }, "devDependencies": { + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", "ethereumjs-util": "^7.1.4", "ethjs-provider-http": "^0.1.6", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", "nock": "^13.0.7", "sinon": "^9.2.4", - "ts-deepmerge": "^2.0.1" + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" diff --git a/packages/base-controller/jest.config.js b/packages/base-controller/jest.config.js new file mode 100644 index 0000000000..a7ae2b4b47 --- /dev/null +++ b/packages/base-controller/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 100, + statements: 100, + }, + }, +}); diff --git a/packages/base-controller/jest.config.ts b/packages/base-controller/jest.config.ts deleted file mode 100644 index 6c616f7297..0000000000 --- a/packages/base-controller/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, -}); - -export default config; diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index a09807a2f0..cb6745f8b0 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -24,9 +24,14 @@ "immer": "^9.0.6" }, "devDependencies": { + "@types/jest": "^26.0.22", "@types/sinon": "^9.0.10", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", "sinon": "^9.2.4", - "ts-deepmerge": "^2.0.1" + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" @@ -34,5 +39,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/packages/composable-controller/jest.config.js b/packages/composable-controller/jest.config.js new file mode 100644 index 0000000000..a7ae2b4b47 --- /dev/null +++ b/packages/composable-controller/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 100, + statements: 100, + }, + }, +}); diff --git a/packages/composable-controller/jest.config.ts b/packages/composable-controller/jest.config.ts deleted file mode 100644 index 6c616f7297..0000000000 --- a/packages/composable-controller/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, -}); - -export default config; diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 970b86a1a6..ce00985dfe 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -26,9 +26,14 @@ "@metamask/network-controller": "workspace:~", "@metamask/third-party-controllers": "workspace:~", "@metamask/user-controllers": "workspace:~", + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", "immer": "^9.0.6", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", "sinon": "^9.2.4", - "ts-deepmerge": "^2.0.1" + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" @@ -36,5 +41,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/packages/controller-utils/jest.config.js b/packages/controller-utils/jest.config.js new file mode 100644 index 0000000000..8d492e37f9 --- /dev/null +++ b/packages/controller-utils/jest.config.js @@ -0,0 +1,28 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 79.28, + functions: 90.74, + lines: 92.8, + statements: 92.91, + }, + }, + + // We rely on `window` to make requests + testEnvironment: 'jsdom', +}); diff --git a/packages/controller-utils/jest.config.ts b/packages/controller-utils/jest.config.ts deleted file mode 100644 index 4a218a523f..0000000000 --- a/packages/controller-utils/jest.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, - - // We rely on `window` to make requests - testEnvironment: 'jsdom', -}); - -export default config; diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 6f0403e7d9..a1af3b5e59 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -34,9 +34,14 @@ "multiformats": "^9.5.2" }, "devDependencies": { + "@types/jest": "^26.0.22", "abort-controller": "^3.0.0", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", "nock": "^13.0.7", - "ts-deepmerge": "^2.0.1" + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" @@ -44,5 +49,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/packages/gas-fee-controller/jest.config.js b/packages/gas-fee-controller/jest.config.js new file mode 100644 index 0000000000..a4160f40e2 --- /dev/null +++ b/packages/gas-fee-controller/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 70.89, + functions: 80, + lines: 79.48, + statements: 79.49, + }, + }, +}); diff --git a/packages/gas-fee-controller/jest.config.ts b/packages/gas-fee-controller/jest.config.ts deleted file mode 100644 index 6c616f7297..0000000000 --- a/packages/gas-fee-controller/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, -}); - -export default config; diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index d5ae739701..19829721c5 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -32,11 +32,16 @@ "uuid": "^8.3.2" }, "devDependencies": { - "jest": "^28.1.0", - "jest-when": "^3.5.1", + "@types/jest": "^26.0.22", + "@types/jest-when": "^2.7.3", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", + "jest-when": "^3.4.2", "nock": "^13.0.7", "sinon": "^9.2.4", - "ts-deepmerge": "^2.0.1" + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" @@ -44,5 +49,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/packages/keyring-controller/jest.config.js b/packages/keyring-controller/jest.config.js new file mode 100644 index 0000000000..0d395ca1d8 --- /dev/null +++ b/packages/keyring-controller/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 99.49, + statements: 99.49, + }, + }, +}); diff --git a/packages/keyring-controller/jest.config.ts b/packages/keyring-controller/jest.config.ts deleted file mode 100644 index 6c616f7297..0000000000 --- a/packages/keyring-controller/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, -}); - -export default config; diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 8023e46ff5..ef2b1be5a0 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -36,8 +36,13 @@ "@ethereumjs/common": "^2.3.1", "@ethereumjs/tx": "^3.2.1", "@keystonehq/bc-ur-registry-eth": "^0.9.0", + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", "sinon": "^9.2.4", - "ts-deepmerge": "^2.0.1", + "ts-jest": "^26.5.2", + "typescript": "~4.6.3", "uuid": "^8.3.2" }, "engines": { @@ -46,5 +51,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/packages/message-manager/jest.config.js b/packages/message-manager/jest.config.js new file mode 100644 index 0000000000..a7ae2b4b47 --- /dev/null +++ b/packages/message-manager/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 100, + statements: 100, + }, + }, +}); diff --git a/packages/message-manager/jest.config.ts b/packages/message-manager/jest.config.ts deleted file mode 100644 index 6c616f7297..0000000000 --- a/packages/message-manager/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, -}); - -export default config; diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 8f1d4a57a8..75c03696ca 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -29,7 +29,12 @@ "uuid": "^8.3.2" }, "devDependencies": { - "ts-deepmerge": "^2.0.1" + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" @@ -37,5 +42,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/packages/network-controller/jest.config.js b/packages/network-controller/jest.config.js new file mode 100644 index 0000000000..b5bba66ae9 --- /dev/null +++ b/packages/network-controller/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 87.18, + functions: 90.48, + lines: 89.41, + statements: 89.53, + }, + }, +}); diff --git a/packages/network-controller/jest.config.ts b/packages/network-controller/jest.config.ts deleted file mode 100644 index 6c616f7297..0000000000 --- a/packages/network-controller/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, -}); - -export default config; diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index ef7f31978b..ce495cde28 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -29,8 +29,13 @@ "web3-provider-engine": "^16.0.3" }, "devDependencies": { + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", "sinon": "^9.2.4", - "ts-deepmerge": "^2.0.1" + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" @@ -38,5 +43,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/packages/notification-controller/jest.config.js b/packages/notification-controller/jest.config.js new file mode 100644 index 0000000000..a7ae2b4b47 --- /dev/null +++ b/packages/notification-controller/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 100, + statements: 100, + }, + }, +}); diff --git a/packages/notification-controller/jest.config.ts b/packages/notification-controller/jest.config.ts deleted file mode 100644 index 6c616f7297..0000000000 --- a/packages/notification-controller/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, -}); - -export default config; diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index 1e7cbfbb3e..2d699d0569 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -27,7 +27,12 @@ "nanoid": "^3.1.31" }, "devDependencies": { - "ts-deepmerge": "^2.0.1" + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" @@ -35,5 +40,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/packages/permission-controller/jest.config.js b/packages/permission-controller/jest.config.js new file mode 100644 index 0000000000..29878a585b --- /dev/null +++ b/packages/permission-controller/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 99.77, + statements: 99.78, + }, + }, +}); diff --git a/packages/permission-controller/jest.config.ts b/packages/permission-controller/jest.config.ts deleted file mode 100644 index 6c616f7297..0000000000 --- a/packages/permission-controller/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, -}); - -export default config; diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index a01dd26868..fb2927aff0 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -33,7 +33,12 @@ "nanoid": "^3.1.31" }, "devDependencies": { - "ts-deepmerge": "^2.0.1" + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" @@ -41,5 +46,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/packages/rate-limit-controller/jest.config.js b/packages/rate-limit-controller/jest.config.js new file mode 100644 index 0000000000..8552c84d48 --- /dev/null +++ b/packages/rate-limit-controller/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 88.89, + functions: 100, + lines: 96.55, + statements: 96.55, + }, + }, +}); diff --git a/packages/rate-limit-controller/jest.config.ts b/packages/rate-limit-controller/jest.config.ts deleted file mode 100644 index 6c616f7297..0000000000 --- a/packages/rate-limit-controller/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, -}); - -export default config; diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index 196b52d1ba..7f64a0a7cc 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -26,7 +26,12 @@ "immer": "^9.0.6" }, "devDependencies": { - "ts-deepmerge": "^2.0.1" + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" @@ -34,5 +39,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/packages/subject-metadata-controller/jest.config.js b/packages/subject-metadata-controller/jest.config.js new file mode 100644 index 0000000000..a7ae2b4b47 --- /dev/null +++ b/packages/subject-metadata-controller/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 100, + statements: 100, + }, + }, +}); diff --git a/packages/subject-metadata-controller/jest.config.ts b/packages/subject-metadata-controller/jest.config.ts deleted file mode 100644 index 6c616f7297..0000000000 --- a/packages/subject-metadata-controller/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, -}); - -export default config; diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index eeedc19ae8..cc090e715e 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -27,7 +27,12 @@ "immer": "^9.0.6" }, "devDependencies": { - "ts-deepmerge": "^2.0.1" + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" @@ -35,5 +40,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/packages/third-party-controllers/jest.config.js b/packages/third-party-controllers/jest.config.js new file mode 100644 index 0000000000..a7ae2b4b47 --- /dev/null +++ b/packages/third-party-controllers/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 100, + statements: 100, + }, + }, +}); diff --git a/packages/third-party-controllers/jest.config.ts b/packages/third-party-controllers/jest.config.ts deleted file mode 100644 index 6c616f7297..0000000000 --- a/packages/third-party-controllers/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, -}); - -export default config; diff --git a/packages/third-party-controllers/package.json b/packages/third-party-controllers/package.json index 431faf8a3a..70df7a604b 100644 --- a/packages/third-party-controllers/package.json +++ b/packages/third-party-controllers/package.json @@ -29,10 +29,15 @@ "punycode": "^2.1.1" }, "devDependencies": { + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", "ethereumjs-util": "^7.1.4", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", "nock": "^13.0.7", "sinon": "^9.2.4", - "ts-deepmerge": "^2.0.1" + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" @@ -40,5 +45,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/packages/transaction-controller/jest.config.js b/packages/transaction-controller/jest.config.js new file mode 100644 index 0000000000..82e7e81b8e --- /dev/null +++ b/packages/transaction-controller/jest.config.js @@ -0,0 +1,28 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 81.19, + functions: 98.81, + lines: 96.02, + statements: 96.18, + }, + }, + + // We rely on `XMLHttpRequest` to make requests + testEnvironment: 'jsdom', +}); diff --git a/packages/transaction-controller/jest.config.ts b/packages/transaction-controller/jest.config.ts deleted file mode 100644 index c639ef0b0d..0000000000 --- a/packages/transaction-controller/jest.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, - - // We rely on `XMLHttpRequest` to make requests - testEnvironment: 'jsdom', -}); - -export default config; diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index a313a0eb85..29c0589e59 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -35,9 +35,14 @@ "uuid": "^8.3.2" }, "devDependencies": { + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", "ethjs-provider-http": "^0.1.6", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", "sinon": "^9.2.4", - "ts-deepmerge": "^2.0.1" + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" @@ -45,5 +50,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/packages/user-controllers/jest.config.js b/packages/user-controllers/jest.config.js new file mode 100644 index 0000000000..f257986370 --- /dev/null +++ b/packages/user-controllers/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 92.31, + functions: 95.83, + lines: 95.41, + statements: 95.41, + }, + }, +}); diff --git a/packages/user-controllers/jest.config.ts b/packages/user-controllers/jest.config.ts deleted file mode 100644 index 6c616f7297..0000000000 --- a/packages/user-controllers/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * For a detailed explanation regarding each configuration property and type check, visit: - * https://jestjs.io/docs/configuration - */ - -import * as path from 'path'; -import merge from 'ts-deepmerge'; -import baseConfig from '../../jest.config.packages'; - -const displayName = path.basename(__dirname); - -const config = merge(baseConfig, { - // The display name when running multiple projects - displayName, -}); - -export default config; diff --git a/packages/user-controllers/package.json b/packages/user-controllers/package.json index 9a9d381bdb..0201317480 100644 --- a/packages/user-controllers/package.json +++ b/packages/user-controllers/package.json @@ -25,7 +25,12 @@ "@metamask/controller-utils": "workspace:~" }, "devDependencies": { - "ts-deepmerge": "^2.0.1" + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", + "ts-jest": "^26.5.2", + "typescript": "~4.6.3" }, "engines": { "node": ">=12.0.0" @@ -33,5 +38,9 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" } } diff --git a/tsconfig.json b/tsconfig.json index b5c26ab403..6d5791f5b6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { + "esModuleInterop": true, "noEmit": true }, "references": [ diff --git a/yarn.lock b/yarn.lock index 02f10e2aed..8bcce107da 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,7 +49,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7": +"@babel/code-frame@npm:^7.16.7": version: 7.16.7 resolution: "@babel/code-frame@npm:7.16.7" dependencies: @@ -88,7 +88,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3": +"@babel/core@npm:^7.12.3": version: 7.17.12 resolution: "@babel/core@npm:7.17.12" dependencies: @@ -111,7 +111,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.17.12, @babel/generator@npm:^7.7.2": +"@babel/generator@npm:^7.17.12": version: 7.17.12 resolution: "@babel/generator@npm:7.17.12" dependencies: @@ -554,17 +554,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.17.12 - resolution: "@babel/plugin-syntax-typescript@npm:7.17.12" - dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 50ab09f1953a2b0586cff9e29bf7cea3d886b48c1361a861687c2aef46356c6d73778c3341b0c051dc82a34417f19e9d759ae918353c5a98d25e85f2f6d24181 - languageName: node - linkType: hard - "@babel/plugin-transform-runtime@npm:^7.5.5": version: 7.18.2 resolution: "@babel/plugin-transform-runtime@npm:7.18.2" @@ -648,7 +637,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.17.12, @babel/traverse@npm:^7.17.9, @babel/traverse@npm:^7.7.2": +"@babel/traverse@npm:^7.17.12, @babel/traverse@npm:^7.17.9": version: 7.17.12 resolution: "@babel/traverse@npm:7.17.12" dependencies: @@ -738,22 +727,6 @@ __metadata: languageName: node linkType: hard -"@cspotcode/source-map-consumer@npm:0.8.0": - version: 0.8.0 - resolution: "@cspotcode/source-map-consumer@npm:0.8.0" - checksum: c0c16ca3d2f58898f1bd74c4f41a189dbcc202e642e60e489cbcc2e52419c4e89bdead02c886a12fb13ea37798ede9e562b2321df997ebc210ae9bd881561b4e - languageName: node - linkType: hard - -"@cspotcode/source-map-support@npm:0.7.0": - version: 0.7.0 - resolution: "@cspotcode/source-map-support@npm:0.7.0" - dependencies: - "@cspotcode/source-map-consumer": 0.8.0 - checksum: 9faddda7757cd778b5fd6812137b2cc265810043680d6399acc20441668fafcdc874053be9dccd0d9110087287bfad27eb3bf342f72bceca9aa9059f5d0c4be8 - languageName: node - linkType: hard - "@es-joy/jsdoccomment@npm:0.10.8": version: 0.10.8 resolution: "@es-joy/jsdoccomment@npm:0.10.8" @@ -1220,6 +1193,44 @@ __metadata: languageName: node linkType: hard +"@inquirer/confirm@npm:^0.0.14-alpha.0": + version: 0.0.14-alpha.0 + resolution: "@inquirer/confirm@npm:0.0.14-alpha.0" + dependencies: + "@inquirer/core": ^0.0.15-alpha.0 + "@inquirer/input": ^0.0.15-alpha.0 + chalk: ^4.1.1 + checksum: 84daf47030318e0adf6eeef85388e341f6f68c0c06c0d1d329cb6185f6d21abf74c3124102bf62f4f42145c8dc9193d719209e3759987a1bdbcfb88139b9936c + languageName: node + linkType: hard + +"@inquirer/core@npm:^0.0.15-alpha.0": + version: 0.0.15-alpha.0 + resolution: "@inquirer/core@npm:0.0.15-alpha.0" + dependencies: + ansi-escapes: ^4.2.1 + chalk: ^4.1.1 + cli-spinners: ^2.6.0 + cli-width: ^3.0.0 + lodash: ^4.17.21 + mute-stream: ^0.0.8 + run-async: ^2.3.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + checksum: 26a94a8db80e57f926c889b5730c6c9a0f18d6bf1e6dbfb68eaa6bcda33550db66118ce6afd9e91130ea2e4da42b6d7236b94c16fbab931ed04b4f442b9a5c78 + languageName: node + linkType: hard + +"@inquirer/input@npm:^0.0.15-alpha.0": + version: 0.0.15-alpha.0 + resolution: "@inquirer/input@npm:0.0.15-alpha.0" + dependencies: + "@inquirer/core": ^0.0.15-alpha.0 + chalk: ^4.1.1 + checksum: c294b2fa100e2955e271b1b0590b5f360c65c560d653f39554cd381f145fdf13be9ea2c3c069d39a71f84fc3c8ba20d9d78a0b210f8cb5533d138567029e28ee + languageName: node + linkType: hard + "@istanbuljs/load-nyc-config@npm:^1.0.0": version: 1.0.0 resolution: "@istanbuljs/load-nyc-config@npm:1.0.0" @@ -1253,20 +1264,6 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^28.1.0": - version: 28.1.0 - resolution: "@jest/console@npm:28.1.0" - dependencies: - "@jest/types": ^28.1.0 - "@types/node": "*" - chalk: ^4.0.0 - jest-message-util: ^28.1.0 - jest-util: ^28.1.0 - slash: ^3.0.0 - checksum: 6ce8ed8159517c28d413fbebf806c8ed53e958f5069b45731b21add626bdea799bc6944d9cfcc5d350047e7198185515b58877e09da52801df64cfc21c4060df - languageName: node - linkType: hard - "@jest/core@npm:^26.6.3": version: 26.6.3 resolution: "@jest/core@npm:26.6.3" @@ -1303,59 +1300,6 @@ __metadata: languageName: node linkType: hard -"@jest/core@npm:^28.1.0": - version: 28.1.0 - resolution: "@jest/core@npm:28.1.0" - dependencies: - "@jest/console": ^28.1.0 - "@jest/reporters": ^28.1.0 - "@jest/test-result": ^28.1.0 - "@jest/transform": ^28.1.0 - "@jest/types": ^28.1.0 - "@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: ^28.0.2 - jest-config: ^28.1.0 - jest-haste-map: ^28.1.0 - jest-message-util: ^28.1.0 - jest-regex-util: ^28.0.2 - jest-resolve: ^28.1.0 - jest-resolve-dependencies: ^28.1.0 - jest-runner: ^28.1.0 - jest-runtime: ^28.1.0 - jest-snapshot: ^28.1.0 - jest-util: ^28.1.0 - jest-validate: ^28.1.0 - jest-watcher: ^28.1.0 - micromatch: ^4.0.4 - pretty-format: ^28.1.0 - rimraf: ^3.0.0 - slash: ^3.0.0 - strip-ansi: ^6.0.0 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: fb955cc5c8d7f294fd9bb85793e0633707fdbce9c10d4e3222b62d36564b17214abc9ab0e93397d1a6d224cd43681f8e54d570327a92a40d7ac3e47b5de3af1f - languageName: node - linkType: hard - -"@jest/environment@npm:^25.5.0": - version: 25.5.0 - resolution: "@jest/environment@npm:25.5.0" - dependencies: - "@jest/fake-timers": ^25.5.0 - "@jest/types": ^25.5.0 - jest-mock: ^25.5.0 - checksum: 93a9ddbcfafef26c21bb880ea947493f4b248e5d929ed165290079ac28559fa0d6983641ad57abe30d9ae13d3ecf73034964e2adc3b7bb207f1888818e6a3432 - languageName: node - linkType: hard - "@jest/environment@npm:^26.6.2": version: 26.6.2 resolution: "@jest/environment@npm:26.6.2" @@ -1368,50 +1312,6 @@ __metadata: languageName: node linkType: hard -"@jest/environment@npm:^28.1.0": - version: 28.1.0 - resolution: "@jest/environment@npm:28.1.0" - dependencies: - "@jest/fake-timers": ^28.1.0 - "@jest/types": ^28.1.0 - "@types/node": "*" - jest-mock: ^28.1.0 - checksum: 376904d6626bb439f96a56ca9d400e1b6b4a5bafb751820fec649238e35cb7d0b9619223ade86c2906e97fae8da03a7b9561c55c1f5850afe9856db89185d754 - languageName: node - linkType: hard - -"@jest/expect-utils@npm:^28.1.0": - version: 28.1.0 - resolution: "@jest/expect-utils@npm:28.1.0" - dependencies: - jest-get-type: ^28.0.2 - checksum: 5b8b463682bd35ae71868020c87dc654ebed65ded4e74ea3c24bd9e1ab4637a7790c8b78c26cdcb832dd227b9981e8dd24eb3b742891637c24c2a3e38ba153e8 - languageName: node - linkType: hard - -"@jest/expect@npm:^28.1.0": - version: 28.1.0 - resolution: "@jest/expect@npm:28.1.0" - dependencies: - expect: ^28.1.0 - jest-snapshot: ^28.1.0 - checksum: e596bc2a2d02d66cb3e23982c6a48cfe24aa31932f594db7de6966db6c0b58f7aad3836a71debb8aeda6178116c35160e11ded42a355a94457f6402cbb2186e3 - languageName: node - linkType: hard - -"@jest/fake-timers@npm:^25.5.0": - version: 25.5.0 - resolution: "@jest/fake-timers@npm:25.5.0" - dependencies: - "@jest/types": ^25.5.0 - jest-message-util: ^25.5.0 - jest-mock: ^25.5.0 - jest-util: ^25.5.0 - lolex: ^5.0.0 - checksum: e34dc713a2e26e936aa15d0d6f479ad9ffbea13d50436f873631fd8077fd746d23e2ce1f0bd2ac32fe99f0dac3eae35960a59fdd98830c0134819e5c9b7e822e - languageName: node - linkType: hard - "@jest/fake-timers@npm:^26.6.2": version: 26.6.2 resolution: "@jest/fake-timers@npm:26.6.2" @@ -1426,20 +1326,6 @@ __metadata: languageName: node linkType: hard -"@jest/fake-timers@npm:^28.1.0": - version: 28.1.0 - resolution: "@jest/fake-timers@npm:28.1.0" - dependencies: - "@jest/types": ^28.1.0 - "@sinonjs/fake-timers": ^9.1.1 - "@types/node": "*" - jest-message-util: ^28.1.0 - jest-mock: ^28.1.0 - jest-util: ^28.1.0 - checksum: d24375bcd52873f1e602ff02ffe57c6866570b95ec0be167a4734d051047b2c6b3dab69b2a301a390a0ca2de2ad89fd2b23e991c09a1a3b70b1dd4763c8681c7 - languageName: node - linkType: hard - "@jest/globals@npm:^26.6.2": version: 26.6.2 resolution: "@jest/globals@npm:26.6.2" @@ -1451,17 +1337,6 @@ __metadata: languageName: node linkType: hard -"@jest/globals@npm:^28.1.0": - version: 28.1.0 - resolution: "@jest/globals@npm:28.1.0" - dependencies: - "@jest/environment": ^28.1.0 - "@jest/expect": ^28.1.0 - "@jest/types": ^28.1.0 - checksum: dce822edd1810430ce381235f714be705a9c774c00bf109d9d5df0dc4868371da62520832df99e83635ee1fc1fa4241cf617821b4e3b1a8bcd3fcd91aa8a75a7 - languageName: node - linkType: hard - "@jest/reporters@npm:^26.6.2": version: 26.6.2 resolution: "@jest/reporters@npm:26.6.2" @@ -1498,52 +1373,6 @@ __metadata: languageName: node linkType: hard -"@jest/reporters@npm:^28.1.0": - version: 28.1.0 - resolution: "@jest/reporters@npm:28.1.0" - dependencies: - "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^28.1.0 - "@jest/test-result": ^28.1.0 - "@jest/transform": ^28.1.0 - "@jest/types": ^28.1.0 - "@jridgewell/trace-mapping": ^0.3.7 - "@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: ^5.1.0 - istanbul-lib-report: ^3.0.0 - istanbul-lib-source-maps: ^4.0.0 - istanbul-reports: ^3.1.3 - jest-util: ^28.1.0 - jest-worker: ^28.1.0 - slash: ^3.0.0 - string-length: ^4.0.1 - strip-ansi: ^6.0.0 - terminal-link: ^2.0.0 - v8-to-istanbul: ^9.0.0 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 19ec066ba219508ce6f5e0f0b29f26f906367372b1ddcc2d615cd842e53a10bdd02b87c8b04653e103a2e22b56d96e9af99573d9a84c6adab606158e5383d09f - languageName: node - linkType: hard - -"@jest/schemas@npm:^28.0.2": - version: 28.0.2 - resolution: "@jest/schemas@npm:28.0.2" - dependencies: - "@sinclair/typebox": ^0.23.3 - checksum: 6a177e97b112c99f377697fe803a34f4489b92cd07949876250c69edc9029c7cbda771fcbb03caebd20ffbcfa89b9c22b4dc9d1e9a7fbc9873185459b48ba780 - languageName: node - linkType: hard - "@jest/source-map@npm:^26.6.2": version: 26.6.2 resolution: "@jest/source-map@npm:26.6.2" @@ -1555,17 +1384,6 @@ __metadata: languageName: node linkType: hard -"@jest/source-map@npm:^28.0.2": - version: 28.0.2 - resolution: "@jest/source-map@npm:28.0.2" - dependencies: - "@jridgewell/trace-mapping": ^0.3.7 - callsites: ^3.0.0 - graceful-fs: ^4.2.9 - checksum: 427195be85c28517e7e6b29fb38448a371750a1e4f4003e4c33ee0b35bbb72229c80482d444a827aa230f688a0b72c0c858ebd11425a686103c13d6cc61c8da1 - languageName: node - linkType: hard - "@jest/test-result@npm:^26.6.2": version: 26.6.2 resolution: "@jest/test-result@npm:26.6.2" @@ -1578,18 +1396,6 @@ __metadata: languageName: node linkType: hard -"@jest/test-result@npm:^28.1.0": - version: 28.1.0 - resolution: "@jest/test-result@npm:28.1.0" - dependencies: - "@jest/console": ^28.1.0 - "@jest/types": ^28.1.0 - "@types/istanbul-lib-coverage": ^2.0.0 - collect-v8-coverage: ^1.0.0 - checksum: 7f0cf04b8c27a2dbe2eb1b7ac53635e0112fa2000b80b016992a0ca8b495980c11e758b902606f3bb24fb96aa4d5a24730c1fcdacb82d105cd782e210ae412d2 - languageName: node - linkType: hard - "@jest/test-sequencer@npm:^26.6.3": version: 26.6.3 resolution: "@jest/test-sequencer@npm:26.6.3" @@ -1603,18 +1409,6 @@ __metadata: languageName: node linkType: hard -"@jest/test-sequencer@npm:^28.1.0": - version: 28.1.0 - resolution: "@jest/test-sequencer@npm:28.1.0" - dependencies: - "@jest/test-result": ^28.1.0 - graceful-fs: ^4.2.9 - jest-haste-map: ^28.1.0 - slash: ^3.0.0 - checksum: ecd87ca73d1e58ebc6a4de46176c49a0e92c2dc4b41fbd09945b7bd1379ec09ae37804cab3f41c452eea8d1ca71d31a32b602c4e3147ad74c0b0e3a50184cedd - languageName: node - linkType: hard - "@jest/transform@npm:^26.6.2": version: 26.6.2 resolution: "@jest/transform@npm:26.6.2" @@ -1638,41 +1432,6 @@ __metadata: languageName: node linkType: hard -"@jest/transform@npm:^28.1.0": - version: 28.1.0 - resolution: "@jest/transform@npm:28.1.0" - dependencies: - "@babel/core": ^7.11.6 - "@jest/types": ^28.1.0 - "@jridgewell/trace-mapping": ^0.3.7 - babel-plugin-istanbul: ^6.1.1 - chalk: ^4.0.0 - convert-source-map: ^1.4.0 - fast-json-stable-stringify: ^2.0.0 - graceful-fs: ^4.2.9 - jest-haste-map: ^28.1.0 - jest-regex-util: ^28.0.2 - jest-util: ^28.1.0 - micromatch: ^4.0.4 - pirates: ^4.0.4 - slash: ^3.0.0 - write-file-atomic: ^4.0.1 - checksum: f7417409c466fa1b4d8f9f7d365c8c1ed07e709e8712279180a87e9da8520ab06518de270b290148034d93f666d7826449b5e40cac34cc5f7225980e8991f2ba - languageName: node - linkType: hard - -"@jest/types@npm:^25.5.0": - version: 25.5.0 - resolution: "@jest/types@npm:25.5.0" - dependencies: - "@types/istanbul-lib-coverage": ^2.0.0 - "@types/istanbul-reports": ^1.1.1 - "@types/yargs": ^15.0.0 - chalk: ^3.0.0 - checksum: 785b67521a2c54f290ad4b53f49fec6b14fa25828bf26a838f7bbe08dd42122f27f71a620ea9a33286346786e9b120dd370abf589e6ef8c5fde9dc56906880b1 - languageName: node - linkType: hard - "@jest/types@npm:^26.6.2": version: 26.6.2 resolution: "@jest/types@npm:26.6.2" @@ -1686,33 +1445,6 @@ __metadata: languageName: node linkType: hard -"@jest/types@npm:^27.2.5": - version: 27.2.5 - resolution: "@jest/types@npm:27.2.5" - dependencies: - "@types/istanbul-lib-coverage": ^2.0.0 - "@types/istanbul-reports": ^3.0.0 - "@types/node": "*" - "@types/yargs": ^16.0.0 - chalk: ^4.0.0 - checksum: 322603c24354a5333b5b7a670464422a46e0244a5a96a35552a7018eb4ac2e84c3b7657336b0ea6aa114963f9b6d0da8b8f6f963cb044fea9e7bc04d464b0ab1 - languageName: node - linkType: hard - -"@jest/types@npm:^28.1.0": - version: 28.1.0 - resolution: "@jest/types@npm:28.1.0" - dependencies: - "@jest/schemas": ^28.0.2 - "@types/istanbul-lib-coverage": ^2.0.0 - "@types/istanbul-reports": ^3.0.0 - "@types/node": "*" - "@types/yargs": ^17.0.8 - chalk: ^4.0.0 - checksum: 22705aed92a76d45465a6c51147bc71c1fbd300b912ebad2769e3ff7fd51c1938017e29fcea52e00c00dab7130697359b2a2c2be6ee601e37c8b1042a2c4040e - languageName: node - linkType: hard - "@jridgewell/gen-mapping@npm:^0.1.0": version: 0.1.1 resolution: "@jridgewell/gen-mapping@npm:0.1.1" @@ -1755,7 +1487,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.7, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.13 resolution: "@jridgewell/trace-mapping@npm:0.3.13" dependencies: @@ -1842,7 +1574,12 @@ __metadata: resolution: "@metamask/announcement-controller@workspace:packages/announcement-controller" dependencies: "@metamask/base-controller": "workspace:~" - ts-deepmerge: ^2.0.1 + "@types/jest": ^26.0.22 + deepmerge: ^4.2.2 + jest: ^26.4.2 + jest-it-up: ^2.0.2 + ts-jest: ^26.5.2 + typescript: ~4.6.3 languageName: unknown linkType: soft @@ -1851,11 +1588,16 @@ __metadata: resolution: "@metamask/approval-controller@workspace:packages/approval-controller" dependencies: "@metamask/base-controller": "workspace:~" + "@types/jest": ^26.0.22 + deepmerge: ^4.2.2 eth-rpc-errors: ^4.0.0 immer: ^9.0.6 + jest: ^26.4.2 + jest-it-up: ^2.0.2 nanoid: ^3.1.31 sinon: ^9.2.4 - ts-deepmerge: ^2.0.1 + ts-jest: ^26.5.2 + typescript: ~4.6.3 languageName: unknown linkType: soft @@ -1869,20 +1611,25 @@ __metadata: "@metamask/metamask-eth-abis": 3.0.0 "@metamask/network-controller": "workspace:~" "@metamask/user-controllers": "workspace:~" + "@types/jest": ^26.0.22 "@types/uuid": ^8.3.4 "@types/web3": ^1.0.6 abort-controller: ^3.0.0 async-mutex: ^0.2.6 + deepmerge: ^4.2.2 eth-query: ^2.1.2 eth-rpc-errors: ^4.0.0 ethereumjs-util: ^7.1.4 ethers: ^5.4.1 ethjs-provider-http: ^0.1.6 immer: ^9.0.6 + jest: ^26.4.2 + jest-it-up: ^2.0.2 nock: ^13.0.7 single-call-balance-checker-abi: ^1.0.0 sinon: ^9.2.4 - ts-deepmerge: ^2.0.1 + ts-jest: ^26.5.2 + typescript: ~4.6.3 uuid: ^8.3.2 web3: ^0.20.7 languageName: unknown @@ -1906,10 +1653,15 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/base-controller@workspace:packages/base-controller" dependencies: + "@types/jest": ^26.0.22 "@types/sinon": ^9.0.10 + deepmerge: ^4.2.2 immer: ^9.0.6 + jest: ^26.4.2 + jest-it-up: ^2.0.2 sinon: ^9.2.4 - ts-deepmerge: ^2.0.1 + ts-jest: ^26.5.2 + typescript: ~4.6.3 languageName: unknown linkType: soft @@ -1934,9 +1686,14 @@ __metadata: "@metamask/network-controller": "workspace:~" "@metamask/third-party-controllers": "workspace:~" "@metamask/user-controllers": "workspace:~" + "@types/jest": ^26.0.22 + deepmerge: ^4.2.2 immer: ^9.0.6 + jest: ^26.4.2 + jest-it-up: ^2.0.2 sinon: ^9.2.4 - ts-deepmerge: ^2.0.1 + ts-jest: ^26.5.2 + typescript: ~4.6.3 languageName: unknown linkType: soft @@ -1955,16 +1712,21 @@ __metadata: "@metamask/base-controller": "workspace:~" "@metamask/message-manager": "workspace:~" "@metamask/transaction-controller": "workspace:~" + "@types/jest": ^26.0.22 abort-controller: ^3.0.0 + deepmerge: ^4.2.2 eth-ens-namehash: ^2.0.8 eth-rpc-errors: ^4.0.0 ethereumjs-util: ^7.1.4 ethjs-unit: ^0.1.6 fast-deep-equal: ^3.1.3 isomorphic-fetch: ^3.0.0 + jest: ^26.4.2 + jest-it-up: ^2.0.2 multiformats: ^9.5.2 nock: ^13.0.7 - ts-deepmerge: ^2.0.1 + ts-jest: ^26.5.2 + typescript: ~4.6.3 languageName: unknown linkType: soft @@ -1972,15 +1734,12 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/controllers-monorepo@workspace:." dependencies: - "@jest/types": ^28.1.0 "@lavamoat/allow-scripts": ^2.0.2 "@metamask/auto-changelog": ^2.6.0 "@metamask/eslint-config": ^9.0.0 "@metamask/eslint-config-jest": ^9.0.0 "@metamask/eslint-config-nodejs": ^9.0.0 "@metamask/eslint-config-typescript": ^9.0.1 - "@types/jest-when": ^2.7.3 - "@types/node": ^14.14.31 "@typescript-eslint/eslint-plugin": ^4.33.0 "@typescript-eslint/parser": ^4.33.0 eslint: ^7.24.0 @@ -1992,15 +1751,9 @@ __metadata: eslint-plugin-node: ^11.1.0 eslint-plugin-prettier: ^3.4.1 isomorphic-fetch: ^3.0.0 - jest: ^26.4.2 - jest-environment-jsdom: ^25.0.0 - jest-when: ^3.4.2 prettier: ^2.6.2 prettier-plugin-packagejson: ^2.2.17 rimraf: ^3.0.2 - ts-deepmerge: ^2.0.1 - ts-jest: ^26.5.2 - ts-node: ^10.7.0 typedoc: ^0.22.15 typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 @@ -2090,16 +1843,21 @@ __metadata: "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@metamask/network-controller": "workspace:~" + "@types/jest": ^26.0.22 + "@types/jest-when": ^2.7.3 "@types/uuid": ^8.3.4 + deepmerge: ^4.2.2 eth-query: ^2.1.2 ethereumjs-util: ^7.0.10 ethjs-unit: ^0.1.6 immer: ^9.0.6 - jest: ^28.1.0 - jest-when: ^3.5.1 + jest: ^26.4.2 + jest-it-up: ^2.0.2 + jest-when: ^3.4.2 nock: ^13.0.7 sinon: ^9.2.4 - ts-deepmerge: ^2.0.1 + ts-jest: ^26.5.2 + typescript: ~4.6.3 uuid: ^8.3.2 languageName: unknown linkType: soft @@ -2116,13 +1874,18 @@ __metadata: "@metamask/controller-utils": "workspace:~" "@metamask/message-manager": "workspace:~" "@metamask/user-controllers": "workspace:~" + "@types/jest": ^26.0.22 async-mutex: ^0.2.6 + deepmerge: ^4.2.2 eth-keyring-controller: ^7.0.2 eth-sig-util: ^3.0.0 ethereumjs-util: ^7.0.10 ethereumjs-wallet: ^1.0.1 + jest: ^26.4.2 + jest-it-up: ^2.0.2 sinon: ^9.2.4 - ts-deepmerge: ^2.0.1 + ts-jest: ^26.5.2 + typescript: ~4.6.3 uuid: ^8.3.2 languageName: unknown linkType: soft @@ -2133,10 +1896,15 @@ __metadata: dependencies: "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" + "@types/jest": ^26.0.22 "@types/uuid": ^8.3.4 + deepmerge: ^4.2.2 eth-sig-util: ^3.0.0 + jest: ^26.4.2 + jest-it-up: ^2.0.2 jsonschema: ^1.2.4 - ts-deepmerge: ^2.0.1 + ts-jest: ^26.5.2 + typescript: ~4.6.3 uuid: ^8.3.2 languageName: unknown linkType: soft @@ -2154,11 +1922,16 @@ __metadata: dependencies: "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" + "@types/jest": ^26.0.22 async-mutex: ^0.2.6 + deepmerge: ^4.2.2 eth-json-rpc-infura: ^5.1.0 eth-query: ^2.1.2 + jest: ^26.4.2 + jest-it-up: ^2.0.2 sinon: ^9.2.4 - ts-deepmerge: ^2.0.1 + ts-jest: ^26.5.2 + typescript: ~4.6.3 web3-provider-engine: ^16.0.3 languageName: unknown linkType: soft @@ -2169,9 +1942,14 @@ __metadata: dependencies: "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" + "@types/jest": ^26.0.22 + deepmerge: ^4.2.2 immer: ^9.0.6 + jest: ^26.4.2 + jest-it-up: ^2.0.2 nanoid: ^3.1.31 - ts-deepmerge: ^2.0.1 + ts-jest: ^26.5.2 + typescript: ~4.6.3 languageName: unknown linkType: soft @@ -2194,12 +1972,17 @@ __metadata: "@metamask/controller-utils": "workspace:~" "@metamask/types": ^1.1.0 "@types/deep-freeze-strict": ^1.1.0 + "@types/jest": ^26.0.22 deep-freeze-strict: ^1.1.1 + deepmerge: ^4.2.2 eth-rpc-errors: ^4.0.0 immer: ^9.0.6 + jest: ^26.4.2 + jest-it-up: ^2.0.2 json-rpc-engine: ^6.1.0 nanoid: ^3.1.31 - ts-deepmerge: ^2.0.1 + ts-jest: ^26.5.2 + typescript: ~4.6.3 languageName: unknown linkType: soft @@ -2208,9 +1991,14 @@ __metadata: resolution: "@metamask/rate-limit-controller@workspace:packages/rate-limit-controller" dependencies: "@metamask/base-controller": "workspace:~" + "@types/jest": ^26.0.22 + deepmerge: ^4.2.2 eth-rpc-errors: ^4.0.0 immer: ^9.0.6 - ts-deepmerge: ^2.0.1 + jest: ^26.4.2 + jest-it-up: ^2.0.2 + ts-jest: ^26.5.2 + typescript: ~4.6.3 languageName: unknown linkType: soft @@ -2228,8 +2016,13 @@ __metadata: "@metamask/base-controller": "workspace:~" "@metamask/permission-controller": "workspace:~" "@metamask/types": ^1.1.0 + "@types/jest": ^26.0.22 + deepmerge: ^4.2.2 immer: ^9.0.6 - ts-deepmerge: ^2.0.1 + jest: ^26.4.2 + jest-it-up: ^2.0.2 + ts-jest: ^26.5.2 + typescript: ~4.6.3 languageName: unknown linkType: soft @@ -2239,14 +2032,19 @@ __metadata: dependencies: "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" + "@types/jest": ^26.0.22 "@types/punycode": ^2.1.0 + deepmerge: ^4.2.2 eth-phishing-detect: ^1.2.0 ethereumjs-util: ^7.1.4 isomorphic-fetch: ^3.0.0 + jest: ^26.4.2 + jest-it-up: ^2.0.2 nock: ^13.0.7 punycode: ^2.1.1 sinon: ^9.2.4 - ts-deepmerge: ^2.0.1 + ts-jest: ^26.5.2 + typescript: ~4.6.3 languageName: unknown linkType: soft @@ -2259,15 +2057,20 @@ __metadata: "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@metamask/network-controller": "workspace:~" + "@types/jest": ^26.0.22 async-mutex: ^0.2.6 babel-runtime: ^6.26.0 + deepmerge: ^4.2.2 eth-method-registry: 1.1.0 eth-query: ^2.1.2 eth-rpc-errors: ^4.0.0 ethereumjs-util: ^7.0.10 ethjs-provider-http: ^0.1.6 + jest: ^26.4.2 + jest-it-up: ^2.0.2 sinon: ^9.2.4 - ts-deepmerge: ^2.0.1 + ts-jest: ^26.5.2 + typescript: ~4.6.3 uuid: ^8.3.2 languageName: unknown linkType: soft @@ -2285,7 +2088,12 @@ __metadata: dependencies: "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" - ts-deepmerge: ^2.0.1 + "@types/jest": ^26.0.22 + deepmerge: ^4.2.2 + jest: ^26.4.2 + jest-it-up: ^2.0.2 + ts-jest: ^26.5.2 + typescript: ~4.6.3 languageName: unknown linkType: soft @@ -2380,13 +2188,6 @@ __metadata: languageName: node linkType: hard -"@sinclair/typebox@npm:^0.23.3": - version: 0.23.5 - resolution: "@sinclair/typebox@npm:0.23.5" - checksum: c96056d35d9cb862aeb635ff8873e2e7633e668dd544e162aee2690a82c970d0b3f90aa2b3501fe374dfa8e792388559a3e3a86712b23ebaef10061add534f47 - languageName: node - linkType: hard - "@sinonjs/commons@npm:^1.6.0, @sinonjs/commons@npm:^1.8.1": version: 1.8.2 resolution: "@sinonjs/commons@npm:1.8.2" @@ -2414,15 +2215,6 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^9.1.1": - version: 9.1.2 - resolution: "@sinonjs/fake-timers@npm:9.1.2" - dependencies: - "@sinonjs/commons": ^1.7.0 - checksum: 7d3aef54e17c1073101cb64d953157c19d62a40e261a30923fa1ee337b049c5f29cc47b1f0c477880f42b5659848ba9ab897607ac8ea4acd5c30ddcfac57fca6 - languageName: node - linkType: hard - "@sinonjs/samsam@npm:^5.3.1": version: 5.3.1 resolution: "@sinonjs/samsam@npm:5.3.1" @@ -2455,35 +2247,7 @@ __metadata: languageName: node linkType: hard -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.8 - resolution: "@tsconfig/node10@npm:1.0.8" - checksum: b8d5fffbc6b17ef64ef74f7fdbccee02a809a063ade785c3648dae59406bc207f70ea2c4296f92749b33019fa36a5ae716e42e49cc7f1bbf0fd147be0d6b970a - languageName: node - linkType: hard - -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.9 - resolution: "@tsconfig/node12@npm:1.0.9" - checksum: a01b2400ab3582b86b589c6d31dcd0c0656f333adecde85d6d7d4086adb059808b82692380bb169546d189bf771ae21d02544a75b57bd6da4a5dd95f8567bec9 - languageName: node - linkType: hard - -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.1 - resolution: "@tsconfig/node14@npm:1.0.1" - checksum: 976345e896c0f059867f94f8d0f6ddb8b1844fb62bf36b727de8a9a68f024857e5db97ed51d3325e23e0616a5e48c034ff51a8d595b3fe7e955f3587540489be - languageName: node - linkType: hard - -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.2 - resolution: "@tsconfig/node16@npm:1.0.2" - checksum: ca94d3639714672bbfd55f03521d3f56bb6a25479bd425da81faf21f13e1e9d15f40f97377dedbbf477a5841c5b0c8f4cd1b391f33553d750b9202c54c2c07aa - languageName: node - linkType: hard - -"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.1.7": +"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.7": version: 7.1.19 resolution: "@types/babel__core@npm:7.1.19" dependencies: @@ -2575,7 +2339,7 @@ __metadata: languageName: node linkType: hard -"@types/graceful-fs@npm:^4.1.2, @types/graceful-fs@npm:^4.1.3": +"@types/graceful-fs@npm:^4.1.2": version: 4.1.5 resolution: "@types/graceful-fs@npm:4.1.5" dependencies: @@ -2600,16 +2364,6 @@ __metadata: languageName: node linkType: hard -"@types/istanbul-reports@npm:^1.1.1": - version: 1.1.2 - resolution: "@types/istanbul-reports@npm:1.1.2" - dependencies: - "@types/istanbul-lib-coverage": "*" - "@types/istanbul-lib-report": "*" - checksum: 00866e815d1e68d0a590d691506937b79d8d65ad8eab5ed34dbfee66136c7c0f4ea65327d32046d5fe469f22abea2b294987591dc66365ebc3991f7e413b2d78 - languageName: node - linkType: hard - "@types/istanbul-reports@npm:^3.0.0": version: 3.0.0 resolution: "@types/istanbul-reports@npm:3.0.0" @@ -2620,21 +2374,31 @@ __metadata: linkType: hard "@types/jest-when@npm:^2.7.3": - version: 2.7.3 - resolution: "@types/jest-when@npm:2.7.3" + version: 2.7.4 + resolution: "@types/jest-when@npm:2.7.4" dependencies: "@types/jest": "*" - checksum: 0e01156250a6d8791d94bab1c9c5dab685a60edac47aa8769c50ea8440d97631f5397bd838c4c14175e56617b61d1ad59fc138e3c302560bb1eb69ede710a215 + checksum: fea5f5c9b882ee5191ef47dfbbe71ce7935d4ede7ac12c2bf7dbceead3da066930aa492fc534f8b53ef6694f30313b5669b87cb45e36ddbece42c6ff27b01364 languageName: node linkType: hard "@types/jest@npm:*": - version: 27.0.2 - resolution: "@types/jest@npm:27.0.2" + version: 28.1.1 + resolution: "@types/jest@npm:28.1.1" dependencies: - jest-diff: ^27.0.0 + jest-matcher-utils: ^27.0.0 pretty-format: ^27.0.0 - checksum: 814ad5f5d2f277849f47e52906da4b745758e555630fc8cb46a071bde648eefeffb1b35710c530a8cea7fc4ea7c1d813812c120484bf7902ab6c5e473cdd49c9 + checksum: 0a8b045a7b660372decc807c390d3f99a2b12bb1659a1cd593afe04557f4b7c235b0576a5e35b1577710d20e42759d3d8755eb8bed6edc8733f47007e75a5509 + languageName: node + linkType: hard + +"@types/jest@npm:^26.0.22": + version: 26.0.24 + resolution: "@types/jest@npm:26.0.24" + dependencies: + jest-diff: ^26.0.0 + pretty-format: ^26.0.0 + checksum: ae39675412f08d884926254e9b12bfd2b5a4e4d204c94d3148cb942174a474930d0c60540133c968f22241d4712b7940c96cbc883096eb326a4d5b206fb78bd0 languageName: node linkType: hard @@ -2680,13 +2444,6 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^14.14.31": - version: 14.14.31 - resolution: "@types/node@npm:14.14.31" - checksum: 5b9ab3660ee63abc57affc836c0d50b2941a862c5b6c241c02762d8e1ad610f6b0d350d7426218dc401b5abc7d6294ee1b475da7c331e486d59a5608d1a0b777 - languageName: node - linkType: hard - "@types/normalize-package-data@npm:^2.4.0": version: 2.4.1 resolution: "@types/normalize-package-data@npm:2.4.1" @@ -2710,13 +2467,6 @@ __metadata: languageName: node linkType: hard -"@types/prettier@npm:^2.1.5": - version: 2.6.1 - resolution: "@types/prettier@npm:2.6.1" - checksum: b25ec46d18129fa40c1a1f42feb7406e8f19901ba5261ba3c71600ad14996ae07b4f4b727a9b83da673948011e59d870fc519166f05b5d49e9ad39db1aea8c93 - languageName: node - linkType: hard - "@types/punycode@npm:^2.1.0": version: 2.1.0 resolution: "@types/punycode@npm:2.1.0" @@ -2749,13 +2499,6 @@ __metadata: languageName: node linkType: hard -"@types/stack-utils@npm:^1.0.1": - version: 1.0.1 - resolution: "@types/stack-utils@npm:1.0.1" - checksum: 9dc052b575acfeca3f165fb19d87b7b2989d54ed7d64a7eeb0b7587bc5795ef1f2c2b1511a44dcf0831ef35b8ce3486f97fcbfdd50c01f68aa297de31502c9d9 - languageName: node - linkType: hard - "@types/stack-utils@npm:^2.0.0": version: 2.0.1 resolution: "@types/stack-utils@npm:2.0.1" @@ -2803,24 +2546,6 @@ __metadata: languageName: node linkType: hard -"@types/yargs@npm:^16.0.0": - version: 16.0.4 - resolution: "@types/yargs@npm:16.0.4" - dependencies: - "@types/yargs-parser": "*" - checksum: caa21d2c957592fe2184a8368c8cbe5a82a6c2e2f2893722e489f842dc5963293d2f3120bc06fe3933d60a3a0d1e2eb269649fd6b1947fe1820f8841ba611dd9 - languageName: node - linkType: hard - -"@types/yargs@npm:^17.0.8": - version: 17.0.10 - resolution: "@types/yargs@npm:17.0.10" - dependencies: - "@types/yargs-parser": "*" - checksum: f0673cbfc08e17239dc58952a88350d6c4db04a027a28a06fbad27d87b670e909f9cd9e66f9c64cebdd5071d1096261e33454a55868395f125297e5c50992ca8 - languageName: node - linkType: hard - "@typescript-eslint/eslint-plugin@npm:^4.33.0": version: 4.33.0 resolution: "@typescript-eslint/eslint-plugin@npm:4.33.0" @@ -2982,7 +2707,7 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.0, abab@npm:^2.0.3, abab@npm:^2.0.5": +"abab@npm:^2.0.3, abab@npm:^2.0.5": version: 2.0.6 resolution: "abab@npm:2.0.6" checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e @@ -3016,20 +2741,10 @@ __metadata: "abstract-leveldown@npm:~2.7.1": version: 2.7.2 - resolution: "abstract-leveldown@npm:2.7.2" - dependencies: - xtend: ~4.0.0 - checksum: 97c45a05d8b5d24edf3855c1f9a19f919c4a189e387929745289a53116c80638339a7d4e50ad76d0ad2900166adaeaf2e0350dcdcd453e783cd8f04fd9bea17a - languageName: node - linkType: hard - -"acorn-globals@npm:^4.3.2": - version: 4.3.4 - resolution: "acorn-globals@npm:4.3.4" + resolution: "abstract-leveldown@npm:2.7.2" dependencies: - acorn: ^6.0.1 - acorn-walk: ^6.0.1 - checksum: c31bfde102d8a104835e9591c31dd037ec771449f9c86a6b1d2ac3c7c336694f828cfabba7687525b094f896a854affbf1afe6e1b12c0d998be6bab5d49c9663 + xtend: ~4.0.0 + checksum: 97c45a05d8b5d24edf3855c1f9a19f919c4a189e387929745289a53116c80638339a7d4e50ad76d0ad2900166adaeaf2e0350dcdcd453e783cd8f04fd9bea17a languageName: node linkType: hard @@ -3052,13 +2767,6 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^6.0.1": - version: 6.2.0 - resolution: "acorn-walk@npm:6.2.0" - checksum: ea241a5d96338f1e8030aafae72a91ff0ec4360e2775e44a2fdb2eb618b07fc309e000a5126056631ac7f00fe8bd9bbd23fcb6d018eee4ba11086eb36c1b2e61 - languageName: node - linkType: hard - "acorn-walk@npm:^7.1.1": version: 7.2.0 resolution: "acorn-walk@npm:7.2.0" @@ -3066,23 +2774,7 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^8.1.1": - version: 8.2.0 - resolution: "acorn-walk@npm:8.2.0" - checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 - languageName: node - linkType: hard - -"acorn@npm:^6.0.1": - version: 6.4.2 - resolution: "acorn@npm:6.4.2" - bin: - acorn: bin/acorn - checksum: 44b07053729db7f44d28343eed32247ed56dc4a6ec6dff2b743141ecd6b861406bbc1c20bf9d4f143ea7dd08add5dc8c290582756539bc03a8db605050ce2fb4 - languageName: node - linkType: hard - -"acorn@npm:^7.1.0, acorn@npm:^7.1.1, acorn@npm:^7.4.0": +"acorn@npm:^7.1.1, acorn@npm:^7.4.0": version: 7.4.1 resolution: "acorn@npm:7.4.1" bin: @@ -3091,7 +2783,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.2.4, acorn@npm:^8.4.1": +"acorn@npm:^8.2.4": version: 8.7.1 resolution: "acorn@npm:8.7.1" bin: @@ -3168,6 +2860,13 @@ __metadata: languageName: node linkType: hard +"ansi-colors@npm:^4.1.0": + version: 4.1.3 + resolution: "ansi-colors@npm:4.1.3" + checksum: a9c2ec842038a1fabc7db9ece7d3177e2fe1c5dc6f0c51ecfbf5f39911427b89c00b5dc6b8bd95f82a26e9b16aaae2e83d45f060e98070ce4d1333038edceb0e + languageName: node + linkType: hard + "ansi-colors@npm:^4.1.1": version: 4.1.1 resolution: "ansi-colors@npm:4.1.1" @@ -3292,13 +2991,6 @@ __metadata: languageName: node linkType: hard -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 544af8dd3f60546d3e4aff084d451b96961d2267d668670199692f8d054f0415d86fc5497d0e641e91546f0aa920e7c29e5250e99fc89f5552a34b5d93b77f43 - languageName: node - linkType: hard - "argparse@npm:^1.0.7": version: 1.0.10 resolution: "argparse@npm:1.0.10" @@ -3329,13 +3021,6 @@ __metadata: languageName: node linkType: hard -"array-equal@npm:^1.0.0": - version: 1.0.0 - resolution: "array-equal@npm:1.0.0" - checksum: 3f68045806357db9b2fa1ad583e42a659de030633118a0cd35ee4975cb20db3b9a3d36bbec9b5afe70011cf989eefd215c12fe0ce08c498f770859ca6e70688a - languageName: node - linkType: hard - "array-includes@npm:^3.1.1": version: 3.1.1 resolution: "array-includes@npm:3.1.1" @@ -3509,24 +3194,7 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^28.1.0": - version: 28.1.0 - resolution: "babel-jest@npm:28.1.0" - dependencies: - "@jest/transform": ^28.1.0 - "@types/babel__core": ^7.1.14 - babel-plugin-istanbul: ^6.1.1 - babel-preset-jest: ^28.0.2 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - slash: ^3.0.0 - peerDependencies: - "@babel/core": ^7.8.0 - checksum: b09195e04d58a763aa06423ffd6f3c4d1be0b40626fbbc65ca7c5668562d23624f36aee0821d9fef7496eb6a6df45c9215025451f1a64d064bfd4b0279cbe4c8 - languageName: node - linkType: hard - -"babel-plugin-istanbul@npm:^6.0.0, babel-plugin-istanbul@npm:^6.1.1": +"babel-plugin-istanbul@npm:^6.0.0": version: 6.1.1 resolution: "babel-plugin-istanbul@npm:6.1.1" dependencies: @@ -3551,18 +3219,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^28.0.2": - version: 28.0.2 - resolution: "babel-plugin-jest-hoist@npm:28.0.2" - dependencies: - "@babel/template": ^7.3.3 - "@babel/types": ^7.3.3 - "@types/babel__core": ^7.1.14 - "@types/babel__traverse": ^7.0.6 - checksum: 713c0279fd38bdac5683c4447ebf5bce09fabd64ecb2f3963b8e08b89705195023ff93ce9a9fd01b142e6b51443736ca0a6b21e051844510f319066859c79e1f - languageName: node - linkType: hard - "babel-plugin-polyfill-corejs2@npm:^0.3.0": version: 0.3.1 resolution: "babel-plugin-polyfill-corejs2@npm:0.3.1" @@ -3633,18 +3289,6 @@ __metadata: languageName: node linkType: hard -"babel-preset-jest@npm:^28.0.2": - version: 28.0.2 - resolution: "babel-preset-jest@npm:28.0.2" - dependencies: - babel-plugin-jest-hoist: ^28.0.2 - babel-preset-current-node-syntax: ^1.0.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 1e17c5a2fcbfa231838ea9338dabc7e9c4a214410d121c46fcc2d5bb53576152cd99356467d7821a7694e1d5765e27e43bd145c18e035d7c4bf95dc9ed1ad1ba - languageName: node - linkType: hard - "babel-runtime@npm:^6.26.0": version: 6.26.0 resolution: "babel-runtime@npm:6.26.0" @@ -4057,7 +3701,7 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^6.0.0, camelcase@npm:^6.2.0": +"camelcase@npm:^6.0.0": version: 6.3.0 resolution: "camelcase@npm:6.3.0" checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d @@ -4112,23 +3756,23 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^3.0.0": - version: 3.0.0 - resolution: "chalk@npm:3.0.0" +"chalk@npm:^4.0.0": + version: 4.1.0 + resolution: "chalk@npm:4.1.0" dependencies: ansi-styles: ^4.1.0 supports-color: ^7.1.0 - checksum: 8e3ddf3981c4da405ddbd7d9c8d91944ddf6e33d6837756979f7840a29272a69a5189ecae0ff84006750d6d1e92368d413335eab4db5476db6e6703a1d1e0505 + checksum: 5561c7b4c063badee3e16d04bce50bd033e1be1bf4c6948639275683ffa7a1993c44639b43c22b1c505f0f813a24b1889037eb182546b48946f9fe7cdd0e7d13 languageName: node linkType: hard -"chalk@npm:^4.0.0": - version: 4.1.0 - resolution: "chalk@npm:4.1.0" +"chalk@npm:^4.1.1": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" dependencies: ansi-styles: ^4.1.0 supports-color: ^7.1.0 - checksum: 5561c7b4c063badee3e16d04bce50bd033e1be1bf4c6948639275683ffa7a1993c44639b43c22b1c505f0f813a24b1889037eb182546b48946f9fe7cdd0e7d13 + checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc languageName: node linkType: hard @@ -4162,13 +3806,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.2.0": - version: 3.3.1 - resolution: "ci-info@npm:3.3.1" - checksum: 244546317cca96955860d2cb8d0bf47dd66d9078bbe83a215fa87464ab24b352c6fc6f56027d1c82f002e3f833be253f1320d35ed7199bd81134f7788c657f3a - languageName: node - linkType: hard - "cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": version: 1.0.4 resolution: "cipher-base@npm:1.0.4" @@ -4186,13 +3823,6 @@ __metadata: languageName: node linkType: hard -"cjs-module-lexer@npm:^1.0.0": - version: 1.2.2 - resolution: "cjs-module-lexer@npm:1.2.2" - checksum: 977f3f042bd4f08e368c890d91eecfbc4f91da0bc009a3c557bc4dfbf32022ad1141244ac1178d44de70fc9f3dea7add7cd9a658a34b9fae98a55d8f92331ce5 - languageName: node - linkType: hard - "class-utils@npm:^0.3.5": version: 0.3.6 resolution: "class-utils@npm:0.3.6" @@ -4212,6 +3842,20 @@ __metadata: languageName: node linkType: hard +"cli-spinners@npm:^2.6.0": + version: 2.6.1 + resolution: "cli-spinners@npm:2.6.1" + checksum: 423409baaa7a58e5104b46ca1745fbfc5888bbd0b0c5a626e052ae1387060839c8efd512fb127e25769b3dc9562db1dc1b5add6e0b93b7ef64f477feb6416a45 + languageName: node + linkType: hard + +"cli-width@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-width@npm:3.0.0" + checksum: 4c94af3769367a70e11ed69aa6095f1c600c0ff510f3921ab4045af961820d57c0233acfa8b6396037391f31b4c397e1f614d234294f979ff61430a6c166c3f6 + languageName: node + linkType: hard + "cliui@npm:^6.0.0": version: 6.0.0 resolution: "cliui@npm:6.0.0" @@ -4322,6 +3966,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^9.0.0": + version: 9.3.0 + resolution: "commander@npm:9.3.0" + checksum: d421ce66fee25792a1470c69aa8d1b86434bf873a96483aa92c8267f81a6f20c6f7c426f5e82f88ac50a8ec4855d3f2787aebcdef8aa559e1080a2337a95a217 + languageName: node + linkType: hard + "comment-parser@npm:1.2.4": version: 1.2.4 resolution: "comment-parser@npm:1.2.4" @@ -4458,13 +4109,6 @@ __metadata: languageName: node linkType: hard -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: a9a1503d4390d8b59ad86f4607de7870b39cad43d929813599a23714831e81c520bddf61bcdd1f8e30f05fd3a2b71ae8538e946eb2786dc65c2bbc520f692eff - languageName: node - linkType: hard - "cross-spawn@npm:^6.0.0": version: 6.0.5 resolution: "cross-spawn@npm:6.0.5" @@ -4496,7 +4140,7 @@ __metadata: languageName: node linkType: hard -"cssom@npm:^0.4.1, cssom@npm:^0.4.4": +"cssom@npm:^0.4.4": version: 0.4.4 resolution: "cssom@npm:0.4.4" checksum: e3bc1076e7ee4213d4fef05e7ae03bfa83dc05f32611d8edc341f4ecc3d9647b89c8245474c7dd2cdcdb797a27c462e99da7ad00a34399694559f763478ff53f @@ -4510,7 +4154,7 @@ __metadata: languageName: node linkType: hard -"cssstyle@npm:^2.0.0, cssstyle@npm:^2.3.0": +"cssstyle@npm:^2.3.0": version: 2.3.0 resolution: "cssstyle@npm:2.3.0" dependencies: @@ -4528,17 +4172,6 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^1.1.0": - version: 1.1.0 - resolution: "data-urls@npm:1.1.0" - dependencies: - abab: ^2.0.0 - whatwg-mimetype: ^2.2.0 - whatwg-url: ^7.0.0 - checksum: dc4bd9621df0dff336d7c4c0517c792488ef3cf11cd37e72ab80f3a7f0a0aa14bad677ac97cf22c87c6eb9518e58b98590e1c8c756b56240940f0e470c81612e - languageName: node - linkType: hard - "data-urls@npm:^2.0.0": version: 2.0.0 resolution: "data-urls@npm:2.0.0" @@ -4613,13 +4246,6 @@ __metadata: languageName: node linkType: hard -"dedent@npm:^0.7.0": - version: 0.7.0 - resolution: "dedent@npm:0.7.0" - checksum: 87de191050d9a40dd70cad01159a0bcf05ecb59750951242070b6abf9569088684880d00ba92a955b4058804f16eeaf91d604f283929b4f614d181cd7ae633d2 - languageName: node - linkType: hard - "deep-freeze-strict@npm:^1.1.1": version: 1.1.1 resolution: "deep-freeze-strict@npm:1.1.1" @@ -4739,21 +4365,14 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^27.0.6": - version: 27.0.6 - resolution: "diff-sequences@npm:27.0.6" - checksum: f35ad024d426cd1026d6c98a1f604c41966a0e89712b05a38812fc11e645ff0e915ec17bc8f4b6910fed6df0b309b255aa6c7c77728be452c6dbbfa30aa2067b - languageName: node - linkType: hard - -"diff-sequences@npm:^28.0.2": - version: 28.0.2 - resolution: "diff-sequences@npm:28.0.2" - checksum: 482360a8ec93333ea61bc93a800a1bee37c943b94a48fa1597825076adcad24620b44a0d3aa8f3d190584a4156c4b3315028453ca33e1174001fae3cdaa7f8f8 +"diff-sequences@npm:^27.5.1": + version: 27.5.1 + resolution: "diff-sequences@npm:27.5.1" + checksum: a00db5554c9da7da225db2d2638d85f8e41124eccbd56cbaefb3b276dcbb1c1c2ad851c32defe2055a54a4806f030656cbf6638105fd6ce97bb87b90b32a33ca languageName: node linkType: hard -"diff@npm:^4.0.1, diff@npm:^4.0.2": +"diff@npm:^4.0.2": version: 4.0.2 resolution: "diff@npm:4.0.2" checksum: f2c09b0ce4e6b301c221addd83bf3f454c0bc00caa3dd837cf6c127d6edf7223aa2bbe3b688feea110b7f262adbfc845b757c44c8a9f8c0c5b15d8fa9ce9d20d @@ -4802,15 +4421,6 @@ __metadata: languageName: node linkType: hard -"domexception@npm:^1.0.1": - version: 1.0.1 - resolution: "domexception@npm:1.0.1" - dependencies: - webidl-conversions: ^4.0.2 - checksum: f564a9c0915dcb83ceefea49df14aaed106b1468fbe505119e8bcb0b77e242534f3aba861978537c0fc9dc6f35b176d0ffc77b3e342820fb27a8f215e7ae4d52 - languageName: node - linkType: hard - "domexception@npm:^2.0.1": version: 2.0.1 resolution: "domexception@npm:2.0.1" @@ -4859,13 +4469,6 @@ __metadata: languageName: node linkType: hard -"emittery@npm:^0.10.2": - version: 0.10.2 - resolution: "emittery@npm:0.10.2" - checksum: ee3e21788b043b90885b18ea756ec3105c1cedc50b29709c92b01e239c7e55345d4bb6d3aef4ddbaf528eef448a40b3bb831bad9ee0fc9c25cbf1367ab1ab5ac - languageName: node - linkType: hard - "emittery@npm:^0.7.1": version: 0.7.2 resolution: "emittery@npm:0.7.2" @@ -5030,25 +4633,6 @@ __metadata: languageName: node linkType: hard -"escodegen@npm:^1.11.1": - version: 1.14.3 - resolution: "escodegen@npm:1.14.3" - dependencies: - esprima: ^4.0.1 - estraverse: ^4.2.0 - esutils: ^2.0.2 - optionator: ^0.8.1 - source-map: ~0.6.1 - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 381cdc4767ecdb221206bbbab021b467bbc2a6f5c9a99c9e6353040080bdd3dfe73d7604ad89a47aca6ea7d58bc635f6bd3fbc8da9a1998e9ddfa8372362ccd0 - languageName: node - linkType: hard - "escodegen@npm:^2.0.0": version: 2.0.0 resolution: "escodegen@npm:2.0.0" @@ -5351,7 +4935,7 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^4.1.1, estraverse@npm:^4.2.0": +"estraverse@npm:^4.1.1": version: 4.3.0 resolution: "estraverse@npm:4.3.0" checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 @@ -5995,7 +5579,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:^5.0.0, execa@npm:^5.1.1": +"execa@npm:^5.1.1": version: 5.1.1 resolution: "execa@npm:5.1.1" dependencies: @@ -6048,19 +5632,6 @@ __metadata: languageName: node linkType: hard -"expect@npm:^28.1.0": - version: 28.1.0 - resolution: "expect@npm:28.1.0" - dependencies: - "@jest/expect-utils": ^28.1.0 - jest-get-type: ^28.0.2 - jest-matcher-utils: ^28.1.0 - jest-message-util: ^28.1.0 - jest-util: ^28.1.0 - checksum: 53bfa2e094a7d5b270ce9a8dafc5432d51bb369287502acd373b66fe01072260bacd1f83bf741d5de49b008406781ab879a0247f5f6fc10d3f32fbe5a3ccfbdf - languageName: node - linkType: hard - "extend-shallow@npm:^2.0.1": version: 2.0.1 resolution: "extend-shallow@npm:2.0.1" @@ -6348,7 +5919,7 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:^2.1.2, fsevents@npm:^2.3.2": +"fsevents@npm:^2.1.2": version: 2.3.2 resolution: "fsevents@npm:2.3.2" dependencies: @@ -6358,7 +5929,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@^2.1.2#~builtin, fsevents@patch:fsevents@^2.3.2#~builtin": +"fsevents@patch:fsevents@^2.1.2#~builtin": version: 2.3.2 resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=18f3a7" dependencies: @@ -6658,7 +6229,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.10 resolution: "graceful-fs@npm:4.2.10" checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da @@ -6853,15 +6424,6 @@ __metadata: languageName: node linkType: hard -"html-encoding-sniffer@npm:^1.0.2": - version: 1.0.2 - resolution: "html-encoding-sniffer@npm:1.0.2" - dependencies: - whatwg-encoding: ^1.0.1 - checksum: b874df6750451b7642fbe8e998c6bdd2911b0f42ad2927814b717bf1f4b082b0904b6178a1bfbc40117bf5799777993b0825e7713ca0fca49844e5aec03aa0e2 - languageName: node - linkType: hard - "html-encoding-sniffer@npm:^2.0.1": version: 2.0.1 resolution: "html-encoding-sniffer@npm:2.0.1" @@ -7101,13 +6663,6 @@ __metadata: languageName: node linkType: hard -"ip-regex@npm:^2.1.0": - version: 2.1.0 - resolution: "ip-regex@npm:2.1.0" - checksum: 331d95052aa53ce245745ea0fc3a6a1e2e3c8d6da65fa8ea52bf73768c1b22a9ac50629d1d2b08c04e7b3ac4c21b536693c149ce2c2615ee4796030e5b3e3cba - languageName: node - linkType: hard - "ip@npm:^1.1.5": version: 1.1.8 resolution: "ip@npm:1.1.8" @@ -7656,7 +7211,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-instrument@npm:^5.0.4, istanbul-lib-instrument@npm:^5.1.0": +"istanbul-lib-instrument@npm:^5.0.4": version: 5.2.0 resolution: "istanbul-lib-instrument@npm:5.2.0" dependencies: @@ -7691,7 +7246,7 @@ __metadata: languageName: node linkType: hard -"istanbul-reports@npm:^3.0.2, istanbul-reports@npm:^3.1.3": +"istanbul-reports@npm:^3.0.2": version: 3.1.4 resolution: "istanbul-reports@npm:3.1.4" dependencies: @@ -7712,43 +7267,6 @@ __metadata: languageName: node linkType: hard -"jest-changed-files@npm:^28.0.2": - version: 28.0.2 - resolution: "jest-changed-files@npm:28.0.2" - dependencies: - execa: ^5.0.0 - throat: ^6.0.1 - checksum: 389d4de4b26de3d2c6e23783ef4e23f827a9a79cfebd2db7c6ff74727198814469ee1e1a89f0e6d28a94e3c632ec45b044c2400a0793b8591e18d07b4b421784 - languageName: node - linkType: hard - -"jest-circus@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-circus@npm:28.1.0" - dependencies: - "@jest/environment": ^28.1.0 - "@jest/expect": ^28.1.0 - "@jest/test-result": ^28.1.0 - "@jest/types": ^28.1.0 - "@types/node": "*" - chalk: ^4.0.0 - co: ^4.6.0 - dedent: ^0.7.0 - is-generator-fn: ^2.0.0 - jest-each: ^28.1.0 - jest-matcher-utils: ^28.1.0 - jest-message-util: ^28.1.0 - jest-runtime: ^28.1.0 - jest-snapshot: ^28.1.0 - jest-util: ^28.1.0 - pretty-format: ^28.1.0 - slash: ^3.0.0 - stack-utils: ^2.0.3 - throat: ^6.0.1 - checksum: 29b3f6936671947b81c507132f2afeadf1789cefa1a3849d7ba6a2a32c532016c8df9a647cea6e286050b7d97f1244746175fe9fe768dd38f5bba329aa6c5bc7 - languageName: node - linkType: hard - "jest-cli@npm:^26.6.3": version: 26.6.3 resolution: "jest-cli@npm:26.6.3" @@ -7772,33 +7290,6 @@ __metadata: languageName: node linkType: hard -"jest-cli@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-cli@npm:28.1.0" - dependencies: - "@jest/core": ^28.1.0 - "@jest/test-result": ^28.1.0 - "@jest/types": ^28.1.0 - chalk: ^4.0.0 - exit: ^0.1.2 - graceful-fs: ^4.2.9 - import-local: ^3.0.2 - jest-config: ^28.1.0 - jest-util: ^28.1.0 - jest-validate: ^28.1.0 - prompts: ^2.0.1 - yargs: ^17.3.1 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: 9da98d9a7a0b670f610943be708205988030fd094029f8a64b258a5a5ef18c0b527ec7019e6b95802f2baa2241bb2d6caf31ef4fd530bcf176737e4ede1d9d79 - languageName: node - linkType: hard - "jest-config@npm:^26.6.3": version: 26.6.3 resolution: "jest-config@npm:26.6.3" @@ -7830,45 +7321,7 @@ __metadata: languageName: node linkType: hard -"jest-config@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-config@npm:28.1.0" - dependencies: - "@babel/core": ^7.11.6 - "@jest/test-sequencer": ^28.1.0 - "@jest/types": ^28.1.0 - babel-jest: ^28.1.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: ^28.1.0 - jest-environment-node: ^28.1.0 - jest-get-type: ^28.0.2 - jest-regex-util: ^28.0.2 - jest-resolve: ^28.1.0 - jest-runner: ^28.1.0 - jest-util: ^28.1.0 - jest-validate: ^28.1.0 - micromatch: ^4.0.4 - parse-json: ^5.2.0 - pretty-format: ^28.1.0 - slash: ^3.0.0 - strip-json-comments: ^3.1.1 - peerDependencies: - "@types/node": "*" - ts-node: ">=9.0.0" - peerDependenciesMeta: - "@types/node": - optional: true - ts-node: - optional: true - checksum: 48bfbef4334a187ce6873fd515230e521f500fe2ae57e43ec5747abee95a80583e784cfb99dd1b11664774f33da63758cc63d4a2b2ecf95c8984f2a880cd773e - languageName: node - linkType: hard - -"jest-diff@npm:^26.6.2": +"jest-diff@npm:^26.0.0, jest-diff@npm:^26.6.2": version: 26.6.2 resolution: "jest-diff@npm:26.6.2" dependencies: @@ -7880,27 +7333,15 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:^27.0.0": - version: 27.3.1 - resolution: "jest-diff@npm:27.3.1" - dependencies: - chalk: ^4.0.0 - diff-sequences: ^27.0.6 - jest-get-type: ^27.3.1 - pretty-format: ^27.3.1 - checksum: 49231a4ac4bed1cce8f5135db2a26a83673d5cbe5716bca29900a45ae0ddf237099d9091acac436b9c60ab933b0e7ca086ce8cb71f44411b572b69adbe96128d - languageName: node - linkType: hard - -"jest-diff@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-diff@npm:28.1.0" +"jest-diff@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-diff@npm:27.5.1" dependencies: chalk: ^4.0.0 - diff-sequences: ^28.0.2 - jest-get-type: ^28.0.2 - pretty-format: ^28.1.0 - checksum: 4d90d9d18ba1d28f5520fa206831e9e8199facf28c6d2b4967c7e4cd1ee78e7e826187babdeb02073f79a1d2c186520d73f77fa29877c6547b0a79392d08a513 + diff-sequences: ^27.5.1 + jest-get-type: ^27.5.1 + pretty-format: ^27.5.1 + checksum: 8be27c1e1ee57b2bb2bef9c0b233c19621b4c43d53a3c26e2c00a4e805eb4ea11fe1694a06a9fb0e80ffdcfdc0d2b1cb0b85920b3f5c892327ecd1e7bd96b865 languageName: node linkType: hard @@ -7913,15 +7354,6 @@ __metadata: languageName: node linkType: hard -"jest-docblock@npm:^28.0.2": - version: 28.0.2 - resolution: "jest-docblock@npm:28.0.2" - dependencies: - detect-newline: ^3.0.0 - checksum: 97aa9707127d5bfc4589485374711bbbb7d9049067fd562132592102f0b841682357eca9b95e35496f78538a2ae400b0b0a8b03f477d6773fc093be9f4716f1f - languageName: node - linkType: hard - "jest-each@npm:^26.6.2": version: 26.6.2 resolution: "jest-each@npm:26.6.2" @@ -7935,33 +7367,6 @@ __metadata: languageName: node linkType: hard -"jest-each@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-each@npm:28.1.0" - dependencies: - "@jest/types": ^28.1.0 - chalk: ^4.0.0 - jest-get-type: ^28.0.2 - jest-util: ^28.1.0 - pretty-format: ^28.1.0 - checksum: a3d650c0c12a4bf4d4497b9de8aceb0dd96a6183dd8016ae1e4a16b11a81e0e29a58e23b0a1f5a6ca6135156041fd6bf2a4557b9d1ecd33dd417d3cb0e8005a0 - languageName: node - linkType: hard - -"jest-environment-jsdom@npm:^25.0.0": - version: 25.5.0 - resolution: "jest-environment-jsdom@npm:25.5.0" - dependencies: - "@jest/environment": ^25.5.0 - "@jest/fake-timers": ^25.5.0 - "@jest/types": ^25.5.0 - jest-mock: ^25.5.0 - jest-util: ^25.5.0 - jsdom: ^15.2.1 - checksum: 3f8b54a0a49492ba82aedcf0b0015dbb106a8eb6adca4525424072abadf1b654383ea6f42de76eeb3deb5aac17728583df2b538bf481ca85a3e61f07e7e6ec3e - languageName: node - linkType: hard - "jest-environment-jsdom@npm:^26.6.2": version: 26.6.2 resolution: "jest-environment-jsdom@npm:26.6.2" @@ -7991,20 +7396,6 @@ __metadata: languageName: node linkType: hard -"jest-environment-node@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-environment-node@npm:28.1.0" - dependencies: - "@jest/environment": ^28.1.0 - "@jest/fake-timers": ^28.1.0 - "@jest/types": ^28.1.0 - "@types/node": "*" - jest-mock: ^28.1.0 - jest-util: ^28.1.0 - checksum: e65e83962b6d6d8879611e230d878cd2690acd20d1295071f67de7b02dfc4194438961be2a73acf005fc022fb2f73f9dafd50c23088d4e6b70156f8998b19beb - languageName: node - linkType: hard - "jest-get-type@npm:^26.3.0": version: 26.3.0 resolution: "jest-get-type@npm:26.3.0" @@ -8012,17 +7403,10 @@ __metadata: languageName: node linkType: hard -"jest-get-type@npm:^27.3.1": - version: 27.3.1 - resolution: "jest-get-type@npm:27.3.1" - checksum: b0b8db1d770c6332b4189bbf4073184489acbb1095410cf53add033daf911577ee6bd1c4f8d747dd2f3d63de42f7eb15c5527fc7288a2855a046f4a8957cd902 - languageName: node - linkType: hard - -"jest-get-type@npm:^28.0.2": - version: 28.0.2 - resolution: "jest-get-type@npm:28.0.2" - checksum: 5281d7c89bc8156605f6d15784f45074f4548501195c26e9b188742768f72d40948252d13230ea905b5349038865a1a8eeff0e614cc530ff289dfc41fe843abd +"jest-get-type@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-get-type@npm:27.5.1" + checksum: 63064ab70195c21007d897c1157bf88ff94a790824a10f8c890392e7d17eda9c3900513cb291ca1c8d5722cad79169764e9a1279f7c8a9c4cd6e9109ff04bbc0 languageName: node linkType: hard @@ -8051,26 +7435,16 @@ __metadata: languageName: node linkType: hard -"jest-haste-map@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-haste-map@npm:28.1.0" +"jest-it-up@npm:^2.0.2": + version: 2.0.2 + resolution: "jest-it-up@npm:2.0.2" dependencies: - "@jest/types": ^28.1.0 - "@types/graceful-fs": ^4.1.3 - "@types/node": "*" - anymatch: ^3.0.3 - fb-watchman: ^2.0.0 - fsevents: ^2.3.2 - graceful-fs: ^4.2.9 - jest-regex-util: ^28.0.2 - jest-util: ^28.1.0 - jest-worker: ^28.1.0 - micromatch: ^4.0.4 - walker: ^1.0.7 - dependenciesMeta: - fsevents: - optional: true - checksum: 128c2d1aa39610febfc9fe66bbc40bb847d89da3e1646ed1bbe63e90bd4c930d1798d20aef8d928fda8e5b0570f05f1cbb263030ebe776c01bb86dd5174434da + "@inquirer/confirm": ^0.0.14-alpha.0 + ansi-colors: ^4.1.0 + commander: ^9.0.0 + bin: + jest-it-up: bin/jest-it-up + checksum: 1482d8b9862331b6cc7d858fd1c05d95fb1bc2adbc37e243c20e6e10f259fecf600d3b1023dadf11acadb158ea171677f8f375969e058dff46002be81a49079b languageName: node linkType: hard @@ -8110,16 +7484,6 @@ __metadata: languageName: node linkType: hard -"jest-leak-detector@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-leak-detector@npm:28.1.0" - dependencies: - jest-get-type: ^28.0.2 - pretty-format: ^28.1.0 - checksum: 911eec6b96d389c1e7741c8df85e030a9618e38105c7e71f6f2c1284a02d033fec4e6a8916385f17fd5ed0ffffb8491ac887f5b3de11d0265d8415598e9c0ae6 - languageName: node - linkType: hard - "jest-matcher-utils@npm:^26.6.2": version: 26.6.2 resolution: "jest-matcher-utils@npm:26.6.2" @@ -8132,31 +7496,15 @@ __metadata: languageName: node linkType: hard -"jest-matcher-utils@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-matcher-utils@npm:28.1.0" +"jest-matcher-utils@npm:^27.0.0": + version: 27.5.1 + resolution: "jest-matcher-utils@npm:27.5.1" dependencies: chalk: ^4.0.0 - jest-diff: ^28.1.0 - jest-get-type: ^28.0.2 - pretty-format: ^28.1.0 - checksum: 60e3e83fff67402972b101135d44443981d6519008e435b567f197220f330ec38356f905b6872348d082f0a2a4089612f63d2c72f55ee3c718de6b0ef03f4d6d - languageName: node - linkType: hard - -"jest-message-util@npm:^25.5.0": - version: 25.5.0 - resolution: "jest-message-util@npm:25.5.0" - dependencies: - "@babel/code-frame": ^7.0.0 - "@jest/types": ^25.5.0 - "@types/stack-utils": ^1.0.1 - chalk: ^3.0.0 - graceful-fs: ^4.2.4 - micromatch: ^4.0.2 - slash: ^3.0.0 - stack-utils: ^1.0.1 - checksum: 16ab8999802649069504a6eb1b2ee645d048cfe8dd2a8ac2a552d5f7f67bf657f02e1974c8e18313dbe9b4e9d83f80510757c1e6b4e5392db7d5da68d4eeebba + jest-diff: ^27.5.1 + jest-get-type: ^27.5.1 + pretty-format: ^27.5.1 + checksum: bb2135fc48889ff3fe73888f6cc7168ddab9de28b51b3148f820c89fdfd2effdcad005f18be67d0b9be80eda208ad47290f62f03d0a33f848db2dd0273c8217a languageName: node linkType: hard @@ -8177,32 +7525,6 @@ __metadata: languageName: node linkType: hard -"jest-message-util@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-message-util@npm:28.1.0" - dependencies: - "@babel/code-frame": ^7.12.13 - "@jest/types": ^28.1.0 - "@types/stack-utils": ^2.0.0 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - micromatch: ^4.0.4 - pretty-format: ^28.1.0 - slash: ^3.0.0 - stack-utils: ^2.0.3 - checksum: a224f9dbb53b5ad857918938f94c6e5d9c64ccdd42e0780b3b485d66bd93c82cff7dd91fbe274273efb69533d79808f9c98622b23d70ec027e8619a20e283773 - languageName: node - linkType: hard - -"jest-mock@npm:^25.5.0": - version: 25.5.0 - resolution: "jest-mock@npm:25.5.0" - dependencies: - "@jest/types": ^25.5.0 - checksum: b0e3cc2ccb05b45fc1ec52476d07740cab980d7ed41bf621c9000b9c5e4dafb05bc3f8ca6f7907a865d89522001a14f582863c6481af9e972a8f1765f0fe852e - languageName: node - linkType: hard - "jest-mock@npm:^26.6.2": version: 26.6.2 resolution: "jest-mock@npm:26.6.2" @@ -8213,16 +7535,6 @@ __metadata: languageName: node linkType: hard -"jest-mock@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-mock@npm:28.1.0" - dependencies: - "@jest/types": ^28.1.0 - "@types/node": "*" - checksum: 013428db82f418059314588e5d02a2a8f6697940ffeb1b1a23f61e9b94b1dca3ea0061d91f284e217bf0ce0e5251ff8f2f182a393cecd1ec6788d766cc18ded4 - languageName: node - linkType: hard - "jest-pnp-resolver@npm:^1.2.2": version: 1.2.2 resolution: "jest-pnp-resolver@npm:1.2.2" @@ -8242,13 +7554,6 @@ __metadata: languageName: node linkType: hard -"jest-regex-util@npm:^28.0.2": - version: 28.0.2 - resolution: "jest-regex-util@npm:28.0.2" - checksum: 0ea8c5c82ec88bc85e273c0ec82e0c0f35f7a1e2d055070e50f0cc2a2177f848eec55f73e37ae0d045c3db5014c42b2f90ac62c1ab3fdb354d2abd66a9e08add - languageName: node - linkType: hard - "jest-resolve-dependencies@npm:^26.6.3": version: 26.6.3 resolution: "jest-resolve-dependencies@npm:26.6.3" @@ -8260,46 +7565,19 @@ __metadata: languageName: node linkType: hard -"jest-resolve-dependencies@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-resolve-dependencies@npm:28.1.0" - dependencies: - jest-regex-util: ^28.0.2 - jest-snapshot: ^28.1.0 - checksum: 0720ab19285ee64b7dad65c2feff08323660e9ff9c09380011a45d4af58dcf6a6710f10bbe80986ffe2452e11d09be0974d42163c31e832be4fab6c348b4dea5 - languageName: node - linkType: hard - "jest-resolve@npm:^26.6.2": version: 26.6.2 resolution: "jest-resolve@npm:26.6.2" dependencies: "@jest/types": ^26.6.2 chalk: ^4.0.0 - graceful-fs: ^4.2.4 - jest-pnp-resolver: ^1.2.2 - jest-util: ^26.6.2 - read-pkg-up: ^7.0.1 - resolve: ^1.18.1 - slash: ^3.0.0 - checksum: d6264d3f39b098753802a237c8c54f3109f5f3b3b7fa6f8d7aec7dca01b357ddf518ce1c33a68454357c15f48fb3c6026a92b9c4f5d72f07e24e80f04bcc8d58 - languageName: node - linkType: hard - -"jest-resolve@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-resolve@npm:28.1.0" - dependencies: - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - jest-haste-map: ^28.1.0 + graceful-fs: ^4.2.4 jest-pnp-resolver: ^1.2.2 - jest-util: ^28.1.0 - jest-validate: ^28.1.0 - resolve: ^1.20.0 - resolve.exports: ^1.1.0 + jest-util: ^26.6.2 + read-pkg-up: ^7.0.1 + resolve: ^1.18.1 slash: ^3.0.0 - checksum: 1a37e3a8a1b49a148c4611f85cb27dbb6b0b2d1b76b8a52ddfeb340a74f6d2a7851ba8ba2374948a21024d56592f32b48e3142e9fd813a0fcea4d1db3602ec77 + checksum: d6264d3f39b098753802a237c8c54f3109f5f3b3b7fa6f8d7aec7dca01b357ddf518ce1c33a68454357c15f48fb3c6026a92b9c4f5d72f07e24e80f04bcc8d58 languageName: node linkType: hard @@ -8331,35 +7609,6 @@ __metadata: languageName: node linkType: hard -"jest-runner@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-runner@npm:28.1.0" - dependencies: - "@jest/console": ^28.1.0 - "@jest/environment": ^28.1.0 - "@jest/test-result": ^28.1.0 - "@jest/transform": ^28.1.0 - "@jest/types": ^28.1.0 - "@types/node": "*" - chalk: ^4.0.0 - emittery: ^0.10.2 - graceful-fs: ^4.2.9 - jest-docblock: ^28.0.2 - jest-environment-node: ^28.1.0 - jest-haste-map: ^28.1.0 - jest-leak-detector: ^28.1.0 - jest-message-util: ^28.1.0 - jest-resolve: ^28.1.0 - jest-runtime: ^28.1.0 - jest-util: ^28.1.0 - jest-watcher: ^28.1.0 - jest-worker: ^28.1.0 - source-map-support: 0.5.13 - throat: ^6.0.1 - checksum: 79f622a06e7b4f065b6ad14633ddb3ebabdacc479d4059a17bad4470570f941623957701cf08a3efe49c0cf04f78830fc07270ad8ad759b623a9de1bcb93c45f - languageName: node - linkType: hard - "jest-runtime@npm:^26.6.3": version: 26.6.3 resolution: "jest-runtime@npm:26.6.3" @@ -8397,36 +7646,6 @@ __metadata: languageName: node linkType: hard -"jest-runtime@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-runtime@npm:28.1.0" - dependencies: - "@jest/environment": ^28.1.0 - "@jest/fake-timers": ^28.1.0 - "@jest/globals": ^28.1.0 - "@jest/source-map": ^28.0.2 - "@jest/test-result": ^28.1.0 - "@jest/transform": ^28.1.0 - "@jest/types": ^28.1.0 - chalk: ^4.0.0 - cjs-module-lexer: ^1.0.0 - collect-v8-coverage: ^1.0.0 - execa: ^5.0.0 - glob: ^7.1.3 - graceful-fs: ^4.2.9 - jest-haste-map: ^28.1.0 - jest-message-util: ^28.1.0 - jest-mock: ^28.1.0 - jest-regex-util: ^28.0.2 - jest-resolve: ^28.1.0 - jest-snapshot: ^28.1.0 - jest-util: ^28.1.0 - slash: ^3.0.0 - strip-bom: ^4.0.0 - checksum: e3a01bbbf6ffb28174303e2d2c043fb766b178a6354186dcbe8e8cc8e706162ecfb2b6f49d71ec7b2459dc6701979ffeee003fdf153492b9e74a846cf11af5d8 - languageName: node - linkType: hard - "jest-serializer@npm:^26.6.2": version: 26.6.2 resolution: "jest-serializer@npm:26.6.2" @@ -8461,50 +7680,6 @@ __metadata: languageName: node linkType: hard -"jest-snapshot@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-snapshot@npm:28.1.0" - dependencies: - "@babel/core": ^7.11.6 - "@babel/generator": ^7.7.2 - "@babel/plugin-syntax-typescript": ^7.7.2 - "@babel/traverse": ^7.7.2 - "@babel/types": ^7.3.3 - "@jest/expect-utils": ^28.1.0 - "@jest/transform": ^28.1.0 - "@jest/types": ^28.1.0 - "@types/babel__traverse": ^7.0.6 - "@types/prettier": ^2.1.5 - babel-preset-current-node-syntax: ^1.0.0 - chalk: ^4.0.0 - expect: ^28.1.0 - graceful-fs: ^4.2.9 - jest-diff: ^28.1.0 - jest-get-type: ^28.0.2 - jest-haste-map: ^28.1.0 - jest-matcher-utils: ^28.1.0 - jest-message-util: ^28.1.0 - jest-util: ^28.1.0 - natural-compare: ^1.4.0 - pretty-format: ^28.1.0 - semver: ^7.3.5 - checksum: 73695484cf4e2af9d0dbb8bc1e851f6d6217cc740aa93b521012c253fbbd9dc1ce11b147ac3e18cac8358b4b64fe36a1b8a6d1a3083c9d275dd937281faad818 - languageName: node - linkType: hard - -"jest-util@npm:^25.5.0": - version: 25.5.0 - resolution: "jest-util@npm:25.5.0" - dependencies: - "@jest/types": ^25.5.0 - chalk: ^3.0.0 - graceful-fs: ^4.2.4 - is-ci: ^2.0.0 - make-dir: ^3.0.0 - checksum: 4c982e37968914d9e8b8330d2838533a4e8566b80b38cbb0916a19660a805357913aae1382fef35aeb4e348ba5dad77eb7413a16d533cdba7317941e01236352 - languageName: node - linkType: hard - "jest-util@npm:^26.1.0, jest-util@npm:^26.6.2": version: 26.6.2 resolution: "jest-util@npm:26.6.2" @@ -8519,20 +7694,6 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-util@npm:28.1.0" - dependencies: - "@jest/types": ^28.1.0 - "@types/node": "*" - chalk: ^4.0.0 - ci-info: ^3.2.0 - graceful-fs: ^4.2.9 - picomatch: ^2.2.3 - checksum: 14c2ee1c24c6efa2d7adfe81ece8b9bbda78fa871f40bed80db72726166e96f7fb22bf1d9fb1689fb433b9bcd748027eb1ee5f0851a12f1aa1c49ee0bd4d7508 - languageName: node - linkType: hard - "jest-validate@npm:^26.6.2": version: 26.6.2 resolution: "jest-validate@npm:26.6.2" @@ -8547,20 +7708,6 @@ __metadata: languageName: node linkType: hard -"jest-validate@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-validate@npm:28.1.0" - dependencies: - "@jest/types": ^28.1.0 - camelcase: ^6.2.0 - chalk: ^4.0.0 - jest-get-type: ^28.0.2 - leven: ^3.1.0 - pretty-format: ^28.1.0 - checksum: 79f9fe39f15bb47b15da39e19a1b2ba948830b6da53ccf359857cdeaca62cd87721585b0137576e7d1d2b2d7e5b79fdfb57d5b80e6ce3c8a93865d6032b20e4a - languageName: node - linkType: hard - "jest-watcher@npm:^26.6.2": version: 26.6.2 resolution: "jest-watcher@npm:26.6.2" @@ -8576,23 +7723,7 @@ __metadata: languageName: node linkType: hard -"jest-watcher@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-watcher@npm:28.1.0" - dependencies: - "@jest/test-result": ^28.1.0 - "@jest/types": ^28.1.0 - "@types/node": "*" - ansi-escapes: ^4.2.1 - chalk: ^4.0.0 - emittery: ^0.10.2 - jest-util: ^28.1.0 - string-length: ^4.0.1 - checksum: 4a1ae2e1adf933cfa963b0f82cb4fecd863f1b980b7db05dfd856e83637b9380a4476a73dcbe50a70cb49d028999fae0d1bb60d75b410a682d8b3f344a073dda - languageName: node - linkType: hard - -"jest-when@npm:^3.4.2, jest-when@npm:^3.5.1": +"jest-when@npm:^3.4.2": version: 3.5.1 resolution: "jest-when@npm:3.5.1" peerDependencies: @@ -8612,17 +7743,6 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^28.1.0": - version: 28.1.0 - resolution: "jest-worker@npm:28.1.0" - dependencies: - "@types/node": "*" - merge-stream: ^2.0.0 - supports-color: ^8.0.0 - checksum: 44b6cfb03752543e2462f143ca5c9642206f20813068ef0461e793bb8feda85f643ee906d96a0a57728e1a2fb5b89386fd34e44289568b1cee5815c115e7ee02 - languageName: node - linkType: hard - "jest@npm:^26.4.2": version: 26.6.3 resolution: "jest@npm:26.6.3" @@ -8636,24 +7756,6 @@ __metadata: languageName: node linkType: hard -"jest@npm:^28.1.0": - version: 28.1.0 - resolution: "jest@npm:28.1.0" - dependencies: - "@jest/core": ^28.1.0 - import-local: ^3.0.2 - jest-cli: ^28.1.0 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: f025164c408cf5ddb6e74dac1e8cbaf94c1c31dd1c67aba4ceee5989b2d8a77886db8ed1fb88853b45cf194b14cd802b454bbbe6b278a1e2140250297dc100d3 - languageName: node - linkType: hard - "js-sha3@npm:0.5.5": version: 0.5.5 resolution: "js-sha3@npm:0.5.5" @@ -8715,45 +7817,6 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^15.2.1": - version: 15.2.1 - resolution: "jsdom@npm:15.2.1" - dependencies: - abab: ^2.0.0 - acorn: ^7.1.0 - acorn-globals: ^4.3.2 - array-equal: ^1.0.0 - cssom: ^0.4.1 - cssstyle: ^2.0.0 - data-urls: ^1.1.0 - domexception: ^1.0.1 - escodegen: ^1.11.1 - html-encoding-sniffer: ^1.0.2 - nwsapi: ^2.2.0 - parse5: 5.1.0 - pn: ^1.1.0 - request: ^2.88.0 - request-promise-native: ^1.0.7 - saxes: ^3.1.9 - symbol-tree: ^3.2.2 - tough-cookie: ^3.0.1 - w3c-hr-time: ^1.0.1 - w3c-xmlserializer: ^1.1.2 - webidl-conversions: ^4.0.2 - whatwg-encoding: ^1.0.5 - whatwg-mimetype: ^2.3.0 - whatwg-url: ^7.0.0 - ws: ^7.0.0 - xml-name-validator: ^3.0.0 - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: eff437b977330b1e63cd3ee2c2fe7c799c876799cae35525e1e6864d939dd41631ebd65f847adaeb83c2160c828d027d0f1d0dbe88366d1da22c875a5165a78c - languageName: node - linkType: hard - "jsdom@npm:^16.4.0": version: 16.7.0 resolution: "jsdom@npm:16.7.0" @@ -9143,13 +8206,6 @@ __metadata: languageName: node linkType: hard -"lodash.sortby@npm:^4.7.0": - version: 4.7.0 - resolution: "lodash.sortby@npm:4.7.0" - checksum: db170c9396d29d11fe9a9f25668c4993e0c1331bcb941ddbd48fb76f492e732add7f2a47cfdf8e9d740fa59ac41bbfaf931d268bc72aab3ab49e9f89354d718c - languageName: node - linkType: hard - "lodash@npm:4.x, lodash@npm:^4.17.13, lodash@npm:^4.17.14, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" @@ -9157,15 +8213,6 @@ __metadata: languageName: node linkType: hard -"lolex@npm:^5.0.0": - version: 5.1.2 - resolution: "lolex@npm:5.1.2" - dependencies: - "@sinonjs/commons": ^1.7.0 - checksum: 7eb468d4ef4746c024d23cb2b75f679f79449a9d5cbe11abadf2f3b147c1d7ffe28816438bedfb8a75c58357a625c2f9ba197b050c226d2b3f0c4a956cf556fb - languageName: node - linkType: hard - "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -9212,13 +8259,6 @@ __metadata: languageName: node linkType: hard -"make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 - languageName: node - linkType: hard - "make-fetch-happen@npm:^10.0.3": version: 10.1.7 resolution: "make-fetch-happen@npm:10.1.7" @@ -9588,6 +8628,13 @@ __metadata: languageName: node linkType: hard +"mute-stream@npm:^0.0.8": + version: 0.0.8 + resolution: "mute-stream@npm:0.0.8" + checksum: ff48d251fc3f827e5b1206cda0ffdaec885e56057ee86a3155e1951bc940fd5f33531774b1cc8414d7668c10a8907f863f6561875ee6e8768931a62121a531a1 + languageName: node + linkType: hard + "nanoid@npm:^3.1.31": version: 3.3.4 resolution: "nanoid@npm:3.3.4" @@ -10156,7 +9203,7 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": +"parse-json@npm:^5.0.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" dependencies: @@ -10168,13 +9215,6 @@ __metadata: languageName: node linkType: hard -"parse5@npm:5.1.0": - version: 5.1.0 - resolution: "parse5@npm:5.1.0" - checksum: 13c44c6d47035a3cc75303655ae5630dc264f9b9ab8344feb3f79ca195d8b57a2a246af902abef1d780ad1eee92eb9b88cd03098a7ee7dd111f032152ebaf0a6 - languageName: node - linkType: hard - "parse5@npm:6.0.1": version: 6.0.1 resolution: "parse5@npm:6.0.1" @@ -10338,7 +9378,7 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.1, pirates@npm:^4.0.4": +"pirates@npm:^4.0.1": version: 4.0.5 resolution: "pirates@npm:4.0.5" checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227 @@ -10363,13 +9403,6 @@ __metadata: languageName: node linkType: hard -"pn@npm:^1.1.0": - version: 1.1.0 - resolution: "pn@npm:1.1.0" - checksum: e4654186dc92a187c8c7fe4ccda902f4d39dd9c10f98d1c5a08ce5fad5507ef1e33ddb091240c3950bee81bd201b4c55098604c433a33b5e8bdd97f38b732fa0 - languageName: node - linkType: hard - "posix-character-classes@npm:^0.1.0": version: 0.1.1 resolution: "posix-character-classes@npm:0.1.1" @@ -10427,7 +9460,7 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^26.6.2": +"pretty-format@npm:^26.0.0, pretty-format@npm:^26.6.2": version: 26.6.2 resolution: "pretty-format@npm:26.6.2" dependencies: @@ -10439,27 +9472,14 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^27.0.0, pretty-format@npm:^27.3.1": - version: 27.3.1 - resolution: "pretty-format@npm:27.3.1" +"pretty-format@npm:^27.0.0, pretty-format@npm:^27.5.1": + version: 27.5.1 + resolution: "pretty-format@npm:27.5.1" dependencies: - "@jest/types": ^27.2.5 ansi-regex: ^5.0.1 ansi-styles: ^5.0.0 react-is: ^17.0.1 - checksum: 2979eae85a4f7ba1c3946faa8f5c6497cc80dc64ba499ccd5fdada267f82dc664f315a4c1cdd4c0b4b97edbae399a7bf0a957cc1b87feb91cd95f1e436834fed - languageName: node - linkType: hard - -"pretty-format@npm:^28.1.0": - version: 28.1.0 - resolution: "pretty-format@npm:28.1.0" - dependencies: - "@jest/schemas": ^28.0.2 - ansi-regex: ^5.0.1 - ansi-styles: ^5.0.0 - react-is: ^18.0.0 - checksum: c1018099f8f800693449df96c05c243d94e01f7429b6617e1064a1a69b4d715637fc3c579061fbc31548b87d92af74a7933c6eb3856da6f30b29c0ff67004ce0 + checksum: cf610cffcb793885d16f184a62162f2dd0df31642d9a18edf4ca298e909a8fe80bdbf556d5c9573992c102ce8bf948691da91bf9739bee0ffb6e79c8a8a6e088 languageName: node linkType: hard @@ -10596,13 +9616,6 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^18.0.0": - version: 18.1.0 - resolution: "react-is@npm:18.1.0" - checksum: d206a0fe6790851bff168727bfb896de02c5591695afb0c441163e8630136a3e13ee1a7ddd59fdccddcc93968b4721ae112c10f790b194b03b35a3dc13a355ef - languageName: node - linkType: hard - "read-package-json-fast@npm:^2.0.1": version: 2.0.2 resolution: "read-package-json-fast@npm:2.0.2" @@ -10777,31 +9790,7 @@ __metadata: languageName: node linkType: hard -"request-promise-core@npm:1.1.4": - version: 1.1.4 - resolution: "request-promise-core@npm:1.1.4" - dependencies: - lodash: ^4.17.19 - peerDependencies: - request: ^2.34 - checksum: c798bafd552961e36fbf5023b1d081e81c3995ab390f1bc8ef38a711ba3fe4312eb94dbd61887073d7356c3499b9380947d7f62faa805797c0dc50f039425699 - languageName: node - linkType: hard - -"request-promise-native@npm:^1.0.7": - version: 1.0.9 - resolution: "request-promise-native@npm:1.0.9" - dependencies: - request-promise-core: 1.1.4 - stealthy-require: ^1.1.1 - tough-cookie: ^2.3.3 - peerDependencies: - request: ^2.34 - checksum: 3e2c694eefac88cb20beef8911ad57a275ab3ccbae0c4ca6c679fffb09d5fd502458aab08791f0814ca914b157adab2d4e472597c97a73be702918e41725ed69 - languageName: node - linkType: hard - -"request@npm:^2.85.0, request@npm:^2.88.0, request@npm:^2.88.2": +"request@npm:^2.85.0, request@npm:^2.88.2": version: 2.88.2 resolution: "request@npm:2.88.2" dependencies: @@ -10880,13 +9869,6 @@ __metadata: languageName: node linkType: hard -"resolve.exports@npm:^1.1.0": - version: 1.1.0 - resolution: "resolve.exports@npm:1.1.0" - checksum: 52865af8edb088f6c7759a328584a5de6b226754f004b742523adcfe398cfbc4559515104bc2ae87b8e78b1e4de46c9baec400b3fb1f7d517b86d2d48a098a2d - languageName: node - linkType: hard - "resolve@npm:^1.10.0, resolve@npm:^1.13.1, resolve@npm:^1.17.0": version: 1.17.0 resolution: "resolve@npm:1.17.0" @@ -11042,6 +10024,13 @@ __metadata: languageName: node linkType: hard +"run-async@npm:^2.3.0": + version: 2.4.1 + resolution: "run-async@npm:2.4.1" + checksum: a2c88aa15df176f091a2878eb840e68d0bdee319d8d97bbb89112223259cebecb94bc0defd735662b83c2f7a30bed8cddb7d1674eb48ae7322dc602b22d03797 + languageName: node + linkType: hard + "run-parallel@npm:^1.1.9": version: 1.1.10 resolution: "run-parallel@npm:1.1.10" @@ -11121,15 +10110,6 @@ __metadata: languageName: node linkType: hard -"saxes@npm:^3.1.9": - version: 3.1.11 - resolution: "saxes@npm:3.1.11" - dependencies: - xmlchars: ^2.1.1 - checksum: 3b69918c013fffae51c561f629a0f620c02dba70f762dab38f3cd92676dfe5edf1f0a523ca567882838f1a80e26e4671a8c2c689afa05c68f45a78261445aba0 - languageName: node - linkType: hard - "saxes@npm:^5.0.1": version: 5.0.1 resolution: "saxes@npm:5.0.1" @@ -11497,16 +10477,6 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:0.5.13": - version: 0.5.13 - resolution: "source-map-support@npm:0.5.13" - dependencies: - buffer-from: ^1.0.0 - source-map: ^0.6.0 - checksum: 933550047b6c1a2328599a21d8b7666507427c0f5ef5eaadd56b5da0fd9505e239053c66fe181bf1df469a3b7af9d775778eee283cbb7ae16b902ddc09e93a97 - languageName: node - linkType: hard - "source-map-support@npm:^0.5.6": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" @@ -11625,16 +10595,7 @@ __metadata: languageName: node linkType: hard -"stack-utils@npm:^1.0.1": - version: 1.0.5 - resolution: "stack-utils@npm:1.0.5" - dependencies: - escape-string-regexp: ^2.0.0 - checksum: f82baf8d89536252a55c76866d5be3d04c96b09693a8d2ab3794b9fdec3674e05bd3f3d19345093e2cbba116a1f8f413858e0537bc3c81c605249261c3d26182 - languageName: node - linkType: hard - -"stack-utils@npm:^2.0.2, stack-utils@npm:^2.0.3": +"stack-utils@npm:^2.0.2": version: 2.0.5 resolution: "stack-utils@npm:2.0.5" dependencies: @@ -11653,13 +10614,6 @@ __metadata: languageName: node linkType: hard -"stealthy-require@npm:^1.1.1": - version: 1.1.1 - resolution: "stealthy-require@npm:1.1.1" - checksum: 6805b857a9f3a6a1079fc6652278038b81011f2a5b22cbd559f71a6c02087e6f1df941eb10163e3fdc5391ab5807aa46758d4258547c1f5ede31e6d9bfda8dd3 - languageName: node - linkType: hard - "string-length@npm:^4.0.1": version: 4.0.1 resolution: "string-length@npm:4.0.1" @@ -11878,15 +10832,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.0.0": - version: 8.1.1 - resolution: "supports-color@npm:8.1.1" - dependencies: - has-flag: ^4.0.0 - checksum: c052193a7e43c6cdc741eb7f378df605636e01ad434badf7324f17fb60c69a880d8d8fcdcb562cf94c2350e57b937d7425ab5b8326c67c2adc48f7c87c1db406 - languageName: node - linkType: hard - "supports-hyperlinks@npm:^2.0.0": version: 2.1.0 resolution: "supports-hyperlinks@npm:2.1.0" @@ -11904,7 +10849,7 @@ __metadata: languageName: node linkType: hard -"symbol-tree@npm:^3.2.2, symbol-tree@npm:^3.2.4": +"symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" checksum: 6e8fc7e1486b8b54bea91199d9535bb72f10842e40c79e882fc94fb7b14b89866adf2fd79efa5ebb5b658bc07fb459ccce5ac0e99ef3d72f474e74aaf284029d @@ -11972,13 +10917,6 @@ __metadata: languageName: node linkType: hard -"throat@npm:^6.0.1": - version: 6.0.1 - resolution: "throat@npm:6.0.1" - checksum: 782d4171ee4e3cf947483ed2ff1af3e17cc4354c693b9d339284f61f99fbc401d171e0b0d2db3295bb7d447630333e9319c174ebd7ef315c6fb791db9675369c - languageName: node - linkType: hard - "through2@npm:^2.0.3": version: 2.0.5 resolution: "through2@npm:2.0.5" @@ -12043,27 +10981,6 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^2.3.3, tough-cookie@npm:~2.5.0": - version: 2.5.0 - resolution: "tough-cookie@npm:2.5.0" - dependencies: - psl: ^1.1.28 - punycode: ^2.1.1 - checksum: 16a8cd090224dd176eee23837cbe7573ca0fa297d7e468ab5e1c02d49a4e9a97bb05fef11320605eac516f91d54c57838a25864e8680e27b069a5231d8264977 - languageName: node - linkType: hard - -"tough-cookie@npm:^3.0.1": - version: 3.0.1 - resolution: "tough-cookie@npm:3.0.1" - dependencies: - ip-regex: ^2.1.0 - psl: ^1.1.28 - punycode: ^2.1.1 - checksum: 796f6239bce5674a1267b19f41972a2602a2a23715817237b5922b0dc2343512512eea7d41d29210a4ec545f8ef32173bbbf01277dd8ec3ae3841b19cbe69f67 - languageName: node - linkType: hard - "tough-cookie@npm:^4.0.0": version: 4.0.0 resolution: "tough-cookie@npm:4.0.0" @@ -12075,12 +10992,13 @@ __metadata: languageName: node linkType: hard -"tr46@npm:^1.0.1": - version: 1.0.1 - resolution: "tr46@npm:1.0.1" +"tough-cookie@npm:~2.5.0": + version: 2.5.0 + resolution: "tough-cookie@npm:2.5.0" dependencies: - punycode: ^2.1.0 - checksum: 96d4ed46bc161db75dbf9247a236ea0bfcaf5758baae6749e92afab0bc5a09cb59af21788ede7e55080f2bf02dce3e4a8f2a484cc45164e29f4b5e68f7cbcc1a + psl: ^1.1.28 + punycode: ^2.1.1 + checksum: 16a8cd090224dd176eee23837cbe7573ca0fa297d7e468ab5e1c02d49a4e9a97bb05fef11320605eac516f91d54c57838a25864e8680e27b069a5231d8264977 languageName: node linkType: hard @@ -12100,13 +11018,6 @@ __metadata: languageName: node linkType: hard -"ts-deepmerge@npm:^2.0.1": - version: 2.0.1 - resolution: "ts-deepmerge@npm:2.0.1" - checksum: 1d41981364192b521ce375740646ac2e00d7e3815c066624159309d3a2e43100449bc05c56d51938a1e5be444b0ca88ad9ce599fc489719805b9a2e9d4153194 - languageName: node - linkType: hard - "ts-jest@npm:^26.5.2": version: 26.5.6 resolution: "ts-jest@npm:26.5.6" @@ -12130,44 +11041,6 @@ __metadata: languageName: node linkType: hard -"ts-node@npm:^10.7.0": - version: 10.7.0 - resolution: "ts-node@npm:10.7.0" - dependencies: - "@cspotcode/source-map-support": 0.7.0 - "@tsconfig/node10": ^1.0.7 - "@tsconfig/node12": ^1.0.7 - "@tsconfig/node14": ^1.0.0 - "@tsconfig/node16": ^1.0.2 - acorn: ^8.4.1 - acorn-walk: ^8.1.1 - arg: ^4.1.0 - create-require: ^1.1.0 - diff: ^4.0.1 - make-error: ^1.1.1 - v8-compile-cache-lib: ^3.0.0 - yn: 3.1.1 - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: 2a379e43f7478d0b79e1e63af91fe222d83857727957df4bd3bdf3c0a884de5097b12feb9bbf530074526b8874c0338b0e6328cf334f3a5e2c49c71e837273f7 - languageName: node - linkType: hard - "tsconfig-paths@npm:^3.9.0": version: 3.9.0 resolution: "tsconfig-paths@npm:3.9.0" @@ -12489,13 +11362,6 @@ __metadata: languageName: node linkType: hard -"v8-compile-cache-lib@npm:^3.0.0": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: 78089ad549e21bcdbfca10c08850022b22024cdcc2da9b168bcf5a73a6ed7bf01a9cebb9eac28e03cd23a684d81e0502797e88f3ccd27a32aeab1cfc44c39da0 - languageName: node - linkType: hard - "v8-compile-cache@npm:^2.0.3": version: 2.1.1 resolution: "v8-compile-cache@npm:2.1.1" @@ -12514,17 +11380,6 @@ __metadata: languageName: node linkType: hard -"v8-to-istanbul@npm:^9.0.0": - version: 9.0.0 - resolution: "v8-to-istanbul@npm:9.0.0" - dependencies: - "@jridgewell/trace-mapping": ^0.3.7 - "@types/istanbul-lib-coverage": ^2.0.1 - convert-source-map: ^1.6.0 - checksum: d8ed2c39ba657dfd851a3c7b3f2b87e5b96c9face806ecfe5b627abe53b0c86f264f51425c591e451405b739e3f8a6728da59670f081790990710e813d8d3440 - languageName: node - linkType: hard - "validate-npm-package-license@npm:^3.0.1": version: 3.0.4 resolution: "validate-npm-package-license@npm:3.0.4" @@ -12560,7 +11415,7 @@ __metadata: languageName: node linkType: hard -"w3c-hr-time@npm:^1.0.1, w3c-hr-time@npm:^1.0.2": +"w3c-hr-time@npm:^1.0.2": version: 1.0.2 resolution: "w3c-hr-time@npm:1.0.2" dependencies: @@ -12569,17 +11424,6 @@ __metadata: languageName: node linkType: hard -"w3c-xmlserializer@npm:^1.1.2": - version: 1.1.2 - resolution: "w3c-xmlserializer@npm:1.1.2" - dependencies: - domexception: ^1.0.1 - webidl-conversions: ^4.0.2 - xml-name-validator: ^3.0.0 - checksum: 1683e083d0dfc1529988f8956510a3a26e90738b41c4df0c7eb95283bfbeabeb492308117dcd32afef2a141e2a959ddf10ce562983d91b9f474a530b9dcdd337 - languageName: node - linkType: hard - "w3c-xmlserializer@npm:^2.0.0": version: 2.0.0 resolution: "w3c-xmlserializer@npm:2.0.0" @@ -12656,13 +11500,6 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^4.0.2": - version: 4.0.2 - resolution: "webidl-conversions@npm:4.0.2" - checksum: c93d8dfe908a0140a4ae9c0ebc87a33805b416a33ee638a605b551523eec94a9632165e54632f6d57a39c5f948c4bab10e0e066525e9a4b87a79f0d04fbca374 - languageName: node - linkType: hard - "webidl-conversions@npm:^5.0.0": version: 5.0.0 resolution: "webidl-conversions@npm:5.0.0" @@ -12677,7 +11514,7 @@ __metadata: languageName: node linkType: hard -"whatwg-encoding@npm:^1.0.1, whatwg-encoding@npm:^1.0.5": +"whatwg-encoding@npm:^1.0.5": version: 1.0.5 resolution: "whatwg-encoding@npm:1.0.5" dependencies: @@ -12693,7 +11530,7 @@ __metadata: languageName: node linkType: hard -"whatwg-mimetype@npm:^2.2.0, whatwg-mimetype@npm:^2.3.0": +"whatwg-mimetype@npm:^2.3.0": version: 2.3.0 resolution: "whatwg-mimetype@npm:2.3.0" checksum: 23eb885940bcbcca4ff841c40a78e9cbb893ec42743993a42bf7aed16085b048b44b06f3402018931687153550f9a32d259dfa524e4f03577ab898b6965e5383 @@ -12710,17 +11547,6 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^7.0.0": - version: 7.1.0 - resolution: "whatwg-url@npm:7.1.0" - dependencies: - lodash.sortby: ^4.7.0 - tr46: ^1.0.1 - webidl-conversions: ^4.0.2 - checksum: fecb07c87290b47d2ec2fb6d6ca26daad3c9e211e0e531dd7566e7ff95b5b3525a57d4f32640ad4adf057717e0c215731db842ad761e61d947e81010e05cf5fd - languageName: node - linkType: hard - "whatwg-url@npm:^8.0.0, whatwg-url@npm:^8.5.0": version: 8.7.0 resolution: "whatwg-url@npm:8.7.0" @@ -12861,16 +11687,6 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^4.0.1": - version: 4.0.1 - resolution: "write-file-atomic@npm:4.0.1" - dependencies: - imurmurhash: ^0.1.4 - signal-exit: ^3.0.7 - checksum: 8f780232533ca6223c63c9b9c01c4386ca8c625ebe5017a9ed17d037aec19462ae17109e0aa155bff5966ee4ae7a27b67a99f55caf3f32ffd84155e9da3929fc - languageName: node - linkType: hard - "ws@npm:7.4.6": version: 7.4.6 resolution: "ws@npm:7.4.6" @@ -12895,7 +11711,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7.0.0, ws@npm:^7.4.6": +"ws@npm:^7.4.6": version: 7.5.8 resolution: "ws@npm:7.5.8" peerDependencies: @@ -12945,7 +11761,7 @@ __metadata: languageName: node linkType: hard -"xmlchars@npm:^2.1.1, xmlchars@npm:^2.2.0": +"xmlchars@npm:^2.2.0": version: 2.2.0 resolution: "xmlchars@npm:2.2.0" checksum: 8c70ac94070ccca03f47a81fcce3b271bd1f37a591bf5424e787ae313fcb9c212f5f6786e1fa82076a2c632c0141552babcd85698c437506dfa6ae2d58723062 @@ -13020,13 +11836,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^21.0.0": - version: 21.0.1 - resolution: "yargs-parser@npm:21.0.1" - checksum: c3ea2ed12cad0377ce3096b3f138df8267edf7b1aa7d710cd502fe16af417bafe4443dd71b28158c22fcd1be5dfd0e86319597e47badf42ff83815485887323a - languageName: node - linkType: hard - "yargs@npm:^15.4.1": version: 15.4.1 resolution: "yargs@npm:15.4.1" @@ -13075,25 +11884,3 @@ __metadata: checksum: 4ffffa5a82647e5d07840b64bed88c365b901d3d4a4c51745dddb10d177902d85014026d7224aae18c42df9ca3f75a41c5aff556e5342e2f8ffc5177d149cd17 languageName: node linkType: hard - -"yargs@npm:^17.3.1": - version: 17.5.1 - resolution: "yargs@npm:17.5.1" - dependencies: - cliui: ^7.0.2 - 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.0.0 - checksum: 00d58a2c052937fa044834313f07910fd0a115dec5ee35919e857eeee3736b21a4eafa8264535800ba8bac312991ce785ecb8a51f4d2cc8c4676d865af1cfbde - languageName: node - linkType: hard - -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6 - languageName: node - linkType: hard From 2b4345a462a2961ce83087d5c0204610bfd72b7e Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 14 Jun 2022 11:41:32 -0700 Subject: [PATCH 013/115] Fix lint issues --- packages/approval-controller/package.json | 8 ++++---- packages/base-controller/package.json | 8 ++++---- packages/composable-controller/package.json | 8 ++++---- packages/controller-utils/package.json | 8 ++++---- packages/gas-fee-controller/package.json | 8 ++++---- packages/keyring-controller/package.json | 8 ++++---- packages/message-manager/package.json | 8 ++++---- packages/network-controller/package.json | 8 ++++---- packages/notification-controller/package.json | 8 ++++---- packages/permission-controller/package.json | 8 ++++---- packages/rate-limit-controller/package.json | 8 ++++---- packages/subject-metadata-controller/package.json | 8 ++++---- packages/third-party-controllers/package.json | 8 ++++---- packages/transaction-controller/package.json | 8 ++++---- packages/user-controllers/package.json | 8 ++++---- 15 files changed, 60 insertions(+), 60 deletions(-) diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index 1051643240..221a7077e0 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@metamask/base-controller": "workspace:~", "eth-rpc-errors": "^4.0.0", @@ -41,9 +45,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index cb6745f8b0..483154f444 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "immer": "^9.0.6" }, @@ -39,9 +43,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index ce00985dfe..679c0cb0e5 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "devDependencies": { "@metamask/assets-controllers": "workspace:~", "@metamask/base-controller": "workspace:~", @@ -41,9 +45,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index a1af3b5e59..a2cb0a725b 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@metamask/assets-controllers": "workspace:~", "@metamask/base-controller": "workspace:~", @@ -49,9 +53,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 19829721c5..a5a935af79 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", @@ -49,9 +53,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index ef2b1be5a0..7027c7b4c8 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@keystonehq/metamask-airgapped-keyring": "^0.3.0", "@metamask/base-controller": "workspace:~", @@ -51,9 +55,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 75c03696ca..9a2a9827fb 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", @@ -42,9 +46,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index ce495cde28..eedc901252 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", @@ -43,9 +47,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index 2d699d0569..f80ca3b969 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", @@ -40,9 +44,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index fb2927aff0..6b7b651425 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@metamask/approval-controller": "workspace:~", "@metamask/base-controller": "workspace:~", @@ -46,9 +50,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index 7f64a0a7cc..fabd22132b 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@metamask/base-controller": "workspace:~", "eth-rpc-errors": "^4.0.0", @@ -39,9 +43,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index cc090e715e..203d33f514 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/permission-controller": "workspace:~", @@ -40,9 +44,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } diff --git a/packages/third-party-controllers/package.json b/packages/third-party-controllers/package.json index 70df7a604b..92f24fc13b 100644 --- a/packages/third-party-controllers/package.json +++ b/packages/third-party-controllers/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", @@ -45,9 +49,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 29c0589e59..35fef2dc3c 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@ethereumjs/common": "^2.3.1", "@ethereumjs/tx": "^3.2.1", @@ -50,9 +54,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } diff --git a/packages/user-controllers/package.json b/packages/user-controllers/package.json index 0201317480..abc80da1ad 100644 --- a/packages/user-controllers/package.json +++ b/packages/user-controllers/package.json @@ -20,6 +20,10 @@ "files": [ "dist/" ], + "scripts": { + "test": "jest && jest-it-up", + "test:watch": "jest --watch" + }, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~" @@ -38,9 +42,5 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "test": "jest && jest-it-up", - "test:watch": "jest --watch" } } From 8ed6e03e5866a6dacce52723a7cc49e7eb4c7dff Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 14 Jun 2022 12:00:35 -0700 Subject: [PATCH 014/115] Fix TypeDoc --- package.json | 6 ++-- packages/announcement-controller/package.json | 3 ++ .../announcement-controller/typedoc.json | 3 +- packages/approval-controller/package.json | 3 ++ packages/approval-controller/typedoc.json | 7 ++++ packages/assets-controllers/package.json | 3 ++ packages/assets-controllers/typedoc.json | 7 ++++ packages/base-controller/package.json | 3 ++ packages/base-controller/typedoc.json | 7 ++++ packages/composable-controller/package.json | 3 ++ packages/composable-controller/typedoc.json | 7 ++++ packages/controller-utils/package.json | 3 ++ packages/controller-utils/typedoc.json | 7 ++++ packages/gas-fee-controller/package.json | 3 ++ packages/gas-fee-controller/typedoc.json | 7 ++++ packages/keyring-controller/package.json | 3 ++ packages/keyring-controller/typedoc.json | 7 ++++ packages/message-manager/package.json | 3 ++ packages/message-manager/typedoc.json | 7 ++++ packages/network-controller/package.json | 3 ++ packages/network-controller/typedoc.json | 7 ++++ packages/notification-controller/package.json | 3 ++ packages/notification-controller/typedoc.json | 7 ++++ packages/permission-controller/package.json | 3 ++ packages/permission-controller/typedoc.json | 7 ++++ packages/rate-limit-controller/package.json | 3 ++ packages/rate-limit-controller/typedoc.json | 7 ++++ .../subject-metadata-controller/package.json | 3 ++ .../subject-metadata-controller/typedoc.json | 7 ++++ packages/third-party-controllers/package.json | 3 ++ packages/third-party-controllers/typedoc.json | 7 ++++ packages/transaction-controller/package.json | 3 ++ packages/transaction-controller/typedoc.json | 7 ++++ packages/user-controllers/package.json | 3 ++ packages/user-controllers/typedoc.json | 7 ++++ yarn.lock | 36 +++++++++++++++++-- 36 files changed, 201 insertions(+), 7 deletions(-) rename typedoc.json => packages/announcement-controller/typedoc.json (62%) create mode 100644 packages/approval-controller/typedoc.json create mode 100644 packages/assets-controllers/typedoc.json create mode 100644 packages/base-controller/typedoc.json create mode 100644 packages/composable-controller/typedoc.json create mode 100644 packages/controller-utils/typedoc.json create mode 100644 packages/gas-fee-controller/typedoc.json create mode 100644 packages/keyring-controller/typedoc.json create mode 100644 packages/message-manager/typedoc.json create mode 100644 packages/network-controller/typedoc.json create mode 100644 packages/notification-controller/typedoc.json create mode 100644 packages/permission-controller/typedoc.json create mode 100644 packages/rate-limit-controller/typedoc.json create mode 100644 packages/subject-metadata-controller/typedoc.json create mode 100644 packages/third-party-controllers/typedoc.json create mode 100644 packages/transaction-controller/typedoc.json create mode 100644 packages/user-controllers/typedoc.json diff --git a/package.json b/package.json index bde9fffefe..085f5e7d36 100644 --- a/package.json +++ b/package.json @@ -10,14 +10,14 @@ "build": "tsc --build tsconfig.build.json --verbose", "build:clean": "yarn rimraf './**/*.tsbuildinfo' './dist'", "build:watch": "yarn build --watch", - "doc": "typedoc && touch docs/.nojekyll", + "doc": "yarn workspaces foreach --parallel --interlaced --jobs 3 --verbose run doc", "lint": "yarn lint:eslint && yarn lint:misc --check", "lint:eslint": "eslint . --cache --ext js,ts", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write", "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore", "prepack": "yarn build", "setup": "yarn install", - "test": "yarn workspaces foreach run test" + "test": "yarn workspaces foreach --parallel --interlaced --jobs 3 --verbose run test" }, "dependencies": { "@lavamoat/allow-scripts": "^2.0.2", @@ -40,8 +40,6 @@ "prettier": "^2.6.2", "prettier-plugin-packagejson": "^2.2.17", "rimraf": "^3.0.2", - "typedoc": "^0.22.15", - "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3", "uuid": "^8.3.2" }, diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index 380736a465..8a1cd7b546 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -33,6 +34,8 @@ "jest": "^26.4.2", "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/typedoc.json b/packages/announcement-controller/typedoc.json similarity index 62% rename from typedoc.json rename to packages/announcement-controller/typedoc.json index b527b62572..c9da015dbf 100644 --- a/typedoc.json +++ b/packages/announcement-controller/typedoc.json @@ -2,5 +2,6 @@ "entryPoints": ["./src/index.ts"], "excludePrivate": true, "hideGenerator": true, - "out": "docs" + "out": "docs", + "tsconfig": "./tsconfig.build.json" } diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index 221a7077e0..44e34f7118 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -37,6 +38,8 @@ "jest-it-up": "^2.0.2", "sinon": "^9.2.4", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/approval-controller/typedoc.json b/packages/approval-controller/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/approval-controller/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 403e63cf7c..4fc989af6a 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -54,6 +55,8 @@ "nock": "^13.0.7", "sinon": "^9.2.4", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/assets-controllers/typedoc.json b/packages/assets-controllers/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/assets-controllers/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index 483154f444..6d998e9311 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -35,6 +36,8 @@ "jest-it-up": "^2.0.2", "sinon": "^9.2.4", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/base-controller/typedoc.json b/packages/base-controller/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/base-controller/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 679c0cb0e5..fa3a0afc13 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -37,6 +38,8 @@ "jest-it-up": "^2.0.2", "sinon": "^9.2.4", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/composable-controller/typedoc.json b/packages/composable-controller/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/composable-controller/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index a2cb0a725b..f5d336c12d 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -45,6 +46,8 @@ "jest-it-up": "^2.0.2", "nock": "^13.0.7", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/controller-utils/typedoc.json b/packages/controller-utils/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/controller-utils/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index a5a935af79..3fd3fbaf04 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -45,6 +46,8 @@ "nock": "^13.0.7", "sinon": "^9.2.4", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/gas-fee-controller/typedoc.json b/packages/gas-fee-controller/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/gas-fee-controller/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 7027c7b4c8..58ff5f0b31 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -46,6 +47,8 @@ "jest-it-up": "^2.0.2", "sinon": "^9.2.4", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3", "uuid": "^8.3.2" }, diff --git a/packages/keyring-controller/typedoc.json b/packages/keyring-controller/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/keyring-controller/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 9a2a9827fb..a9a8969108 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -38,6 +39,8 @@ "jest": "^26.4.2", "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/message-manager/typedoc.json b/packages/message-manager/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/message-manager/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index eedc901252..509a92d031 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -39,6 +40,8 @@ "jest-it-up": "^2.0.2", "sinon": "^9.2.4", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/network-controller/typedoc.json b/packages/network-controller/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/network-controller/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index f80ca3b969..c0f07b1cfe 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -36,6 +37,8 @@ "jest": "^26.4.2", "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/notification-controller/typedoc.json b/packages/notification-controller/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/notification-controller/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 6b7b651425..6252c86b8b 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -42,6 +43,8 @@ "jest": "^26.4.2", "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/permission-controller/typedoc.json b/packages/permission-controller/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/permission-controller/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index fabd22132b..f677957197 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -35,6 +36,8 @@ "jest": "^26.4.2", "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/rate-limit-controller/typedoc.json b/packages/rate-limit-controller/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/rate-limit-controller/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index 203d33f514..253758ee94 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -36,6 +37,8 @@ "jest": "^26.4.2", "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/subject-metadata-controller/typedoc.json b/packages/subject-metadata-controller/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/subject-metadata-controller/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/third-party-controllers/package.json b/packages/third-party-controllers/package.json index 92f24fc13b..51ed9e1bbb 100644 --- a/packages/third-party-controllers/package.json +++ b/packages/third-party-controllers/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -41,6 +42,8 @@ "nock": "^13.0.7", "sinon": "^9.2.4", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/third-party-controllers/typedoc.json b/packages/third-party-controllers/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/third-party-controllers/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 35fef2dc3c..5cc69b8f85 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -46,6 +47,8 @@ "jest-it-up": "^2.0.2", "sinon": "^9.2.4", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/transaction-controller/typedoc.json b/packages/transaction-controller/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/transaction-controller/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/user-controllers/package.json b/packages/user-controllers/package.json index abc80da1ad..2427bd9fe2 100644 --- a/packages/user-controllers/package.json +++ b/packages/user-controllers/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "doc": "typedoc && touch docs/.nojekyll", "test": "jest && jest-it-up", "test:watch": "jest --watch" }, @@ -34,6 +35,8 @@ "jest": "^26.4.2", "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", "typescript": "~4.6.3" }, "engines": { diff --git a/packages/user-controllers/typedoc.json b/packages/user-controllers/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/user-controllers/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/yarn.lock b/yarn.lock index 8bcce107da..dac619e042 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1579,6 +1579,8 @@ __metadata: jest: ^26.4.2 jest-it-up: ^2.0.2 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 languageName: unknown linkType: soft @@ -1597,6 +1599,8 @@ __metadata: nanoid: ^3.1.31 sinon: ^9.2.4 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 languageName: unknown linkType: soft @@ -1629,6 +1633,8 @@ __metadata: single-call-balance-checker-abi: ^1.0.0 sinon: ^9.2.4 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 uuid: ^8.3.2 web3: ^0.20.7 @@ -1661,6 +1667,8 @@ __metadata: jest-it-up: ^2.0.2 sinon: ^9.2.4 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 languageName: unknown linkType: soft @@ -1693,6 +1701,8 @@ __metadata: jest-it-up: ^2.0.2 sinon: ^9.2.4 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 languageName: unknown linkType: soft @@ -1726,6 +1736,8 @@ __metadata: multiformats: ^9.5.2 nock: ^13.0.7 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 languageName: unknown linkType: soft @@ -1754,8 +1766,6 @@ __metadata: prettier: ^2.6.2 prettier-plugin-packagejson: ^2.2.17 rimraf: ^3.0.2 - typedoc: ^0.22.15 - typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 uuid: ^8.3.2 languageName: unknown @@ -1857,6 +1867,8 @@ __metadata: nock: ^13.0.7 sinon: ^9.2.4 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 uuid: ^8.3.2 languageName: unknown @@ -1885,6 +1897,8 @@ __metadata: jest-it-up: ^2.0.2 sinon: ^9.2.4 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 uuid: ^8.3.2 languageName: unknown @@ -1904,6 +1918,8 @@ __metadata: jest-it-up: ^2.0.2 jsonschema: ^1.2.4 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 uuid: ^8.3.2 languageName: unknown @@ -1931,6 +1947,8 @@ __metadata: jest-it-up: ^2.0.2 sinon: ^9.2.4 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 web3-provider-engine: ^16.0.3 languageName: unknown @@ -1949,6 +1967,8 @@ __metadata: jest-it-up: ^2.0.2 nanoid: ^3.1.31 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 languageName: unknown linkType: soft @@ -1982,6 +2002,8 @@ __metadata: json-rpc-engine: ^6.1.0 nanoid: ^3.1.31 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 languageName: unknown linkType: soft @@ -1998,6 +2020,8 @@ __metadata: jest: ^26.4.2 jest-it-up: ^2.0.2 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 languageName: unknown linkType: soft @@ -2022,6 +2046,8 @@ __metadata: jest: ^26.4.2 jest-it-up: ^2.0.2 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 languageName: unknown linkType: soft @@ -2044,6 +2070,8 @@ __metadata: punycode: ^2.1.1 sinon: ^9.2.4 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 languageName: unknown linkType: soft @@ -2070,6 +2098,8 @@ __metadata: jest-it-up: ^2.0.2 sinon: ^9.2.4 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 uuid: ^8.3.2 languageName: unknown @@ -2093,6 +2123,8 @@ __metadata: jest: ^26.4.2 jest-it-up: ^2.0.2 ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 typescript: ~4.6.3 languageName: unknown linkType: soft From 6991d903c1ea0f9c28c6ac5c819a6b7a9aa91ba9 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 14 Jun 2022 12:29:15 -0700 Subject: [PATCH 015/115] Fix CI so that --maxWorkers works --- packages/announcement-controller/package.json | 2 +- packages/announcement-controller/scripts/test.sh | 3 +++ packages/approval-controller/package.json | 2 +- packages/approval-controller/scripts/test.sh | 3 +++ packages/assets-controllers/package.json | 2 +- packages/assets-controllers/scripts/test.sh | 3 +++ packages/base-controller/package.json | 2 +- packages/base-controller/scripts/test.sh | 3 +++ packages/composable-controller/package.json | 2 +- packages/composable-controller/scripts/test.sh | 3 +++ packages/controller-utils/package.json | 2 +- packages/controller-utils/scripts/test.sh | 3 +++ packages/gas-fee-controller/package.json | 2 +- packages/gas-fee-controller/scripts/test.sh | 3 +++ packages/keyring-controller/package.json | 2 +- packages/keyring-controller/scripts/test.sh | 3 +++ packages/message-manager/package.json | 2 +- packages/message-manager/scripts/test.sh | 3 +++ packages/network-controller/package.json | 2 +- packages/network-controller/scripts/test.sh | 3 +++ packages/notification-controller/package.json | 2 +- packages/notification-controller/scripts/test.sh | 3 +++ packages/permission-controller/package.json | 2 +- packages/permission-controller/scripts/test.sh | 3 +++ packages/rate-limit-controller/package.json | 2 +- packages/rate-limit-controller/scripts/test.sh | 3 +++ packages/subject-metadata-controller/package.json | 2 +- packages/subject-metadata-controller/scripts/test.sh | 3 +++ packages/third-party-controllers/package.json | 2 +- packages/third-party-controllers/scripts/test.sh | 3 +++ packages/transaction-controller/package.json | 2 +- packages/transaction-controller/scripts/test.sh | 3 +++ packages/user-controllers/package.json | 2 +- packages/user-controllers/scripts/test.sh | 3 +++ 34 files changed, 68 insertions(+), 17 deletions(-) create mode 100755 packages/announcement-controller/scripts/test.sh create mode 100755 packages/approval-controller/scripts/test.sh create mode 100755 packages/assets-controllers/scripts/test.sh create mode 100755 packages/base-controller/scripts/test.sh create mode 100755 packages/composable-controller/scripts/test.sh create mode 100755 packages/controller-utils/scripts/test.sh create mode 100755 packages/gas-fee-controller/scripts/test.sh create mode 100755 packages/keyring-controller/scripts/test.sh create mode 100755 packages/message-manager/scripts/test.sh create mode 100755 packages/network-controller/scripts/test.sh create mode 100755 packages/notification-controller/scripts/test.sh create mode 100755 packages/permission-controller/scripts/test.sh create mode 100755 packages/rate-limit-controller/scripts/test.sh create mode 100755 packages/subject-metadata-controller/scripts/test.sh create mode 100755 packages/third-party-controllers/scripts/test.sh create mode 100755 packages/transaction-controller/scripts/test.sh create mode 100755 packages/user-controllers/scripts/test.sh diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index 8a1cd7b546..179e0de56d 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/announcement-controller/scripts/test.sh b/packages/announcement-controller/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/announcement-controller/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index 44e34f7118..950165bf08 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/approval-controller/scripts/test.sh b/packages/approval-controller/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/approval-controller/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 4fc989af6a..93f8ed4f4f 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/assets-controllers/scripts/test.sh b/packages/assets-controllers/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/assets-controllers/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index 6d998e9311..50d1b5b722 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/base-controller/scripts/test.sh b/packages/base-controller/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/base-controller/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index fa3a0afc13..841c92f13e 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "devDependencies": { diff --git a/packages/composable-controller/scripts/test.sh b/packages/composable-controller/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/composable-controller/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index f5d336c12d..924d170a48 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/controller-utils/scripts/test.sh b/packages/controller-utils/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/controller-utils/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 3fd3fbaf04..aa80d6fd8f 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/gas-fee-controller/scripts/test.sh b/packages/gas-fee-controller/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/gas-fee-controller/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 58ff5f0b31..f71d67568f 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/keyring-controller/scripts/test.sh b/packages/keyring-controller/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/keyring-controller/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index a9a8969108..e98d5fe37f 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/message-manager/scripts/test.sh b/packages/message-manager/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/message-manager/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 509a92d031..59c8847e5a 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/network-controller/scripts/test.sh b/packages/network-controller/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/network-controller/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index c0f07b1cfe..89d9a4323c 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/notification-controller/scripts/test.sh b/packages/notification-controller/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/notification-controller/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 6252c86b8b..ba555313a7 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/permission-controller/scripts/test.sh b/packages/permission-controller/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/permission-controller/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index f677957197..bc9d230fde 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/rate-limit-controller/scripts/test.sh b/packages/rate-limit-controller/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/rate-limit-controller/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index 253758ee94..5a7fe4277f 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/subject-metadata-controller/scripts/test.sh b/packages/subject-metadata-controller/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/subject-metadata-controller/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/third-party-controllers/package.json b/packages/third-party-controllers/package.json index 51ed9e1bbb..5602ee83b0 100644 --- a/packages/third-party-controllers/package.json +++ b/packages/third-party-controllers/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/third-party-controllers/scripts/test.sh b/packages/third-party-controllers/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/third-party-controllers/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 5cc69b8f85..327e7593b2 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/transaction-controller/scripts/test.sh b/packages/transaction-controller/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/transaction-controller/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/packages/user-controllers/package.json b/packages/user-controllers/package.json index 2427bd9fe2..c7afeed564 100644 --- a/packages/user-controllers/package.json +++ b/packages/user-controllers/package.json @@ -22,7 +22,7 @@ ], "scripts": { "doc": "typedoc && touch docs/.nojekyll", - "test": "jest && jest-it-up", + "test": "./scripts/test.sh", "test:watch": "jest --watch" }, "dependencies": { diff --git a/packages/user-controllers/scripts/test.sh b/packages/user-controllers/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/packages/user-controllers/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up From f06ac0aba62ec61962c2e674d06db8415c812941 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 14 Jun 2022 12:44:19 -0700 Subject: [PATCH 016/115] Fix tests to not hang if there are outstanding timers --- .github/workflows/build-lint-test.yml | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index 0574edd4f4..d7d268982e 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -33,7 +33,7 @@ jobs: - run: yarn --immutable - run: yarn build - run: yarn lint - - run: yarn test --maxWorkers=1 + - run: yarn test --maxWorkers=1 --forceExit - name: Validate RC changelog if: ${{ startsWith(github.ref, 'release/') }} run: yarn auto-changelog validate --rc diff --git a/package.json b/package.json index 085f5e7d36..6861b4d4ff 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore", "prepack": "yarn build", "setup": "yarn install", - "test": "yarn workspaces foreach --parallel --interlaced --jobs 3 --verbose run test" + "test": "yarn workspaces foreach --verbose run test" }, "dependencies": { "@lavamoat/allow-scripts": "^2.0.2", From c0ff9e2344647cb29ed9129e8bdabbabd928b832 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 14 Jun 2022 15:16:51 -0700 Subject: [PATCH 017/115] Initialize changelogs for all packages --- .github/workflows/build-lint-test.yml | 8 ++------ CHANGELOG.md => CHANGELOG.old.md | 0 constraints.pro | 16 +++++---------- package.json | 8 ++++++-- packages/announcement-controller/CHANGELOG.md | 8 +++++++- .../announcement-controller/LICENSE | 0 packages/announcement-controller/package.json | 2 ++ .../announcement-controller/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/approval-controller/CHANGELOG.md | 8 +++++++- packages/approval-controller/LICENSE | 20 +++++++++++++++++++ packages/approval-controller/package.json | 4 +++- packages/approval-controller/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/assets-controllers/CHANGELOG.md | 8 +++++++- packages/assets-controllers/LICENSE | 20 +++++++++++++++++++ packages/assets-controllers/package.json | 4 +++- packages/assets-controllers/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/base-controller/CHANGELOG.md | 8 +++++++- packages/base-controller/LICENSE | 20 +++++++++++++++++++ packages/base-controller/package.json | 4 +++- packages/base-controller/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/composable-controller/CHANGELOG.md | 8 +++++++- packages/composable-controller/LICENSE | 20 +++++++++++++++++++ packages/composable-controller/package.json | 4 +++- .../composable-controller/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/controller-utils/CHANGELOG.md | 8 +++++++- packages/controller-utils/LICENSE | 20 +++++++++++++++++++ packages/controller-utils/package.json | 4 +++- packages/controller-utils/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/gas-fee-controller/CHANGELOG.md | 8 +++++++- packages/gas-fee-controller/LICENSE | 20 +++++++++++++++++++ packages/gas-fee-controller/package.json | 4 +++- packages/gas-fee-controller/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/keyring-controller/CHANGELOG.md | 8 +++++++- packages/keyring-controller/LICENSE | 20 +++++++++++++++++++ packages/keyring-controller/package.json | 4 +++- packages/keyring-controller/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/message-manager/CHANGELOG.md | 8 +++++++- packages/message-manager/LICENSE | 20 +++++++++++++++++++ packages/message-manager/package.json | 4 +++- packages/message-manager/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/network-controller/CHANGELOG.md | 8 +++++++- packages/network-controller/LICENSE | 20 +++++++++++++++++++ packages/network-controller/package.json | 4 +++- packages/network-controller/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/notification-controller/CHANGELOG.md | 8 +++++++- packages/notification-controller/LICENSE | 20 +++++++++++++++++++ packages/notification-controller/package.json | 4 +++- .../notification-controller/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/permission-controller/CHANGELOG.md | 8 +++++++- packages/permission-controller/LICENSE | 20 +++++++++++++++++++ packages/permission-controller/package.json | 4 +++- .../permission-controller/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/rate-limit-controller/CHANGELOG.md | 8 +++++++- packages/rate-limit-controller/LICENSE | 20 +++++++++++++++++++ packages/rate-limit-controller/package.json | 4 +++- .../rate-limit-controller/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + .../subject-metadata-controller/CHANGELOG.md | 8 +++++++- packages/subject-metadata-controller/LICENSE | 20 +++++++++++++++++++ .../subject-metadata-controller/package.json | 4 +++- .../scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/third-party-controllers/CHANGELOG.md | 8 +++++++- packages/third-party-controllers/LICENSE | 20 +++++++++++++++++++ packages/third-party-controllers/package.json | 4 +++- .../third-party-controllers/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/transaction-controller/CHANGELOG.md | 8 +++++++- packages/transaction-controller/LICENSE | 20 +++++++++++++++++++ packages/transaction-controller/package.json | 4 +++- .../transaction-controller/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + packages/user-controllers/CHANGELOG.md | 8 +++++++- packages/user-controllers/LICENSE | 20 +++++++++++++++++++ packages/user-controllers/package.json | 4 +++- packages/user-controllers/scripts/test.sh | 4 +--- .../scripts/validate-changelog.sh | 1 + scripts/test.sh | 3 +++ scripts/validate-changelog.sh | 7 +++++++ yarn.lock | 17 ++++++++++++++++ 92 files changed, 563 insertions(+), 103 deletions(-) rename CHANGELOG.md => CHANGELOG.old.md (100%) rename LICENSE => packages/announcement-controller/LICENSE (100%) mode change 100755 => 120000 packages/announcement-controller/scripts/test.sh create mode 120000 packages/announcement-controller/scripts/validate-changelog.sh create mode 100644 packages/approval-controller/LICENSE mode change 100755 => 120000 packages/approval-controller/scripts/test.sh create mode 120000 packages/approval-controller/scripts/validate-changelog.sh create mode 100644 packages/assets-controllers/LICENSE mode change 100755 => 120000 packages/assets-controllers/scripts/test.sh create mode 120000 packages/assets-controllers/scripts/validate-changelog.sh create mode 100644 packages/base-controller/LICENSE mode change 100755 => 120000 packages/base-controller/scripts/test.sh create mode 120000 packages/base-controller/scripts/validate-changelog.sh create mode 100644 packages/composable-controller/LICENSE mode change 100755 => 120000 packages/composable-controller/scripts/test.sh create mode 120000 packages/composable-controller/scripts/validate-changelog.sh create mode 100644 packages/controller-utils/LICENSE mode change 100755 => 120000 packages/controller-utils/scripts/test.sh create mode 120000 packages/controller-utils/scripts/validate-changelog.sh create mode 100644 packages/gas-fee-controller/LICENSE mode change 100755 => 120000 packages/gas-fee-controller/scripts/test.sh create mode 120000 packages/gas-fee-controller/scripts/validate-changelog.sh create mode 100644 packages/keyring-controller/LICENSE mode change 100755 => 120000 packages/keyring-controller/scripts/test.sh create mode 120000 packages/keyring-controller/scripts/validate-changelog.sh create mode 100644 packages/message-manager/LICENSE mode change 100755 => 120000 packages/message-manager/scripts/test.sh create mode 120000 packages/message-manager/scripts/validate-changelog.sh create mode 100644 packages/network-controller/LICENSE mode change 100755 => 120000 packages/network-controller/scripts/test.sh create mode 120000 packages/network-controller/scripts/validate-changelog.sh create mode 100644 packages/notification-controller/LICENSE mode change 100755 => 120000 packages/notification-controller/scripts/test.sh create mode 120000 packages/notification-controller/scripts/validate-changelog.sh create mode 100644 packages/permission-controller/LICENSE mode change 100755 => 120000 packages/permission-controller/scripts/test.sh create mode 120000 packages/permission-controller/scripts/validate-changelog.sh create mode 100644 packages/rate-limit-controller/LICENSE mode change 100755 => 120000 packages/rate-limit-controller/scripts/test.sh create mode 120000 packages/rate-limit-controller/scripts/validate-changelog.sh create mode 100644 packages/subject-metadata-controller/LICENSE mode change 100755 => 120000 packages/subject-metadata-controller/scripts/test.sh create mode 120000 packages/subject-metadata-controller/scripts/validate-changelog.sh create mode 100644 packages/third-party-controllers/LICENSE mode change 100755 => 120000 packages/third-party-controllers/scripts/test.sh create mode 120000 packages/third-party-controllers/scripts/validate-changelog.sh create mode 100644 packages/transaction-controller/LICENSE mode change 100755 => 120000 packages/transaction-controller/scripts/test.sh create mode 120000 packages/transaction-controller/scripts/validate-changelog.sh create mode 100644 packages/user-controllers/LICENSE mode change 100755 => 120000 packages/user-controllers/scripts/test.sh create mode 120000 packages/user-controllers/scripts/validate-changelog.sh create mode 100755 scripts/test.sh create mode 100755 scripts/validate-changelog.sh diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index d7d268982e..5e4a6c3b8d 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -34,12 +34,8 @@ jobs: - run: yarn build - run: yarn lint - run: yarn test --maxWorkers=1 --forceExit - - name: Validate RC changelog - if: ${{ startsWith(github.ref, 'release/') }} - run: yarn auto-changelog validate --rc - - name: Validate changelog - if: ${{ !startsWith(github.ref, 'release/') }} - run: yarn auto-changelog validate + - name: Validate changelogs + run: yarn changelog:validate all-jobs-pass: name: All jobs pass runs-on: ubuntu-20.04 diff --git a/CHANGELOG.md b/CHANGELOG.old.md similarity index 100% rename from CHANGELOG.md rename to CHANGELOG.old.md diff --git a/constraints.pro b/constraints.pro index 1a6c0d91e4..b1b30e97bb 100644 --- a/constraints.pro +++ b/constraints.pro @@ -4,21 +4,15 @@ % "description" is required for all workspaces. \+ gen_enforced_field(WorkspaceCwd, 'description', null). -% "repository" must be unset for non-publishable workspaces. -gen_enforced_field(WorkspaceCwd, 'repository', null) :- - workspace_field(WorkspaceCwd, 'private', true). - -% "repository.type" must be "git" for publishable workspaces. -gen_enforced_field(WorkspaceCwd, 'repository.type', 'git') :- - workspace_field(WorkspaceCwd, 'private', null). +% "repository.type" must be "git" for all workspaces (including the root). +gen_enforced_field(WorkspaceCwd, 'repository.type', 'git'). -% "repository.type" must start with "git@github.com:mcmire/" for publishable -% workspaces. -% TODO +% "repository.type" must start with "git@github.com:mcmire/" for all workspaces +% (including the root). +% TODO: Figure this out %atom_starts_with(Atom, Prefix) :- %sub_atom(Atom, _, _, _, Prefix). %gen_enforced_field(WorkspaceCwd, 'repository.url', RepoUrl) :- - %\+ workspace_field(WorkspaceCwd, 'private', true), %atom_starts_with(RepoUrl, 'git@github.com:mcmire/'). % "license" must be "MIT" for all publishable workspaces and unset for the diff --git a/package.json b/package.json index 6861b4d4ff..184a055c6f 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,10 @@ "version": "0.0.0", "private": true, "description": "Collection of platform-agnostic modules for creating secure data models for cryptocurrency wallets", + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, "workspaces": [ "packages/*" ], @@ -10,7 +14,8 @@ "build": "tsc --build tsconfig.build.json --verbose", "build:clean": "yarn rimraf './**/*.tsbuildinfo' './dist'", "build:watch": "yarn build --watch", - "doc": "yarn workspaces foreach --parallel --interlaced --jobs 3 --verbose run doc", + "changelog:validate": "yarn workspaces foreach --parallel --interlaced --verbose run changelog:validate", + "doc": "yarn workspaces foreach --parallel --interlaced --verbose run doc", "lint": "yarn lint:eslint && yarn lint:misc --check", "lint:eslint": "eslint . --cache --ext js,ts", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write", @@ -21,7 +26,6 @@ }, "dependencies": { "@lavamoat/allow-scripts": "^2.0.2", - "@metamask/auto-changelog": "^2.6.0", "@metamask/eslint-config": "^9.0.0", "@metamask/eslint-config-jest": "^9.0.0", "@metamask/eslint-config-nodejs": "^9.0.0", diff --git a/packages/announcement-controller/CHANGELOG.md b/packages/announcement-controller/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/announcement-controller/CHANGELOG.md +++ b/packages/announcement-controller/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/LICENSE b/packages/announcement-controller/LICENSE similarity index 100% rename from LICENSE rename to packages/announcement-controller/LICENSE diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index 179e0de56d..a1b002aaac 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -21,6 +21,7 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", "test:watch": "jest --watch" @@ -29,6 +30,7 @@ "@metamask/base-controller": "workspace:~" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/announcement-controller/scripts/test.sh b/packages/announcement-controller/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/announcement-controller/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/announcement-controller/scripts/test.sh b/packages/announcement-controller/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/announcement-controller/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/announcement-controller/scripts/validate-changelog.sh b/packages/announcement-controller/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/announcement-controller/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/approval-controller/CHANGELOG.md b/packages/approval-controller/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/approval-controller/CHANGELOG.md +++ b/packages/approval-controller/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/approval-controller/LICENSE b/packages/approval-controller/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/approval-controller/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index 950165bf08..2c451c8e5d 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -23,7 +23,8 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -32,6 +33,7 @@ "nanoid": "^3.1.31" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/approval-controller/scripts/test.sh b/packages/approval-controller/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/approval-controller/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/approval-controller/scripts/test.sh b/packages/approval-controller/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/approval-controller/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/approval-controller/scripts/validate-changelog.sh b/packages/approval-controller/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/approval-controller/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/assets-controllers/CHANGELOG.md b/packages/assets-controllers/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/assets-controllers/CHANGELOG.md +++ b/packages/assets-controllers/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/assets-controllers/LICENSE b/packages/assets-controllers/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/assets-controllers/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 93f8ed4f4f..73ffa11b14 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -23,7 +23,8 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -46,6 +47,7 @@ "web3": "^0.20.7" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "ethereumjs-util": "^7.1.4", diff --git a/packages/assets-controllers/scripts/test.sh b/packages/assets-controllers/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/assets-controllers/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/assets-controllers/scripts/test.sh b/packages/assets-controllers/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/assets-controllers/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/assets-controllers/scripts/validate-changelog.sh b/packages/assets-controllers/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/assets-controllers/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/base-controller/CHANGELOG.md b/packages/base-controller/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/base-controller/CHANGELOG.md +++ b/packages/base-controller/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/base-controller/LICENSE b/packages/base-controller/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/base-controller/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index 50d1b5b722..bfd4abf8f4 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -23,12 +23,14 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "immer": "^9.0.6" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "@types/sinon": "^9.0.10", "deepmerge": "^4.2.2", diff --git a/packages/base-controller/scripts/test.sh b/packages/base-controller/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/base-controller/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/base-controller/scripts/test.sh b/packages/base-controller/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/base-controller/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/base-controller/scripts/validate-changelog.sh b/packages/base-controller/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/base-controller/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/composable-controller/CHANGELOG.md b/packages/composable-controller/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/composable-controller/CHANGELOG.md +++ b/packages/composable-controller/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/composable-controller/LICENSE b/packages/composable-controller/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/composable-controller/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 841c92f13e..3bfef32de1 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -23,10 +23,12 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "devDependencies": { "@metamask/assets-controllers": "workspace:~", + "@metamask/auto-changelog": "^2.6.0", "@metamask/base-controller": "workspace:~", "@metamask/network-controller": "workspace:~", "@metamask/third-party-controllers": "workspace:~", diff --git a/packages/composable-controller/scripts/test.sh b/packages/composable-controller/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/composable-controller/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/composable-controller/scripts/test.sh b/packages/composable-controller/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/composable-controller/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/composable-controller/scripts/validate-changelog.sh b/packages/composable-controller/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/composable-controller/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/controller-utils/CHANGELOG.md b/packages/controller-utils/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/controller-utils/CHANGELOG.md +++ b/packages/controller-utils/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/controller-utils/LICENSE b/packages/controller-utils/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/controller-utils/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 924d170a48..136d76ee2f 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -23,7 +23,8 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "@metamask/assets-controllers": "workspace:~", @@ -39,6 +40,7 @@ "multiformats": "^9.5.2" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "abort-controller": "^3.0.0", "deepmerge": "^4.2.2", diff --git a/packages/controller-utils/scripts/test.sh b/packages/controller-utils/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/controller-utils/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/controller-utils/scripts/test.sh b/packages/controller-utils/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/controller-utils/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/controller-utils/scripts/validate-changelog.sh b/packages/controller-utils/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/controller-utils/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/gas-fee-controller/CHANGELOG.md b/packages/gas-fee-controller/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/gas-fee-controller/CHANGELOG.md +++ b/packages/gas-fee-controller/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/gas-fee-controller/LICENSE b/packages/gas-fee-controller/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/gas-fee-controller/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index aa80d6fd8f..127dd69402 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -23,7 +23,8 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -37,6 +38,7 @@ "uuid": "^8.3.2" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "@types/jest-when": "^2.7.3", "deepmerge": "^4.2.2", diff --git a/packages/gas-fee-controller/scripts/test.sh b/packages/gas-fee-controller/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/gas-fee-controller/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/gas-fee-controller/scripts/test.sh b/packages/gas-fee-controller/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/gas-fee-controller/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/gas-fee-controller/scripts/validate-changelog.sh b/packages/gas-fee-controller/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/gas-fee-controller/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/keyring-controller/CHANGELOG.md b/packages/keyring-controller/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/keyring-controller/CHANGELOG.md +++ b/packages/keyring-controller/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/keyring-controller/LICENSE b/packages/keyring-controller/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/keyring-controller/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index f71d67568f..a6d56742a5 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -23,7 +23,8 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "@keystonehq/metamask-airgapped-keyring": "^0.3.0", @@ -41,6 +42,7 @@ "@ethereumjs/common": "^2.3.1", "@ethereumjs/tx": "^3.2.1", "@keystonehq/bc-ur-registry-eth": "^0.9.0", + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/keyring-controller/scripts/test.sh b/packages/keyring-controller/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/keyring-controller/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/keyring-controller/scripts/test.sh b/packages/keyring-controller/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/keyring-controller/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/keyring-controller/scripts/validate-changelog.sh b/packages/keyring-controller/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/keyring-controller/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/message-manager/CHANGELOG.md b/packages/message-manager/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/message-manager/CHANGELOG.md +++ b/packages/message-manager/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/message-manager/LICENSE b/packages/message-manager/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/message-manager/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index e98d5fe37f..bcbaac8532 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -23,7 +23,8 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -34,6 +35,7 @@ "uuid": "^8.3.2" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/message-manager/scripts/test.sh b/packages/message-manager/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/message-manager/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/message-manager/scripts/test.sh b/packages/message-manager/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/message-manager/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/message-manager/scripts/validate-changelog.sh b/packages/message-manager/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/message-manager/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/network-controller/CHANGELOG.md b/packages/network-controller/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/network-controller/CHANGELOG.md +++ b/packages/network-controller/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/network-controller/LICENSE b/packages/network-controller/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/network-controller/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 59c8847e5a..652f1ee013 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -23,7 +23,8 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -34,6 +35,7 @@ "web3-provider-engine": "^16.0.3" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/network-controller/scripts/test.sh b/packages/network-controller/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/network-controller/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/network-controller/scripts/test.sh b/packages/network-controller/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/network-controller/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/network-controller/scripts/validate-changelog.sh b/packages/network-controller/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/network-controller/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/notification-controller/CHANGELOG.md b/packages/notification-controller/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/notification-controller/CHANGELOG.md +++ b/packages/notification-controller/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/notification-controller/LICENSE b/packages/notification-controller/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/notification-controller/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index 89d9a4323c..cfd043e8d1 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -23,7 +23,8 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -32,6 +33,7 @@ "nanoid": "^3.1.31" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/notification-controller/scripts/test.sh b/packages/notification-controller/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/notification-controller/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/notification-controller/scripts/test.sh b/packages/notification-controller/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/notification-controller/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/notification-controller/scripts/validate-changelog.sh b/packages/notification-controller/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/notification-controller/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/permission-controller/CHANGELOG.md b/packages/permission-controller/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/permission-controller/CHANGELOG.md +++ b/packages/permission-controller/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/permission-controller/LICENSE b/packages/permission-controller/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/permission-controller/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index ba555313a7..86bfe370aa 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -23,7 +23,8 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "@metamask/approval-controller": "workspace:~", @@ -38,6 +39,7 @@ "nanoid": "^3.1.31" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/permission-controller/scripts/test.sh b/packages/permission-controller/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/permission-controller/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/permission-controller/scripts/test.sh b/packages/permission-controller/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/permission-controller/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/permission-controller/scripts/validate-changelog.sh b/packages/permission-controller/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/permission-controller/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/rate-limit-controller/CHANGELOG.md b/packages/rate-limit-controller/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/rate-limit-controller/CHANGELOG.md +++ b/packages/rate-limit-controller/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/rate-limit-controller/LICENSE b/packages/rate-limit-controller/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/rate-limit-controller/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index bc9d230fde..56698b9142 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -23,7 +23,8 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -31,6 +32,7 @@ "immer": "^9.0.6" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/rate-limit-controller/scripts/test.sh b/packages/rate-limit-controller/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/rate-limit-controller/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/rate-limit-controller/scripts/test.sh b/packages/rate-limit-controller/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/rate-limit-controller/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/rate-limit-controller/scripts/validate-changelog.sh b/packages/rate-limit-controller/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/rate-limit-controller/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/subject-metadata-controller/CHANGELOG.md b/packages/subject-metadata-controller/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/subject-metadata-controller/CHANGELOG.md +++ b/packages/subject-metadata-controller/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/subject-metadata-controller/LICENSE b/packages/subject-metadata-controller/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/subject-metadata-controller/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index 5a7fe4277f..9ad07f6cd3 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -23,7 +23,8 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -32,6 +33,7 @@ "immer": "^9.0.6" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/subject-metadata-controller/scripts/test.sh b/packages/subject-metadata-controller/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/subject-metadata-controller/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/subject-metadata-controller/scripts/test.sh b/packages/subject-metadata-controller/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/subject-metadata-controller/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/subject-metadata-controller/scripts/validate-changelog.sh b/packages/subject-metadata-controller/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/subject-metadata-controller/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/third-party-controllers/CHANGELOG.md b/packages/third-party-controllers/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/third-party-controllers/CHANGELOG.md +++ b/packages/third-party-controllers/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/third-party-controllers/LICENSE b/packages/third-party-controllers/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/third-party-controllers/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/third-party-controllers/package.json b/packages/third-party-controllers/package.json index 5602ee83b0..3c8f21d3ee 100644 --- a/packages/third-party-controllers/package.json +++ b/packages/third-party-controllers/package.json @@ -23,7 +23,8 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -34,6 +35,7 @@ "punycode": "^2.1.1" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "ethereumjs-util": "^7.1.4", diff --git a/packages/third-party-controllers/scripts/test.sh b/packages/third-party-controllers/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/third-party-controllers/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/third-party-controllers/scripts/test.sh b/packages/third-party-controllers/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/third-party-controllers/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/third-party-controllers/scripts/validate-changelog.sh b/packages/third-party-controllers/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/third-party-controllers/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/transaction-controller/CHANGELOG.md b/packages/transaction-controller/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/transaction-controller/CHANGELOG.md +++ b/packages/transaction-controller/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/transaction-controller/LICENSE b/packages/transaction-controller/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/transaction-controller/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 327e7593b2..a63ce3c02d 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -23,7 +23,8 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "@ethereumjs/common": "^2.3.1", @@ -40,6 +41,7 @@ "uuid": "^8.3.2" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "ethjs-provider-http": "^0.1.6", diff --git a/packages/transaction-controller/scripts/test.sh b/packages/transaction-controller/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/transaction-controller/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/transaction-controller/scripts/test.sh b/packages/transaction-controller/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/transaction-controller/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/transaction-controller/scripts/validate-changelog.sh b/packages/transaction-controller/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/transaction-controller/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/user-controllers/CHANGELOG.md b/packages/user-controllers/CHANGELOG.md index 33c58cfad0..6afa80d26d 100644 --- a/packages/user-controllers/CHANGELOG.md +++ b/packages/user-controllers/CHANGELOG.md @@ -1,3 +1,9 @@ # Changelog +All notable changes to this project will be documented in this file. -(TODO) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/user-controllers/LICENSE b/packages/user-controllers/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/user-controllers/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/user-controllers/package.json b/packages/user-controllers/package.json index c7afeed564..1f5c411aba 100644 --- a/packages/user-controllers/package.json +++ b/packages/user-controllers/package.json @@ -23,13 +23,15 @@ "scripts": { "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "changelog:validate": "./scripts/validate-changelog.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~" }, "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/user-controllers/scripts/test.sh b/packages/user-controllers/scripts/test.sh deleted file mode 100755 index 869ab12e16..0000000000 --- a/packages/user-controllers/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jest "$@" && jest-it-up diff --git a/packages/user-controllers/scripts/test.sh b/packages/user-controllers/scripts/test.sh new file mode 120000 index 0000000000..5efe241b8d --- /dev/null +++ b/packages/user-controllers/scripts/test.sh @@ -0,0 +1 @@ +../../../scripts/test.sh \ No newline at end of file diff --git a/packages/user-controllers/scripts/validate-changelog.sh b/packages/user-controllers/scripts/validate-changelog.sh new file mode 120000 index 0000000000..5be61bead4 --- /dev/null +++ b/packages/user-controllers/scripts/validate-changelog.sh @@ -0,0 +1 @@ +../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/scripts/test.sh b/scripts/test.sh new file mode 100755 index 0000000000..869ab12e16 --- /dev/null +++ b/scripts/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +jest "$@" && jest-it-up diff --git a/scripts/validate-changelog.sh b/scripts/validate-changelog.sh new file mode 100755 index 0000000000..66171a1bd2 --- /dev/null +++ b/scripts/validate-changelog.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +if [[ "$GITHUB_REF" =~ '^release/' ]]; then + yarn auto-changelog validate --rc +else + yarn auto-changelog validate +fi diff --git a/yarn.lock b/yarn.lock index dac619e042..f4d99f286f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1573,6 +1573,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/announcement-controller@workspace:packages/announcement-controller" dependencies: + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@types/jest": ^26.0.22 deepmerge: ^4.2.2 @@ -1589,6 +1590,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/approval-controller@workspace:packages/approval-controller" dependencies: + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@types/jest": ^26.0.22 deepmerge: ^4.2.2 @@ -1609,6 +1611,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/assets-controllers@workspace:packages/assets-controllers" dependencies: + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/contract-metadata": ^1.35.0 "@metamask/controller-utils": "workspace:~" @@ -1659,6 +1662,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/base-controller@workspace:packages/base-controller" dependencies: + "@metamask/auto-changelog": ^2.6.0 "@types/jest": ^26.0.22 "@types/sinon": ^9.0.10 deepmerge: ^4.2.2 @@ -1690,6 +1694,7 @@ __metadata: resolution: "@metamask/composable-controller@workspace:packages/composable-controller" dependencies: "@metamask/assets-controllers": "workspace:~" + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/network-controller": "workspace:~" "@metamask/third-party-controllers": "workspace:~" @@ -1719,6 +1724,7 @@ __metadata: resolution: "@metamask/controller-utils@workspace:packages/controller-utils" dependencies: "@metamask/assets-controllers": "workspace:~" + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/message-manager": "workspace:~" "@metamask/transaction-controller": "workspace:~" @@ -1850,6 +1856,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/gas-fee-controller@workspace:packages/gas-fee-controller" dependencies: + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@metamask/network-controller": "workspace:~" @@ -1882,6 +1889,7 @@ __metadata: "@ethereumjs/tx": ^3.2.1 "@keystonehq/bc-ur-registry-eth": ^0.9.0 "@keystonehq/metamask-airgapped-keyring": ^0.3.0 + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@metamask/message-manager": "workspace:~" @@ -1908,6 +1916,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/message-manager@workspace:packages/message-manager" dependencies: + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 @@ -1936,6 +1945,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/network-controller@workspace:packages/network-controller" dependencies: + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 @@ -1958,6 +1968,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/notification-controller@workspace:packages/notification-controller" dependencies: + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 @@ -1988,6 +1999,7 @@ __metadata: resolution: "@metamask/permission-controller@workspace:packages/permission-controller" dependencies: "@metamask/approval-controller": "workspace:~" + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@metamask/types": ^1.1.0 @@ -2012,6 +2024,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/rate-limit-controller@workspace:packages/rate-limit-controller" dependencies: + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@types/jest": ^26.0.22 deepmerge: ^4.2.2 @@ -2037,6 +2050,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/subject-metadata-controller@workspace:packages/subject-metadata-controller" dependencies: + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/permission-controller": "workspace:~" "@metamask/types": ^1.1.0 @@ -2056,6 +2070,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/third-party-controllers@workspace:packages/third-party-controllers" dependencies: + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 @@ -2082,6 +2097,7 @@ __metadata: dependencies: "@ethereumjs/common": ^2.3.1 "@ethereumjs/tx": ^3.2.1 + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@metamask/network-controller": "workspace:~" @@ -2116,6 +2132,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/user-controllers@workspace:packages/user-controllers" dependencies: + "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 From cff70d731dbe7bf50172257592597532d83bff5e Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 14 Jun 2022 15:18:05 -0700 Subject: [PATCH 018/115] Add 'yarn constraints' to CI --- .github/workflows/build-lint-test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index 5e4a6c3b8d..1d9c9743a9 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -34,8 +34,8 @@ jobs: - run: yarn build - run: yarn lint - run: yarn test --maxWorkers=1 --forceExit - - name: Validate changelogs - run: yarn changelog:validate + - run: yarn changelog:validate + - run: yarn constraints all-jobs-pass: name: All jobs pass runs-on: ubuntu-20.04 From 059d3303b3d892e9380c4f96b75fdfc351a77cdc Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 14 Jun 2022 15:22:32 -0700 Subject: [PATCH 019/115] Oops, fix yarn.lock --- yarn.lock | 1 - 1 file changed, 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index f4d99f286f..395066daa1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1753,7 +1753,6 @@ __metadata: resolution: "@metamask/controllers-monorepo@workspace:." dependencies: "@lavamoat/allow-scripts": ^2.0.2 - "@metamask/auto-changelog": ^2.6.0 "@metamask/eslint-config": ^9.0.0 "@metamask/eslint-config-jest": ^9.0.0 "@metamask/eslint-config-nodejs": ^9.0.0 From 00be2cdb61702e6048c92023aa5176a7d5ed5322 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 14 Jun 2022 15:29:29 -0700 Subject: [PATCH 020/115] Fix lint issues --- package.json | 2 +- packages/approval-controller/package.json | 4 ++-- packages/assets-controllers/package.json | 4 ++-- packages/base-controller/package.json | 4 ++-- packages/composable-controller/package.json | 4 ++-- packages/controller-utils/package.json | 4 ++-- packages/gas-fee-controller/package.json | 4 ++-- packages/keyring-controller/package.json | 4 ++-- packages/message-manager/package.json | 4 ++-- packages/network-controller/package.json | 4 ++-- packages/notification-controller/package.json | 4 ++-- packages/permission-controller/package.json | 4 ++-- packages/rate-limit-controller/package.json | 4 ++-- packages/subject-metadata-controller/package.json | 4 ++-- packages/third-party-controllers/package.json | 4 ++-- packages/transaction-controller/package.json | 4 ++-- packages/user-controllers/package.json | 4 ++-- 17 files changed, 33 insertions(+), 33 deletions(-) diff --git a/package.json b/package.json index 184a055c6f..99e4bf3ef3 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "lint": "yarn lint:eslint && yarn lint:misc --check", "lint:eslint": "eslint . --cache --ext js,ts", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write", - "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore", + "lint:misc": "prettier '**/*.json' '**/*.md' '!**/CHANGELOG.md' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore", "prepack": "yarn build", "setup": "yarn install", "test": "yarn workspaces foreach --verbose run test" diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index 2c451c8e5d..3f22be8ed9 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 73ffa11b14..9142c577be 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index bfd4abf8f4..b423f0bed9 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "immer": "^9.0.6" diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 3bfef32de1..487fd429de 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "devDependencies": { "@metamask/assets-controllers": "workspace:~", diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 136d76ee2f..9a31be98b8 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/assets-controllers": "workspace:~", diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 127dd69402..af31fc6a59 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index a6d56742a5..3aa275f3b3 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "@keystonehq/metamask-airgapped-keyring": "^0.3.0", diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index bcbaac8532..09475b4693 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 652f1ee013..d26d928ed4 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index cfd043e8d1..d8d2eeb450 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 86bfe370aa..77ac0f9a18 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/approval-controller": "workspace:~", diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index 56698b9142..a9960b65a5 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index 9ad07f6cd3..fde4293996 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/third-party-controllers/package.json b/packages/third-party-controllers/package.json index 3c8f21d3ee..5ddf985cfe 100644 --- a/packages/third-party-controllers/package.json +++ b/packages/third-party-controllers/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index a63ce3c02d..a59e32da86 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "@ethereumjs/common": "^2.3.1", diff --git a/packages/user-controllers/package.json b/packages/user-controllers/package.json index 1f5c411aba..f2e611f043 100644 --- a/packages/user-controllers/package.json +++ b/packages/user-controllers/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { + "changelog:validate": "./scripts/validate-changelog.sh", "doc": "typedoc && touch docs/.nojekyll", "test": "./scripts/test.sh", - "test:watch": "jest --watch", - "changelog:validate": "./scripts/validate-changelog.sh" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", From 7eb7e17fcc9e1208b04f08f909be18e6bc0e7045 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 14 Jun 2022 15:38:34 -0700 Subject: [PATCH 021/115] Put build and test after lint --- .../{build-lint-test.yml => lint-build-test.yml} | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) rename .github/workflows/{build-lint-test.yml => lint-build-test.yml} (92%) diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/lint-build-test.yml similarity index 92% rename from .github/workflows/build-lint-test.yml rename to .github/workflows/lint-build-test.yml index 1d9c9743a9..d2c81bf050 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -1,4 +1,4 @@ -name: Build, Lint, and Test +name: Lint, Build, and Test on: push: @@ -6,8 +6,8 @@ on: pull_request: jobs: - build-lint-test: - name: Build, Lint, and Test + lint-build-test: + name: Lint, Build, and Test runs-on: ubuntu-20.04 strategy: matrix: @@ -31,15 +31,15 @@ jobs: path: ${{ steps.yarn-cache-dir.outputs.YARN_CACHE_DIR }} key: yarn-cache-${{ runner.os }}-${{ steps.yarn-version.outputs.YARN_VERSION }}-${{ hashFiles('yarn.lock') }} - run: yarn --immutable - - run: yarn build - run: yarn lint - - run: yarn test --maxWorkers=1 --forceExit - run: yarn changelog:validate - run: yarn constraints + - run: yarn build + - run: yarn test --maxWorkers=1 --forceExit all-jobs-pass: name: All jobs pass runs-on: ubuntu-20.04 needs: - - build-lint-test + - lint-build-test steps: - run: echo "Great success!" From 4baf34f472bd2bfa6d665ff42dba3ddc1bcb92d4 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 14 Jun 2022 15:55:34 -0700 Subject: [PATCH 022/115] Add Yarn version plugin --- .yarn/plugins/@yarnpkg/plugin-version.cjs | 550 ++++++++++++++++++++++ .yarnrc.yml | 3 + 2 files changed, 553 insertions(+) create mode 100644 .yarn/plugins/@yarnpkg/plugin-version.cjs diff --git a/.yarn/plugins/@yarnpkg/plugin-version.cjs b/.yarn/plugins/@yarnpkg/plugin-version.cjs new file mode 100644 index 0000000000..87de4f440a --- /dev/null +++ b/.yarn/plugins/@yarnpkg/plugin-version.cjs @@ -0,0 +1,550 @@ +/* eslint-disable */ +//prettier-ignore +module.exports = { +name: "@yarnpkg/plugin-version", +factory: function (require) { +var plugin=(()=>{var ZB=Object.create,zy=Object.defineProperty,$B=Object.defineProperties,eU=Object.getOwnPropertyDescriptor,tU=Object.getOwnPropertyDescriptors,nU=Object.getOwnPropertyNames,uS=Object.getOwnPropertySymbols,rU=Object.getPrototypeOf,oS=Object.prototype.hasOwnProperty,iU=Object.prototype.propertyIsEnumerable;var lS=(i,o,f)=>o in i?zy(i,o,{enumerable:!0,configurable:!0,writable:!0,value:f}):i[o]=f,E0=(i,o)=>{for(var f in o||(o={}))oS.call(o,f)&&lS(i,f,o[f]);if(uS)for(var f of uS(o))iU.call(o,f)&&lS(i,f,o[f]);return i},Gf=(i,o)=>$B(i,tU(o)),uU=i=>zy(i,"__esModule",{value:!0});var ce=(i,o)=>()=>(o||i((o={exports:{}}).exports,o),o.exports),sS=(i,o)=>{for(var f in o)zy(i,f,{get:o[f],enumerable:!0})},oU=(i,o,f)=>{if(o&&typeof o=="object"||typeof o=="function")for(let p of nU(o))!oS.call(i,p)&&p!=="default"&&zy(i,p,{get:()=>o[p],enumerable:!(f=eU(o,p))||f.enumerable});return i},Mi=i=>oU(uU(zy(i!=null?ZB(rU(i)):{},"default",i&&i.__esModule&&"default"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i);var eD=ce((F$,aS)=>{function lU(i,o){for(var f=-1,p=i==null?0:i.length,E=Array(p);++f{function sU(){this.__data__=[],this.size=0}fS.exports=sU});var tD=ce((P$,dS)=>{function aU(i,o){return i===o||i!==i&&o!==o}dS.exports=aU});var qy=ce((I$,pS)=>{var fU=tD();function cU(i,o){for(var f=i.length;f--;)if(fU(i[f][0],o))return f;return-1}pS.exports=cU});var vS=ce((B$,hS)=>{var dU=qy(),pU=Array.prototype,hU=pU.splice;function vU(i){var o=this.__data__,f=dU(o,i);if(f<0)return!1;var p=o.length-1;return f==p?o.pop():hU.call(o,f,1),--this.size,!0}hS.exports=vU});var yS=ce((U$,mS)=>{var mU=qy();function yU(i){var o=this.__data__,f=mU(o,i);return f<0?void 0:o[f][1]}mS.exports=yU});var _S=ce((j$,gS)=>{var gU=qy();function _U(i){return gU(this.__data__,i)>-1}gS.exports=_U});var DS=ce((z$,ES)=>{var EU=qy();function DU(i,o){var f=this.__data__,p=EU(f,i);return p<0?(++this.size,f.push([i,o])):f[p][1]=o,this}ES.exports=DU});var Hy=ce((q$,wS)=>{var wU=cS(),SU=vS(),TU=yS(),CU=_S(),xU=DS();function jv(i){var o=-1,f=i==null?0:i.length;for(this.clear();++o{var AU=Hy();function RU(){this.__data__=new AU,this.size=0}SS.exports=RU});var xS=ce((W$,CS)=>{function OU(i){var o=this.__data__,f=o.delete(i);return this.size=o.size,f}CS.exports=OU});var RS=ce((V$,AS)=>{function kU(i){return this.__data__.get(i)}AS.exports=kU});var kS=ce((G$,OS)=>{function MU(i){return this.__data__.has(i)}OS.exports=MU});var nD=ce((Y$,MS)=>{var NU=typeof global=="object"&&global&&global.Object===Object&&global;MS.exports=NU});var Yf=ce((K$,NS)=>{var LU=nD(),FU=typeof self=="object"&&self&&self.Object===Object&&self,bU=LU||FU||Function("return this")();NS.exports=bU});var zv=ce((X$,LS)=>{var PU=Yf(),IU=PU.Symbol;LS.exports=IU});var BS=ce((Q$,bS)=>{var PS=zv(),IS=Object.prototype,BU=IS.hasOwnProperty,UU=IS.toString,Wy=PS?PS.toStringTag:void 0;function jU(i){var o=BU.call(i,Wy),f=i[Wy];try{i[Wy]=void 0;var p=!0}catch(t){}var E=UU.call(i);return p&&(o?i[Wy]=f:delete i[Wy]),E}bS.exports=jU});var jS=ce((J$,US)=>{var zU=Object.prototype,qU=zU.toString;function HU(i){return qU.call(i)}US.exports=HU});var Qp=ce((Z$,zS)=>{var qS=zv(),WU=BS(),VU=jS(),GU="[object Null]",YU="[object Undefined]",HS=qS?qS.toStringTag:void 0;function KU(i){return i==null?i===void 0?YU:GU:HS&&HS in Object(i)?WU(i):VU(i)}zS.exports=KU});var qv=ce(($$,WS)=>{function XU(i){var o=typeof i;return i!=null&&(o=="object"||o=="function")}WS.exports=XU});var rD=ce((eee,VS)=>{var QU=Qp(),JU=qv(),ZU="[object AsyncFunction]",$U="[object Function]",ej="[object GeneratorFunction]",tj="[object Proxy]";function nj(i){if(!JU(i))return!1;var o=QU(i);return o==$U||o==ej||o==ZU||o==tj}VS.exports=nj});var YS=ce((tee,GS)=>{var rj=Yf(),ij=rj["__core-js_shared__"];GS.exports=ij});var QS=ce((nee,KS)=>{var iD=YS(),XS=function(){var i=/[^.]+$/.exec(iD&&iD.keys&&iD.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function uj(i){return!!XS&&XS in i}KS.exports=uj});var uD=ce((ree,JS)=>{var oj=Function.prototype,lj=oj.toString;function sj(i){if(i!=null){try{return lj.call(i)}catch(o){}try{return i+""}catch(o){}}return""}JS.exports=sj});var $S=ce((iee,ZS)=>{var aj=rD(),fj=QS(),cj=qv(),dj=uD(),pj=/[\\^$.*+?()[\]{}|]/g,hj=/^\[object .+?Constructor\]$/,vj=Function.prototype,mj=Object.prototype,yj=vj.toString,gj=mj.hasOwnProperty,_j=RegExp("^"+yj.call(gj).replace(pj,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ej(i){if(!cj(i)||fj(i))return!1;var o=aj(i)?_j:hj;return o.test(dj(i))}ZS.exports=Ej});var tT=ce((uee,eT)=>{function Dj(i,o){return i==null?void 0:i[o]}eT.exports=Dj});var sd=ce((oee,nT)=>{var wj=$S(),Sj=tT();function Tj(i,o){var f=Sj(i,o);return wj(f)?f:void 0}nT.exports=Tj});var L_=ce((lee,rT)=>{var Cj=sd(),xj=Yf(),Aj=Cj(xj,"Map");rT.exports=Aj});var Vy=ce((see,iT)=>{var Rj=sd(),Oj=Rj(Object,"create");iT.exports=Oj});var lT=ce((aee,uT)=>{var oT=Vy();function kj(){this.__data__=oT?oT(null):{},this.size=0}uT.exports=kj});var aT=ce((fee,sT)=>{function Mj(i){var o=this.has(i)&&delete this.__data__[i];return this.size-=o?1:0,o}sT.exports=Mj});var cT=ce((cee,fT)=>{var Nj=Vy(),Lj="__lodash_hash_undefined__",Fj=Object.prototype,bj=Fj.hasOwnProperty;function Pj(i){var o=this.__data__;if(Nj){var f=o[i];return f===Lj?void 0:f}return bj.call(o,i)?o[i]:void 0}fT.exports=Pj});var pT=ce((dee,dT)=>{var Ij=Vy(),Bj=Object.prototype,Uj=Bj.hasOwnProperty;function jj(i){var o=this.__data__;return Ij?o[i]!==void 0:Uj.call(o,i)}dT.exports=jj});var vT=ce((pee,hT)=>{var zj=Vy(),qj="__lodash_hash_undefined__";function Hj(i,o){var f=this.__data__;return this.size+=this.has(i)?0:1,f[i]=zj&&o===void 0?qj:o,this}hT.exports=Hj});var yT=ce((hee,mT)=>{var Wj=lT(),Vj=aT(),Gj=cT(),Yj=pT(),Kj=vT();function Hv(i){var o=-1,f=i==null?0:i.length;for(this.clear();++o{var _T=yT(),Xj=Hy(),Qj=L_();function Jj(){this.size=0,this.__data__={hash:new _T,map:new(Qj||Xj),string:new _T}}gT.exports=Jj});var wT=ce((mee,DT)=>{function Zj(i){var o=typeof i;return o=="string"||o=="number"||o=="symbol"||o=="boolean"?i!=="__proto__":i===null}DT.exports=Zj});var Gy=ce((yee,ST)=>{var $j=wT();function ez(i,o){var f=i.__data__;return $j(o)?f[typeof o=="string"?"string":"hash"]:f.map}ST.exports=ez});var CT=ce((gee,TT)=>{var tz=Gy();function nz(i){var o=tz(this,i).delete(i);return this.size-=o?1:0,o}TT.exports=nz});var AT=ce((_ee,xT)=>{var rz=Gy();function iz(i){return rz(this,i).get(i)}xT.exports=iz});var OT=ce((Eee,RT)=>{var uz=Gy();function oz(i){return uz(this,i).has(i)}RT.exports=oz});var MT=ce((Dee,kT)=>{var lz=Gy();function sz(i,o){var f=lz(this,i),p=f.size;return f.set(i,o),this.size+=f.size==p?0:1,this}kT.exports=sz});var oD=ce((wee,NT)=>{var az=ET(),fz=CT(),cz=AT(),dz=OT(),pz=MT();function Wv(i){var o=-1,f=i==null?0:i.length;for(this.clear();++o{var hz=Hy(),vz=L_(),mz=oD(),yz=200;function gz(i,o){var f=this.__data__;if(f instanceof hz){var p=f.__data__;if(!vz||p.length{var _z=Hy(),Ez=TS(),Dz=xS(),wz=RS(),Sz=kS(),Tz=FT();function Vv(i){var o=this.__data__=new _z(i);this.size=o.size}Vv.prototype.clear=Ez;Vv.prototype.delete=Dz;Vv.prototype.get=wz;Vv.prototype.has=Sz;Vv.prototype.set=Tz;bT.exports=Vv});var BT=ce((Cee,IT)=>{function Cz(i,o){for(var f=-1,p=i==null?0:i.length;++f{var xz=sd(),Az=function(){try{var i=xz(Object,"defineProperty");return i({},"",{}),i}catch(o){}}();UT.exports=Az});var sD=ce((Aee,jT)=>{var zT=lD();function Rz(i,o,f){o=="__proto__"&&zT?zT(i,o,{configurable:!0,enumerable:!0,value:f,writable:!0}):i[o]=f}jT.exports=Rz});var aD=ce((Ree,qT)=>{var Oz=sD(),kz=tD(),Mz=Object.prototype,Nz=Mz.hasOwnProperty;function Lz(i,o,f){var p=i[o];(!(Nz.call(i,o)&&kz(p,f))||f===void 0&&!(o in i))&&Oz(i,o,f)}qT.exports=Lz});var Gv=ce((Oee,HT)=>{var Fz=aD(),bz=sD();function Pz(i,o,f,p){var E=!f;f||(f={});for(var t=-1,k=o.length;++t{function Iz(i,o){for(var f=-1,p=Array(i);++f{function Bz(i){return i!=null&&typeof i=="object"}GT.exports=Bz});var KT=ce((Nee,YT)=>{var Uz=Qp(),jz=ad(),zz="[object Arguments]";function qz(i){return jz(i)&&Uz(i)==zz}YT.exports=qz});var fD=ce((Lee,XT)=>{var QT=KT(),Hz=ad(),JT=Object.prototype,Wz=JT.hasOwnProperty,Vz=JT.propertyIsEnumerable,Gz=QT(function(){return arguments}())?QT:function(i){return Hz(i)&&Wz.call(i,"callee")&&!Vz.call(i,"callee")};XT.exports=Gz});var fd=ce((Fee,ZT)=>{var Yz=Array.isArray;ZT.exports=Yz});var eC=ce((bee,$T)=>{function Kz(){return!1}$T.exports=Kz});var cD=ce((Yy,Yv)=>{var Xz=Yf(),Qz=eC(),tC=typeof Yy=="object"&&Yy&&!Yy.nodeType&&Yy,nC=tC&&typeof Yv=="object"&&Yv&&!Yv.nodeType&&Yv,Jz=nC&&nC.exports===tC,rC=Jz?Xz.Buffer:void 0,Zz=rC?rC.isBuffer:void 0,$z=Zz||Qz;Yv.exports=$z});var uC=ce((Pee,iC)=>{var eq=9007199254740991,tq=/^(?:0|[1-9]\d*)$/;function nq(i,o){var f=typeof i;return o=o==null?eq:o,!!o&&(f=="number"||f!="symbol"&&tq.test(i))&&i>-1&&i%1==0&&i{var rq=9007199254740991;function iq(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=rq}oC.exports=iq});var sC=ce((Bee,lC)=>{var uq=Qp(),oq=dD(),lq=ad(),sq="[object Arguments]",aq="[object Array]",fq="[object Boolean]",cq="[object Date]",dq="[object Error]",pq="[object Function]",hq="[object Map]",vq="[object Number]",mq="[object Object]",yq="[object RegExp]",gq="[object Set]",_q="[object String]",Eq="[object WeakMap]",Dq="[object ArrayBuffer]",wq="[object DataView]",Sq="[object Float32Array]",Tq="[object Float64Array]",Cq="[object Int8Array]",xq="[object Int16Array]",Aq="[object Int32Array]",Rq="[object Uint8Array]",Oq="[object Uint8ClampedArray]",kq="[object Uint16Array]",Mq="[object Uint32Array]",o0={};o0[Sq]=o0[Tq]=o0[Cq]=o0[xq]=o0[Aq]=o0[Rq]=o0[Oq]=o0[kq]=o0[Mq]=!0;o0[sq]=o0[aq]=o0[Dq]=o0[fq]=o0[wq]=o0[cq]=o0[dq]=o0[pq]=o0[hq]=o0[vq]=o0[mq]=o0[yq]=o0[gq]=o0[_q]=o0[Eq]=!1;function Nq(i){return lq(i)&&oq(i.length)&&!!o0[uq(i)]}lC.exports=Nq});var F_=ce((Uee,aC)=>{function Lq(i){return function(o){return i(o)}}aC.exports=Lq});var b_=ce((Ky,Kv)=>{var Fq=nD(),fC=typeof Ky=="object"&&Ky&&!Ky.nodeType&&Ky,Xy=fC&&typeof Kv=="object"&&Kv&&!Kv.nodeType&&Kv,bq=Xy&&Xy.exports===fC,pD=bq&&Fq.process,Pq=function(){try{var i=Xy&&Xy.require&&Xy.require("util").types;return i||pD&&pD.binding&&pD.binding("util")}catch(o){}}();Kv.exports=Pq});var hC=ce((jee,cC)=>{var Iq=sC(),Bq=F_(),dC=b_(),pC=dC&&dC.isTypedArray,Uq=pC?Bq(pC):Iq;cC.exports=Uq});var hD=ce((zee,vC)=>{var jq=VT(),zq=fD(),qq=fd(),Hq=cD(),Wq=uC(),Vq=hC(),Gq=Object.prototype,Yq=Gq.hasOwnProperty;function Kq(i,o){var f=qq(i),p=!f&&zq(i),E=!f&&!p&&Hq(i),t=!f&&!p&&!E&&Vq(i),k=f||p||E||t,L=k?jq(i.length,String):[],N=L.length;for(var C in i)(o||Yq.call(i,C))&&!(k&&(C=="length"||E&&(C=="offset"||C=="parent")||t&&(C=="buffer"||C=="byteLength"||C=="byteOffset")||Wq(C,N)))&&L.push(C);return L}vC.exports=Kq});var P_=ce((qee,mC)=>{var Xq=Object.prototype;function Qq(i){var o=i&&i.constructor,f=typeof o=="function"&&o.prototype||Xq;return i===f}mC.exports=Qq});var vD=ce((Hee,yC)=>{function Jq(i,o){return function(f){return i(o(f))}}yC.exports=Jq});var _C=ce((Wee,gC)=>{var Zq=vD(),$q=Zq(Object.keys,Object);gC.exports=$q});var DC=ce((Vee,EC)=>{var eH=P_(),tH=_C(),nH=Object.prototype,rH=nH.hasOwnProperty;function iH(i){if(!eH(i))return tH(i);var o=[];for(var f in Object(i))rH.call(i,f)&&f!="constructor"&&o.push(f);return o}EC.exports=iH});var mD=ce((Gee,wC)=>{var uH=rD(),oH=dD();function lH(i){return i!=null&&oH(i.length)&&!uH(i)}wC.exports=lH});var I_=ce((Yee,SC)=>{var sH=hD(),aH=DC(),fH=mD();function cH(i){return fH(i)?sH(i):aH(i)}SC.exports=cH});var CC=ce((Kee,TC)=>{var dH=Gv(),pH=I_();function hH(i,o){return i&&dH(o,pH(o),i)}TC.exports=hH});var AC=ce((Xee,xC)=>{function vH(i){var o=[];if(i!=null)for(var f in Object(i))o.push(f);return o}xC.exports=vH});var OC=ce((Qee,RC)=>{var mH=qv(),yH=P_(),gH=AC(),_H=Object.prototype,EH=_H.hasOwnProperty;function DH(i){if(!mH(i))return gH(i);var o=yH(i),f=[];for(var p in i)p=="constructor"&&(o||!EH.call(i,p))||f.push(p);return f}RC.exports=DH});var B_=ce((Jee,kC)=>{var wH=hD(),SH=OC(),TH=mD();function CH(i){return TH(i)?wH(i,!0):SH(i)}kC.exports=CH});var NC=ce((Zee,MC)=>{var xH=Gv(),AH=B_();function RH(i,o){return i&&xH(o,AH(o),i)}MC.exports=RH});var IC=ce((Qy,Xv)=>{var OH=Yf(),LC=typeof Qy=="object"&&Qy&&!Qy.nodeType&&Qy,FC=LC&&typeof Xv=="object"&&Xv&&!Xv.nodeType&&Xv,kH=FC&&FC.exports===LC,bC=kH?OH.Buffer:void 0,PC=bC?bC.allocUnsafe:void 0;function MH(i,o){if(o)return i.slice();var f=i.length,p=PC?PC(f):new i.constructor(f);return i.copy(p),p}Xv.exports=MH});var UC=ce(($ee,BC)=>{function NH(i,o){var f=-1,p=i.length;for(o||(o=Array(p));++f{function LH(i,o){for(var f=-1,p=i==null?0:i.length,E=0,t=[];++f{function FH(){return[]}qC.exports=FH});var U_=ce((nte,HC)=>{var bH=zC(),PH=yD(),IH=Object.prototype,BH=IH.propertyIsEnumerable,WC=Object.getOwnPropertySymbols,UH=WC?function(i){return i==null?[]:(i=Object(i),bH(WC(i),function(o){return BH.call(i,o)}))}:PH;HC.exports=UH});var GC=ce((rte,VC)=>{var jH=Gv(),zH=U_();function qH(i,o){return jH(i,zH(i),o)}VC.exports=qH});var j_=ce((ite,YC)=>{function HH(i,o){for(var f=-1,p=o.length,E=i.length;++f{var WH=vD(),VH=WH(Object.getPrototypeOf,Object);KC.exports=VH});var gD=ce((ote,XC)=>{var GH=j_(),YH=z_(),KH=U_(),XH=yD(),QH=Object.getOwnPropertySymbols,JH=QH?function(i){for(var o=[];i;)GH(o,KH(i)),i=YH(i);return o}:XH;XC.exports=JH});var JC=ce((lte,QC)=>{var ZH=Gv(),$H=gD();function eW(i,o){return ZH(i,$H(i),o)}QC.exports=eW});var _D=ce((ste,ZC)=>{var tW=j_(),nW=fd();function rW(i,o,f){var p=o(i);return nW(i)?p:tW(p,f(i))}ZC.exports=rW});var e6=ce((ate,$C)=>{var iW=_D(),uW=U_(),oW=I_();function lW(i){return iW(i,oW,uW)}$C.exports=lW});var ED=ce((fte,t6)=>{var sW=_D(),aW=gD(),fW=B_();function cW(i){return sW(i,fW,aW)}t6.exports=cW});var r6=ce((cte,n6)=>{var dW=sd(),pW=Yf(),hW=dW(pW,"DataView");n6.exports=hW});var u6=ce((dte,i6)=>{var vW=sd(),mW=Yf(),yW=vW(mW,"Promise");i6.exports=yW});var l6=ce((pte,o6)=>{var gW=sd(),_W=Yf(),EW=gW(_W,"Set");o6.exports=EW});var a6=ce((hte,s6)=>{var DW=sd(),wW=Yf(),SW=DW(wW,"WeakMap");s6.exports=SW});var q_=ce((vte,f6)=>{var DD=r6(),wD=L_(),SD=u6(),TD=l6(),CD=a6(),c6=Qp(),Qv=uD(),d6="[object Map]",TW="[object Object]",p6="[object Promise]",h6="[object Set]",v6="[object WeakMap]",m6="[object DataView]",CW=Qv(DD),xW=Qv(wD),AW=Qv(SD),RW=Qv(TD),OW=Qv(CD),Jp=c6;(DD&&Jp(new DD(new ArrayBuffer(1)))!=m6||wD&&Jp(new wD)!=d6||SD&&Jp(SD.resolve())!=p6||TD&&Jp(new TD)!=h6||CD&&Jp(new CD)!=v6)&&(Jp=function(i){var o=c6(i),f=o==TW?i.constructor:void 0,p=f?Qv(f):"";if(p)switch(p){case CW:return m6;case xW:return d6;case AW:return p6;case RW:return h6;case OW:return v6}return o});f6.exports=Jp});var g6=ce((mte,y6)=>{var kW=Object.prototype,MW=kW.hasOwnProperty;function NW(i){var o=i.length,f=new i.constructor(o);return o&&typeof i[0]=="string"&&MW.call(i,"index")&&(f.index=i.index,f.input=i.input),f}y6.exports=NW});var E6=ce((yte,_6)=>{var LW=Yf(),FW=LW.Uint8Array;_6.exports=FW});var H_=ce((gte,D6)=>{var w6=E6();function bW(i){var o=new i.constructor(i.byteLength);return new w6(o).set(new w6(i)),o}D6.exports=bW});var T6=ce((_te,S6)=>{var PW=H_();function IW(i,o){var f=o?PW(i.buffer):i.buffer;return new i.constructor(f,i.byteOffset,i.byteLength)}S6.exports=IW});var x6=ce((Ete,C6)=>{var BW=/\w*$/;function UW(i){var o=new i.constructor(i.source,BW.exec(i));return o.lastIndex=i.lastIndex,o}C6.exports=UW});var M6=ce((Dte,A6)=>{var R6=zv(),O6=R6?R6.prototype:void 0,k6=O6?O6.valueOf:void 0;function jW(i){return k6?Object(k6.call(i)):{}}A6.exports=jW});var L6=ce((wte,N6)=>{var zW=H_();function qW(i,o){var f=o?zW(i.buffer):i.buffer;return new i.constructor(f,i.byteOffset,i.length)}N6.exports=qW});var b6=ce((Ste,F6)=>{var HW=H_(),WW=T6(),VW=x6(),GW=M6(),YW=L6(),KW="[object Boolean]",XW="[object Date]",QW="[object Map]",JW="[object Number]",ZW="[object RegExp]",$W="[object Set]",eV="[object String]",tV="[object Symbol]",nV="[object ArrayBuffer]",rV="[object DataView]",iV="[object Float32Array]",uV="[object Float64Array]",oV="[object Int8Array]",lV="[object Int16Array]",sV="[object Int32Array]",aV="[object Uint8Array]",fV="[object Uint8ClampedArray]",cV="[object Uint16Array]",dV="[object Uint32Array]";function pV(i,o,f){var p=i.constructor;switch(o){case nV:return HW(i);case KW:case XW:return new p(+i);case rV:return WW(i,f);case iV:case uV:case oV:case lV:case sV:case aV:case fV:case cV:case dV:return YW(i,f);case QW:return new p;case JW:case eV:return new p(i);case ZW:return VW(i);case $W:return new p;case tV:return GW(i)}}F6.exports=pV});var B6=ce((Tte,P6)=>{var hV=qv(),I6=Object.create,vV=function(){function i(){}return function(o){if(!hV(o))return{};if(I6)return I6(o);i.prototype=o;var f=new i;return i.prototype=void 0,f}}();P6.exports=vV});var j6=ce((Cte,U6)=>{var mV=B6(),yV=z_(),gV=P_();function _V(i){return typeof i.constructor=="function"&&!gV(i)?mV(yV(i)):{}}U6.exports=_V});var q6=ce((xte,z6)=>{var EV=q_(),DV=ad(),wV="[object Map]";function SV(i){return DV(i)&&EV(i)==wV}z6.exports=SV});var G6=ce((Ate,H6)=>{var TV=q6(),CV=F_(),W6=b_(),V6=W6&&W6.isMap,xV=V6?CV(V6):TV;H6.exports=xV});var K6=ce((Rte,Y6)=>{var AV=q_(),RV=ad(),OV="[object Set]";function kV(i){return RV(i)&&AV(i)==OV}Y6.exports=kV});var Z6=ce((Ote,X6)=>{var MV=K6(),NV=F_(),Q6=b_(),J6=Q6&&Q6.isSet,LV=J6?NV(J6):MV;X6.exports=LV});var rx=ce((kte,$6)=>{var FV=PT(),bV=BT(),PV=aD(),IV=CC(),BV=NC(),UV=IC(),jV=UC(),zV=GC(),qV=JC(),HV=e6(),WV=ED(),VV=q_(),GV=g6(),YV=b6(),KV=j6(),XV=fd(),QV=cD(),JV=G6(),ZV=qv(),$V=Z6(),eG=I_(),tG=B_(),nG=1,rG=2,iG=4,ex="[object Arguments]",uG="[object Array]",oG="[object Boolean]",lG="[object Date]",sG="[object Error]",tx="[object Function]",aG="[object GeneratorFunction]",fG="[object Map]",cG="[object Number]",nx="[object Object]",dG="[object RegExp]",pG="[object Set]",hG="[object String]",vG="[object Symbol]",mG="[object WeakMap]",yG="[object ArrayBuffer]",gG="[object DataView]",_G="[object Float32Array]",EG="[object Float64Array]",DG="[object Int8Array]",wG="[object Int16Array]",SG="[object Int32Array]",TG="[object Uint8Array]",CG="[object Uint8ClampedArray]",xG="[object Uint16Array]",AG="[object Uint32Array]",Wu={};Wu[ex]=Wu[uG]=Wu[yG]=Wu[gG]=Wu[oG]=Wu[lG]=Wu[_G]=Wu[EG]=Wu[DG]=Wu[wG]=Wu[SG]=Wu[fG]=Wu[cG]=Wu[nx]=Wu[dG]=Wu[pG]=Wu[hG]=Wu[vG]=Wu[TG]=Wu[CG]=Wu[xG]=Wu[AG]=!0;Wu[sG]=Wu[tx]=Wu[mG]=!1;function W_(i,o,f,p,E,t){var k,L=o&nG,N=o&rG,C=o&iG;if(f&&(k=E?f(i,p,E,t):f(i)),k!==void 0)return k;if(!ZV(i))return i;var U=XV(i);if(U){if(k=GV(i),!L)return jV(i,k)}else{var q=VV(i),W=q==tx||q==aG;if(QV(i))return UV(i,L);if(q==nx||q==ex||W&&!E){if(k=N||W?{}:KV(i),!L)return N?qV(i,BV(k,i)):zV(i,IV(k,i))}else{if(!Wu[q])return E?i:{};k=YV(i,q,L)}}t||(t=new FV);var ne=t.get(i);if(ne)return ne;t.set(i,k),$V(i)?i.forEach(function(Se){k.add(W_(Se,o,f,Se,i,t))}):JV(i)&&i.forEach(function(Se,he){k.set(he,W_(Se,o,f,he,i,t))});var m=C?N?WV:HV:N?tG:eG,we=U?void 0:m(i);return bV(we||i,function(Se,he){we&&(he=Se,Se=i[he]),PV(k,he,W_(Se,o,f,he,i,t))}),k}$6.exports=W_});var V_=ce((Mte,ix)=>{var RG=Qp(),OG=ad(),kG="[object Symbol]";function MG(i){return typeof i=="symbol"||OG(i)&&RG(i)==kG}ix.exports=MG});var ox=ce((Nte,ux)=>{var NG=fd(),LG=V_(),FG=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,bG=/^\w*$/;function PG(i,o){if(NG(i))return!1;var f=typeof i;return f=="number"||f=="symbol"||f=="boolean"||i==null||LG(i)?!0:bG.test(i)||!FG.test(i)||o!=null&&i in Object(o)}ux.exports=PG});var ax=ce((Lte,lx)=>{var sx=oD(),IG="Expected a function";function xD(i,o){if(typeof i!="function"||o!=null&&typeof o!="function")throw new TypeError(IG);var f=function(){var p=arguments,E=o?o.apply(this,p):p[0],t=f.cache;if(t.has(E))return t.get(E);var k=i.apply(this,p);return f.cache=t.set(E,k)||t,k};return f.cache=new(xD.Cache||sx),f}xD.Cache=sx;lx.exports=xD});var cx=ce((Fte,fx)=>{var BG=ax(),UG=500;function jG(i){var o=BG(i,function(p){return f.size===UG&&f.clear(),p}),f=o.cache;return o}fx.exports=jG});var px=ce((bte,dx)=>{var zG=cx(),qG=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,HG=/\\(\\)?/g,WG=zG(function(i){var o=[];return i.charCodeAt(0)===46&&o.push(""),i.replace(qG,function(f,p,E,t){o.push(E?t.replace(HG,"$1"):p||f)}),o});dx.exports=WG});var _x=ce((Pte,hx)=>{var vx=zv(),VG=eD(),GG=fd(),YG=V_(),KG=1/0,mx=vx?vx.prototype:void 0,yx=mx?mx.toString:void 0;function gx(i){if(typeof i=="string")return i;if(GG(i))return VG(i,gx)+"";if(YG(i))return yx?yx.call(i):"";var o=i+"";return o=="0"&&1/i==-KG?"-0":o}hx.exports=gx});var Dx=ce((Ite,Ex)=>{var XG=_x();function QG(i){return i==null?"":XG(i)}Ex.exports=QG});var G_=ce((Bte,wx)=>{var JG=fd(),ZG=ox(),$G=px(),eY=Dx();function tY(i,o){return JG(i)?i:ZG(i,o)?[i]:$G(eY(i))}wx.exports=tY});var Tx=ce((Ute,Sx)=>{function nY(i){var o=i==null?0:i.length;return o?i[o-1]:void 0}Sx.exports=nY});var AD=ce((jte,Cx)=>{var rY=V_(),iY=1/0;function uY(i){if(typeof i=="string"||rY(i))return i;var o=i+"";return o=="0"&&1/i==-iY?"-0":o}Cx.exports=uY});var Ax=ce((zte,xx)=>{var oY=G_(),lY=AD();function sY(i,o){o=oY(o,i);for(var f=0,p=o.length;i!=null&&f{function aY(i,o,f){var p=-1,E=i.length;o<0&&(o=-o>E?0:E+o),f=f>E?E:f,f<0&&(f+=E),E=o>f?0:f-o>>>0,o>>>=0;for(var t=Array(E);++p{var fY=Ax(),cY=Ox();function dY(i,o){return o.length<2?i:fY(i,cY(o,0,-1))}kx.exports=dY});var Lx=ce((Wte,Nx)=>{var pY=G_(),hY=Tx(),vY=Mx(),mY=AD();function yY(i,o){return o=pY(o,i),i=vY(i,o),i==null||delete i[mY(hY(o))]}Nx.exports=yY});var Px=ce((Vte,Fx)=>{var gY=Qp(),_Y=z_(),EY=ad(),DY="[object Object]",wY=Function.prototype,SY=Object.prototype,bx=wY.toString,TY=SY.hasOwnProperty,CY=bx.call(Object);function xY(i){if(!EY(i)||gY(i)!=DY)return!1;var o=_Y(i);if(o===null)return!0;var f=TY.call(o,"constructor")&&o.constructor;return typeof f=="function"&&f instanceof f&&bx.call(f)==CY}Fx.exports=xY});var Bx=ce((Gte,Ix)=>{var AY=Px();function RY(i){return AY(i)?void 0:i}Ix.exports=RY});var qx=ce((Yte,Ux)=>{var jx=zv(),OY=fD(),kY=fd(),zx=jx?jx.isConcatSpreadable:void 0;function MY(i){return kY(i)||OY(i)||!!(zx&&i&&i[zx])}Ux.exports=MY});var Vx=ce((Kte,Hx)=>{var NY=j_(),LY=qx();function Wx(i,o,f,p,E){var t=-1,k=i.length;for(f||(f=LY),E||(E=[]);++t0&&f(L)?o>1?Wx(L,o-1,f,p,E):NY(E,L):p||(E[E.length]=L)}return E}Hx.exports=Wx});var Yx=ce((Xte,Gx)=>{var FY=Vx();function bY(i){var o=i==null?0:i.length;return o?FY(i,1):[]}Gx.exports=bY});var Xx=ce((Qte,Kx)=>{function PY(i,o,f){switch(f.length){case 0:return i.call(o);case 1:return i.call(o,f[0]);case 2:return i.call(o,f[0],f[1]);case 3:return i.call(o,f[0],f[1],f[2])}return i.apply(o,f)}Kx.exports=PY});var Zx=ce((Jte,Qx)=>{var IY=Xx(),Jx=Math.max;function BY(i,o,f){return o=Jx(o===void 0?i.length-1:o,0),function(){for(var p=arguments,E=-1,t=Jx(p.length-o,0),k=Array(t);++E{function UY(i){return function(){return i}}$x.exports=UY});var n5=ce(($te,t5)=>{function jY(i){return i}t5.exports=jY});var u5=ce((ene,r5)=>{var zY=e5(),i5=lD(),qY=n5(),HY=i5?function(i,o){return i5(i,"toString",{configurable:!0,enumerable:!1,value:zY(o),writable:!0})}:qY;r5.exports=HY});var l5=ce((tne,o5)=>{var WY=800,VY=16,GY=Date.now;function YY(i){var o=0,f=0;return function(){var p=GY(),E=VY-(p-f);if(f=p,E>0){if(++o>=WY)return arguments[0]}else o=0;return i.apply(void 0,arguments)}}o5.exports=YY});var a5=ce((nne,s5)=>{var KY=u5(),XY=l5(),QY=XY(KY);s5.exports=QY});var c5=ce((rne,f5)=>{var JY=Yx(),ZY=Zx(),$Y=a5();function eK(i){return $Y(ZY(i,void 0,JY),i+"")}f5.exports=eK});var p5=ce((ine,d5)=>{var tK=eD(),nK=rx(),rK=Lx(),iK=G_(),uK=Gv(),oK=Bx(),lK=c5(),sK=ED(),aK=1,fK=2,cK=4,dK=lK(function(i,o){var f={};if(i==null)return f;var p=!1;o=tK(o,function(t){return t=iK(t,i),p||(p=t.length>1),t}),uK(i,sK(i),f),p&&(f=nK(f,aK|fK|cK,oK));for(var E=o.length;E--;)rK(f,o[E]);return f});d5.exports=dK});var eg=ce((vne,y5)=>{"use strict";var g5=Object.getOwnPropertySymbols,_K=Object.prototype.hasOwnProperty,EK=Object.prototype.propertyIsEnumerable;function DK(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function wK(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var o={},f=0;f<10;f++)o["_"+String.fromCharCode(f)]=f;var p=Object.getOwnPropertyNames(o).map(function(t){return o[t]});if(p.join("")!=="0123456789")return!1;var E={};return"abcdefghijklmnopqrst".split("").forEach(function(t){E[t]=t}),Object.keys(Object.assign({},E)).join("")==="abcdefghijklmnopqrst"}catch(t){return!1}}y5.exports=wK()?Object.assign:function(i,o){for(var f,p=DK(i),E,t=1;t{"use strict";var LD=eg(),Kf=typeof Symbol=="function"&&Symbol.for,tg=Kf?Symbol.for("react.element"):60103,SK=Kf?Symbol.for("react.portal"):60106,TK=Kf?Symbol.for("react.fragment"):60107,CK=Kf?Symbol.for("react.strict_mode"):60108,xK=Kf?Symbol.for("react.profiler"):60114,AK=Kf?Symbol.for("react.provider"):60109,RK=Kf?Symbol.for("react.context"):60110,OK=Kf?Symbol.for("react.forward_ref"):60112,kK=Kf?Symbol.for("react.suspense"):60113,MK=Kf?Symbol.for("react.memo"):60115,NK=Kf?Symbol.for("react.lazy"):60116,_5=typeof Symbol=="function"&&Symbol.iterator;function ng(i){for(var o="https://reactjs.org/docs/error-decoder.html?invariant="+i,f=1;fJ_.length&&J_.push(i)}function BD(i,o,f,p){var E=typeof i;(E==="undefined"||E==="boolean")&&(i=null);var t=!1;if(i===null)t=!0;else switch(E){case"string":case"number":t=!0;break;case"object":switch(i.$$typeof){case tg:case SK:t=!0}}if(t)return f(p,i,o===""?"."+UD(i,0):o),1;if(t=0,o=o===""?".":o+":",Array.isArray(i))for(var k=0;k{"use strict";var BK="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";M5.exports=BK});var HD=ce((gne,L5)=>{"use strict";var qD=function(){};process.env.NODE_ENV!=="production"&&(F5=N5(),Z_={},b5=Function.call.bind(Object.prototype.hasOwnProperty),qD=function(i){var o="Warning: "+i;typeof console!="undefined"&&console.error(o);try{throw new Error(o)}catch(f){}});var F5,Z_,b5;function P5(i,o,f,p,E){if(process.env.NODE_ENV!=="production"){for(var t in i)if(b5(i,t)){var k;try{if(typeof i[t]!="function"){var L=Error((p||"React class")+": "+f+" type `"+t+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof i[t]+"`.");throw L.name="Invariant Violation",L}k=i[t](o,t,p,f,null,F5)}catch(C){k=C}if(k&&!(k instanceof Error)&&qD((p||"React class")+": type specification of "+f+" `"+t+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof k+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),k instanceof Error&&!(k.message in Z_)){Z_[k.message]=!0;var N=E?E():"";qD("Failed "+f+" type: "+k.message+(N!=null?N:""))}}}}P5.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(Z_={})};L5.exports=P5});var I5=ce(pu=>{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";var i=eg(),o=HD(),f="16.13.1",p=typeof Symbol=="function"&&Symbol.for,E=p?Symbol.for("react.element"):60103,t=p?Symbol.for("react.portal"):60106,k=p?Symbol.for("react.fragment"):60107,L=p?Symbol.for("react.strict_mode"):60108,N=p?Symbol.for("react.profiler"):60114,C=p?Symbol.for("react.provider"):60109,U=p?Symbol.for("react.context"):60110,q=p?Symbol.for("react.concurrent_mode"):60111,W=p?Symbol.for("react.forward_ref"):60112,ne=p?Symbol.for("react.suspense"):60113,m=p?Symbol.for("react.suspense_list"):60120,we=p?Symbol.for("react.memo"):60115,Se=p?Symbol.for("react.lazy"):60116,he=p?Symbol.for("react.block"):60121,ge=p?Symbol.for("react.fundamental"):60117,ze=p?Symbol.for("react.responder"):60118,pe=p?Symbol.for("react.scope"):60119,Oe=typeof Symbol=="function"&&Symbol.iterator,le="@@iterator";function Ue(X){if(X===null||typeof X!="object")return null;var _e=Oe&&X[Oe]||X[le];return typeof _e=="function"?_e:null}var Ge={current:null},rt={suspense:null},wt={current:null},xt=/^(.*)[\\\/]/;function $e(X,_e,Ne){var Me="";if(_e){var dt=_e.fileName,Hn=dt.replace(xt,"");if(/^index\./.test(Hn)){var Dn=dt.match(xt);if(Dn){var or=Dn[1];if(or){var mi=or.replace(xt,"");Hn=mi+"/"+Hn}}}Me=" (at "+Hn+":"+_e.lineNumber+")"}else Ne&&(Me=" (created by "+Ne+")");return` + in `+(X||"Unknown")+Me}var ft=1;function Ke(X){return X._status===ft?X._result:null}function jt(X,_e,Ne){var Me=_e.displayName||_e.name||"";return X.displayName||(Me!==""?Ne+"("+Me+")":Ne)}function $t(X){if(X==null)return null;if(typeof X.tag=="number"&&ct("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),typeof X=="function")return X.displayName||X.name||null;if(typeof X=="string")return X;switch(X){case k:return"Fragment";case t:return"Portal";case N:return"Profiler";case L:return"StrictMode";case ne:return"Suspense";case m:return"SuspenseList"}if(typeof X=="object")switch(X.$$typeof){case U:return"Context.Consumer";case C:return"Context.Provider";case W:return jt(X,X.render,"ForwardRef");case we:return $t(X.type);case he:return $t(X.render);case Se:{var _e=X,Ne=Ke(_e);if(Ne)return $t(Ne);break}}return null}var at={},Q=null;function ae(X){Q=X}at.getCurrentStack=null,at.getStackAddendum=function(){var X="";if(Q){var _e=$t(Q.type),Ne=Q._owner;X+=$e(_e,Q._source,Ne&&$t(Ne.type))}var Me=at.getCurrentStack;return Me&&(X+=Me()||""),X};var Ce={current:!1},ue={ReactCurrentDispatcher:Ge,ReactCurrentBatchConfig:rt,ReactCurrentOwner:wt,IsSomeRendererActing:Ce,assign:i};i(ue,{ReactDebugCurrentFrame:at,ReactComponentTreeHook:{}});function je(X){{for(var _e=arguments.length,Ne=new Array(_e>1?_e-1:0),Me=1;Me<_e;Me++)Ne[Me-1]=arguments[Me];At("warn",X,Ne)}}function ct(X){{for(var _e=arguments.length,Ne=new Array(_e>1?_e-1:0),Me=1;Me<_e;Me++)Ne[Me-1]=arguments[Me];At("error",X,Ne)}}function At(X,_e,Ne){{var Me=Ne.length>0&&typeof Ne[Ne.length-1]=="string"&&Ne[Ne.length-1].indexOf(` + in`)===0;if(!Me){var dt=ue.ReactDebugCurrentFrame,Hn=dt.getStackAddendum();Hn!==""&&(_e+="%s",Ne=Ne.concat([Hn]))}var Dn=Ne.map(function(Su){return""+Su});Dn.unshift("Warning: "+_e),Function.prototype.apply.call(console[X],console,Dn);try{var or=0,mi="Warning: "+_e.replace(/%s/g,function(){return Ne[or++]});throw new Error(mi)}catch(Su){}}}var en={};function ln(X,_e){{var Ne=X.constructor,Me=Ne&&(Ne.displayName||Ne.name)||"ReactClass",dt=Me+"."+_e;if(en[dt])return;ct("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",_e,Me),en[dt]=!0}}var An={isMounted:function(X){return!1},enqueueForceUpdate:function(X,_e,Ne){ln(X,"forceUpdate")},enqueueReplaceState:function(X,_e,Ne,Me){ln(X,"replaceState")},enqueueSetState:function(X,_e,Ne,Me){ln(X,"setState")}},nr={};Object.freeze(nr);function un(X,_e,Ne){this.props=X,this.context=_e,this.refs=nr,this.updater=Ne||An}un.prototype.isReactComponent={},un.prototype.setState=function(X,_e){if(!(typeof X=="object"||typeof X=="function"||X==null))throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,X,_e,"setState")},un.prototype.forceUpdate=function(X){this.updater.enqueueForceUpdate(this,X,"forceUpdate")};{var Wt={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},vr=function(X,_e){Object.defineProperty(un.prototype,X,{get:function(){je("%s(...) is deprecated in plain JavaScript React classes. %s",_e[0],_e[1])}})};for(var w in Wt)Wt.hasOwnProperty(w)&&vr(w,Wt[w])}function Ut(){}Ut.prototype=un.prototype;function Vn(X,_e,Ne){this.props=X,this.context=_e,this.refs=nr,this.updater=Ne||An}var fr=Vn.prototype=new Ut;fr.constructor=Vn,i(fr,un.prototype),fr.isPureReactComponent=!0;function Fr(){var X={current:null};return Object.seal(X),X}var ur=Object.prototype.hasOwnProperty,br={key:!0,ref:!0,__self:!0,__source:!0},Kt,vu,a0;a0={};function So(X){if(ur.call(X,"ref")){var _e=Object.getOwnPropertyDescriptor(X,"ref").get;if(_e&&_e.isReactWarning)return!1}return X.ref!==void 0}function Go(X){if(ur.call(X,"key")){var _e=Object.getOwnPropertyDescriptor(X,"key").get;if(_e&&_e.isReactWarning)return!1}return X.key!==void 0}function Os(X,_e){var Ne=function(){Kt||(Kt=!0,ct("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)",_e))};Ne.isReactWarning=!0,Object.defineProperty(X,"key",{get:Ne,configurable:!0})}function Yo(X,_e){var Ne=function(){vu||(vu=!0,ct("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)",_e))};Ne.isReactWarning=!0,Object.defineProperty(X,"ref",{get:Ne,configurable:!0})}function Ko(X){if(typeof X.ref=="string"&&wt.current&&X.__self&&wt.current.stateNode!==X.__self){var _e=$t(wt.current.type);a0[_e]||(ct('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref',$t(wt.current.type),X.ref),a0[_e]=!0)}}var qt=function(X,_e,Ne,Me,dt,Hn,Dn){var or={$$typeof:E,type:X,key:_e,ref:Ne,props:Dn,_owner:Hn};return or._store={},Object.defineProperty(or._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(or,"_self",{configurable:!1,enumerable:!1,writable:!1,value:Me}),Object.defineProperty(or,"_source",{configurable:!1,enumerable:!1,writable:!1,value:dt}),Object.freeze&&(Object.freeze(or.props),Object.freeze(or)),or};function _i(X,_e,Ne){var Me,dt={},Hn=null,Dn=null,or=null,mi=null;if(_e!=null){So(_e)&&(Dn=_e.ref,Ko(_e)),Go(_e)&&(Hn=""+_e.key),or=_e.__self===void 0?null:_e.__self,mi=_e.__source===void 0?null:_e.__source;for(Me in _e)ur.call(_e,Me)&&!br.hasOwnProperty(Me)&&(dt[Me]=_e[Me])}var Su=arguments.length-2;if(Su===1)dt.children=Ne;else if(Su>1){for(var bu=Array(Su),Pu=0;Pu1){for(var mu=Array(Pu),yi=0;yi is not supported and will be removed in a future major release. Did you mean to render instead?")),Ne.Provider},set:function(Dn){Ne.Provider=Dn}},_currentValue:{get:function(){return Ne._currentValue},set:function(Dn){Ne._currentValue=Dn}},_currentValue2:{get:function(){return Ne._currentValue2},set:function(Dn){Ne._currentValue2=Dn}},_threadCount:{get:function(){return Ne._threadCount},set:function(Dn){Ne._threadCount=Dn}},Consumer:{get:function(){return Me||(Me=!0,ct("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),Ne.Consumer}}}),Ne.Consumer=Hn}return Ne._currentRenderer=null,Ne._currentRenderer2=null,Ne}function Ht(X){var _e={$$typeof:Se,_ctor:X,_status:-1,_result:null};{var Ne,Me;Object.defineProperties(_e,{defaultProps:{configurable:!0,get:function(){return Ne},set:function(dt){ct("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),Ne=dt,Object.defineProperty(_e,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return Me},set:function(dt){ct("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),Me=dt,Object.defineProperty(_e,"propTypes",{enumerable:!0})}}})}return _e}function Du(X){return X!=null&&X.$$typeof===we?ct("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof X!="function"?ct("forwardRef requires a render function but was given %s.",X===null?"null":typeof X):X.length!==0&&X.length!==2&&ct("forwardRef render functions accept exactly two parameters: props and ref. %s",X.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),X!=null&&(X.defaultProps!=null||X.propTypes!=null)&&ct("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"),{$$typeof:W,render:X}}function Yi(X){return typeof X=="string"||typeof X=="function"||X===k||X===q||X===N||X===L||X===ne||X===m||typeof X=="object"&&X!==null&&(X.$$typeof===Se||X.$$typeof===we||X.$$typeof===C||X.$$typeof===U||X.$$typeof===W||X.$$typeof===ge||X.$$typeof===ze||X.$$typeof===pe||X.$$typeof===he)}function Y0(X,_e){return Yi(X)||ct("memo: The first argument must be a component. Instead received: %s",X===null?"null":typeof X),{$$typeof:we,type:X,compare:_e===void 0?null:_e}}function Ui(){var X=Ge.current;if(X===null)throw Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: +1. You might have mismatching versions of React and the renderer (such as React DOM) +2. You might be breaking the Rules of Hooks +3. You might have more than one copy of React in the same app +See https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.`);return X}function Wl(X,_e){var Ne=Ui();if(_e!==void 0&&ct("useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s",_e,typeof _e=="number"&&Array.isArray(arguments[2])?` + +Did you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks`:""),X._context!==void 0){var Me=X._context;Me.Consumer===X?ct("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):Me.Provider===X&&ct("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return Ne.useContext(X,_e)}function xo(X){var _e=Ui();return _e.useState(X)}function ni(X,_e,Ne){var Me=Ui();return Me.useReducer(X,_e,Ne)}function oo(X){var _e=Ui();return _e.useRef(X)}function Vl(X,_e){var Ne=Ui();return Ne.useEffect(X,_e)}function Ao(X,_e){var Ne=Ui();return Ne.useLayoutEffect(X,_e)}function Ms(X,_e){var Ne=Ui();return Ne.useCallback(X,_e)}function Xn(X,_e){var Ne=Ui();return Ne.useMemo(X,_e)}function Qo(X,_e,Ne){var Me=Ui();return Me.useImperativeHandle(X,_e,Ne)}function lo(X,_e){{var Ne=Ui();return Ne.useDebugValue(X,_e)}}var b0;b0=!1;function yl(){if(wt.current){var X=$t(wt.current.type);if(X)return` + +Check the render method of \``+X+"`."}return""}function Ro(X){if(X!==void 0){var _e=X.fileName.replace(/^.*[\\\/]/,""),Ne=X.lineNumber;return` + +Check your code at `+_e+":"+Ne+"."}return""}function Et(X){return X!=null?Ro(X.__source):""}var Pt={};function Bn(X){var _e=yl();if(!_e){var Ne=typeof X=="string"?X:X.displayName||X.name;Ne&&(_e=` + +Check the top-level render call using <`+Ne+">.")}return _e}function Ir(X,_e){if(!(!X._store||X._store.validated||X.key!=null)){X._store.validated=!0;var Ne=Bn(_e);if(!Pt[Ne]){Pt[Ne]=!0;var Me="";X&&X._owner&&X._owner!==wt.current&&(Me=" It was passed a child from "+$t(X._owner.type)+"."),ae(X),ct('Each child in a list should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.',Ne,Me),ae(null)}}}function ji(X,_e){if(typeof X=="object"){if(Array.isArray(X))for(var Ne=0;Ne",dt=" Did you accidentally export a JSX literal instead of a component?"):Dn=typeof X,ct("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Dn,dt)}var or=_i.apply(this,arguments);if(or==null)return or;if(Me)for(var mi=2;mi{"use strict";process.env.NODE_ENV==="production"?WD.exports=k5():WD.exports=I5()});var B5=ce((nm,rg)=>{(function(){var i,o="4.17.21",f=200,p="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",E="Expected a function",t="Invalid `variable` option passed into `_.template`",k="__lodash_hash_undefined__",L=500,N="__lodash_placeholder__",C=1,U=2,q=4,W=1,ne=2,m=1,we=2,Se=4,he=8,ge=16,ze=32,pe=64,Oe=128,le=256,Ue=512,Ge=30,rt="...",wt=800,xt=16,$e=1,ft=2,Ke=3,jt=1/0,$t=9007199254740991,at=17976931348623157e292,Q=0/0,ae=4294967295,Ce=ae-1,ue=ae>>>1,je=[["ary",Oe],["bind",m],["bindKey",we],["curry",he],["curryRight",ge],["flip",Ue],["partial",ze],["partialRight",pe],["rearg",le]],ct="[object Arguments]",At="[object Array]",en="[object AsyncFunction]",ln="[object Boolean]",An="[object Date]",nr="[object DOMException]",un="[object Error]",Wt="[object Function]",vr="[object GeneratorFunction]",w="[object Map]",Ut="[object Number]",Vn="[object Null]",fr="[object Object]",Fr="[object Promise]",ur="[object Proxy]",br="[object RegExp]",Kt="[object Set]",vu="[object String]",a0="[object Symbol]",So="[object Undefined]",Go="[object WeakMap]",Os="[object WeakSet]",Yo="[object ArrayBuffer]",Ko="[object DataView]",qt="[object Float32Array]",_i="[object Float64Array]",eu="[object Int8Array]",ai="[object Int16Array]",mr="[object Int32Array]",Xo="[object Uint8Array]",W0="[object Uint8ClampedArray]",Lu="[object Uint16Array]",V0="[object Uint32Array]",Hr=/\b__p \+= '';/g,To=/\b(__p \+=) '' \+/g,Co=/(__e\(.*?\)|\b__t\)) \+\n'';/g,L0=/&(?:amp|lt|gt|quot|#39);/g,tu=/[&<>"']/g,Si=RegExp(L0.source),ks=RegExp(tu.source),Hl=/<%-([\s\S]+?)%>/g,F0=/<%([\s\S]+?)%>/g,f0=/<%=([\s\S]+?)%>/g,Pr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ei=/^\w*$/,G0=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fi=/[\\^$.*+?()[\]{}|]/g,Zt=RegExp(fi.source),Ln=/^\s+/,Di=/\s/,ci=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ht=/\{\n\/\* \[wrapped with (.+)\] \*/,Du=/,? & /,Yi=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Y0=/[()=,{}\[\]\/\s]/,Ui=/\\(\\)?/g,Wl=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,xo=/\w*$/,ni=/^[-+]0x[0-9a-f]+$/i,oo=/^0b[01]+$/i,Vl=/^\[object .+?Constructor\]$/,Ao=/^0o[0-7]+$/i,Ms=/^(?:0|[1-9]\d*)$/,Xn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qo=/($^)/,lo=/['\n\r\u2028\u2029\\]/g,b0="\\ud800-\\udfff",yl="\\u0300-\\u036f",Ro="\\ufe20-\\ufe2f",Et="\\u20d0-\\u20ff",Pt=yl+Ro+Et,Bn="\\u2700-\\u27bf",Ir="a-z\\xdf-\\xf6\\xf8-\\xff",ji="\\xac\\xb1\\xd7\\xf7",Wr="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",wu="\\u2000-\\u206f",c0=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ti="A-Z\\xc0-\\xd6\\xd8-\\xde",d0="\\ufe0e\\ufe0f",as=ji+Wr+wu+c0,St="['\u2019]",so="["+b0+"]",Jo="["+as+"]",Gl="["+Pt+"]",Fu="\\d+",fs="["+Bn+"]",P0="["+Ir+"]",X="[^"+b0+as+Fu+Bn+Ir+Ti+"]",_e="\\ud83c[\\udffb-\\udfff]",Ne="(?:"+Gl+"|"+_e+")",Me="[^"+b0+"]",dt="(?:\\ud83c[\\udde6-\\uddff]){2}",Hn="[\\ud800-\\udbff][\\udc00-\\udfff]",Dn="["+Ti+"]",or="\\u200d",mi="(?:"+P0+"|"+X+")",Su="(?:"+Dn+"|"+X+")",bu="(?:"+St+"(?:d|ll|m|re|s|t|ve))?",Pu="(?:"+St+"(?:D|LL|M|RE|S|T|VE))?",mu=Ne+"?",yi="["+d0+"]?",Oo="(?:"+or+"(?:"+[Me,dt,Hn].join("|")+")"+yi+mu+")*",Tu="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ao="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Iu=yi+mu+Oo,Oa="(?:"+[fs,dt,Hn].join("|")+")"+Iu,p0="(?:"+[Me+Gl+"?",Gl,dt,Hn,so].join("|")+")",Zs=RegExp(St,"g"),K0=RegExp(Gl,"g"),$s=RegExp(_e+"(?="+_e+")|"+p0+Iu,"g"),ka=RegExp([Dn+"?"+P0+"+"+bu+"(?="+[Jo,Dn,"$"].join("|")+")",Su+"+"+Pu+"(?="+[Jo,Dn+mi,"$"].join("|")+")",Dn+"?"+mi+"+"+bu,Dn+"+"+Pu,ao,Tu,Fu,Oa].join("|"),"g"),cs=RegExp("["+or+b0+Pt+d0+"]"),w0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Gn=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ic=-1,ri={};ri[qt]=ri[_i]=ri[eu]=ri[ai]=ri[mr]=ri[Xo]=ri[W0]=ri[Lu]=ri[V0]=!0,ri[ct]=ri[At]=ri[Yo]=ri[ln]=ri[Ko]=ri[An]=ri[un]=ri[Wt]=ri[w]=ri[Ut]=ri[fr]=ri[br]=ri[Kt]=ri[vu]=ri[Go]=!1;var Gr={};Gr[ct]=Gr[At]=Gr[Yo]=Gr[Ko]=Gr[ln]=Gr[An]=Gr[qt]=Gr[_i]=Gr[eu]=Gr[ai]=Gr[mr]=Gr[w]=Gr[Ut]=Gr[fr]=Gr[br]=Gr[Kt]=Gr[vu]=Gr[a0]=Gr[Xo]=Gr[W0]=Gr[Lu]=Gr[V0]=!0,Gr[un]=Gr[Wt]=Gr[Go]=!1;var Yl={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},ea={"&":"&","<":"<",">":">",'"':""","'":"'"},lf={"&":"&","<":"<",">":">",""":'"',"'":"'"},Ns={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ma=parseFloat,Ls=parseInt,h0=typeof global=="object"&&global&&global.Object===Object&&global,Fs=typeof self=="object"&&self&&self.Object===Object&&self,Ni=h0||Fs||Function("return this")(),B=typeof nm=="object"&&nm&&!nm.nodeType&&nm,z=B&&typeof rg=="object"&&rg&&!rg.nodeType&&rg,G=z&&z.exports===B,$=G&&h0.process,De=function(){try{var Te=z&&z.require&&z.require("util").types;return Te||$&&$.binding&&$.binding("util")}catch(et){}}(),me=De&&De.isArrayBuffer,xe=De&&De.isDate,Z=De&&De.isMap,ke=De&&De.isRegExp,Xe=De&&De.isSet,ht=De&&De.isTypedArray;function ie(Te,et,Ve){switch(Ve.length){case 0:return Te.call(et);case 1:return Te.call(et,Ve[0]);case 2:return Te.call(et,Ve[0],Ve[1]);case 3:return Te.call(et,Ve[0],Ve[1],Ve[2])}return Te.apply(et,Ve)}function qe(Te,et,Ve,Gt){for(var Yt=-1,sr=Te==null?0:Te.length;++Yt-1}function tn(Te,et,Ve){for(var Gt=-1,Yt=Te==null?0:Te.length;++Gt-1;);return Ve}function gl(Te,et){for(var Ve=Te.length;Ve--&&_t(et,Te[Ve],0)>-1;);return Ve}function af(Te,et){for(var Ve=Te.length,Gt=0;Ve--;)Te[Ve]===et&&++Gt;return Gt}var Mo=Yn(Yl),ds=Yn(ea);function bs(Te){return"\\"+Ns[Te]}function No(Te,et){return Te==null?i:Te[et]}function Lo(Te){return cs.test(Te)}function ps(Te){return w0.test(Te)}function Vu(Te){for(var et,Ve=[];!(et=Te.next()).done;)Ve.push(et.value);return Ve}function yu(Te){var et=-1,Ve=Array(Te.size);return Te.forEach(function(Gt,Yt){Ve[++et]=[Yt,Gt]}),Ve}function pi(Te,et){return function(Ve){return Te(et(Ve))}}function T0(Te,et){for(var Ve=-1,Gt=Te.length,Yt=0,sr=[];++Ve-1}function ia(d,v){var x=this.__data__,b=Ql(x,d);return b<0?(++this.size,x.push([d,v])):x[b][1]=v,this}to.prototype.clear=Na,to.prototype.delete=pf,to.prototype.get=uc,to.prototype.has=ms,to.prototype.set=ia;function B0(d){var v=-1,x=d==null?0:d.length;for(this.clear();++v=v?d:v)),d}function U0(d,v,x,b,H,ee){var de,ye=v&C,be=v&U,gt=v&q;if(x&&(de=H?x(d,b,H,ee):x(d)),de!==i)return de;if(!ku(d))return d;var Dt=Jn(d);if(Dt){if(de=Es(d),!ye)return Ji(d,de)}else{var Rt=Ou(d),rn=Rt==Wt||Rt==vr;if(Gs(d))return fc(d,ye);if(Rt==fr||Rt==ct||rn&&!H){if(de=be||rn?{}:vc(d),!ye)return be?Jl(d,tl(de,d)):t0(d,hf(de,d))}else{if(!Gr[Rt])return H?d:{};de=Dh(d,Rt,ye)}}ee||(ee=new el);var Rn=ee.get(d);if(Rn)return Rn;ee.set(d,de),L2(d)?d.forEach(function(ir){de.add(U0(ir,v,x,ir,d,ee))}):gp(d)&&d.forEach(function(ir,Zr){de.set(Zr,U0(ir,v,x,Zr,d,ee))});var $n=gt?be?rr:$c:be?fn:M0,Nr=Dt?i:$n(d);return tt(Nr||d,function(ir,Zr){Nr&&(Zr=ir,ir=d[Zr]),gs(de,Zr,U0(ir,v,x,Zr,d,ee))}),de}function vf(d){var v=M0(d);return function(x){return jc(x,d,v)}}function jc(d,v,x){var b=x.length;if(d==null)return!b;for(d=wn(d);b--;){var H=x[b],ee=v[H],de=d[H];if(de===i&&!(H in d)||!ee(de))return!1}return!0}function lc(d,v,x){if(typeof d!="function")throw new Kr(E);return Wa(function(){d.apply(i,x)},v)}function Sl(d,v,x,b){var H=-1,ee=on,de=!0,ye=d.length,be=[],gt=v.length;if(!ye)return be;x&&(v=Lt(v,di(x))),b?(ee=tn,de=!1):v.length>=f&&(ee=Zo,de=!1,v=new ho(v));e:for(;++HH?0:H+x),b=b===i||b>H?H:Cr(b),b<0&&(b+=H),b=x>b?0:Ep(b);x0&&x(ye)?v>1?bi(ye,v-1,x,b,H):gn(H,ye):b||(H[H.length]=ye)}return H}var g=dc(),y=dc(!0);function A(d,v){return d&&g(d,v,M0)}function F(d,v){return d&&y(d,v,M0)}function I(d,v){return bt(v,function(x){return Ea(d[x])})}function J(d,v){v=Us(v,d);for(var x=0,b=v.length;d!=null&&xv}function Mt(d,v){return d!=null&&ei.call(d,v)}function Er(d,v){return d!=null&&v in wn(d)}function $u(d,v,x){return d>=Wn(v,x)&&d=120&&Dt.length>=120)?new ho(de&&Dt):i}Dt=d[0];var Rt=-1,rn=ye[0];e:for(;++Rt-1;)ye!==d&&R0.call(ye,be,1),R0.call(d,be,1);return d}function u2(d,v){for(var x=d?v.length:0,b=x-1;x--;){var H=v[x];if(x==b||H!==ee){var ee=H;go(H)?R0.call(d,H,1):Cd(d,H)}}return d}function o2(d,v){return d+vs(y0()*(v-d+1))}function wd(d,v,x,b){for(var H=-1,ee=Xr(Ku((v-d)/(x||1)),0),de=Ve(ee);ee--;)de[b?ee:++H]=d,d+=x;return de}function Hc(d,v){var x="";if(!d||v<1||v>$t)return x;do v%2&&(x+=d),v=vs(v/2),v&&(d+=d);while(v);return x}function Mr(d,v){return r1(Nd(d,v,r0),d+"")}function l2(d){return ba(Ac(d))}function s2(d,v){var x=Ac(d);return yc(x,Zu(v,0,x.length))}function ja(d,v,x,b){if(!ku(d))return d;v=Us(v,d);for(var H=-1,ee=v.length,de=ee-1,ye=d;ye!=null&&++HH?0:H+v),x=x>H?H:x,x<0&&(x+=H),H=v>x?0:x-v>>>0,v>>>=0;for(var ee=Ve(H);++b>>1,de=d[ee];de!==null&&!Nl(de)&&(x?de<=v:de=f){var gt=v?null:mm(d);if(gt)return Q0(gt);de=!1,H=Zo,be=new ho}else be=v?[]:ye;e:for(;++b=b?d:rl(d,v,x)}var Kc=hs||function(d){return Ni.clearTimeout(d)};function fc(d,v){if(v)return d.slice();var x=d.length,b=Fi?Fi(x):new d.constructor(x);return d.copy(b),b}function cc(d){var v=new d.constructor(d.byteLength);return new A0(v).set(new A0(d)),v}function f2(d,v){var x=v?cc(d.buffer):d.buffer;return new d.constructor(x,d.byteOffset,d.byteLength)}function yh(d){var v=new d.constructor(d.source,xo.exec(d));return v.lastIndex=d.lastIndex,v}function gf(d){return Sr?wn(Sr.call(d)):{}}function Xc(d,v){var x=v?cc(d.buffer):d.buffer;return new d.constructor(x,d.byteOffset,d.length)}function gh(d,v){if(d!==v){var x=d!==i,b=d===null,H=d===d,ee=Nl(d),de=v!==i,ye=v===null,be=v===v,gt=Nl(v);if(!ye&&!gt&&!ee&&d>v||ee&&de&&be&&!ye&&!gt||b&&de&&be||!x&&be||!H)return 1;if(!b&&!ee&&!gt&&d=ye)return be;var gt=x[b];return be*(gt=="desc"?-1:1)}}return d.index-v.index}function js(d,v,x,b){for(var H=-1,ee=d.length,de=x.length,ye=-1,be=v.length,gt=Xr(ee-de,0),Dt=Ve(be+gt),Rt=!b;++ye1?x[H-1]:i,de=H>2?x[2]:i;for(ee=d.length>3&&typeof ee=="function"?(H--,ee):i,de&&io(x[0],x[1],de)&&(ee=H<3?i:ee,H=1),v=wn(v);++b-1?H[ee?v[de]:de]:i}}function Jc(d){return ol(function(v){var x=v.length,b=x,H=Ur.prototype.thru;for(d&&v.reverse();b--;){var ee=v[b];if(typeof ee!="function")throw new Kr(E);if(H&&!de&&Bo(ee)=="wrapper")var de=new Ur([],!0)}for(b=de?b:x;++b1&&ui.reverse(),Dt&&beye))return!1;var gt=ee.get(d),Dt=ee.get(v);if(gt&&Dt)return gt==v&&Dt==d;var Rt=-1,rn=!0,Rn=x&ne?new ho:i;for(ee.set(d,v),ee.set(v,d);++Rt1?"& ":"")+v[b],v=v.join(x>2?", ":" "),d.replace(ci,`{ +/* [wrapped with `+v+`] */ +`)}function $l(d){return Jn(d)||sl(d)||!!(co&&d&&d[co])}function go(d,v){var x=typeof d;return v=v==null?$t:v,!!v&&(x=="number"||x!="symbol"&&Ms.test(d))&&d>-1&&d%1==0&&d0){if(++v>=wt)return arguments[0]}else v=0;return d.apply(i,arguments)}}function yc(d,v){var x=-1,b=d.length,H=b-1;for(v=v===i?b:v;++x1?d[v-1]:i;return x=typeof x=="function"?(d.pop(),x):i,E2(d,x)});function Bh(d){var v=Y(d);return v.__chain__=!0,v}function Uh(d,v){return v(d),d}function h1(d,v){return v(d)}var Qd=ol(function(d){var v=d.length,x=v?d[0]:0,b=this.__wrapped__,H=function(ee){return Ia(ee,d)};return v>1||this.__actions__.length||!(b instanceof lt)||!go(x)?this.thru(H):(b=b.slice(x,+x+(v?1:0)),b.__actions__.push({func:h1,args:[H],thisArg:i}),new Ur(b,this.__chain__).thru(function(ee){return v&&!ee.length&&ee.push(i),ee}))});function jh(){return Bh(this)}function Jd(){return new Ur(this.value(),this.__chain__)}function zh(){this.__values__===i&&(this.__values__=lv(this.value()));var d=this.__index__>=this.__values__.length,v=d?i:this.__values__[this.__index__++];return{done:d,value:v}}function Cm(){return this}function xm(d){for(var v,x=this;x instanceof Jr;){var b=Fd(x);b.__index__=0,b.__values__=i,v?H.__wrapped__=b:v=b;var H=b;x=x.__wrapped__}return H.__wrapped__=d,v}function Of(){var d=this.__wrapped__;if(d instanceof lt){var v=d;return this.__actions__.length&&(v=new lt(this)),v=v.reverse(),v.__actions__.push({func:h1,args:[Hd],thisArg:i}),new Ur(v,this.__chain__)}return this.thru(Hd)}function kf(){return mh(this.__wrapped__,this.__actions__)}var D2=za(function(d,v,x){ei.call(d,x)?++d[x]:ju(d,x,1)});function Am(d,v,x){var b=Jn(d)?kt:n2;return x&&io(d,v,x)&&(v=i),b(d,zn(v,3))}function Zd(d,v){var x=Jn(d)?bt:zc;return x(d,zn(v,3))}var w2=xl(Bd),$d=xl(u1);function qh(d,v){return bi(v1(d,v),1)}function ep(d,v){return bi(v1(d,v),jt)}function Hh(d,v,x){return x=x===i?1:Cr(x),bi(v1(d,v),x)}function Wh(d,v){var x=Jn(d)?tt:_s;return x(d,zn(v,3))}function tp(d,v){var x=Jn(d)?Tt:oa;return x(d,zn(v,3))}var Rm=za(function(d,v,x){ei.call(d,x)?d[x].push(v):ju(d,x,[v])});function Om(d,v,x,b){d=al(d)?d:Ac(d),x=x&&!b?Cr(x):0;var H=d.length;return x<0&&(x=Xr(H+x,0)),_1(d)?x<=H&&d.indexOf(v,x)>-1:!!H&&_t(d,v,x)>-1}var km=Mr(function(d,v,x){var b=-1,H=typeof v=="function",ee=al(d)?Ve(d.length):[];return _s(d,function(de){ee[++b]=H?ie(v,de,x):Tl(de,v,x)}),ee}),Vh=za(function(d,v,x){ju(d,x,v)});function v1(d,v){var x=Jn(d)?Lt:Ed;return x(d,zn(v,3))}function Mm(d,v,x,b){return d==null?[]:(Jn(v)||(v=v==null?[]:[v]),x=b?i:x,Jn(x)||(x=x==null?[]:[x]),vo(d,v,x))}var np=za(function(d,v,x){d[x?0:1].push(v)},function(){return[[],[]]});function rp(d,v,x){var b=Jn(d)?lr:yr,H=arguments.length<3;return b(d,zn(v,4),x,H,_s)}function Nm(d,v,x){var b=Jn(d)?Qn:yr,H=arguments.length<3;return b(d,zn(v,4),x,H,oa)}function Lm(d,v){var x=Jn(d)?bt:zc;return x(d,C2(zn(v,3)))}function Gh(d){var v=Jn(d)?ba:l2;return v(d)}function Fm(d,v,x){(x?io(d,v,x):v===i)?v=1:v=Cr(v);var b=Jn(d)?Pa:s2;return b(d,v)}function bm(d){var v=Jn(d)?ua:nl;return v(d)}function ip(d){if(d==null)return 0;if(al(d))return _1(d)?Ki(d):d.length;var v=Ou(d);return v==w||v==Kt?d.size:Ba(d).length}function up(d,v,x){var b=Jn(d)?_r:hh;return x&&io(d,v,x)&&(v=i),b(d,zn(v,3))}var ya=Mr(function(d,v){if(d==null)return[];var x=v.length;return x>1&&io(d,v[0],v[1])?v=[]:x>2&&io(v[0],v[1],v[2])&&(v=[v[0]]),vo(d,bi(v,1),[])}),m1=ra||function(){return Ni.Date.now()};function op(d,v){if(typeof v!="function")throw new Kr(E);return d=Cr(d),function(){if(--d<1)return v.apply(this,arguments)}}function Yh(d,v,x){return v=x?i:v,v=d&&v==null?d.length:v,dn(d,Oe,i,i,i,i,v)}function S2(d,v){var x;if(typeof v!="function")throw new Kr(E);return d=Cr(d),function(){return--d>0&&(x=v.apply(this,arguments)),d<=1&&(v=i),x}}var y1=Mr(function(d,v,x){var b=m;if(x.length){var H=T0(x,dr(y1));b|=ze}return dn(d,b,v,x,H)}),Kh=Mr(function(d,v,x){var b=m|we;if(x.length){var H=T0(x,dr(Kh));b|=ze}return dn(v,b,d,x,H)});function lp(d,v,x){v=x?i:v;var b=dn(d,he,i,i,i,i,i,v);return b.placeholder=lp.placeholder,b}function Xh(d,v,x){v=x?i:v;var b=dn(d,ge,i,i,i,i,i,v);return b.placeholder=Xh.placeholder,b}function sp(d,v,x){var b,H,ee,de,ye,be,gt=0,Dt=!1,Rt=!1,rn=!0;if(typeof d!="function")throw new Kr(E);v=fl(v)||0,ku(x)&&(Dt=!!x.leading,Rt="maxWait"in x,ee=Rt?Xr(fl(x.maxWait)||0,v):ee,rn="trailing"in x?!!x.trailing:rn);function Rn(i0){var Ts=b,wo=H;return b=H=i,gt=i0,de=d.apply(wo,Ts),de}function $n(i0){return gt=i0,ye=Wa(Zr,v),Dt?Rn(i0):de}function Nr(i0){var Ts=i0-be,wo=i0-gt,Rv=v-Ts;return Rt?Wn(Rv,ee-wo):Rv}function ir(i0){var Ts=i0-be,wo=i0-gt;return be===i||Ts>=v||Ts<0||Rt&&wo>=ee}function Zr(){var i0=m1();if(ir(i0))return ui(i0);ye=Wa(Zr,Nr(i0))}function ui(i0){return ye=i,rn&&b?Rn(i0):(b=H=i,de)}function bl(){ye!==i&&Kc(ye),gt=0,b=be=H=ye=i}function Wi(){return ye===i?de:ui(m1())}function uo(){var i0=m1(),Ts=ir(i0);if(b=arguments,H=this,be=i0,Ts){if(ye===i)return $n(be);if(Rt)return Kc(ye),ye=Wa(Zr,v),Rn(be)}return ye===i&&(ye=Wa(Zr,v)),de}return uo.cancel=bl,uo.flush=Wi,uo}var Qh=Mr(function(d,v){return lc(d,1,v)}),Jh=Mr(function(d,v,x){return lc(d,fl(v)||0,x)});function ap(d){return dn(d,Ue)}function T2(d,v){if(typeof d!="function"||v!=null&&typeof v!="function")throw new Kr(E);var x=function(){var b=arguments,H=v?v.apply(this,b):b[0],ee=x.cache;if(ee.has(H))return ee.get(H);var de=d.apply(this,b);return x.cache=ee.set(H,de)||ee,de};return x.cache=new(T2.Cache||B0),x}T2.Cache=B0;function C2(d){if(typeof d!="function")throw new Kr(E);return function(){var v=arguments;switch(v.length){case 0:return!d.call(this);case 1:return!d.call(this,v[0]);case 2:return!d.call(this,v[0],v[1]);case 3:return!d.call(this,v[0],v[1],v[2])}return!d.apply(this,v)}}function z0(d){return S2(2,d)}var x2=Rd(function(d,v){v=v.length==1&&Jn(v[0])?Lt(v[0],di(zn())):Lt(bi(v,1),di(zn()));var x=v.length;return Mr(function(b){for(var H=-1,ee=Wn(b.length,x);++H=v}),sl=e0(function(){return arguments}())?e0:function(d){return zu(d)&&ei.call(d,"callee")&&!I0.call(d,"callee")},Jn=Ve.isArray,Vs=me?di(me):He;function al(d){return d!=null&&M2(d.length)&&!Ea(d)}function n0(d){return zu(d)&&al(d)}function ev(d){return d===!0||d===!1||zu(d)&&mt(d)==ln}var Gs=$0||Ip,hp=xe?di(xe):Be;function jm(d){return zu(d)&&d.nodeType===1&&!Ec(d)}function tv(d){if(d==null)return!0;if(al(d)&&(Jn(d)||typeof d=="string"||typeof d.splice=="function"||Gs(d)||Da(d)||sl(d)))return!d.length;var v=Ou(d);if(v==w||v==Kt)return!d.size;if(xf(d))return!Ba(d).length;for(var x in d)if(ei.call(d,x))return!1;return!0}function vp(d,v){return ut(d,v)}function zm(d,v,x){x=typeof x=="function"?x:i;var b=x?x(d,v):i;return b===i?ut(d,v,i,x):!!b}function mp(d){if(!zu(d))return!1;var v=mt(d);return v==un||v==nr||typeof d.message=="string"&&typeof d.name=="string"&&!Ec(d)}function _c(d){return typeof d=="number"&&Xi(d)}function Ea(d){if(!ku(d))return!1;var v=mt(d);return v==Wt||v==vr||v==en||v==ur}function yp(d){return typeof d=="number"&&d==Cr(d)}function M2(d){return typeof d=="number"&&d>-1&&d%1==0&&d<=$t}function ku(d){var v=typeof d;return d!=null&&(v=="object"||v=="function")}function zu(d){return d!=null&&typeof d=="object"}var gp=Z?di(Z):jn;function _p(d,v){return d===v||ti(d,v,Pn(v))}function nv(d,v,x){return x=typeof x=="function"?x:i,ti(d,v,Pn(v),x)}function qm(d){return rv(d)&&d!=+d}function Hm(d){if(Al(d))throw new Yt(p);return tr(d)}function Wm(d){return d===null}function N2(d){return d==null}function rv(d){return typeof d=="number"||zu(d)&&mt(d)==Ut}function Ec(d){if(!zu(d)||mt(d)!=fr)return!1;var v=$o(d);if(v===null)return!0;var x=ei.call(v,"constructor")&&v.constructor;return typeof x=="function"&&x instanceof x&&Au.call(x)==na}var g1=ke?di(ke):ii;function Vm(d){return yp(d)&&d>=-$t&&d<=$t}var L2=Xe?di(Xe):qi;function _1(d){return typeof d=="string"||!Jn(d)&&zu(d)&&mt(d)==vu}function Nl(d){return typeof d=="symbol"||zu(d)&&mt(d)==a0}var Da=ht?di(ht):jr;function iv(d){return d===i}function Gm(d){return zu(d)&&Ou(d)==Go}function uv(d){return zu(d)&&mt(d)==Os}var ov=p2(r2),Ym=p2(function(d,v){return d<=v});function lv(d){if(!d)return[];if(al(d))return _1(d)?Yr(d):Ji(d);if(Ru&&d[Ru])return Vu(d[Ru]());var v=Ou(d),x=v==w?yu:v==Kt?Q0:Ac;return x(d)}function wa(d){if(!d)return d===0?d:0;if(d=fl(d),d===jt||d===-jt){var v=d<0?-1:1;return v*at}return d===d?d:0}function Cr(d){var v=wa(d),x=v%1;return v===v?x?v-x:v:0}function Ep(d){return d?Zu(Cr(d),0,ae):0}function fl(d){if(typeof d=="number")return d;if(Nl(d))return Q;if(ku(d)){var v=typeof d.valueOf=="function"?d.valueOf():d;d=ku(v)?v+"":v}if(typeof d!="string")return d===0?d:+d;d=xu(d);var x=oo.test(d);return x||Ao.test(d)?Ls(d.slice(2),x?2:8):ni.test(d)?Q:+d}function cu(d){return O0(d,fn(d))}function E1(d){return d?Zu(Cr(d),-$t,$t):d===0?d:0}function ki(d){return d==null?"":il(d)}var Dp=no(function(d,v){if(xf(v)||al(v)){O0(v,M0(v),d);return}for(var x in v)ei.call(v,x)&&gs(d,x,v[x])}),F2=no(function(d,v){O0(v,fn(v),d)}),Do=no(function(d,v,x,b){O0(v,fn(v),d,b)}),Ss=no(function(d,v,x,b){O0(v,M0(v),d,b)}),Mf=ol(Ia);function b2(d,v){var x=Qr(d);return v==null?x:hf(x,v)}var wp=Mr(function(d,v){d=wn(d);var x=-1,b=v.length,H=b>2?v[2]:i;for(H&&io(v[0],v[1],H)&&(b=1);++x1),ee}),O0(d,rr(d),x),b&&(x=U0(x,C|U|q,ym));for(var H=v.length;H--;)Cd(x,v[H]);return x});function T1(d,v){return Ka(d,C2(zn(v)))}var Cp=ol(function(d,v){return d==null?{}:dh(d,v)});function Ka(d,v){if(d==null)return{};var x=Lt(rr(d),function(b){return[b]});return v=zn(v),ph(d,x,function(b,H){return v(b,H[0])})}function Km(d,v,x){v=Us(v,d);var b=-1,H=v.length;for(H||(H=1,d=i);++bv){var b=d;d=v,v=b}if(x||d%1||v%1){var H=y0();return Wn(d+H*(v-d+Ma("1e-"+((H+"").length-1))),v)}return o2(d,v)}var q2=_f(function(d,v,x){return v=v.toLowerCase(),d+(x?Uo(v):v)});function Uo(d){return Rp(ki(d).toLowerCase())}function H2(d){return d=ki(d),d&&d.replace(Xn,Mo).replace(K0,"")}function Qm(d,v,x){d=ki(d),v=il(v);var b=d.length;x=x===i?b:Zu(Cr(x),0,b);var H=x;return x-=v.length,x>=0&&d.slice(x,H)==v}function A1(d){return d=ki(d),d&&ks.test(d)?d.replace(tu,ds):d}function Jm(d){return d=ki(d),d&&Zt.test(d)?d.replace(fi,"\\$&"):d}var Zm=_f(function(d,v,x){return d+(x?"-":"")+v.toLowerCase()}),av=_f(function(d,v,x){return d+(x?" ":"")+v.toLowerCase()}),$m=_h("toLowerCase");function fv(d,v,x){d=ki(d),v=Cr(v);var b=v?Ki(d):0;if(!v||b>=v)return d;var H=(v-b)/2;return da(vs(H),x)+d+da(Ku(H),x)}function ey(d,v,x){d=ki(d),v=Cr(v);var b=v?Ki(d):0;return v&&b>>0,x?(d=ki(d),d&&(typeof v=="string"||v!=null&&!g1(v))&&(v=il(v),!v&&Lo(d))?aa(Yr(d),0,x):d.split(v,x)):[]}var bf=_f(function(d,v,x){return d+(x?" ":"")+Rp(v)});function dv(d,v,x){return d=ki(d),x=x==null?0:Zu(Cr(x),0,d.length),v=il(v),d.slice(x,x+v.length)==v}function pv(d,v,x){var b=Y.templateSettings;x&&io(d,v,x)&&(v=i),d=ki(d),v=Do({},v,b,Df);var H=Do({},v.imports,b.imports,Df),ee=M0(H),de=ko(H,ee),ye,be,gt=0,Dt=v.interpolate||Qo,Rt="__p += '",rn=fu((v.escape||Qo).source+"|"+Dt.source+"|"+(Dt===f0?Wl:Qo).source+"|"+(v.evaluate||Qo).source+"|$","g"),Rn="//# sourceURL="+(ei.call(v,"sourceURL")?(v.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ic+"]")+` +`;d.replace(rn,function(ir,Zr,ui,bl,Wi,uo){return ui||(ui=bl),Rt+=d.slice(gt,uo).replace(lo,bs),Zr&&(ye=!0,Rt+=`' + +__e(`+Zr+`) + +'`),Wi&&(be=!0,Rt+=`'; +`+Wi+`; +__p += '`),ui&&(Rt+=`' + +((__t = (`+ui+`)) == null ? '' : __t) + +'`),gt=uo+ir.length,ir}),Rt+=`'; +`;var $n=ei.call(v,"variable")&&v.variable;if(!$n)Rt=`with (obj) { +`+Rt+` +} +`;else if(Y0.test($n))throw new Yt(t);Rt=(be?Rt.replace(Hr,""):Rt).replace(To,"$1").replace(Co,"$1;"),Rt="function("+($n||"obj")+`) { +`+($n?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(ye?", __e = _.escape":"")+(be?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+Rt+`return __p +}`;var Nr=_v(function(){return sr(ee,Rn+"return "+Rt).apply(i,de)});if(Nr.source=Rt,mp(Nr))throw Nr;return Nr}function hv(d){return ki(d).toLowerCase()}function W2(d){return ki(d).toUpperCase()}function V2(d,v,x){if(d=ki(d),d&&(x||v===i))return xu(d);if(!d||!(v=il(v)))return d;var b=Yr(d),H=Yr(v),ee=sf(b,H),de=gl(b,H)+1;return aa(b,ee,de).join("")}function Ap(d,v,x){if(d=ki(d),d&&(x||v===i))return d.slice(0,fo(d)+1);if(!d||!(v=il(v)))return d;var b=Yr(d),H=gl(b,Yr(v))+1;return aa(b,0,H).join("")}function vv(d,v,x){if(d=ki(d),d&&(x||v===i))return d.replace(Ln,"");if(!d||!(v=il(v)))return d;var b=Yr(d),H=sf(b,Yr(v));return aa(b,H).join("")}function G2(d,v){var x=Ge,b=rt;if(ku(v)){var H="separator"in v?v.separator:H;x="length"in v?Cr(v.length):x,b="omission"in v?il(v.omission):b}d=ki(d);var ee=d.length;if(Lo(d)){var de=Yr(d);ee=de.length}if(x>=ee)return d;var ye=x-Ki(b);if(ye<1)return b;var be=de?aa(de,0,ye).join(""):d.slice(0,ye);if(H===i)return be+b;if(de&&(ye+=be.length-ye),g1(H)){if(d.slice(ye).search(H)){var gt,Dt=be;for(H.global||(H=fu(H.source,ki(xo.exec(H))+"g")),H.lastIndex=0;gt=H.exec(Dt);)var Rt=gt.index;be=be.slice(0,Rt===i?ye:Rt)}}else if(d.indexOf(il(H),ye)!=ye){var rn=be.lastIndexOf(H);rn>-1&&(be=be.slice(0,rn))}return be+b}function mv(d){return d=ki(d),d&&Si.test(d)?d.replace(L0,Oi):d}var yv=_f(function(d,v,x){return d+(x?" ":"")+v.toUpperCase()}),Rp=_h("toUpperCase");function gv(d,v,x){return d=ki(d),v=x?i:v,v===i?ps(d)?cf(d):v0(d):d.match(v)||[]}var _v=Mr(function(d,v){try{return ie(d,i,v)}catch(x){return mp(x)?x:new Yt(x)}}),uy=ol(function(d,v){return tt(v,function(x){x=Rl(x),ju(d,x,y1(d[x],d))}),d});function Ev(d){var v=d==null?0:d.length,x=zn();return d=v?Lt(d,function(b){if(typeof b[1]!="function")throw new Kr(E);return[x(b[0]),b[1]]}):[],Mr(function(b){for(var H=-1;++H$t)return[];var x=ae,b=Wn(d,ae);v=zn(v),d-=ae;for(var H=S0(b,v);++x0||v<0)?new lt(x):(d<0?x=x.takeRight(-d):d&&(x=x.drop(d)),v!==i&&(v=Cr(v),x=v<0?x.dropRight(-v):x.take(v-d)),x)},lt.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},lt.prototype.toArray=function(){return this.take(ae)},A(lt.prototype,function(d,v){var x=/^(?:filter|find|map|reject)|While$/.test(v),b=/^(?:head|last)$/.test(v),H=Y[b?"take"+(v=="last"?"Right":""):v],ee=b||/^find/.test(v);!H||(Y.prototype[v]=function(){var de=this.__wrapped__,ye=b?[1]:arguments,be=de instanceof lt,gt=ye[0],Dt=be||Jn(de),Rt=function(Zr){var ui=H.apply(Y,gn([Zr],ye));return b&&rn?ui[0]:ui};Dt&&x&&typeof gt=="function"&>.length!=1&&(be=Dt=!1);var rn=this.__chain__,Rn=!!this.__actions__.length,$n=ee&&!rn,Nr=be&&!Rn;if(!ee&&Dt){de=Nr?de:new lt(this);var ir=d.apply(de,ye);return ir.__actions__.push({func:h1,args:[Rt],thisArg:i}),new Ur(ir,rn)}return $n&&Nr?d.apply(this,ye):(ir=this.thru(Rt),$n?b?ir.value()[0]:ir.value():ir)})}),tt(["pop","push","shift","sort","splice","unshift"],function(d){var v=Vr[d],x=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",b=/^(?:pop|shift)$/.test(d);Y.prototype[d]=function(){var H=arguments;if(b&&!this.__chain__){var ee=this.value();return v.apply(Jn(ee)?ee:[],H)}return this[x](function(de){return v.apply(Jn(de)?de:[],H)})}}),A(lt.prototype,function(d,v){var x=Y[v];if(x){var b=x.name+"";ei.call(xn,b)||(xn[b]=[]),xn[b].push({name:v,func:x})}}),xn[ca(i,we).name]=[{name:"wrapper",func:i}],lt.prototype.clone=hi,lt.prototype.reverse=Qi,lt.prototype.value=g0,Y.prototype.at=Qd,Y.prototype.chain=jh,Y.prototype.commit=Jd,Y.prototype.next=zh,Y.prototype.plant=xm,Y.prototype.reverse=Of,Y.prototype.toJSON=Y.prototype.valueOf=Y.prototype.value=kf,Y.prototype.first=Y.prototype.head,Ru&&(Y.prototype[Ru]=Cm),Y},Z0=J0();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Ni._=Z0,define(function(){return Z0})):z?((z.exports=Z0)._=Z0,B._=Z0):Ni._=Z0}).call(nm)});var GD=ce((Dne,VD)=>{"use strict";var Ai=VD.exports;VD.exports.default=Ai;var hu="[",ig="]",rm="\x07",$_=";",U5=process.env.TERM_PROGRAM==="Apple_Terminal";Ai.cursorTo=(i,o)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");return typeof o!="number"?hu+(i+1)+"G":hu+(o+1)+";"+(i+1)+"H"};Ai.cursorMove=(i,o)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");let f="";return i<0?f+=hu+-i+"D":i>0&&(f+=hu+i+"C"),o<0?f+=hu+-o+"A":o>0&&(f+=hu+o+"B"),f};Ai.cursorUp=(i=1)=>hu+i+"A";Ai.cursorDown=(i=1)=>hu+i+"B";Ai.cursorForward=(i=1)=>hu+i+"C";Ai.cursorBackward=(i=1)=>hu+i+"D";Ai.cursorLeft=hu+"G";Ai.cursorSavePosition=U5?"7":hu+"s";Ai.cursorRestorePosition=U5?"8":hu+"u";Ai.cursorGetPosition=hu+"6n";Ai.cursorNextLine=hu+"E";Ai.cursorPrevLine=hu+"F";Ai.cursorHide=hu+"?25l";Ai.cursorShow=hu+"?25h";Ai.eraseLines=i=>{let o="";for(let f=0;f[ig,"8",$_,$_,o,rm,i,ig,"8",$_,$_,rm].join("");Ai.image=(i,o={})=>{let f=`${ig}1337;File=inline=1`;return o.width&&(f+=`;width=${o.width}`),o.height&&(f+=`;height=${o.height}`),o.preserveAspectRatio===!1&&(f+=";preserveAspectRatio=0"),f+":"+i.toString("base64")+rm};Ai.iTerm={setCwd:(i=process.cwd())=>`${ig}50;CurrentDir=${i}${rm}`,annotation:(i,o={})=>{let f=`${ig}1337;`,p=typeof o.x!="undefined",E=typeof o.y!="undefined";if((p||E)&&!(p&&E&&typeof o.length!="undefined"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return i=i.replace(/\|/g,""),f+=o.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",o.length>0?f+=(p?[i,o.length,o.x,o.y]:[o.length,i]).join("|"):f+=i,f+rm}}});var z5=ce((wne,YD)=>{"use strict";var j5=(i,o)=>{for(let f of Reflect.ownKeys(o))Object.defineProperty(i,f,Object.getOwnPropertyDescriptor(o,f));return i};YD.exports=j5;YD.exports.default=j5});var H5=ce((Sne,e4)=>{"use strict";var UK=z5(),t4=new WeakMap,q5=(i,o={})=>{if(typeof i!="function")throw new TypeError("Expected a function");let f,p=0,E=i.displayName||i.name||"",t=function(...k){if(t4.set(t,++p),p===1)f=i.apply(this,k),i=null;else if(o.throw===!0)throw new Error(`Function \`${E}\` can only be called once`);return f};return UK(t,i),t4.set(t,p),t};e4.exports=q5;e4.exports.default=q5;e4.exports.callCount=i=>{if(!t4.has(i))throw new Error(`The given function \`${i.name}\` is not wrapped by the \`onetime\` package`);return t4.get(i)}});var W5=ce((Tne,n4)=>{n4.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&n4.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&n4.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var JD=ce((Cne,ug)=>{var jK=require("assert"),og=W5(),zK=/^win/i.test(process.platform),r4=require("events");typeof r4!="function"&&(r4=r4.EventEmitter);var zl;process.__signal_exit_emitter__?zl=process.__signal_exit_emitter__:(zl=process.__signal_exit_emitter__=new r4,zl.count=0,zl.emitted={});zl.infinite||(zl.setMaxListeners(Infinity),zl.infinite=!0);ug.exports=function(i,o){jK.equal(typeof i,"function","a callback must be provided for exit handler"),lg===!1&&V5();var f="exit";o&&o.alwaysLast&&(f="afterexit");var p=function(){zl.removeListener(f,i),zl.listeners("exit").length===0&&zl.listeners("afterexit").length===0&&KD()};return zl.on(f,i),p};ug.exports.unload=KD;function KD(){!lg||(lg=!1,og.forEach(function(i){try{process.removeListener(i,XD[i])}catch(o){}}),process.emit=QD,process.reallyExit=G5,zl.count-=1)}function im(i,o,f){zl.emitted[i]||(zl.emitted[i]=!0,zl.emit(i,o,f))}var XD={};og.forEach(function(i){XD[i]=function(){var f=process.listeners(i);f.length===zl.count&&(KD(),im("exit",null,i),im("afterexit",null,i),zK&&i==="SIGHUP"&&(i="SIGINT"),process.kill(process.pid,i))}});ug.exports.signals=function(){return og};ug.exports.load=V5;var lg=!1;function V5(){lg||(lg=!0,zl.count+=1,og=og.filter(function(i){try{return process.on(i,XD[i]),!0}catch(o){return!1}}),process.emit=HK,process.reallyExit=qK)}var G5=process.reallyExit;function qK(i){process.exitCode=i||0,im("exit",process.exitCode,null),im("afterexit",process.exitCode,null),G5.call(process,process.exitCode)}var QD=process.emit;function HK(i,o){if(i==="exit"){o!==void 0&&(process.exitCode=o);var f=QD.apply(this,arguments);return im("exit",process.exitCode,null),im("afterexit",process.exitCode,null),f}else return QD.apply(this,arguments)}});var K5=ce((xne,Y5)=>{"use strict";var WK=H5(),VK=JD();Y5.exports=WK(()=>{VK(()=>{process.stderr.write("[?25h")},{alwaysLast:!0})})});var ZD=ce(um=>{"use strict";var GK=K5(),i4=!1;um.show=(i=process.stderr)=>{!i.isTTY||(i4=!1,i.write("[?25h"))};um.hide=(i=process.stderr)=>{!i.isTTY||(GK(),i4=!0,i.write("[?25l"))};um.toggle=(i,o)=>{i!==void 0&&(i4=i),i4?um.show(o):um.hide(o)}});var Z5=ce(sg=>{"use strict";var X5=sg&&sg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(sg,"__esModule",{value:!0});var Q5=X5(GD()),J5=X5(ZD()),YK=(i,{showCursor:o=!1}={})=>{let f=0,p="",E=!1,t=k=>{!o&&!E&&(J5.default.hide(),E=!0);let L=k+` +`;L!==p&&(p=L,i.write(Q5.default.eraseLines(f)+L),f=L.split(` +`).length)};return t.clear=()=>{i.write(Q5.default.eraseLines(f)),p="",f=0},t.done=()=>{p="",f=0,o||(J5.default.show(),E=!1)},t};sg.default={create:YK}});var e9=ce((One,$5)=>{$5.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var r9=ce(Ra=>{"use strict";var t9=e9(),bc=process.env;Object.defineProperty(Ra,"_vendors",{value:t9.map(function(i){return i.constant})});Ra.name=null;Ra.isPR=null;t9.forEach(function(i){var o=Array.isArray(i.env)?i.env:[i.env],f=o.every(function(p){return n9(p)});if(Ra[i.constant]=f,f)switch(Ra.name=i.name,typeof i.pr){case"string":Ra.isPR=!!bc[i.pr];break;case"object":"env"in i.pr?Ra.isPR=i.pr.env in bc&&bc[i.pr.env]!==i.pr.ne:"any"in i.pr?Ra.isPR=i.pr.any.some(function(p){return!!bc[p]}):Ra.isPR=n9(i.pr);break;default:Ra.isPR=null}});Ra.isCI=!!(bc.CI||bc.CONTINUOUS_INTEGRATION||bc.BUILD_NUMBER||bc.RUN_ID||Ra.name);function n9(i){return typeof i=="string"?!!bc[i]:Object.keys(i).every(function(o){return bc[o]===i[o]})}});var u9=ce((Mne,i9)=>{"use strict";i9.exports=r9().isCI});var l9=ce((Nne,o9)=>{"use strict";var KK=i=>{let o=new Set;do for(let f of Reflect.ownKeys(i))o.add([i,f]);while((i=Reflect.getPrototypeOf(i))&&i!==Object.prototype);return o};o9.exports=(i,{include:o,exclude:f}={})=>{let p=E=>{let t=k=>typeof k=="string"?E===k:k.test(E);return o?o.some(t):f?!f.some(t):!0};for(let[E,t]of KK(i.constructor.prototype)){if(t==="constructor"||!p(t))continue;let k=Reflect.getOwnPropertyDescriptor(E,t);k&&typeof k.value=="function"&&(i[t]=i[t].bind(i))}return i}});var h9=ce($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});var om,ag,u4,o4,$D;typeof window=="undefined"||typeof MessageChannel!="function"?(lm=null,ew=null,tw=function(){if(lm!==null)try{var i=$i.unstable_now();lm(!0,i),lm=null}catch(o){throw setTimeout(tw,0),o}},s9=Date.now(),$i.unstable_now=function(){return Date.now()-s9},om=function(i){lm!==null?setTimeout(om,0,i):(lm=i,setTimeout(tw,0))},ag=function(i,o){ew=setTimeout(i,o)},u4=function(){clearTimeout(ew)},o4=function(){return!1},$D=$i.unstable_forceFrameRate=function(){}):(l4=window.performance,nw=window.Date,a9=window.setTimeout,f9=window.clearTimeout,typeof console!="undefined"&&(c9=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof c9!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof l4=="object"&&typeof l4.now=="function"?$i.unstable_now=function(){return l4.now()}:(d9=nw.now(),$i.unstable_now=function(){return nw.now()-d9}),fg=!1,cg=null,s4=-1,rw=5,iw=0,o4=function(){return $i.unstable_now()>=iw},$D=function(){},$i.unstable_forceFrameRate=function(i){0>i||125f4(k,f))N!==void 0&&0>f4(N,k)?(i[p]=N,i[L]=f,p=L):(i[p]=k,i[t]=f,p=t);else if(N!==void 0&&0>f4(N,f))i[p]=N,i[L]=f,p=L;else break e}}return o}return null}function f4(i,o){var f=i.sortIndex-o.sortIndex;return f!==0?f:i.id-o.id}var Xf=[],dd=[],XK=1,Rs=null,ls=3,d4=!1,$p=!1,dg=!1;function p4(i){for(var o=uf(dd);o!==null;){if(o.callback===null)c4(dd);else if(o.startTime<=i)c4(dd),o.sortIndex=o.expirationTime,ow(Xf,o);else break;o=uf(dd)}}function lw(i){if(dg=!1,p4(i),!$p)if(uf(Xf)!==null)$p=!0,om(sw);else{var o=uf(dd);o!==null&&ag(lw,o.startTime-i)}}function sw(i,o){$p=!1,dg&&(dg=!1,u4()),d4=!0;var f=ls;try{for(p4(o),Rs=uf(Xf);Rs!==null&&(!(Rs.expirationTime>o)||i&&!o4());){var p=Rs.callback;if(p!==null){Rs.callback=null,ls=Rs.priorityLevel;var E=p(Rs.expirationTime<=o);o=$i.unstable_now(),typeof E=="function"?Rs.callback=E:Rs===uf(Xf)&&c4(Xf),p4(o)}else c4(Xf);Rs=uf(Xf)}if(Rs!==null)var t=!0;else{var k=uf(dd);k!==null&&ag(lw,k.startTime-o),t=!1}return t}finally{Rs=null,ls=f,d4=!1}}function p9(i){switch(i){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var QK=$D;$i.unstable_ImmediatePriority=1;$i.unstable_UserBlockingPriority=2;$i.unstable_NormalPriority=3;$i.unstable_IdlePriority=5;$i.unstable_LowPriority=4;$i.unstable_runWithPriority=function(i,o){switch(i){case 1:case 2:case 3:case 4:case 5:break;default:i=3}var f=ls;ls=i;try{return o()}finally{ls=f}};$i.unstable_next=function(i){switch(ls){case 1:case 2:case 3:var o=3;break;default:o=ls}var f=ls;ls=o;try{return i()}finally{ls=f}};$i.unstable_scheduleCallback=function(i,o,f){var p=$i.unstable_now();if(typeof f=="object"&&f!==null){var E=f.delay;E=typeof E=="number"&&0p?(i.sortIndex=E,ow(dd,i),uf(Xf)===null&&i===uf(dd)&&(dg?u4():dg=!0,ag(lw,E-p))):(i.sortIndex=f,ow(Xf,i),$p||d4||($p=!0,om(sw))),i};$i.unstable_cancelCallback=function(i){i.callback=null};$i.unstable_wrapCallback=function(i){var o=ls;return function(){var f=ls;ls=o;try{return i.apply(this,arguments)}finally{ls=f}}};$i.unstable_getCurrentPriorityLevel=function(){return ls};$i.unstable_shouldYield=function(){var i=$i.unstable_now();p4(i);var o=uf(Xf);return o!==Rs&&Rs!==null&&o!==null&&o.callback!==null&&o.startTime<=i&&o.expirationTime{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});var i=!1,o=!1,f=!0,p,E,t,k,L;if(typeof window=="undefined"||typeof MessageChannel!="function"){var N=null,C=null,U=function(){if(N!==null)try{var Et=Ri.unstable_now(),Pt=!0;N(Pt,Et),N=null}catch(Bn){throw setTimeout(U,0),Bn}},q=Date.now();Ri.unstable_now=function(){return Date.now()-q},p=function(Et){N!==null?setTimeout(p,0,Et):(N=Et,setTimeout(U,0))},E=function(Et,Pt){C=setTimeout(Et,Pt)},t=function(){clearTimeout(C)},k=function(){return!1},L=Ri.unstable_forceFrameRate=function(){}}else{var W=window.performance,ne=window.Date,m=window.setTimeout,we=window.clearTimeout;if(typeof console!="undefined"){var Se=window.requestAnimationFrame,he=window.cancelAnimationFrame;typeof Se!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof he!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if(typeof W=="object"&&typeof W.now=="function")Ri.unstable_now=function(){return W.now()};else{var ge=ne.now();Ri.unstable_now=function(){return ne.now()-ge}}var ze=!1,pe=null,Oe=-1,le=5,Ue=0,Ge=300,rt=!1;if(o&&navigator!==void 0&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0){var wt=navigator.scheduling;k=function(){var Et=Ri.unstable_now();return Et>=Ue?rt||wt.isInputPending()?!0:Et>=Ge:!1},L=function(){rt=!0}}else k=function(){return Ri.unstable_now()>=Ue},L=function(){};Ri.unstable_forceFrameRate=function(Et){if(Et<0||Et>125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported");return}Et>0?le=Math.floor(1e3/Et):le=5};var xt=function(){if(pe!==null){var Et=Ri.unstable_now();Ue=Et+le;var Pt=!0;try{var Bn=pe(Pt,Et);Bn?ft.postMessage(null):(ze=!1,pe=null)}catch(Ir){throw ft.postMessage(null),Ir}}else ze=!1;rt=!1},$e=new MessageChannel,ft=$e.port2;$e.port1.onmessage=xt,p=function(Et){pe=Et,ze||(ze=!0,ft.postMessage(null))},E=function(Et,Pt){Oe=m(function(){Et(Ri.unstable_now())},Pt)},t=function(){we(Oe),Oe=-1}}function Ke(Et,Pt){var Bn=Et.length;Et.push(Pt),at(Et,Pt,Bn)}function jt(Et){var Pt=Et[0];return Pt===void 0?null:Pt}function $t(Et){var Pt=Et[0];if(Pt!==void 0){var Bn=Et.pop();return Bn!==Pt&&(Et[0]=Bn,Q(Et,Bn,0)),Pt}else return null}function at(Et,Pt,Bn){for(var Ir=Bn;;){var ji=Math.floor((Ir-1)/2),Wr=Et[ji];if(Wr!==void 0&&ae(Wr,Pt)>0)Et[ji]=Pt,Et[Ir]=Wr,Ir=ji;else return}}function Q(Et,Pt,Bn){for(var Ir=Bn,ji=Et.length;Irur){if(ur*=2,ur>Fr){console.error("Scheduler Profiling: Event log exceeded maximum size. Don't forget to call `stopLoggingProfilingEvents()`."),mr();return}var Bn=new Int32Array(ur*4);Bn.set(Kt),br=Bn.buffer,Kt=Bn}Kt.set(Et,Pt)}}function ai(){ur=fr,br=new ArrayBuffer(ur*4),Kt=new Int32Array(br),vu=0}function mr(){var Et=br;return ur=0,br=null,Kt=null,vu=0,Et}function Xo(Et,Pt){f&&(Wt[Vn]++,Kt!==null&&eu([a0,Pt*1e3,Et.id,Et.priorityLevel]))}function W0(Et,Pt){f&&(Wt[vr]=Ce,Wt[w]=0,Wt[Vn]--,Kt!==null&&eu([So,Pt*1e3,Et.id]))}function Lu(Et,Pt){f&&(Wt[Vn]--,Kt!==null&&eu([Os,Pt*1e3,Et.id]))}function V0(Et,Pt){f&&(Wt[vr]=Ce,Wt[w]=0,Wt[Vn]--,Kt!==null&&eu([Go,Pt*1e3,Et.id]))}function Hr(Et,Pt){f&&(ln++,Wt[vr]=Et.priorityLevel,Wt[w]=Et.id,Wt[Ut]=ln,Kt!==null&&eu([Yo,Pt*1e3,Et.id,ln]))}function To(Et,Pt){f&&(Wt[vr]=Ce,Wt[w]=0,Wt[Ut]=0,Kt!==null&&eu([Ko,Pt*1e3,Et.id,ln]))}function Co(Et){f&&(An++,Kt!==null&&eu([qt,Et*1e3,An]))}function L0(Et){f&&Kt!==null&&eu([_i,Et*1e3,An])}var tu=1073741823,Si=-1,ks=250,Hl=5e3,F0=1e4,f0=tu,Pr=[],Ei=[],G0=1,fi=!1,Zt=null,Ln=ct,Di=!1,ci=!1,Ht=!1;function Du(Et){for(var Pt=jt(Ei);Pt!==null;){if(Pt.callback===null)$t(Ei);else if(Pt.startTime<=Et)$t(Ei),Pt.sortIndex=Pt.expirationTime,Ke(Pr,Pt),f&&(Xo(Pt,Et),Pt.isQueued=!0);else return;Pt=jt(Ei)}}function Yi(Et){if(Ht=!1,Du(Et),!ci)if(jt(Pr)!==null)ci=!0,p(Y0);else{var Pt=jt(Ei);Pt!==null&&E(Yi,Pt.startTime-Et)}}function Y0(Et,Pt){f&&L0(Pt),ci=!1,Ht&&(Ht=!1,t()),Di=!0;var Bn=Ln;try{if(f)try{return Ui(Et,Pt)}catch(Wr){if(Zt!==null){var Ir=Ri.unstable_now();V0(Zt,Ir),Zt.isQueued=!1}throw Wr}else return Ui(Et,Pt)}finally{if(Zt=null,Ln=Bn,Di=!1,f){var ji=Ri.unstable_now();Co(ji)}}}function Ui(Et,Pt){var Bn=Pt;for(Du(Bn),Zt=jt(Pr);Zt!==null&&!(i&&fi)&&!(Zt.expirationTime>Bn&&(!Et||k()));){var Ir=Zt.callback;if(Ir!==null){Zt.callback=null,Ln=Zt.priorityLevel;var ji=Zt.expirationTime<=Bn;Hr(Zt,Bn);var Wr=Ir(ji);Bn=Ri.unstable_now(),typeof Wr=="function"?(Zt.callback=Wr,To(Zt,Bn)):(f&&(W0(Zt,Bn),Zt.isQueued=!1),Zt===jt(Pr)&&$t(Pr)),Du(Bn)}else $t(Pr);Zt=jt(Pr)}if(Zt!==null)return!0;var wu=jt(Ei);return wu!==null&&E(Yi,wu.startTime-Bn),!1}function Wl(Et,Pt){switch(Et){case ue:case je:case ct:case At:case en:break;default:Et=ct}var Bn=Ln;Ln=Et;try{return Pt()}finally{Ln=Bn}}function xo(Et){var Pt;switch(Ln){case ue:case je:case ct:Pt=ct;break;default:Pt=Ln;break}var Bn=Ln;Ln=Pt;try{return Et()}finally{Ln=Bn}}function ni(Et){var Pt=Ln;return function(){var Bn=Ln;Ln=Pt;try{return Et.apply(this,arguments)}finally{Ln=Bn}}}function oo(Et){switch(Et){case ue:return Si;case je:return ks;case en:return f0;case At:return F0;case ct:default:return Hl}}function Vl(Et,Pt,Bn){var Ir=Ri.unstable_now(),ji,Wr;if(typeof Bn=="object"&&Bn!==null){var wu=Bn.delay;typeof wu=="number"&&wu>0?ji=Ir+wu:ji=Ir,Wr=typeof Bn.timeout=="number"?Bn.timeout:oo(Et)}else Wr=oo(Et),ji=Ir;var c0=ji+Wr,Ti={id:G0++,callback:Pt,priorityLevel:Et,startTime:ji,expirationTime:c0,sortIndex:-1};return f&&(Ti.isQueued=!1),ji>Ir?(Ti.sortIndex=ji,Ke(Ei,Ti),jt(Pr)===null&&Ti===jt(Ei)&&(Ht?t():Ht=!0,E(Yi,ji-Ir))):(Ti.sortIndex=c0,Ke(Pr,Ti),f&&(Xo(Ti,Ir),Ti.isQueued=!0),!ci&&!Di&&(ci=!0,p(Y0))),Ti}function Ao(){fi=!0}function Ms(){fi=!1,!ci&&!Di&&(ci=!0,p(Y0))}function Xn(){return jt(Pr)}function Qo(Et){if(f&&Et.isQueued){var Pt=Ri.unstable_now();Lu(Et,Pt),Et.isQueued=!1}Et.callback=null}function lo(){return Ln}function b0(){var Et=Ri.unstable_now();Du(Et);var Pt=jt(Pr);return Pt!==Zt&&Zt!==null&&Pt!==null&&Pt.callback!==null&&Pt.startTime<=Et&&Pt.expirationTime{"use strict";process.env.NODE_ENV==="production"?aw.exports=h9():aw.exports=v9()});var m9=ce((Pne,pg)=>{pg.exports=function i(o){"use strict";var f=eg(),p=su(),E=h4();function t(g){for(var y="https://reactjs.org/docs/error-decoder.html?invariant="+g,A=1;AG0||(g.current=Ei[G0],Ei[G0]=null,G0--)}function Zt(g,y){G0++,Ei[G0]=g.current,g.current=y}var Ln={},Di={current:Ln},ci={current:!1},Ht=Ln;function Du(g,y){var A=g.type.contextTypes;if(!A)return Ln;var F=g.stateNode;if(F&&F.__reactInternalMemoizedUnmaskedChildContext===y)return F.__reactInternalMemoizedMaskedChildContext;var I={},J;for(J in A)I[J]=y[J];return F&&(g=g.stateNode,g.__reactInternalMemoizedUnmaskedChildContext=y,g.__reactInternalMemoizedMaskedChildContext=I),I}function Yi(g){return g=g.childContextTypes,g!=null}function Y0(g){fi(ci,g),fi(Di,g)}function Ui(g){fi(ci,g),fi(Di,g)}function Wl(g,y,A){if(Di.current!==Ln)throw Error(t(168));Zt(Di,y,g),Zt(ci,A,g)}function xo(g,y,A){var F=g.stateNode;if(g=y.childContextTypes,typeof F.getChildContext!="function")return A;F=F.getChildContext();for(var I in F)if(!(I in g))throw Error(t(108,Ge(y)||"Unknown",I));return f({},A,{},F)}function ni(g){var y=g.stateNode;return y=y&&y.__reactInternalMemoizedMergedChildContext||Ln,Ht=Di.current,Zt(Di,y,g),Zt(ci,ci.current,g),!0}function oo(g,y,A){var F=g.stateNode;if(!F)throw Error(t(169));A?(y=xo(g,y,Ht),F.__reactInternalMemoizedMergedChildContext=y,fi(ci,g),fi(Di,g),Zt(Di,y,g)):fi(ci,g),Zt(ci,A,g)}var Vl=E.unstable_runWithPriority,Ao=E.unstable_scheduleCallback,Ms=E.unstable_cancelCallback,Xn=E.unstable_shouldYield,Qo=E.unstable_requestPaint,lo=E.unstable_now,b0=E.unstable_getCurrentPriorityLevel,yl=E.unstable_ImmediatePriority,Ro=E.unstable_UserBlockingPriority,Et=E.unstable_NormalPriority,Pt=E.unstable_LowPriority,Bn=E.unstable_IdlePriority,Ir={},ji=Qo!==void 0?Qo:function(){},Wr=null,wu=null,c0=!1,Ti=lo(),d0=1e4>Ti?lo:function(){return lo()-Ti};function as(){switch(b0()){case yl:return 99;case Ro:return 98;case Et:return 97;case Pt:return 96;case Bn:return 95;default:throw Error(t(332))}}function St(g){switch(g){case 99:return yl;case 98:return Ro;case 97:return Et;case 96:return Pt;case 95:return Bn;default:throw Error(t(332))}}function so(g,y){return g=St(g),Vl(g,y)}function Jo(g,y,A){return g=St(g),Ao(g,y,A)}function Gl(g){return Wr===null?(Wr=[g],wu=Ao(yl,fs)):Wr.push(g),Ir}function Fu(){if(wu!==null){var g=wu;wu=null,Ms(g)}fs()}function fs(){if(!c0&&Wr!==null){c0=!0;var g=0;try{var y=Wr;so(99,function(){for(;g=y&&(fo=!0),g.firstContext=null)}function Tu(g,y){if(Su!==g&&y!==!1&&y!==0)if((typeof y!="number"||y===1073741823)&&(Su=g,y=1073741823),y={context:g,observedBits:y,next:null},mi===null){if(or===null)throw Error(t(308));mi=y,or.dependencies={expirationTime:0,firstContext:y,responders:null}}else mi=mi.next=y;return un?g._currentValue:g._currentValue2}var ao=!1;function Iu(g){return{baseState:g,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Oa(g){return{baseState:g.baseState,firstUpdate:g.firstUpdate,lastUpdate:g.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function p0(g,y){return{expirationTime:g,suspenseConfig:y,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Zs(g,y){g.lastUpdate===null?g.firstUpdate=g.lastUpdate=y:(g.lastUpdate.next=y,g.lastUpdate=y)}function K0(g,y){var A=g.alternate;if(A===null){var F=g.updateQueue,I=null;F===null&&(F=g.updateQueue=Iu(g.memoizedState))}else F=g.updateQueue,I=A.updateQueue,F===null?I===null?(F=g.updateQueue=Iu(g.memoizedState),I=A.updateQueue=Iu(A.memoizedState)):F=g.updateQueue=Oa(I):I===null&&(I=A.updateQueue=Oa(F));I===null||F===I?Zs(F,y):F.lastUpdate===null||I.lastUpdate===null?(Zs(F,y),Zs(I,y)):(Zs(F,y),I.lastUpdate=y)}function $s(g,y){var A=g.updateQueue;A=A===null?g.updateQueue=Iu(g.memoizedState):ka(g,A),A.lastCapturedUpdate===null?A.firstCapturedUpdate=A.lastCapturedUpdate=y:(A.lastCapturedUpdate.next=y,A.lastCapturedUpdate=y)}function ka(g,y){var A=g.alternate;return A!==null&&y===A.updateQueue&&(y=g.updateQueue=Oa(y)),y}function cs(g,y,A,F,I,J){switch(A.tag){case 1:return g=A.payload,typeof g=="function"?g.call(J,F,I):g;case 3:g.effectTag=g.effectTag&-4097|64;case 0:if(g=A.payload,I=typeof g=="function"?g.call(J,F,I):g,I==null)break;return f({},F,I);case 2:ao=!0}return F}function w0(g,y,A,F,I){ao=!1,y=ka(g,y);for(var J=y.baseState,fe=null,mt=0,Ct=y.firstUpdate,Mt=J;Ct!==null;){var Er=Ct.expirationTime;Erii?(qi=tr,tr=null):qi=tr.sibling;var jr=iu(He,tr,ut[ii],Jt);if(jr===null){tr===null&&(tr=qi);break}g&&tr&&jr.alternate===null&&y(He,tr),Be=J(jr,Be,ii),ti===null?jn=jr:ti.sibling=jr,ti=jr,tr=qi}if(ii===ut.length)return A(He,tr),jn;if(tr===null){for(;iiii?(qi=tr,tr=null):qi=tr.sibling;var gu=iu(He,tr,jr.value,Jt);if(gu===null){tr===null&&(tr=qi);break}g&&tr&&gu.alternate===null&&y(He,tr),Be=J(gu,Be,ii),ti===null?jn=gu:ti.sibling=gu,ti=gu,tr=qi}if(jr.done)return A(He,tr),jn;if(tr===null){for(;!jr.done;ii++,jr=ut.next())jr=$u(He,jr.value,Jt),jr!==null&&(Be=J(jr,Be,ii),ti===null?jn=jr:ti.sibling=jr,ti=jr);return jn}for(tr=F(He,tr);!jr.done;ii++,jr=ut.next())jr=j0(tr,He,ii,jr.value,Jt),jr!==null&&(g&&jr.alternate!==null&&tr.delete(jr.key===null?ii:jr.key),Be=J(jr,Be,ii),ti===null?jn=jr:ti.sibling=jr,ti=jr);return g&&tr.forEach(function(Ba){return y(He,Ba)}),jn}return function(He,Be,ut,Jt){var jn=typeof ut=="object"&&ut!==null&&ut.type===U&&ut.key===null;jn&&(ut=ut.props.children);var ti=typeof ut=="object"&&ut!==null;if(ti)switch(ut.$$typeof){case N:e:{for(ti=ut.key,jn=Be;jn!==null;){if(jn.key===ti)if(jn.tag===7?ut.type===U:jn.elementType===ut.type){A(He,jn.sibling),Be=I(jn,ut.type===U?ut.props.children:ut.props,Jt),Be.ref=Fs(He,jn,ut),Be.return=He,He=Be;break e}else{A(He,jn);break}else y(He,jn);jn=jn.sibling}ut.type===U?(Be=Zu(ut.props.children,He.mode,Jt,ut.key),Be.return=He,He=Be):(Jt=Ia(ut.type,ut.key,ut.props,null,He.mode,Jt),Jt.ref=Fs(He,Be,ut),Jt.return=He,He=Jt)}return fe(He);case C:e:{for(jn=ut.key;Be!==null;){if(Be.key===jn)if(Be.tag===4&&Be.stateNode.containerInfo===ut.containerInfo&&Be.stateNode.implementation===ut.implementation){A(He,Be.sibling),Be=I(Be,ut.children||[],Jt),Be.return=He,He=Be;break e}else{A(He,Be);break}else y(He,Be);Be=Be.sibling}Be=vf(ut,He.mode,Jt),Be.return=He,He=Be}return fe(He)}if(typeof ut=="string"||typeof ut=="number")return ut=""+ut,Be!==null&&Be.tag===6?(A(He,Be.sibling),Be=I(Be,ut,Jt),Be.return=He,He=Be):(A(He,Be),Be=U0(ut,He.mode,Jt),Be.return=He,He=Be),fe(He);if(h0(ut))return Tl(He,Be,ut,Jt);if(le(ut))return e0(He,Be,ut,Jt);if(ti&&Ni(He,ut),typeof ut=="undefined"&&!jn)switch(He.tag){case 1:case 0:throw He=He.type,Error(t(152,He.displayName||He.name||"Component"))}return A(He,Be)}}var z=B(!0),G=B(!1),$={},De={current:$},me={current:$},xe={current:$};function Z(g){if(g===$)throw Error(t(174));return g}function ke(g,y){Zt(xe,y,g),Zt(me,g,g),Zt(De,$,g),y=jt(y),fi(De,g),Zt(De,y,g)}function Xe(g){fi(De,g),fi(me,g),fi(xe,g)}function ht(g){var y=Z(xe.current),A=Z(De.current);y=$t(A,g.type,y),A!==y&&(Zt(me,g,g),Zt(De,y,g))}function ie(g){me.current===g&&(fi(De,g),fi(me,g))}var qe={current:0};function tt(g){for(var y=g;y!==null;){if(y.tag===13){var A=y.memoizedState;if(A!==null&&(A=A.dehydrated,A===null||Hr(A)||To(A)))return y}else if(y.tag===19&&y.memoizedProps.revealOrder!==void 0){if((y.effectTag&64)!=0)return y}else if(y.child!==null){y.child.return=y,y=y.child;continue}if(y===g)break;for(;y.sibling===null;){if(y.return===null||y.return===g)return null;y=y.return}y.sibling.return=y.return,y=y.sibling}return null}function Tt(g,y){return{responder:g,props:y}}var kt=k.ReactCurrentDispatcher,bt=k.ReactCurrentBatchConfig,on=0,tn=null,Lt=null,gn=null,lr=null,Qn=null,_r=null,Cn=0,Ar=null,v0=0,Rr=!1,nt=null,_t=0;function Ze(){throw Error(t(321))}function Ft(g,y){if(y===null)return!1;for(var A=0;ACn&&(Cn=Er,La(Cn))):(oc(Er,Ct.suspenseConfig),J=Ct.eagerReducer===g?Ct.eagerState:g(J,Ct.action)),fe=Ct,Ct=Ct.next}while(Ct!==null&&Ct!==F);Mt||(mt=fe,I=J),Ne(J,y.memoizedState)||(fo=!0),y.memoizedState=J,y.baseUpdate=mt,y.baseState=I,A.lastRenderedState=J}return[y.memoizedState,A.dispatch]}function S0(g){var y=Yn();return typeof g=="function"&&(g=g()),y.memoizedState=y.baseState=g,g=y.queue={last:null,dispatch:null,lastRenderedReducer:nu,lastRenderedState:g},g=g.dispatch=bs.bind(null,tn,g),[y.memoizedState,g]}function X0(g){return Cu(nu,g)}function xu(g,y,A,F){return g={tag:g,create:y,destroy:A,deps:F,next:null},Ar===null?(Ar={lastEffect:null},Ar.lastEffect=g.next=g):(y=Ar.lastEffect,y===null?Ar.lastEffect=g.next=g:(A=y.next,y.next=g,g.next=A,Ar.lastEffect=g)),g}function di(g,y,A,F){var I=Yn();v0|=g,I.memoizedState=xu(y,A,void 0,F===void 0?null:F)}function ko(g,y,A,F){var I=yr();F=F===void 0?null:F;var J=void 0;if(Lt!==null){var fe=Lt.memoizedState;if(J=fe.destroy,F!==null&&Ft(F,fe.deps)){xu(0,A,J,F);return}}v0|=g,I.memoizedState=xu(y,A,J,F)}function Zo(g,y){return di(516,192,g,y)}function sf(g,y){return ko(516,192,g,y)}function gl(g,y){if(typeof y=="function")return g=g(),y(g),function(){y(null)};if(y!=null)return g=g(),y.current=g,function(){y.current=null}}function af(){}function Mo(g,y){return Yn().memoizedState=[g,y===void 0?null:y],g}function ds(g,y){var A=yr();y=y===void 0?null:y;var F=A.memoizedState;return F!==null&&y!==null&&Ft(y,F[1])?F[0]:(A.memoizedState=[g,y],g)}function bs(g,y,A){if(!(25>_t))throw Error(t(301));var F=g.alternate;if(g===tn||F!==null&&F===tn)if(Rr=!0,g={expirationTime:on,suspenseConfig:null,action:A,eagerReducer:null,eagerState:null,next:null},nt===null&&(nt=new Map),A=nt.get(y),A===void 0)nt.set(y,g);else{for(y=A;y.next!==null;)y=y.next;y.next=g}else{var I=g0(),J=ri.suspense;I=bn(I,g,J),J={expirationTime:I,suspenseConfig:J,action:A,eagerReducer:null,eagerState:null,next:null};var fe=y.last;if(fe===null)J.next=J;else{var mt=fe.next;mt!==null&&(J.next=mt),fe.next=J}if(y.last=J,g.expirationTime===0&&(F===null||F.expirationTime===0)&&(F=y.lastRenderedReducer,F!==null))try{var Ct=y.lastRenderedState,Mt=F(Ct,A);if(J.eagerReducer=F,J.eagerState=Mt,Ne(Mt,Ct))return}catch(Er){}finally{}Qu(g,I)}}var No={readContext:Tu,useCallback:Ze,useContext:Ze,useEffect:Ze,useImperativeHandle:Ze,useLayoutEffect:Ze,useMemo:Ze,useReducer:Ze,useRef:Ze,useState:Ze,useDebugValue:Ze,useResponder:Ze,useDeferredValue:Ze,useTransition:Ze},Lo={readContext:Tu,useCallback:Mo,useContext:Tu,useEffect:Zo,useImperativeHandle:function(g,y,A){return A=A!=null?A.concat([g]):null,di(4,36,gl.bind(null,y,g),A)},useLayoutEffect:function(g,y){return di(4,36,g,y)},useMemo:function(g,y){var A=Yn();return y=y===void 0?null:y,g=g(),A.memoizedState=[g,y],g},useReducer:function(g,y,A){var F=Yn();return y=A!==void 0?A(y):y,F.memoizedState=F.baseState=y,g=F.queue={last:null,dispatch:null,lastRenderedReducer:g,lastRenderedState:y},g=g.dispatch=bs.bind(null,tn,g),[F.memoizedState,g]},useRef:function(g){var y=Yn();return g={current:g},y.memoizedState=g},useState:S0,useDebugValue:af,useResponder:Tt,useDeferredValue:function(g,y){var A=S0(g),F=A[0],I=A[1];return Zo(function(){E.unstable_next(function(){var J=bt.suspense;bt.suspense=y===void 0?null:y;try{I(g)}finally{bt.suspense=J}})},[g,y]),F},useTransition:function(g){var y=S0(!1),A=y[0],F=y[1];return[Mo(function(I){F(!0),E.unstable_next(function(){var J=bt.suspense;bt.suspense=g===void 0?null:g;try{F(!1),I()}finally{bt.suspense=J}})},[g,A]),A]}},ps={readContext:Tu,useCallback:ds,useContext:Tu,useEffect:sf,useImperativeHandle:function(g,y,A){return A=A!=null?A.concat([g]):null,ko(4,36,gl.bind(null,y,g),A)},useLayoutEffect:function(g,y){return ko(4,36,g,y)},useMemo:function(g,y){var A=yr();y=y===void 0?null:y;var F=A.memoizedState;return F!==null&&y!==null&&Ft(y,F[1])?F[0]:(g=g(),A.memoizedState=[g,y],g)},useReducer:Cu,useRef:function(){return yr().memoizedState},useState:X0,useDebugValue:af,useResponder:Tt,useDeferredValue:function(g,y){var A=X0(g),F=A[0],I=A[1];return sf(function(){E.unstable_next(function(){var J=bt.suspense;bt.suspense=y===void 0?null:y;try{I(g)}finally{bt.suspense=J}})},[g,y]),F},useTransition:function(g){var y=X0(!1),A=y[0],F=y[1];return[ds(function(I){F(!0),E.unstable_next(function(){var J=bt.suspense;bt.suspense=g===void 0?null:g;try{F(!1),I()}finally{bt.suspense=J}})},[g,A]),A]}},Vu=null,yu=null,pi=!1;function T0(g,y){var A=Io(5,null,null,0);A.elementType="DELETED",A.type="DELETED",A.stateNode=y,A.return=g,A.effectTag=8,g.lastEffect!==null?(g.lastEffect.nextEffect=A,g.lastEffect=A):g.firstEffect=g.lastEffect=A}function Q0(g,y){switch(g.tag){case 5:return y=Lu(y,g.type,g.pendingProps),y!==null?(g.stateNode=y,!0):!1;case 6:return y=V0(y,g.pendingProps),y!==null?(g.stateNode=y,!0):!1;case 13:return!1;default:return!1}}function Fo(g){if(pi){var y=yu;if(y){var A=y;if(!Q0(g,y)){if(y=Co(A),!y||!Q0(g,y)){g.effectTag=g.effectTag&-1025|2,pi=!1,Vu=g;return}T0(Vu,A)}Vu=g,yu=L0(y)}else g.effectTag=g.effectTag&-1025|2,pi=!1,Vu=g}}function ta(g){for(g=g.return;g!==null&&g.tag!==5&&g.tag!==3&&g.tag!==13;)g=g.return;Vu=g}function Kl(g){if(!w||g!==Vu)return!1;if(!pi)return ta(g),pi=!0,!1;var y=g.type;if(g.tag!==5||y!=="head"&&y!=="body"&&!ct(y,g.memoizedProps))for(y=yu;y;)T0(g,y),y=Co(y);if(ta(g),g.tag===13){if(!w)throw Error(t(316));if(g=g.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(t(317));yu=ks(g)}else yu=Vu?Co(g.stateNode):null;return!0}function Ki(){w&&(yu=Vu=null,pi=!1)}var Yr=k.ReactCurrentOwner,fo=!1;function Oi(g,y,A,F){y.child=g===null?G(y,null,A,F):z(y,g.child,A,F)}function gi(g,y,A,F,I){A=A.render;var J=y.ref;return Oo(y,I),F=nn(g,y,A,F,J,I),g!==null&&!fo?(y.updateQueue=g.updateQueue,y.effectTag&=-517,g.expirationTime<=I&&(g.expirationTime=0),fu(g,y,I)):(y.effectTag|=1,Oi(g,y,F,I),y.child)}function ff(g,y,A,F,I,J){if(g===null){var fe=A.type;return typeof fe=="function"&&!hf(fe)&&fe.defaultProps===void 0&&A.compare===null&&A.defaultProps===void 0?(y.tag=15,y.type=fe,cf(g,y,fe,F,I,J)):(g=Ia(A.type,null,F,null,y.mode,J),g.ref=y.ref,g.return=y,y.child=g)}return fe=g.child,Iy)&&Ur.set(g,y)))}}function eo(g,y){g.expirationTimeg?y:g)}function Ju(g){if(g.lastExpiredTime!==0)g.callbackExpirationTime=1073741823,g.callbackPriority=99,g.callbackNode=Gl(to.bind(null,g));else{var y=po(g),A=g.callbackNode;if(y===0)A!==null&&(g.callbackNode=null,g.callbackExpirationTime=0,g.callbackPriority=90);else{var F=g0();if(y===1073741823?F=99:y===1||y===2?F=95:(F=10*(1073741821-y)-10*(1073741821-F),F=0>=F?99:250>=F?98:5250>=F?97:95),A!==null){var I=g.callbackPriority;if(g.callbackExpirationTime===y&&I>=F)return;A!==Ir&&Ms(A)}g.callbackExpirationTime=y,g.callbackPriority=F,y=y===1073741823?Gl(to.bind(null,g)):Jo(F,bo.bind(null,g),{timeout:10*(1073741821-y)-d0()}),g.callbackNode=y}}}function bo(g,y){if(Qi=0,y)return y=g0(),oa(g,y),Ju(g),null;var A=po(g);if(A!==0){if(y=g.callbackNode,(kn&(Xi|ru))!==wr)throw Error(t(327));if(Bs(),g===se&&A===Le||ms(g,A),re!==null){var F=kn;kn|=Xi;var I=B0(g);do try{$1();break}catch(mt){ia(g,mt)}while(1);if(bu(),kn=F,Ku.current=I,Ae===Xr)throw y=ot,ms(g,A),Sl(g,A),Ju(g),y;if(re===null)switch(I=g.finishedWork=g.current.alternate,g.finishedExpirationTime=A,F=Ae,se=null,F){case Ci:case Xr:throw Error(t(345));case Wn:oa(g,2=A){g.lastPingedTime=A,ms(g,A);break}}if(J=po(g),J!==0&&J!==A)break;if(F!==0&&F!==A){g.lastPingedTime=F;break}g.timeoutHandle=ln(Dl.bind(null,g),I);break}Dl(g);break;case m0:if(Sl(g,A),F=g.lastSuspendedTime,A===F&&(g.nextKnownPendingLevel=Uc(I)),yn&&(I=g.lastPingedTime,I===0||I>=A)){g.lastPingedTime=A,ms(g,A);break}if(I=po(g),I!==0&&I!==A)break;if(F!==0&&F!==A){g.lastPingedTime=F;break}if(Xt!==1073741823?F=10*(1073741821-Xt)-d0():vt===1073741823?F=0:(F=10*(1073741821-vt)-5e3,I=d0(),A=10*(1073741821-A)-I,F=I-F,0>F&&(F=0),F=(120>F?120:480>F?480:1080>F?1080:1920>F?1920:3e3>F?3e3:4320>F?4320:1960*df(F/1960))-F,A=F?F=0:(I=fe.busyDelayMs|0,J=d0()-(10*(1073741821-J)-(fe.timeoutMs|0||5e3)),F=J<=I?0:I+F-J),10 component higher in the tree to provide a loading indicator or placeholder to display.`+Pr(I))}Ae!==y0&&(Ae=Wn),J=_l(J,I),Ct=F;do{switch(Ct.tag){case 3:fe=J,Ct.effectTag|=4096,Ct.expirationTime=y;var Be=hs(Ct,fe,y);$s(Ct,Be);break e;case 1:fe=J;var ut=Ct.type,Jt=Ct.stateNode;if((Ct.effectTag&64)==0&&(typeof ut.getDerivedStateFromError=="function"||Jt!==null&&typeof Jt.componentDidCatch=="function"&&(cr===null||!cr.has(Jt)))){Ct.effectTag|=4096,Ct.expirationTime=y;var jn=ra(Ct,fe,y);$s(Ct,jn);break e}}Ct=Ct.return}while(Ct!==null)}re=ho(re)}catch(ti){y=ti;continue}break}while(1)}function B0(){var g=Ku.current;return Ku.current=No,g===null?No:g}function oc(g,y){g_n&&(_n=g)}function gd(){for(;re!==null;)re=e2(re)}function $1(){for(;re!==null&&!Xn();)re=e2(re)}function e2(g){var y=Pa(g.alternate,g,Le);return g.memoizedProps=g.pendingProps,y===null&&(y=ho(g)),vs.current=null,y}function ho(g){re=g;do{var y=re.alternate;if(g=re.return,(re.effectTag&2048)==0){e:{var A=y;y=re;var F=Le,I=y.pendingProps;switch(y.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:Yi(y.type)&&Y0(y);break;case 3:Xe(y),Ui(y),I=y.stateNode,I.pendingContext&&(I.context=I.pendingContext,I.pendingContext=null),(A===null||A.child===null)&&Kl(y)&&Gu(y),Vr(y);break;case 5:ie(y);var J=Z(xe.current);if(F=y.type,A!==null&&y.stateNode!=null)Bu(A,y,F,I,J),A.ref!==y.ref&&(y.effectTag|=128);else if(I){if(A=Z(De.current),Kl(y)){if(I=y,!w)throw Error(t(175));A=tu(I.stateNode,I.type,I.memoizedProps,J,A,I),I.updateQueue=A,A=A!==null,A&&Gu(y)}else{var fe=ae(F,I,J,A,y);Kr(fe,y,!1,!1),y.stateNode=fe,ue(fe,F,I,J,A)&&Gu(y)}y.ref!==null&&(y.effectTag|=128)}else if(y.stateNode===null)throw Error(t(166));break;case 6:if(A&&y.stateNode!=null)Sn(A,y,A.memoizedProps,I);else{if(typeof I!="string"&&y.stateNode===null)throw Error(t(166));if(A=Z(xe.current),J=Z(De.current),Kl(y)){if(A=y,!w)throw Error(t(176));(A=Si(A.stateNode,A.memoizedProps,A))&&Gu(y)}else y.stateNode=en(I,A,J,y)}break;case 11:break;case 13:if(fi(qe,y),I=y.memoizedState,(y.effectTag&64)!=0){y.expirationTime=F;break e}I=I!==null,J=!1,A===null?y.memoizedProps.fallback!==void 0&&Kl(y):(F=A.memoizedState,J=F!==null,I||F===null||(F=A.child.sibling,F!==null&&(fe=y.firstEffect,fe!==null?(y.firstEffect=F,F.nextEffect=fe):(y.firstEffect=y.lastEffect=F,F.nextEffect=null),F.effectTag=8))),I&&!J&&(y.mode&2)!=0&&(A===null&&y.memoizedProps.unstable_avoidThisFallback!==!0||(qe.current&1)!=0?Ae===Ci&&(Ae=Xu):((Ae===Ci||Ae===Xu)&&(Ae=m0),_n!==0&&se!==null&&(Sl(se,Le),_s(se,_n)))),vr&&I&&(y.effectTag|=4),Wt&&(I||J)&&(y.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Xe(y),Vr(y);break;case 10:mu(y);break;case 9:break;case 14:break;case 17:Yi(y.type)&&Y0(y);break;case 19:if(fi(qe,y),I=y.memoizedState,I===null)break;if(J=(y.effectTag&64)!=0,fe=I.rendering,fe===null){if(J)Au(I,!1);else if(Ae!==Ci||A!==null&&(A.effectTag&64)!=0)for(A=y.child;A!==null;){if(fe=tt(A),fe!==null){for(y.effectTag|=64,Au(I,!1),A=fe.updateQueue,A!==null&&(y.updateQueue=A,y.effectTag|=4),I.lastEffect===null&&(y.firstEffect=null),y.lastEffect=I.lastEffect,A=F,I=y.child;I!==null;)J=I,F=A,J.effectTag&=2,J.nextEffect=null,J.firstEffect=null,J.lastEffect=null,fe=J.alternate,fe===null?(J.childExpirationTime=0,J.expirationTime=F,J.child=null,J.memoizedProps=null,J.memoizedState=null,J.updateQueue=null,J.dependencies=null):(J.childExpirationTime=fe.childExpirationTime,J.expirationTime=fe.expirationTime,J.child=fe.child,J.memoizedProps=fe.memoizedProps,J.memoizedState=fe.memoizedState,J.updateQueue=fe.updateQueue,F=fe.dependencies,J.dependencies=F===null?null:{expirationTime:F.expirationTime,firstContext:F.firstContext,responders:F.responders}),I=I.sibling;Zt(qe,qe.current&1|2,y),y=y.child;break e}A=A.sibling}}else{if(!J)if(A=tt(fe),A!==null){if(y.effectTag|=64,J=!0,A=A.updateQueue,A!==null&&(y.updateQueue=A,y.effectTag|=4),Au(I,!0),I.tail===null&&I.tailMode==="hidden"&&!fe.alternate){y=y.lastEffect=I.lastEffect,y!==null&&(y.nextEffect=null);break}}else d0()>I.tailExpiration&&1I&&(I=F),fe>I&&(I=fe),J=J.sibling;A.childExpirationTime=I}if(y!==null)return y;g!==null&&(g.effectTag&2048)==0&&(g.firstEffect===null&&(g.firstEffect=re.firstEffect),re.lastEffect!==null&&(g.lastEffect!==null&&(g.lastEffect.nextEffect=re.firstEffect),g.lastEffect=re.lastEffect),1g?y:g}function Dl(g){var y=as();return so(99,el.bind(null,g,y)),null}function el(g,y){do Bs();while(Qr!==null);if((kn&(Xi|ru))!==wr)throw Error(t(327));var A=g.finishedWork,F=g.finishedExpirationTime;if(A===null)return null;if(g.finishedWork=null,g.finishedExpirationTime=0,A===g.current)throw Error(t(177));g.callbackNode=null,g.callbackExpirationTime=0,g.callbackPriority=90,g.nextKnownPendingLevel=0;var I=Uc(A);if(g.firstPendingTime=I,F<=g.lastSuspendedTime?g.firstSuspendedTime=g.lastSuspendedTime=g.nextKnownPendingLevel=0:F<=g.firstSuspendedTime&&(g.firstSuspendedTime=F-1),F<=g.lastPingedTime&&(g.lastPingedTime=0),F<=g.lastExpiredTime&&(g.lastExpiredTime=0),g===se&&(re=se=null,Le=0),1=A?Yt(g,y,A):(Zt(qe,qe.current&1,y),y=fu(g,y,A),y!==null?y.sibling:null);Zt(qe,qe.current&1,y);break;case 19:if(F=y.childExpirationTime>=A,(g.effectTag&64)!=0){if(F)return wn(g,y,A);y.effectTag|=64}if(I=y.memoizedState,I!==null&&(I.rendering=null,I.tail=null),Zt(qe,qe.current,y),!F)return null}return fu(g,y,A)}fo=!1}}else fo=!1;switch(y.expirationTime=0,y.tag){case 2:if(F=y.type,g!==null&&(g.alternate=null,y.alternate=null,y.effectTag|=2),g=y.pendingProps,I=Du(y,Di.current),Oo(y,A),I=nn(null,y,F,g,I,A),y.effectTag|=1,typeof I=="object"&&I!==null&&typeof I.render=="function"&&I.$$typeof===void 0){if(y.tag=1,sn(),Yi(F)){var J=!0;ni(y)}else J=!1;y.memoizedState=I.state!==null&&I.state!==void 0?I.state:null;var fe=F.getDerivedStateFromProps;typeof fe=="function"&&Yl(y,F,fe,g),I.updater=ea,y.stateNode=I,I._reactInternalFiber=y,Ls(y,F,g,A),y=et(null,y,F,!0,J,A)}else y.tag=0,Oi(null,y,I,A),y=y.child;return y;case 16:if(I=y.elementType,g!==null&&(g.alternate=null,y.alternate=null,y.effectTag|=2),g=y.pendingProps,Ue(I),I._status!==1)throw I._result;switch(I=I._result,y.type=I,J=y.tag=tl(I),g=Hn(I,g),J){case 0:y=Z0(null,y,I,g,A);break;case 1:y=Te(null,y,I,g,A);break;case 11:y=gi(null,y,I,g,A);break;case 14:y=ff(null,y,I,Hn(I.type,g),F,A);break;default:throw Error(t(306,I,""))}return y;case 0:return F=y.type,I=y.pendingProps,I=y.elementType===F?I:Hn(F,I),Z0(g,y,F,I,A);case 1:return F=y.type,I=y.pendingProps,I=y.elementType===F?I:Hn(F,I),Te(g,y,F,I,A);case 3:if(Ve(y),F=y.updateQueue,F===null)throw Error(t(282));if(I=y.memoizedState,I=I!==null?I.element:null,w0(y,F,y.pendingProps,null,A),F=y.memoizedState.element,F===I)Ki(),y=fu(g,y,A);else{if((I=y.stateNode.hydrate)&&(w?(yu=L0(y.stateNode.containerInfo),Vu=y,I=pi=!0):I=!1),I)for(A=G(y,null,F,A),y.child=A;A;)A.effectTag=A.effectTag&-3|1024,A=A.sibling;else Oi(g,y,F,A),Ki();y=y.child}return y;case 5:return ht(y),g===null&&Fo(y),F=y.type,I=y.pendingProps,J=g!==null?g.memoizedProps:null,fe=I.children,ct(F,I)?fe=null:J!==null&&ct(F,J)&&(y.effectTag|=16),J0(g,y),y.mode&4&&A!==1&&At(F,I)?(y.expirationTime=y.childExpirationTime=1,y=null):(Oi(g,y,fe,A),y=y.child),y;case 6:return g===null&&Fo(y),null;case 13:return Yt(g,y,A);case 4:return ke(y,y.stateNode.containerInfo),F=y.pendingProps,g===null?y.child=z(y,null,F,A):Oi(g,y,F,A),y.child;case 11:return F=y.type,I=y.pendingProps,I=y.elementType===F?I:Hn(F,I),gi(g,y,F,I,A);case 7:return Oi(g,y,y.pendingProps,A),y.child;case 8:return Oi(g,y,y.pendingProps.children,A),y.child;case 12:return Oi(g,y,y.pendingProps.children,A),y.child;case 10:e:{if(F=y.type._context,I=y.pendingProps,fe=y.memoizedProps,J=I.value,Pu(y,J),fe!==null){var mt=fe.value;if(J=Ne(mt,J)?0:(typeof F._calculateChangedBits=="function"?F._calculateChangedBits(mt,J):1073741823)|0,J===0){if(fe.children===I.children&&!ci.current){y=fu(g,y,A);break e}}else for(mt=y.child,mt!==null&&(mt.return=y);mt!==null;){var Ct=mt.dependencies;if(Ct!==null){fe=mt.child;for(var Mt=Ct.firstContext;Mt!==null;){if(Mt.context===F&&(Mt.observedBits&J)!=0){mt.tag===1&&(Mt=p0(A,null),Mt.tag=2,K0(mt,Mt)),mt.expirationTime=y&&g<=y}function Sl(g,y){var A=g.firstSuspendedTime,F=g.lastSuspendedTime;Ay||A===0)&&(g.lastSuspendedTime=y),y<=g.lastPingedTime&&(g.lastPingedTime=0),y<=g.lastExpiredTime&&(g.lastExpiredTime=0)}function _s(g,y){y>g.firstPendingTime&&(g.firstPendingTime=y);var A=g.firstSuspendedTime;A!==0&&(y>=A?g.firstSuspendedTime=g.lastSuspendedTime=g.nextKnownPendingLevel=0:y>=g.lastSuspendedTime&&(g.lastSuspendedTime=y+1),y>g.nextKnownPendingLevel&&(g.nextKnownPendingLevel=y))}function oa(g,y){var A=g.lastExpiredTime;(A===0||A>y)&&(g.lastExpiredTime=y)}function n2(g){var y=g._reactInternalFiber;if(y===void 0)throw typeof g.render=="function"?Error(t(188)):Error(t(268,Object.keys(g)));return g=$e(y),g===null?null:g.stateNode}function la(g,y){g=g.memoizedState,g!==null&&g.dehydrated!==null&&g.retryTime{"use strict";Object.defineProperty(Qf,"__esModule",{value:!0});var JK=0;Qf.__interactionsRef=null;Qf.__subscriberRef=null;Qf.unstable_clear=function(i){return i()};Qf.unstable_getCurrent=function(){return null};Qf.unstable_getThreadID=function(){return++JK};Qf.unstable_trace=function(i,o,f){return f()};Qf.unstable_wrap=function(i){return i};Qf.unstable_subscribe=function(){};Qf.unstable_unsubscribe=function(){}});var g9=ce(au=>{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";Object.defineProperty(au,"__esModule",{value:!0});var i=!0,o=0,f=0,p=0;au.__interactionsRef=null,au.__subscriberRef=null,i&&(au.__interactionsRef={current:new Set},au.__subscriberRef={current:null});function E(ge){if(!i)return ge();var ze=au.__interactionsRef.current;au.__interactionsRef.current=new Set;try{return ge()}finally{au.__interactionsRef.current=ze}}function t(){return i?au.__interactionsRef.current:null}function k(){return++p}function L(ge,ze,pe){var Oe=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o;if(!i)return pe();var le={__count:1,id:f++,name:ge,timestamp:ze},Ue=au.__interactionsRef.current,Ge=new Set(Ue);Ge.add(le),au.__interactionsRef.current=Ge;var rt=au.__subscriberRef.current,wt;try{rt!==null&&rt.onInteractionTraced(le)}finally{try{rt!==null&&rt.onWorkStarted(Ge,Oe)}finally{try{wt=pe()}finally{au.__interactionsRef.current=Ue;try{rt!==null&&rt.onWorkStopped(Ge,Oe)}finally{le.__count--,rt!==null&&le.__count===0&&rt.onInteractionScheduledWorkCompleted(le)}}}}return wt}function N(ge){var ze=arguments.length>1&&arguments[1]!==void 0?arguments[1]:o;if(!i)return ge;var pe=au.__interactionsRef.current,Oe=au.__subscriberRef.current;Oe!==null&&Oe.onWorkScheduled(pe,ze),pe.forEach(function(Ge){Ge.__count++});var le=!1;function Ue(){var Ge=au.__interactionsRef.current;au.__interactionsRef.current=pe,Oe=au.__subscriberRef.current;try{var rt;try{Oe!==null&&Oe.onWorkStarted(pe,ze)}finally{try{rt=ge.apply(void 0,arguments)}finally{au.__interactionsRef.current=Ge,Oe!==null&&Oe.onWorkStopped(pe,ze)}}return rt}finally{le||(le=!0,pe.forEach(function(wt){wt.__count--,Oe!==null&&wt.__count===0&&Oe.onInteractionScheduledWorkCompleted(wt)}))}}return Ue.cancel=function(){Oe=au.__subscriberRef.current;try{Oe!==null&&Oe.onWorkCanceled(pe,ze)}finally{pe.forEach(function(rt){rt.__count--,Oe&&rt.__count===0&&Oe.onInteractionScheduledWorkCompleted(rt)})}},Ue}var C=null;i&&(C=new Set);function U(ge){i&&(C.add(ge),C.size===1&&(au.__subscriberRef.current={onInteractionScheduledWorkCompleted:ne,onInteractionTraced:W,onWorkCanceled:he,onWorkScheduled:m,onWorkStarted:we,onWorkStopped:Se}))}function q(ge){i&&(C.delete(ge),C.size===0&&(au.__subscriberRef.current=null))}function W(ge){var ze=!1,pe=null;if(C.forEach(function(Oe){try{Oe.onInteractionTraced(ge)}catch(le){ze||(ze=!0,pe=le)}}),ze)throw pe}function ne(ge){var ze=!1,pe=null;if(C.forEach(function(Oe){try{Oe.onInteractionScheduledWorkCompleted(ge)}catch(le){ze||(ze=!0,pe=le)}}),ze)throw pe}function m(ge,ze){var pe=!1,Oe=null;if(C.forEach(function(le){try{le.onWorkScheduled(ge,ze)}catch(Ue){pe||(pe=!0,Oe=Ue)}}),pe)throw Oe}function we(ge,ze){var pe=!1,Oe=null;if(C.forEach(function(le){try{le.onWorkStarted(ge,ze)}catch(Ue){pe||(pe=!0,Oe=Ue)}}),pe)throw Oe}function Se(ge,ze){var pe=!1,Oe=null;if(C.forEach(function(le){try{le.onWorkStopped(ge,ze)}catch(Ue){pe||(pe=!0,Oe=Ue)}}),pe)throw Oe}function he(ge,ze){var pe=!1,Oe=null;if(C.forEach(function(le){try{le.onWorkCanceled(ge,ze)}catch(Ue){pe||(pe=!0,Oe=Ue)}}),pe)throw Oe}au.unstable_clear=E,au.unstable_getCurrent=t,au.unstable_getThreadID=k,au.unstable_trace=L,au.unstable_wrap=N,au.unstable_subscribe=U,au.unstable_unsubscribe=q}()});var _9=ce((Une,fw)=>{"use strict";process.env.NODE_ENV==="production"?fw.exports=y9():fw.exports=g9()});var E9=ce((jne,hg)=>{"use strict";process.env.NODE_ENV!=="production"&&(hg.exports=function i(o){"use strict";var f=eg(),p=su(),E=HD(),t=h4(),k=_9(),L=0,N=1,C=2,U=3,q=4,W=5,ne=6,m=7,we=8,Se=9,he=10,ge=11,ze=12,pe=13,Oe=14,le=15,Ue=16,Ge=17,rt=18,wt=19,xt=20,$e=21,ft=function(){};ft=function(a,c){for(var _=arguments.length,T=new Array(_>2?_-2:0),R=2;R<_;R++)T[R-2]=arguments[R];if(c===void 0)throw new Error("`warningWithoutStack(condition, format, ...args)` requires a warning message argument");if(T.length>8)throw new Error("warningWithoutStack() currently supports at most 8 arguments.");if(!a){if(typeof console!="undefined"){var j=T.map(function(oe){return""+oe});j.unshift("Warning: "+c),Function.prototype.apply.call(console.error,console,j)}try{var V=0,te="Warning: "+c.replace(/%s/g,function(){return T[V++]});throw new Error(te)}catch(oe){}}};var Ke=ft;function jt(a){return a._reactInternalFiber}function $t(a,c){a._reactInternalFiber=c}var at=p.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;at.hasOwnProperty("ReactCurrentDispatcher")||(at.ReactCurrentDispatcher={current:null}),at.hasOwnProperty("ReactCurrentBatchConfig")||(at.ReactCurrentBatchConfig={suspense:null});var Q=typeof Symbol=="function"&&Symbol.for,ae=Q?Symbol.for("react.element"):60103,Ce=Q?Symbol.for("react.portal"):60106,ue=Q?Symbol.for("react.fragment"):60107,je=Q?Symbol.for("react.strict_mode"):60108,ct=Q?Symbol.for("react.profiler"):60114,At=Q?Symbol.for("react.provider"):60109,en=Q?Symbol.for("react.context"):60110,ln=Q?Symbol.for("react.concurrent_mode"):60111,An=Q?Symbol.for("react.forward_ref"):60112,nr=Q?Symbol.for("react.suspense"):60113,un=Q?Symbol.for("react.suspense_list"):60120,Wt=Q?Symbol.for("react.memo"):60115,vr=Q?Symbol.for("react.lazy"):60116,w=Q?Symbol.for("react.fundamental"):60117,Ut=Q?Symbol.for("react.responder"):60118,Vn=Q?Symbol.for("react.scope"):60119,fr=typeof Symbol=="function"&&Symbol.iterator,Fr="@@iterator";function ur(a){if(a===null||typeof a!="object")return null;var c=fr&&a[fr]||a[Fr];return typeof c=="function"?c:null}var br=Ke;br=function(a,c){if(!a){for(var _=at.ReactDebugCurrentFrame,T=_.getStackAddendum(),R=arguments.length,j=new Array(R>2?R-2:0),V=2;V import('./MyComponent'))`,T),a._status=So,a._result=R}},function(T){a._status===a0&&(a._status=Go,a._result=T)})}}function Ko(a,c,_){var T=c.displayName||c.name||"";return a.displayName||(T!==""?_+"("+T+")":_)}function qt(a){if(a==null)return null;if(typeof a.tag=="number"&&Ke(!1,"Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a;switch(a){case ue:return"Fragment";case Ce:return"Portal";case ct:return"Profiler";case je:return"StrictMode";case nr:return"Suspense";case un:return"SuspenseList"}if(typeof a=="object")switch(a.$$typeof){case en:return"Context.Consumer";case At:return"Context.Provider";case An:return Ko(a,a.render,"ForwardRef");case Wt:return qt(a.type);case vr:{var c=a,_=Os(c);if(_)return qt(_);break}}return null}var _i=0,eu=1,ai=2,mr=4,Xo=6,W0=8,Lu=16,V0=32,Hr=64,To=128,Co=256,L0=512,tu=1024,Si=1028,ks=932,Hl=2047,F0=2048,f0=4096,Pr=!0,Ei=!0,G0=!0,fi=!0,Zt=!0,Ln=!0,Di=!1,ci=!1,Ht=!1,Du=!1,Yi=!1,Y0=!0,Ui=!1,Wl=!1,xo=!1,ni=!1,oo=!1,Vl=at.ReactCurrentOwner;function Ao(a){var c=a,_=a;if(a.alternate)for(;c.return;)c=c.return;else{var T=c;do c=T,(c.effectTag&(ai|tu))!==_i&&(_=c.return),T=c.return;while(T)}return c.tag===U?_:null}function Ms(a){return Ao(a)===a}function Xn(a){{var c=Vl.current;if(c!==null&&c.tag===N){var _=c,T=_.stateNode;T._warnedAboutRefsInRender||Ke(!1,"%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.",qt(_.type)||"A component"),T._warnedAboutRefsInRender=!0}}var R=jt(a);return R?Ao(R)===R:!1}function Qo(a){if(Ao(a)!==a)throw Error("Unable to find node on an unmounted component.")}function lo(a){var c=a.alternate;if(!c){var _=Ao(a);if(_===null)throw Error("Unable to find node on an unmounted component.");return _!==a?null:a}for(var T=a,R=c;;){var j=T.return;if(j===null)break;var V=j.alternate;if(V===null){var te=j.return;if(te!==null){T=R=te;continue}break}if(j.child===V.child){for(var oe=j.child;oe;){if(oe===T)return Qo(j),a;if(oe===R)return Qo(j),c;oe=oe.sibling}throw Error("Unable to find node on an unmounted component.")}if(T.return!==R.return)T=j,R=V;else{for(var Ie=!1,Ye=j.child;Ye;){if(Ye===T){Ie=!0,T=j,R=V;break}if(Ye===R){Ie=!0,R=j,T=V;break}Ye=Ye.sibling}if(!Ie){for(Ye=V.child;Ye;){if(Ye===T){Ie=!0,T=V,R=j;break}if(Ye===R){Ie=!0,R=V,T=j;break}Ye=Ye.sibling}if(!Ie)throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.")}}if(T.alternate!==R)throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.")}if(T.tag!==U)throw Error("Unable to find node on an unmounted component.");return T.stateNode.current===T?a:c}function b0(a){var c=lo(a);if(!c)return null;for(var _=c;;){if(_.tag===W||_.tag===ne)return _;if(_.child){_.child.return=_,_=_.child;continue}if(_===c)return null;for(;!_.sibling;){if(!_.return||_.return===c)return null;_=_.return}_.sibling.return=_.return,_=_.sibling}return null}function yl(a){var c=lo(a);if(!c)return null;for(var _=c;;){if(_.tag===W||_.tag===ne||Ht&&_.tag===xt)return _;if(_.child&&_.tag!==q){_.child.return=_,_=_.child;continue}if(_===c)return null;for(;!_.sibling;){if(!_.return||_.return===c)return null;_=_.return}_.sibling.return=_.return,_=_.sibling}return null}var Ro=o.getPublicInstance,Et=o.getRootHostContext,Pt=o.getChildHostContext,Bn=o.prepareForCommit,Ir=o.resetAfterCommit,ji=o.createInstance,Wr=o.appendInitialChild,wu=o.finalizeInitialChildren,c0=o.prepareUpdate,Ti=o.shouldSetTextContent,d0=o.shouldDeprioritizeSubtree,as=o.createTextInstance,St=o.setTimeout,so=o.clearTimeout,Jo=o.noTimeout,Gl=o.now,Fu=o.isPrimaryRenderer,fs=o.warnsIfNotActing,P0=o.supportsMutation,X=o.supportsPersistence,_e=o.supportsHydration,Ne=o.mountResponderInstance,Me=o.unmountResponderInstance,dt=o.getFundamentalComponentInstance,Hn=o.mountFundamentalComponent,Dn=o.shouldUpdateFundamentalComponent,or=o.getInstanceFromNode,mi=o.appendChild,Su=o.appendChildToContainer,bu=o.commitTextUpdate,Pu=o.commitMount,mu=o.commitUpdate,yi=o.insertBefore,Oo=o.insertInContainerBefore,Tu=o.removeChild,ao=o.removeChildFromContainer,Iu=o.resetTextContent,Oa=o.hideInstance,p0=o.hideTextInstance,Zs=o.unhideInstance,K0=o.unhideTextInstance,$s=o.updateFundamentalComponent,ka=o.unmountFundamentalComponent,cs=o.cloneInstance,w0=o.createContainerChildSet,Gn=o.appendChildToContainerChildSet,ic=o.finalizeContainerChildren,ri=o.replaceContainerChildren,Gr=o.cloneHiddenInstance,Yl=o.cloneHiddenTextInstance,ea=o.cloneInstance,lf=o.canHydrateInstance,Ns=o.canHydrateTextInstance,Ma=o.canHydrateSuspenseInstance,Ls=o.isSuspenseInstancePending,h0=o.isSuspenseInstanceFallback,Fs=o.registerSuspenseInstanceRetry,Ni=o.getNextHydratableSibling,B=o.getFirstHydratableChild,z=o.hydrateInstance,G=o.hydrateTextInstance,$=o.hydrateSuspenseInstance,De=o.getNextHydratableInstanceAfterSuspenseInstance,me=o.commitHydratedContainer,xe=o.commitHydratedSuspenseInstance,Z=o.clearSuspenseBoundary,ke=o.clearSuspenseBoundaryFromContainer,Xe=o.didNotMatchHydratedContainerTextInstance,ht=o.didNotMatchHydratedTextInstance,ie=o.didNotHydrateContainerInstance,qe=o.didNotHydrateInstance,tt=o.didNotFindHydratableContainerInstance,Tt=o.didNotFindHydratableContainerTextInstance,kt=o.didNotFindHydratableContainerSuspenseInstance,bt=o.didNotFindHydratableInstance,on=o.didNotFindHydratableTextInstance,tn=o.didNotFindHydratableSuspenseInstance,Lt=/^(.*)[\\\/]/,gn=function(a,c,_){var T="";if(c){var R=c.fileName,j=R.replace(Lt,"");if(/^index\./.test(j)){var V=R.match(Lt);if(V){var te=V[1];if(te){var oe=te.replace(Lt,"");j=oe+"/"+j}}}T=" (at "+j+":"+c.lineNumber+")"}else _&&(T=" (created by "+_+")");return` + in `+(a||"Unknown")+T},lr=at.ReactDebugCurrentFrame;function Qn(a){switch(a.tag){case U:case q:case ne:case m:case he:case Se:return"";default:var c=a._debugOwner,_=a._debugSource,T=qt(a.type),R=null;return c&&(R=qt(c.type)),gn(T,_,R)}}function _r(a){var c="",_=a;do c+=Qn(_),_=_.return;while(_);return c}var Cn=null,Ar=null;function v0(){{if(Cn===null)return null;var a=Cn._debugOwner;if(a!==null&&typeof a!="undefined")return qt(a.type)}return null}function Rr(){return Cn===null?"":_r(Cn)}function nt(){lr.getCurrentStack=null,Cn=null,Ar=null}function _t(a){lr.getCurrentStack=Rr,Cn=a,Ar=null}function Ze(a){Ar=a}var Ft="\u269B",nn="\u26D4",sn=typeof performance!="undefined"&&typeof performance.mark=="function"&&typeof performance.clearMarks=="function"&&typeof performance.measure=="function"&&typeof performance.clearMeasures=="function",Yn=null,yr=null,nu=null,Cu=!1,S0=!1,X0=!1,xu=0,di=0,ko=new Set,Zo=function(a){return Ft+" "+a},sf=function(a,c){var _=c?nn+" ":Ft+" ",T=c?" Warning: "+c:"";return""+_+a+T},gl=function(a){performance.mark(Zo(a))},af=function(a){performance.clearMarks(Zo(a))},Mo=function(a,c,_){var T=Zo(c),R=sf(a,_);try{performance.measure(R,T)}catch(j){}performance.clearMarks(T),performance.clearMeasures(R)},ds=function(a,c){return a+" (#"+c+")"},bs=function(a,c,_){return _===null?a+" ["+(c?"update":"mount")+"]":a+"."+_},No=function(a,c){var _=qt(a.type)||"Unknown",T=a._debugID,R=a.alternate!==null,j=bs(_,R,c);if(Cu&&ko.has(j))return!1;ko.add(j);var V=ds(j,T);return gl(V),!0},Lo=function(a,c){var _=qt(a.type)||"Unknown",T=a._debugID,R=a.alternate!==null,j=bs(_,R,c),V=ds(j,T);af(V)},ps=function(a,c,_){var T=qt(a.type)||"Unknown",R=a._debugID,j=a.alternate!==null,V=bs(T,j,c),te=ds(V,R);Mo(V,te,_)},Vu=function(a){switch(a.tag){case U:case W:case ne:case q:case m:case he:case Se:case we:return!0;default:return!1}},yu=function(){yr!==null&&nu!==null&&Lo(nu,yr),nu=null,yr=null,X0=!1},pi=function(){for(var a=Yn;a;)a._debugIsCurrentlyTiming&&ps(a,null,null),a=a.return},T0=function(a){a.return!==null&&T0(a.return),a._debugIsCurrentlyTiming&&No(a,null)},Q0=function(){Yn!==null&&T0(Yn)};function Fo(){Pr&&di++}function ta(){Pr&&(Cu&&(S0=!0),yr!==null&&yr!=="componentWillMount"&&yr!=="componentWillReceiveProps"&&(X0=!0))}function Kl(a){if(Pr){if(!sn||Vu(a)||(Yn=a,!No(a,null)))return;a._debugIsCurrentlyTiming=!0}}function Ki(a){if(Pr){if(!sn||Vu(a))return;a._debugIsCurrentlyTiming=!1,Lo(a,null)}}function Yr(a){if(Pr){if(!sn||Vu(a)||(Yn=a.return,!a._debugIsCurrentlyTiming))return;a._debugIsCurrentlyTiming=!1,ps(a,null,null)}}function fo(a){if(Pr){if(!sn||Vu(a)||(Yn=a.return,!a._debugIsCurrentlyTiming))return;a._debugIsCurrentlyTiming=!1;var c=a.tag===pe?"Rendering was suspended":"An error was thrown inside this error boundary";ps(a,null,c)}}function Oi(a,c){if(Pr){if(!sn||(yu(),!No(a,c)))return;nu=a,yr=c}}function gi(){if(Pr){if(!sn)return;if(yr!==null&&nu!==null){var a=X0?"Scheduled a cascading update":null;ps(nu,yr,a)}yr=null,nu=null}}function ff(a){if(Pr){if(Yn=a,!sn)return;xu=0,gl("(React Tree Reconciliation)"),Q0()}}function cf(a,c){if(Pr){if(!sn)return;var _=null;if(a!==null)if(a.tag===U)_="A top-level update interrupted the previous render";else{var T=qt(a.type)||"Unknown";_="An update to "+T+" interrupted the previous render"}else xu>1&&(_="There were cascading updates");xu=0;var R=c?"(React Tree Reconciliation: Completed Root)":"(React Tree Reconciliation: Yielded)";pi(),Mo(R,"(React Tree Reconciliation)",_)}}function J0(){if(Pr){if(!sn)return;Cu=!0,S0=!1,ko.clear(),gl("(Committing Changes)")}}function Z0(){if(Pr){if(!sn)return;var a=null;S0?a="Lifecycle hook scheduled a cascading update":xu>0&&(a="Caused by a cascading update in earlier commit"),S0=!1,xu++,Cu=!1,ko.clear(),Mo("(Committing Changes)","(Committing Changes)",a)}}function Te(){if(Pr){if(!sn)return;di=0,gl("(Committing Snapshot Effects)")}}function et(){if(Pr){if(!sn)return;var a=di;di=0,Mo("(Committing Snapshot Effects: "+a+" Total)","(Committing Snapshot Effects)",null)}}function Ve(){if(Pr){if(!sn)return;di=0,gl("(Committing Host Effects)")}}function Gt(){if(Pr){if(!sn)return;var a=di;di=0,Mo("(Committing Host Effects: "+a+" Total)","(Committing Host Effects)",null)}}function Yt(){if(Pr){if(!sn)return;di=0,gl("(Calling Lifecycle Methods)")}}function sr(){if(Pr){if(!sn)return;var a=di;di=0,Mo("(Calling Lifecycle Methods: "+a+" Total)","(Calling Lifecycle Methods)",null)}}var Br=[],wn;wn=[];var fu=-1;function Gu(a){return{current:a}}function Kr(a,c){if(fu<0){Ke(!1,"Unexpected pop.");return}c!==wn[fu]&&Ke(!1,"Unexpected Fiber popped."),a.current=Br[fu],Br[fu]=null,wn[fu]=null,fu--}function Vr(a,c,_){fu++,Br[fu]=a.current,wn[fu]=_,a.current=c}var Bu;Bu={};var Sn={};Object.freeze(Sn);var C0=Gu(Sn),Au=Gu(!1),ei=Sn;function _l(a,c,_){return ni?Sn:_&&zi(c)?ei:C0.current}function Ps(a,c,_){if(!ni){var T=a.stateNode;T.__reactInternalMemoizedUnmaskedChildContext=c,T.__reactInternalMemoizedMaskedChildContext=_}}function Uu(a,c){if(ni)return Sn;var _=a.type,T=_.contextTypes;if(!T)return Sn;var R=a.stateNode;if(R&&R.__reactInternalMemoizedUnmaskedChildContext===c)return R.__reactInternalMemoizedMaskedChildContext;var j={};for(var V in T)j[V]=c[V];{var te=qt(_)||"Unknown";E(T,j,"context",te,Rr)}return R&&Ps(a,c,j),j}function na(){return ni?!1:Au.current}function zi(a){if(ni)return!1;var c=a.childContextTypes;return c!=null}function Is(a){ni||(Kr(Au,a),Kr(C0,a))}function x0(a){ni||(Kr(Au,a),Kr(C0,a))}function Li(a,c,_){if(!ni){if(C0.current!==Sn)throw Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.");Vr(C0,c,a),Vr(Au,_,a)}}function A0(a,c,_){if(ni)return _;var T=a.stateNode,R=c.childContextTypes;if(typeof T.getChildContext!="function"){{var j=qt(c)||"Unknown";Bu[j]||(Bu[j]=!0,Ke(!1,"%s.childContextTypes is specified but there is no getChildContext() method on the instance. You can either define getChildContext() on %s or remove childContextTypes from it.",j,j))}return _}var V;Ze("getChildContext"),Oi(a,"getChildContext"),V=T.getChildContext(),gi(),Ze(null);for(var te in V)if(!(te in R))throw Error((qt(c)||"Unknown")+'.getChildContext(): key "'+te+'" is not defined in childContextTypes.');{var oe=qt(c)||"Unknown";E(R,V,"child context",oe,Rr)}return f({},_,{},V)}function Fi(a){if(ni)return!1;var c=a.stateNode,_=c&&c.__reactInternalMemoizedMergedChildContext||Sn;return ei=C0.current,Vr(C0,_,a),Vr(Au,Au.current,a),!0}function $o(a,c,_){if(!ni){var T=a.stateNode;if(!T)throw Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.");if(_){var R=A0(a,c,ei);T.__reactInternalMemoizedMergedChildContext=R,Kr(Au,a),Kr(C0,a),Vr(C0,R,a),Vr(Au,_,a)}else Kr(Au,a),Vr(Au,_,a)}}function El(a){if(ni)return Sn;if(!(Ms(a)&&a.tag===N))throw Error("Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.");var c=a;do{switch(c.tag){case U:return c.stateNode.context;case N:{var _=c.type;if(zi(_))return c.stateNode.__reactInternalMemoizedMergedChildContext;break}}c=c.return}while(c!==null);throw Error("Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.")}var I0=1,R0=2,co=t.unstable_runWithPriority,Ru=t.unstable_scheduleCallback,Yu=t.unstable_cancelCallback,Xl=t.unstable_shouldYield,hs=t.unstable_requestPaint,ra=t.unstable_now,df=t.unstable_getCurrentPriorityLevel,Ku=t.unstable_ImmediatePriority,vs=t.unstable_UserBlockingPriority,wr=t.unstable_NormalPriority,$0=t.unstable_LowPriority,Xi=t.unstable_IdlePriority;if(Ln&&!(k.__interactionsRef!=null&&k.__interactionsRef.current!=null))throw Error("It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at http://fb.me/react-profiling");var ru={},Ci=99,Xr=98,Wn=97,Xu=96,m0=95,y0=90,kn=Xl,se=hs!==void 0?hs:function(){},re=null,Le=null,Ae=!1,ot=ra(),vt=ot<1e4?ra:function(){return ra()-ot};function Xt(){switch(df()){case Ku:return Ci;case vs:return Xr;case wr:return Wn;case $0:return Xu;case Xi:return m0;default:throw Error("Unknown priority level.")}}function xn(a){switch(a){case Ci:return Ku;case Xr:return vs;case Wn:return wr;case Xu:return $0;case m0:return Xi;default:throw Error("Unknown priority level.")}}function _n(a,c){var _=xn(a);return co(_,c)}function yn(a,c,_){var T=xn(a);return Ru(T,c,_)}function En(a){return re===null?(re=[a],Le=Ru(Ku,xi)):re.push(a),ru}function er(a){a!==ru&&Yu(a)}function It(){if(Le!==null){var a=Le;Le=null,Yu(a)}xi()}function xi(){if(!Ae&&re!==null){Ae=!0;var a=0;try{var c=!0,_=re;_n(Ci,function(){for(;a<_.length;a++){var T=_[a];do T=T(c);while(T!==null)}}),re=null}catch(T){throw re!==null&&(re=re.slice(a+1)),Ru(Ku,It),T}finally{Ae=!1}}}var Sr=0,cr=1,Y=2,Qr=4,Jr=8,Ur=1073741823,lt=0,hi=1,Qi=2,g0=3,bn=Ur,Qu=bn-1,eo=10,po=Qu-1;function Ju(a){return po-(a/eo|0)}function bo(a){return(po-a)*eo}function to(a,c){return((a/c|0)+1)*c}function Na(a,c,_){return po-to(po-a+c/eo,_/eo)}var pf=5e3,uc=250;function ms(a){return Na(a,pf,uc)}function ia(a,c){return Na(a,c,uc)}var B0=500,oc=100;function La(a){return Na(a,B0,oc)}function gd(a){return g0++}function $1(a,c){if(c===bn)return Ci;if(c===hi||c===Qi)return m0;var _=bo(c)-bo(a);return _<=0?Ci:_<=B0+oc?Xr:_<=pf+uc?Wn:m0}function e2(a,c){return a===c&&(a!==0||1/a==1/c)||a!==a&&c!==c}var ho=typeof Object.is=="function"?Object.is:e2,Uc=Object.prototype.hasOwnProperty;function Dl(a,c){if(ho(a,c))return!0;if(typeof a!="object"||a===null||typeof c!="object"||c===null)return!1;var _=Object.keys(a),T=Object.keys(c);if(_.length!==T.length)return!1;for(var R=0;R<_.length;R++)if(!Uc.call(c,_[R])||!ho(a[_[R]],c[_[R]]))return!1;return!0}var el=function(){};{var _d=function(a){for(var c=arguments.length,_=new Array(c>1?c-1:0),T=1;T2?_-2:0),R=2;R<_;R++)T[R-2]=arguments[R];_d.apply(void 0,[c].concat(T))}}}var Bs=el,wl={recordUnsafeLifecycleWarnings:function(a,c){},flushPendingUnsafeLifecycleWarnings:function(){},recordLegacyContextWarning:function(a,c){},flushLegacyContextWarning:function(){},discardPendingWarnings:function(){}};{var t2=function(a){for(var c=null,_=a;_!==null;)_.mode&cr&&(c=_),_=_.return;return c},Po=function(a){var c=[];return a.forEach(function(_){c.push(_)}),c.sort().join(", ")},Fa=[],ba=[],Pa=[],ua=[],ys=[],gs=[],Ql=new Set;wl.recordUnsafeLifecycleWarnings=function(a,c){Ql.has(a.type)||(typeof c.componentWillMount=="function"&&c.componentWillMount.__suppressDeprecationWarning!==!0&&Fa.push(a),a.mode&cr&&typeof c.UNSAFE_componentWillMount=="function"&&ba.push(a),typeof c.componentWillReceiveProps=="function"&&c.componentWillReceiveProps.__suppressDeprecationWarning!==!0&&Pa.push(a),a.mode&cr&&typeof c.UNSAFE_componentWillReceiveProps=="function"&&ua.push(a),typeof c.componentWillUpdate=="function"&&c.componentWillUpdate.__suppressDeprecationWarning!==!0&&ys.push(a),a.mode&cr&&typeof c.UNSAFE_componentWillUpdate=="function"&&gs.push(a))},wl.flushPendingUnsafeLifecycleWarnings=function(){var a=new Set;Fa.length>0&&(Fa.forEach(function(Nt){a.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),Fa=[]);var c=new Set;ba.length>0&&(ba.forEach(function(Nt){c.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),ba=[]);var _=new Set;Pa.length>0&&(Pa.forEach(function(Nt){_.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),Pa=[]);var T=new Set;ua.length>0&&(ua.forEach(function(Nt){T.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),ua=[]);var R=new Set;ys.length>0&&(ys.forEach(function(Nt){R.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),ys=[]);var j=new Set;if(gs.length>0&&(gs.forEach(function(Nt){j.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),gs=[]),c.size>0){var V=Po(c);Ke(!1,`Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. + +* Move code with side effects to componentDidMount, and set initial state in the constructor. + +Please update the following components: %s`,V)}if(T.size>0){var te=Po(T);Ke(!1,`Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. + +* Move data fetching code or side effects to componentDidUpdate. +* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state + +Please update the following components: %s`,te)}if(j.size>0){var oe=Po(j);Ke(!1,`Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. + +* Move data fetching code or side effects to componentDidUpdate. + +Please update the following components: %s`,oe)}if(a.size>0){var Ie=Po(a);Bs(!1,`componentWillMount has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. + +* Move code with side effects to componentDidMount, and set initial state in the constructor. +* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder. + +Please update the following components: %s`,Ie)}if(_.size>0){var Ye=Po(_);Bs(!1,`componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. + +* Move data fetching code or side effects to componentDidUpdate. +* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state +* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder. + +Please update the following components: %s`,Ye)}if(R.size>0){var pt=Po(R);Bs(!1,`componentWillUpdate has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. + +* Move data fetching code or side effects to componentDidUpdate. +* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder. + +Please update the following components: %s`,pt)}};var Io=new Map,hf=new Set;wl.recordLegacyContextWarning=function(a,c){var _=t2(a);if(_===null){Ke(!1,"Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue.");return}if(!hf.has(a.type)){var T=Io.get(_);(a.type.contextTypes!=null||a.type.childContextTypes!=null||c!==null&&typeof c.getChildContext=="function")&&(T===void 0&&(T=[],Io.set(_,T)),T.push(a))}},wl.flushLegacyContextWarning=function(){Io.forEach(function(a,c){var _=new Set;a.forEach(function(j){_.add(qt(j.type)||"Component"),hf.add(j.type)});var T=Po(_),R=_r(c);Ke(!1,`Legacy context API has been detected within a strict-mode tree. + +The old API will be supported in all 16.x releases, but applications using it should migrate to the new version. + +Please update the following components: %s + +Learn more about this warning here: https://fb.me/react-legacy-context%s`,T,R)})},wl.discardPendingWarnings=function(){Fa=[],ba=[],Pa=[],ua=[],ys=[],gs=[],Io=new Map}}var tl=null,ju=null,Ia=function(a){tl=a};function Zu(a){{if(tl===null)return a;var c=tl(a);return c===void 0?a:c.current}}function U0(a){return Zu(a)}function vf(a){{if(tl===null)return a;var c=tl(a);if(c===void 0){if(a!=null&&typeof a.render=="function"){var _=Zu(a.render);if(a.render!==_){var T={$$typeof:An,render:_};return a.displayName!==void 0&&(T.displayName=a.displayName),T}}return a}return c.current}}function jc(a,c){{if(tl===null)return!1;var _=a.elementType,T=c.type,R=!1,j=typeof T=="object"&&T!==null?T.$$typeof:null;switch(a.tag){case N:{typeof T=="function"&&(R=!0);break}case L:{(typeof T=="function"||j===vr)&&(R=!0);break}case ge:{(j===An||j===vr)&&(R=!0);break}case Oe:case le:{(j===Wt||j===vr)&&(R=!0);break}default:return!1}if(R){var V=tl(_);if(V!==void 0&&V===tl(T))return!0}return!1}}function lc(a){{if(tl===null||typeof WeakSet!="function")return;ju===null&&(ju=new WeakSet),ju.add(a)}}var Sl=function(a,c){{if(tl===null)return;var _=c.staleFamilies,T=c.updatedFamilies;Xa(),xp(function(){oa(a.current,T,_)})}},_s=function(a,c){{if(a.context!==Sn)return;Xa(),fv(function(){l_(c,a,null,null)})}};function oa(a,c,_){{var T=a.alternate,R=a.child,j=a.sibling,V=a.tag,te=a.type,oe=null;switch(V){case L:case le:case N:oe=te;break;case ge:oe=te.render;break;default:break}if(tl===null)throw new Error("Expected resolveFamily to be set during hot reload.");var Ie=!1,Ye=!1;if(oe!==null){var pt=tl(oe);pt!==void 0&&(_.has(pt)?Ye=!0:c.has(pt)&&(V===N?Ye=!0:Ie=!0))}ju!==null&&(ju.has(a)||T!==null&&ju.has(T))&&(Ye=!0),Ye&&(a._debugNeedsRemount=!0),(Ye||Ie)&&dl(a,bn),R!==null&&!Ye&&oa(R,c,_),j!==null&&oa(j,c,_)}}var n2=function(a,c){{var _=new Set,T=new Set(c.map(function(R){return R.current}));return la(a.current,T,_),_}};function la(a,c,_){{var T=a.child,R=a.sibling,j=a.tag,V=a.type,te=null;switch(j){case L:case le:case N:te=V;break;case ge:te=V.render;break;default:break}var oe=!1;te!==null&&c.has(te)&&(oe=!0),oe?sc(a,_):T!==null&&la(T,c,_),R!==null&&la(R,c,_)}}function sc(a,c){{var _=zc(a,c);if(_)return;for(var T=a;;){switch(T.tag){case W:c.add(T.stateNode);return;case q:c.add(T.stateNode.containerInfo);return;case U:c.add(T.stateNode.containerInfo);return}if(T.return===null)throw new Error("Expected to reach root first.");T=T.return}}}function zc(a,c){for(var _=a,T=!1;;){if(_.tag===W)T=!0,c.add(_.stateNode);else if(_.child!==null){_.child.return=_,_=_.child;continue}if(_===a)return T;for(;_.sibling===null;){if(_.return===null||_.return===a)return T;_=_.return}_.sibling.return=_.return,_=_.sibling}return!1}function bi(a,c){if(a&&a.defaultProps){var _=f({},c),T=a.defaultProps;for(var R in T)_[R]===void 0&&(_[R]=T[R]);return _}return c}function g(a){if(Yo(a),a._status!==So)throw a._result;return a._result}var y=Gu(null),A;A={};var F=null,I=null,J=null,fe=!1;function mt(){F=null,I=null,J=null,fe=!1}function Ct(){fe=!0}function Mt(){fe=!1}function Er(a,c){var _=a.type._context;Fu?(Vr(y,_._currentValue,a),_._currentValue=c,_._currentRenderer===void 0||_._currentRenderer===null||_._currentRenderer===A||Ke(!1,"Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."),_._currentRenderer=A):(Vr(y,_._currentValue2,a),_._currentValue2=c,_._currentRenderer2===void 0||_._currentRenderer2===null||_._currentRenderer2===A||Ke(!1,"Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."),_._currentRenderer2=A)}function $u(a){var c=y.current;Kr(y,a);var _=a.type._context;Fu?_._currentValue=c:_._currentValue2=c}function iu(a,c,_){if(ho(_,c))return 0;var T=typeof a._calculateChangedBits=="function"?a._calculateChangedBits(_,c):Ur;return(T&Ur)!==T&&Kt(!1,"calculateChangedBits: Expected the return value to be a 31-bit integer. Instead received: %s",T),T|0}function j0(a,c){for(var _=a;_!==null;){var T=_.alternate;if(_.childExpirationTime=c&&up(),_.firstContext=null)}}function He(a,c){if(fe&&Kt(!1,"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."),J!==a){if(!(c===!1||c===0)){var _;typeof c!="number"||c===Ur?(J=a,_=Ur):_=c;var T={context:a,observedBits:_,next:null};if(I===null){if(F===null)throw Error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().");I=T,F.dependencies={expirationTime:lt,firstContext:T,responders:null}}else I=I.next=T}}return Fu?a._currentValue:a._currentValue2}var Be=0,ut=1,Jt=2,jn=3,ti=!1,tr,ii;tr=!1,ii=null;function qi(a){var c={baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null};return c}function jr(a){var c={baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null};return c}function gu(a,c){var _={expirationTime:a,suspenseConfig:c,tag:Be,payload:null,callback:null,next:null,nextEffect:null};return _.priority=Xt(),_}function Ba(a,c){a.lastUpdate===null?a.firstUpdate=a.lastUpdate=c:(a.lastUpdate.next=c,a.lastUpdate=c)}function Ua(a,c){var _=a.alternate,T,R;_===null?(T=a.updateQueue,R=null,T===null&&(T=a.updateQueue=qi(a.memoizedState))):(T=a.updateQueue,R=_.updateQueue,T===null?R===null?(T=a.updateQueue=qi(a.memoizedState),R=_.updateQueue=qi(_.memoizedState)):T=a.updateQueue=jr(R):R===null&&(R=_.updateQueue=jr(T))),R===null||T===R?Ba(T,c):T.lastUpdate===null||R.lastUpdate===null?(Ba(T,c),Ba(R,c)):(Ba(T,c),R.lastUpdate=c),a.tag===N&&(ii===T||R!==null&&ii===R)&&!tr&&(Ke(!1,"An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback."),tr=!0)}function r2(a,c){var _=a.updateQueue;_===null?_=a.updateQueue=qi(a.memoizedState):_=Ed(a,_),_.lastCapturedUpdate===null?_.firstCapturedUpdate=_.lastCapturedUpdate=c:(_.lastCapturedUpdate.next=c,_.lastCapturedUpdate=c)}function Ed(a,c){var _=a.alternate;return _!==null&&c===_.updateQueue&&(c=a.updateQueue=jr(c)),c}function Dd(a,c,_,T,R,j){switch(_.tag){case ut:{var V=_.payload;if(typeof V=="function"){Ct(),Ei&&a.mode&cr&&V.call(j,T,R);var te=V.call(j,T,R);return Mt(),te}return V}case jn:a.effectTag=a.effectTag&~f0|Hr;case Be:{var oe=_.payload,Ie;return typeof oe=="function"?(Ct(),Ei&&a.mode&cr&&oe.call(j,T,R),Ie=oe.call(j,T,R),Mt()):Ie=oe,Ie==null?T:f({},T,Ie)}case Jt:return ti=!0,T}return T}function mf(a,c,_,T,R){ti=!1,c=Ed(a,c),ii=c;for(var j=c.baseState,V=null,te=lt,oe=c.firstUpdate,Ie=j;oe!==null;){var Ye=oe.expirationTime;if(Ye from render. Or maybe you meant to call this function rather than return it."))}function yh(a){function c(it,Ot){if(!!a){var Je=it.lastEffect;Je!==null?(Je.nextEffect=Ot,it.lastEffect=Ot):it.firstEffect=it.lastEffect=Ot,Ot.nextEffect=null,Ot.effectTag=W0}}function _(it,Ot){if(!a)return null;for(var Je=Ot;Je!==null;)c(it,Je),Je=Je.sibling;return null}function T(it,Ot){for(var Je=new Map,Bt=Ot;Bt!==null;)Bt.key!==null?Je.set(Bt.key,Bt):Je.set(Bt.index,Bt),Bt=Bt.sibling;return Je}function R(it,Ot,Je){var Bt=wo(it,Ot,Je);return Bt.index=0,Bt.sibling=null,Bt}function j(it,Ot,Je){if(it.index=Je,!a)return Ot;var Bt=it.alternate;if(Bt!==null){var Mn=Bt.index;return Mnqr?(_u=ar,ar=null):_u=ar.sibling;var _0=Nt(it,ar,Je[qr],Bt);if(_0===null){ar===null&&(ar=_u);break}a&&ar&&_0.alternate===null&&c(it,ar),ou=j(_0,ou,qr),qu===null?oi=_0:qu.sibling=_0,qu=_0,ar=_u}if(qr===Je.length)return _(it,ar),oi;if(ar===null){for(;qrH0?(Cs=_u,_u=null):Cs=_u.sibling;var pl=Nt(it,_u,Hu.value,Bt);if(pl===null){_u===null&&(_u=Cs);break}a&&_u&&pl.alternate===null&&c(it,_u),_0=j(pl,_0,H0),qr===null?ou=pl:qr.sibling=pl,qr=pl,_u=Cs}if(Hu.done)return _(it,_u),ou;if(_u===null){for(;!Hu.done;H0++,Hu=ar.next()){var Ja=pt(it,Hu.value,Bt);Ja!==null&&(_0=j(Ja,_0,H0),qr===null?ou=Ja:qr.sibling=Ja,qr=Ja)}return ou}for(var jo=T(it,_u);!Hu.done;H0++,Hu=ar.next()){var xs=Vt(jo,it,H0,Hu.value,Bt);xs!==null&&(a&&xs.alternate!==null&&jo.delete(xs.key===null?H0:xs.key),_0=j(xs,_0,H0),qr===null?ou=xs:qr.sibling=xs,qr=xs)}return a&&jo.forEach(function(X2){return c(it,X2)}),ou}function $r(it,Ot,Je,Bt){if(Ot!==null&&Ot.tag===ne){_(it,Ot.sibling);var Mn=R(Ot,Je,Bt);return Mn.return=it,Mn}_(it,Ot);var pn=Cy(Je,it.mode,Bt);return pn.return=it,pn}function wi(it,Ot,Je,Bt){for(var Mn=Je.key,pn=Ot;pn!==null;){if(pn.key===Mn)if(pn.tag===m?Je.type===ue:pn.elementType===Je.type||jc(pn,Je)){_(it,pn.sibling);var Pi=R(pn,Je.type===ue?Je.props.children:Je.props,Bt);return Pi.ref=fc(it,pn,Je),Pi.return=it,Pi._debugSource=Je._source,Pi._debugOwner=Je._owner,Pi}else{_(it,pn);break}else c(it,pn);pn=pn.sibling}if(Je.type===ue){var oi=Qa(Je.props.children,it.mode,Bt,Je.key);return oi.return=it,oi}else{var qu=Ty(Je,it.mode,Bt);return qu.ref=fc(it,Ot,Je),qu.return=it,qu}}function N0(it,Ot,Je,Bt){for(var Mn=Je.key,pn=Ot;pn!==null;){if(pn.key===Mn)if(pn.tag===q&&pn.stateNode.containerInfo===Je.containerInfo&&pn.stateNode.implementation===Je.implementation){_(it,pn.sibling);var Pi=R(pn,Je.children||[],Bt);return Pi.return=it,Pi}else{_(it,pn);break}else c(it,pn);pn=pn.sibling}var oi=xy(Je,it.mode,Bt);return oi.return=it,oi}function Vi(it,Ot,Je,Bt){var Mn=typeof Je=="object"&&Je!==null&&Je.type===ue&&Je.key===null;Mn&&(Je=Je.props.children);var pn=typeof Je=="object"&&Je!==null;if(pn)switch(Je.$$typeof){case ae:return V(wi(it,Ot,Je,Bt));case Ce:return V(N0(it,Ot,Je,Bt))}if(typeof Je=="string"||typeof Je=="number")return V($r(it,Ot,""+Je,Bt));if(Kc(Je))return vn(it,Ot,Je,Bt);if(ur(Je))return xr(it,Ot,Je,Bt);if(pn&&cc(it,Je),typeof Je=="function"&&f2(),typeof Je=="undefined"&&!Mn)switch(it.tag){case N:{var Pi=it.stateNode;if(Pi.render._isMockFunction)break}case L:{var oi=it.type;throw Error((oi.displayName||oi.name||"Component")+"(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.")}}return _(it,Ot)}return Vi}var gf=yh(!0),Xc=yh(!1);function gh(a,c){if(!(a===null||c.child===a.child))throw Error("Resuming work not yet implemented.");if(c.child!==null){var _=c.child,T=wo(_,_.pendingProps,_.expirationTime);for(c.child=T,T.return=c;_.sibling!==null;)_=_.sibling,T=T.sibling=wo(_,_.pendingProps,_.expirationTime),T.return=c;T.sibling=null}}function vm(a,c){for(var _=a.child;_!==null;)Rv(_,c),_=_.sibling}var js={},fa=Gu(js),Ji=Gu(js),O0=Gu(js);function t0(a){if(a===js)throw Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.");return a}function Jl(){var a=t0(O0.current);return a}function za(a,c){Vr(O0,c,a),Vr(Ji,a,a),Vr(fa,js,a);var _=Et(c);Kr(fa,a),Vr(fa,_,a)}function no(a){Kr(fa,a),Kr(Ji,a),Kr(O0,a)}function ul(){var a=t0(fa.current);return a}function dc(a){var c=t0(O0.current),_=t0(fa.current),T=Pt(_,a.type,c);_!==T&&(Vr(Ji,a,a),Vr(fa,T,a))}function Od(a){Ji.current===a&&(Kr(fa,a),Kr(Ji,a))}var _h=0,_f=1,Ef=1,Qc=2,xl=Gu(_h);function Jc(a,c){return(a&c)!=0}function ca(a){return a&_f}function c2(a,c){return a&_f|c}function d2(a,c){return a|c}function Or(a,c){Vr(xl,c,a)}function da(a){Kr(xl,a)}function kd(a,c){var _=a.memoizedState;if(_!==null)return _.dehydrated!==null;var T=a.memoizedProps;return T.fallback===void 0?!1:T.unstable_avoidThisFallback!==!0?!0:!c}function Zc(a){for(var c=a;c!==null;){if(c.tag===pe){var _=c.memoizedState;if(_!==null){var T=_.dehydrated;if(T===null||Ls(T)||h0(T))return c}}else if(c.tag===wt&&c.memoizedProps.revealOrder!==void 0){var R=(c.effectTag&Hr)!==_i;if(R)return c}else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===a)return null;for(;c.sibling===null;){if(c.return===null||c.return===a)return null;c=c.return}c.sibling.return=c.return,c=c.sibling}return null}var p2={},vi=Array.isArray;function Md(a,c,_,T){return{fiber:T,props:c,responder:a,rootEventTypes:null,state:_}}function mm(a,c,_,T,R){var j=p2,V=a.getInitialState;V!==null&&(j=V(c));var te=Md(a,c,j,_);if(!R)for(var oe=_;oe!==null;){var Ie=oe.tag;if(Ie===W){R=oe.stateNode;break}else if(Ie===U){R=oe.stateNode.containerInfo;break}oe=oe.return}Ne(a,te,c,j,R),T.set(a,te)}function h2(a,c,_,T,R){var j,V;if(a&&(j=a.responder,V=a.props),!(j&&j.$$typeof===Ut))throw Error("An invalid value was used as an event listener. Expect one or many event listeners created via React.unstable_useResponder().");var te=V;if(_.has(j)){Kt(!1,'Duplicate event responder "%s" found in event listeners. Event listeners passed to elements cannot use the same event responder more than once.',j.displayName);return}_.add(j);var oe=T.get(j);oe===void 0?mm(j,te,c,T,R):(oe.props=te,oe.fiber=c)}function dn(a,c,_){var T=new Set,R=c.dependencies;if(a!=null){R===null&&(R=c.dependencies={expirationTime:lt,firstContext:null,responders:new Map});var j=R.responders;if(j===null&&(j=new Map),vi(a))for(var V=0,te=a.length;V0){var j=R.dispatch;if(Es!==null){var V=Es.get(R);if(V!==void 0){Es.delete(R);var te=T.memoizedState,oe=V;do{var Ie=oe.action;te=a(te,Ie),oe=oe.next}while(oe!==null);return ho(te,T.memoizedState)||up(),T.memoizedState=te,T.baseUpdate===R.last&&(T.baseState=te),R.lastRenderedState=te,[te,j]}}return[T.memoizedState,j]}var Ye=R.last,pt=T.baseUpdate,Nt=T.baseState,Vt;if(pt!==null?(Ye!==null&&(Ye.next=null),Vt=pt.next):Vt=Ye!==null?Ye.next:null,Vt!==null){var zt=Nt,vn=null,xr=null,$r=pt,wi=Vt,N0=!1;do{var Vi=wi.expirationTime;if(ViOu&&(Ou=Vi,G2(Ou));else if(vv(Vi,wi.suspenseConfig),wi.eagerReducer===a)zt=wi.eagerState;else{var it=wi.action;zt=a(zt,it)}$r=wi,wi=wi.next}while(wi!==null&&wi!==Vt);N0||(xr=$r,vn=zt),ho(zt,T.memoizedState)||up(),T.memoizedState=zt,T.baseUpdate=xr,T.baseState=vn,R.lastRenderedState=zt}var Ot=R.dispatch;return[T.memoizedState,Ot]}function Rf(a){var c=mc();typeof a=="function"&&(a=a()),c.memoizedState=c.baseState=a;var _=c.queue={last:null,dispatch:null,lastRenderedReducer:Nd,lastRenderedState:a},T=_.dispatch=u1.bind(null,ll,_);return[c.memoizedState,T]}function n1(a){return t1(Nd,a)}function Wa(a,c,_,T){var R={tag:a,create:c,destroy:_,deps:T,next:null};if(Zl===null)Zl=Ha(),Zl.lastEffect=R.next=R;else{var j=Zl.lastEffect;if(j===null)Zl.lastEffect=R.next=R;else{var V=j.next;j.next=R,R.next=V,Zl.lastEffect=R}}return R}function r1(a){var c=mc(),_={current:a};return Object.seal(_),c.memoizedState=_,_}function Ld(a){var c=e1();return c.memoizedState}function g2(a,c,_,T){var R=mc(),j=T===void 0?null:T;Tf|=a,R.memoizedState=Wa(c,_,void 0,j)}function yc(a,c,_,T){var R=e1(),j=T===void 0?null:T,V=void 0;if(Pn!==null){var te=Pn.memoizedState;if(V=te.destroy,j!==null){var oe=te.deps;if(xf(j,oe)){Wa(wf,_,V,j);return}}}Tf|=a,R.memoizedState=Wa(c,_,V,j)}function i1(a,c){return typeof jest!="undefined"&&Av(ll),g2(mr|L0,rr|$c,a,c)}function Rl(a,c){return typeof jest!="undefined"&&Av(ll),yc(mr|L0,rr|$c,a,c)}function pa(a,c){return g2(mr,Sf|ol,a,c)}function wh(a,c){return yc(mr,Sf|ol,a,c)}function Fd(a,c){if(typeof c=="function"){var _=c,T=a();return _(T),function(){_(null)}}else if(c!=null){var R=c;R.hasOwnProperty("current")||Kt(!1,"Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.","an object with keys {"+Object.keys(R).join(", ")+"}");var j=a();return R.current=j,function(){R.current=null}}}function bd(a,c,_){typeof c!="function"&&Kt(!1,"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",c!==null?typeof c:"null");var T=_!=null?_.concat([a]):null;return g2(mr,Sf|ol,Fd.bind(null,c,a),T)}function Sh(a,c,_){typeof c!="function"&&Kt(!1,"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",c!==null?typeof c:"null");var T=_!=null?_.concat([a]):null;return yc(mr,Sf|ol,Fd.bind(null,c,a),T)}function _2(a,c){}var Th=_2;function Ol(a,c){var _=mc(),T=c===void 0?null:c;return _.memoizedState=[a,T],a}function es(a,c){var _=e1(),T=c===void 0?null:c,R=_.memoizedState;if(R!==null&&T!==null){var j=R[1];if(xf(T,j))return R[0]}return _.memoizedState=[a,T],a}function Ds(a,c){var _=mc(),T=c===void 0?null:c,R=a();return _.memoizedState=[R,T],R}function zs(a,c){var _=e1(),T=c===void 0?null:c,R=_.memoizedState;if(R!==null&&T!==null){var j=R[1];if(xf(T,j))return R[0]}var V=a();return _.memoizedState=[V,T],V}function Pd(a,c){var _=Rf(a),T=_[0],R=_[1];return i1(function(){t.unstable_next(function(){var j=Bo.suspense;Bo.suspense=c===void 0?null:c;try{R(a)}finally{Bo.suspense=j}})},[a,c]),T}function Ch(a,c){var _=n1(a),T=_[0],R=_[1];return Rl(function(){t.unstable_next(function(){var j=Bo.suspense;Bo.suspense=c===void 0?null:c;try{R(a)}finally{Bo.suspense=j}})},[a,c]),T}function Id(a){var c=Rf(!1),_=c[0],T=c[1],R=Ol(function(j){T(!0),t.unstable_next(function(){var V=Bo.suspense;Bo.suspense=a===void 0?null:a;try{T(!1),j()}finally{Bo.suspense=V}})},[a,_]);return[R,_]}function Bd(a){var c=n1(!1),_=c[0],T=c[1],R=es(function(j){T(!0),t.unstable_next(function(){var V=Bo.suspense;Bo.suspense=a===void 0?null:a;try{T(!1),j()}finally{Bo.suspense=V}})},[a,_]);return[R,_]}function u1(a,c,_){if(!(vc=0){var _=l1()-s1;a.actualDuration+=_,c&&(a.selfBaseDuration=_),s1=-1}}var Ml=null,Ga=null,ha=!1;function qd(){ha&&Kt(!1,"We should not be hydrating here. This is a bug in React. Please file a bug.")}function Hd(a){if(!_e)return!1;var c=a.stateNode.containerInfo;return Ga=B(c),Ml=a,ha=!0,!0}function Em(a,c){return _e?(Ga=Ni(c),Gd(a),ha=!0,!0):!1}function Wd(a,c){switch(a.tag){case U:ie(a.stateNode.containerInfo,c);break;case W:qe(a.type,a.memoizedProps,a.stateNode,c);break}var _=eE();_.stateNode=c,_.return=a,_.effectTag=W0,a.lastEffect!==null?(a.lastEffect.nextEffect=_,a.lastEffect=_):a.firstEffect=a.lastEffect=_}function Mh(a,c){switch(c.effectTag=c.effectTag&~tu|ai,a.tag){case U:{var _=a.stateNode.containerInfo;switch(c.tag){case W:var T=c.type,R=c.pendingProps;tt(_,T,R);break;case ne:var j=c.pendingProps;Tt(_,j);break;case pe:kt(_);break}break}case W:{var V=a.type,te=a.memoizedProps,oe=a.stateNode;switch(c.tag){case W:var Ie=c.type,Ye=c.pendingProps;bt(V,te,oe,Ie,Ye);break;case ne:var pt=c.pendingProps;on(V,te,oe,pt);break;case pe:tn(V,te,oe);break}break}default:return}}function Nh(a,c){switch(a.tag){case W:{var _=a.type,T=a.pendingProps,R=lf(c,_,T);return R!==null?(a.stateNode=R,!0):!1}case ne:{var j=a.pendingProps,V=Ns(c,j);return V!==null?(a.stateNode=V,!0):!1}case pe:{if(Di){var te=Ma(c);if(te!==null){var oe={dehydrated:te,retryTime:hi};a.memoizedState=oe;var Ie=tE(te);return Ie.return=a,a.child=Ie,!0}}return!1}default:return!1}}function Vd(a){if(!!ha){var c=Ga;if(!c){Mh(Ml,a),ha=!1,Ml=a;return}var _=c;if(!Nh(a,c)){if(c=Ni(_),!c||!Nh(a,c)){Mh(Ml,a),ha=!1,Ml=a;return}Wd(Ml,_)}Ml=a,Ga=B(c)}}function Dm(a,c,_){if(!_e)throw Error("Expected prepareToHydrateHostInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var T=a.stateNode,R=z(T,a.type,a.memoizedProps,c,_,a);return a.updateQueue=R,R!==null}function wm(a){if(!_e)throw Error("Expected prepareToHydrateHostTextInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var c=a.stateNode,_=a.memoizedProps,T=G(c,_,a);if(T){var R=Ml;if(R!==null)switch(R.tag){case U:{var j=R.stateNode.containerInfo;Xe(j,c,_);break}case W:{var V=R.type,te=R.memoizedProps,oe=R.stateNode;ht(V,te,oe,c,_);break}}}return T}function Lh(a){if(!_e)throw Error("Expected prepareToHydrateHostSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var c=a.memoizedState,_=c!==null?c.dehydrated:null;if(!_)throw Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");$(_,a)}function Sm(a){if(!_e)throw Error("Expected skipPastDehydratedSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var c=a.memoizedState,_=c!==null?c.dehydrated:null;if(!_)throw Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");return De(_)}function Gd(a){for(var c=a.return;c!==null&&c.tag!==W&&c.tag!==U&&c.tag!==pe;)c=c.return;Ml=c}function f1(a){if(!_e||a!==Ml)return!1;if(!ha)return Gd(a),ha=!0,!1;var c=a.type;if(a.tag!==W||c!=="head"&&c!=="body"&&!Ti(c,a.memoizedProps))for(var _=Ga;_;)Wd(a,_),_=Ni(_);return Gd(a),a.tag===pe?Ga=Sm(a):Ga=Ml?Ni(a.stateNode):null,!0}function c1(){!_e||(Ml=null,Ga=null,ha=!1)}var d1=at.ReactCurrentOwner,va=!1,Yd,qs,Hs,Ws,Kd,ma,p1,E2,gc,Xd;Yd={},qs={},Hs={},Ws={},Kd={},ma=!1,p1=!1,E2={},gc={},Xd={};function _o(a,c,_,T){a===null?c.child=Xc(c,null,_,T):c.child=gf(c,a.child,_,T)}function Fh(a,c,_,T){c.child=gf(c,a.child,null,T),c.child=gf(c,null,_,T)}function bh(a,c,_,T,R){if(c.type!==c.elementType){var j=_.propTypes;j&&E(j,T,"prop",qt(_),Rr)}var V=_.render,te=c.ref,oe;return e0(c,R),d1.current=c,Ze("render"),oe=Af(a,c,V,T,te,R),Ei&&c.mode&cr&&c.memoizedState!==null&&(oe=Af(a,c,V,T,te,R)),Ze(null),a!==null&&!va?(v2(a,c,R),ya(a,c,R)):(c.effectTag|=eu,_o(a,c,oe,R),c.child)}function Ph(a,c,_,T,R,j){if(a===null){var V=_.type;if(i0(V)&&_.compare===null&&_.defaultProps===void 0){var te=V;return te=Zu(V),c.tag=le,c.type=te,Zd(c,V),Ih(a,c,te,T,R,j)}{var oe=V.propTypes;oe&&E(oe,T,"prop",qt(V),Rr)}var Ie=Sy(_.type,null,T,null,c.mode,j);return Ie.ref=c.ref,Ie.return=c,c.child=Ie,Ie}{var Ye=_.type,pt=Ye.propTypes;pt&&E(pt,T,"prop",qt(Ye),Rr)}var Nt=a.child;if(R component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.",oe,oe),Yd[oe]=!0)}c.mode&cr&&wl.recordLegacyContextWarning(c,null),d1.current=c,te=Af(null,c,_,R,j,T)}if(c.effectTag|=eu,typeof te=="object"&&te!==null&&typeof te.render=="function"&&te.$$typeof===void 0){{var Ie=qt(_)||"Unknown";qs[Ie]||(Ke(!1,"The <%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.",Ie,Ie,Ie),qs[Ie]=!0)}c.tag=N,m2();var Ye=!1;zi(_)?(Ye=!0,Fi(c)):Ye=!1,c.memoizedState=te.state!==null&&te.state!==void 0?te.state:null;var pt=_.getDerivedStateFromProps;return typeof pt=="function"&&yf(c,_,pt,R),il(c,te),ac(c,_,R,T),Jd(null,c,_,!0,Ye,T)}else return c.tag=L,ni&&_.contextTypes&&Ke(!1,"%s uses the legacy contextTypes API which is no longer supported. Use React.createContext() with React.useContext() instead.",qt(_)||"Unknown"),Ei&&c.mode&cr&&c.memoizedState!==null&&(te=Af(null,c,_,R,j,T)),_o(null,c,te,T),Zd(c,_),c.child}function Zd(a,c){if(c&&c.childContextTypes&&Ke(!1,"%s(...): childContextTypes cannot be defined on a function component.",c.displayName||c.name||"Component"),a.ref!==null){var _="",T=v0();T&&(_+=` + +Check the render method of \``+T+"`.");var R=T||a._debugID||"",j=a._debugSource;j&&(R=j.fileName+":"+j.lineNumber),Kd[R]||(Kd[R]=!0,Kt(!1,"Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?%s",_))}if(Wl&&c.defaultProps!==void 0){var V=qt(c)||"Unknown";Xd[V]||(Ke(!1,"%s: Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.",V),Xd[V]=!0)}if(typeof c.getDerivedStateFromProps=="function"){var te=qt(c)||"Unknown";Ws[te]||(Ke(!1,"%s: Function components do not support getDerivedStateFromProps.",te),Ws[te]=!0)}if(typeof c.contextType=="object"&&c.contextType!==null){var oe=qt(c)||"Unknown";Hs[oe]||(Ke(!1,"%s: Function components do not support contextType.",oe),Hs[oe]=!0)}}var w2={dehydrated:null,retryTime:lt};function $d(a,c,_){return Jc(a,Qc)&&(c===null||c.memoizedState!==null)}function qh(a,c,_){var T=c.mode,R=c.pendingProps;a_(c)&&(c.effectTag|=Hr);var j=xl.current,V=!1,te=(c.effectTag&Hr)!==_i;if(te||$d(j,a,c)?(V=!0,c.effectTag&=~Hr):(a===null||a.memoizedState!==null)&&R.fallback!==void 0&&R.unstable_avoidThisFallback!==!0&&(j=d2(j,Ef)),j=ca(j),Or(c,j),"maxDuration"in R&&(p1||(p1=!0,Kt(!1,"maxDuration has been removed from React. Remove the maxDuration prop."))),a===null){if(R.fallback!==void 0&&(Vd(c),Di)){var oe=c.memoizedState;if(oe!==null){var Ie=oe.dehydrated;if(Ie!==null)return Hh(c,Ie,_)}}if(V){var Ye=R.fallback,pt=Qa(null,T,lt,null);if(pt.return=c,(c.mode&Y)===Sr){var Nt=c.memoizedState,Vt=Nt!==null?c.child.child:c.child;pt.child=Vt;for(var zt=Vt;zt!==null;)zt.return=pt,zt=zt.sibling}var vn=Qa(Ye,T,_,null);return vn.return=c,pt.sibling=vn,c.memoizedState=w2,c.child=pt,vn}else{var xr=R.children;return c.memoizedState=null,c.child=Xc(c,null,xr,_)}}else{var $r=a.memoizedState;if($r!==null){if(Di){var wi=$r.dehydrated;if(wi!==null)if(te){if(c.memoizedState!==null)return c.child=a.child,c.effectTag|=Hr,null;var N0=R.fallback,Vi=Qa(null,T,lt,null);if(Vi.return=c,Vi.child=null,(c.mode&Y)===Sr)for(var it=Vi.child=c.child;it!==null;)it.return=Vi,it=it.sibling;else gf(c,a.child,null,_);if(Zt&&c.mode&Jr){for(var Ot=0,Je=Vi.child;Je!==null;)Ot+=Je.treeBaseDuration,Je=Je.sibling;Vi.treeBaseDuration=Ot}var Bt=Qa(N0,T,_,null);return Bt.return=c,Vi.sibling=Bt,Bt.effectTag|=ai,Vi.childExpirationTime=lt,c.memoizedState=w2,c.child=Vi,Bt}else return Wh(a,c,wi,$r,_)}var Mn=a.child,pn=Mn.sibling;if(V){var Pi=R.fallback,oi=wo(Mn,Mn.pendingProps,lt);if(oi.return=c,(c.mode&Y)===Sr){var qu=c.memoizedState,ar=qu!==null?c.child.child:c.child;if(ar!==Mn.child){oi.child=ar;for(var ou=ar;ou!==null;)ou.return=oi,ou=ou.sibling}}if(Zt&&c.mode&Jr){for(var qr=0,_u=oi.child;_u!==null;)qr+=_u.treeBaseDuration,_u=_u.sibling;oi.treeBaseDuration=qr}var _0=wo(pn,Pi,pn.expirationTime);return _0.return=c,oi.sibling=_0,oi.childExpirationTime=lt,c.memoizedState=w2,c.child=oi,_0}else{var H0=R.children,Cs=Mn.child,Hu=gf(c,Cs,H0,_);return c.memoizedState=null,c.child=Hu}}else{var pl=a.child;if(V){var Ja=R.fallback,jo=Qa(null,T,lt,null);if(jo.return=c,jo.child=pl,pl!==null&&(pl.return=jo),(c.mode&Y)===Sr){var xs=c.memoizedState,X2=xs!==null?c.child.child:c.child;jo.child=X2;for(var Uf=X2;Uf!==null;)Uf.return=jo,Uf=Uf.sibling}if(Zt&&c.mode&Jr){for(var Rc=0,Pl=jo.child;Pl!==null;)Rc+=Pl.treeBaseDuration,Pl=Pl.sibling;jo.treeBaseDuration=Rc}var zo=Qa(Ja,T,_,null);return zo.return=c,jo.sibling=zo,zo.effectTag|=ai,jo.childExpirationTime=lt,c.memoizedState=w2,c.child=jo,zo}else{c.memoizedState=null;var O1=R.children;return c.child=gf(c,pl,O1,_)}}}}function ep(a,c,_){c.memoizedState=null;var T=c.pendingProps,R=T.children;return _o(a,c,R,_),c.child}function Hh(a,c,_){if((a.mode&Y)===Sr)Kt(!1,"Cannot hydrate Suspense in legacy mode. Switch from ReactDOM.hydrate(element, container) to ReactDOM.createBlockingRoot(container, { hydrate: true }).render(element) or remove the Suspense components from the server rendered components."),a.expirationTime=bn;else if(h0(c)){var T=Fl(),R=ms(T);Ln&&x(R),a.expirationTime=R}else a.expirationTime=hi,Ln&&x(hi);return null}function Wh(a,c,_,T,R){if(qd(),(c.mode&Y)===Sr||h0(_))return ep(a,c,R);var j=a.childExpirationTime>=R;if(va||j){if(R. Use lowercase "%s" instead.',a,a.toLowerCase());break}case"forward":case"backward":{Kt(!1,'"%s" is not a valid value for revealOrder on . React uses the -s suffix in the spelling. Use "%ss" instead.',a,a.toLowerCase());break}default:Kt(!1,'"%s" is not a supported revealOrder on . Did you mean "together", "forwards" or "backwards"?',a);break}else Kt(!1,'%s is not a supported value for revealOrder on . Did you mean "together", "forwards" or "backwards"?',a)}function Vh(a,c){a!==void 0&&!gc[a]&&(a!=="collapsed"&&a!=="hidden"?(gc[a]=!0,Kt(!1,'"%s" is not a supported value for tail on . Did you mean "collapsed" or "hidden"?',a)):c!=="forwards"&&c!=="backwards"&&(gc[a]=!0,Kt(!1,' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?',a)))}function v1(a,c){{var _=Array.isArray(a),T=!_&&typeof ur(a)=="function";if(_||T){var R=_?"array":"iterable";return Kt(!1,"A nested %s was passed to row #%s in . Wrap it in an additional SuspenseList to configure its revealOrder: ... {%s} ... ",R,c,R),!1}}return!0}function Mm(a,c){if((c==="forwards"||c==="backwards")&&a!==void 0&&a!==null&&a!==!1)if(Array.isArray(a)){for(var _=0;_. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?',c)}}function np(a,c,_,T,R,j){var V=a.memoizedState;V===null?a.memoizedState={isBackwards:c,rendering:null,last:T,tail:_,tailExpiration:0,tailMode:R,lastEffect:j}:(V.isBackwards=c,V.rendering=null,V.last=T,V.tail=_,V.tailExpiration=0,V.tailMode=R,V.lastEffect=j)}function rp(a,c,_){var T=c.pendingProps,R=T.revealOrder,j=T.tail,V=T.children;km(R),Vh(j,R),Mm(V,R),_o(a,c,V,_);var te=xl.current,oe=Jc(te,Qc);if(oe)te=c2(te,Qc),c.effectTag|=Hr;else{var Ie=a!==null&&(a.effectTag&Hr)!==_i;Ie&&Rm(c,c.child,_),te=ca(te)}if(Or(c,te),(c.mode&Y)===Sr)c.memoizedState=null;else switch(R){case"forwards":{var Ye=Om(c.child),pt;Ye===null?(pt=c.child,c.child=null):(pt=Ye.sibling,Ye.sibling=null),np(c,!1,pt,Ye,j,c.lastEffect);break}case"backwards":{var Nt=null,Vt=c.child;for(c.child=null;Vt!==null;){var zt=Vt.alternate;if(zt!==null&&Zc(zt)===null){c.child=Vt;break}var vn=Vt.sibling;Vt.sibling=Nt,Nt=Vt,Vt=vn}np(c,!0,Nt,null,j,c.lastEffect);break}case"together":{np(c,!1,null,null,void 0,c.lastEffect);break}default:c.memoizedState=null}return c.child}function Nm(a,c,_){za(c,c.stateNode.containerInfo);var T=c.pendingProps;return a===null?c.child=gf(c,null,T,_):_o(a,c,T,_),c.child}function Lm(a,c,_){var T=c.type,R=T._context,j=c.pendingProps,V=c.memoizedProps,te=j.value;{var oe=c.type.propTypes;oe&&E(oe,j,"prop","Context.Provider",Rr)}if(Er(c,te),V!==null){var Ie=V.value,Ye=iu(R,te,Ie);if(Ye===0){if(V.children===j.children&&!na())return ya(a,c,_)}else Tl(c,R,Ye,_)}var pt=j.children;return _o(a,c,pt,_),c.child}var Gh=!1;function Fm(a,c,_){var T=c.type;T._context===void 0?T!==T.Consumer&&(Gh||(Gh=!0,Kt(!1,"Rendering directly is not supported and will be removed in a future major release. Did you mean to render instead?"))):T=T._context;var R=c.pendingProps,j=R.children;typeof j!="function"&&Ke(!1,"A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it."),e0(c,_);var V=He(T,R.unstable_observedBits),te;return d1.current=c,Ze("render"),te=j(V),Ze(null),c.effectTag|=eu,_o(a,c,te,_),c.child}function bm(a,c,_){var T=c.type.impl;if(T.reconcileChildren===!1)return null;var R=c.pendingProps,j=R.children;return _o(a,c,j,_),c.child}function ip(a,c,_){var T=c.pendingProps,R=T.children;return _o(a,c,R,_),c.child}function up(){va=!0}function ya(a,c,_){Ki(c),a!==null&&(c.dependencies=a.dependencies),Zt&&kh(c);var T=c.expirationTime;T!==lt&&G2(T);var R=c.childExpirationTime;return R<_?null:(gh(a,c),c.child)}function m1(a,c,_){{var T=c.return;if(T===null)throw new Error("Cannot swap the root fiber.");if(a.alternate=null,c.alternate=null,_.index=c.index,_.sibling=c.sibling,_.return=c.return,_.ref=c.ref,c===T.child)T.child=_;else{var R=T.child;if(R===null)throw new Error("Expected parent to have a child.");for(;R.sibling!==c;)if(R=R.sibling,R===null)throw new Error("Expected to find the previous sibling.");R.sibling=_}var j=T.lastEffect;return j!==null?(j.nextEffect=a,T.lastEffect=a):T.firstEffect=T.lastEffect=a,a.nextEffect=null,a.effectTag=W0,_.effectTag|=ai,_}}function op(a,c,_){var T=c.expirationTime;if(c._debugNeedsRemount&&a!==null)return m1(a,c,Sy(c.type,c.key,c.pendingProps,c._debugOwner||null,c.mode,c.expirationTime));if(a!==null){var R=a.memoizedProps,j=c.pendingProps;if(R!==j||na()||c.type!==a.type)va=!0;else if(T<_){switch(va=!1,c.tag){case U:zh(c),c1();break;case W:if(dc(c),c.mode&Qr&&_!==hi&&d0(c.type,j))return Ln&&x(hi),c.expirationTime=c.childExpirationTime=hi,null;break;case N:{var V=c.type;zi(V)&&Fi(c);break}case q:za(c,c.stateNode.containerInfo);break;case he:{var te=c.memoizedProps.value;Er(c,te);break}case ze:if(Zt){var oe=c.childExpirationTime>=_;oe&&(c.effectTag|=mr)}break;case pe:{var Ie=c.memoizedState;if(Ie!==null){if(Di&&Ie.dehydrated!==null){Or(c,ca(xl.current)),c.effectTag|=Hr;break}var Ye=c.child,pt=Ye.childExpirationTime;if(pt!==lt&&pt>=_)return qh(a,c,_);Or(c,ca(xl.current));var Nt=ya(a,c,_);return Nt!==null?Nt.sibling:null}else Or(c,ca(xl.current));break}case wt:{var Vt=(a.effectTag&Hr)!==_i,zt=c.childExpirationTime>=_;if(Vt){if(zt)return rp(a,c,_);c.effectTag|=Hr}var vn=c.memoizedState;if(vn!==null&&(vn.rendering=null,vn.tail=null),Or(c,xl.current),zt)break;return null}}return ya(a,c,_)}else va=!1}else va=!1;switch(c.expirationTime=lt,c.tag){case C:return Am(a,c,c.type,_);case Ue:{var xr=c.elementType;return kf(a,c,xr,T,_)}case L:{var $r=c.type,wi=c.pendingProps,N0=c.elementType===$r?wi:bi($r,wi);return Qd(a,c,$r,N0,_)}case N:{var Vi=c.type,it=c.pendingProps,Ot=c.elementType===Vi?it:bi(Vi,it);return jh(a,c,Vi,Ot,_)}case U:return Cm(a,c,_);case W:return xm(a,c,_);case ne:return Of(a,c);case pe:return qh(a,c,_);case q:return Nm(a,c,_);case ge:{var Je=c.type,Bt=c.pendingProps,Mn=c.elementType===Je?Bt:bi(Je,Bt);return bh(a,c,Je,Mn,_)}case m:return Tm(a,c,_);case we:return Bh(a,c,_);case ze:return Uh(a,c,_);case he:return Lm(a,c,_);case Se:return Fm(a,c,_);case Oe:{var pn=c.type,Pi=c.pendingProps,oi=bi(pn,Pi);if(c.type!==c.elementType){var qu=pn.propTypes;qu&&E(qu,oi,"prop",qt(pn),Rr)}return oi=bi(pn.type,oi),Ph(a,c,pn,oi,T,_)}case le:return Ih(a,c,c.type,c.pendingProps,T,_);case Ge:{var ar=c.type,ou=c.pendingProps,qr=c.elementType===ar?ou:bi(ar,ou);return D2(a,c,ar,qr,_)}case wt:return rp(a,c,_);case xt:{if(Ht)return bm(a,c,_);break}case $e:{if(Du)return ip(a,c,_);break}}throw Error("Unknown unit of work tag ("+c.tag+"). This error is likely caused by a bug in React. Please file an issue.")}function Yh(a,c,_,T){return{currentFiber:a,impl:_,instance:null,prevProps:null,props:c,state:T}}function S2(a){return a.tag===pe&&a.memoizedState!==null}function y1(a){return a.child.sibling.child}var Kh={};function lp(a,c,_){if(Du){if(a.tag===W){var T=a.type,R=a.memoizedProps,j=a.stateNode,V=Ro(j);V!==null&&c(T,R||Kh,V)===!0&&_.push(V)}var te=a.child;S2(a)&&(te=y1(a)),te!==null&&sp(te,c,_)}}function Xh(a,c){if(Du){if(a.tag===W){var _=a.type,T=a.memoizedProps,R=a.stateNode,j=Ro(R);if(j!==null&&c(_,T,j)===!0)return j}var V=a.child;if(S2(a)&&(V=y1(a)),V!==null)return Qh(V,c)}return null}function sp(a,c,_){for(var T=a;T!==null;)lp(T,c,_),T=T.sibling}function Qh(a,c){for(var _=a;_!==null;){var T=Xh(_,c);if(T!==null)return T;_=_.sibling}return null}function Jh(a,c,_){if(T2(a,c))_.push(a.stateNode.methods);else{var T=a.child;S2(a)&&(T=y1(a)),T!==null&&ap(T,c,_)}}function ap(a,c,_){for(var T=a;T!==null;)Jh(T,c,_),T=T.sibling}function T2(a,c){return a.tag===$e&&a.type===c&&a.stateNode!==null}function C2(a,c){return{getChildren:function(){var _=c.fiber,T=_.child,R=[];return T!==null&&ap(T,a,R),R.length===0?null:R},getChildrenFromRoot:function(){for(var _=c.fiber,T=_;T!==null;){var R=T.return;if(R===null||(T=R,T.tag===$e&&T.type===a))break}var j=[];return ap(T.child,a,j),j.length===0?null:j},getParent:function(){for(var _=c.fiber.return;_!==null;){if(_.tag===$e&&_.type===a)return _.stateNode.methods;_=_.return}return null},getProps:function(){var _=c.fiber;return _.memoizedProps},queryAllNodes:function(_){var T=c.fiber,R=T.child,j=[];return R!==null&&sp(R,_,j),j.length===0?null:j},queryFirstNode:function(_){var T=c.fiber,R=T.child;return R!==null?Qh(R,_):null},containsNode:function(_){for(var T=or(_);T!==null;){if(T.tag===$e&&T.type===a&&T.stateNode===c)return!0;T=T.return}return!1}}}function z0(a){a.effectTag|=mr}function x2(a){a.effectTag|=To}var ga,Ya,A2,R2;if(P0)ga=function(a,c,_,T){for(var R=c.child;R!==null;){if(R.tag===W||R.tag===ne)Wr(a,R.stateNode);else if(Ht&&R.tag===xt)Wr(a,R.stateNode.instance);else if(R.tag!==q){if(R.child!==null){R.child.return=R,R=R.child;continue}}if(R===c)return;for(;R.sibling===null;){if(R.return===null||R.return===c)return;R=R.return}R.sibling.return=R.return,R=R.sibling}},Ya=function(a){},A2=function(a,c,_,T,R){var j=a.memoizedProps;if(j!==T){var V=c.stateNode,te=ul(),oe=c0(V,_,j,T,R,te);c.updateQueue=oe,oe&&z0(c)}},R2=function(a,c,_,T){_!==T&&z0(c)};else if(X){ga=function(a,c,_,T){for(var R=c.child;R!==null;){e:if(R.tag===W){var j=R.stateNode;if(_&&T){var V=R.memoizedProps,te=R.type;j=Gr(j,te,V,R)}Wr(a,j)}else if(R.tag===ne){var oe=R.stateNode;if(_&&T){var Ie=R.memoizedProps;oe=Yl(oe,Ie,R)}Wr(a,oe)}else if(Ht&&R.tag===xt){var Ye=R.stateNode.instance;if(_&&T){var pt=R.memoizedProps,Nt=R.type;Ye=Gr(Ye,Nt,pt,R)}Wr(a,Ye)}else if(R.tag!==q){if(R.tag===pe){if((R.effectTag&mr)!==_i){var Vt=R.memoizedState!==null;if(Vt){var zt=R.child;if(zt!==null){zt.child!==null&&(zt.child.return=zt,ga(a,zt,!0,Vt));var vn=zt.sibling;if(vn!==null){vn.return=R,R=vn;continue}}}}if(R.child!==null){R.child.return=R,R=R.child;continue}}else if(R.child!==null){R.child.return=R,R=R.child;continue}}if(R=R,R===c)return;for(;R.sibling===null;){if(R.return===null||R.return===c)return;R=R.return}R.sibling.return=R.return,R=R.sibling}};var fp=function(a,c,_,T){for(var R=c.child;R!==null;){e:if(R.tag===W){var j=R.stateNode;if(_&&T){var V=R.memoizedProps,te=R.type;j=Gr(j,te,V,R)}Gn(a,j)}else if(R.tag===ne){var oe=R.stateNode;if(_&&T){var Ie=R.memoizedProps;oe=Yl(oe,Ie,R)}Gn(a,oe)}else if(Ht&&R.tag===xt){var Ye=R.stateNode.instance;if(_&&T){var pt=R.memoizedProps,Nt=R.type;Ye=Gr(Ye,Nt,pt,R)}Gn(a,Ye)}else if(R.tag!==q){if(R.tag===pe){if((R.effectTag&mr)!==_i){var Vt=R.memoizedState!==null;if(Vt){var zt=R.child;if(zt!==null){zt.child!==null&&(zt.child.return=zt,fp(a,zt,!0,Vt));var vn=zt.sibling;if(vn!==null){vn.return=R,R=vn;continue}}}}if(R.child!==null){R.child.return=R,R=R.child;continue}}else if(R.child!==null){R.child.return=R,R=R.child;continue}}if(R=R,R===c)return;for(;R.sibling===null;){if(R.return===null||R.return===c)return;R=R.return}R.sibling.return=R.return,R=R.sibling}};Ya=function(a){var c=a.stateNode,_=a.firstEffect===null;if(!_){var T=c.containerInfo,R=w0(T);fp(R,a,!1,!1),c.pendingChildren=R,z0(a),ic(T,R)}},A2=function(a,c,_,T,R){var j=a.stateNode,V=a.memoizedProps,te=c.firstEffect===null;if(te&&V===T){c.stateNode=j;return}var oe=c.stateNode,Ie=ul(),Ye=null;if(V!==T&&(Ye=c0(oe,_,V,T,R,Ie)),te&&Ye===null){c.stateNode=j;return}var pt=cs(j,Ye,_,V,T,c,te,oe);wu(pt,_,T,R,Ie)&&z0(c),c.stateNode=pt,te?z0(c):ga(pt,c,!1,!1)},R2=function(a,c,_,T){if(_!==T){var R=Jl(),j=ul();c.stateNode=as(T,R,j,c),z0(c)}}}else Ya=function(a){},A2=function(a,c,_,T,R){},R2=function(a,c,_,T){};function O2(a,c){switch(a.tailMode){case"hidden":{for(var _=a.tail,T=null;_!==null;)_.alternate!==null&&(T=_),_=_.sibling;T===null?a.tail=null:T.sibling=null;break}case"collapsed":{for(var R=a.tail,j=null;R!==null;)R.alternate!==null&&(j=R),R=R.sibling;j===null?!c&&a.tail!==null?a.tail.sibling=null:a.tail=null:j.sibling=null;break}}}function Zh(a,c,_){var T=c.pendingProps;switch(c.tag){case C:break;case Ue:break;case le:case L:break;case N:{var R=c.type;zi(R)&&Is(c);break}case U:{no(c),x0(c);var j=c.stateNode;if(j.pendingContext&&(j.context=j.pendingContext,j.pendingContext=null),a===null||a.child===null){var V=f1(c);V&&z0(c)}Ya(c);break}case W:{Od(c);var te=Jl(),oe=c.type;if(a!==null&&c.stateNode!=null){if(A2(a,c,oe,T,te),ci){var Ie=a.memoizedProps.listeners,Ye=T.listeners;Ie!==Ye&&z0(c)}a.ref!==c.ref&&x2(c)}else{if(!T){if(c.stateNode===null)throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");break}var pt=ul(),Nt=f1(c);if(Nt){if(Dm(c,te,pt)&&z0(c),ci){var Vt=T.listeners;Vt!=null&&dn(Vt,c,te)}}else{var zt=ji(oe,T,te,pt,c);if(ga(zt,c,!1,!1),c.stateNode=zt,ci){var vn=T.listeners;vn!=null&&dn(vn,c,te)}wu(zt,oe,T,te,pt)&&z0(c)}c.ref!==null&&x2(c)}break}case ne:{var xr=T;if(a&&c.stateNode!=null){var $r=a.memoizedProps;R2(a,c,$r,xr)}else{if(typeof xr!="string"&&c.stateNode===null)throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");var wi=Jl(),N0=ul(),Vi=f1(c);Vi?wm(c)&&z0(c):c.stateNode=as(xr,wi,N0,c)}break}case ge:break;case pe:{da(c);var it=c.memoizedState;if(Di&&it!==null&&it.dehydrated!==null)if(a===null){var Ot=f1(c);if(!Ot)throw Error("A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.");return Lh(c),Ln&&x(hi),null}else return c1(),(c.effectTag&Hr)===_i&&(c.memoizedState=null),c.effectTag|=mr,null;if((c.effectTag&Hr)!==_i)return c.expirationTime=_,c;var Je=it!==null,Bt=!1;if(a===null)c.memoizedProps.fallback!==void 0&&f1(c);else{var Mn=a.memoizedState;if(Bt=Mn!==null,!Je&&Mn!==null){var pn=a.child.sibling;if(pn!==null){var Pi=c.firstEffect;Pi!==null?(c.firstEffect=pn,pn.nextEffect=Pi):(c.firstEffect=c.lastEffect=pn,pn.nextEffect=null),pn.effectTag=W0}}}if(Je&&!Bt&&(c.mode&Y)!==Sr){var oi=a===null&&c.memoizedProps.unstable_avoidThisFallback!==!0;oi||Jc(xl.current,Ef)?mv():yv()}X&&Je&&(c.effectTag|=mr),P0&&(Je||Bt)&&(c.effectTag|=mr),Ui&&c.updateQueue!==null&&c.memoizedProps.suspenseCallback!=null&&(c.effectTag|=mr);break}case m:break;case we:break;case ze:break;case q:no(c),Ya(c);break;case he:$u(c);break;case Se:break;case Oe:break;case Ge:{var qu=c.type;zi(qu)&&Is(c);break}case wt:{da(c);var ar=c.memoizedState;if(ar===null)break;var ou=(c.effectTag&Hr)!==_i,qr=ar.rendering;if(qr===null)if(ou)O2(ar,!1);else{var _u=gv()&&(a===null||(a.effectTag&Hr)===_i);if(!_u)for(var _0=c.child;_0!==null;){var H0=Zc(_0);if(H0!==null){ou=!0,c.effectTag|=Hr,O2(ar,!1);var Cs=H0.updateQueue;return Cs!==null&&(c.updateQueue=Cs,c.effectTag|=mr),ar.lastEffect===null&&(c.firstEffect=null),c.lastEffect=ar.lastEffect,vm(c,_),Or(c,c2(xl.current,Qc)),c.child}_0=_0.sibling}}else{if(!ou){var Hu=Zc(qr);if(Hu!==null){c.effectTag|=Hr,ou=!0;var pl=Hu.updateQueue;if(pl!==null&&(c.updateQueue=pl,c.effectTag|=mr),O2(ar,!0),ar.tail===null&&ar.tailMode==="hidden"&&!qr.alternate){var Ja=c.lastEffect=ar.lastEffect;return Ja!==null&&(Ja.nextEffect=null),null}}else if(vt()>ar.tailExpiration&&_>hi){c.effectTag|=Hr,ou=!0,O2(ar,!1);var jo=_-1;c.expirationTime=c.childExpirationTime=jo,Ln&&x(jo)}}if(ar.isBackwards)qr.sibling=c.child,c.child=qr;else{var xs=ar.last;xs!==null?xs.sibling=qr:c.child=qr,ar.last=qr}}if(ar.tail!==null){if(ar.tailExpiration===0){var X2=500;ar.tailExpiration=vt()+X2}var Uf=ar.tail;ar.rendering=Uf,ar.tail=Uf.sibling,ar.lastEffect=c.lastEffect,Uf.sibling=null;var Rc=xl.current;return ou?Rc=c2(Rc,Qc):Rc=ca(Rc),Or(c,Rc),Uf}break}case xt:{if(Ht){var Pl=c.type.impl,zo=c.stateNode;if(zo===null){var O1=Pl.getInitialState,m_;O1!==void 0&&(m_=O1(T)),zo=c.stateNode=Yh(c,T,Pl,m_||{});var y_=dt(zo);if(zo.instance=y_,Pl.reconcileChildren===!1)return null;ga(y_,c,!1,!1),Hn(zo)}else{var yE=zo.props;if(zo.prevProps=yE,zo.props=T,zo.currentFiber=c,X){var g_=ea(zo);zo.instance=g_,ga(g_,c,!1,!1)}var gE=Dn(zo);gE&&z0(c)}}break}case $e:{if(Du)if(a===null){var _E=c.type,Ly={fiber:c,methods:null};if(c.stateNode=Ly,Ly.methods=C2(_E,Ly),ci){var __=T.listeners;if(__!=null){var EE=Jl();dn(__,c,EE)}}c.ref!==null&&(x2(c),z0(c))}else{if(ci){var DE=a.memoizedProps.listeners,wE=T.listeners;(DE!==wE||c.ref!==null)&&z0(c)}else c.ref!==null&&z0(c);a.ref!==c.ref&&x2(c)}break}default:throw Error("Unknown unit of work tag ("+c.tag+"). This error is likely caused by a bug in React. Please file an issue.")}return null}function Pm(a,c){switch(a.tag){case N:{var _=a.type;zi(_)&&Is(a);var T=a.effectTag;return T&f0?(a.effectTag=T&~f0|Hr,a):null}case U:{no(a),x0(a);var R=a.effectTag;if((R&Hr)!==_i)throw Error("The root failed to unmount after an error. This is likely a bug in React. Please file an issue.");return a.effectTag=R&~f0|Hr,a}case W:return Od(a),null;case pe:{if(da(a),Di){var j=a.memoizedState;if(j!==null&&j.dehydrated!==null){if(a.alternate===null)throw Error("Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.");c1()}}var V=a.effectTag;return V&f0?(a.effectTag=V&~f0|Hr,a):null}case wt:return da(a),null;case q:return no(a),null;case he:return $u(a),null;default:return null}}function $h(a){switch(a.tag){case N:{var c=a.type.childContextTypes;c!=null&&Is(a);break}case U:{no(a),x0(a);break}case W:{Od(a);break}case q:no(a);break;case pe:da(a);break;case wt:da(a);break;case he:$u(a);break;default:break}}function cp(a,c){return{value:a,source:c,stack:_r(c)}}var dp=function(a,c,_,T,R,j,V,te,oe){var Ie=Array.prototype.slice.call(arguments,3);try{c.apply(_,Ie)}catch(Ye){this.onError(Ye)}};if(typeof window!="undefined"&&typeof window.dispatchEvent=="function"&&typeof document!="undefined"&&typeof document.createEvent=="function"){var pp=document.createElement("react"),Im=function(a,c,_,T,R,j,V,te,oe){if(typeof document=="undefined")throw Error("The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous.");var Ie=document.createEvent("Event"),Ye=!0,pt=window.event,Nt=Object.getOwnPropertyDescriptor(window,"event"),Vt=Array.prototype.slice.call(arguments,3);function zt(){pp.removeEventListener(N0,zt,!1),typeof window.event!="undefined"&&window.hasOwnProperty("event")&&(window.event=pt),c.apply(_,Vt),Ye=!1}var vn,xr=!1,$r=!1;function wi(Vi){if(vn=Vi.error,xr=!0,vn===null&&Vi.colno===0&&Vi.lineno===0&&($r=!0),Vi.defaultPrevented&&vn!=null&&typeof vn=="object")try{vn._suppressLogging=!0}catch(it){}}var N0="react-"+(a||"invokeguardedcallback");window.addEventListener("error",wi),pp.addEventListener(N0,zt,!1),Ie.initEvent(N0,!1,!1),pp.dispatchEvent(Ie),Nt&&Object.defineProperty(window,"event",Nt),Ye&&(xr?$r&&(vn=new Error("A cross-origin error was thrown. React doesn't have access to the actual error object in development. See https://fb.me/react-crossorigin-error for more information.")):vn=new Error(`An error was thrown inside one of your components, but React doesn't know what it was. This is likely due to browser flakiness. React does its best to preserve the "Pause on exceptions" behavior of the DevTools, which requires some DEV-mode only tricks. It's possible that these don't work in your browser. Try triggering the error in production mode, or switching to a modern browser. If you suspect that this is actually an issue with React, please file an issue.`),this.onError(vn)),window.removeEventListener("error",wi)};dp=Im}var Bm=dp,Eo=!1,k2=null,Um={onError:function(a){Eo=!0,k2=a}};function sl(a,c,_,T,R,j,V,te,oe){Eo=!1,k2=null,Bm.apply(Um,arguments)}function Jn(){return Eo}function Vs(){if(Eo){var a=k2;return Eo=!1,k2=null,a}else throw Error("clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.")}function al(a){return!0}function n0(a){var c=al(a);if(c!==!1){var _=a.error;{var T=a.componentName,R=a.componentStack,j=a.errorBoundaryName,V=a.errorBoundaryFound,te=a.willRetry;if(_!=null&&_._suppressLogging){if(V&&te)return;console.error(_)}var oe=T?"The above error occurred in the <"+T+"> component:":"The above error occurred in one of your React components:",Ie;V&&j?te?Ie="React will try to recreate this component tree from scratch "+("using the error boundary you provided, "+j+"."):Ie="This error was initially handled by the error boundary "+j+`. +Recreating the tree from scratch failed so React will unmount the tree.`:Ie=`Consider adding an error boundary to your tree to customize error handling behavior. +Visit https://fb.me/react-error-boundaries to learn more about error boundaries.`;var Ye=""+oe+R+` + +`+(""+Ie);console.error(Ye)}}}var ev=null;ev=new Set;var Gs=typeof WeakSet=="function"?WeakSet:Set;function hp(a,c){var _=c.source,T=c.stack;T===null&&_!==null&&(T=_r(_));var R={componentName:_!==null?qt(_.type):null,componentStack:T!==null?T:"",error:c.value,errorBoundary:null,errorBoundaryName:null,errorBoundaryFound:!1,willRetry:!1};a!==null&&a.tag===N&&(R.errorBoundary=a.stateNode,R.errorBoundaryName=qt(a.type),R.errorBoundaryFound=!0,R.willRetry=!0);try{n0(R)}catch(j){setTimeout(function(){throw j})}}var jm=function(a,c){Oi(a,"componentWillUnmount"),c.props=a.memoizedProps,c.state=a.memoizedState,c.componentWillUnmount(),gi()};function tv(a,c){if(sl(null,jm,null,a,c),Jn()){var _=Vs();Pf(a,_)}}function vp(a){var c=a.ref;if(c!==null)if(typeof c=="function"){if(sl(null,c,null,null),Jn()){var _=Vs();Pf(a,_)}}else c.current=null}function zm(a,c){if(sl(null,c,null),Jn()){var _=Vs();Pf(a,_)}}function mp(a,c){switch(c.tag){case L:case ge:case le:{_c(ym,wf,c);return}case N:{if(c.effectTag&Co&&a!==null){var _=a.memoizedProps,T=a.memoizedState;Oi(c,"getSnapshotBeforeUpdate");var R=c.stateNode;c.type===c.elementType&&!ma&&(R.props!==c.memoizedProps&&Kt(!1,"Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(c.type)||"instance"),R.state!==c.memoizedState&&Kt(!1,"Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(c.type)||"instance"));var j=R.getSnapshotBeforeUpdate(c.elementType===c.type?_:bi(c.type,_),T);{var V=ev;j===void 0&&!V.has(c.type)&&(V.add(c.type),Ke(!1,"%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.",qt(c.type)))}R.__reactInternalSnapshotBeforeUpdate=j,gi()}return}case U:case W:case ne:case q:case Ge:return;default:throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}}function _c(a,c,_){var T=_.updateQueue,R=T!==null?T.lastEffect:null;if(R!==null){var j=R.next,V=j;do{if((V.tag&a)!==wf){var te=V.destroy;V.destroy=void 0,te!==void 0&&te()}if((V.tag&c)!==wf){var oe=V.create;V.destroy=oe();{var Ie=V.destroy;if(Ie!==void 0&&typeof Ie!="function"){var Ye=void 0;Ie===null?Ye=" You returned null. If your effect does not require clean up, return undefined (or nothing).":typeof Ie.then=="function"?Ye=` + +It looks like you wrote useEffect(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately: + +useEffect(() => { + async function fetchData() { + // You can await here + const response = await MyAPI.getData(someId); + // ... + } + fetchData(); +}, [someId]); // Or [] if effect doesn't need props or state + +Learn more about data fetching with Hooks: https://fb.me/react-hooks-data-fetching`:Ye=" You returned: "+Ie,Ke(!1,"An effect function must not return anything besides a function, which is used for clean-up.%s%s",Ye,_r(_))}}}V=V.next}while(V!==j)}}function Ea(a){if((a.effectTag&L0)!==_i)switch(a.tag){case L:case ge:case le:{_c(rr,wf,a),_c(wf,$c,a);break}default:break}}function yp(a,c,_,T){switch(_.tag){case L:case ge:case le:{_c(gm,ol,_);break}case N:{var R=_.stateNode;if(_.effectTag&mr)if(c===null)Oi(_,"componentDidMount"),_.type===_.elementType&&!ma&&(R.props!==_.memoizedProps&&Kt(!1,"Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance"),R.state!==_.memoizedState&&Kt(!1,"Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance")),R.componentDidMount(),gi();else{var j=_.elementType===_.type?c.memoizedProps:bi(_.type,c.memoizedProps),V=c.memoizedState;Oi(_,"componentDidUpdate"),_.type===_.elementType&&!ma&&(R.props!==_.memoizedProps&&Kt(!1,"Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance"),R.state!==_.memoizedState&&Kt(!1,"Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance")),R.componentDidUpdate(j,V,R.__reactInternalSnapshotBeforeUpdate),gi()}var te=_.updateQueue;te!==null&&(_.type===_.elementType&&!ma&&(R.props!==_.memoizedProps&&Kt(!1,"Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance"),R.state!==_.memoizedState&&Kt(!1,"Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance")),vo(_,te,R,T));return}case U:{var oe=_.updateQueue;if(oe!==null){var Ie=null;if(_.child!==null)switch(_.child.tag){case W:Ie=Ro(_.child.stateNode);break;case N:Ie=_.child.stateNode;break}vo(_,oe,Ie,T)}return}case W:{var Ye=_.stateNode;if(c===null&&_.effectTag&mr){var pt=_.type,Nt=_.memoizedProps;Pu(Ye,pt,Nt,_)}return}case ne:return;case q:return;case ze:{if(Zt){var Vt=_.memoizedProps.onRender;typeof Vt=="function"&&(Ln?Vt(_.memoizedProps.id,c===null?"mount":"update",_.actualDuration,_.treeBaseDuration,_.actualStartTime,kl(),a.memoizedInteractions):Vt(_.memoizedProps.id,c===null?"mount":"update",_.actualDuration,_.treeBaseDuration,_.actualStartTime,kl()))}return}case pe:{Nl(a,_);return}case wt:case Ge:case xt:case $e:return;default:throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}}function M2(a,c){if(P0)for(var _=a;;){if(_.tag===W){var T=_.stateNode;c?Oa(T):Zs(_.stateNode,_.memoizedProps)}else if(_.tag===ne){var R=_.stateNode;c?p0(R):K0(R,_.memoizedProps)}else if(_.tag===pe&&_.memoizedState!==null&&_.memoizedState.dehydrated===null){var j=_.child.sibling;j.return=_,_=j;continue}else if(_.child!==null){_.child.return=_,_=_.child;continue}if(_===a)return;for(;_.sibling===null;){if(_.return===null||_.return===a)return;_=_.return}_.sibling.return=_.return,_=_.sibling}}function ku(a){var c=a.ref;if(c!==null){var _=a.stateNode,T;switch(a.tag){case W:T=Ro(_);break;default:T=_}Du&&a.tag===$e&&(T=_.methods),typeof c=="function"?c(T):(c.hasOwnProperty("current")||Ke(!1,"Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().%s",qt(a.type),_r(a)),c.current=T)}}function zu(a){var c=a.ref;c!==null&&(typeof c=="function"?c(null):c.current=null)}function gp(a,c,_){switch(Rn(c),c.tag){case L:case ge:case Oe:case le:{var T=c.updateQueue;if(T!==null){var R=T.lastEffect;if(R!==null){var j=R.next,V=_>Wn?Wn:_;_n(V,function(){var $r=j;do{var wi=$r.destroy;wi!==void 0&&zm(c,wi),$r=$r.next}while($r!==j)})}}break}case N:{vp(c);var te=c.stateNode;typeof te.componentWillUnmount=="function"&&tv(c,te);return}case W:{if(ci){var oe=c.dependencies;if(oe!==null){var Ie=oe.responders;if(Ie!==null){for(var Ye=Array.from(Ie.values()),pt=0,Nt=Ye.length;pt component higher in the tree to provide a loading indicator or placeholder to display.`+_r(_))}Rp(),T=cp(T,_);var Nt=c;do{switch(Nt.tag){case U:{var Vt=T;Nt.effectTag|=f0,Nt.expirationTime=R;var zt=uv(Nt,Vt,R);r2(Nt,zt);return}case N:var vn=T,xr=Nt.type,$r=Nt.stateNode;if((Nt.effectTag&Hr)===_i&&(typeof xr.getDerivedStateFromError=="function"||$r!==null&&typeof $r.componentDidCatch=="function"&&!Lp($r))){Nt.effectTag|=f0,Nt.expirationTime=R;var wi=ov(Nt,vn,R);r2(Nt,wi);return}break;default:break}Nt=Nt.return}while(Nt!==null)}var wa=Math.ceil,Cr=at.ReactCurrentDispatcher,Ep=at.ReactCurrentOwner,fl=at.IsSomeRendererActing,cu=0,E1=1,ki=2,Dp=4,F2=8,Do=16,Ss=32,Mf=0,b2=1,wp=2,D1=3,w1=4,Sp=5,Zn=cu,cl=null,qn=null,q0=lt,k0=Mf,P2=null,Ll=bn,S1=bn,Dc=null,wc=lt,I2=!1,Tp=0,M0=500,fn=null,B2=!1,U2=null,Sc=null,Tc=!1,Cc=null,T1=y0,Cp=lt,Ka=null,Km=50,xc=0,j2=null,sv=50,C1=0,Nf=null,Lf=null,x1=lt;function Fl(){return(Zn&(Do|Ss))!==cu?Ju(vt()):(x1!==lt||(x1=Ju(vt())),x1)}function Ac(){return Ju(vt())}function Ff(a,c,_){var T=c.mode;if((T&Y)===Sr)return bn;var R=Xt();if((T&Qr)===Sr)return R===Ci?bn:Qu;if((Zn&Do)!==cu)return q0;var j;if(_!==null)j=ia(a,_.timeoutMs|0||pf);else switch(R){case Ci:j=bn;break;case Xr:j=La(a);break;case Wn:case Xu:j=ms(a);break;case m0:j=Qi;break;default:throw Error("Expected a valid priority level")}return cl!==null&&j===q0&&(j-=1),j}function Xm(a,c){hy(),gy(a);var _=z2(a,c);if(_===null){my(a);return}Up(a,c),ta();var T=Xt();if(c===bn?(Zn&F2)!==cu&&(Zn&(Do|Ss))===cu?(H(_,c),A1(_)):(Uo(_),H(_,c),Zn===cu&&It()):(Uo(_),H(_,c)),(Zn&Dp)!==cu&&(T===Xr||T===Ci))if(Ka===null)Ka=new Map([[_,c]]);else{var R=Ka.get(_);(R===void 0||R>c)&&Ka.set(_,c)}}var dl=Xm;function z2(a,c){a.expirationTimeR?T:R}function Uo(a){var c=a.lastExpiredTime;if(c!==lt){a.callbackExpirationTime=bn,a.callbackPriority=Ci,a.callbackNode=En(A1.bind(null,a));return}var _=q2(a),T=a.callbackNode;if(_===lt){T!==null&&(a.callbackNode=null,a.callbackExpirationTime=lt,a.callbackPriority=y0);return}var R=Fl(),j=$1(R,_);if(T!==null){var V=a.callbackPriority,te=a.callbackExpirationTime;if(te===_&&V>=j)return;er(T)}a.callbackExpirationTime=_,a.callbackPriority=j;var oe;_===bn?oe=En(A1.bind(null,a)):oo?oe=yn(j,H2.bind(null,a)):oe=yn(j,H2.bind(null,a),{timeout:bo(_)-vt()}),a.callbackNode=oe}function H2(a,c){if(x1=lt,c){var _=Fl();return qp(a,_),Uo(a),null}var T=q2(a);if(T!==lt){var R=a.callbackNode;if((Zn&(Do|Ss))!==cu)throw Error("Should not already be working.");if(Xa(),(a!==cl||T!==q0)&&(bf(a,T),ee(a,T)),qn!==null){var j=Zn;Zn|=Do;var V=pv(a),te=W2(a);ff(qn);do try{oy();break}catch(Ye){dv(a,Ye)}while(!0);if(mt(),Zn=j,hv(V),Ln&&V2(te),k0===b2){var oe=P2;throw Bp(),bf(a,T),Bf(a,T),Uo(a),oe}if(qn!==null)Bp();else{Tv();var Ie=a.finishedWork=a.current.alternate;a.finishedExpirationTime=T,Qm(a,Ie,k0,T)}if(Uo(a),a.callbackNode===R)return H2.bind(null,a)}}return null}function Qm(a,c,_,T){switch(cl=null,_){case Mf:case b2:throw Error("Root did not complete. This is a bug in React.");case wp:{qp(a,T>Qi?Qi:T);break}case D1:{Bf(a,T);var R=a.lastSuspendedTime;T===R&&(a.nextKnownPendingLevel=Op(c)),d();var j=Ll===bn;if(j&&!(Y0&&If.current)){var V=Tp+M0-vt();if(V>10){if(I2){var te=a.lastPingedTime;if(te===lt||te>=T){a.lastPingedTime=T,bf(a,T);break}}var oe=q2(a);if(oe!==lt&&oe!==T)break;if(R!==lt&&R!==T){a.lastPingedTime=R;break}a.timeoutHandle=St(r0.bind(null,a),V);break}}r0(a);break}case w1:{Bf(a,T);var Ie=a.lastSuspendedTime;if(T===Ie&&(a.nextKnownPendingLevel=Op(c)),d(),!(Y0&&If.current)){if(I2){var Ye=a.lastPingedTime;if(Ye===lt||Ye>=T){a.lastPingedTime=T,bf(a,T);break}}var pt=q2(a);if(pt!==lt&&pt!==T)break;if(Ie!==lt&&Ie!==T){a.lastPingedTime=Ie;break}var Nt;if(S1!==bn)Nt=bo(S1)-vt();else if(Ll===bn)Nt=0;else{var Vt=_v(Ll),zt=vt(),vn=bo(T)-zt,xr=zt-Vt;xr<0&&(xr=0),Nt=Pp(xr)-xr,vn10){a.timeoutHandle=St(r0.bind(null,a),Nt);break}}r0(a);break}case Sp:{if(!(Y0&&If.current)&&Ll!==bn&&Dc!==null){var $r=Ip(Ll,T,Dc);if($r>10){Bf(a,T),a.timeoutHandle=St(r0.bind(null,a),$r);break}}r0(a);break}default:throw Error("Unknown root exit status.")}}function A1(a){var c=a.lastExpiredTime,_=c!==lt?c:bn;if(a.finishedExpirationTime===_)r0(a);else{if((Zn&(Do|Ss))!==cu)throw Error("Should not already be working.");if(Xa(),(a!==cl||_!==q0)&&(bf(a,_),ee(a,_)),qn!==null){var T=Zn;Zn|=Do;var R=pv(a),j=W2(a);ff(qn);do try{Ev();break}catch(te){dv(a,te)}while(!0);if(mt(),Zn=T,hv(R),Ln&&V2(j),k0===b2){var V=P2;throw Bp(),bf(a,_),Bf(a,_),Uo(a),V}if(qn!==null)throw Error("Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.");Tv(),a.finishedWork=a.current.alternate,a.finishedExpirationTime=_,Jm(a,k0,_),Uo(a)}}return null}function Jm(a,c,_){cl=null,(c===D1||c===w1)&&d(),r0(a)}function Zm(a,c){qp(a,c),Uo(a),(Zn&(Do|Ss))===cu&&It()}function av(){if((Zn&(E1|Do|Ss))!==cu){(Zn&Do)!==cu&&Kt(!1,"unstable_flushDiscreteUpdates: Cannot flush updates when React is already rendering.");return}ey(),Xa()}function $m(a){return _n(Wn,a)}function fv(a,c,_,T){return _n(Ci,a.bind(null,c,_,T))}function ey(){if(Ka!==null){var a=Ka;Ka=null,a.forEach(function(c,_){qp(_,c),Uo(_)}),It()}}function ty(a,c){var _=Zn;Zn|=E1;try{return a(c)}finally{Zn=_,Zn===cu&&It()}}function ny(a,c){var _=Zn;Zn|=ki;try{return a(c)}finally{Zn=_,Zn===cu&&It()}}function cv(a,c,_,T){var R=Zn;Zn|=Dp;try{return _n(Xr,a.bind(null,c,_,T))}finally{Zn=R,Zn===cu&&It()}}function ry(a,c){var _=Zn;Zn&=~E1,Zn|=F2;try{return a(c)}finally{Zn=_,Zn===cu&&It()}}function xp(a,c){if((Zn&(Do|Ss))!==cu)throw Error("flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering.");var _=Zn;Zn|=E1;try{return _n(Ci,a.bind(null,c))}finally{Zn=_,It()}}function iy(a){var c=Zn;Zn|=E1;try{_n(Ci,a)}finally{Zn=c,Zn===cu&&It()}}function bf(a,c){a.finishedWork=null,a.finishedExpirationTime=lt;var _=a.timeoutHandle;if(_!==Jo&&(a.timeoutHandle=Jo,so(_)),qn!==null)for(var T=qn.return;T!==null;)$h(T),T=T.return;cl=a,qn=wo(a.current,null,c),q0=c,k0=Mf,P2=null,Ll=bn,S1=bn,Dc=null,wc=lt,I2=!1,Ln&&(Lf=null),wl.discardPendingWarnings(),Ys=null}function dv(a,c){do{try{if(mt(),m2(),nt(),qn===null||qn.return===null)return k0=b2,P2=c,null;Zt&&qn.mode&Jr&&a1(qn,!0),lv(a,qn.return,qn,c,q0),qn=Dv(qn)}catch(_){c=_;continue}return}while(!0)}function pv(a){var c=Cr.current;return Cr.current=o1,c===null?o1:c}function hv(a){Cr.current=a}function W2(a){if(Ln){var c=k.__interactionsRef.current;return k.__interactionsRef.current=a.memoizedInteractions,c}return null}function V2(a){Ln&&(k.__interactionsRef.current=a)}function Ap(){Tp=vt()}function vv(a,c){aQi&&(Ll=a),c!==null&&aQi&&(S1=a,Dc=c)}function G2(a){a>wc&&(wc=a)}function mv(){k0===Mf&&(k0=D1)}function yv(){(k0===Mf||k0===D1)&&(k0=w1),wc!==lt&&cl!==null&&(Bf(cl,q0),o_(cl,wc))}function Rp(){k0!==Sp&&(k0=wp)}function gv(){return k0===Mf}function _v(a){var c=bo(a);return c-pf}function uy(a,c){var _=bo(a);return _-(c.timeoutMs|0||pf)}function Ev(){for(;qn!==null;)qn=Y2(qn)}function oy(){for(;qn!==null&&!kn();)qn=Y2(qn)}function Y2(a){var c=a.alternate;Kl(a),_t(a);var _;return Zt&&(a.mode&Jr)!==Sr?(zd(a),_=R1(c,a,q0),a1(a,!0)):_=R1(c,a,q0),nt(),a.memoizedProps=a.pendingProps,_===null&&(_=Dv(a)),Ep.current=null,_}function Dv(a){qn=a;do{var c=qn.alternate,_=qn.return;if((qn.effectTag&F0)===_i){_t(qn);var T=void 0;if(!Zt||(qn.mode&Jr)===Sr?T=Zh(c,qn,q0):(zd(qn),T=Zh(c,qn,q0),a1(qn,!1)),Yr(qn),nt(),ly(qn),T!==null)return T;if(_!==null&&(_.effectTag&F0)===_i){_.firstEffect===null&&(_.firstEffect=qn.firstEffect),qn.lastEffect!==null&&(_.lastEffect!==null&&(_.lastEffect.nextEffect=qn.firstEffect),_.lastEffect=qn.lastEffect);var R=qn.effectTag;R>eu&&(_.lastEffect!==null?_.lastEffect.nextEffect=qn:_.firstEffect=qn,_.lastEffect=qn)}}else{var j=Pm(qn,q0);if(Zt&&(qn.mode&Jr)!==Sr){a1(qn,!1);for(var V=qn.actualDuration,te=qn.child;te!==null;)V+=te.actualDuration,te=te.sibling;qn.actualDuration=V}if(j!==null)return fo(qn),j.effectTag&=Hl,j;Yr(qn),_!==null&&(_.firstEffect=_.lastEffect=null,_.effectTag|=F0)}var oe=qn.sibling;if(oe!==null)return oe;qn=_}while(qn!==null);return k0===Mf&&(k0=Sp),null}function Op(a){var c=a.expirationTime,_=a.childExpirationTime;return c>_?c:_}function ly(a){if(!(q0!==hi&&a.childExpirationTime===hi)){var c=lt;if(Zt&&(a.mode&Jr)!==Sr){for(var _=a.actualDuration,T=a.selfBaseDuration,R=a.alternate===null||a.child!==a.alternate.child,j=a.child;j!==null;){var V=j.expirationTime,te=j.childExpirationTime;V>c&&(c=V),te>c&&(c=te),R&&(_+=j.actualDuration),T+=j.treeBaseDuration,j=j.sibling}a.actualDuration=_,a.treeBaseDuration=T}else for(var oe=a.child;oe!==null;){var Ie=oe.expirationTime,Ye=oe.childExpirationTime;Ie>c&&(c=Ie),Ye>c&&(c=Ye),oe=oe.sibling}a.childExpirationTime=c}}function r0(a){var c=Xt();return _n(Ci,kp.bind(null,a,c)),null}function kp(a,c){do Xa();while(Cc!==null);if(vy(),(Zn&(Do|Ss))!==cu)throw Error("Should not already be working.");var _=a.finishedWork,T=a.finishedExpirationTime;if(_===null)return null;if(a.finishedWork=null,a.finishedExpirationTime=lt,_===a.current)throw Error("Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.");a.callbackNode=null,a.callbackExpirationTime=lt,a.callbackPriority=y0,a.nextKnownPendingLevel=lt,J0();var R=Op(_);iE(a,T,R),a===cl&&(cl=null,qn=null,q0=lt);var j;if(_.effectTag>eu?_.lastEffect!==null?(_.lastEffect.nextEffect=_,j=_.firstEffect):j=_:j=_.firstEffect,j!==null){var V=Zn;Zn|=Ss;var te=W2(a);Ep.current=null,Te(),Bn(a.containerInfo),fn=j;do if(sl(null,sy,null),Jn()){if(fn===null)throw Error("Should be working on an effect.");var oe=Vs();Pf(fn,oe),fn=fn.nextEffect}while(fn!==null);et(),Zt&&Oh(),Ve(),fn=j;do if(sl(null,ay,null,a,c),Jn()){if(fn===null)throw Error("Should be working on an effect.");var Ie=Vs();Pf(fn,Ie),fn=fn.nextEffect}while(fn!==null);Gt(),Ir(a.containerInfo),a.current=_,Yt(),fn=j;do if(sl(null,Mp,null,a,T),Jn()){if(fn===null)throw Error("Should be working on an effect.");var Ye=Vs();Pf(fn,Ye),fn=fn.nextEffect}while(fn!==null);sr(),fn=null,se(),Ln&&V2(te),Zn=V}else a.current=_,Te(),et(),Zt&&Oh(),Ve(),Gt(),Yt(),sr();Z0();var pt=Tc;if(Tc)Tc=!1,Cc=a,Cp=T,T1=c;else for(fn=j;fn!==null;){var Nt=fn.nextEffect;fn.nextEffect=null,fn=Nt}var Vt=a.firstPendingTime;if(Vt!==lt){if(Ln){if(Lf!==null){var zt=Lf;Lf=null;for(var vn=0;vnWn?Wn:T1;return T1=y0,_n(a,Np)}}function Np(){if(Cc===null)return!1;var a=Cc,c=Cp;if(Cc=null,Cp=lt,(Zn&(Do|Ss))!==cu)throw Error("Cannot flush passive effects while already rendering.");var _=Zn;Zn|=Ss;for(var T=W2(a),R=a.current.firstEffect;R!==null;){{if(_t(R),sl(null,Ea,null,R),Jn()){if(R===null)throw Error("Should be working on an effect.");var j=Vs();Pf(R,j)}nt()}var V=R.nextEffect;R.nextEffect=null,R=V}return Ln&&(V2(T),de(a,c)),Zn=_,It(),C1=Cc===null?0:C1+1,!0}function Lp(a){return Sc!==null&&Sc.has(a)}function Fp(a){Sc===null?Sc=new Set([a]):Sc.add(a)}function fy(a){B2||(B2=!0,U2=a)}var cy=fy;function wv(a,c,_){var T=cp(_,c),R=uv(a,T,bn);Ua(a,R);var j=z2(a,bn);j!==null&&(Uo(j),H(j,bn))}function Pf(a,c){if(a.tag===U){wv(a,a,c);return}for(var _=a.return;_!==null;){if(_.tag===U){wv(_,a,c);return}else if(_.tag===N){var T=_.type,R=_.stateNode;if(typeof T.getDerivedStateFromError=="function"||typeof R.componentDidCatch=="function"&&!Lp(R)){var j=cp(c,a),V=ov(_,j,bn);Ua(_,V);var te=z2(_,bn);te!==null&&(Uo(te),H(te,bn));return}}_=_.return}}function bp(a,c,_){var T=a.pingCache;if(T!==null&&T.delete(c),cl===a&&q0===_){k0===w1||k0===D1&&Ll===bn&&vt()-TpKm)throw xc=0,j2=null,Error("Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.");C1>sv&&(C1=0,Kt(!1,"Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render."))}function vy(){wl.flushLegacyContextWarning(),fi&&wl.flushPendingUnsafeLifecycleWarnings()}function Tv(){var a=!0;cf(Nf,a),Nf=null}function Bp(){var a=!1;cf(Nf,a),Nf=null}function Up(a,c){Pr&&cl!==null&&c>q0&&(Nf=a)}var K2=null;function my(a){{var c=a.tag;if(c!==U&&c!==N&&c!==L&&c!==ge&&c!==Oe&&c!==le)return;var _=qt(a.type)||"ReactComponent";if(K2!==null){if(K2.has(_))return;K2.add(_)}else K2=new Set([_]);Ke(!1,"Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in %s.%s",c===N?"the componentWillUnmount method":"a useEffect cleanup function",_r(a))}}var R1;if(G0){var yy=null;R1=function(a,c,_){var T=i_(yy,c);try{return op(a,c,_)}catch(j){if(j!==null&&typeof j=="object"&&typeof j.then=="function")throw j;if(mt(),m2(),$h(c),i_(c,T),Zt&&c.mode&Jr&&zd(c),sl(null,op,null,a,c,_),Jn()){var R=Vs();throw R}else throw j}}}else R1=op;var Cv=!1,xv=!1;function gy(a){if(a.tag===N)switch(Ar){case"getChildContext":if(xv)return;Ke(!1,"setState(...): Cannot call setState() inside getChildContext()"),xv=!0;break;case"render":if(Cv)return;Ke(!1,"Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."),Cv=!0;break}}var If={current:!1};function jp(a){fs===!0&&fl.current===!0&&If.current!==!0&&Ke(!1,`It looks like you're using the wrong act() around your test interactions. +Be sure to use the matching version of act() corresponding to your renderer: + +// for react-dom: +import {act} from 'react-dom/test-utils'; +// ... +act(() => ...); + +// for react-test-renderer: +import TestRenderer from 'react-test-renderer'; +const {act} = TestRenderer; +// ... +act(() => ...);%s`,_r(a))}function Av(a){fs===!0&&(a.mode&cr)!==Sr&&fl.current===!1&&If.current===!1&&Ke(!1,`An update to %s ran an effect, but was not wrapped in act(...). + +When testing, code that causes React state updates should be wrapped into act(...): + +act(() => { + /* fire events that update state */ +}); +/* assert on the output */ + +This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act%s`,qt(a.type),_r(a))}function _y(a){fs===!0&&Zn===cu&&fl.current===!1&&If.current===!1&&Ke(!1,`An update to %s inside a test was not wrapped in act(...). + +When testing, code that causes React state updates should be wrapped into act(...): + +act(() => { + /* fire events that update state */ +}); +/* assert on the output */ + +This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act%s`,qt(a.type),_r(a))}var Ey=_y,zp=!1;function Dy(a){zp===!1&&t.unstable_flushAllWithoutAsserting===void 0&&(a.mode&Y||a.mode&Qr?(zp=!0,Ke(!1,`In Concurrent or Sync modes, the "scheduler" module needs to be mocked to guarantee consistent behaviour across tests and browsers. For example, with jest: +jest.mock('scheduler', () => require('scheduler/unstable_mock')); + +For more info, visit https://fb.me/react-mock-scheduler`)):Yi===!0&&(zp=!0,Ke(!1,`Starting from React v17, the "scheduler" module will need to be mocked to guarantee consistent behaviour across tests and browsers. For example, with jest: +jest.mock('scheduler', () => require('scheduler/unstable_mock')); + +For more info, visit https://fb.me/react-mock-scheduler`)))}var Ys=null;function wy(a){{var c=Xt();if((a.mode&Qr)!==_i&&(c===Xr||c===Ci))for(var _=a;_!==null;){var T=_.alternate;if(T!==null)switch(_.tag){case N:var R=T.updateQueue;if(R!==null)for(var j=R.firstUpdate;j!==null;){var V=j.priority;if(V===Xr||V===Ci){Ys===null?Ys=new Set([qt(_.type)]):Ys.add(qt(_.type));break}j=j.next}break;case L:case ge:case le:if(_.memoizedState!==null&&_.memoizedState.baseUpdate!==null)for(var te=_.memoizedState.baseUpdate;te!==null;){var oe=te.priority;if(oe===Xr||oe===Ci){Ys===null?Ys=new Set([qt(_.type)]):Ys.add(qt(_.type));break}if(te.next===_.memoizedState.baseUpdate)break;te=te.next}break;default:break}_=_.return}}}function d(){if(Ys!==null){var a=[];Ys.forEach(function(c){return a.push(c)}),Ys=null,a.length>0&&Ke(!1,`%s triggered a user-blocking update that suspended. + +The fix is to split the update into multiple parts: a user-blocking update to provide immediate feedback, and another update that triggers the bulk of the changes. + +Refer to the documentation for useTransition to learn how to implement this pattern.`,a.sort().join(", "))}}function v(a,c){return c*1e3+a.interactionThreadID}function x(a){!Ln||(Lf===null?Lf=[a]:Lf.push(a))}function b(a,c,_){if(!!Ln&&_.size>0){var T=a.pendingInteractionMap,R=T.get(c);R!=null?_.forEach(function(te){R.has(te)||te.__count++,R.add(te)}):(T.set(c,new Set(_)),_.forEach(function(te){te.__count++}));var j=k.__subscriberRef.current;if(j!==null){var V=v(a,c);j.onWorkScheduled(_,V)}}}function H(a,c){!Ln||b(a,c,k.__interactionsRef.current)}function ee(a,c){if(!!Ln){var _=new Set;if(a.pendingInteractionMap.forEach(function(j,V){V>=c&&j.forEach(function(te){return _.add(te)})}),a.memoizedInteractions=_,_.size>0){var T=k.__subscriberRef.current;if(T!==null){var R=v(a,c);try{T.onWorkStarted(_,R)}catch(j){yn(Ci,function(){throw j})}}}}}function de(a,c){if(!!Ln){var _=a.firstPendingTime,T;try{if(T=k.__subscriberRef.current,T!==null&&a.memoizedInteractions.size>0){var R=v(a,c);T.onWorkStopped(a.memoizedInteractions,R)}}catch(V){yn(Ci,function(){throw V})}finally{var j=a.pendingInteractionMap;j.forEach(function(V,te){te>_&&(j.delete(te),V.forEach(function(oe){if(oe.__count--,T!==null&&oe.__count===0)try{T.onInteractionScheduledWorkCompleted(oe)}catch(Ie){yn(Ci,function(){throw Ie})}}))})}}}var ye=null,be=null,gt=!1,Dt=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined";function Rt(a){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined")return!1;var c=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(c.isDisabled)return!0;if(!c.supportsFiber)return Ke(!1,"The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://fb.me/react-devtools"),!0;try{var _=c.inject(a);ye=function(T,R){try{var j=(T.current.effectTag&Hr)===Hr;if(Zt){var V=Ac(),te=$1(V,R);c.onCommitFiberRoot(_,T,te,j)}else c.onCommitFiberRoot(_,T,void 0,j)}catch(oe){gt||(gt=!0,Ke(!1,"React DevTools encountered an error: %s",oe))}},be=function(T){try{c.onCommitFiberUnmount(_,T)}catch(R){gt||(gt=!0,Ke(!1,"React DevTools encountered an error: %s",R))}}}catch(T){Ke(!1,"React DevTools encountered an error: %s.",T)}return!0}function rn(a,c){typeof ye=="function"&&ye(a,c)}function Rn(a){typeof be=="function"&&be(a)}var $n;{$n=!1;try{var Nr=Object.preventExtensions({}),ir=new Map([[Nr,null]]),Zr=new Set([Nr]);ir.set(0,0),Zr.add(0)}catch(a){$n=!0}}var ui=1;function bl(a,c,_,T){this.tag=a,this.key=_,this.elementType=null,this.type=null,this.stateNode=null,this.return=null,this.child=null,this.sibling=null,this.index=0,this.ref=null,this.pendingProps=c,this.memoizedProps=null,this.updateQueue=null,this.memoizedState=null,this.dependencies=null,this.mode=T,this.effectTag=_i,this.nextEffect=null,this.firstEffect=null,this.lastEffect=null,this.expirationTime=lt,this.childExpirationTime=lt,this.alternate=null,Zt&&(this.actualDuration=Number.NaN,this.actualStartTime=Number.NaN,this.selfBaseDuration=Number.NaN,this.treeBaseDuration=Number.NaN,this.actualDuration=0,this.actualStartTime=-1,this.selfBaseDuration=0,this.treeBaseDuration=0),Pr&&(this._debugID=ui++,this._debugIsCurrentlyTiming=!1),this._debugSource=null,this._debugOwner=null,this._debugNeedsRemount=!1,this._debugHookTypes=null,!$n&&typeof Object.preventExtensions=="function"&&Object.preventExtensions(this)}var Wi=function(a,c,_,T){return new bl(a,c,_,T)};function uo(a){var c=a.prototype;return!!(c&&c.isReactComponent)}function i0(a){return typeof a=="function"&&!uo(a)&&a.defaultProps===void 0}function Ts(a){if(typeof a=="function")return uo(a)?N:L;if(a!=null){var c=a.$$typeof;if(c===An)return ge;if(c===Wt)return Oe}return C}function wo(a,c,_){var T=a.alternate;T===null?(T=Wi(a.tag,c,a.key,a.mode),T.elementType=a.elementType,T.type=a.type,T.stateNode=a.stateNode,T._debugID=a._debugID,T._debugSource=a._debugSource,T._debugOwner=a._debugOwner,T._debugHookTypes=a._debugHookTypes,T.alternate=a,a.alternate=T):(T.pendingProps=c,T.effectTag=_i,T.nextEffect=null,T.firstEffect=null,T.lastEffect=null,Zt&&(T.actualDuration=0,T.actualStartTime=-1)),T.childExpirationTime=a.childExpirationTime,T.expirationTime=a.expirationTime,T.child=a.child,T.memoizedProps=a.memoizedProps,T.memoizedState=a.memoizedState,T.updateQueue=a.updateQueue;var R=a.dependencies;switch(T.dependencies=R===null?null:{expirationTime:R.expirationTime,firstContext:R.firstContext,responders:R.responders},T.sibling=a.sibling,T.index=a.index,T.ref=a.ref,Zt&&(T.selfBaseDuration=a.selfBaseDuration,T.treeBaseDuration=a.treeBaseDuration),T._debugNeedsRemount=a._debugNeedsRemount,T.tag){case C:case L:case le:T.type=Zu(a.type);break;case N:T.type=U0(a.type);break;case ge:T.type=vf(a.type);break;default:break}return T}function Rv(a,c){a.effectTag&=ai,a.nextEffect=null,a.firstEffect=null,a.lastEffect=null;var _=a.alternate;if(_===null)a.childExpirationTime=lt,a.expirationTime=c,a.child=null,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,Zt&&(a.selfBaseDuration=0,a.treeBaseDuration=0);else{a.childExpirationTime=_.childExpirationTime,a.expirationTime=_.expirationTime,a.child=_.child,a.memoizedProps=_.memoizedProps,a.memoizedState=_.memoizedState,a.updateQueue=_.updateQueue;var T=_.dependencies;a.dependencies=T===null?null:{expirationTime:T.expirationTime,firstContext:T.firstContext,responders:T.responders},Zt&&(a.selfBaseDuration=_.selfBaseDuration,a.treeBaseDuration=_.treeBaseDuration)}return a}function X4(a){var c;return a===R0?c=Qr|Y|cr:a===I0?c=Y|cr:c=Sr,Zt&&Dt&&(c|=Jr),Wi(U,null,null,c)}function Sy(a,c,_,T,R,j){var V,te=C,oe=a;if(typeof a=="function")uo(a)?(te=N,oe=U0(oe)):oe=Zu(oe);else if(typeof a=="string")te=W;else{e:switch(a){case ue:return Qa(_.children,R,j,c);case ln:te=we,R|=Qr|Y|cr;break;case je:te=we,R|=cr;break;case ct:return J4(_,R,j,c);case nr:return Z4(_,R,j,c);case un:return $4(_,R,j,c);default:{if(typeof a=="object"&&a!==null)switch(a.$$typeof){case At:te=he;break e;case en:te=Se;break e;case An:te=ge,oe=vf(oe);break e;case Wt:te=Oe;break e;case vr:te=Ue,oe=null;break e;case w:if(Ht)return r_(a,_,R,j,c);break;case Vn:if(Du)return Q4(a,_,R,j,c)}var Ie="";{(a===void 0||typeof a=="object"&&a!==null&&Object.keys(a).length===0)&&(Ie+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var Ye=T?qt(T.type):null;Ye&&(Ie+=` + +Check the render method of \``+Ye+"`.")}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+(a==null?a:typeof a)+"."+Ie)}}}return V=Wi(te,_,c,R),V.elementType=a,V.type=oe,V.expirationTime=j,V}function Ty(a,c,_){var T=null;T=a._owner;var R=a.type,j=a.key,V=a.props,te=Sy(R,j,V,T,c,_);return te._debugSource=a._source,te._debugOwner=a._owner,te}function Qa(a,c,_,T){var R=Wi(m,a,T,c);return R.expirationTime=_,R}function r_(a,c,_,T,R){var j=Wi(xt,c,R,_);return j.elementType=a,j.type=a,j.expirationTime=T,j}function Q4(a,c,_,T,R){var j=Wi($e,c,R,_);return j.type=a,j.elementType=a,j.expirationTime=T,j}function J4(a,c,_,T){(typeof a.id!="string"||typeof a.onRender!="function")&&Ke(!1,'Profiler must specify an "id" string and "onRender" function as props');var R=Wi(ze,a,T,c|Jr);return R.elementType=ct,R.type=ct,R.expirationTime=_,R}function Z4(a,c,_,T){var R=Wi(pe,a,T,c);return R.type=nr,R.elementType=nr,R.expirationTime=_,R}function $4(a,c,_,T){var R=Wi(wt,a,T,c);return R.type=un,R.elementType=un,R.expirationTime=_,R}function Cy(a,c,_){var T=Wi(ne,a,null,c);return T.expirationTime=_,T}function eE(){var a=Wi(W,null,null,Sr);return a.elementType="DELETED",a.type="DELETED",a}function tE(a){var c=Wi(rt,null,null,Sr);return c.stateNode=a,c}function xy(a,c,_){var T=a.children!==null?a.children:[],R=Wi(q,T,a.key,c);return R.expirationTime=_,R.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},R}function i_(a,c){return a===null&&(a=Wi(C,null,null,Sr)),a.tag=c.tag,a.key=c.key,a.elementType=c.elementType,a.type=c.type,a.stateNode=c.stateNode,a.return=c.return,a.child=c.child,a.sibling=c.sibling,a.index=c.index,a.ref=c.ref,a.pendingProps=c.pendingProps,a.memoizedProps=c.memoizedProps,a.updateQueue=c.updateQueue,a.memoizedState=c.memoizedState,a.dependencies=c.dependencies,a.mode=c.mode,a.effectTag=c.effectTag,a.nextEffect=c.nextEffect,a.firstEffect=c.firstEffect,a.lastEffect=c.lastEffect,a.expirationTime=c.expirationTime,a.childExpirationTime=c.childExpirationTime,a.alternate=c.alternate,Zt&&(a.actualDuration=c.actualDuration,a.actualStartTime=c.actualStartTime,a.selfBaseDuration=c.selfBaseDuration,a.treeBaseDuration=c.treeBaseDuration),a._debugID=c._debugID,a._debugSource=c._debugSource,a._debugOwner=c._debugOwner,a._debugIsCurrentlyTiming=c._debugIsCurrentlyTiming,a._debugNeedsRemount=c._debugNeedsRemount,a._debugHookTypes=c._debugHookTypes,a}function nE(a,c,_){this.tag=c,this.current=null,this.containerInfo=a,this.pendingChildren=null,this.pingCache=null,this.finishedExpirationTime=lt,this.finishedWork=null,this.timeoutHandle=Jo,this.context=null,this.pendingContext=null,this.hydrate=_,this.callbackNode=null,this.callbackPriority=y0,this.firstPendingTime=lt,this.firstSuspendedTime=lt,this.lastSuspendedTime=lt,this.nextKnownPendingLevel=lt,this.lastPingedTime=lt,this.lastExpiredTime=lt,Ln&&(this.interactionThreadID=k.unstable_getThreadID(),this.memoizedInteractions=new Set,this.pendingInteractionMap=new Map),Ui&&(this.hydrationCallbacks=null)}function rE(a,c,_,T){var R=new nE(a,c,_);Ui&&(R.hydrationCallbacks=T);var j=X4(c);return R.current=j,j.stateNode=R,R}function u_(a,c){var _=a.firstSuspendedTime,T=a.lastSuspendedTime;return _!==lt&&_>=c&&T<=c}function Bf(a,c){var _=a.firstSuspendedTime,T=a.lastSuspendedTime;_c||_===lt)&&(a.lastSuspendedTime=c),c<=a.lastPingedTime&&(a.lastPingedTime=lt),c<=a.lastExpiredTime&&(a.lastExpiredTime=lt)}function o_(a,c){var _=a.firstPendingTime;c>_&&(a.firstPendingTime=c);var T=a.firstSuspendedTime;T!==lt&&(c>=T?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=lt:c>=a.lastSuspendedTime&&(a.lastSuspendedTime=c+1),c>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=c))}function iE(a,c,_){a.firstPendingTime=_,c<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=lt:c<=a.firstSuspendedTime&&(a.firstSuspendedTime=c-1),c<=a.lastPingedTime&&(a.lastPingedTime=lt),c<=a.lastExpiredTime&&(a.lastExpiredTime=lt)}function qp(a,c){var _=a.lastExpiredTime;(_===lt||_>c)&&(a.lastExpiredTime=c)}var uE={debugTool:null},Ov=uE,Ay,Ry;Ay=!1,Ry={};function oE(a){if(!a)return Sn;var c=jt(a),_=El(c);if(c.tag===N){var T=c.type;if(zi(T))return A0(c,T,_)}return _}function Oy(a){var c=jt(a);if(c===void 0)throw typeof a.render=="function"?Error("Unable to find node on an unmounted component."):Error("Argument appears to not be a ReactComponent. Keys: "+Object.keys(a));var _=b0(c);return _===null?null:_.stateNode}function lE(a,c){{var _=jt(a);if(_===void 0)throw typeof a.render=="function"?Error("Unable to find node on an unmounted component."):Error("Argument appears to not be a ReactComponent. Keys: "+Object.keys(a));var T=b0(_);if(T===null)return null;if(T.mode&cr){var R=qt(_.type)||"Component";Ry[R]||(Ry[R]=!0,_.mode&cr?Ke(!1,"%s is deprecated in StrictMode. %s was passed an instance of %s which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node%s",c,c,R,_r(T)):Ke(!1,"%s is deprecated in StrictMode. %s was passed an instance of %s which renders StrictMode children. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node%s",c,c,R,_r(T)))}return T.stateNode}return Oy(a)}function sE(a,c,_,T){return rE(a,c,_,T)}function l_(a,c,_,T){var R=c.current,j=Fl();typeof jest!="undefined"&&(Dy(R),jp(R));var V=mo(),te=Ff(j,R,V);Ov.debugTool&&(R.alternate===null?Ov.debugTool.onMountContainer(c):a===null?Ov.debugTool.onUnmountContainer(c):Ov.debugTool.onUpdateContainer(c));var oe=oE(_);c.context===null?c.context=oe:c.pendingContext=oe,Ar==="render"&&Cn!==null&&!Ay&&(Ay=!0,Ke(!1,`Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate. + +Check the render method of %s.`,qt(Cn.type)||"Unknown"));var Ie=gu(te,V);return Ie.payload={element:a},T=T===void 0?null:T,T!==null&&(typeof T!="function"&&Ke(!1,"render(...): Expected the last optional `callback` argument to be a function. Instead received: %s.",T),Ie.callback=T),Ua(R,Ie),dl(R,te),te}function aE(a){var c=a.current;if(!c.child)return null;switch(c.child.tag){case W:return Ro(c.child.stateNode);default:return c.child.stateNode}}function fE(a){switch(a.tag){case U:var c=a.stateNode;c.hydrate&&Zm(c,c.firstPendingTime);break;case pe:xp(function(){return dl(a,bn)});var _=La(Fl());kv(a,_);break}}function s_(a,c){var _=a.memoizedState;_!==null&&_.dehydrated!==null&&_.retryTime=c.length)return T;var R=c[_],j=Array.isArray(a)?a.slice():f({},a);return j[R]=Ny(a[R],c,_+1,T),j},h_=function(a,c,_){return Ny(a,c,0,_)};f_=function(a,c,_,T){for(var R=a.memoizedState;R!==null&&c>0;)R=R.next,c--;if(R!==null){var j=h_(R.memoizedState,_,T);R.memoizedState=j,R.baseState=j,a.memoizedProps=f({},a.memoizedProps),dl(a,bn)}},c_=function(a,c,_){a.pendingProps=h_(a.memoizedProps,c,_),a.alternate&&(a.alternate.pendingProps=a.pendingProps),dl(a,bn)},d_=function(a){dl(a,bn)},p_=function(a){My=a}}function hE(a){var c=a.findFiberByHostInstance,_=at.ReactCurrentDispatcher;return Rt(f({},a,{overrideHookState:f_,overrideProps:c_,setSuspenseHandler:p_,scheduleUpdate:d_,currentDispatcherRef:_,findHostInstanceByFiber:function(T){var R=b0(T);return R===null?null:R.stateNode},findFiberByHostInstance:function(T){return c?c(T):null},findHostInstancesForRefresh:n2,scheduleRefresh:Sl,scheduleRoot:_s,setRefreshHandler:Ia,getCurrentFiber:function(){return Cn}}))}var v_=Object.freeze({createContainer:sE,updateContainer:l_,batchedEventUpdates:ny,batchedUpdates:ty,unbatchedUpdates:ry,deferredUpdates:$m,syncUpdates:fv,discreteUpdates:cv,flushDiscreteUpdates:av,flushControlled:iy,flushSync:xp,flushPassiveEffects:Xa,IsThisRendererActing:If,getPublicRootInstance:aE,attemptSynchronousHydration:fE,attemptUserBlockingHydration:cE,attemptContinuousHydration:ky,attemptHydrationAtCurrentPriority:dE,findHostInstance:Oy,findHostInstanceWithWarning:lE,findHostInstanceWithNoPortals:pE,shouldSuspend:a_,injectIntoDevTools:hE}),vE=v_.default||v_;hg.exports=vE;var mE=hg.exports;return hg.exports=i,mE})});var D9=ce((zne,cw)=>{"use strict";process.env.NODE_ENV==="production"?cw.exports=m9():cw.exports=E9()});var S9=ce((qne,w9)=>{"use strict";var ZK={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};w9.exports=ZK});var A9=ce((Hne,T9)=>{"use strict";var $K=Object.assign||function(i){for(var o=1;o"}}]),i}(),C9=function(){v4(i,null,[{key:"fromJS",value:function(f){var p=f.width,E=f.height;return new i(p,E)}}]);function i(o,f){pw(this,i),this.width=o,this.height=f}return v4(i,[{key:"fromJS",value:function(f){f(this.width,this.height)}},{key:"toString",value:function(){return""}}]),i}(),x9=function(){function i(o,f){pw(this,i),this.unit=o,this.value=f}return v4(i,[{key:"fromJS",value:function(f){f(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case Jf.UNIT_POINT:return String(this.value);case Jf.UNIT_PERCENT:return this.value+"%";case Jf.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),i}();T9.exports=function(i,o){function f(k,L,N){var C=k[L];k[L]=function(){for(var U=arguments.length,q=Array(U),W=0;W1?q-1:0),ne=1;ne1&&arguments[1]!==void 0?arguments[1]:NaN,N=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Jf.DIRECTION_LTR;return k.call(this,L,N,C)}),$K({Config:o.Config,Node:o.Node,Layout:i("Layout",eX),Size:i("Size",C9),Value:i("Value",x9),getInstanceCount:function(){return o.getInstanceCount.apply(o,arguments)}},Jf)}});var R9=ce((exports,module)=>{(function(i,o){typeof define=="function"&&define.amd?define([],function(){return o}):typeof module=="object"&&module.exports?module.exports=o:(i.nbind=i.nbind||{}).init=o})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(i,o){return function(){i&&i.apply(this,arguments);try{Module.ccall("nbind_init")}catch(f){o(f);return}o(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module!="undefined"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof require=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(o,f){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),o=nodePath.normalize(o);var p=nodeFS.readFileSync(o);return f?p:p.toString()},Module.readBinary=function(o){var f=Module.read(o,!0);return f.buffer||(f=new Uint8Array(f)),assert(f.buffer),f},Module.load=function(o){globalEval(read(o))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module!="undefined"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr!="undefined"&&(Module.printErr=printErr),typeof read!="undefined"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(o){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(o));var f=read(o,"binary");return assert(typeof f=="object"),f},typeof scriptArgs!="undefined"?Module.arguments=scriptArgs:typeof arguments!="undefined"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(i,o){quit(i)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(o){var f=new XMLHttpRequest;return f.open("GET",o,!1),f.send(null),f.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(o){var f=new XMLHttpRequest;return f.open("GET",o,!1),f.responseType="arraybuffer",f.send(null),new Uint8Array(f.response)}),Module.readAsync=function(o,f,p){var E=new XMLHttpRequest;E.open("GET",o,!0),E.responseType="arraybuffer",E.onload=function(){E.status==200||E.status==0&&E.response?f(E.response):p()},E.onerror=p,E.send(null)},typeof arguments!="undefined"&&(Module.arguments=arguments),typeof console!="undefined")Module.print||(Module.print=function(o){console.log(o)}),Module.printErr||(Module.printErr=function(o){console.warn(o)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump!="undefined"?function(i){dump(i)}:function(i){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle=="undefined"&&(Module.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function globalEval(i){eval.call(null,i)}!Module.load&&Module.read&&(Module.load=function(o){globalEval(Module.read(o))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(i,o){throw o}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(i){return tempRet0=i,i},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(i){STACKTOP=i},getNativeTypeSize:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(i[i.length-1]==="*")return Runtime.QUANTUM_SIZE;if(i[0]==="i"){var o=parseInt(i.substr(1));return assert(o%8==0),o/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(Runtime.getNativeTypeSize(i),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,o){return o==="double"||o==="i64"?i&7&&(assert((i&7)==4),i+=4):assert((i&3)==0),i},getAlignSize:function(i,o,f){return!f&&(i=="i64"||i=="double")?8:i?Math.min(o||(i?Runtime.getNativeFieldSize(i):0),Runtime.QUANTUM_SIZE):Math.min(o,8)},dynCall:function(i,o,f){return f&&f.length?Module["dynCall_"+i].apply(null,[o].concat(f)):Module["dynCall_"+i].call(null,o)},functionPointers:[],addFunction:function(i){for(var o=0;o>2],f=(o+i+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=f,f>=TOTAL_MEMORY){var p=enlargeMemory();if(!p)return HEAP32[DYNAMICTOP_PTR>>2]=o,0}return o},alignMemory:function(i,o){var f=i=Math.ceil(i/(o||16))*(o||16);return f},makeBigInt:function(i,o,f){var p=f?+(i>>>0)+ +(o>>>0)*4294967296:+(i>>>0)+ +(o|0)*4294967296;return p},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(i,o){i||abort("Assertion failed: "+o)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(i){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(i){var o=Runtime.stackAlloc(i.length);return writeArrayToMemory(i,o),o},stringToC:function(i){var o=0;if(i!=null&&i!==0){var f=(i.length<<2)+1;o=Runtime.stackAlloc(f),stringToUTF8(i,o,f)}return o}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(o,f,p,E,t){var k=getCFunc(o),L=[],N=0;if(E)for(var C=0;C>0]=o;break;case"i8":HEAP8[i>>0]=o;break;case"i16":HEAP16[i>>1]=o;break;case"i32":HEAP32[i>>2]=o;break;case"i64":tempI64=[o>>>0,(tempDouble=o,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[i>>2]=tempI64[0],HEAP32[i+4>>2]=tempI64[1];break;case"float":HEAPF32[i>>2]=o;break;case"double":HEAPF64[i>>3]=o;break;default:abort("invalid type for setValue: "+f)}}Module.setValue=setValue;function getValue(i,o,f){switch(o=o||"i8",o.charAt(o.length-1)==="*"&&(o="i32"),o){case"i1":return HEAP8[i>>0];case"i8":return HEAP8[i>>0];case"i16":return HEAP16[i>>1];case"i32":return HEAP32[i>>2];case"i64":return HEAP32[i>>2];case"float":return HEAPF32[i>>2];case"double":return HEAPF64[i>>3];default:abort("invalid type for setValue: "+o)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(i,o,f,p){var E,t;typeof i=="number"?(E=!0,t=i):(E=!1,t=i.length);var k=typeof o=="string"?o:null,L;if(f==ALLOC_NONE?L=p:L=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][f===void 0?ALLOC_STATIC:f](Math.max(t,k?1:o.length)),E){var p=L,N;for(assert((L&3)==0),N=L+(t&~3);p>2]=0;for(N=L+t;p>0]=0;return L}if(k==="i8")return i.subarray||i.slice?HEAPU8.set(i,L):HEAPU8.set(new Uint8Array(i),L),L;for(var C=0,U,q,W;C>0],f|=p,!(p==0&&!o||(E++,o&&E==o)););o||(o=E);var t="";if(f<128){for(var k=1024,L;o>0;)L=String.fromCharCode.apply(String,HEAPU8.subarray(i,i+Math.min(o,k))),t=t?t+L:L,i+=k,o-=k;return t}return Module.UTF8ToString(i)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(i){for(var o="";;){var f=HEAP8[i++>>0];if(!f)return o;o+=String.fromCharCode(f)}}Module.AsciiToString=AsciiToString;function stringToAscii(i,o){return writeAsciiToMemory(i,o,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(i,o){for(var f=o;i[f];)++f;if(f-o>16&&i.subarray&&UTF8Decoder)return UTF8Decoder.decode(i.subarray(o,f));for(var p,E,t,k,L,N,C="";;){if(p=i[o++],!p)return C;if(!(p&128)){C+=String.fromCharCode(p);continue}if(E=i[o++]&63,(p&224)==192){C+=String.fromCharCode((p&31)<<6|E);continue}if(t=i[o++]&63,(p&240)==224?p=(p&15)<<12|E<<6|t:(k=i[o++]&63,(p&248)==240?p=(p&7)<<18|E<<12|t<<6|k:(L=i[o++]&63,(p&252)==248?p=(p&3)<<24|E<<18|t<<12|k<<6|L:(N=i[o++]&63,p=(p&1)<<30|E<<24|t<<18|k<<12|L<<6|N))),p<65536)C+=String.fromCharCode(p);else{var U=p-65536;C+=String.fromCharCode(55296|U>>10,56320|U&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(i){return UTF8ArrayToString(HEAPU8,i)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(i,o,f,p){if(!(p>0))return 0;for(var E=f,t=f+p-1,k=0;k=55296&&L<=57343&&(L=65536+((L&1023)<<10)|i.charCodeAt(++k)&1023),L<=127){if(f>=t)break;o[f++]=L}else if(L<=2047){if(f+1>=t)break;o[f++]=192|L>>6,o[f++]=128|L&63}else if(L<=65535){if(f+2>=t)break;o[f++]=224|L>>12,o[f++]=128|L>>6&63,o[f++]=128|L&63}else if(L<=2097151){if(f+3>=t)break;o[f++]=240|L>>18,o[f++]=128|L>>12&63,o[f++]=128|L>>6&63,o[f++]=128|L&63}else if(L<=67108863){if(f+4>=t)break;o[f++]=248|L>>24,o[f++]=128|L>>18&63,o[f++]=128|L>>12&63,o[f++]=128|L>>6&63,o[f++]=128|L&63}else{if(f+5>=t)break;o[f++]=252|L>>30,o[f++]=128|L>>24&63,o[f++]=128|L>>18&63,o[f++]=128|L>>12&63,o[f++]=128|L>>6&63,o[f++]=128|L&63}}return o[f]=0,f-E}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(i,o,f){return stringToUTF8Array(i,HEAPU8,o,f)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(i){for(var o=0,f=0;f=55296&&p<=57343&&(p=65536+((p&1023)<<10)|i.charCodeAt(++f)&1023),p<=127?++o:p<=2047?o+=2:p<=65535?o+=3:p<=2097151?o+=4:p<=67108863?o+=5:o+=6}return o}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function demangle(i){var o=Module.___cxa_demangle||Module.__cxa_demangle;if(o){try{var f=i.substr(1),p=lengthBytesUTF8(f)+1,E=_malloc(p);stringToUTF8(f,E,p);var t=_malloc(4),k=o(E,0,0,t);if(getValue(t,"i32")===0&&k)return Pointer_stringify(k)}catch(L){}finally{E&&_free(E),t&&_free(t),k&&_free(k)}return i}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),i}function demangleAll(i){var o=/__Z[\w\d_]+/g;return i.replace(o,function(f){var p=demangle(f);return f===p?f:f+" ["+p+"]"})}function jsStackTrace(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch(o){i=o}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function stackTrace(){var i=jsStackTrace();return Module.extraStackTrace&&(i+=` +`+Module.extraStackTrace()),demangleAll(i)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY0;){var o=i.shift();if(typeof o=="function"){o();continue}var f=o.func;typeof f=="number"?o.arg===void 0?Module.dynCall_v(f):Module.dynCall_vi(f,o.arg):f(o.arg===void 0?null:o.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(i){__ATPRERUN__.unshift(i)}Module.addOnPreRun=addOnPreRun;function addOnInit(i){__ATINIT__.unshift(i)}Module.addOnInit=addOnInit;function addOnPreMain(i){__ATMAIN__.unshift(i)}Module.addOnPreMain=addOnPreMain;function addOnExit(i){__ATEXIT__.unshift(i)}Module.addOnExit=addOnExit;function addOnPostRun(i){__ATPOSTRUN__.unshift(i)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(i,o,f){var p=f>0?f:lengthBytesUTF8(i)+1,E=new Array(p),t=stringToUTF8Array(i,E,0,E.length);return o&&(E.length=t),E}Module.intArrayFromString=intArrayFromString;function intArrayToString(i){for(var o=[],f=0;f255&&(p&=255),o.push(String.fromCharCode(p))}return o.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(i,o,f){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var p,E;f&&(E=o+lengthBytesUTF8(i),p=HEAP8[E]),stringToUTF8(i,o,Infinity),f&&(HEAP8[E]=p)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(i,o){HEAP8.set(i,o)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(i,o,f){for(var p=0;p>0]=i.charCodeAt(p);f||(HEAP8[o>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(o,f){var p=o>>>16,E=o&65535,t=f>>>16,k=f&65535;return E*k+(p*k+E*t<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(i){return froundBuffer[0]=i,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var o=0;o<32;o++)if(i&1<<31-o)return o;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(i){return i<0?Math.ceil(i):Math.floor(i)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(i){return i}function addRunDependency(i){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(i){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var o=dependenciesFulfilled;dependenciesFulfilled=null,o()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(i,o,f,p,E,t,k,L){return _nbind.callbackSignatureList[i].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(i,o,f,p,E,t,k,L){return ASM_CONSTS[i](o,f,p,E,t,k,L)}function _emscripten_asm_const_iiiii(i,o,f,p,E){return ASM_CONSTS[i](o,f,p,E)}function _emscripten_asm_const_iiidddddd(i,o,f,p,E,t,k,L,N){return ASM_CONSTS[i](o,f,p,E,t,k,L,N)}function _emscripten_asm_const_iiididi(i,o,f,p,E,t,k){return ASM_CONSTS[i](o,f,p,E,t,k)}function _emscripten_asm_const_iiii(i,o,f,p){return ASM_CONSTS[i](o,f,p)}function _emscripten_asm_const_iiiid(i,o,f,p,E){return ASM_CONSTS[i](o,f,p,E)}function _emscripten_asm_const_iiiiii(i,o,f,p,E,t){return ASM_CONSTS[i](o,f,p,E,t)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,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,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,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,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,192,127,0,0,0,0,0,0,0,0,255,255,255,255,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,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,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,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,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,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,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,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,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,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,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,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,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,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,148,45,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,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,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,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,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,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,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,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,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,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,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,18,0,0,0,18,18,18,0,0,0,0,0,0,9,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,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,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,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(i,o){__ATEXIT__.unshift({func:i,arg:o})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(i,o,f,p){var E=arguments.length,t=E<3?o:p===null?p=Object.getOwnPropertyDescriptor(o,f):p,k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(i,o,f,p);else for(var L=i.length-1;L>=0;L--)(k=i[L])&&(t=(E<3?k(t):E>3?k(o,f,t):k(o,f))||t);return E>3&&t&&Object.defineProperty(o,f,t),t}function _defineHidden(i){return function(o,f){Object.defineProperty(o,f,{configurable:!1,enumerable:!1,value:i,writable:!0})}}var _nbind={};function __nbind_free_external(i){_nbind.externalList[i].dereference(i)}function __nbind_reference_external(i){_nbind.externalList[i].reference()}function _llvm_stackrestore(i){var o=_llvm_stacksave,f=o.LLVM_SAVEDSTACKS[i];o.LLVM_SAVEDSTACKS.splice(i,1),Runtime.stackRestore(f)}function __nbind_register_pool(i,o,f,p){_nbind.Pool.pageSize=i,_nbind.Pool.usedPtr=o/4,_nbind.Pool.rootPtr=f,_nbind.Pool.pagePtr=p/4,HEAP32[o/4]=16909060,HEAP8[o]==1&&(_nbind.bigEndian=!0),HEAP32[o/4]=0,_nbind.makeTypeKindTbl=(t={},t[1024]=_nbind.PrimitiveType,t[64]=_nbind.Int64Type,t[2048]=_nbind.BindClass,t[3072]=_nbind.BindClassPtr,t[4096]=_nbind.SharedClassPtr,t[5120]=_nbind.ArrayType,t[6144]=_nbind.ArrayType,t[7168]=_nbind.CStringType,t[9216]=_nbind.CallbackType,t[10240]=_nbind.BindType,t),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var E=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});E.proto=Module,_nbind.BindClass.list.push(E);var t}function _emscripten_set_main_loop_timing(i,o){if(Browser.mainLoop.timingMode=i,Browser.mainLoop.timingValue=o,!Browser.mainLoop.func)return 1;if(i==0)Browser.mainLoop.scheduler=function(){var k=Math.max(0,Browser.mainLoop.tickStartTime+o-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,k)},Browser.mainLoop.method="timeout";else if(i==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(i==2){if(!window.setImmediate){let t=function(k){k.source===window&&k.data===p&&(k.stopPropagation(),f.shift()())};var E=t,f=[],p="setimmediate";window.addEventListener("message",t,!0),window.setImmediate=function(L){f.push(L),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(L),window.postMessage({target:p})):window.postMessage(p,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(i,o,f,p,E){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=i,Browser.mainLoop.arg=p;var t;typeof p!="undefined"?t=function(){Module.dynCall_vi(i,p)}:t=function(){Module.dynCall_v(i)};var k=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var N=Date.now(),C=Browser.mainLoop.queue.shift();if(C.func(C.arg),Browser.mainLoop.remainingBlockers){var U=Browser.mainLoop.remainingBlockers,q=U%1==0?U-1:Math.floor(U);C.counted?Browser.mainLoop.remainingBlockers=q:(q=q+.5,Browser.mainLoop.remainingBlockers=(8*U+q)/9)}if(console.log('main loop blocker "'+C.name+'" took '+(Date.now()-N)+" ms"),Browser.mainLoop.updateStatus(),k1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(t),!(k0?_emscripten_set_main_loop_timing(0,1e3/o):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),f)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var i=Browser.mainLoop.timingMode,o=Browser.mainLoop.timingValue,f=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(f,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(i,o),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var i=Module.statusMessage||"Please wait...",o=Browser.mainLoop.remainingBlockers,f=Browser.mainLoop.expectedBlockers;o?o=6;){var rt=le>>Ue-6&63;Ue-=6,Oe+=ze[rt]}return Ue==2?(Oe+=ze[(le&3)<<4],Oe+=pe+pe):Ue==4&&(Oe+=ze[(le&15)<<2],Oe+=pe),Oe}m.src="data:audio/x-"+k.substr(-3)+";base64,"+he(t),U(m)},m.src=ne,Browser.safeSetTimeout(function(){U(m)},1e4)}else return q()},Module.preloadPlugins.push(o);function f(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var p=Module.canvas;p&&(p.requestPointerLock=p.requestPointerLock||p.mozRequestPointerLock||p.webkitRequestPointerLock||p.msRequestPointerLock||function(){},p.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},p.exitPointerLock=p.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),Module.elementPointerLock&&p.addEventListener("click",function(E){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),E.preventDefault())},!1))},createContext:function(i,o,f,p){if(o&&Module.ctx&&i==Module.canvas)return Module.ctx;var E,t;if(o){var k={antialias:!1,alpha:!1};if(p)for(var L in p)k[L]=p[L];t=GL.createContext(i,k),t&&(E=GL.getContext(t).GLctx)}else E=i.getContext("2d");return E?(f&&(o||assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=E,o&&GL.makeContextCurrent(t),Module.useWebGL=o,Browser.moduleContextCreatedCallbacks.forEach(function(N){N()}),Browser.init()),E):null},destroyContext:function(i,o,f){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(i,o,f){Browser.lockPointer=i,Browser.resizeCanvas=o,Browser.vrDevice=f,typeof Browser.lockPointer=="undefined"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas=="undefined"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice=="undefined"&&(Browser.vrDevice=null);var p=Module.canvas;function E(){Browser.isFullscreen=!1;var k=p.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===k?(p.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},p.exitFullscreen=p.exitFullscreen.bind(document),Browser.lockPointer&&p.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(k.parentNode.insertBefore(p,k),k.parentNode.removeChild(k),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(p)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",E,!1),document.addEventListener("mozfullscreenchange",E,!1),document.addEventListener("webkitfullscreenchange",E,!1),document.addEventListener("MSFullscreenChange",E,!1));var t=document.createElement("div");p.parentNode.insertBefore(t,p),t.appendChild(p),t.requestFullscreen=t.requestFullscreen||t.mozRequestFullScreen||t.msRequestFullscreen||(t.webkitRequestFullscreen?function(){t.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(t.webkitRequestFullScreen?function(){t.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),f?t.requestFullscreen({vrDisplay:f}):t.requestFullscreen()},requestFullScreen:function(i,o,f){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(p,E,t){return Browser.requestFullscreen(p,E,t)},Browser.requestFullscreen(i,o,f)},nextRAF:0,fakeRequestAnimationFrame:function(i){var o=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=o+1e3/60;else for(;o+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var f=Math.max(Browser.nextRAF-o,0);setTimeout(i,f)},requestAnimationFrame:function(o){typeof window=="undefined"?Browser.fakeRequestAnimationFrame(o):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(o))},safeCallback:function(i){return function(){if(!ABORT)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var i=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],i.forEach(function(o){o()})}},safeRequestAnimationFrame:function(i){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,o){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))},o)},safeSetInterval:function(i,o){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&i()},o)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var o=0;switch(i.type){case"DOMMouseScroll":o=i.detail;break;case"mousewheel":o=i.wheelDelta;break;case"wheel":o=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return o},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(Browser.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(i),Browser.mouseMovementY=Browser.getMovementY(i)),typeof SDL!="undefined"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var o=Module.canvas.getBoundingClientRect(),f=Module.canvas.width,p=Module.canvas.height,E=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset,t=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var k=i.touch;if(k===void 0)return;var L=k.pageX-(E+o.left),N=k.pageY-(t+o.top);L=L*(f/o.width),N=N*(p/o.height);var C={x:L,y:N};if(i.type==="touchstart")Browser.lastTouches[k.identifier]=C,Browser.touches[k.identifier]=C;else if(i.type==="touchend"||i.type==="touchmove"){var U=Browser.touches[k.identifier];U||(U=C),Browser.lastTouches[k.identifier]=U,Browser.touches[k.identifier]=C}return}var q=i.pageX-(E+o.left),W=i.pageY-(t+o.top);q=q*(f/o.width),W=W*(p/o.height),Browser.mouseMovementX=q-Browser.mouseX,Browser.mouseMovementY=W-Browser.mouseY,Browser.mouseX=q,Browser.mouseY=W}},asyncLoad:function(i,o,f,p){var E=p?"":getUniqueRunDependency("al "+i);Module.readAsync(i,function(t){assert(t,'Loading data file "'+i+'" failed (no arrayBuffer).'),o(new Uint8Array(t)),E&&removeRunDependency(E)},function(t){if(f)f();else throw'Loading data file "'+i+'" failed.'}),E&&addRunDependency(E)},resizeListeners:[],updateResizeListeners:function(){var i=Module.canvas;Browser.resizeListeners.forEach(function(o){o(i.width,i.height)})},setCanvasSize:function(i,o,f){var p=Module.canvas;Browser.updateCanvasDimensions(p,i,o),f||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i&~8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},updateCanvasDimensions:function(i,o,f){o&&f?(i.widthNative=o,i.heightNative=f):(o=i.widthNative,f=i.heightNative);var p=o,E=f;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(p/E>2];return o},getStr:function(){var i=Pointer_stringify(SYSCALLS.get());return i},get64:function(){var i=SYSCALLS.get(),o=SYSCALLS.get();return i>=0?assert(o===0):assert(o===-1),i},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(i,o){SYSCALLS.varargs=o;try{var f=SYSCALLS.getStreamFromFD();return FS.close(f),0}catch(p){return(typeof FS=="undefined"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall54(i,o){SYSCALLS.varargs=o;try{return 0}catch(f){return(typeof FS=="undefined"||!(f instanceof FS.ErrnoError))&&abort(f),-f.errno}}function _typeModule(i){var o=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function f(N,C,U,q,W,ne){if(C==1){var m=q&896;(m==128||m==256||m==384)&&(N="X const")}var we;return ne?we=U.replace("X",N).replace("Y",W):we=N.replace("X",U).replace("Y",W),we.replace(/([*&]) (?=[*&])/g,"$1")}function p(N,C,U,q,W){throw new Error(N+" type "+U.replace("X",C+"?")+(q?" with flag "+q:"")+" in "+W)}function E(N,C,U,q,W,ne,m,we){ne===void 0&&(ne="X"),we===void 0&&(we=1);var Se=U(N);if(Se)return Se;var he=q(N),ge=he.placeholderFlag,ze=o[ge];m&&ze&&(ne=f(m[2],m[0],ne,ze[0],"?",!0));var pe;ge==0&&(pe="Unbound"),ge>=10&&(pe="Corrupt"),we>20&&(pe="Deeply nested"),pe&&p(pe,N,ne,ge,W||"?");var Oe=he.paramList[0],le=E(Oe,C,U,q,W,ne,ze,we+1),Ue,Ge={flags:ze[0],id:N,name:"",paramList:[le]},rt=[],wt="?";switch(he.placeholderFlag){case 1:Ue=le.spec;break;case 2:if((le.flags&15360)==1024&&le.spec.ptrSize==1){Ge.flags=7168;break}case 3:case 6:case 5:Ue=le.spec,(le.flags&15360)!=2048;break;case 8:wt=""+he.paramList[1],Ge.paramList.push(he.paramList[1]);break;case 9:for(var xt=0,$e=he.paramList[1];xt<$e.length;xt++){var ft=$e[xt],Ke=E(ft,C,U,q,W,ne,ze,we+1);rt.push(Ke.name),Ge.paramList.push(Ke)}wt=rt.join(", ");break;default:break}if(Ge.name=f(ze[2],ze[0],le.name,le.flags,wt),Ue){for(var jt=0,$t=Object.keys(Ue);jt<$t.length;jt++){var at=$t[jt];Ge[at]=Ge[at]||Ue[at]}Ge.flags|=Ue.flags}return t(C,Ge)}function t(N,C){var U=C.flags,q=U&896,W=U&15360;return!C.name&&W==1024&&(C.ptrSize==1?C.name=(U&16?"":(U&8?"un":"")+"signed ")+"char":C.name=(U&8?"u":"")+(U&32?"float":"int")+(C.ptrSize*8+"_t")),C.ptrSize==8&&!(U&32)&&(W=64),W==2048&&(q==512||q==640?W=4096:q&&(W=3072)),N(W,C)}var k=function(){function N(C){this.id=C.id,this.name=C.name,this.flags=C.flags,this.spec=C}return N.prototype.toString=function(){return this.name},N}(),L={Type:k,getComplexType:E,makeType:t,structureList:o};return i.output=L,i.output||L}function __nbind_register_type(i,o){var f=_nbind.readAsciiString(o),p={flags:10240,id:i,name:f};_nbind.makeType(_nbind.constructType,p)}function __nbind_register_callback_signature(i,o){var f=_nbind.readTypeIdList(i,o),p=_nbind.callbackSignatureList.length;return _nbind.callbackSignatureList[p]=_nbind.makeJSCaller(f),p}function __extends(i,o){for(var f in o)o.hasOwnProperty(f)&&(i[f]=o[f]);function p(){this.constructor=i}p.prototype=o.prototype,i.prototype=new p}function __nbind_register_class(i,o,f,p,E,t,k){var L=_nbind.readAsciiString(k),N=_nbind.readPolicyList(o),C=HEAPU32.subarray(i/4,i/4+2),U={flags:2048|(N.Value?2:0),id:C[0],name:L},q=_nbind.makeType(_nbind.constructType,U);q.ptrType=_nbind.getComplexType(C[1],_nbind.constructType,_nbind.getType,_nbind.queryType),q.destroy=_nbind.makeMethodCaller(q.ptrType,{boundID:U.id,flags:0,name:"destroy",num:0,ptr:t,title:q.name+".free",typeList:["void","uint32_t","uint32_t"]}),E&&(q.superIdList=Array.prototype.slice.call(HEAPU32.subarray(f/4,f/4+E)),q.upcastList=Array.prototype.slice.call(HEAPU32.subarray(p/4,p/4+E))),Module[q.name]=q.makeBound(N),_nbind.BindClass.list.push(q)}function _removeAccessorPrefix(i){var o=/^[Gg]et_?([A-Z]?([A-Z]?))/;return i.replace(o,function(f,p,E){return E?p:p.toLowerCase()})}function __nbind_register_function(i,o,f,p,E,t,k,L,N,C){var U=_nbind.getType(i),q=_nbind.readPolicyList(o),W=_nbind.readTypeIdList(f,p),ne;if(k==5)ne=[{direct:E,name:"__nbindConstructor",ptr:0,title:U.name+" constructor",typeList:["uint32_t"].concat(W.slice(1))},{direct:t,name:"__nbindValueConstructor",ptr:0,title:U.name+" value constructor",typeList:["void","uint32_t"].concat(W.slice(1))}];else{var m=_nbind.readAsciiString(L),we=(U.name&&U.name+".")+m;(k==3||k==4)&&(m=_removeAccessorPrefix(m)),ne=[{boundID:i,direct:t,name:m,ptr:E,title:we,typeList:W}]}for(var Se=0,he=ne;Se>2]=i),i}function _llvm_stacksave(){var i=_llvm_stacksave;return i.LLVM_SAVEDSTACKS||(i.LLVM_SAVEDSTACKS=[]),i.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),i.LLVM_SAVEDSTACKS.length-1}function ___syscall140(i,o){SYSCALLS.varargs=o;try{var f=SYSCALLS.getStreamFromFD(),p=SYSCALLS.get(),E=SYSCALLS.get(),t=SYSCALLS.get(),k=SYSCALLS.get(),L=E;return FS.llseek(f,L,k),HEAP32[t>>2]=f.position,f.getdents&&L===0&&k===0&&(f.getdents=null),0}catch(N){return(typeof FS=="undefined"||!(N instanceof FS.ErrnoError))&&abort(N),-N.errno}}function ___syscall146(i,o){SYSCALLS.varargs=o;try{var f=SYSCALLS.get(),p=SYSCALLS.get(),E=SYSCALLS.get(),t=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(U,q){var W=___syscall146.buffers[U];assert(W),q===0||q===10?((U===1?Module.print:Module.printErr)(UTF8ArrayToString(W,0)),W.length=0):W.push(q)});for(var k=0;k>2],N=HEAP32[p+(k*8+4)>>2],C=0;Ci.pageSize/2||o>i.pageSize-f){var p=_nbind.typeNameTbl.NBind.proto;return p.lalloc(o)}else return HEAPU32[i.usedPtr]=f+o,i.rootPtr+f},i.lreset=function(o,f){var p=HEAPU32[i.pagePtr];if(p){var E=_nbind.typeNameTbl.NBind.proto;E.lreset(o,f)}else HEAPU32[i.usedPtr]=o},i}();_nbind.Pool=Pool;function constructType(i,o){var f=i==10240?_nbind.makeTypeNameTbl[o.name]||_nbind.BindType:_nbind.makeTypeKindTbl[i],p=new f(o);return typeIdTbl[o.id]=p,_nbind.typeNameTbl[o.name]=p,p}_nbind.constructType=constructType;function getType(i){return typeIdTbl[i]}_nbind.getType=getType;function queryType(i){var o=HEAPU8[i],f=_nbind.structureList[o][1];i/=4,f<0&&(++i,f=HEAPU32[i]+1);var p=Array.prototype.slice.call(HEAPU32.subarray(i+1,i+1+f));return o==9&&(p=[p[0],p.slice(1)]),{paramList:p,placeholderFlag:o}}_nbind.queryType=queryType;function getTypes(i,o){return i.map(function(f){return typeof f=="number"?_nbind.getComplexType(f,constructType,getType,queryType,o):_nbind.typeNameTbl[f]})}_nbind.getTypes=getTypes;function readTypeIdList(i,o){return Array.prototype.slice.call(HEAPU32,i/4,i/4+o)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(i){for(var o=i;HEAPU8[o++];);return String.fromCharCode.apply("",HEAPU8.subarray(i,o-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(i){var o={};if(i)for(;;){var f=HEAPU32[i/4];if(!f)break;o[readAsciiString(f)]=!0,i+=4}return o}_nbind.readPolicyList=readPolicyList;function getDynCall(i,o){var f={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},p=i.map(function(t){return f[t.name]||"i"}).join(""),E=Module["dynCall_"+p];if(!E)throw new Error("dynCall_"+p+" not found for "+o+"("+i.map(function(t){return t.name}).join(", ")+")");return E}_nbind.getDynCall=getDynCall;function addMethod(i,o,f,p){var E=i[o];i.hasOwnProperty(o)&&E?((E.arity||E.arity===0)&&(E=_nbind.makeOverloader(E,E.arity),i[o]=E),E.addMethod(f,p)):(f.arity=p,i[o]=f)}_nbind.addMethod=addMethod;function throwError(i){throw new Error(i)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(i){__extends(o,i);function o(){var f=i!==null&&i.apply(this,arguments)||this;return f.heap=HEAPU32,f.ptrSize=4,f}return o.prototype.needsWireRead=function(f){return!!this.wireRead||!!this.makeWireRead},o.prototype.needsWireWrite=function(f){return!!this.wireWrite||!!this.makeWireWrite},o}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(i){__extends(o,i);function o(f){var p=i.call(this,f)||this,E=f.flags&32?{32:HEAPF32,64:HEAPF64}:f.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return p.heap=E[f.ptrSize*8],p.ptrSize=f.ptrSize,p}return o.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},o.prototype.makeWireWrite=function(f,p){return p&&p.Strict&&function(E){if(typeof E=="number")return E;throw new Error("Type mismatch")}},o}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(i,o){if(i==null){if(o&&o.Nullable)return 0;throw new Error("Type mismatch")}if(o&&o.Strict){if(typeof i!="string")throw new Error("Type mismatch")}else i=i.toString();var f=Module.lengthBytesUTF8(i)+1,p=_nbind.Pool.lalloc(f);return Module.stringToUTF8Array(i,HEAPU8,p,f),p}_nbind.pushCString=pushCString;function popCString(i){return i===0?null:Module.Pointer_stringify(i)}_nbind.popCString=popCString;var CStringType=function(i){__extends(o,i);function o(){var f=i!==null&&i.apply(this,arguments)||this;return f.wireRead=popCString,f.wireWrite=pushCString,f.readResources=[_nbind.resources.pool],f.writeResources=[_nbind.resources.pool],f}return o.prototype.makeWireWrite=function(f,p){return function(E){return pushCString(E,p)}},o}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(i){__extends(o,i);function o(){var f=i!==null&&i.apply(this,arguments)||this;return f.wireRead=function(p){return!!p},f}return o.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},o.prototype.makeWireRead=function(f){return"!!("+f+")"},o.prototype.makeWireWrite=function(f,p){return p&&p.Strict&&function(E){if(typeof E=="boolean")return E;throw new Error("Type mismatch")}||f},o}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function i(){}return i.prototype.persist=function(){this.__nbindState|=1},i}();_nbind.Wrapper=Wrapper;function makeBound(i,o){var f=function(p){__extends(E,p);function E(t,k,L,N){var C=p.call(this)||this;if(!(C instanceof E))return new(Function.prototype.bind.apply(E,Array.prototype.concat.apply([null],arguments)));var U=k,q=L,W=N;if(t!==_nbind.ptrMarker){var ne=C.__nbindConstructor.apply(C,arguments);U=4096|512,W=HEAPU32[ne/4],q=HEAPU32[ne/4+1]}var m={configurable:!0,enumerable:!1,value:null,writable:!1},we={__nbindFlags:U,__nbindPtr:q};W&&(we.__nbindShared=W,_nbind.mark(C));for(var Se=0,he=Object.keys(we);Se>=1;var f=_nbind.valueList[i];return _nbind.valueList[i]=firstFreeValue,firstFreeValue=i,f}else{if(o)return _nbind.popShared(i,o);throw new Error("Invalid value slot "+i)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(i){return typeof i=="number"?i:pushValue(i)*4096+valueBase}function pop64(i){return i=3?k=Buffer.from(t):k=new Buffer(t),k.copy(p)}else getBuffer(p).set(t)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var i=0,o=dirtyList;i>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(i,o,f,p,E,t){try{Module.dynCall_viiiii(i,o,f,p,E,t)}catch(k){if(typeof k!="number"&&k!=="longjmp")throw k;Module.setThrew(1,0)}}function invoke_vif(i,o,f){try{Module.dynCall_vif(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_vid(i,o,f){try{Module.dynCall_vid(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_fiff(i,o,f,p){try{return Module.dynCall_fiff(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_vi(i,o){try{Module.dynCall_vi(i,o)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_vii(i,o,f){try{Module.dynCall_vii(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_ii(i,o){try{return Module.dynCall_ii(i,o)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_viddi(i,o,f,p,E){try{Module.dynCall_viddi(i,o,f,p,E)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_vidd(i,o,f,p){try{Module.dynCall_vidd(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_iiii(i,o,f,p){try{return Module.dynCall_iiii(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_diii(i,o,f,p){try{return Module.dynCall_diii(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_di(i,o){try{return Module.dynCall_di(i,o)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_iid(i,o,f){try{return Module.dynCall_iid(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_iii(i,o,f){try{return Module.dynCall_iii(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_viiddi(i,o,f,p,E,t){try{Module.dynCall_viiddi(i,o,f,p,E,t)}catch(k){if(typeof k!="number"&&k!=="longjmp")throw k;Module.setThrew(1,0)}}function invoke_viiiiii(i,o,f,p,E,t,k){try{Module.dynCall_viiiiii(i,o,f,p,E,t,k)}catch(L){if(typeof L!="number"&&L!=="longjmp")throw L;Module.setThrew(1,0)}}function invoke_dii(i,o,f){try{return Module.dynCall_dii(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_i(i){try{return Module.dynCall_i(i)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_iiiiii(i,o,f,p,E,t){try{return Module.dynCall_iiiiii(i,o,f,p,E,t)}catch(k){if(typeof k!="number"&&k!=="longjmp")throw k;Module.setThrew(1,0)}}function invoke_viiid(i,o,f,p,E){try{Module.dynCall_viiid(i,o,f,p,E)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_viififi(i,o,f,p,E,t,k){try{Module.dynCall_viififi(i,o,f,p,E,t,k)}catch(L){if(typeof L!="number"&&L!=="longjmp")throw L;Module.setThrew(1,0)}}function invoke_viii(i,o,f,p){try{Module.dynCall_viii(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_v(i){try{Module.dynCall_v(i)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viid(i,o,f,p){try{Module.dynCall_viid(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_idd(i,o,f){try{return Module.dynCall_idd(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_viiii(i,o,f,p,E){try{Module.dynCall_viiii(i,o,f,p,E)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:Infinity},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(i,o,f){var p=new i.Int8Array(f),E=new i.Int16Array(f),t=new i.Int32Array(f),k=new i.Uint8Array(f),L=new i.Uint16Array(f),N=new i.Uint32Array(f),C=new i.Float32Array(f),U=new i.Float64Array(f),q=o.DYNAMICTOP_PTR|0,W=o.tempDoublePtr|0,ne=o.ABORT|0,m=o.STACKTOP|0,we=o.STACK_MAX|0,Se=o.cttz_i8|0,he=o.___dso_handle|0,ge=0,ze=0,pe=0,Oe=0,le=i.NaN,Ue=i.Infinity,Ge=0,rt=0,wt=0,xt=0,$e=0,ft=0,Ke=i.Math.floor,jt=i.Math.abs,$t=i.Math.sqrt,at=i.Math.pow,Q=i.Math.cos,ae=i.Math.sin,Ce=i.Math.tan,ue=i.Math.acos,je=i.Math.asin,ct=i.Math.atan,At=i.Math.atan2,en=i.Math.exp,ln=i.Math.log,An=i.Math.ceil,nr=i.Math.imul,un=i.Math.min,Wt=i.Math.max,vr=i.Math.clz32,w=i.Math.fround,Ut=o.abort,Vn=o.assert,fr=o.enlargeMemory,Fr=o.getTotalMemory,ur=o.abortOnCannotGrowMemory,br=o.invoke_viiiii,Kt=o.invoke_vif,vu=o.invoke_vid,a0=o.invoke_fiff,So=o.invoke_vi,Go=o.invoke_vii,Os=o.invoke_ii,Yo=o.invoke_viddi,Ko=o.invoke_vidd,qt=o.invoke_iiii,_i=o.invoke_diii,eu=o.invoke_di,ai=o.invoke_iid,mr=o.invoke_iii,Xo=o.invoke_viiddi,W0=o.invoke_viiiiii,Lu=o.invoke_dii,V0=o.invoke_i,Hr=o.invoke_iiiiii,To=o.invoke_viiid,Co=o.invoke_viififi,L0=o.invoke_viii,tu=o.invoke_v,Si=o.invoke_viid,ks=o.invoke_idd,Hl=o.invoke_viiii,F0=o._emscripten_asm_const_iiiii,f0=o._emscripten_asm_const_iiidddddd,Pr=o._emscripten_asm_const_iiiid,Ei=o.__nbind_reference_external,G0=o._emscripten_asm_const_iiiiiiii,fi=o._removeAccessorPrefix,Zt=o._typeModule,Ln=o.__nbind_register_pool,Di=o.__decorate,ci=o._llvm_stackrestore,Ht=o.___cxa_atexit,Du=o.__extends,Yi=o.__nbind_get_value_object,Y0=o.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,Ui=o._emscripten_set_main_loop_timing,Wl=o.__nbind_register_primitive,xo=o.__nbind_register_type,ni=o._emscripten_memcpy_big,oo=o.__nbind_register_function,Vl=o.___setErrNo,Ao=o.__nbind_register_class,Ms=o.__nbind_finish,Xn=o._abort,Qo=o._nbind_value,lo=o._llvm_stacksave,b0=o.___syscall54,yl=o._defineHidden,Ro=o._emscripten_set_main_loop,Et=o._emscripten_get_now,Pt=o.__nbind_register_callback_signature,Bn=o._emscripten_asm_const_iiiiii,Ir=o.__nbind_free_external,ji=o._emscripten_asm_const_iiii,Wr=o._emscripten_asm_const_iiididi,wu=o.___syscall6,c0=o._atexit,Ti=o.___syscall140,d0=o.___syscall146,as=w(0);let St=w(0);function so(e){e=e|0;var n=0;return n=m,m=m+e|0,m=m+15&-16,n|0}function Jo(){return m|0}function Gl(e){e=e|0,m=e}function Fu(e,n){e=e|0,n=n|0,m=e,we=n}function fs(e,n){e=e|0,n=n|0,ge||(ge=e,ze=n)}function P0(e){e=e|0,ft=e}function X(){return ft|0}function _e(){var e=0,n=0;pr(8104,8,400)|0,pr(8504,408,540)|0,e=9044,n=e+44|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));p[9088]=0,p[9089]=1,t[2273]=0,t[2274]=948,t[2275]=948,Ht(17,8104,he|0)|0}function Ne(e){e=e|0,ic(e+948|0)}function Me(e){return e=w(e),((cr(e)|0)&2147483647)>>>0>2139095040|0}function dt(e,n,r){e=e|0,n=n|0,r=r|0;e:do if(t[e+(n<<3)+4>>2]|0)e=e+(n<<3)|0;else{if((n|2|0)==3?t[e+60>>2]|0:0){e=e+56|0;break}switch(n|0){case 0:case 2:case 4:case 5:{if(t[e+52>>2]|0){e=e+48|0;break e}break}default:}if(t[e+68>>2]|0){e=e+64|0;break}else{e=(n|1|0)==5?948:r;break}}while(0);return e|0}function Hn(e){e=e|0;var n=0;return n=C_(1e3)|0,Dn(e,(n|0)!=0,2456),t[2276]=(t[2276]|0)+1,pr(n|0,8104,1e3)|0,p[e+2>>0]|0&&(t[n+4>>2]=2,t[n+12>>2]=4),t[n+976>>2]=e,n|0}function Dn(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;l=m,m=m+16|0,u=l,n||(t[u>>2]=r,_l(e,5,3197,u)),m=l}function or(){return Hn(956)|0}function mi(e){e=e|0;var n=0;return n=cn(1e3)|0,Su(n,e),Dn(t[e+976>>2]|0,1,2456),t[2276]=(t[2276]|0)+1,t[n+944>>2]=0,n|0}function Su(e,n){e=e|0,n=n|0;var r=0;pr(e|0,n|0,948)|0,na(e+948|0,n+948|0),r=e+960|0,e=n+960|0,n=r+40|0;do t[r>>2]=t[e>>2],r=r+4|0,e=e+4|0;while((r|0)<(n|0))}function bu(e){e=e|0;var n=0,r=0,u=0,l=0;if(n=e+944|0,r=t[n>>2]|0,r|0&&(Pu(r+948|0,e)|0,t[n>>2]=0),r=mu(e)|0,r|0){n=0;do t[(yi(e,n)|0)+944>>2]=0,n=n+1|0;while((n|0)!=(r|0))}r=e+948|0,u=t[r>>2]|0,l=e+952|0,n=t[l>>2]|0,(n|0)!=(u|0)&&(t[l>>2]=n+(~((n+-4-u|0)>>>2)<<2)),Oo(r),x_(e),t[2276]=(t[2276]|0)+-1}function Pu(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0;u=t[e>>2]|0,D=e+4|0,r=t[D>>2]|0,s=r;e:do if((u|0)==(r|0))l=u,h=4;else for(e=u;;){if((t[e>>2]|0)==(n|0)){l=e,h=4;break e}if(e=e+4|0,(e|0)==(r|0)){e=0;break}}while(0);return(h|0)==4&&((l|0)!=(r|0)?(u=l+4|0,e=s-u|0,n=e>>2,n&&(Iy(l|0,u|0,e|0)|0,r=t[D>>2]|0),e=l+(n<<2)|0,(r|0)==(e|0)||(t[D>>2]=r+(~((r+-4-e|0)>>>2)<<2)),e=1):e=0),e|0}function mu(e){return e=e|0,(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2|0}function yi(e,n){e=e|0,n=n|0;var r=0;return r=t[e+948>>2]|0,(t[e+952>>2]|0)-r>>2>>>0>n>>>0?e=t[r+(n<<2)>>2]|0:e=0,e|0}function Oo(e){e=e|0;var n=0,r=0,u=0,l=0;u=m,m=m+32|0,n=u,l=t[e>>2]|0,r=(t[e+4>>2]|0)-l|0,((t[e+8>>2]|0)-l|0)>>>0>r>>>0&&(l=r>>2,Y(n,l,l,e+8|0),Qr(e,n),Jr(n)),m=u}function Tu(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0;M=mu(e)|0;do if(M|0){if((t[(yi(e,0)|0)+944>>2]|0)==(e|0)){if(!(Pu(e+948|0,n)|0))break;pr(n+400|0,8504,540)|0,t[n+944>>2]=0,Gn(e);break}h=t[(t[e+976>>2]|0)+12>>2]|0,D=e+948|0,S=(h|0)==0,r=0,s=0;do u=t[(t[D>>2]|0)+(s<<2)>>2]|0,(u|0)==(n|0)?Gn(e):(l=mi(u)|0,t[(t[D>>2]|0)+(r<<2)>>2]=l,t[l+944>>2]=e,S||$E[h&15](u,l,e,r),r=r+1|0),s=s+1|0;while((s|0)!=(M|0));if(r>>>0>>0){S=e+948|0,D=e+952|0,h=r,r=t[D>>2]|0;do s=(t[S>>2]|0)+(h<<2)|0,u=s+4|0,l=r-u|0,n=l>>2,n&&(Iy(s|0,u|0,l|0)|0,r=t[D>>2]|0),l=r,u=s+(n<<2)|0,(l|0)!=(u|0)&&(r=l+(~((l+-4-u|0)>>>2)<<2)|0,t[D>>2]=r),h=h+1|0;while((h|0)!=(M|0))}}while(0)}function ao(e){e=e|0;var n=0,r=0,u=0,l=0;Iu(e,(mu(e)|0)==0,2491),Iu(e,(t[e+944>>2]|0)==0,2545),n=e+948|0,r=t[n>>2]|0,u=e+952|0,l=t[u>>2]|0,(l|0)!=(r|0)&&(t[u>>2]=l+(~((l+-4-r|0)>>>2)<<2)),Oo(n),n=e+976|0,r=t[n>>2]|0,pr(e|0,8104,1e3)|0,p[r+2>>0]|0&&(t[e+4>>2]=2,t[e+12>>2]=4),t[n>>2]=r}function Iu(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;l=m,m=m+16|0,u=l,n||(t[u>>2]=r,sr(e,5,3197,u)),m=l}function Oa(){return t[2276]|0}function p0(){var e=0;return e=C_(20)|0,Zs((e|0)!=0,2592),t[2277]=(t[2277]|0)+1,t[e>>2]=t[239],t[e+4>>2]=t[240],t[e+8>>2]=t[241],t[e+12>>2]=t[242],t[e+16>>2]=t[243],e|0}function Zs(e,n){e=e|0,n=n|0;var r=0,u=0;u=m,m=m+16|0,r=u,e||(t[r>>2]=n,sr(0,5,3197,r)),m=u}function K0(e){e=e|0,x_(e),t[2277]=(t[2277]|0)+-1}function $s(e,n){e=e|0,n=n|0;var r=0;n?(Iu(e,(mu(e)|0)==0,2629),r=1):(r=0,n=0),t[e+964>>2]=n,t[e+988>>2]=r}function ka(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,s=u+8|0,l=u+4|0,h=u,t[l>>2]=n,Iu(e,(t[n+944>>2]|0)==0,2709),Iu(e,(t[e+964>>2]|0)==0,2763),cs(e),n=e+948|0,t[h>>2]=(t[n>>2]|0)+(r<<2),t[s>>2]=t[h>>2],w0(n,s,l)|0,t[(t[l>>2]|0)+944>>2]=e,Gn(e),m=u}function cs(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;if(r=mu(e)|0,r|0?(t[(yi(e,0)|0)+944>>2]|0)!=(e|0):0){u=t[(t[e+976>>2]|0)+12>>2]|0,l=e+948|0,s=(u|0)==0,n=0;do h=t[(t[l>>2]|0)+(n<<2)>>2]|0,D=mi(h)|0,t[(t[l>>2]|0)+(n<<2)>>2]=D,t[D+944>>2]=e,s||$E[u&15](h,D,e,n),n=n+1|0;while((n|0)!=(r|0))}}function w0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0;Qe=m,m=m+64|0,P=Qe+52|0,D=Qe+48|0,K=Qe+28|0,Pe=Qe+24|0,Ee=Qe+20|0,ve=Qe,u=t[e>>2]|0,s=u,n=u+((t[n>>2]|0)-s>>2<<2)|0,u=e+4|0,l=t[u>>2]|0,h=e+8|0;do if(l>>>0<(t[h>>2]|0)>>>0){if((n|0)==(l|0)){t[n>>2]=t[r>>2],t[u>>2]=(t[u>>2]|0)+4;break}Ur(e,n,l,n+4|0),n>>>0<=r>>>0&&(r=(t[u>>2]|0)>>>0>r>>>0?r+4|0:r),t[n>>2]=t[r>>2]}else{u=(l-s>>2)+1|0,l=x0(e)|0,l>>>0>>0&&li(e),O=t[e>>2]|0,M=(t[h>>2]|0)-O|0,s=M>>1,Y(ve,M>>2>>>0>>1>>>0?s>>>0>>0?u:s:l,n-O>>2,e+8|0),O=ve+8|0,u=t[O>>2]|0,s=ve+12|0,M=t[s>>2]|0,h=M,S=u;do if((u|0)==(M|0)){if(M=ve+4|0,u=t[M>>2]|0,We=t[ve>>2]|0,l=We,u>>>0<=We>>>0){u=h-l>>1,u=(u|0)==0?1:u,Y(K,u,u>>>2,t[ve+16>>2]|0),t[Pe>>2]=t[M>>2],t[Ee>>2]=t[O>>2],t[D>>2]=t[Pe>>2],t[P>>2]=t[Ee>>2],hi(K,D,P),u=t[ve>>2]|0,t[ve>>2]=t[K>>2],t[K>>2]=u,u=K+4|0,We=t[M>>2]|0,t[M>>2]=t[u>>2],t[u>>2]=We,u=K+8|0,We=t[O>>2]|0,t[O>>2]=t[u>>2],t[u>>2]=We,u=K+12|0,We=t[s>>2]|0,t[s>>2]=t[u>>2],t[u>>2]=We,Jr(K),u=t[O>>2]|0;break}s=u,h=((s-l>>2)+1|0)/-2|0,D=u+(h<<2)|0,l=S-s|0,s=l>>2,s&&(Iy(D|0,u|0,l|0)|0,u=t[M>>2]|0),We=D+(s<<2)|0,t[O>>2]=We,t[M>>2]=u+(h<<2),u=We}while(0);t[u>>2]=t[r>>2],t[O>>2]=(t[O>>2]|0)+4,n=lt(e,ve,n)|0,Jr(ve)}while(0);return m=Qe,n|0}function Gn(e){e=e|0;var n=0;do{if(n=e+984|0,p[n>>0]|0)break;p[n>>0]=1,C[e+504>>2]=w(le),e=t[e+944>>2]|0}while((e|0)!=0)}function ic(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),yt(r))}function ri(e){return e=e|0,t[e+944>>2]|0}function Gr(e){e=e|0,Iu(e,(t[e+964>>2]|0)!=0,2832),Gn(e)}function Yl(e){return e=e|0,(p[e+984>>0]|0)!=0|0}function ea(e,n){e=e|0,n=n|0,MI(e,n,400)|0&&(pr(e|0,n|0,400)|0,Gn(e))}function lf(e){e=e|0;var n=St;return n=w(C[e+44>>2]),e=Me(n)|0,w(e?w(0):n)}function Ns(e){e=e|0;var n=St;return n=w(C[e+48>>2]),Me(n)|0&&(n=p[(t[e+976>>2]|0)+2>>0]|0?w(1):w(0)),w(n)}function Ma(e,n){e=e|0,n=n|0,t[e+980>>2]=n}function Ls(e){return e=e|0,t[e+980>>2]|0}function h0(e,n){e=e|0,n=n|0;var r=0;r=e+4|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function Fs(e){return e=e|0,t[e+4>>2]|0}function Ni(e,n){e=e|0,n=n|0;var r=0;r=e+8|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function B(e){return e=e|0,t[e+8>>2]|0}function z(e,n){e=e|0,n=n|0;var r=0;r=e+12|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function G(e){return e=e|0,t[e+12>>2]|0}function $(e,n){e=e|0,n=n|0;var r=0;r=e+16|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function De(e){return e=e|0,t[e+16>>2]|0}function me(e,n){e=e|0,n=n|0;var r=0;r=e+20|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function xe(e){return e=e|0,t[e+20>>2]|0}function Z(e,n){e=e|0,n=n|0;var r=0;r=e+24|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function ke(e){return e=e|0,t[e+24>>2]|0}function Xe(e,n){e=e|0,n=n|0;var r=0;r=e+28|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function ht(e){return e=e|0,t[e+28>>2]|0}function ie(e,n){e=e|0,n=n|0;var r=0;r=e+32|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function qe(e){return e=e|0,t[e+32>>2]|0}function tt(e,n){e=e|0,n=n|0;var r=0;r=e+36|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function Tt(e){return e=e|0,t[e+36>>2]|0}function kt(e,n){e=e|0,n=w(n);var r=0;r=e+40|0,w(C[r>>2])!=n&&(C[r>>2]=n,Gn(e))}function bt(e,n){e=e|0,n=w(n);var r=0;r=e+44|0,w(C[r>>2])!=n&&(C[r>>2]=n,Gn(e))}function on(e,n){e=e|0,n=w(n);var r=0;r=e+48|0,w(C[r>>2])!=n&&(C[r>>2]=n,Gn(e))}function tn(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+52|0,l=e+56|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function Lt(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+52|0,r=e+56|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Me(n)|0,t[r>>2]=u?3:2,Gn(e))}function gn(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+52|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function lr(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=(s^1)&1,l=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function Qn(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=s?0:2,l=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function _r(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+132+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Cn(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=(s^1)&1,l=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function Ar(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=s?0:2,l=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function v0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+60+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Rr(e,n){e=e|0,n=n|0;var r=0;r=e+60+(n<<3)+4|0,(t[r>>2]|0)!=3&&(C[e+60+(n<<3)>>2]=w(le),t[r>>2]=3,Gn(e))}function nt(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=(s^1)&1,l=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function _t(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=s?0:2,l=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function Ze(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+204+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Ft(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=(s^1)&1,l=e+276+(n<<3)|0,n=e+276+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function nn(e,n){return e=e|0,n=n|0,w(C[e+276+(n<<3)>>2])}function sn(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+348|0,l=e+352|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function Yn(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+348|0,r=e+352|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Me(n)|0,t[r>>2]=u?3:2,Gn(e))}function yr(e){e=e|0;var n=0;n=e+352|0,(t[n>>2]|0)!=3&&(C[e+348>>2]=w(le),t[n>>2]=3,Gn(e))}function nu(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+348|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Cu(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+356|0,l=e+360|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function S0(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+356|0,r=e+360|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Me(n)|0,t[r>>2]=u?3:2,Gn(e))}function X0(e){e=e|0;var n=0;n=e+360|0,(t[n>>2]|0)!=3&&(C[e+356>>2]=w(le),t[n>>2]=3,Gn(e))}function xu(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+356|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function di(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+364|0,l=e+368|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function ko(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=s?0:2,u=e+364|0,l=e+368|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function Zo(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+364|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function sf(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+372|0,l=e+376|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function gl(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=s?0:2,u=e+372|0,l=e+376|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function af(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+372|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Mo(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+380|0,l=e+384|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function ds(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=s?0:2,u=e+380|0,l=e+384|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function bs(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+380|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function No(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+388|0,l=e+392|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function Lo(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=s?0:2,u=e+388|0,l=e+392|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function ps(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+388|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Vu(e,n){e=e|0,n=w(n);var r=0;r=e+396|0,w(C[r>>2])!=n&&(C[r>>2]=n,Gn(e))}function yu(e){return e=e|0,w(C[e+396>>2])}function pi(e){return e=e|0,w(C[e+400>>2])}function T0(e){return e=e|0,w(C[e+404>>2])}function Q0(e){return e=e|0,w(C[e+408>>2])}function Fo(e){return e=e|0,w(C[e+412>>2])}function ta(e){return e=e|0,w(C[e+416>>2])}function Kl(e){return e=e|0,w(C[e+420>>2])}function Ki(e,n){switch(e=e|0,n=n|0,Iu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+424+(n<<2)>>2])}function Yr(e,n){switch(e=e|0,n=n|0,Iu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+448+(n<<2)>>2])}function fo(e,n){switch(e=e|0,n=n|0,Iu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+472+(n<<2)>>2])}function Oi(e,n){e=e|0,n=n|0;var r=0,u=St;return r=t[e+4>>2]|0,(r|0)==(t[n+4>>2]|0)?r?(u=w(C[e>>2]),e=w(jt(w(u-w(C[n>>2]))))>2]=0,t[u+4>>2]=0,t[u+8>>2]=0,Y0(u|0,e|0,n|0,0),sr(e,3,(p[u+11>>0]|0)<0?t[u>>2]|0:u,r),eB(u),m=r}function J0(e,n,r,u){e=w(e),n=w(n),r=r|0,u=u|0;var l=St;e=w(e*n),l=w(YE(e,w(1)));do if(gi(l,w(0))|0)e=w(e-l);else{if(e=w(e-l),gi(l,w(1))|0){e=w(e+w(1));break}if(r){e=w(e+w(1));break}u||(l>w(.5)?l=w(1):(u=gi(l,w(.5))|0,l=w(u?1:0)),e=w(e+l))}while(0);return w(e/n)}function Z0(e,n,r,u,l,s,h,D,S,M,O,P,K){e=e|0,n=w(n),r=r|0,u=w(u),l=l|0,s=w(s),h=h|0,D=w(D),S=w(S),M=w(M),O=w(O),P=w(P),K=K|0;var Pe=0,Ee=St,ve=St,Qe=St,We=St,st=St,Re=St;return S>2]),Ee!=w(0)):0)?(Qe=w(J0(n,Ee,0,0)),We=w(J0(u,Ee,0,0)),ve=w(J0(s,Ee,0,0)),Ee=w(J0(D,Ee,0,0))):(ve=s,Qe=n,Ee=D,We=u),(l|0)==(e|0)?Pe=gi(ve,Qe)|0:Pe=0,(h|0)==(r|0)?K=gi(Ee,We)|0:K=0,((Pe?0:(st=w(n-O),!(Te(e,st,S)|0)))?!(et(e,st,l,S)|0):0)?Pe=Ve(e,st,l,s,S)|0:Pe=1,((K?0:(Re=w(u-P),!(Te(r,Re,M)|0)))?!(et(r,Re,h,M)|0):0)?K=Ve(r,Re,h,D,M)|0:K=1,K=Pe&K),K|0}function Te(e,n,r){return e=e|0,n=w(n),r=w(r),(e|0)==1?e=gi(n,r)|0:e=0,e|0}function et(e,n,r,u){return e=e|0,n=w(n),r=r|0,u=w(u),(e|0)==2&(r|0)==0?n>=u?e=1:e=gi(n,u)|0:e=0,e|0}function Ve(e,n,r,u,l){return e=e|0,n=w(n),r=r|0,u=w(u),l=w(l),(e|0)==2&(r|0)==2&u>n?l<=n?e=1:e=gi(n,l)|0:e=0,e|0}function Gt(e,n,r,u,l,s,h,D,S,M,O){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=s|0,h=w(h),D=w(D),S=S|0,M=M|0,O=O|0;var P=0,K=0,Pe=0,Ee=0,ve=St,Qe=St,We=0,st=0,Re=0,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0,Zi=St,ts=St,ns=St,rs=0,Xs=0;On=m,m=m+160|0,mn=On+152|0,Nn=On+120|0,Lr=On+104|0,Re=On+72|0,Ee=On+56|0,Qt=On+8|0,st=On,Fe=(t[2279]|0)+1|0,t[2279]=Fe,hr=e+984|0,((p[hr>>0]|0)!=0?(t[e+512>>2]|0)!=(t[2278]|0):0)?We=4:(t[e+516>>2]|0)==(u|0)?kr=0:We=4,(We|0)==4&&(t[e+520>>2]=0,t[e+924>>2]=-1,t[e+928>>2]=-1,C[e+932>>2]=w(-1),C[e+936>>2]=w(-1),kr=1);e:do if(t[e+964>>2]|0)if(ve=w(Yt(e,2,h)),Qe=w(Yt(e,0,h)),P=e+916|0,ns=w(C[P>>2]),ts=w(C[e+920>>2]),Zi=w(C[e+932>>2]),Z0(l,n,s,r,t[e+924>>2]|0,ns,t[e+928>>2]|0,ts,Zi,w(C[e+936>>2]),ve,Qe,O)|0)We=22;else if(Pe=t[e+520>>2]|0,!Pe)We=21;else for(K=0;;){if(P=e+524+(K*24|0)|0,Zi=w(C[P>>2]),ts=w(C[e+524+(K*24|0)+4>>2]),ns=w(C[e+524+(K*24|0)+16>>2]),Z0(l,n,s,r,t[e+524+(K*24|0)+8>>2]|0,Zi,t[e+524+(K*24|0)+12>>2]|0,ts,ns,w(C[e+524+(K*24|0)+20>>2]),ve,Qe,O)|0){We=22;break e}if(K=K+1|0,K>>>0>=Pe>>>0){We=21;break}}else{if(S){if(P=e+916|0,!(gi(w(C[P>>2]),n)|0)){We=21;break}if(!(gi(w(C[e+920>>2]),r)|0)){We=21;break}if((t[e+924>>2]|0)!=(l|0)){We=21;break}P=(t[e+928>>2]|0)==(s|0)?P:0,We=22;break}if(Pe=t[e+520>>2]|0,!Pe)We=21;else for(K=0;;){if(P=e+524+(K*24|0)|0,((gi(w(C[P>>2]),n)|0?gi(w(C[e+524+(K*24|0)+4>>2]),r)|0:0)?(t[e+524+(K*24|0)+8>>2]|0)==(l|0):0)?(t[e+524+(K*24|0)+12>>2]|0)==(s|0):0){We=22;break e}if(K=K+1|0,K>>>0>=Pe>>>0){We=21;break}}}while(0);do if((We|0)==21)p[11697]|0?(P=0,We=28):(P=0,We=31);else if((We|0)==22){if(K=(p[11697]|0)!=0,!((P|0)!=0&(kr^1)))if(K){We=28;break}else{We=31;break}Ee=P+16|0,t[e+908>>2]=t[Ee>>2],Pe=P+20|0,t[e+912>>2]=t[Pe>>2],(p[11698]|0)==0|K^1||(t[st>>2]=Br(Fe)|0,t[st+4>>2]=Fe,sr(e,4,2972,st),K=t[e+972>>2]|0,K|0&&M1[K&127](e),l=wn(l,S)|0,s=wn(s,S)|0,Xs=+w(C[Ee>>2]),rs=+w(C[Pe>>2]),t[Qt>>2]=l,t[Qt+4>>2]=s,U[Qt+8>>3]=+n,U[Qt+16>>3]=+r,U[Qt+24>>3]=Xs,U[Qt+32>>3]=rs,t[Qt+40>>2]=M,sr(e,4,2989,Qt))}while(0);return(We|0)==28&&(K=Br(Fe)|0,t[Ee>>2]=K,t[Ee+4>>2]=Fe,t[Ee+8>>2]=kr?3047:11699,sr(e,4,3038,Ee),K=t[e+972>>2]|0,K|0&&M1[K&127](e),Qt=wn(l,S)|0,We=wn(s,S)|0,t[Re>>2]=Qt,t[Re+4>>2]=We,U[Re+8>>3]=+n,U[Re+16>>3]=+r,t[Re+24>>2]=M,sr(e,4,3049,Re),We=31),(We|0)==31&&(fu(e,n,r,u,l,s,h,D,S,O),p[11697]|0&&(K=t[2279]|0,Qt=Br(K)|0,t[Lr>>2]=Qt,t[Lr+4>>2]=K,t[Lr+8>>2]=kr?3047:11699,sr(e,4,3083,Lr),K=t[e+972>>2]|0,K|0&&M1[K&127](e),Qt=wn(l,S)|0,Lr=wn(s,S)|0,rs=+w(C[e+908>>2]),Xs=+w(C[e+912>>2]),t[Nn>>2]=Qt,t[Nn+4>>2]=Lr,U[Nn+8>>3]=rs,U[Nn+16>>3]=Xs,t[Nn+24>>2]=M,sr(e,4,3092,Nn)),t[e+516>>2]=u,P||(K=e+520|0,P=t[K>>2]|0,(P|0)==16&&(p[11697]|0&&sr(e,4,3124,mn),t[K>>2]=0,P=0),S?P=e+916|0:(t[K>>2]=P+1,P=e+524+(P*24|0)|0),C[P>>2]=n,C[P+4>>2]=r,t[P+8>>2]=l,t[P+12>>2]=s,t[P+16>>2]=t[e+908>>2],t[P+20>>2]=t[e+912>>2],P=0)),S&&(t[e+416>>2]=t[e+908>>2],t[e+420>>2]=t[e+912>>2],p[e+985>>0]=1,p[hr>>0]=0),t[2279]=(t[2279]|0)+-1,t[e+512>>2]=t[2278],m=On,kr|(P|0)==0|0}function Yt(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return u=w(Li(e,n,r)),w(u+w(A0(e,n,r)))}function sr(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=m,m=m+16|0,l=s,t[l>>2]=u,e?u=t[e+976>>2]|0:u=0,Ps(u,e,n,r,l),m=s}function Br(e){return e=e|0,(e>>>0>60?3201:3201+(60-e)|0)|0}function wn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+32|0,r=l+12|0,u=l,t[r>>2]=t[254],t[r+4>>2]=t[255],t[r+8>>2]=t[256],t[u>>2]=t[257],t[u+4>>2]=t[258],t[u+8>>2]=t[259],(e|0)>2?e=11699:e=t[(n?u:r)+(e<<2)>>2]|0,m=l,e|0}function fu(e,n,r,u,l,s,h,D,S,M){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=s|0,h=w(h),D=w(D),S=S|0,M=M|0;var O=0,P=0,K=0,Pe=0,Ee=St,ve=St,Qe=St,We=St,st=St,Re=St,Fe=St,Qt=0,Lr=0,Nn=0,mn=St,hr=St,kr=0,On=St,Zi=0,ts=0,ns=0,rs=0,Xs=0,$2=0,ed=0,Za=0,td=0,Oc=0,kc=0,nd=0,rd=0,id=0,si=0,$a=0,ud=0,zf=0,od=St,ld=St,Mc=St,Nc=St,qf=St,Il=0,Aa=0,As=0,ef=0,L1=0,F1=St,Lc=St,b1=St,P1=St,Bl=St,vl=St,tf=0,lu=St,I1=St,is=St,Hf=St,us=St,Wf=St,B1=0,U1=0,Vf=St,Ul=St,nf=0,j1=0,z1=0,q1=0,gr=St,Mu=0,ml=0,os=0,jl=0,Tr=0,Fn=0,rf=0,hn=St,H1=0,u0=0;rf=m,m=m+16|0,Il=rf+12|0,Aa=rf+8|0,As=rf+4|0,ef=rf,Iu(e,(l|0)==0|(Me(n)|0)^1,3326),Iu(e,(s|0)==0|(Me(r)|0)^1,3406),ml=El(e,u)|0,t[e+496>>2]=ml,Tr=I0(2,ml)|0,Fn=I0(0,ml)|0,C[e+440>>2]=w(Li(e,Tr,h)),C[e+444>>2]=w(A0(e,Tr,h)),C[e+428>>2]=w(Li(e,Fn,h)),C[e+436>>2]=w(A0(e,Fn,h)),C[e+464>>2]=w(R0(e,Tr)),C[e+468>>2]=w(co(e,Tr)),C[e+452>>2]=w(R0(e,Fn)),C[e+460>>2]=w(co(e,Fn)),C[e+488>>2]=w(Ru(e,Tr,h)),C[e+492>>2]=w(Yu(e,Tr,h)),C[e+476>>2]=w(Ru(e,Fn,h)),C[e+484>>2]=w(Yu(e,Fn,h));do if(t[e+964>>2]|0)Xl(e,n,r,l,s,h,D);else{if(os=e+948|0,jl=(t[e+952>>2]|0)-(t[os>>2]|0)>>2,!jl){hs(e,n,r,l,s,h,D);break}if(S?0:ra(e,n,r,l,s,h,D)|0)break;cs(e),$a=e+508|0,p[$a>>0]=0,Tr=I0(t[e+4>>2]|0,ml)|0,Fn=df(Tr,ml)|0,Mu=Fi(Tr)|0,ud=t[e+8>>2]|0,j1=e+28|0,zf=(t[j1>>2]|0)!=0,us=Mu?h:D,Vf=Mu?D:h,od=w(Ku(e,Tr,h)),ld=w(vs(e,Tr,h)),Ee=w(Ku(e,Fn,h)),Wf=w(wr(e,Tr,h)),Ul=w(wr(e,Fn,h)),Nn=Mu?l:s,nf=Mu?s:l,gr=Mu?Wf:Ul,st=Mu?Ul:Wf,Hf=w(Yt(e,2,h)),We=w(Yt(e,0,h)),ve=w(w(Sn(e+364|0,h))-gr),Qe=w(w(Sn(e+380|0,h))-gr),Re=w(w(Sn(e+372|0,D))-st),Fe=w(w(Sn(e+388|0,D))-st),Mc=Mu?ve:Re,Nc=Mu?Qe:Fe,Hf=w(n-Hf),n=w(Hf-gr),Me(n)|0?gr=n:gr=w(Eu(w(Yp(n,Qe)),ve)),I1=w(r-We),n=w(I1-st),Me(n)|0?is=n:is=w(Eu(w(Yp(n,Fe)),Re)),ve=Mu?gr:is,lu=Mu?is:gr;e:do if((Nn|0)==1)for(u=0,P=0;;){if(O=yi(e,P)|0,!u)(w(Xi(O))>w(0)?w(ru(O))>w(0):0)?u=O:u=0;else if($0(O)|0){Pe=0;break e}if(P=P+1|0,P>>>0>=jl>>>0){Pe=u;break}}else Pe=0;while(0);Qt=Pe+500|0,Lr=Pe+504|0,u=0,O=0,n=w(0),K=0;do{if(P=t[(t[os>>2]|0)+(K<<2)>>2]|0,(t[P+36>>2]|0)==1)Ci(P),p[P+985>>0]=1,p[P+984>>0]=0;else{Vr(P),S&&C0(P,El(P,ml)|0,ve,lu,gr);do if((t[P+24>>2]|0)!=1)if((P|0)==(Pe|0)){t[Qt>>2]=t[2278],C[Lr>>2]=w(0);break}else{Xr(e,P,gr,l,is,gr,is,s,ml,M);break}else O|0&&(t[O+960>>2]=P),t[P+960>>2]=0,O=P,u=(u|0)==0?P:u;while(0);vl=w(C[P+504>>2]),n=w(n+w(vl+w(Yt(P,Tr,gr))))}K=K+1|0}while((K|0)!=(jl|0));for(ns=n>ve,tf=zf&((Nn|0)==2&ns)?1:Nn,Zi=(nf|0)==1,Xs=Zi&(S^1),$2=(tf|0)==1,ed=(tf|0)==2,Za=976+(Tr<<2)|0,td=(nf|2|0)==2,id=Zi&(zf^1),Oc=1040+(Fn<<2)|0,kc=1040+(Tr<<2)|0,nd=976+(Fn<<2)|0,rd=(nf|0)!=1,ns=zf&((Nn|0)!=0&ns),ts=e+976|0,Zi=Zi^1,n=ve,kr=0,rs=0,vl=w(0),qf=w(0);;){e:do if(kr>>>0>>0)for(Lr=t[os>>2]|0,K=0,Fe=w(0),Re=w(0),Qe=w(0),ve=w(0),P=0,O=0,Pe=kr;;){if(Qt=t[Lr+(Pe<<2)>>2]|0,(t[Qt+36>>2]|0)!=1?(t[Qt+940>>2]=rs,(t[Qt+24>>2]|0)!=1):0){if(We=w(Yt(Qt,Tr,gr)),si=t[Za>>2]|0,r=w(Sn(Qt+380+(si<<3)|0,us)),st=w(C[Qt+504>>2]),r=w(Yp(r,st)),r=w(Eu(w(Sn(Qt+364+(si<<3)|0,us)),r)),zf&(K|0)!=0&w(We+w(Re+r))>n){s=K,We=Fe,Nn=Pe;break e}We=w(We+r),r=w(Re+We),We=w(Fe+We),$0(Qt)|0&&(Qe=w(Qe+w(Xi(Qt))),ve=w(ve-w(st*w(ru(Qt))))),O|0&&(t[O+960>>2]=Qt),t[Qt+960>>2]=0,K=K+1|0,O=Qt,P=(P|0)==0?Qt:P}else We=Fe,r=Re;if(Pe=Pe+1|0,Pe>>>0>>0)Fe=We,Re=r;else{s=K,Nn=Pe;break}}else s=0,We=w(0),Qe=w(0),ve=w(0),P=0,Nn=kr;while(0);si=Qe>w(0)&Qew(0)&veNc&((Me(Nc)|0)^1))n=Nc,si=51;else if(p[(t[ts>>2]|0)+3>>0]|0)si=51;else{if(mn!=w(0)?w(Xi(e))!=w(0):0){si=53;break}n=We,si=53}while(0);if((si|0)==51&&(si=0,Me(n)|0?si=53:(hr=w(n-We),On=n)),(si|0)==53&&(si=0,We>2]|0,Pe=hrw(0),Re=w(hr/mn),Qe=w(0),We=w(0),n=w(0),O=P;do r=w(Sn(O+380+(K<<3)|0,us)),ve=w(Sn(O+364+(K<<3)|0,us)),ve=w(Yp(r,w(Eu(ve,w(C[O+504>>2]))))),Pe?(r=w(ve*w(ru(O))),(r!=w(-0)?(hn=w(ve-w(st*r)),F1=w(Wn(O,Tr,hn,On,gr)),hn!=F1):0)&&(Qe=w(Qe-w(F1-ve)),n=w(n+r))):((Qt?(Lc=w(Xi(O)),Lc!=w(0)):0)?(hn=w(ve+w(Re*Lc)),b1=w(Wn(O,Tr,hn,On,gr)),hn!=b1):0)&&(Qe=w(Qe-w(b1-ve)),We=w(We-Lc)),O=t[O+960>>2]|0;while((O|0)!=0);if(n=w(Fe+n),ve=w(hr+Qe),L1)n=w(0);else{st=w(mn+We),Pe=t[Za>>2]|0,Qt=vew(0),st=w(ve/st),n=w(0);do{hn=w(Sn(P+380+(Pe<<3)|0,us)),Qe=w(Sn(P+364+(Pe<<3)|0,us)),Qe=w(Yp(hn,w(Eu(Qe,w(C[P+504>>2]))))),Qt?(hn=w(Qe*w(ru(P))),ve=w(-hn),hn!=w(-0)?(hn=w(Re*ve),ve=w(Wn(P,Tr,w(Qe+(Lr?ve:hn)),On,gr))):ve=Qe):(K?(P1=w(Xi(P)),P1!=w(0)):0)?ve=w(Wn(P,Tr,w(Qe+w(st*P1)),On,gr)):ve=Qe,n=w(n-w(ve-Qe)),We=w(Yt(P,Tr,gr)),r=w(Yt(P,Fn,gr)),ve=w(ve+We),C[Aa>>2]=ve,t[ef>>2]=1,Qe=w(C[P+396>>2]);e:do if(Me(Qe)|0){O=Me(lu)|0;do if(!O){if(ns|(Bu(P,Fn,lu)|0|Zi)||(Xu(e,P)|0)!=4||(t[(m0(P,Fn)|0)+4>>2]|0)==3||(t[(y0(P,Fn)|0)+4>>2]|0)==3)break;C[Il>>2]=lu,t[As>>2]=1;break e}while(0);if(Bu(P,Fn,lu)|0){O=t[P+992+(t[nd>>2]<<2)>>2]|0,hn=w(r+w(Sn(O,lu))),C[Il>>2]=hn,O=rd&(t[O+4>>2]|0)==2,t[As>>2]=((Me(hn)|0|O)^1)&1;break}else{C[Il>>2]=lu,t[As>>2]=O?0:2;break}}else hn=w(ve-We),mn=w(hn/Qe),hn=w(Qe*hn),t[As>>2]=1,C[Il>>2]=w(r+(Mu?mn:hn));while(0);kn(P,Tr,On,gr,ef,Aa),kn(P,Fn,lu,gr,As,Il);do if(Bu(P,Fn,lu)|0?0:(Xu(e,P)|0)==4){if((t[(m0(P,Fn)|0)+4>>2]|0)==3){O=0;break}O=(t[(y0(P,Fn)|0)+4>>2]|0)!=3}else O=0;while(0);hn=w(C[Aa>>2]),mn=w(C[Il>>2]),H1=t[ef>>2]|0,u0=t[As>>2]|0,Gt(P,Mu?hn:mn,Mu?mn:hn,ml,Mu?H1:u0,Mu?u0:H1,gr,is,S&(O^1),3488,M)|0,p[$a>>0]=p[$a>>0]|p[P+508>>0],P=t[P+960>>2]|0}while((P|0)!=0)}}else n=w(0);if(n=w(hr+n),u0=n>0]=u0|k[$a>>0],ed&n>w(0)?(O=t[Za>>2]|0,((t[e+364+(O<<3)+4>>2]|0)!=0?(Bl=w(Sn(e+364+(O<<3)|0,us)),Bl>=w(0)):0)?ve=w(Eu(w(0),w(Bl-w(On-n)))):ve=w(0)):ve=n,Qt=kr>>>0>>0,Qt){Pe=t[os>>2]|0,K=kr,O=0;do P=t[Pe+(K<<2)>>2]|0,t[P+24>>2]|0||(O=((t[(m0(P,Tr)|0)+4>>2]|0)==3&1)+O|0,O=O+((t[(y0(P,Tr)|0)+4>>2]|0)==3&1)|0),K=K+1|0;while((K|0)!=(Nn|0));O?(We=w(0),r=w(0)):si=101}else si=101;e:do if((si|0)==101)switch(si=0,ud|0){case 1:{O=0,We=w(ve*w(.5)),r=w(0);break e}case 2:{O=0,We=ve,r=w(0);break e}case 3:{if(s>>>0<=1){O=0,We=w(0),r=w(0);break e}r=w((s+-1|0)>>>0),O=0,We=w(0),r=w(w(Eu(ve,w(0)))/r);break e}case 5:{r=w(ve/w((s+1|0)>>>0)),O=0,We=r;break e}case 4:{r=w(ve/w(s>>>0)),O=0,We=w(r*w(.5));break e}default:{O=0,We=w(0),r=w(0);break e}}while(0);if(n=w(od+We),Qt){Qe=w(ve/w(O|0)),K=t[os>>2]|0,P=kr,ve=w(0);do{O=t[K+(P<<2)>>2]|0;e:do if((t[O+36>>2]|0)!=1){switch(t[O+24>>2]|0){case 1:{if(se(O,Tr)|0){if(!S)break e;hn=w(re(O,Tr,On)),hn=w(hn+w(R0(e,Tr))),hn=w(hn+w(Li(O,Tr,gr))),C[O+400+(t[kc>>2]<<2)>>2]=hn;break e}break}case 0:if(u0=(t[(m0(O,Tr)|0)+4>>2]|0)==3,hn=w(Qe+n),n=u0?hn:n,S&&(u0=O+400+(t[kc>>2]<<2)|0,C[u0>>2]=w(n+w(C[u0>>2]))),u0=(t[(y0(O,Tr)|0)+4>>2]|0)==3,hn=w(Qe+n),n=u0?hn:n,Xs){hn=w(r+w(Yt(O,Tr,gr))),ve=lu,n=w(n+w(hn+w(C[O+504>>2])));break e}else{n=w(n+w(r+w(Le(O,Tr,gr)))),ve=w(Eu(ve,w(Le(O,Fn,gr))));break e}default:}S&&(hn=w(We+w(R0(e,Tr))),u0=O+400+(t[kc>>2]<<2)|0,C[u0>>2]=w(hn+w(C[u0>>2])))}while(0);P=P+1|0}while((P|0)!=(Nn|0))}else ve=w(0);if(r=w(ld+n),td?We=w(w(Wn(e,Fn,w(Ul+ve),Vf,h))-Ul):We=lu,Qe=w(w(Wn(e,Fn,w(Ul+(id?lu:ve)),Vf,h))-Ul),Qt&S){P=kr;do{K=t[(t[os>>2]|0)+(P<<2)>>2]|0;do if((t[K+36>>2]|0)!=1){if((t[K+24>>2]|0)==1){if(se(K,Fn)|0){if(hn=w(re(K,Fn,lu)),hn=w(hn+w(R0(e,Fn))),hn=w(hn+w(Li(K,Fn,gr))),O=t[Oc>>2]|0,C[K+400+(O<<2)>>2]=hn,!(Me(hn)|0))break}else O=t[Oc>>2]|0;hn=w(R0(e,Fn)),C[K+400+(O<<2)>>2]=w(hn+w(Li(K,Fn,gr)));break}O=Xu(e,K)|0;do if((O|0)==4){if((t[(m0(K,Fn)|0)+4>>2]|0)==3){si=139;break}if((t[(y0(K,Fn)|0)+4>>2]|0)==3){si=139;break}if(Bu(K,Fn,lu)|0){n=Ee;break}H1=t[K+908+(t[Za>>2]<<2)>>2]|0,t[Il>>2]=H1,n=w(C[K+396>>2]),u0=Me(n)|0,ve=(t[W>>2]=H1,w(C[W>>2])),u0?n=Qe:(hr=w(Yt(K,Fn,gr)),hn=w(ve/n),n=w(n*ve),n=w(hr+(Mu?hn:n))),C[Aa>>2]=n,C[Il>>2]=w(w(Yt(K,Tr,gr))+ve),t[As>>2]=1,t[ef>>2]=1,kn(K,Tr,On,gr,As,Il),kn(K,Fn,lu,gr,ef,Aa),n=w(C[Il>>2]),hr=w(C[Aa>>2]),hn=Mu?n:hr,n=Mu?hr:n,u0=((Me(hn)|0)^1)&1,Gt(K,hn,n,ml,u0,((Me(n)|0)^1)&1,gr,is,1,3493,M)|0,n=Ee}else si=139;while(0);e:do if((si|0)==139){si=0,n=w(We-w(Le(K,Fn,gr)));do if((t[(m0(K,Fn)|0)+4>>2]|0)==3){if((t[(y0(K,Fn)|0)+4>>2]|0)!=3)break;n=w(Ee+w(Eu(w(0),w(n*w(.5)))));break e}while(0);if((t[(y0(K,Fn)|0)+4>>2]|0)==3){n=Ee;break}if((t[(m0(K,Fn)|0)+4>>2]|0)==3){n=w(Ee+w(Eu(w(0),n)));break}switch(O|0){case 1:{n=Ee;break e}case 2:{n=w(Ee+w(n*w(.5)));break e}default:{n=w(Ee+n);break e}}}while(0);hn=w(vl+n),u0=K+400+(t[Oc>>2]<<2)|0,C[u0>>2]=w(hn+w(C[u0>>2]))}while(0);P=P+1|0}while((P|0)!=(Nn|0))}if(vl=w(vl+Qe),qf=w(Eu(qf,r)),s=rs+1|0,Nn>>>0>=jl>>>0)break;n=On,kr=Nn,rs=s}do if(S){if(O=s>>>0>1,O?0:!(Ae(e)|0))break;if(!(Me(lu)|0)){n=w(lu-vl);e:do switch(t[e+12>>2]|0){case 3:{Ee=w(Ee+n),Re=w(0);break}case 2:{Ee=w(Ee+w(n*w(.5))),Re=w(0);break}case 4:{lu>vl?Re=w(n/w(s>>>0)):Re=w(0);break}case 7:if(lu>vl){Ee=w(Ee+w(n/w(s<<1>>>0))),Re=w(n/w(s>>>0)),Re=O?Re:w(0);break e}else{Ee=w(Ee+w(n*w(.5))),Re=w(0);break e}case 6:{Re=w(n/w(rs>>>0)),Re=lu>vl&O?Re:w(0);break}default:Re=w(0)}while(0);if(s|0)for(Qt=1040+(Fn<<2)|0,Lr=976+(Fn<<2)|0,Pe=0,P=0;;){e:do if(P>>>0>>0)for(ve=w(0),Qe=w(0),n=w(0),K=P;;){O=t[(t[os>>2]|0)+(K<<2)>>2]|0;do if((t[O+36>>2]|0)!=1?(t[O+24>>2]|0)==0:0){if((t[O+940>>2]|0)!=(Pe|0))break e;if(ot(O,Fn)|0&&(hn=w(C[O+908+(t[Lr>>2]<<2)>>2]),n=w(Eu(n,w(hn+w(Yt(O,Fn,gr)))))),(Xu(e,O)|0)!=5)break;Bl=w(vt(O)),Bl=w(Bl+w(Li(O,0,gr))),hn=w(C[O+912>>2]),hn=w(w(hn+w(Yt(O,0,gr)))-Bl),Bl=w(Eu(Qe,Bl)),hn=w(Eu(ve,hn)),ve=hn,Qe=Bl,n=w(Eu(n,w(Bl+hn)))}while(0);if(O=K+1|0,O>>>0>>0)K=O;else{K=O;break}}else Qe=w(0),n=w(0),K=P;while(0);if(st=w(Re+n),r=Ee,Ee=w(Ee+st),P>>>0>>0){We=w(r+Qe),O=P;do{P=t[(t[os>>2]|0)+(O<<2)>>2]|0;e:do if((t[P+36>>2]|0)!=1?(t[P+24>>2]|0)==0:0)switch(Xu(e,P)|0){case 1:{hn=w(r+w(Li(P,Fn,gr))),C[P+400+(t[Qt>>2]<<2)>>2]=hn;break e}case 3:{hn=w(w(Ee-w(A0(P,Fn,gr)))-w(C[P+908+(t[Lr>>2]<<2)>>2])),C[P+400+(t[Qt>>2]<<2)>>2]=hn;break e}case 2:{hn=w(r+w(w(st-w(C[P+908+(t[Lr>>2]<<2)>>2]))*w(.5))),C[P+400+(t[Qt>>2]<<2)>>2]=hn;break e}case 4:{if(hn=w(r+w(Li(P,Fn,gr))),C[P+400+(t[Qt>>2]<<2)>>2]=hn,Bu(P,Fn,lu)|0||(Mu?(ve=w(C[P+908>>2]),n=w(ve+w(Yt(P,Tr,gr))),Qe=st):(Qe=w(C[P+912>>2]),Qe=w(Qe+w(Yt(P,Fn,gr))),n=st,ve=w(C[P+908>>2])),gi(n,ve)|0?gi(Qe,w(C[P+912>>2]))|0:0))break e;Gt(P,n,Qe,ml,1,1,gr,is,1,3501,M)|0;break e}case 5:{C[P+404>>2]=w(w(We-w(vt(P)))+w(re(P,0,lu)));break e}default:break e}while(0);O=O+1|0}while((O|0)!=(K|0))}if(Pe=Pe+1|0,(Pe|0)==(s|0))break;P=K}}}while(0);if(C[e+908>>2]=w(Wn(e,2,Hf,h,h)),C[e+912>>2]=w(Wn(e,0,I1,D,h)),((tf|0)!=0?(B1=t[e+32>>2]|0,U1=(tf|0)==2,!(U1&(B1|0)!=2)):0)?U1&(B1|0)==2&&(n=w(Wf+On),n=w(Eu(w(Yp(n,w(Xt(e,Tr,qf,us)))),Wf)),si=198):(n=w(Wn(e,Tr,qf,us,h)),si=198),(si|0)==198&&(C[e+908+(t[976+(Tr<<2)>>2]<<2)>>2]=n),((nf|0)!=0?(z1=t[e+32>>2]|0,q1=(nf|0)==2,!(q1&(z1|0)!=2)):0)?q1&(z1|0)==2&&(n=w(Ul+lu),n=w(Eu(w(Yp(n,w(Xt(e,Fn,w(Ul+vl),Vf)))),Ul)),si=204):(n=w(Wn(e,Fn,w(Ul+vl),Vf,h)),si=204),(si|0)==204&&(C[e+908+(t[976+(Fn<<2)>>2]<<2)>>2]=n),S){if((t[j1>>2]|0)==2){P=976+(Fn<<2)|0,K=1040+(Fn<<2)|0,O=0;do Pe=yi(e,O)|0,t[Pe+24>>2]|0||(H1=t[P>>2]|0,hn=w(C[e+908+(H1<<2)>>2]),u0=Pe+400+(t[K>>2]<<2)|0,hn=w(hn-w(C[u0>>2])),C[u0>>2]=w(hn-w(C[Pe+908+(H1<<2)>>2]))),O=O+1|0;while((O|0)!=(jl|0))}if(u|0){O=Mu?tf:l;do xn(e,u,gr,O,is,ml,M),u=t[u+960>>2]|0;while((u|0)!=0)}if(O=(Tr|2|0)==3,P=(Fn|2|0)==3,O|P){u=0;do K=t[(t[os>>2]|0)+(u<<2)>>2]|0,(t[K+36>>2]|0)!=1&&(O&&_n(e,K,Tr),P&&_n(e,K,Fn)),u=u+1|0;while((u|0)!=(jl|0))}}}while(0);m=rf}function Gu(e,n){e=e|0,n=w(n);var r=0;Dn(e,n>=w(0),3147),r=n==w(0),C[e+4>>2]=r?w(0):n}function Kr(e,n,r,u){e=e|0,n=w(n),r=w(r),u=u|0;var l=St,s=St,h=0,D=0,S=0;t[2278]=(t[2278]|0)+1,Vr(e),Bu(e,2,n)|0?(l=w(Sn(t[e+992>>2]|0,n)),S=1,l=w(l+w(Yt(e,2,n)))):(l=w(Sn(e+380|0,n)),l>=w(0)?S=2:(S=((Me(n)|0)^1)&1,l=n)),Bu(e,0,r)|0?(s=w(Sn(t[e+996>>2]|0,r)),D=1,s=w(s+w(Yt(e,0,n)))):(s=w(Sn(e+388|0,r)),s>=w(0)?D=2:(D=((Me(r)|0)^1)&1,s=r)),h=e+976|0,(Gt(e,l,s,u,S,D,n,r,1,3189,t[h>>2]|0)|0?(C0(e,t[e+496>>2]|0,n,r,n),Au(e,w(C[(t[h>>2]|0)+4>>2]),w(0),w(0)),p[11696]|0):0)&&ff(e,7)}function Vr(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;D=m,m=m+32|0,h=D+24|0,s=D+16|0,u=D+8|0,l=D,r=0;do n=e+380+(r<<3)|0,((t[e+380+(r<<3)+4>>2]|0)!=0?(S=n,M=t[S+4>>2]|0,O=u,t[O>>2]=t[S>>2],t[O+4>>2]=M,O=e+364+(r<<3)|0,M=t[O+4>>2]|0,S=l,t[S>>2]=t[O>>2],t[S+4>>2]=M,t[s>>2]=t[u>>2],t[s+4>>2]=t[u+4>>2],t[h>>2]=t[l>>2],t[h+4>>2]=t[l+4>>2],Oi(s,h)|0):0)||(n=e+348+(r<<3)|0),t[e+992+(r<<2)>>2]=n,r=r+1|0;while((r|0)!=2);m=D}function Bu(e,n,r){e=e|0,n=n|0,r=w(r);var u=0;switch(e=t[e+992+(t[976+(n<<2)>>2]<<2)>>2]|0,t[e+4>>2]|0){case 0:case 3:{e=0;break}case 1:{w(C[e>>2])>2])>2]|0){case 2:{n=w(w(w(C[e>>2])*n)/w(100));break}case 1:{n=w(C[e>>2]);break}default:n=w(le)}return w(n)}function C0(e,n,r,u,l){e=e|0,n=n|0,r=w(r),u=w(u),l=w(l);var s=0,h=St;n=t[e+944>>2]|0?n:1,s=I0(t[e+4>>2]|0,n)|0,n=df(s,n)|0,r=w(Sr(e,s,r)),u=w(Sr(e,n,u)),h=w(r+w(Li(e,s,l))),C[e+400+(t[1040+(s<<2)>>2]<<2)>>2]=h,r=w(r+w(A0(e,s,l))),C[e+400+(t[1e3+(s<<2)>>2]<<2)>>2]=r,r=w(u+w(Li(e,n,l))),C[e+400+(t[1040+(n<<2)>>2]<<2)>>2]=r,l=w(u+w(A0(e,n,l))),C[e+400+(t[1e3+(n<<2)>>2]<<2)>>2]=l}function Au(e,n,r,u){e=e|0,n=w(n),r=w(r),u=w(u);var l=0,s=0,h=St,D=St,S=0,M=0,O=St,P=0,K=St,Pe=St,Ee=St,ve=St;if(n!=w(0)&&(l=e+400|0,ve=w(C[l>>2]),s=e+404|0,Ee=w(C[s>>2]),P=e+416|0,Pe=w(C[P>>2]),M=e+420|0,h=w(C[M>>2]),K=w(ve+r),O=w(Ee+u),u=w(K+Pe),D=w(O+h),S=(t[e+988>>2]|0)==1,C[l>>2]=w(J0(ve,n,0,S)),C[s>>2]=w(J0(Ee,n,0,S)),r=w(YE(w(Pe*n),w(1))),gi(r,w(0))|0?s=0:s=(gi(r,w(1))|0)^1,r=w(YE(w(h*n),w(1))),gi(r,w(0))|0?l=0:l=(gi(r,w(1))|0)^1,ve=w(J0(u,n,S&s,S&(s^1))),C[P>>2]=w(ve-w(J0(K,n,0,S))),ve=w(J0(D,n,S&l,S&(l^1))),C[M>>2]=w(ve-w(J0(O,n,0,S))),s=(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2,s|0)){l=0;do Au(yi(e,l)|0,n,K,O),l=l+1|0;while((l|0)!=(s|0))}}function ei(e,n,r,u,l){switch(e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,r|0){case 5:case 0:{e=F8(t[489]|0,u,l)|0;break}default:e=QI(u,l)|0}return e|0}function _l(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;l=m,m=m+16|0,s=l,t[s>>2]=u,Ps(e,0,n,r,s),m=l}function Ps(e,n,r,u,l){if(e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,e=e|0?e:956,tS[t[e+8>>2]&1](e,n,r,u,l)|0,(r|0)==5)Xn();else return}function Uu(e,n,r){e=e|0,n=n|0,r=r|0,p[e+n>>0]=r&1}function na(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(zi(e,u),Is(e,t[n>>2]|0,t[r>>2]|0,u))}function zi(e,n){e=e|0,n=n|0;var r=0;if((x0(e)|0)>>>0>>0&&li(e),n>>>0>1073741823)Xn();else{r=cn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function Is(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(pr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function x0(e){return e=e|0,1073741823}function Li(e,n,r){return e=e|0,n=n|0,r=w(r),(Fi(n)|0?(t[e+96>>2]|0)!=0:0)?e=e+92|0:e=dt(e+60|0,t[1040+(n<<2)>>2]|0,992)|0,w($o(e,r))}function A0(e,n,r){return e=e|0,n=n|0,r=w(r),(Fi(n)|0?(t[e+104>>2]|0)!=0:0)?e=e+100|0:e=dt(e+60|0,t[1e3+(n<<2)>>2]|0,992)|0,w($o(e,r))}function Fi(e){return e=e|0,(e|1|0)==3|0}function $o(e,n){return e=e|0,n=w(n),(t[e+4>>2]|0)==3?n=w(0):n=w(Sn(e,n)),w(n)}function El(e,n){return e=e|0,n=n|0,e=t[e>>2]|0,((e|0)==0?(n|0)>1?n:1:e)|0}function I0(e,n){e=e|0,n=n|0;var r=0;e:do if((n|0)==2){switch(e|0){case 2:{e=3;break e}case 3:break;default:{r=4;break e}}e=2}else r=4;while(0);return e|0}function R0(e,n){e=e|0,n=n|0;var r=St;return((Fi(n)|0?(t[e+312>>2]|0)!=0:0)?(r=w(C[e+308>>2]),r>=w(0)):0)||(r=w(Eu(w(C[(dt(e+276|0,t[1040+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function co(e,n){e=e|0,n=n|0;var r=St;return((Fi(n)|0?(t[e+320>>2]|0)!=0:0)?(r=w(C[e+316>>2]),r>=w(0)):0)||(r=w(Eu(w(C[(dt(e+276|0,t[1e3+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function Ru(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return((Fi(n)|0?(t[e+240>>2]|0)!=0:0)?(u=w(Sn(e+236|0,r)),u>=w(0)):0)||(u=w(Eu(w(Sn(dt(e+204|0,t[1040+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(u)}function Yu(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return((Fi(n)|0?(t[e+248>>2]|0)!=0:0)?(u=w(Sn(e+244|0,r)),u>=w(0)):0)||(u=w(Eu(w(Sn(dt(e+204|0,t[1e3+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(u)}function Xl(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=St,S=St,M=St,O=St,P=St,K=St,Pe=0,Ee=0,ve=0;ve=m,m=m+16|0,Pe=ve,Ee=e+964|0,Iu(e,(t[Ee>>2]|0)!=0,3519),D=w(wr(e,2,n)),S=w(wr(e,0,n)),M=w(Yt(e,2,n)),O=w(Yt(e,0,n)),Me(n)|0?P=n:P=w(Eu(w(0),w(w(n-M)-D))),Me(r)|0?K=r:K=w(Eu(w(0),w(w(r-O)-S))),(u|0)==1&(l|0)==1?(C[e+908>>2]=w(Wn(e,2,w(n-M),s,s)),n=w(Wn(e,0,w(r-O),h,s))):(nS[t[Ee>>2]&1](Pe,e,P,u,K,l),P=w(D+w(C[Pe>>2])),K=w(n-M),C[e+908>>2]=w(Wn(e,2,(u|2|0)==2?P:K,s,s)),K=w(S+w(C[Pe+4>>2])),n=w(r-O),n=w(Wn(e,0,(l|2|0)==2?K:n,h,s))),C[e+912>>2]=n,m=ve}function hs(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=St,S=St,M=St,O=St;M=w(wr(e,2,s)),D=w(wr(e,0,s)),O=w(Yt(e,2,s)),S=w(Yt(e,0,s)),n=w(n-O),C[e+908>>2]=w(Wn(e,2,(u|2|0)==2?M:n,s,s)),r=w(r-S),C[e+912>>2]=w(Wn(e,0,(l|2|0)==2?D:r,h,s))}function ra(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=0,S=St,M=St;return D=(u|0)==2,((n<=w(0)&D?0:!(r<=w(0)&(l|0)==2))?!((u|0)==1&(l|0)==1):0)?e=0:(S=w(Yt(e,0,s)),M=w(Yt(e,2,s)),D=n>2]=w(Wn(e,2,D?w(0):n,s,s)),n=w(r-S),D=r>2]=w(Wn(e,0,D?w(0):n,h,s)),e=1),e|0}function df(e,n){return e=e|0,n=n|0,yn(e)|0?e=I0(2,n)|0:e=0,e|0}function Ku(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(Ru(e,n,r)),w(r+w(R0(e,n)))}function vs(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(Yu(e,n,r)),w(r+w(co(e,n)))}function wr(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return u=w(Ku(e,n,r)),w(u+w(vs(e,n,r)))}function $0(e){return e=e|0,t[e+24>>2]|0?e=0:w(Xi(e))!=w(0)?e=1:e=w(ru(e))!=w(0),e|0}function Xi(e){e=e|0;var n=St;if(t[e+944>>2]|0){if(n=w(C[e+44>>2]),Me(n)|0)return n=w(C[e+40>>2]),e=n>w(0)&((Me(n)|0)^1),w(e?n:w(0))}else n=w(0);return w(n)}function ru(e){e=e|0;var n=St,r=0,u=St;do if(t[e+944>>2]|0){if(n=w(C[e+48>>2]),Me(n)|0){if(r=p[(t[e+976>>2]|0)+2>>0]|0,r<<24>>24==0?(u=w(C[e+40>>2]),u>24?w(1):w(0)}}else n=w(0);while(0);return w(n)}function Ci(e){e=e|0;var n=0,r=0;if(Iv(e+400|0,0,540)|0,p[e+985>>0]=1,cs(e),r=mu(e)|0,r|0){n=e+948|0,e=0;do Ci(t[(t[n>>2]|0)+(e<<2)>>2]|0),e=e+1|0;while((e|0)!=(r|0))}}function Xr(e,n,r,u,l,s,h,D,S,M){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=w(s),h=w(h),D=D|0,S=S|0,M=M|0;var O=0,P=St,K=0,Pe=0,Ee=St,ve=St,Qe=0,We=St,st=0,Re=St,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0,Zi=0,ts=0;Zi=m,m=m+16|0,Lr=Zi+12|0,Nn=Zi+8|0,mn=Zi+4|0,hr=Zi,On=I0(t[e+4>>2]|0,S)|0,Fe=Fi(On)|0,P=w(Sn(En(n)|0,Fe?s:h)),Qt=Bu(n,2,s)|0,kr=Bu(n,0,h)|0;do if(Me(P)|0?0:!(Me(Fe?r:l)|0)){if(O=n+504|0,!(Me(w(C[O>>2]))|0)&&(!(er(t[n+976>>2]|0,0)|0)||(t[n+500>>2]|0)==(t[2278]|0)))break;C[O>>2]=w(Eu(P,w(wr(n,On,s))))}else K=7;while(0);do if((K|0)==7){if(st=Fe^1,!(st|Qt^1)){h=w(Sn(t[n+992>>2]|0,s)),C[n+504>>2]=w(Eu(h,w(wr(n,2,s))));break}if(!(Fe|kr^1)){h=w(Sn(t[n+996>>2]|0,h)),C[n+504>>2]=w(Eu(h,w(wr(n,0,s))));break}C[Lr>>2]=w(le),C[Nn>>2]=w(le),t[mn>>2]=0,t[hr>>2]=0,We=w(Yt(n,2,s)),Re=w(Yt(n,0,s)),Qt?(Ee=w(We+w(Sn(t[n+992>>2]|0,s))),C[Lr>>2]=Ee,t[mn>>2]=1,Pe=1):(Pe=0,Ee=w(le)),kr?(P=w(Re+w(Sn(t[n+996>>2]|0,h))),C[Nn>>2]=P,t[hr>>2]=1,O=1):(O=0,P=w(le)),K=t[e+32>>2]|0,Fe&(K|0)==2?K=2:(Me(Ee)|0?!(Me(r)|0):0)&&(C[Lr>>2]=r,t[mn>>2]=2,Pe=2,Ee=r),(((K|0)==2&st?0:Me(P)|0)?!(Me(l)|0):0)&&(C[Nn>>2]=l,t[hr>>2]=2,O=2,P=l),ve=w(C[n+396>>2]),Qe=Me(ve)|0;do if(Qe)K=Pe;else{if((Pe|0)==1&st){C[Nn>>2]=w(w(Ee-We)/ve),t[hr>>2]=1,O=1,K=1;break}Fe&(O|0)==1?(C[Lr>>2]=w(ve*w(P-Re)),t[mn>>2]=1,O=1,K=1):K=Pe}while(0);ts=Me(r)|0,Pe=(Xu(e,n)|0)!=4,(Fe|Qt|((u|0)!=1|ts)|(Pe|(K|0)==1)?0:(C[Lr>>2]=r,t[mn>>2]=1,!Qe))&&(C[Nn>>2]=w(w(r-We)/ve),t[hr>>2]=1,O=1),(kr|st|((D|0)!=1|(Me(l)|0))|(Pe|(O|0)==1)?0:(C[Nn>>2]=l,t[hr>>2]=1,!Qe))&&(C[Lr>>2]=w(ve*w(l-Re)),t[mn>>2]=1),kn(n,2,s,s,mn,Lr),kn(n,0,h,s,hr,Nn),r=w(C[Lr>>2]),l=w(C[Nn>>2]),Gt(n,r,l,S,t[mn>>2]|0,t[hr>>2]|0,s,h,0,3565,M)|0,h=w(C[n+908+(t[976+(On<<2)>>2]<<2)>>2]),C[n+504>>2]=w(Eu(h,w(wr(n,On,s))))}while(0);t[n+500>>2]=t[2278],m=Zi}function Wn(e,n,r,u,l){return e=e|0,n=n|0,r=w(r),u=w(u),l=w(l),u=w(Xt(e,n,r,u)),w(Eu(u,w(wr(e,n,l))))}function Xu(e,n){return e=e|0,n=n|0,n=n+20|0,n=t[((t[n>>2]|0)==0?e+16|0:n)>>2]|0,((n|0)==5?yn(t[e+4>>2]|0)|0:0)&&(n=1),n|0}function m0(e,n){return e=e|0,n=n|0,(Fi(n)|0?(t[e+96>>2]|0)!=0:0)?n=4:n=t[1040+(n<<2)>>2]|0,e+60+(n<<3)|0}function y0(e,n){return e=e|0,n=n|0,(Fi(n)|0?(t[e+104>>2]|0)!=0:0)?n=5:n=t[1e3+(n<<2)>>2]|0,e+60+(n<<3)|0}function kn(e,n,r,u,l,s){switch(e=e|0,n=n|0,r=w(r),u=w(u),l=l|0,s=s|0,r=w(Sn(e+380+(t[976+(n<<2)>>2]<<3)|0,r)),r=w(r+w(Yt(e,n,u))),t[l>>2]|0){case 2:case 1:{l=Me(r)|0,u=w(C[s>>2]),C[s>>2]=l|u>2]=2,C[s>>2]=r);break}default:}}function se(e,n){return e=e|0,n=n|0,e=e+132|0,(Fi(n)|0?(t[(dt(e,4,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(dt(e,t[1040+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function re(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0;return e=e+132|0,(Fi(n)|0?(u=dt(e,4,948)|0,(t[u+4>>2]|0)!=0):0)?l=4:(u=dt(e,t[1040+(n<<2)>>2]|0,948)|0,t[u+4>>2]|0?l=4:r=w(0)),(l|0)==4&&(r=w(Sn(u,r))),w(r)}function Le(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return u=w(C[e+908+(t[976+(n<<2)>>2]<<2)>>2]),u=w(u+w(Li(e,n,r))),w(u+w(A0(e,n,r)))}function Ae(e){e=e|0;var n=0,r=0,u=0;e:do if(yn(t[e+4>>2]|0)|0)n=0;else if((t[e+16>>2]|0)!=5)if(r=mu(e)|0,!r)n=0;else for(n=0;;){if(u=yi(e,n)|0,(t[u+24>>2]|0)==0?(t[u+20>>2]|0)==5:0){n=1;break e}if(n=n+1|0,n>>>0>=r>>>0){n=0;break}}else n=1;while(0);return n|0}function ot(e,n){e=e|0,n=n|0;var r=St;return r=w(C[e+908+(t[976+(n<<2)>>2]<<2)>>2]),r>=w(0)&((Me(r)|0)^1)|0}function vt(e){e=e|0;var n=St,r=0,u=0,l=0,s=0,h=0,D=0,S=St;if(r=t[e+968>>2]|0,r)S=w(C[e+908>>2]),n=w(C[e+912>>2]),n=w(J8[r&0](e,S,n)),Iu(e,(Me(n)|0)^1,3573);else{s=mu(e)|0;do if(s|0){for(r=0,l=0;;){if(u=yi(e,l)|0,t[u+940>>2]|0){h=8;break}if((t[u+24>>2]|0)!=1)if(D=(Xu(e,u)|0)==5,D){r=u;break}else r=(r|0)==0?u:r;if(l=l+1|0,l>>>0>=s>>>0){h=8;break}}if((h|0)==8&&!r)break;return n=w(vt(r)),w(n+w(C[r+404>>2]))}while(0);n=w(C[e+912>>2])}return w(n)}function Xt(e,n,r,u){e=e|0,n=n|0,r=w(r),u=w(u);var l=St,s=0;return yn(n)|0?(n=1,s=3):Fi(n)|0?(n=0,s=3):(u=w(le),l=w(le)),(s|0)==3&&(l=w(Sn(e+364+(n<<3)|0,u)),u=w(Sn(e+380+(n<<3)|0,u))),s=u=w(0)&((Me(u)|0)^1)),r=s?u:r,s=l>=w(0)&((Me(l)|0)^1)&r>2]|0,s)|0,Ee=df(Qe,s)|0,ve=Fi(Qe)|0,P=w(Yt(n,2,r)),K=w(Yt(n,0,r)),Bu(n,2,r)|0?D=w(P+w(Sn(t[n+992>>2]|0,r))):(se(n,2)|0?It(n,2)|0:0)?(D=w(C[e+908>>2]),S=w(R0(e,2)),S=w(D-w(S+w(co(e,2)))),D=w(re(n,2,r)),D=w(Wn(n,2,w(S-w(D+w(xi(n,2,r)))),r,r))):D=w(le),Bu(n,0,l)|0?S=w(K+w(Sn(t[n+996>>2]|0,l))):(se(n,0)|0?It(n,0)|0:0)?(S=w(C[e+912>>2]),st=w(R0(e,0)),st=w(S-w(st+w(co(e,0)))),S=w(re(n,0,l)),S=w(Wn(n,0,w(st-w(S+w(xi(n,0,l)))),l,r))):S=w(le),M=Me(D)|0,O=Me(S)|0;do if(M^O?(Pe=w(C[n+396>>2]),!(Me(Pe)|0)):0)if(M){D=w(P+w(w(S-K)*Pe));break}else{st=w(K+w(w(D-P)/Pe)),S=O?st:S;break}while(0);O=Me(D)|0,M=Me(S)|0,O|M&&(Re=(O^1)&1,u=r>w(0)&((u|0)!=0&O),D=ve?D:u?r:D,Gt(n,D,S,s,ve?Re:u?2:Re,O&(M^1)&1,D,S,0,3623,h)|0,D=w(C[n+908>>2]),D=w(D+w(Yt(n,2,r))),S=w(C[n+912>>2]),S=w(S+w(Yt(n,0,r)))),Gt(n,D,S,s,1,1,D,S,1,3635,h)|0,(It(n,Qe)|0?!(se(n,Qe)|0):0)?(Re=t[976+(Qe<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(st-w(C[n+908+(Re<<2)>>2])),st=w(st-w(co(e,Qe))),st=w(st-w(A0(n,Qe,r))),st=w(st-w(xi(n,Qe,ve?r:l))),C[n+400+(t[1040+(Qe<<2)>>2]<<2)>>2]=st):We=21;do if((We|0)==21){if(se(n,Qe)|0?0:(t[e+8>>2]|0)==1){Re=t[976+(Qe<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(w(st-w(C[n+908+(Re<<2)>>2]))*w(.5)),C[n+400+(t[1040+(Qe<<2)>>2]<<2)>>2]=st;break}(se(n,Qe)|0?0:(t[e+8>>2]|0)==2)&&(Re=t[976+(Qe<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(st-w(C[n+908+(Re<<2)>>2])),C[n+400+(t[1040+(Qe<<2)>>2]<<2)>>2]=st)}while(0);(It(n,Ee)|0?!(se(n,Ee)|0):0)?(Re=t[976+(Ee<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(st-w(C[n+908+(Re<<2)>>2])),st=w(st-w(co(e,Ee))),st=w(st-w(A0(n,Ee,r))),st=w(st-w(xi(n,Ee,ve?l:r))),C[n+400+(t[1040+(Ee<<2)>>2]<<2)>>2]=st):We=30;do if((We|0)==30?!(se(n,Ee)|0):0){if((Xu(e,n)|0)==2){Re=t[976+(Ee<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(w(st-w(C[n+908+(Re<<2)>>2]))*w(.5)),C[n+400+(t[1040+(Ee<<2)>>2]<<2)>>2]=st;break}Re=(Xu(e,n)|0)==3,Re^(t[e+28>>2]|0)==2&&(Re=t[976+(Ee<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(st-w(C[n+908+(Re<<2)>>2])),C[n+400+(t[1040+(Ee<<2)>>2]<<2)>>2]=st)}while(0)}function _n(e,n,r){e=e|0,n=n|0,r=r|0;var u=St,l=0;l=t[976+(r<<2)>>2]|0,u=w(C[n+908+(l<<2)>>2]),u=w(w(C[e+908+(l<<2)>>2])-u),u=w(u-w(C[n+400+(t[1040+(r<<2)>>2]<<2)>>2])),C[n+400+(t[1e3+(r<<2)>>2]<<2)>>2]=u}function yn(e){return e=e|0,(e|1|0)==1|0}function En(e){e=e|0;var n=St;switch(t[e+56>>2]|0){case 0:case 3:{n=w(C[e+40>>2]),n>w(0)&((Me(n)|0)^1)?e=p[(t[e+976>>2]|0)+2>>0]|0?1056:992:e=1056;break}default:e=e+52|0}return e|0}function er(e,n){return e=e|0,n=n|0,(p[e+n>>0]|0)!=0|0}function It(e,n){return e=e|0,n=n|0,e=e+132|0,(Fi(n)|0?(t[(dt(e,5,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(dt(e,t[1e3+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function xi(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0;return e=e+132|0,(Fi(n)|0?(u=dt(e,5,948)|0,(t[u+4>>2]|0)!=0):0)?l=4:(u=dt(e,t[1e3+(n<<2)>>2]|0,948)|0,t[u+4>>2]|0?l=4:r=w(0)),(l|0)==4&&(r=w(Sn(u,r))),w(r)}function Sr(e,n,r){return e=e|0,n=n|0,r=w(r),se(e,n)|0?r=w(re(e,n,r)):r=w(-w(xi(e,n,r))),w(r)}function cr(e){return e=w(e),C[W>>2]=e,t[W>>2]|0|0}function Y(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)Xn();else{l=cn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function Qr(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Jr(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&yt(e)}function Ur(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;if(h=e+4|0,D=t[h>>2]|0,l=D-u|0,s=l>>2,e=n+(s<<2)|0,e>>>0>>0){u=D;do t[u>>2]=t[e>>2],e=e+4|0,u=(t[h>>2]|0)+4|0,t[h>>2]=u;while(e>>>0>>0)}s|0&&Iy(D+(0-s<<2)|0,n|0,l|0)|0}function lt(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0;return D=n+4|0,S=t[D>>2]|0,l=t[e>>2]|0,h=r,s=h-l|0,u=S+(0-(s>>2)<<2)|0,t[D>>2]=u,(s|0)>0&&pr(u|0,l|0,s|0)|0,l=e+4|0,s=n+8|0,u=(t[l>>2]|0)-h|0,(u|0)>0&&(pr(t[s>>2]|0,r|0,u|0)|0,t[s>>2]=(t[s>>2]|0)+(u>>>2<<2)),h=t[e>>2]|0,t[e>>2]=t[D>>2],t[D>>2]=h,h=t[l>>2]|0,t[l>>2]=t[s>>2],t[s>>2]=h,h=e+8|0,r=n+12|0,e=t[h>>2]|0,t[h>>2]=t[r>>2],t[r>>2]=e,t[n>>2]=t[D>>2],S|0}function hi(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;if(h=t[n>>2]|0,s=t[r>>2]|0,(h|0)!=(s|0)){l=e+8|0,r=((s+-4-h|0)>>>2)+1|0,e=h,u=t[l>>2]|0;do t[u>>2]=t[e>>2],u=(t[l>>2]|0)+4|0,t[l>>2]=u,e=e+4|0;while((e|0)!=(s|0));t[n>>2]=h+(r<<2)}}function Qi(){_e()}function g0(){var e=0;return e=cn(4)|0,bn(e),e|0}function bn(e){e=e|0,t[e>>2]=p0()|0}function Qu(e){e=e|0,e|0&&(eo(e),yt(e))}function eo(e){e=e|0,K0(t[e>>2]|0)}function po(e,n,r){e=e|0,n=n|0,r=r|0,Uu(t[e>>2]|0,n,r)}function Ju(e,n){e=e|0,n=w(n),Gu(t[e>>2]|0,n)}function bo(e,n){return e=e|0,n=n|0,er(t[e>>2]|0,n)|0}function to(){var e=0;return e=cn(8)|0,Na(e,0),e|0}function Na(e,n){e=e|0,n=n|0,n?n=Hn(t[n>>2]|0)|0:n=or()|0,t[e>>2]=n,t[e+4>>2]=0,Ma(n,e)}function pf(e){e=e|0;var n=0;return n=cn(8)|0,Na(n,e),n|0}function uc(e){e=e|0,e|0&&(ms(e),yt(e))}function ms(e){e=e|0;var n=0;bu(t[e>>2]|0),n=e+4|0,e=t[n>>2]|0,t[n>>2]=0,e|0&&(ia(e),yt(e))}function ia(e){e=e|0,B0(e)}function B0(e){e=e|0,e=t[e>>2]|0,e|0&&Ir(e|0)}function oc(e){return e=e|0,Ls(e)|0}function La(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(ia(n),yt(n)),ao(t[e>>2]|0)}function gd(e,n){e=e|0,n=n|0,ea(t[e>>2]|0,t[n>>2]|0)}function $1(e,n){e=e|0,n=n|0,Z(t[e>>2]|0,n)}function e2(e,n,r){e=e|0,n=n|0,r=+r,lr(t[e>>2]|0,n,w(r))}function ho(e,n,r){e=e|0,n=n|0,r=+r,Qn(t[e>>2]|0,n,w(r))}function Uc(e,n){e=e|0,n=n|0,z(t[e>>2]|0,n)}function Dl(e,n){e=e|0,n=n|0,$(t[e>>2]|0,n)}function el(e,n){e=e|0,n=n|0,me(t[e>>2]|0,n)}function _d(e,n){e=e|0,n=n|0,h0(t[e>>2]|0,n)}function Bs(e,n){e=e|0,n=n|0,Xe(t[e>>2]|0,n)}function wl(e,n){e=e|0,n=n|0,Ni(t[e>>2]|0,n)}function t2(e,n,r){e=e|0,n=n|0,r=+r,Cn(t[e>>2]|0,n,w(r))}function Po(e,n,r){e=e|0,n=n|0,r=+r,Ar(t[e>>2]|0,n,w(r))}function Fa(e,n){e=e|0,n=n|0,Rr(t[e>>2]|0,n)}function ba(e,n){e=e|0,n=n|0,ie(t[e>>2]|0,n)}function Pa(e,n){e=e|0,n=n|0,tt(t[e>>2]|0,n)}function ua(e,n){e=e|0,n=+n,kt(t[e>>2]|0,w(n))}function ys(e,n){e=e|0,n=+n,tn(t[e>>2]|0,w(n))}function gs(e,n){e=e|0,n=+n,Lt(t[e>>2]|0,w(n))}function Ql(e,n){e=e|0,n=+n,bt(t[e>>2]|0,w(n))}function Io(e,n){e=e|0,n=+n,on(t[e>>2]|0,w(n))}function hf(e,n){e=e|0,n=+n,sn(t[e>>2]|0,w(n))}function tl(e,n){e=e|0,n=+n,Yn(t[e>>2]|0,w(n))}function ju(e){e=e|0,yr(t[e>>2]|0)}function Ia(e,n){e=e|0,n=+n,Cu(t[e>>2]|0,w(n))}function Zu(e,n){e=e|0,n=+n,S0(t[e>>2]|0,w(n))}function U0(e){e=e|0,X0(t[e>>2]|0)}function vf(e,n){e=e|0,n=+n,di(t[e>>2]|0,w(n))}function jc(e,n){e=e|0,n=+n,ko(t[e>>2]|0,w(n))}function lc(e,n){e=e|0,n=+n,sf(t[e>>2]|0,w(n))}function Sl(e,n){e=e|0,n=+n,gl(t[e>>2]|0,w(n))}function _s(e,n){e=e|0,n=+n,Mo(t[e>>2]|0,w(n))}function oa(e,n){e=e|0,n=+n,ds(t[e>>2]|0,w(n))}function n2(e,n){e=e|0,n=+n,No(t[e>>2]|0,w(n))}function la(e,n){e=e|0,n=+n,Lo(t[e>>2]|0,w(n))}function sc(e,n){e=e|0,n=+n,Vu(t[e>>2]|0,w(n))}function zc(e,n,r){e=e|0,n=n|0,r=+r,Ft(t[e>>2]|0,n,w(r))}function bi(e,n,r){e=e|0,n=n|0,r=+r,nt(t[e>>2]|0,n,w(r))}function g(e,n,r){e=e|0,n=n|0,r=+r,_t(t[e>>2]|0,n,w(r))}function y(e){return e=e|0,ke(t[e>>2]|0)|0}function A(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,_r(l,t[n>>2]|0,r),F(e,l),m=u}function F(e,n){e=e|0,n=n|0,I(e,t[n+4>>2]|0,+w(C[n>>2]))}function I(e,n,r){e=e|0,n=n|0,r=+r,t[e>>2]=n,U[e+8>>3]=r}function J(e){return e=e|0,G(t[e>>2]|0)|0}function fe(e){return e=e|0,De(t[e>>2]|0)|0}function mt(e){return e=e|0,xe(t[e>>2]|0)|0}function Ct(e){return e=e|0,Fs(t[e>>2]|0)|0}function Mt(e){return e=e|0,ht(t[e>>2]|0)|0}function Er(e){return e=e|0,B(t[e>>2]|0)|0}function $u(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,v0(l,t[n>>2]|0,r),F(e,l),m=u}function iu(e){return e=e|0,qe(t[e>>2]|0)|0}function j0(e){return e=e|0,Tt(t[e>>2]|0)|0}function Tl(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,gn(u,t[n>>2]|0),F(e,u),m=r}function e0(e){return e=e|0,+ +w(lf(t[e>>2]|0))}function He(e){return e=e|0,+ +w(Ns(t[e>>2]|0))}function Be(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,nu(u,t[n>>2]|0),F(e,u),m=r}function ut(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,xu(u,t[n>>2]|0),F(e,u),m=r}function Jt(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,Zo(u,t[n>>2]|0),F(e,u),m=r}function jn(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,af(u,t[n>>2]|0),F(e,u),m=r}function ti(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,bs(u,t[n>>2]|0),F(e,u),m=r}function tr(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,ps(u,t[n>>2]|0),F(e,u),m=r}function ii(e){return e=e|0,+ +w(yu(t[e>>2]|0))}function qi(e,n){return e=e|0,n=n|0,+ +w(nn(t[e>>2]|0,n))}function jr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,Ze(l,t[n>>2]|0,r),F(e,l),m=u}function gu(e,n,r){e=e|0,n=n|0,r=r|0,ka(t[e>>2]|0,t[n>>2]|0,r)}function Ba(e,n){e=e|0,n=n|0,Tu(t[e>>2]|0,t[n>>2]|0)}function Ua(e){return e=e|0,mu(t[e>>2]|0)|0}function r2(e){return e=e|0,e=ri(t[e>>2]|0)|0,e?e=oc(e)|0:e=0,e|0}function Ed(e,n){return e=e|0,n=n|0,e=yi(t[e>>2]|0,n)|0,e?e=oc(e)|0:e=0,e|0}function Dd(e,n){e=e|0,n=n|0;var r=0,u=0;u=cn(4)|0,mf(u,n),r=e+4|0,n=t[r>>2]|0,t[r>>2]=u,n|0&&(ia(n),yt(n)),$s(t[e>>2]|0,1)}function mf(e,n){e=e|0,n=n|0,rl(e,n)}function i2(e,n,r,u,l,s){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=s|0;var h=0,D=0;h=m,m=m+16|0,D=h,ch(D,Ls(n)|0,+r,u,+l,s),C[e>>2]=w(+U[D>>3]),C[e+4>>2]=w(+U[D+8>>3]),m=h}function ch(e,n,r,u,l,s){e=e|0,n=n|0,r=+r,u=u|0,l=+l,s=s|0;var h=0,D=0,S=0,M=0,O=0;h=m,m=m+32|0,O=h+8|0,M=h+20|0,S=h,D=h+16|0,U[O>>3]=r,t[M>>2]=u,U[S>>3]=l,t[D>>2]=s,qc(e,t[n+4>>2]|0,O,M,S,D),m=h}function qc(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0;h=m,m=m+16|0,D=h,Ta(D),n=vo(n)|0,dh(e,n,+U[r>>3],t[u>>2]|0,+U[l>>3],t[s>>2]|0),Ca(D),m=h}function vo(e){return e=e|0,t[e>>2]|0}function dh(e,n,r,u,l,s){e=e|0,n=n|0,r=+r,u=u|0,l=+l,s=s|0;var h=0;h=mo(ph()|0)|0,r=+Cl(r),u=u2(u)|0,l=+Cl(l),o2(e,Wr(0,h|0,n|0,+r,u|0,+l,u2(s)|0)|0)}function ph(){var e=0;return p[7608]|0||(Wc(9120),e=7608,t[e>>2]=1,t[e+4>>2]=0),9120}function mo(e){return e=e|0,t[e+8>>2]|0}function Cl(e){return e=+e,+ +ja(e)}function u2(e){return e=e|0,s2(e)|0}function o2(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+32|0,r=l,u=n,u&1?(wd(r,0),Yi(u|0,r|0)|0,Hc(e,r),Mr(r)):(t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]),m=l}function wd(e,n){e=e|0,n=n|0,l2(e,n),t[e+8>>2]=0,p[e+24>>0]=0}function Hc(e,n){e=e|0,n=n|0,n=n+8|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]}function Mr(e){e=e|0,p[e+24>>0]=0}function l2(e,n){e=e|0,n=n|0,t[e>>2]=n}function s2(e){return e=e|0,e|0}function ja(e){return e=+e,+e}function Wc(e){e=e|0,nl(e,Sd()|0,4)}function Sd(){return 1064}function nl(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=Pt(n|0,r+1|0)|0}function rl(e,n){e=e|0,n=n|0,n=t[n>>2]|0,t[e>>2]=n,Ei(n|0)}function hh(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(ia(n),yt(n)),$s(t[e>>2]|0,0)}function yf(e){e=e|0,Gr(t[e>>2]|0)}function Vc(e){return e=e|0,Yl(t[e>>2]|0)|0}function Td(e,n,r,u){e=e|0,n=+n,r=+r,u=u|0,Kr(t[e>>2]|0,w(n),w(r),u)}function vh(e){return e=e|0,+ +w(pi(t[e>>2]|0))}function il(e){return e=e|0,+ +w(Q0(t[e>>2]|0))}function sa(e){return e=e|0,+ +w(T0(t[e>>2]|0))}function Cd(e){return e=e|0,+ +w(Fo(t[e>>2]|0))}function xd(e){return e=e|0,+ +w(ta(t[e>>2]|0))}function ac(e){return e=e|0,+ +w(Kl(t[e>>2]|0))}function mh(e,n){e=e|0,n=n|0,U[e>>3]=+w(pi(t[n>>2]|0)),U[e+8>>3]=+w(Q0(t[n>>2]|0)),U[e+16>>3]=+w(T0(t[n>>2]|0)),U[e+24>>3]=+w(Fo(t[n>>2]|0)),U[e+32>>3]=+w(ta(t[n>>2]|0)),U[e+40>>3]=+w(Kl(t[n>>2]|0))}function Ad(e,n){return e=e|0,n=n|0,+ +w(Ki(t[e>>2]|0,n))}function a2(e,n){return e=e|0,n=n|0,+ +w(Yr(t[e>>2]|0,n))}function Gc(e,n){return e=e|0,n=n|0,+ +w(fo(t[e>>2]|0,n))}function Yc(){return Oa()|0}function Us(){Rd(),aa(),Kc(),fc(),cc(),f2()}function Rd(){bN(11713,4938,1)}function aa(){eN(10448)}function Kc(){bM(10408)}function fc(){iM(10324)}function cc(){yE(10096)}function f2(){yh(9132)}function yh(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0,Re=0,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0,Zi=0,ts=0,ns=0,rs=0,Xs=0,$2=0,ed=0,Za=0,td=0,Oc=0,kc=0,nd=0,rd=0,id=0,si=0,$a=0,ud=0,zf=0,od=0,ld=0,Mc=0,Nc=0,qf=0,Il=0,Aa=0,As=0,ef=0,L1=0,F1=0,Lc=0,b1=0,P1=0,Bl=0,vl=0,tf=0,lu=0,I1=0,is=0,Hf=0,us=0,Wf=0,B1=0,U1=0,Vf=0,Ul=0,nf=0,j1=0,z1=0,q1=0,gr=0,Mu=0,ml=0,os=0,jl=0,Tr=0,Fn=0,rf=0;n=m,m=m+672|0,r=n+656|0,rf=n+648|0,Fn=n+640|0,Tr=n+632|0,jl=n+624|0,os=n+616|0,ml=n+608|0,Mu=n+600|0,gr=n+592|0,q1=n+584|0,z1=n+576|0,j1=n+568|0,nf=n+560|0,Ul=n+552|0,Vf=n+544|0,U1=n+536|0,B1=n+528|0,Wf=n+520|0,us=n+512|0,Hf=n+504|0,is=n+496|0,I1=n+488|0,lu=n+480|0,tf=n+472|0,vl=n+464|0,Bl=n+456|0,P1=n+448|0,b1=n+440|0,Lc=n+432|0,F1=n+424|0,L1=n+416|0,ef=n+408|0,As=n+400|0,Aa=n+392|0,Il=n+384|0,qf=n+376|0,Nc=n+368|0,Mc=n+360|0,ld=n+352|0,od=n+344|0,zf=n+336|0,ud=n+328|0,$a=n+320|0,si=n+312|0,id=n+304|0,rd=n+296|0,nd=n+288|0,kc=n+280|0,Oc=n+272|0,td=n+264|0,Za=n+256|0,ed=n+248|0,$2=n+240|0,Xs=n+232|0,rs=n+224|0,ns=n+216|0,ts=n+208|0,Zi=n+200|0,On=n+192|0,kr=n+184|0,hr=n+176|0,mn=n+168|0,Nn=n+160|0,Lr=n+152|0,Qt=n+144|0,Fe=n+136|0,Re=n+128|0,st=n+120|0,We=n+112|0,Qe=n+104|0,ve=n+96|0,Ee=n+88|0,Pe=n+80|0,K=n+72|0,P=n+64|0,O=n+56|0,M=n+48|0,S=n+40|0,D=n+32|0,h=n+24|0,s=n+16|0,l=n+8|0,u=n,gf(e,3646),Xc(e,3651,2)|0,gh(e,3665,2)|0,vm(e,3682,18)|0,t[rf>>2]=19,t[rf+4>>2]=0,t[r>>2]=t[rf>>2],t[r+4>>2]=t[rf+4>>2],js(e,3690,r)|0,t[Fn>>2]=1,t[Fn+4>>2]=0,t[r>>2]=t[Fn>>2],t[r+4>>2]=t[Fn+4>>2],fa(e,3696,r)|0,t[Tr>>2]=2,t[Tr+4>>2]=0,t[r>>2]=t[Tr>>2],t[r+4>>2]=t[Tr+4>>2],Ji(e,3706,r)|0,t[jl>>2]=1,t[jl+4>>2]=0,t[r>>2]=t[jl>>2],t[r+4>>2]=t[jl+4>>2],O0(e,3722,r)|0,t[os>>2]=2,t[os+4>>2]=0,t[r>>2]=t[os>>2],t[r+4>>2]=t[os+4>>2],O0(e,3734,r)|0,t[ml>>2]=3,t[ml+4>>2]=0,t[r>>2]=t[ml>>2],t[r+4>>2]=t[ml+4>>2],Ji(e,3753,r)|0,t[Mu>>2]=4,t[Mu+4>>2]=0,t[r>>2]=t[Mu>>2],t[r+4>>2]=t[Mu+4>>2],Ji(e,3769,r)|0,t[gr>>2]=5,t[gr+4>>2]=0,t[r>>2]=t[gr>>2],t[r+4>>2]=t[gr+4>>2],Ji(e,3783,r)|0,t[q1>>2]=6,t[q1+4>>2]=0,t[r>>2]=t[q1>>2],t[r+4>>2]=t[q1+4>>2],Ji(e,3796,r)|0,t[z1>>2]=7,t[z1+4>>2]=0,t[r>>2]=t[z1>>2],t[r+4>>2]=t[z1+4>>2],Ji(e,3813,r)|0,t[j1>>2]=8,t[j1+4>>2]=0,t[r>>2]=t[j1>>2],t[r+4>>2]=t[j1+4>>2],Ji(e,3825,r)|0,t[nf>>2]=3,t[nf+4>>2]=0,t[r>>2]=t[nf>>2],t[r+4>>2]=t[nf+4>>2],O0(e,3843,r)|0,t[Ul>>2]=4,t[Ul+4>>2]=0,t[r>>2]=t[Ul>>2],t[r+4>>2]=t[Ul+4>>2],O0(e,3853,r)|0,t[Vf>>2]=9,t[Vf+4>>2]=0,t[r>>2]=t[Vf>>2],t[r+4>>2]=t[Vf+4>>2],Ji(e,3870,r)|0,t[U1>>2]=10,t[U1+4>>2]=0,t[r>>2]=t[U1>>2],t[r+4>>2]=t[U1+4>>2],Ji(e,3884,r)|0,t[B1>>2]=11,t[B1+4>>2]=0,t[r>>2]=t[B1>>2],t[r+4>>2]=t[B1+4>>2],Ji(e,3896,r)|0,t[Wf>>2]=1,t[Wf+4>>2]=0,t[r>>2]=t[Wf>>2],t[r+4>>2]=t[Wf+4>>2],t0(e,3907,r)|0,t[us>>2]=2,t[us+4>>2]=0,t[r>>2]=t[us>>2],t[r+4>>2]=t[us+4>>2],t0(e,3915,r)|0,t[Hf>>2]=3,t[Hf+4>>2]=0,t[r>>2]=t[Hf>>2],t[r+4>>2]=t[Hf+4>>2],t0(e,3928,r)|0,t[is>>2]=4,t[is+4>>2]=0,t[r>>2]=t[is>>2],t[r+4>>2]=t[is+4>>2],t0(e,3948,r)|0,t[I1>>2]=5,t[I1+4>>2]=0,t[r>>2]=t[I1>>2],t[r+4>>2]=t[I1+4>>2],t0(e,3960,r)|0,t[lu>>2]=6,t[lu+4>>2]=0,t[r>>2]=t[lu>>2],t[r+4>>2]=t[lu+4>>2],t0(e,3974,r)|0,t[tf>>2]=7,t[tf+4>>2]=0,t[r>>2]=t[tf>>2],t[r+4>>2]=t[tf+4>>2],t0(e,3983,r)|0,t[vl>>2]=20,t[vl+4>>2]=0,t[r>>2]=t[vl>>2],t[r+4>>2]=t[vl+4>>2],js(e,3999,r)|0,t[Bl>>2]=8,t[Bl+4>>2]=0,t[r>>2]=t[Bl>>2],t[r+4>>2]=t[Bl+4>>2],t0(e,4012,r)|0,t[P1>>2]=9,t[P1+4>>2]=0,t[r>>2]=t[P1>>2],t[r+4>>2]=t[P1+4>>2],t0(e,4022,r)|0,t[b1>>2]=21,t[b1+4>>2]=0,t[r>>2]=t[b1>>2],t[r+4>>2]=t[b1+4>>2],js(e,4039,r)|0,t[Lc>>2]=10,t[Lc+4>>2]=0,t[r>>2]=t[Lc>>2],t[r+4>>2]=t[Lc+4>>2],t0(e,4053,r)|0,t[F1>>2]=11,t[F1+4>>2]=0,t[r>>2]=t[F1>>2],t[r+4>>2]=t[F1+4>>2],t0(e,4065,r)|0,t[L1>>2]=12,t[L1+4>>2]=0,t[r>>2]=t[L1>>2],t[r+4>>2]=t[L1+4>>2],t0(e,4084,r)|0,t[ef>>2]=13,t[ef+4>>2]=0,t[r>>2]=t[ef>>2],t[r+4>>2]=t[ef+4>>2],t0(e,4097,r)|0,t[As>>2]=14,t[As+4>>2]=0,t[r>>2]=t[As>>2],t[r+4>>2]=t[As+4>>2],t0(e,4117,r)|0,t[Aa>>2]=15,t[Aa+4>>2]=0,t[r>>2]=t[Aa>>2],t[r+4>>2]=t[Aa+4>>2],t0(e,4129,r)|0,t[Il>>2]=16,t[Il+4>>2]=0,t[r>>2]=t[Il>>2],t[r+4>>2]=t[Il+4>>2],t0(e,4148,r)|0,t[qf>>2]=17,t[qf+4>>2]=0,t[r>>2]=t[qf>>2],t[r+4>>2]=t[qf+4>>2],t0(e,4161,r)|0,t[Nc>>2]=18,t[Nc+4>>2]=0,t[r>>2]=t[Nc>>2],t[r+4>>2]=t[Nc+4>>2],t0(e,4181,r)|0,t[Mc>>2]=5,t[Mc+4>>2]=0,t[r>>2]=t[Mc>>2],t[r+4>>2]=t[Mc+4>>2],O0(e,4196,r)|0,t[ld>>2]=6,t[ld+4>>2]=0,t[r>>2]=t[ld>>2],t[r+4>>2]=t[ld+4>>2],O0(e,4206,r)|0,t[od>>2]=7,t[od+4>>2]=0,t[r>>2]=t[od>>2],t[r+4>>2]=t[od+4>>2],O0(e,4217,r)|0,t[zf>>2]=3,t[zf+4>>2]=0,t[r>>2]=t[zf>>2],t[r+4>>2]=t[zf+4>>2],Jl(e,4235,r)|0,t[ud>>2]=1,t[ud+4>>2]=0,t[r>>2]=t[ud>>2],t[r+4>>2]=t[ud+4>>2],za(e,4251,r)|0,t[$a>>2]=4,t[$a+4>>2]=0,t[r>>2]=t[$a>>2],t[r+4>>2]=t[$a+4>>2],Jl(e,4263,r)|0,t[si>>2]=5,t[si+4>>2]=0,t[r>>2]=t[si>>2],t[r+4>>2]=t[si+4>>2],Jl(e,4279,r)|0,t[id>>2]=6,t[id+4>>2]=0,t[r>>2]=t[id>>2],t[r+4>>2]=t[id+4>>2],Jl(e,4293,r)|0,t[rd>>2]=7,t[rd+4>>2]=0,t[r>>2]=t[rd>>2],t[r+4>>2]=t[rd+4>>2],Jl(e,4306,r)|0,t[nd>>2]=8,t[nd+4>>2]=0,t[r>>2]=t[nd>>2],t[r+4>>2]=t[nd+4>>2],Jl(e,4323,r)|0,t[kc>>2]=9,t[kc+4>>2]=0,t[r>>2]=t[kc>>2],t[r+4>>2]=t[kc+4>>2],Jl(e,4335,r)|0,t[Oc>>2]=2,t[Oc+4>>2]=0,t[r>>2]=t[Oc>>2],t[r+4>>2]=t[Oc+4>>2],za(e,4353,r)|0,t[td>>2]=12,t[td+4>>2]=0,t[r>>2]=t[td>>2],t[r+4>>2]=t[td+4>>2],no(e,4363,r)|0,t[Za>>2]=1,t[Za+4>>2]=0,t[r>>2]=t[Za>>2],t[r+4>>2]=t[Za+4>>2],ul(e,4376,r)|0,t[ed>>2]=2,t[ed+4>>2]=0,t[r>>2]=t[ed>>2],t[r+4>>2]=t[ed+4>>2],ul(e,4388,r)|0,t[$2>>2]=13,t[$2+4>>2]=0,t[r>>2]=t[$2>>2],t[r+4>>2]=t[$2+4>>2],no(e,4402,r)|0,t[Xs>>2]=14,t[Xs+4>>2]=0,t[r>>2]=t[Xs>>2],t[r+4>>2]=t[Xs+4>>2],no(e,4411,r)|0,t[rs>>2]=15,t[rs+4>>2]=0,t[r>>2]=t[rs>>2],t[r+4>>2]=t[rs+4>>2],no(e,4421,r)|0,t[ns>>2]=16,t[ns+4>>2]=0,t[r>>2]=t[ns>>2],t[r+4>>2]=t[ns+4>>2],no(e,4433,r)|0,t[ts>>2]=17,t[ts+4>>2]=0,t[r>>2]=t[ts>>2],t[r+4>>2]=t[ts+4>>2],no(e,4446,r)|0,t[Zi>>2]=18,t[Zi+4>>2]=0,t[r>>2]=t[Zi>>2],t[r+4>>2]=t[Zi+4>>2],no(e,4458,r)|0,t[On>>2]=3,t[On+4>>2]=0,t[r>>2]=t[On>>2],t[r+4>>2]=t[On+4>>2],ul(e,4471,r)|0,t[kr>>2]=1,t[kr+4>>2]=0,t[r>>2]=t[kr>>2],t[r+4>>2]=t[kr+4>>2],dc(e,4486,r)|0,t[hr>>2]=10,t[hr+4>>2]=0,t[r>>2]=t[hr>>2],t[r+4>>2]=t[hr+4>>2],Jl(e,4496,r)|0,t[mn>>2]=11,t[mn+4>>2]=0,t[r>>2]=t[mn>>2],t[r+4>>2]=t[mn+4>>2],Jl(e,4508,r)|0,t[Nn>>2]=3,t[Nn+4>>2]=0,t[r>>2]=t[Nn>>2],t[r+4>>2]=t[Nn+4>>2],za(e,4519,r)|0,t[Lr>>2]=4,t[Lr+4>>2]=0,t[r>>2]=t[Lr>>2],t[r+4>>2]=t[Lr+4>>2],Od(e,4530,r)|0,t[Qt>>2]=19,t[Qt+4>>2]=0,t[r>>2]=t[Qt>>2],t[r+4>>2]=t[Qt+4>>2],_h(e,4542,r)|0,t[Fe>>2]=12,t[Fe+4>>2]=0,t[r>>2]=t[Fe>>2],t[r+4>>2]=t[Fe+4>>2],_f(e,4554,r)|0,t[Re>>2]=13,t[Re+4>>2]=0,t[r>>2]=t[Re>>2],t[r+4>>2]=t[Re+4>>2],Ef(e,4568,r)|0,t[st>>2]=2,t[st+4>>2]=0,t[r>>2]=t[st>>2],t[r+4>>2]=t[st+4>>2],Qc(e,4578,r)|0,t[We>>2]=20,t[We+4>>2]=0,t[r>>2]=t[We>>2],t[r+4>>2]=t[We+4>>2],xl(e,4587,r)|0,t[Qe>>2]=22,t[Qe+4>>2]=0,t[r>>2]=t[Qe>>2],t[r+4>>2]=t[Qe+4>>2],js(e,4602,r)|0,t[ve>>2]=23,t[ve+4>>2]=0,t[r>>2]=t[ve>>2],t[r+4>>2]=t[ve+4>>2],js(e,4619,r)|0,t[Ee>>2]=14,t[Ee+4>>2]=0,t[r>>2]=t[Ee>>2],t[r+4>>2]=t[Ee+4>>2],Jc(e,4629,r)|0,t[Pe>>2]=1,t[Pe+4>>2]=0,t[r>>2]=t[Pe>>2],t[r+4>>2]=t[Pe+4>>2],ca(e,4637,r)|0,t[K>>2]=4,t[K+4>>2]=0,t[r>>2]=t[K>>2],t[r+4>>2]=t[K+4>>2],ul(e,4653,r)|0,t[P>>2]=5,t[P+4>>2]=0,t[r>>2]=t[P>>2],t[r+4>>2]=t[P+4>>2],ul(e,4669,r)|0,t[O>>2]=6,t[O+4>>2]=0,t[r>>2]=t[O>>2],t[r+4>>2]=t[O+4>>2],ul(e,4686,r)|0,t[M>>2]=7,t[M+4>>2]=0,t[r>>2]=t[M>>2],t[r+4>>2]=t[M+4>>2],ul(e,4701,r)|0,t[S>>2]=8,t[S+4>>2]=0,t[r>>2]=t[S>>2],t[r+4>>2]=t[S+4>>2],ul(e,4719,r)|0,t[D>>2]=9,t[D+4>>2]=0,t[r>>2]=t[D>>2],t[r+4>>2]=t[D+4>>2],ul(e,4736,r)|0,t[h>>2]=21,t[h+4>>2]=0,t[r>>2]=t[h>>2],t[r+4>>2]=t[h+4>>2],c2(e,4754,r)|0,t[s>>2]=2,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],dc(e,4772,r)|0,t[l>>2]=3,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],dc(e,4790,r)|0,t[u>>2]=4,t[u+4>>2]=0,t[r>>2]=t[u>>2],t[r+4>>2]=t[u+4>>2],dc(e,4808,r)|0,m=n}function gf(e,n){e=e|0,n=n|0;var r=0;r=Ja()|0,t[e>>2]=r,jo(r,n),Q2(t[e>>2]|0)}function Xc(e,n,r){return e=e|0,n=n|0,r=r|0,Ot(e,Or(n)|0,r,0),e|0}function gh(e,n,r){return e=e|0,n=n|0,r=r|0,c(e,Or(n)|0,r,0),e|0}function vm(e,n,r){return e=e|0,n=n|0,r=r|0,cE(e,Or(n)|0,r,0),e|0}function js(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],rE(e,n,l),m=u,e|0}function fa(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],bl(e,n,l),m=u,e|0}function Ji(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],d(e,n,l),m=u,e|0}function O0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Tv(e,n,l),m=u,e|0}function t0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],sy(e,n,l),m=u,e|0}function Jl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],W2(e,n,l),m=u,e|0}function za(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],H2(e,n,l),m=u,e|0}function no(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],k0(e,n,l),m=u,e|0}function ul(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Ep(e,n,l),m=u,e|0}function dc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Hm(e,n,l),m=u,e|0}function Od(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],n0(e,n,l),m=u,e|0}function _h(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],x2(e,n,l),m=u,e|0}function _f(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Fm(e,n,l),m=u,e|0}function Ef(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Zd(e,n,l),m=u,e|0}function Qc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],p1(e,n,l),m=u,e|0}function xl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Ga(e,n,l),m=u,e|0}function Jc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Id(e,n,l),m=u,e|0}function ca(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Nd(e,n,l),m=u,e|0}function c2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],d2(e,n,l),m=u,e|0}function d2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],da(e,r,l,1),m=u}function Or(e){return e=e|0,e|0}function da(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=kd()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Zc(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,p2(s,u)|0,u),m=l}function kd(){var e=0,n=0;if(p[7616]|0||(ol(9136),Ht(24,9136,he|0)|0,n=7616,t[n>>2]=1,t[n+4>>2]=0),!(rr(9136)|0)){e=9136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));ol(9136)}return 9136}function Zc(e){return e=e|0,0}function p2(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=kd()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Df(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(wf(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function vi(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0;h=m,m=m+32|0,K=h+24|0,P=h+20|0,S=h+16|0,O=h+12|0,M=h+8|0,D=h+4|0,Pe=h,t[P>>2]=n,t[S>>2]=r,t[O>>2]=u,t[M>>2]=l,t[D>>2]=s,s=e+28|0,t[Pe>>2]=t[s>>2],t[K>>2]=t[Pe>>2],Md(e+24|0,K,P,O,M,S,D)|0,t[s>>2]=t[t[s>>2]>>2],m=h}function Md(e,n,r,u,l,s,h){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,e=mm(n)|0,n=cn(24)|0,h2(n+4|0,t[r>>2]|0,t[u>>2]|0,t[l>>2]|0,t[s>>2]|0,t[h>>2]|0),t[n>>2]=t[e>>2],t[e>>2]=n,n|0}function mm(e){return e=e|0,t[e>>2]|0}function h2(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=u,t[e+12>>2]=l,t[e+16>>2]=s}function dn(e,n){return e=e|0,n=n|0,n|e|0}function Df(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function wf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=ym(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Sf(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Df(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Eh(e,D),gm(D),m=M;return}}function ym(e){return e=e|0,357913941}function Sf(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Eh(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function gm(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function ol(e){e=e|0,Bo(e)}function $c(e){e=e|0,Un(e+24|0)}function rr(e){return e=e|0,t[e>>2]|0}function Un(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Bo(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,3,n,zn()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function dr(){return 9228}function zn(){return 1140}function ll(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=yo(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=pc(n,u)|0,m=r,n|0}function Pn(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=u,t[e+12>>2]=l,t[e+16>>2]=s}function yo(e){return e=e|0,(t[(kd()|0)+24>>2]|0)+(e*12|0)|0}function pc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+48|0,u=l,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),N1[r&31](u,e),u=ro(u)|0,m=l,u|0}function ro(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Ou(qa()|0)|0,u?(Zl(n,u),Tf(r,n),hc(e,r),e=Es(n)|0):e=vc(e)|0,m=l,e|0}function qa(){var e=0;return p[7632]|0||(xf(9184),Ht(25,9184,he|0)|0,e=7632,t[e>>2]=1,t[e+4>>2]=0),9184}function Ou(e){return e=e|0,t[e+36>>2]|0}function Zl(e,n){e=e|0,n=n|0,t[e>>2]=n,t[e+4>>2]=e,t[e+8>>2]=0}function Tf(e,n){e=e|0,n=n|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=0}function hc(e,n){e=e|0,n=n|0,io(n,e,e+8|0,e+16|0,e+24|0,e+32|0,e+40|0)|0}function Es(e){return e=e|0,t[(t[e+4>>2]|0)+8>>2]|0}function vc(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0;S=m,m=m+16|0,r=S+4|0,u=S,l=Sa(8)|0,s=l,h=cn(48)|0,D=h,n=D+48|0;do t[D>>2]=t[e>>2],D=D+4|0,e=e+4|0;while((D|0)<(n|0));return n=s+4|0,t[n>>2]=h,D=cn(8)|0,h=t[n>>2]|0,t[u>>2]=0,t[r>>2]=t[u>>2],Dh(D,h,r),t[l>>2]=D,m=S,s|0}function Dh(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1092,t[r+12>>2]=n,t[e+4>>2]=r}function an(e){e=e|0,Pv(e),yt(e)}function $l(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function go(e){e=e|0,yt(e)}function io(e,n,r,u,l,s,h){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,s=Hi(t[e>>2]|0,n,r,u,l,s,h)|0,h=e+4|0,t[(t[h>>2]|0)+8>>2]=s,t[(t[h>>2]|0)+8>>2]|0}function Hi(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0;var D=0,S=0;return D=m,m=m+16|0,S=D,Ta(S),e=vo(e)|0,h=zr(e,+U[n>>3],+U[r>>3],+U[u>>3],+U[l>>3],+U[s>>3],+U[h>>3])|0,Ca(S),m=D,h|0}function zr(e,n,r,u,l,s,h){e=e|0,n=+n,r=+r,u=+u,l=+l,s=+s,h=+h;var D=0;return D=mo(Cf()|0)|0,n=+Cl(n),r=+Cl(r),u=+Cl(u),l=+Cl(l),s=+Cl(s),f0(0,D|0,e|0,+n,+r,+u,+l,+s,+ +Cl(h))|0}function Cf(){var e=0;return p[7624]|0||(_m(9172),e=7624,t[e>>2]=1,t[e+4>>2]=0),9172}function _m(e){e=e|0,nl(e,Al()|0,6)}function Al(){return 1112}function xf(e){e=e|0,Ha(e)}function Af(e){e=e|0,v2(e+24|0),m2(e+16|0)}function v2(e){e=e|0,e1(e)}function m2(e){e=e|0,mc(e)}function mc(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,yt(r);while((n|0)!=0);t[e>>2]=0}function e1(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,yt(r);while((n|0)!=0);t[e>>2]=0}function Ha(e){e=e|0;var n=0;t[e+16>>2]=0,t[e+20>>2]=0,n=e+24|0,t[n>>2]=0,t[e+28>>2]=n,t[e+36>>2]=0,p[e+40>>0]=0,p[e+41>>0]=0}function Nd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],y2(e,r,l,0),m=u}function y2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=t1()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Rf(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,n1(s,u)|0,u),m=l}function t1(){var e=0,n=0;if(p[7640]|0||(Rl(9232),Ht(26,9232,he|0)|0,n=7640,t[n>>2]=1,t[n+4>>2]=0),!(rr(9232)|0)){e=9232,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Rl(9232)}return 9232}function Rf(e){return e=e|0,0}function n1(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=t1()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Wa(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(r1(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Wa(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function r1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Ld(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,g2(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Wa(s,u,r),t[S>>2]=(t[S>>2]|0)+12,yc(e,D),i1(D),m=M;return}}function Ld(e){return e=e|0,357913941}function g2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function yc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function i1(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Rl(e){e=e|0,Fd(e)}function pa(e){e=e|0,wh(e+24|0)}function wh(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Fd(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,1,n,bd()|0,3),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function bd(){return 1144}function Sh(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+16|0,h=s+8|0,D=s,S=_2(e)|0,e=t[S+4>>2]|0,t[D>>2]=t[S>>2],t[D+4>>2]=e,t[h>>2]=t[D>>2],t[h+4>>2]=t[D+4>>2],Th(n,h,r,u,l),m=s}function _2(e){return e=e|0,(t[(t1()|0)+24>>2]|0)+(e*12|0)|0}function Th(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0;var s=0,h=0,D=0,S=0,M=0;M=m,m=m+16|0,h=M+2|0,D=M+1|0,S=M,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),Ol(h,r),r=+es(h,r),Ol(D,u),u=+es(D,u),Ds(S,l),S=zs(S,l)|0,Z8[s&1](e,r,u,S),m=M}function Ol(e,n){e=e|0,n=+n}function es(e,n){return e=e|0,n=+n,+ +Ch(n)}function Ds(e,n){e=e|0,n=n|0}function zs(e,n){return e=e|0,n=n|0,Pd(n)|0}function Pd(e){return e=e|0,e|0}function Ch(e){return e=+e,+e}function Id(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Bd(e,r,l,1),m=u}function Bd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=u1()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=o1(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,xh(s,u)|0,u),m=l}function u1(){var e=0,n=0;if(p[7648]|0||(l1(9268),Ht(27,9268,he|0)|0,n=7648,t[n>>2]=1,t[n+4>>2]=0),!(rr(9268)|0)){e=9268,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));l1(9268)}return 9268}function o1(e){return e=e|0,0}function xh(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=u1()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Ud(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jd(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Ud(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function jd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=ws(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Va(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Ud(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Ah(e,D),uu(D),m=M;return}}function ws(e){return e=e|0,357913941}function Va(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Ah(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function uu(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function l1(e){e=e|0,kl(e)}function Rh(e){e=e|0,s1(e+24|0)}function s1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function kl(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,4,n,Oh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Oh(){return 1160}function zd(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=kh(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=a1(n,u)|0,m=r,n|0}function kh(e){return e=e|0,(t[(u1()|0)+24>>2]|0)+(e*12|0)|0}function a1(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Ml(Xp[r&31](e)|0)|0}function Ml(e){return e=e|0,e&1|0}function Ga(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ha(e,r,l,0),m=u}function ha(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=qd()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Hd(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Em(s,u)|0,u),m=l}function qd(){var e=0,n=0;if(p[7656]|0||(Lh(9304),Ht(28,9304,he|0)|0,n=7656,t[n>>2]=1,t[n+4>>2]=0),!(rr(9304)|0)){e=9304,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Lh(9304)}return 9304}function Hd(e){return e=e|0,0}function Em(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=qd()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Wd(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Mh(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Wd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Mh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Nh(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Vd(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Wd(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Dm(e,D),wm(D),m=M;return}}function Nh(e){return e=e|0,357913941}function Vd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Dm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function wm(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Lh(e){e=e|0,f1(e)}function Sm(e){e=e|0,Gd(e+24|0)}function Gd(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function f1(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,5,n,c1()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function c1(){return 1164}function d1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=va(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Yd(n,l,r),m=u}function va(e){return e=e|0,(t[(qd()|0)+24>>2]|0)+(e*12|0)|0}function Yd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),qs(l,r),r=Hs(l,r)|0,N1[u&31](e,r),Ws(l),m=s}function qs(e,n){e=e|0,n=n|0,Kd(e,n)}function Hs(e,n){return e=e|0,n=n|0,e|0}function Ws(e){e=e|0,ia(e)}function Kd(e,n){e=e|0,n=n|0,ma(e,n)}function ma(e,n){e=e|0,n=n|0,t[e>>2]=n}function p1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],E2(e,r,l,0),m=u}function E2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=gc()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Xd(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,_o(s,u)|0,u),m=l}function gc(){var e=0,n=0;if(p[7664]|0||(Uh(9340),Ht(29,9340,he|0)|0,n=7664,t[n>>2]=1,t[n+4>>2]=0),!(rr(9340)|0)){e=9340,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Uh(9340)}return 9340}function Xd(e){return e=e|0,0}function _o(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=gc()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Fh(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(bh(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Fh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function bh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Ph(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Ih(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Fh(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Tm(e,D),Bh(D),m=M;return}}function Ph(e){return e=e|0,357913941}function Ih(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Tm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Bh(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Uh(e){e=e|0,jh(e)}function h1(e){e=e|0,Qd(e+24|0)}function Qd(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function jh(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,4,n,Jd()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Jd(){return 1180}function zh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=Cm(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=xm(n,l,r)|0,m=u,r|0}function Cm(e){return e=e|0,(t[(gc()|0)+24>>2]|0)+(e*12|0)|0}function xm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Of(l,r),l=kf(l,r)|0,l=D2(ZE[u&15](e,l)|0)|0,m=s,l|0}function Of(e,n){e=e|0,n=n|0}function kf(e,n){return e=e|0,n=n|0,Am(n)|0}function D2(e){return e=e|0,e|0}function Am(e){return e=e|0,e|0}function Zd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],w2(e,r,l,0),m=u}function w2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=$d()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=qh(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,ep(s,u)|0,u),m=l}function $d(){var e=0,n=0;if(p[7672]|0||(Vh(9376),Ht(30,9376,he|0)|0,n=7672,t[n>>2]=1,t[n+4>>2]=0),!(rr(9376)|0)){e=9376,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Vh(9376)}return 9376}function qh(e){return e=e|0,0}function ep(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=$d()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Hh(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Wh(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Hh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Wh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=tp(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Rm(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Hh(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Om(e,D),km(D),m=M;return}}function tp(e){return e=e|0,357913941}function Rm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Om(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function km(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Vh(e){e=e|0,np(e)}function v1(e){e=e|0,Mm(e+24|0)}function Mm(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function np(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,5,n,rp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function rp(){return 1196}function Nm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=Lm(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=Gh(n,u)|0,m=r,n|0}function Lm(e){return e=e|0,(t[($d()|0)+24>>2]|0)+(e*12|0)|0}function Gh(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),D2(Xp[r&31](e)|0)|0}function Fm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],bm(e,r,l,1),m=u}function bm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=ip()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=up(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,ya(s,u)|0,u),m=l}function ip(){var e=0,n=0;if(p[7680]|0||(lp(9412),Ht(31,9412,he|0)|0,n=7680,t[n>>2]=1,t[n+4>>2]=0),!(rr(9412)|0)){e=9412,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));lp(9412)}return 9412}function up(e){return e=e|0,0}function ya(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=ip()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],m1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(op(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function m1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function op(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Yh(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,S2(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],m1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,y1(e,D),Kh(D),m=M;return}}function Yh(e){return e=e|0,357913941}function S2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function y1(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Kh(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function lp(e){e=e|0,Qh(e)}function Xh(e){e=e|0,sp(e+24|0)}function sp(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Qh(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,6,n,Jh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Jh(){return 1200}function ap(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=T2(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=C2(n,u)|0,m=r,n|0}function T2(e){return e=e|0,(t[(ip()|0)+24>>2]|0)+(e*12|0)|0}function C2(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),z0(Xp[r&31](e)|0)|0}function z0(e){return e=e|0,e|0}function x2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ga(e,r,l,0),m=u}function ga(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Ya()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=A2(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,R2(s,u)|0,u),m=l}function Ya(){var e=0,n=0;if(p[7688]|0||(dp(9448),Ht(32,9448,he|0)|0,n=7688,t[n>>2]=1,t[n+4>>2]=0),!(rr(9448)|0)){e=9448,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));dp(9448)}return 9448}function A2(e){return e=e|0,0}function R2(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Ya()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],fp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(O2(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function fp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function O2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Zh(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Pm(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],fp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,$h(e,D),cp(D),m=M;return}}function Zh(e){return e=e|0,357913941}function Pm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function $h(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function cp(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function dp(e){e=e|0,Bm(e)}function pp(e){e=e|0,Im(e+24|0)}function Im(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Bm(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,6,n,Eo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Eo(){return 1204}function k2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=Um(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],sl(n,l,r),m=u}function Um(e){return e=e|0,(t[(Ya()|0)+24>>2]|0)+(e*12|0)|0}function sl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Jn(l,r),l=Vs(l,r)|0,N1[u&31](e,l),m=s}function Jn(e,n){e=e|0,n=n|0}function Vs(e,n){return e=e|0,n=n|0,al(n)|0}function al(e){return e=e|0,e|0}function n0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ev(e,r,l,0),m=u}function ev(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Gs()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=hp(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,jm(s,u)|0,u),m=l}function Gs(){var e=0,n=0;if(p[7696]|0||(yp(9484),Ht(33,9484,he|0)|0,n=7696,t[n>>2]=1,t[n+4>>2]=0),!(rr(9484)|0)){e=9484,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));yp(9484)}return 9484}function hp(e){return e=e|0,0}function jm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Gs()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],tv(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(vp(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function tv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function vp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=zm(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,mp(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],tv(s,u,r),t[S>>2]=(t[S>>2]|0)+12,_c(e,D),Ea(D),m=M;return}}function zm(e){return e=e|0,357913941}function mp(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function _c(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Ea(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function yp(e){e=e|0,zu(e)}function M2(e){e=e|0,ku(e+24|0)}function ku(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function zu(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,1,n,gp()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gp(){return 1212}function _p(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=nv(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],qm(n,s,r,u),m=l}function nv(e){return e=e|0,(t[(Gs()|0)+24>>2]|0)+(e*12|0)|0}function qm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),Jn(s,r),s=Vs(s,r)|0,Of(h,u),h=kf(h,u)|0,jy[l&15](e,s,h),m=D}function Hm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Wm(e,r,l,1),m=u}function Wm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=N2()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=rv(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Ec(s,u)|0,u),m=l}function N2(){var e=0,n=0;if(p[7704]|0||(iv(9520),Ht(34,9520,he|0)|0,n=7704,t[n>>2]=1,t[n+4>>2]=0),!(rr(9520)|0)){e=9520,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));iv(9520)}return 9520}function rv(e){return e=e|0,0}function Ec(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=N2()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],g1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Vm(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function g1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Vm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=L2(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,_1(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],g1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Nl(e,D),Da(D),m=M;return}}function L2(e){return e=e|0,357913941}function _1(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Nl(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Da(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function iv(e){e=e|0,ov(e)}function Gm(e){e=e|0,uv(e+24|0)}function uv(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function ov(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,1,n,Ym()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Ym(){return 1224}function lv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;return l=m,m=m+16|0,s=l+8|0,h=l,D=wa(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],u=+Cr(n,s,r),m=l,+u}function wa(e){return e=e|0,(t[(N2()|0)+24>>2]|0)+(e*12|0)|0}function Cr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ds(l,r),l=zs(l,r)|0,h=+ja(+eS[u&7](e,l)),m=s,+h}function Ep(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],fl(e,r,l,1),m=u}function fl(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=cu()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=E1(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,ki(s,u)|0,u),m=l}function cu(){var e=0,n=0;if(p[7712]|0||(wp(9556),Ht(35,9556,he|0)|0,n=7712,t[n>>2]=1,t[n+4>>2]=0),!(rr(9556)|0)){e=9556,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));wp(9556)}return 9556}function E1(e){return e=e|0,0}function ki(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=cu()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Dp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(F2(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Dp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function F2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Do(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Ss(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Dp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Mf(e,D),b2(D),m=M;return}}function Do(e){return e=e|0,357913941}function Ss(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Mf(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function b2(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function wp(e){e=e|0,Sp(e)}function D1(e){e=e|0,w1(e+24|0)}function w1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Sp(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,5,n,Zn()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Zn(){return 1232}function cl(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=qn(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=+q0(n,l),m=u,+r}function qn(e){return e=e|0,(t[(cu()|0)+24>>2]|0)+(e*12|0)|0}function q0(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),+ +ja(+$8[r&15](e))}function k0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],P2(e,r,l,1),m=u}function P2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Ll()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=S1(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Dc(s,u)|0,u),m=l}function Ll(){var e=0,n=0;if(p[7720]|0||(U2(9592),Ht(36,9592,he|0)|0,n=7720,t[n>>2]=1,t[n+4>>2]=0),!(rr(9592)|0)){e=9592,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));U2(9592)}return 9592}function S1(e){return e=e|0,0}function Dc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Ll()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],wc(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(I2(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function wc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function I2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Tp(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,M0(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],wc(s,u,r),t[S>>2]=(t[S>>2]|0)+12,fn(e,D),B2(D),m=M;return}}function Tp(e){return e=e|0,357913941}function M0(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function fn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function B2(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function U2(e){e=e|0,Cc(e)}function Sc(e){e=e|0,Tc(e+24|0)}function Tc(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Cc(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,7,n,T1()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function T1(){return 1276}function Cp(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=Ka(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=Km(n,u)|0,m=r,n|0}function Ka(e){return e=e|0,(t[(Ll()|0)+24>>2]|0)+(e*12|0)|0}function Km(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+16|0,u=l,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),N1[r&31](u,e),u=xc(u)|0,m=l,u|0}function xc(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Ou(j2()|0)|0,u?(Zl(n,u),Tf(r,n),sv(e,r),e=Es(n)|0):e=C1(e)|0,m=l,e|0}function j2(){var e=0;return p[7736]|0||(Uo(9640),Ht(25,9640,he|0)|0,e=7736,t[e>>2]=1,t[e+4>>2]=0),9640}function sv(e,n){e=e|0,n=n|0,Ac(n,e,e+8|0)|0}function C1(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Sa(8)|0,n=u,D=cn(16)|0,t[D>>2]=t[e>>2],t[D+4>>2]=t[e+4>>2],t[D+8>>2]=t[e+8>>2],t[D+12>>2]=t[e+12>>2],s=n+4|0,t[s>>2]=D,e=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],Nf(e,s,l),t[u>>2]=e,m=r,n|0}function Nf(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1244,t[r+12>>2]=n,t[e+4>>2]=r}function Lf(e){e=e|0,Pv(e),yt(e)}function x1(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function Fl(e){e=e|0,yt(e)}function Ac(e,n,r){return e=e|0,n=n|0,r=r|0,n=Ff(t[e>>2]|0,n,r)|0,r=e+4|0,t[(t[r>>2]|0)+8>>2]=n,t[(t[r>>2]|0)+8>>2]|0}function Ff(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;return u=m,m=m+16|0,l=u,Ta(l),e=vo(e)|0,r=Xm(e,t[n>>2]|0,+U[r>>3])|0,Ca(l),m=u,r|0}function Xm(e,n,r){e=e|0,n=n|0,r=+r;var u=0;return u=mo(dl()|0)|0,n=u2(n)|0,Pr(0,u|0,e|0,n|0,+ +Cl(r))|0}function dl(){var e=0;return p[7728]|0||(z2(9628),e=7728,t[e>>2]=1,t[e+4>>2]=0),9628}function z2(e){e=e|0,nl(e,q2()|0,2)}function q2(){return 1264}function Uo(e){e=e|0,Ha(e)}function H2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Qm(e,r,l,1),m=u}function Qm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=A1()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Jm(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Zm(s,u)|0,u),m=l}function A1(){var e=0,n=0;if(p[7744]|0||(cv(9684),Ht(37,9684,he|0)|0,n=7744,t[n>>2]=1,t[n+4>>2]=0),!(rr(9684)|0)){e=9684,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));cv(9684)}return 9684}function Jm(e){return e=e|0,0}function Zm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=A1()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],av(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):($m(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function av(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function $m(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=fv(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,ey(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],av(s,u,r),t[S>>2]=(t[S>>2]|0)+12,ty(e,D),ny(D),m=M;return}}function fv(e){return e=e|0,357913941}function ey(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function ty(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function ny(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function cv(e){e=e|0,iy(e)}function ry(e){e=e|0,xp(e+24|0)}function xp(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function iy(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,5,n,bf()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function bf(){return 1280}function dv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=pv(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=hv(n,l,r)|0,m=u,r|0}function pv(e){return e=e|0,(t[(A1()|0)+24>>2]|0)+(e*12|0)|0}function hv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return h=m,m=m+32|0,l=h,s=h+16|0,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ds(s,r),s=zs(s,r)|0,jy[u&15](l,e,s),s=xc(l)|0,m=h,s|0}function W2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],V2(e,r,l,1),m=u}function V2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Ap()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=vv(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,G2(s,u)|0,u),m=l}function Ap(){var e=0,n=0;if(p[7752]|0||(Ev(9720),Ht(38,9720,he|0)|0,n=7752,t[n>>2]=1,t[n+4>>2]=0),!(rr(9720)|0)){e=9720,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ev(9720)}return 9720}function vv(e){return e=e|0,0}function G2(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Ap()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],mv(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(yv(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function mv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function yv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Rp(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,gv(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],mv(s,u,r),t[S>>2]=(t[S>>2]|0)+12,_v(e,D),uy(D),m=M;return}}function Rp(e){return e=e|0,357913941}function gv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function _v(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function uy(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Ev(e){e=e|0,Dv(e)}function oy(e){e=e|0,Y2(e+24|0)}function Y2(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Dv(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,8,n,Op()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Op(){return 1288}function ly(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=r0(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=kp(n,u)|0,m=r,n|0}function r0(e){return e=e|0,(t[(Ap()|0)+24>>2]|0)+(e*12|0)|0}function kp(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),s2(Xp[r&31](e)|0)|0}function sy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ay(e,r,l,0),m=u}function ay(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Mp()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Xa(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Np(s,u)|0,u),m=l}function Mp(){var e=0,n=0;if(p[7760]|0||(bp(9756),Ht(39,9756,he|0)|0,n=7760,t[n>>2]=1,t[n+4>>2]=0),!(rr(9756)|0)){e=9756,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));bp(9756)}return 9756}function Xa(e){return e=e|0,0}function Np(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Mp()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Lp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Fp(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Lp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Fp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=fy(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,cy(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Lp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,wv(e,D),Pf(D),m=M;return}}function fy(e){return e=e|0,357913941}function cy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function wv(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Pf(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function bp(e){e=e|0,py(e)}function Sv(e){e=e|0,dy(e+24|0)}function dy(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function py(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,8,n,Pp()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Pp(){return 1292}function Ip(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=hy(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],vy(n,l,r),m=u}function hy(e){return e=e|0,(t[(Mp()|0)+24>>2]|0)+(e*12|0)|0}function vy(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ol(l,r),r=+es(l,r),Q8[u&31](e,r),m=s}function Tv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Bp(e,r,l,0),m=u}function Bp(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Up()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=K2(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,my(s,u)|0,u),m=l}function Up(){var e=0,n=0;if(p[7768]|0||(jp(9792),Ht(40,9792,he|0)|0,n=7768,t[n>>2]=1,t[n+4>>2]=0),!(rr(9792)|0)){e=9792,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));jp(9792)}return 9792}function K2(e){return e=e|0,0}function my(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Up()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],R1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(yy(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function R1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function yy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Cv(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,xv(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],R1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,gy(e,D),If(D),m=M;return}}function Cv(e){return e=e|0,357913941}function xv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function gy(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function If(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function jp(e){e=e|0,Ey(e)}function Av(e){e=e|0,_y(e+24|0)}function _y(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Ey(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,1,n,zp()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zp(){return 1300}function Dy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=Ys(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],wy(n,s,r,u),m=l}function Ys(e){return e=e|0,(t[(Up()|0)+24>>2]|0)+(e*12|0)|0}function wy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),Ds(s,r),s=zs(s,r)|0,Ol(h,u),u=+es(h,u),iS[l&15](e,s,u),m=D}function d(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],v(e,r,l,0),m=u}function v(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=x()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=b(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,H(s,u)|0,u),m=l}function x(){var e=0,n=0;if(p[7776]|0||(Rt(9828),Ht(41,9828,he|0)|0,n=7776,t[n>>2]=1,t[n+4>>2]=0),!(rr(9828)|0)){e=9828,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Rt(9828)}return 9828}function b(e){return e=e|0,0}function H(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=x()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],ee(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(de(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function ee(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function de(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=ye(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,be(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],ee(s,u,r),t[S>>2]=(t[S>>2]|0)+12,gt(e,D),Dt(D),m=M;return}}function ye(e){return e=e|0,357913941}function be(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function gt(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Dt(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Rt(e){e=e|0,$n(e)}function rn(e){e=e|0,Rn(e+24|0)}function Rn(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function $n(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,7,n,Nr()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Nr(){return 1312}function ir(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=Zr(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ui(n,l,r),m=u}function Zr(e){return e=e|0,(t[(x()|0)+24>>2]|0)+(e*12|0)|0}function ui(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ds(l,r),l=zs(l,r)|0,N1[u&31](e,l),m=s}function bl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Wi(e,r,l,0),m=u}function Wi(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=uo()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=i0(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Ts(s,u)|0,u),m=l}function uo(){var e=0,n=0;if(p[7784]|0||(r_(9864),Ht(42,9864,he|0)|0,n=7784,t[n>>2]=1,t[n+4>>2]=0),!(rr(9864)|0)){e=9864,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));r_(9864)}return 9864}function i0(e){return e=e|0,0}function Ts(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=uo()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],wo(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Rv(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function wo(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Rv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=X4(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Sy(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],wo(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Ty(e,D),Qa(D),m=M;return}}function X4(e){return e=e|0,357913941}function Sy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Ty(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Qa(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function r_(e){e=e|0,Z4(e)}function Q4(e){e=e|0,J4(e+24|0)}function J4(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Z4(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,8,n,$4()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function $4(){return 1320}function Cy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=eE(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],tE(n,l,r),m=u}function eE(e){return e=e|0,(t[(uo()|0)+24>>2]|0)+(e*12|0)|0}function tE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xy(l,r),l=i_(l,r)|0,N1[u&31](e,l),m=s}function xy(e,n){e=e|0,n=n|0}function i_(e,n){return e=e|0,n=n|0,nE(n)|0}function nE(e){return e=e|0,e|0}function rE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],u_(e,r,l,0),m=u}function u_(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Bf()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=o_(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,iE(s,u)|0,u),m=l}function Bf(){var e=0,n=0;if(p[7792]|0||(Oy(9900),Ht(43,9900,he|0)|0,n=7792,t[n>>2]=1,t[n+4>>2]=0),!(rr(9900)|0)){e=9900,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Oy(9900)}return 9900}function o_(e){return e=e|0,0}function iE(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Bf()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],qp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(uE(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function qp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function uE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Ov(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Ay(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],qp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Ry(e,D),oE(D),m=M;return}}function Ov(e){return e=e|0,357913941}function Ay(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Ry(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function oE(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Oy(e){e=e|0,l_(e)}function lE(e){e=e|0,sE(e+24|0)}function sE(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function l_(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,22,n,aE()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function aE(){return 1344}function fE(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;r=m,m=m+16|0,u=r+8|0,l=r,s=s_(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],kv(n,u),m=r}function s_(e){return e=e|0,(t[(Bf()|0)+24>>2]|0)+(e*12|0)|0}function kv(e,n){e=e|0,n=n|0;var r=0;r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),M1[r&127](e)}function cE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=ky()|0,e=dE(r)|0,vi(s,n,l,e,pE(r,u)|0,u)}function ky(){var e=0,n=0;if(p[7800]|0||(Ny(9936),Ht(44,9936,he|0)|0,n=7800,t[n>>2]=1,t[n+4>>2]=0),!(rr(9936)|0)){e=9936,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ny(9936)}return 9936}function dE(e){return e=e|0,e|0}function pE(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=ky()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(My(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(a_(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function My(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function a_(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=f_(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,c_(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,My(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,d_(e,l),p_(l),m=D;return}}function f_(e){return e=e|0,536870911}function c_(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function d_(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function p_(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function Ny(e){e=e|0,v_(e)}function h_(e){e=e|0,hE(e+24|0)}function hE(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function v_(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,23,n,Eo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function vE(e,n){e=e|0,n=n|0,a(t[(mE(e)|0)>>2]|0,n)}function mE(e){return e=e|0,(t[(ky()|0)+24>>2]|0)+(e<<3)|0}function a(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,Jn(u,n),n=Vs(u,n)|0,M1[e&127](n),m=r}function c(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=_()|0,e=T(r)|0,vi(s,n,l,e,R(r,u)|0,u)}function _(){var e=0,n=0;if(p[7808]|0||(pt(9972),Ht(45,9972,he|0)|0,n=7808,t[n>>2]=1,t[n+4>>2]=0),!(rr(9972)|0)){e=9972,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));pt(9972)}return 9972}function T(e){return e=e|0,e|0}function R(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=_()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(j(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(V(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function j(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function V(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=te(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,oe(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,j(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Ie(e,l),Ye(l),m=D;return}}function te(e){return e=e|0,536870911}function oe(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Ie(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Ye(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function pt(e){e=e|0,zt(e)}function Nt(e){e=e|0,Vt(e+24|0)}function Vt(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function zt(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,9,n,vn()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function vn(){return 1348}function xr(e,n){return e=e|0,n=n|0,wi(t[($r(e)|0)>>2]|0,n)|0}function $r(e){return e=e|0,(t[(_()|0)+24>>2]|0)+(e<<3)|0}function wi(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,N0(u,n),n=Vi(u,n)|0,n=D2(Xp[e&31](n)|0)|0,m=r,n|0}function N0(e,n){e=e|0,n=n|0}function Vi(e,n){return e=e|0,n=n|0,it(n)|0}function it(e){return e=e|0,e|0}function Ot(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=Je()|0,e=Bt(r)|0,vi(s,n,l,e,Mn(r,u)|0,u)}function Je(){var e=0,n=0;if(p[7816]|0||(qr(10008),Ht(46,10008,he|0)|0,n=7816,t[n>>2]=1,t[n+4>>2]=0),!(rr(10008)|0)){e=10008,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));qr(10008)}return 10008}function Bt(e){return e=e|0,e|0}function Mn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=Je()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(pn(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Pi(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function pn(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Pi(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=oi(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,qu(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,pn(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,ar(e,l),ou(l),m=D;return}}function oi(e){return e=e|0,536870911}function qu(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function ar(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function ou(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function qr(e){e=e|0,H0(e)}function _u(e){e=e|0,_0(e+24|0)}function _0(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function H0(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,15,n,rp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Cs(e){return e=e|0,pl(t[(Hu(e)|0)>>2]|0)|0}function Hu(e){return e=e|0,(t[(Je()|0)+24>>2]|0)+(e<<3)|0}function pl(e){return e=e|0,D2(N_[e&7]()|0)|0}function Ja(){var e=0;return p[7832]|0||(y_(10052),Ht(25,10052,he|0)|0,e=7832,t[e>>2]=1,t[e+4>>2]=0),10052}function jo(e,n){e=e|0,n=n|0,t[e>>2]=xs()|0,t[e+4>>2]=X2()|0,t[e+12>>2]=n,t[e+8>>2]=Uf()|0,t[e+32>>2]=2}function xs(){return 11709}function X2(){return 1188}function Uf(){return O1()|0}function Rc(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(zo(r),yt(r)):n|0&&(ms(n),yt(n))}function Pl(e,n){return e=e|0,n=n|0,n&e|0}function zo(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function O1(){var e=0;return p[7824]|0||(t[2511]=m_()|0,t[2512]=0,e=7824,t[e>>2]=1,t[e+4>>2]=0),10044}function m_(){return 0}function y_(e){e=e|0,Ha(e)}function yE(e){e=e|0;var n=0,r=0,u=0,l=0,s=0;n=m,m=m+32|0,r=n+24|0,s=n+16|0,l=n+8|0,u=n,g_(e,4827),gE(e,4834,3)|0,_E(e,3682,47)|0,t[s>>2]=9,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],Ly(e,4841,r)|0,t[l>>2]=1,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],__(e,4871,r)|0,t[u>>2]=10,t[u+4>>2]=0,t[r>>2]=t[u>>2],t[r+4>>2]=t[u+4>>2],EE(e,4891,r)|0,m=n}function g_(e,n){e=e|0,n=n|0;var r=0;r=Qk()|0,t[e>>2]=r,Jk(r,n),Q2(t[e>>2]|0)}function gE(e,n,r){return e=e|0,n=n|0,r=r|0,Fk(e,Or(n)|0,r,0),e|0}function _E(e,n,r){return e=e|0,n=n|0,r=r|0,_k(e,Or(n)|0,r,0),e|0}function Ly(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ek(e,n,l),m=u,e|0}function __(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],bO(e,n,l),m=u,e|0}function EE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],DE(e,n,l),m=u,e|0}function DE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],wE(e,r,l,1),m=u}function wE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=SE()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=DO(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,wO(s,u)|0,u),m=l}function SE(){var e=0,n=0;if(p[7840]|0||(L3(10100),Ht(48,10100,he|0)|0,n=7840,t[n>>2]=1,t[n+4>>2]=0),!(rr(10100)|0)){e=10100,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));L3(10100)}return 10100}function DO(e){return e=e|0,0}function wO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=SE()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],N3(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(SO(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function N3(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function SO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=TO(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,CO(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],N3(s,u,r),t[S>>2]=(t[S>>2]|0)+12,xO(e,D),AO(D),m=M;return}}function TO(e){return e=e|0,357913941}function CO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function xO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function AO(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function L3(e){e=e|0,kO(e)}function RO(e){e=e|0,OO(e+24|0)}function OO(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function kO(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,6,n,MO()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function MO(){return 1364}function NO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=LO(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=FO(n,l,r)|0,m=u,r|0}function LO(e){return e=e|0,(t[(SE()|0)+24>>2]|0)+(e*12|0)|0}function FO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ds(l,r),l=zs(l,r)|0,l=Ml(ZE[u&15](e,l)|0)|0,m=s,l|0}function bO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],PO(e,r,l,0),m=u}function PO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=TE()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=IO(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,BO(s,u)|0,u),m=l}function TE(){var e=0,n=0;if(p[7848]|0||(b3(10136),Ht(49,10136,he|0)|0,n=7848,t[n>>2]=1,t[n+4>>2]=0),!(rr(10136)|0)){e=10136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));b3(10136)}return 10136}function IO(e){return e=e|0,0}function BO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=TE()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],F3(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(UO(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function F3(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function UO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=jO(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,zO(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],F3(s,u,r),t[S>>2]=(t[S>>2]|0)+12,qO(e,D),HO(D),m=M;return}}function jO(e){return e=e|0,357913941}function zO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function qO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function HO(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function b3(e){e=e|0,GO(e)}function WO(e){e=e|0,VO(e+24|0)}function VO(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function GO(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,9,n,YO()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function YO(){return 1372}function KO(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=XO(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],QO(n,l,r),m=u}function XO(e){return e=e|0,(t[(TE()|0)+24>>2]|0)+(e*12|0)|0}function QO(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=St;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),JO(l,r),h=w(ZO(l,r)),X8[u&1](e,h),m=s}function JO(e,n){e=e|0,n=+n}function ZO(e,n){return e=e|0,n=+n,w($O(n))}function $O(e){return e=+e,w(e)}function ek(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],tk(e,r,l,0),m=u}function tk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=CE()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=nk(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,rk(s,u)|0,u),m=l}function CE(){var e=0,n=0;if(p[7856]|0||(I3(10172),Ht(50,10172,he|0)|0,n=7856,t[n>>2]=1,t[n+4>>2]=0),!(rr(10172)|0)){e=10172,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));I3(10172)}return 10172}function nk(e){return e=e|0,0}function rk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=CE()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],P3(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(ik(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function P3(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function ik(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=uk(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,ok(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],P3(s,u,r),t[S>>2]=(t[S>>2]|0)+12,lk(e,D),sk(D),m=M;return}}function uk(e){return e=e|0,357913941}function ok(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function lk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function sk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function I3(e){e=e|0,ck(e)}function ak(e){e=e|0,fk(e+24|0)}function fk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function ck(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,3,n,dk()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function dk(){return 1380}function pk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=hk(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],vk(n,s,r,u),m=l}function hk(e){return e=e|0,(t[(CE()|0)+24>>2]|0)+(e*12|0)|0}function vk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),Ds(s,r),s=zs(s,r)|0,mk(h,u),h=yk(h,u)|0,jy[l&15](e,s,h),m=D}function mk(e,n){e=e|0,n=n|0}function yk(e,n){return e=e|0,n=n|0,gk(n)|0}function gk(e){return e=e|0,(e|0)!=0|0}function _k(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=xE()|0,e=Ek(r)|0,vi(s,n,l,e,Dk(r,u)|0,u)}function xE(){var e=0,n=0;if(p[7864]|0||(U3(10208),Ht(51,10208,he|0)|0,n=7864,t[n>>2]=1,t[n+4>>2]=0),!(rr(10208)|0)){e=10208,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));U3(10208)}return 10208}function Ek(e){return e=e|0,e|0}function Dk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=xE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(B3(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(wk(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function B3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function wk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Sk(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,Tk(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,B3(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Ck(e,l),xk(l),m=D;return}}function Sk(e){return e=e|0,536870911}function Tk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Ck(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function xk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function U3(e){e=e|0,Ok(e)}function Ak(e){e=e|0,Rk(e+24|0)}function Rk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function Ok(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,24,n,kk()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function kk(){return 1392}function Mk(e,n){e=e|0,n=n|0,Lk(t[(Nk(e)|0)>>2]|0,n)}function Nk(e){return e=e|0,(t[(xE()|0)+24>>2]|0)+(e<<3)|0}function Lk(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,N0(u,n),n=Vi(u,n)|0,M1[e&127](n),m=r}function Fk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=AE()|0,e=bk(r)|0,vi(s,n,l,e,Pk(r,u)|0,u)}function AE(){var e=0,n=0;if(p[7872]|0||(z3(10244),Ht(52,10244,he|0)|0,n=7872,t[n>>2]=1,t[n+4>>2]=0),!(rr(10244)|0)){e=10244,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));z3(10244)}return 10244}function bk(e){return e=e|0,e|0}function Pk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=AE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(j3(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Ik(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function j3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Ik(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Bk(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,Uk(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,j3(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,jk(e,l),zk(l),m=D;return}}function Bk(e){return e=e|0,536870911}function Uk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function jk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function zk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function z3(e){e=e|0,Wk(e)}function qk(e){e=e|0,Hk(e+24|0)}function Hk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function Wk(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,16,n,Vk()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Vk(){return 1400}function Gk(e){return e=e|0,Kk(t[(Yk(e)|0)>>2]|0)|0}function Yk(e){return e=e|0,(t[(AE()|0)+24>>2]|0)+(e<<3)|0}function Kk(e){return e=e|0,Xk(N_[e&7]()|0)|0}function Xk(e){return e=e|0,e|0}function Qk(){var e=0;return p[7880]|0||(rM(10280),Ht(25,10280,he|0)|0,e=7880,t[e>>2]=1,t[e+4>>2]=0),10280}function Jk(e,n){e=e|0,n=n|0,t[e>>2]=Zk()|0,t[e+4>>2]=$k()|0,t[e+12>>2]=n,t[e+8>>2]=eM()|0,t[e+32>>2]=4}function Zk(){return 11711}function $k(){return 1356}function eM(){return O1()|0}function tM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(nM(r),yt(r)):n|0&&(eo(n),yt(n))}function nM(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function rM(e){e=e|0,Ha(e)}function iM(e){e=e|0,uM(e,4920),oM(e)|0,lM(e)|0}function uM(e,n){e=e|0,n=n|0;var r=0;r=j2()|0,t[e>>2]=r,RM(r,n),Q2(t[e>>2]|0)}function oM(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,gM()|0),e|0}function lM(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,sM()|0),e|0}function sM(){var e=0;return p[7888]|0||(q3(10328),Ht(53,10328,he|0)|0,e=7888,t[e>>2]=1,t[e+4>>2]=0),rr(10328)|0||q3(10328),10328}function Hp(e,n){e=e|0,n=n|0,vi(e,0,n,0,0,0)}function q3(e){e=e|0,cM(e),Wp(e,10)}function aM(e){e=e|0,fM(e+24|0)}function fM(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function cM(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,1,n,vM()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function dM(e,n,r){e=e|0,n=n|0,r=+r,pM(e,n,r)}function Wp(e,n){e=e|0,n=n|0,t[e+20>>2]=n}function pM(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,s=u+8|0,D=u+13|0,l=u,h=u+12|0,Ds(D,n),t[s>>2]=zs(D,n)|0,Ol(h,r),U[l>>3]=+es(h,r),hM(e,s,l),m=u}function hM(e,n,r){e=e|0,n=n|0,r=r|0,I(e+8|0,t[n>>2]|0,+U[r>>3]),p[e+24>>0]=1}function vM(){return 1404}function mM(e,n){return e=e|0,n=+n,yM(e,n)|0}function yM(e,n){e=e|0,n=+n;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+16|0,s=u+4|0,h=u+8|0,D=u,l=Sa(8)|0,r=l,S=cn(16)|0,Ds(s,e),e=zs(s,e)|0,Ol(h,n),I(S,e,+es(h,n)),h=r+4|0,t[h>>2]=S,e=cn(8)|0,h=t[h>>2]|0,t[D>>2]=0,t[s>>2]=t[D>>2],Nf(e,h,s),t[l>>2]=e,m=u,r|0}function gM(){var e=0;return p[7896]|0||(H3(10364),Ht(54,10364,he|0)|0,e=7896,t[e>>2]=1,t[e+4>>2]=0),rr(10364)|0||H3(10364),10364}function H3(e){e=e|0,DM(e),Wp(e,55)}function _M(e){e=e|0,EM(e+24|0)}function EM(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function DM(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,4,n,CM()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function wM(e){e=e|0,SM(e)}function SM(e){e=e|0,TM(e)}function TM(e){e=e|0,W3(e+8|0),p[e+24>>0]=1}function W3(e){e=e|0,t[e>>2]=0,U[e+8>>3]=0}function CM(){return 1424}function xM(){return AM()|0}function AM(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Sa(8)|0,e=r,u=cn(16)|0,W3(u),s=e+4|0,t[s>>2]=u,u=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],Nf(u,s,l),t[r>>2]=u,m=n,e|0}function RM(e,n){e=e|0,n=n|0,t[e>>2]=OM()|0,t[e+4>>2]=kM()|0,t[e+12>>2]=n,t[e+8>>2]=MM()|0,t[e+32>>2]=5}function OM(){return 11710}function kM(){return 1416}function MM(){return E_()|0}function NM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(LM(r),yt(r)):n|0&&yt(n)}function LM(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function E_(){var e=0;return p[7904]|0||(t[2600]=FM()|0,t[2601]=0,e=7904,t[e>>2]=1,t[e+4>>2]=0),10400}function FM(){return t[357]|0}function bM(e){e=e|0,PM(e,4926),IM(e)|0}function PM(e,n){e=e|0,n=n|0;var r=0;r=qa()|0,t[e>>2]=r,KM(r,n),Q2(t[e>>2]|0)}function IM(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,BM()|0),e|0}function BM(){var e=0;return p[7912]|0||(V3(10412),Ht(56,10412,he|0)|0,e=7912,t[e>>2]=1,t[e+4>>2]=0),rr(10412)|0||V3(10412),10412}function V3(e){e=e|0,zM(e),Wp(e,57)}function UM(e){e=e|0,jM(e+24|0)}function jM(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function zM(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,5,n,VM()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function qM(e){e=e|0,HM(e)}function HM(e){e=e|0,WM(e)}function WM(e){e=e|0;var n=0,r=0;n=e+8|0,r=n+48|0;do t[n>>2]=0,n=n+4|0;while((n|0)<(r|0));p[e+56>>0]=1}function VM(){return 1432}function GM(){return YM()|0}function YM(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0,D=0;h=m,m=m+16|0,e=h+4|0,n=h,r=Sa(8)|0,u=r,l=cn(48)|0,s=l,D=s+48|0;do t[s>>2]=0,s=s+4|0;while((s|0)<(D|0));return s=u+4|0,t[s>>2]=l,D=cn(8)|0,s=t[s>>2]|0,t[n>>2]=0,t[e>>2]=t[n>>2],Dh(D,s,e),t[r>>2]=D,m=h,u|0}function KM(e,n){e=e|0,n=n|0,t[e>>2]=XM()|0,t[e+4>>2]=QM()|0,t[e+12>>2]=n,t[e+8>>2]=JM()|0,t[e+32>>2]=6}function XM(){return 11704}function QM(){return 1436}function JM(){return E_()|0}function ZM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&($M(r),yt(r)):n|0&&yt(n)}function $M(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function eN(e){e=e|0,tN(e,4933),nN(e)|0,rN(e)|0}function tN(e,n){e=e|0,n=n|0;var r=0;r=AN()|0,t[e>>2]=r,RN(r,n),Q2(t[e>>2]|0)}function nN(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,yN()|0),e|0}function rN(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,iN()|0),e|0}function iN(){var e=0;return p[7920]|0||(G3(10452),Ht(58,10452,he|0)|0,e=7920,t[e>>2]=1,t[e+4>>2]=0),rr(10452)|0||G3(10452),10452}function G3(e){e=e|0,lN(e),Wp(e,1)}function uN(e){e=e|0,oN(e+24|0)}function oN(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function lN(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,1,n,cN()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function sN(e,n,r){e=e|0,n=+n,r=+r,aN(e,n,r)}function aN(e,n,r){e=e|0,n=+n,r=+r;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,s=u+8|0,D=u+17|0,l=u,h=u+16|0,Ol(D,n),U[s>>3]=+es(D,n),Ol(h,r),U[l>>3]=+es(h,r),fN(e,s,l),m=u}function fN(e,n,r){e=e|0,n=n|0,r=r|0,Y3(e+8|0,+U[n>>3],+U[r>>3]),p[e+24>>0]=1}function Y3(e,n,r){e=e|0,n=+n,r=+r,U[e>>3]=n,U[e+8>>3]=r}function cN(){return 1472}function dN(e,n){return e=+e,n=+n,pN(e,n)|0}function pN(e,n){e=+e,n=+n;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+16|0,h=u+4|0,D=u+8|0,S=u,l=Sa(8)|0,r=l,s=cn(16)|0,Ol(h,e),e=+es(h,e),Ol(D,n),Y3(s,e,+es(D,n)),D=r+4|0,t[D>>2]=s,s=cn(8)|0,D=t[D>>2]|0,t[S>>2]=0,t[h>>2]=t[S>>2],K3(s,D,h),t[l>>2]=s,m=u,r|0}function K3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1452,t[r+12>>2]=n,t[e+4>>2]=r}function hN(e){e=e|0,Pv(e),yt(e)}function vN(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function mN(e){e=e|0,yt(e)}function yN(){var e=0;return p[7928]|0||(X3(10488),Ht(59,10488,he|0)|0,e=7928,t[e>>2]=1,t[e+4>>2]=0),rr(10488)|0||X3(10488),10488}function X3(e){e=e|0,EN(e),Wp(e,60)}function gN(e){e=e|0,_N(e+24|0)}function _N(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function EN(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,6,n,TN()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function DN(e){e=e|0,wN(e)}function wN(e){e=e|0,SN(e)}function SN(e){e=e|0,Q3(e+8|0),p[e+24>>0]=1}function Q3(e){e=e|0,t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,t[e+12>>2]=0}function TN(){return 1492}function CN(){return xN()|0}function xN(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Sa(8)|0,e=r,u=cn(16)|0,Q3(u),s=e+4|0,t[s>>2]=u,u=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],K3(u,s,l),t[r>>2]=u,m=n,e|0}function AN(){var e=0;return p[7936]|0||(FN(10524),Ht(25,10524,he|0)|0,e=7936,t[e>>2]=1,t[e+4>>2]=0),10524}function RN(e,n){e=e|0,n=n|0,t[e>>2]=ON()|0,t[e+4>>2]=kN()|0,t[e+12>>2]=n,t[e+8>>2]=MN()|0,t[e+32>>2]=7}function ON(){return 11700}function kN(){return 1484}function MN(){return E_()|0}function NN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(LN(r),yt(r)):n|0&&yt(n)}function LN(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function FN(e){e=e|0,Ha(e)}function bN(e,n,r){e=e|0,n=n|0,r=r|0,e=Or(n)|0,n=PN(r)|0,r=IN(r,0)|0,pL(e,n,r,RE()|0,0)}function PN(e){return e=e|0,e|0}function IN(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=RE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(Z3(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(WN(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function RE(){var e=0,n=0;if(p[7944]|0||(J3(10568),Ht(61,10568,he|0)|0,n=7944,t[n>>2]=1,t[n+4>>2]=0),!(rr(10568)|0)){e=10568,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));J3(10568)}return 10568}function J3(e){e=e|0,jN(e)}function BN(e){e=e|0,UN(e+24|0)}function UN(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function jN(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,17,n,Jh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zN(e){return e=e|0,HN(t[(qN(e)|0)>>2]|0)|0}function qN(e){return e=e|0,(t[(RE()|0)+24>>2]|0)+(e<<3)|0}function HN(e){return e=e|0,z0(N_[e&7]()|0)|0}function Z3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function WN(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=VN(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,GN(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,Z3(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,YN(e,l),KN(l),m=D;return}}function VN(e){return e=e|0,536870911}function GN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function YN(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function KN(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function XN(){QN()}function QN(){JN(10604)}function JN(e){e=e|0,ZN(e,4955)}function ZN(e,n){e=e|0,n=n|0;var r=0;r=$N()|0,t[e>>2]=r,eL(r,n),Q2(t[e>>2]|0)}function $N(){var e=0;return p[7952]|0||(aL(10612),Ht(25,10612,he|0)|0,e=7952,t[e>>2]=1,t[e+4>>2]=0),10612}function eL(e,n){e=e|0,n=n|0,t[e>>2]=iL()|0,t[e+4>>2]=uL()|0,t[e+12>>2]=n,t[e+8>>2]=oL()|0,t[e+32>>2]=8}function Q2(e){e=e|0;var n=0,r=0;n=m,m=m+16|0,r=n,Mv()|0,t[r>>2]=e,tL(10608,r),m=n}function Mv(){return p[11714]|0||(t[2652]=0,Ht(62,10608,he|0)|0,p[11714]=1),10608}function tL(e,n){e=e|0,n=n|0;var r=0;r=cn(8)|0,t[r+4>>2]=t[n>>2],t[r>>2]=t[e>>2],t[e>>2]=r}function nL(e){e=e|0,rL(e)}function rL(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,yt(r);while((n|0)!=0);t[e>>2]=0}function iL(){return 11715}function uL(){return 1496}function oL(){return O1()|0}function lL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(sL(r),yt(r)):n|0&&yt(n)}function sL(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function aL(e){e=e|0,Ha(e)}function fL(e,n){e=e|0,n=n|0;var r=0,u=0;Mv()|0,r=t[2652]|0;e:do if(r|0){for(;u=t[r+4>>2]|0,!(u|0?(L8(OE(u)|0,e)|0)==0:0);)if(r=t[r>>2]|0,!r)break e;cL(u,n)}while(0)}function OE(e){return e=e|0,t[e+12>>2]|0}function cL(e,n){e=e|0,n=n|0;var r=0;e=e+36|0,r=t[e>>2]|0,r|0&&(ia(r),yt(r)),r=cn(4)|0,mf(r,n),t[e>>2]=r}function kE(){return p[11716]|0||(t[2664]=0,Ht(63,10656,he|0)|0,p[11716]=1),10656}function $3(){var e=0;return p[11717]|0?e=t[2665]|0:(dL(),t[2665]=1504,p[11717]=1,e=1504),e|0}function dL(){p[11740]|0||(p[11718]=dn(dn(8,0)|0,0)|0,p[11719]=dn(dn(0,0)|0,0)|0,p[11720]=dn(dn(0,16)|0,0)|0,p[11721]=dn(dn(8,0)|0,0)|0,p[11722]=dn(dn(0,0)|0,0)|0,p[11723]=dn(dn(8,0)|0,0)|0,p[11724]=dn(dn(0,0)|0,0)|0,p[11725]=dn(dn(8,0)|0,0)|0,p[11726]=dn(dn(0,0)|0,0)|0,p[11727]=dn(dn(8,0)|0,0)|0,p[11728]=dn(dn(0,0)|0,0)|0,p[11729]=dn(dn(0,0)|0,32)|0,p[11730]=dn(dn(0,0)|0,32)|0,p[11740]=1)}function e8(){return 1572}function pL(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0,O=0;s=m,m=m+32|0,O=s+16|0,M=s+12|0,S=s+8|0,D=s+4|0,h=s,t[O>>2]=e,t[M>>2]=n,t[S>>2]=r,t[D>>2]=u,t[h>>2]=l,kE()|0,hL(10656,O,M,S,D,h),m=s}function hL(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0;h=cn(24)|0,h2(h+4|0,t[n>>2]|0,t[r>>2]|0,t[u>>2]|0,t[l>>2]|0,t[s>>2]|0),t[h>>2]=t[e>>2],t[e>>2]=h}function t8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0;if(st=m,m=m+32|0,Ee=st+20|0,ve=st+8|0,Qe=st+4|0,We=st,n=t[n>>2]|0,n|0){Pe=Ee+4|0,S=Ee+8|0,M=ve+4|0,O=ve+8|0,P=ve+8|0,K=Ee+8|0;do{if(h=n+4|0,D=ME(h)|0,D|0){if(l=Fy(D)|0,t[Ee>>2]=0,t[Pe>>2]=0,t[S>>2]=0,u=(by(D)|0)+1|0,vL(Ee,u),u|0)for(;u=u+-1|0,jf(ve,t[l>>2]|0),s=t[Pe>>2]|0,s>>>0<(t[K>>2]|0)>>>0?(t[s>>2]=t[ve>>2],t[Pe>>2]=(t[Pe>>2]|0)+4):NE(Ee,ve),u;)l=l+4|0;u=Py(D)|0,t[ve>>2]=0,t[M>>2]=0,t[O>>2]=0;e:do if(t[u>>2]|0)for(l=0,s=0;;){if((l|0)==(s|0)?mL(ve,u):(t[l>>2]=t[u>>2],t[M>>2]=(t[M>>2]|0)+4),u=u+4|0,!(t[u>>2]|0))break e;l=t[M>>2]|0,s=t[P>>2]|0}while(0);t[Qe>>2]=D_(h)|0,t[We>>2]=rr(D)|0,yL(r,e,Qe,We,Ee,ve),LE(ve),k1(Ee)}n=t[n>>2]|0}while((n|0)!=0)}m=st}function ME(e){return e=e|0,t[e+12>>2]|0}function Fy(e){return e=e|0,t[e+12>>2]|0}function by(e){return e=e|0,t[e+16>>2]|0}function vL(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+32|0,r=l,u=t[e>>2]|0,(t[e+8>>2]|0)-u>>2>>>0>>0&&(a8(r,n,(t[e+4>>2]|0)-u>>2,e+8|0),f8(e,r),c8(r)),m=l}function NE(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0;if(h=m,m=m+32|0,r=h,u=e+4|0,l=((t[u>>2]|0)-(t[e>>2]|0)>>2)+1|0,s=s8(e)|0,s>>>0>>0)li(e);else{D=t[e>>2]|0,M=(t[e+8>>2]|0)-D|0,S=M>>1,a8(r,M>>2>>>0>>1>>>0?S>>>0>>0?l:S:s,(t[u>>2]|0)-D>>2,e+8|0),s=r+8|0,t[t[s>>2]>>2]=t[n>>2],t[s>>2]=(t[s>>2]|0)+4,f8(e,r),c8(r),m=h;return}}function Py(e){return e=e|0,t[e+8>>2]|0}function mL(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0;if(h=m,m=m+32|0,r=h,u=e+4|0,l=((t[u>>2]|0)-(t[e>>2]|0)>>2)+1|0,s=l8(e)|0,s>>>0>>0)li(e);else{D=t[e>>2]|0,M=(t[e+8>>2]|0)-D|0,S=M>>1,PL(r,M>>2>>>0>>1>>>0?S>>>0>>0?l:S:s,(t[u>>2]|0)-D>>2,e+8|0),s=r+8|0,t[t[s>>2]>>2]=t[n>>2],t[s>>2]=(t[s>>2]|0)+4,IL(e,r),BL(r),m=h;return}}function D_(e){return e=e|0,t[e>>2]|0}function yL(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,gL(e,n,r,u,l,s)}function LE(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),yt(r))}function k1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),yt(r))}function gL(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0;h=m,m=m+48|0,O=h+40|0,D=h+32|0,P=h+24|0,S=h+12|0,M=h,Ta(D),e=vo(e)|0,t[P>>2]=t[n>>2],r=t[r>>2]|0,u=t[u>>2]|0,FE(S,l),_L(M,s),t[O>>2]=t[P>>2],EL(e,O,r,u,S,M),LE(M),k1(S),Ca(D),m=h}function FE(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(FL(e,u),bL(e,t[n>>2]|0,t[r>>2]|0,u))}function _L(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(NL(e,u),LL(e,t[n>>2]|0,t[r>>2]|0,u))}function EL(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0;h=m,m=m+32|0,O=h+28|0,P=h+24|0,D=h+12|0,S=h,M=mo(DL()|0)|0,t[P>>2]=t[n>>2],t[O>>2]=t[P>>2],n=Vp(O)|0,r=n8(r)|0,u=bE(u)|0,t[D>>2]=t[l>>2],O=l+4|0,t[D+4>>2]=t[O>>2],P=l+8|0,t[D+8>>2]=t[P>>2],t[P>>2]=0,t[O>>2]=0,t[l>>2]=0,l=PE(D)|0,t[S>>2]=t[s>>2],O=s+4|0,t[S+4>>2]=t[O>>2],P=s+8|0,t[S+8>>2]=t[P>>2],t[P>>2]=0,t[O>>2]=0,t[s>>2]=0,G0(0,M|0,e|0,n|0,r|0,u|0,l|0,wL(S)|0)|0,LE(S),k1(D),m=h}function DL(){var e=0;return p[7968]|0||(kL(10708),e=7968,t[e>>2]=1,t[e+4>>2]=0),10708}function Vp(e){return e=e|0,i8(e)|0}function n8(e){return e=e|0,r8(e)|0}function bE(e){return e=e|0,z0(e)|0}function PE(e){return e=e|0,TL(e)|0}function wL(e){return e=e|0,SL(e)|0}function SL(e){e=e|0;var n=0,r=0,u=0;if(u=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=u>>2,u=Sa(u+4|0)|0,t[u>>2]=r,r|0){n=0;do t[u+4+(n<<2)>>2]=r8(t[(t[e>>2]|0)+(n<<2)>>2]|0)|0,n=n+1|0;while((n|0)!=(r|0))}return u|0}function r8(e){return e=e|0,e|0}function TL(e){e=e|0;var n=0,r=0,u=0;if(u=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=u>>2,u=Sa(u+4|0)|0,t[u>>2]=r,r|0){n=0;do t[u+4+(n<<2)>>2]=i8((t[e>>2]|0)+(n<<2)|0)|0,n=n+1|0;while((n|0)!=(r|0))}return u|0}function i8(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Ou(u8()|0)|0,u?(Zl(n,u),Tf(r,n),lI(e,r),e=Es(n)|0):e=CL(e)|0,m=l,e|0}function u8(){var e=0;return p[7960]|0||(OL(10664),Ht(25,10664,he|0)|0,e=7960,t[e>>2]=1,t[e+4>>2]=0),10664}function CL(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Sa(8)|0,n=u,D=cn(4)|0,t[D>>2]=t[e>>2],s=n+4|0,t[s>>2]=D,e=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],o8(e,s,l),t[u>>2]=e,m=r,n|0}function o8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1656,t[r+12>>2]=n,t[e+4>>2]=r}function xL(e){e=e|0,Pv(e),yt(e)}function AL(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function RL(e){e=e|0,yt(e)}function OL(e){e=e|0,Ha(e)}function kL(e){e=e|0,nl(e,ML()|0,5)}function ML(){return 1676}function NL(e,n){e=e|0,n=n|0;var r=0;if((l8(e)|0)>>>0>>0&&li(e),n>>>0>1073741823)Xn();else{r=cn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function LL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(pr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function l8(e){return e=e|0,1073741823}function FL(e,n){e=e|0,n=n|0;var r=0;if((s8(e)|0)>>>0>>0&&li(e),n>>>0>1073741823)Xn();else{r=cn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function bL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(pr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function s8(e){return e=e|0,1073741823}function PL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)Xn();else{l=cn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function IL(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function BL(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&yt(e)}function a8(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)Xn();else{l=cn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function f8(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function c8(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&yt(e)}function UL(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0;if(ve=m,m=m+32|0,O=ve+20|0,P=ve+12|0,M=ve+16|0,K=ve+4|0,Pe=ve,Ee=ve+8|0,D=$3()|0,s=t[D>>2]|0,h=t[s>>2]|0,h|0)for(S=t[D+8>>2]|0,D=t[D+4>>2]|0;jf(O,h),jL(e,O,D,S),s=s+4|0,h=t[s>>2]|0,h;)S=S+1|0,D=D+1|0;if(s=e8()|0,h=t[s>>2]|0,h|0)do jf(O,h),t[P>>2]=t[s+4>>2],zL(n,O,P),s=s+8|0,h=t[s>>2]|0;while((h|0)!=0);if(s=t[(Mv()|0)>>2]|0,s|0)do n=t[s+4>>2]|0,jf(O,t[(Nv(n)|0)>>2]|0),t[P>>2]=OE(n)|0,qL(r,O,P),s=t[s>>2]|0;while((s|0)!=0);if(jf(M,0),s=kE()|0,t[O>>2]=t[M>>2],t8(O,s,l),s=t[(Mv()|0)>>2]|0,s|0){e=O+4|0,n=O+8|0,r=O+8|0;do{if(S=t[s+4>>2]|0,jf(P,t[(Nv(S)|0)>>2]|0),HL(K,d8(S)|0),h=t[K>>2]|0,h|0){t[O>>2]=0,t[e>>2]=0,t[n>>2]=0;do jf(Pe,t[(Nv(t[h+4>>2]|0)|0)>>2]|0),D=t[e>>2]|0,D>>>0<(t[r>>2]|0)>>>0?(t[D>>2]=t[Pe>>2],t[e>>2]=(t[e>>2]|0)+4):NE(O,Pe),h=t[h>>2]|0;while((h|0)!=0);WL(u,P,O),k1(O)}t[Ee>>2]=t[P>>2],M=p8(S)|0,t[O>>2]=t[Ee>>2],t8(O,M,l),m2(K),s=t[s>>2]|0}while((s|0)!=0)}m=ve}function jL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,rF(e,n,r,u)}function zL(e,n,r){e=e|0,n=n|0,r=r|0,nF(e,n,r)}function Nv(e){return e=e|0,e|0}function qL(e,n,r){e=e|0,n=n|0,r=r|0,ZL(e,n,r)}function d8(e){return e=e|0,e+16|0}function HL(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;if(s=m,m=m+16|0,l=s+8|0,r=s,t[e>>2]=0,u=t[n>>2]|0,t[l>>2]=u,t[r>>2]=e,r=JL(r)|0,u|0){if(u=cn(12)|0,h=(h8(l)|0)+4|0,e=t[h+4>>2]|0,n=u+4|0,t[n>>2]=t[h>>2],t[n+4>>2]=e,n=t[t[l>>2]>>2]|0,t[l>>2]=n,!n)e=u;else for(n=u;e=cn(12)|0,S=(h8(l)|0)+4|0,D=t[S+4>>2]|0,h=e+4|0,t[h>>2]=t[S>>2],t[h+4>>2]=D,t[n>>2]=e,h=t[t[l>>2]>>2]|0,t[l>>2]=h,h;)n=e;t[e>>2]=t[r>>2],t[r>>2]=u}m=s}function WL(e,n,r){e=e|0,n=n|0,r=r|0,VL(e,n,r)}function p8(e){return e=e|0,e+24|0}function VL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,h=u+24|0,l=u+16|0,D=u+12|0,s=u,Ta(l),e=vo(e)|0,t[D>>2]=t[n>>2],FE(s,r),t[h>>2]=t[D>>2],YL(e,h,s),k1(s),Ca(l),m=u}function YL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,h=u+16|0,D=u+12|0,l=u,s=mo(KL()|0)|0,t[D>>2]=t[n>>2],t[h>>2]=t[D>>2],n=Vp(h)|0,t[l>>2]=t[r>>2],h=r+4|0,t[l+4>>2]=t[h>>2],D=r+8|0,t[l+8>>2]=t[D>>2],t[D>>2]=0,t[h>>2]=0,t[r>>2]=0,F0(0,s|0,e|0,n|0,PE(l)|0)|0,k1(l),m=u}function KL(){var e=0;return p[7976]|0||(XL(10720),e=7976,t[e>>2]=1,t[e+4>>2]=0),10720}function XL(e){e=e|0,nl(e,QL()|0,2)}function QL(){return 1732}function JL(e){return e=e|0,t[e>>2]|0}function h8(e){return e=e|0,t[e>>2]|0}function ZL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+32|0,s=u+16|0,l=u+8|0,h=u,Ta(l),e=vo(e)|0,t[h>>2]=t[n>>2],r=t[r>>2]|0,t[s>>2]=t[h>>2],v8(e,s,r),Ca(l),m=u}function v8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,s=u+4|0,h=u,l=mo($L()|0)|0,t[h>>2]=t[n>>2],t[s>>2]=t[h>>2],n=Vp(s)|0,F0(0,l|0,e|0,n|0,n8(r)|0)|0,m=u}function $L(){var e=0;return p[7984]|0||(eF(10732),e=7984,t[e>>2]=1,t[e+4>>2]=0),10732}function eF(e){e=e|0,nl(e,tF()|0,2)}function tF(){return 1744}function nF(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+32|0,s=u+16|0,l=u+8|0,h=u,Ta(l),e=vo(e)|0,t[h>>2]=t[n>>2],r=t[r>>2]|0,t[s>>2]=t[h>>2],v8(e,s,r),Ca(l),m=u}function rF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+32|0,h=l+16|0,s=l+8|0,D=l,Ta(s),e=vo(e)|0,t[D>>2]=t[n>>2],r=p[r>>0]|0,u=p[u>>0]|0,t[h>>2]=t[D>>2],iF(e,h,r,u),Ca(s),m=l}function iF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,h=l+4|0,D=l,s=mo(uF()|0)|0,t[D>>2]=t[n>>2],t[h>>2]=t[D>>2],n=Vp(h)|0,r=Lv(r)|0,Bn(0,s|0,e|0,n|0,r|0,Lv(u)|0)|0,m=l}function uF(){var e=0;return p[7992]|0||(lF(10744),e=7992,t[e>>2]=1,t[e+4>>2]=0),10744}function Lv(e){return e=e|0,oF(e)|0}function oF(e){return e=e|0,e&255|0}function lF(e){e=e|0,nl(e,sF()|0,3)}function sF(){return 1756}function aF(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;switch(K=m,m=m+32|0,D=K+8|0,S=K+4|0,M=K+20|0,O=K,ma(e,0),u=oI(n)|0,t[D>>2]=0,P=D+4|0,t[P>>2]=0,t[D+8>>2]=0,u<<24>>24){case 0:{p[M>>0]=0,fF(S,r,M),w_(e,S)|0,B0(S);break}case 8:{P=qE(n)|0,p[M>>0]=8,jf(O,t[P+4>>2]|0),cF(S,r,M,O,P+8|0),w_(e,S)|0,B0(S);break}case 9:{if(s=qE(n)|0,n=t[s+4>>2]|0,n|0)for(h=D+8|0,l=s+12|0;n=n+-1|0,jf(S,t[l>>2]|0),u=t[P>>2]|0,u>>>0<(t[h>>2]|0)>>>0?(t[u>>2]=t[S>>2],t[P>>2]=(t[P>>2]|0)+4):NE(D,S),n;)l=l+4|0;p[M>>0]=9,jf(O,t[s+8>>2]|0),dF(S,r,M,O,D),w_(e,S)|0,B0(S);break}default:P=qE(n)|0,p[M>>0]=u,jf(O,t[P+4>>2]|0),pF(S,r,M,O),w_(e,S)|0,B0(S)}k1(D),m=K}function fF(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,Ta(l),n=vo(n)|0,xF(e,n,p[r>>0]|0),Ca(l),m=u}function w_(e,n){e=e|0,n=n|0;var r=0;return r=t[e>>2]|0,r|0&&Ir(r|0),t[e>>2]=t[n>>2],t[n>>2]=0,e|0}function cF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+32|0,D=s+16|0,h=s+8|0,S=s,Ta(h),n=vo(n)|0,r=p[r>>0]|0,t[S>>2]=t[u>>2],l=t[l>>2]|0,t[D>>2]=t[S>>2],wF(e,n,r,D,l),Ca(h),m=s}function dF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0;s=m,m=m+32|0,S=s+24|0,h=s+16|0,M=s+12|0,D=s,Ta(h),n=vo(n)|0,r=p[r>>0]|0,t[M>>2]=t[u>>2],FE(D,l),t[S>>2]=t[M>>2],gF(e,n,r,S,D),k1(D),Ca(h),m=s}function pF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+32|0,h=l+16|0,s=l+8|0,D=l,Ta(s),n=vo(n)|0,r=p[r>>0]|0,t[D>>2]=t[u>>2],t[h>>2]=t[D>>2],hF(e,n,r,h),Ca(s),m=l}function hF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+4|0,D=l,h=mo(vF()|0)|0,r=Lv(r)|0,t[D>>2]=t[u>>2],t[s>>2]=t[D>>2],S_(e,F0(0,h|0,n|0,r|0,Vp(s)|0)|0),m=l}function vF(){var e=0;return p[8e3]|0||(mF(10756),e=8e3,t[e>>2]=1,t[e+4>>2]=0),10756}function S_(e,n){e=e|0,n=n|0,ma(e,n)}function mF(e){e=e|0,nl(e,yF()|0,2)}function yF(){return 1772}function gF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0;s=m,m=m+32|0,S=s+16|0,M=s+12|0,h=s,D=mo(_F()|0)|0,r=Lv(r)|0,t[M>>2]=t[u>>2],t[S>>2]=t[M>>2],u=Vp(S)|0,t[h>>2]=t[l>>2],S=l+4|0,t[h+4>>2]=t[S>>2],M=l+8|0,t[h+8>>2]=t[M>>2],t[M>>2]=0,t[S>>2]=0,t[l>>2]=0,S_(e,Bn(0,D|0,n|0,r|0,u|0,PE(h)|0)|0),k1(h),m=s}function _F(){var e=0;return p[8008]|0||(EF(10768),e=8008,t[e>>2]=1,t[e+4>>2]=0),10768}function EF(e){e=e|0,nl(e,DF()|0,3)}function DF(){return 1784}function wF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+16|0,D=s+4|0,S=s,h=mo(SF()|0)|0,r=Lv(r)|0,t[S>>2]=t[u>>2],t[D>>2]=t[S>>2],u=Vp(D)|0,S_(e,Bn(0,h|0,n|0,r|0,u|0,bE(l)|0)|0),m=s}function SF(){var e=0;return p[8016]|0||(TF(10780),e=8016,t[e>>2]=1,t[e+4>>2]=0),10780}function TF(e){e=e|0,nl(e,CF()|0,3)}function CF(){return 1800}function xF(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=mo(AF()|0)|0,S_(e,ji(0,u|0,n|0,Lv(r)|0)|0)}function AF(){var e=0;return p[8024]|0||(RF(10792),e=8024,t[e>>2]=1,t[e+4>>2]=0),10792}function RF(e){e=e|0,nl(e,OF()|0,1)}function OF(){return 1816}function kF(){MF(),NF(),LF()}function MF(){t[2702]=H8(65536)|0}function NF(){$F(10856)}function LF(){FF(10816)}function FF(e){e=e|0,bF(e,5044),PF(e)|0}function bF(e,n){e=e|0,n=n|0;var r=0;r=u8()|0,t[e>>2]=r,YF(r,n),Q2(t[e>>2]|0)}function PF(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,IF()|0),e|0}function IF(){var e=0;return p[8032]|0||(m8(10820),Ht(64,10820,he|0)|0,e=8032,t[e>>2]=1,t[e+4>>2]=0),rr(10820)|0||m8(10820),10820}function m8(e){e=e|0,jF(e),Wp(e,25)}function BF(e){e=e|0,UF(e+24|0)}function UF(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function jF(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,18,n,WF()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zF(e,n){e=e|0,n=n|0,qF(e,n)}function qF(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;r=m,m=m+16|0,u=r,l=r+4|0,Of(l,n),t[u>>2]=kf(l,n)|0,HF(e,u),m=r}function HF(e,n){e=e|0,n=n|0,y8(e+4|0,t[n>>2]|0),p[e+8>>0]=1}function y8(e,n){e=e|0,n=n|0,t[e>>2]=n}function WF(){return 1824}function VF(e){return e=e|0,GF(e)|0}function GF(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Sa(8)|0,n=u,D=cn(4)|0,Of(l,e),y8(D,kf(l,e)|0),s=n+4|0,t[s>>2]=D,e=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],o8(e,s,l),t[u>>2]=e,m=r,n|0}function Sa(e){e=e|0;var n=0,r=0;return e=e+7&-8,(e>>>0<=32768?(n=t[2701]|0,e>>>0<=(65536-n|0)>>>0):0)?(r=(t[2702]|0)+n|0,t[2701]=n+e,e=r):(e=H8(e+8|0)|0,t[e>>2]=t[2703],t[2703]=e,e=e+8|0),e|0}function YF(e,n){e=e|0,n=n|0,t[e>>2]=KF()|0,t[e+4>>2]=XF()|0,t[e+12>>2]=n,t[e+8>>2]=QF()|0,t[e+32>>2]=9}function KF(){return 11744}function XF(){return 1832}function QF(){return E_()|0}function JF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(ZF(r),yt(r)):n|0&&yt(n)}function ZF(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function $F(e){e=e|0,eb(e,5052),tb(e)|0,nb(e,5058,26)|0,rb(e,5069,1)|0,ib(e,5077,10)|0,ub(e,5087,19)|0,ob(e,5094,27)|0}function eb(e,n){e=e|0,n=n|0;var r=0;r=ZP()|0,t[e>>2]=r,$P(r,n),Q2(t[e>>2]|0)}function tb(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,BP()|0),e|0}function nb(e,n,r){return e=e|0,n=n|0,r=r|0,EP(e,Or(n)|0,r,0),e|0}function rb(e,n,r){return e=e|0,n=n|0,r=r|0,uP(e,Or(n)|0,r,0),e|0}function ib(e,n,r){return e=e|0,n=n|0,r=r|0,Ib(e,Or(n)|0,r,0),e|0}function ub(e,n,r){return e=e|0,n=n|0,r=r|0,wb(e,Or(n)|0,r,0),e|0}function g8(e,n){e=e|0,n=n|0;var r=0,u=0;e:for(;;){for(r=t[2703]|0;;){if((r|0)==(n|0))break e;if(u=t[r>>2]|0,t[2703]=u,!r)r=u;else break}yt(r)}t[2701]=e}function ob(e,n,r){return e=e|0,n=n|0,r=r|0,lb(e,Or(n)|0,r,0),e|0}function lb(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=IE()|0,e=sb(r)|0,vi(s,n,l,e,ab(r,u)|0,u)}function IE(){var e=0,n=0;if(p[8040]|0||(E8(10860),Ht(65,10860,he|0)|0,n=8040,t[n>>2]=1,t[n+4>>2]=0),!(rr(10860)|0)){e=10860,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));E8(10860)}return 10860}function sb(e){return e=e|0,e|0}function ab(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=IE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(_8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(fb(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function _8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function fb(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=cb(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,db(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,_8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,pb(e,l),hb(l),m=D;return}}function cb(e){return e=e|0,536870911}function db(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function pb(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function hb(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function E8(e){e=e|0,yb(e)}function vb(e){e=e|0,mb(e+24|0)}function mb(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function yb(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,11,n,gb()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gb(){return 1840}function _b(e,n,r){e=e|0,n=n|0,r=r|0,Db(t[(Eb(e)|0)>>2]|0,n,r)}function Eb(e){return e=e|0,(t[(IE()|0)+24>>2]|0)+(e<<3)|0}function Db(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;u=m,m=m+16|0,s=u+1|0,l=u,Of(s,n),n=kf(s,n)|0,Of(l,r),r=kf(l,r)|0,N1[e&31](n,r),m=u}function wb(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=BE()|0,e=Sb(r)|0,vi(s,n,l,e,Tb(r,u)|0,u)}function BE(){var e=0,n=0;if(p[8048]|0||(w8(10896),Ht(66,10896,he|0)|0,n=8048,t[n>>2]=1,t[n+4>>2]=0),!(rr(10896)|0)){e=10896,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));w8(10896)}return 10896}function Sb(e){return e=e|0,e|0}function Tb(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=BE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(D8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Cb(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function D8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Cb(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=xb(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,Ab(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,D8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Rb(e,l),Ob(l),m=D;return}}function xb(e){return e=e|0,536870911}function Ab(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Rb(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Ob(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function w8(e){e=e|0,Nb(e)}function kb(e){e=e|0,Mb(e+24|0)}function Mb(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function Nb(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,11,n,Lb()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Lb(){return 1852}function Fb(e,n){return e=e|0,n=n|0,Pb(t[(bb(e)|0)>>2]|0,n)|0}function bb(e){return e=e|0,(t[(BE()|0)+24>>2]|0)+(e<<3)|0}function Pb(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,Of(u,n),n=kf(u,n)|0,n=z0(Xp[e&31](n)|0)|0,m=r,n|0}function Ib(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=UE()|0,e=Bb(r)|0,vi(s,n,l,e,Ub(r,u)|0,u)}function UE(){var e=0,n=0;if(p[8056]|0||(T8(10932),Ht(67,10932,he|0)|0,n=8056,t[n>>2]=1,t[n+4>>2]=0),!(rr(10932)|0)){e=10932,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));T8(10932)}return 10932}function Bb(e){return e=e|0,e|0}function Ub(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=UE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(S8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(jb(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function S8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function jb(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=zb(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,qb(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,S8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Hb(e,l),Wb(l),m=D;return}}function zb(e){return e=e|0,536870911}function qb(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Hb(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Wb(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function T8(e){e=e|0,Yb(e)}function Vb(e){e=e|0,Gb(e+24|0)}function Gb(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function Yb(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,7,n,Kb()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Kb(){return 1860}function Xb(e,n,r){return e=e|0,n=n|0,r=r|0,Jb(t[(Qb(e)|0)>>2]|0,n,r)|0}function Qb(e){return e=e|0,(t[(UE()|0)+24>>2]|0)+(e<<3)|0}function Jb(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+32|0,h=u+12|0,s=u+8|0,D=u,S=u+16|0,l=u+4|0,Zb(S,n),$b(D,S,n),qs(l,r),r=Hs(l,r)|0,t[h>>2]=t[D>>2],jy[e&15](s,h,r),r=eP(s)|0,B0(s),Ws(l),m=u,r|0}function Zb(e,n){e=e|0,n=n|0}function $b(e,n,r){e=e|0,n=n|0,r=r|0,tP(e,r)}function eP(e){return e=e|0,vo(e)|0}function tP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+16|0,r=l,u=n,u&1?(nP(r,0),Yi(u|0,r|0)|0,rP(e,r),iP(r)):t[e>>2]=t[n>>2],m=l}function nP(e,n){e=e|0,n=n|0,l2(e,n),t[e+4>>2]=0,p[e+8>>0]=0}function rP(e,n){e=e|0,n=n|0,t[e>>2]=t[n+4>>2]}function iP(e){e=e|0,p[e+8>>0]=0}function uP(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=jE()|0,e=oP(r)|0,vi(s,n,l,e,lP(r,u)|0,u)}function jE(){var e=0,n=0;if(p[8064]|0||(x8(10968),Ht(68,10968,he|0)|0,n=8064,t[n>>2]=1,t[n+4>>2]=0),!(rr(10968)|0)){e=10968,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));x8(10968)}return 10968}function oP(e){return e=e|0,e|0}function lP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=jE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(C8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(sP(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function C8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function sP(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=aP(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,fP(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,C8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,cP(e,l),dP(l),m=D;return}}function aP(e){return e=e|0,536870911}function fP(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function cP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function dP(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function x8(e){e=e|0,vP(e)}function pP(e){e=e|0,hP(e+24|0)}function hP(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function vP(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,1,n,mP()|0,5),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function mP(){return 1872}function yP(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,_P(t[(gP(e)|0)>>2]|0,n,r,u,l,s)}function gP(e){return e=e|0,(t[(jE()|0)+24>>2]|0)+(e<<3)|0}function _P(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0;h=m,m=m+32|0,D=h+16|0,S=h+12|0,M=h+8|0,O=h+4|0,P=h,qs(D,n),n=Hs(D,n)|0,qs(S,r),r=Hs(S,r)|0,qs(M,u),u=Hs(M,u)|0,qs(O,l),l=Hs(O,l)|0,qs(P,s),s=Hs(P,s)|0,K8[e&1](n,r,u,l,s),Ws(P),Ws(O),Ws(M),Ws(S),Ws(D),m=h}function EP(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=zE()|0,e=DP(r)|0,vi(s,n,l,e,wP(r,u)|0,u)}function zE(){var e=0,n=0;if(p[8072]|0||(R8(11004),Ht(69,11004,he|0)|0,n=8072,t[n>>2]=1,t[n+4>>2]=0),!(rr(11004)|0)){e=11004,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));R8(11004)}return 11004}function DP(e){return e=e|0,e|0}function wP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=zE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(A8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(SP(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function A8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function SP(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=TP(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,CP(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,A8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,xP(e,l),AP(l),m=D;return}}function TP(e){return e=e|0,536870911}function CP(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function xP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function AP(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function R8(e){e=e|0,kP(e)}function RP(e){e=e|0,OP(e+24|0)}function OP(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function kP(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,12,n,MP()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function MP(){return 1896}function NP(e,n,r){e=e|0,n=n|0,r=r|0,FP(t[(LP(e)|0)>>2]|0,n,r)}function LP(e){return e=e|0,(t[(zE()|0)+24>>2]|0)+(e<<3)|0}function FP(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;u=m,m=m+16|0,s=u+4|0,l=u,bP(s,n),n=PP(s,n)|0,qs(l,r),r=Hs(l,r)|0,N1[e&31](n,r),Ws(l),m=u}function bP(e,n){e=e|0,n=n|0}function PP(e,n){return e=e|0,n=n|0,IP(n)|0}function IP(e){return e=e|0,e|0}function BP(){var e=0;return p[8080]|0||(O8(11040),Ht(70,11040,he|0)|0,e=8080,t[e>>2]=1,t[e+4>>2]=0),rr(11040)|0||O8(11040),11040}function O8(e){e=e|0,zP(e),Wp(e,71)}function UP(e){e=e|0,jP(e+24|0)}function jP(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function zP(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,7,n,VP()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function qP(e){e=e|0,HP(e)}function HP(e){e=e|0,WP(e)}function WP(e){e=e|0,p[e+8>>0]=1}function VP(){return 1936}function GP(){return YP()|0}function YP(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Sa(8)|0,e=r,s=e+4|0,t[s>>2]=cn(1)|0,u=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],KP(u,s,l),t[r>>2]=u,m=n,e|0}function KP(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1916,t[r+12>>2]=n,t[e+4>>2]=r}function XP(e){e=e|0,Pv(e),yt(e)}function QP(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function JP(e){e=e|0,yt(e)}function ZP(){var e=0;return p[8088]|0||(uI(11076),Ht(25,11076,he|0)|0,e=8088,t[e>>2]=1,t[e+4>>2]=0),11076}function $P(e,n){e=e|0,n=n|0,t[e>>2]=eI()|0,t[e+4>>2]=tI()|0,t[e+12>>2]=n,t[e+8>>2]=nI()|0,t[e+32>>2]=10}function eI(){return 11745}function tI(){return 1940}function nI(){return O1()|0}function rI(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(iI(r),yt(r)):n|0&&yt(n)}function iI(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function uI(e){e=e|0,Ha(e)}function jf(e,n){e=e|0,n=n|0,t[e>>2]=n}function qE(e){return e=e|0,t[e>>2]|0}function oI(e){return e=e|0,p[t[e>>2]>>0]|0}function lI(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,t[u>>2]=t[e>>2],sI(n,u)|0,m=r}function sI(e,n){e=e|0,n=n|0;var r=0;return r=aI(t[e>>2]|0,n)|0,n=e+4|0,t[(t[n>>2]|0)+8>>2]=r,t[(t[n>>2]|0)+8>>2]|0}function aI(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,Ta(u),e=vo(e)|0,n=fI(e,t[n>>2]|0)|0,Ca(u),m=r,n|0}function Ta(e){e=e|0,t[e>>2]=t[2701],t[e+4>>2]=t[2703]}function fI(e,n){e=e|0,n=n|0;var r=0;return r=mo(cI()|0)|0,ji(0,r|0,e|0,bE(n)|0)|0}function Ca(e){e=e|0,g8(t[e>>2]|0,t[e+4>>2]|0)}function cI(){var e=0;return p[8096]|0||(dI(11120),e=8096,t[e>>2]=1,t[e+4>>2]=0),11120}function dI(e){e=e|0,nl(e,pI()|0,1)}function pI(){return 1948}function hI(){vI()}function vI(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0;if(Ee=m,m=m+16|0,O=Ee+4|0,P=Ee,Ln(65536,10804,t[2702]|0,10812),r=$3()|0,n=t[r>>2]|0,e=t[n>>2]|0,e|0)for(u=t[r+8>>2]|0,r=t[r+4>>2]|0;Wl(e|0,k[r>>0]|0|0,p[u>>0]|0),n=n+4|0,e=t[n>>2]|0,e;)u=u+1|0,r=r+1|0;if(e=e8()|0,n=t[e>>2]|0,n|0)do xo(n|0,t[e+4>>2]|0),e=e+8|0,n=t[e>>2]|0;while((n|0)!=0);xo(mI()|0,5167),M=Mv()|0,e=t[M>>2]|0;e:do if(e|0){do yI(t[e+4>>2]|0),e=t[e>>2]|0;while((e|0)!=0);if(e=t[M>>2]|0,e|0){S=M;do{for(;l=e,e=t[e>>2]|0,l=t[l+4>>2]|0,!!(gI(l)|0);)if(t[P>>2]=S,t[O>>2]=t[P>>2],_I(M,O)|0,!e)break e;if(EI(l),S=t[S>>2]|0,n=k8(l)|0,s=lo()|0,h=m,m=m+((1*(n<<2)|0)+15&-16)|0,D=m,m=m+((1*(n<<2)|0)+15&-16)|0,n=t[(d8(l)|0)>>2]|0,n|0)for(r=h,u=D;t[r>>2]=t[(Nv(t[n+4>>2]|0)|0)>>2],t[u>>2]=t[n+8>>2],n=t[n>>2]|0,n;)r=r+4|0,u=u+4|0;ve=Nv(l)|0,n=DI(l)|0,r=k8(l)|0,u=wI(l)|0,Ao(ve|0,n|0,h|0,D|0,r|0,u|0,OE(l)|0),ci(s|0)}while((e|0)!=0)}}while(0);if(e=t[(kE()|0)>>2]|0,e|0)do ve=e+4|0,M=ME(ve)|0,l=Py(M)|0,s=Fy(M)|0,h=(by(M)|0)+1|0,D=T_(M)|0,S=M8(ve)|0,M=rr(M)|0,O=D_(ve)|0,P=HE(ve)|0,oo(0,l|0,s|0,h|0,D|0,S|0,M|0,O|0,P|0,WE(ve)|0),e=t[e>>2]|0;while((e|0)!=0);e=t[(Mv()|0)>>2]|0;e:do if(e|0){t:for(;;){if(n=t[e+4>>2]|0,n|0?(K=t[(Nv(n)|0)>>2]|0,Pe=t[(p8(n)|0)>>2]|0,Pe|0):0){r=Pe;do{n=r+4|0,u=ME(n)|0;n:do if(u|0)switch(rr(u)|0){case 0:break t;case 4:case 3:case 2:{D=Py(u)|0,S=Fy(u)|0,M=(by(u)|0)+1|0,O=T_(u)|0,P=rr(u)|0,ve=D_(n)|0,oo(K|0,D|0,S|0,M|0,O|0,0,P|0,ve|0,HE(n)|0,WE(n)|0);break n}case 1:{h=Py(u)|0,D=Fy(u)|0,S=(by(u)|0)+1|0,M=T_(u)|0,O=M8(n)|0,P=rr(u)|0,ve=D_(n)|0,oo(K|0,h|0,D|0,S|0,M|0,O|0,P|0,ve|0,HE(n)|0,WE(n)|0);break n}case 5:{M=Py(u)|0,O=Fy(u)|0,P=(by(u)|0)+1|0,ve=T_(u)|0,oo(K|0,M|0,O|0,P|0,ve|0,SI(u)|0,rr(u)|0,0,0,0);break n}default:break n}while(0);r=t[r>>2]|0}while((r|0)!=0)}if(e=t[e>>2]|0,!e)break e}Xn()}while(0);Ms(),m=Ee}function mI(){return 11703}function yI(e){e=e|0,p[e+40>>0]=0}function gI(e){return e=e|0,(p[e+40>>0]|0)!=0|0}function _I(e,n){return e=e|0,n=n|0,n=TI(n)|0,e=t[n>>2]|0,t[n>>2]=t[e>>2],yt(e),t[n>>2]|0}function EI(e){e=e|0,p[e+40>>0]=1}function k8(e){return e=e|0,t[e+20>>2]|0}function DI(e){return e=e|0,t[e+8>>2]|0}function wI(e){return e=e|0,t[e+32>>2]|0}function T_(e){return e=e|0,t[e+4>>2]|0}function M8(e){return e=e|0,t[e+4>>2]|0}function HE(e){return e=e|0,t[e+8>>2]|0}function WE(e){return e=e|0,t[e+16>>2]|0}function SI(e){return e=e|0,t[e+20>>2]|0}function TI(e){return e=e|0,t[e>>2]|0}function C_(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0,Re=0,Fe=0,Qt=0;Qt=m,m=m+16|0,K=Qt;do if(e>>>0<245){if(M=e>>>0<11?16:e+11&-8,e=M>>>3,P=t[2783]|0,r=P>>>e,r&3|0)return n=(r&1^1)+e|0,e=11172+(n<<1<<2)|0,r=e+8|0,u=t[r>>2]|0,l=u+8|0,s=t[l>>2]|0,(e|0)==(s|0)?t[2783]=P&~(1<>2]=e,t[r>>2]=s),Fe=n<<3,t[u+4>>2]=Fe|3,Fe=u+Fe+4|0,t[Fe>>2]=t[Fe>>2]|1,Fe=l,m=Qt,Fe|0;if(O=t[2785]|0,M>>>0>O>>>0){if(r|0)return n=2<>>12&16,n=n>>>h,r=n>>>5&8,n=n>>>r,l=n>>>2&4,n=n>>>l,e=n>>>1&2,n=n>>>e,u=n>>>1&1,u=(r|h|l|e|u)+(n>>>u)|0,n=11172+(u<<1<<2)|0,e=n+8|0,l=t[e>>2]|0,h=l+8|0,r=t[h>>2]|0,(n|0)==(r|0)?(e=P&~(1<>2]=n,t[e>>2]=r,e=P),s=(u<<3)-M|0,t[l+4>>2]=M|3,u=l+M|0,t[u+4>>2]=s|1,t[u+s>>2]=s,O|0&&(l=t[2788]|0,n=O>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=l,t[n+12>>2]=l,t[l+8>>2]=n,t[l+12>>2]=r),t[2785]=s,t[2788]=u,Fe=h,m=Qt,Fe|0;if(D=t[2784]|0,D){if(r=(D&0-D)+-1|0,h=r>>>12&16,r=r>>>h,s=r>>>5&8,r=r>>>s,S=r>>>2&4,r=r>>>S,u=r>>>1&2,r=r>>>u,e=r>>>1&1,e=t[11436+((s|h|S|u|e)+(r>>>e)<<2)>>2]|0,r=(t[e+4>>2]&-8)-M|0,u=t[e+16+(((t[e+16>>2]|0)==0&1)<<2)>>2]|0,!u)S=e,s=r;else{do h=(t[u+4>>2]&-8)-M|0,S=h>>>0>>0,r=S?h:r,e=S?u:e,u=t[u+16+(((t[u+16>>2]|0)==0&1)<<2)>>2]|0;while((u|0)!=0);S=e,s=r}if(h=S+M|0,S>>>0>>0){l=t[S+24>>2]|0,n=t[S+12>>2]|0;do if((n|0)==(S|0)){if(e=S+20|0,n=t[e>>2]|0,!n&&(e=S+16|0,n=t[e>>2]|0,!n)){r=0;break}for(;;){if(r=n+20|0,u=t[r>>2]|0,u|0){n=u,e=r;continue}if(r=n+16|0,u=t[r>>2]|0,u)n=u,e=r;else break}t[e>>2]=0,r=n}else r=t[S+8>>2]|0,t[r+12>>2]=n,t[n+8>>2]=r,r=n;while(0);do if(l|0){if(n=t[S+28>>2]|0,e=11436+(n<<2)|0,(S|0)==(t[e>>2]|0)){if(t[e>>2]=r,!r){t[2784]=D&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=l,n=t[S+16>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),n=t[S+20>>2]|0,n|0&&(t[r+20>>2]=n,t[n+24>>2]=r)}while(0);return s>>>0<16?(Fe=s+M|0,t[S+4>>2]=Fe|3,Fe=S+Fe+4|0,t[Fe>>2]=t[Fe>>2]|1):(t[S+4>>2]=M|3,t[h+4>>2]=s|1,t[h+s>>2]=s,O|0&&(u=t[2788]|0,n=O>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=P|n,n=r,e=r+8|0),t[e>>2]=u,t[n+12>>2]=u,t[u+8>>2]=n,t[u+12>>2]=r),t[2785]=s,t[2788]=h),Fe=S+8|0,m=Qt,Fe|0}else P=M}else P=M}else P=M}else if(e>>>0<=4294967231)if(e=e+11|0,M=e&-8,S=t[2784]|0,S){u=0-M|0,e=e>>>8,e?M>>>0>16777215?D=31:(P=(e+1048320|0)>>>16&8,Re=e<>>16&4,Re=Re<>>16&2,D=14-(O|P|D)+(Re<>>15)|0,D=M>>>(D+7|0)&1|D<<1):D=0,r=t[11436+(D<<2)>>2]|0;e:do if(!r)r=0,e=0,Re=57;else for(e=0,h=M<<((D|0)==31?0:25-(D>>>1)|0),s=0;;){if(l=(t[r+4>>2]&-8)-M|0,l>>>0>>0)if(l)e=r,u=l;else{e=r,u=0,l=r,Re=61;break e}if(l=t[r+20>>2]|0,r=t[r+16+(h>>>31<<2)>>2]|0,s=(l|0)==0|(l|0)==(r|0)?s:l,l=(r|0)==0,l){r=s,Re=57;break}else h=h<<((l^1)&1)}while(0);if((Re|0)==57){if((r|0)==0&(e|0)==0){if(e=2<>>12&16,P=P>>>h,s=P>>>5&8,P=P>>>s,D=P>>>2&4,P=P>>>D,O=P>>>1&2,P=P>>>O,r=P>>>1&1,e=0,r=t[11436+((s|h|D|O|r)+(P>>>r)<<2)>>2]|0}r?(l=r,Re=61):(D=e,h=u)}if((Re|0)==61)for(;;)if(Re=0,r=(t[l+4>>2]&-8)-M|0,P=r>>>0>>0,r=P?r:u,e=P?l:e,l=t[l+16+(((t[l+16>>2]|0)==0&1)<<2)>>2]|0,l)u=r,Re=61;else{D=e,h=r;break}if((D|0)!=0?h>>>0<((t[2785]|0)-M|0)>>>0:0){if(s=D+M|0,D>>>0>=s>>>0)return Fe=0,m=Qt,Fe|0;l=t[D+24>>2]|0,n=t[D+12>>2]|0;do if((n|0)==(D|0)){if(e=D+20|0,n=t[e>>2]|0,!n&&(e=D+16|0,n=t[e>>2]|0,!n)){n=0;break}for(;;){if(r=n+20|0,u=t[r>>2]|0,u|0){n=u,e=r;continue}if(r=n+16|0,u=t[r>>2]|0,u)n=u,e=r;else break}t[e>>2]=0}else Fe=t[D+8>>2]|0,t[Fe+12>>2]=n,t[n+8>>2]=Fe;while(0);do if(l){if(e=t[D+28>>2]|0,r=11436+(e<<2)|0,(D|0)==(t[r>>2]|0)){if(t[r>>2]=n,!n){u=S&~(1<>2]|0)!=(D|0)&1)<<2)>>2]=n,!n){u=S;break}t[n+24>>2]=l,e=t[D+16>>2]|0,e|0&&(t[n+16>>2]=e,t[e+24>>2]=n),e=t[D+20>>2]|0,e&&(t[n+20>>2]=e,t[e+24>>2]=n),u=S}else u=S;while(0);do if(h>>>0>=16){if(t[D+4>>2]=M|3,t[s+4>>2]=h|1,t[s+h>>2]=h,n=h>>>3,h>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=s,t[n+12>>2]=s,t[s+8>>2]=n,t[s+12>>2]=r;break}if(n=h>>>8,n?h>>>0>16777215?n=31:(Re=(n+1048320|0)>>>16&8,Fe=n<>>16&4,Fe=Fe<>>16&2,n=14-(st|Re|n)+(Fe<>>15)|0,n=h>>>(n+7|0)&1|n<<1):n=0,r=11436+(n<<2)|0,t[s+28>>2]=n,e=s+16|0,t[e+4>>2]=0,t[e>>2]=0,e=1<>2]=s,t[s+24>>2]=r,t[s+12>>2]=s,t[s+8>>2]=s;break}for(e=h<<((n|0)==31?0:25-(n>>>1)|0),r=t[r>>2]|0;;){if((t[r+4>>2]&-8|0)==(h|0)){Re=97;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Re=96;break}}if((Re|0)==96){t[u>>2]=s,t[s+24>>2]=r,t[s+12>>2]=s,t[s+8>>2]=s;break}else if((Re|0)==97){Re=r+8|0,Fe=t[Re>>2]|0,t[Fe+12>>2]=s,t[Re>>2]=s,t[s+8>>2]=Fe,t[s+12>>2]=r,t[s+24>>2]=0;break}}else Fe=h+M|0,t[D+4>>2]=Fe|3,Fe=D+Fe+4|0,t[Fe>>2]=t[Fe>>2]|1;while(0);return Fe=D+8|0,m=Qt,Fe|0}else P=M}else P=M;else P=-1;while(0);if(r=t[2785]|0,r>>>0>=P>>>0)return n=r-P|0,e=t[2788]|0,n>>>0>15?(Fe=e+P|0,t[2788]=Fe,t[2785]=n,t[Fe+4>>2]=n|1,t[Fe+n>>2]=n,t[e+4>>2]=P|3):(t[2785]=0,t[2788]=0,t[e+4>>2]=r|3,Fe=e+r+4|0,t[Fe>>2]=t[Fe>>2]|1),Fe=e+8|0,m=Qt,Fe|0;if(h=t[2786]|0,h>>>0>P>>>0)return st=h-P|0,t[2786]=st,Fe=t[2789]|0,Re=Fe+P|0,t[2789]=Re,t[Re+4>>2]=st|1,t[Fe+4>>2]=P|3,Fe=Fe+8|0,m=Qt,Fe|0;if(t[2901]|0?e=t[2903]|0:(t[2903]=4096,t[2902]=4096,t[2904]=-1,t[2905]=-1,t[2906]=0,t[2894]=0,e=K&-16^1431655768,t[K>>2]=e,t[2901]=e,e=4096),D=P+48|0,S=P+47|0,s=e+S|0,l=0-e|0,M=s&l,M>>>0<=P>>>0||(e=t[2893]|0,e|0?(O=t[2891]|0,K=O+M|0,K>>>0<=O>>>0|K>>>0>e>>>0):0))return Fe=0,m=Qt,Fe|0;e:do if(t[2894]&4)n=0,Re=133;else{r=t[2789]|0;t:do if(r){for(u=11580;e=t[u>>2]|0,!(e>>>0<=r>>>0?(ve=u+4|0,(e+(t[ve>>2]|0)|0)>>>0>r>>>0):0);)if(e=t[u+8>>2]|0,e)u=e;else{Re=118;break t}if(n=s-h&l,n>>>0<2147483647)if(e=Z2(n|0)|0,(e|0)==((t[u>>2]|0)+(t[ve>>2]|0)|0)){if((e|0)!=(-1|0)){h=n,s=e,Re=135;break e}}else u=e,Re=126;else n=0}else Re=118;while(0);do if((Re|0)==118)if(r=Z2(0)|0,(r|0)!=(-1|0)?(n=r,Pe=t[2902]|0,Ee=Pe+-1|0,n=((Ee&n|0)==0?0:(Ee+n&0-Pe)-n|0)+M|0,Pe=t[2891]|0,Ee=n+Pe|0,n>>>0>P>>>0&n>>>0<2147483647):0){if(ve=t[2893]|0,ve|0?Ee>>>0<=Pe>>>0|Ee>>>0>ve>>>0:0){n=0;break}if(e=Z2(n|0)|0,(e|0)==(r|0)){h=n,s=r,Re=135;break e}else u=e,Re=126}else n=0;while(0);do if((Re|0)==126){if(r=0-n|0,!(D>>>0>n>>>0&(n>>>0<2147483647&(u|0)!=(-1|0))))if((u|0)==(-1|0)){n=0;break}else{h=n,s=u,Re=135;break e}if(e=t[2903]|0,e=S-n+e&0-e,e>>>0>=2147483647){h=n,s=u,Re=135;break e}if((Z2(e|0)|0)==(-1|0)){Z2(r|0)|0,n=0;break}else{h=e+n|0,s=u,Re=135;break e}}while(0);t[2894]=t[2894]|4,Re=133}while(0);if((((Re|0)==133?M>>>0<2147483647:0)?(st=Z2(M|0)|0,ve=Z2(0)|0,Qe=ve-st|0,We=Qe>>>0>(P+40|0)>>>0,!((st|0)==(-1|0)|We^1|st>>>0>>0&((st|0)!=(-1|0)&(ve|0)!=(-1|0))^1)):0)&&(h=We?Qe:n,s=st,Re=135),(Re|0)==135){n=(t[2891]|0)+h|0,t[2891]=n,n>>>0>(t[2892]|0)>>>0&&(t[2892]=n),S=t[2789]|0;do if(S){for(n=11580;;){if(e=t[n>>2]|0,r=n+4|0,u=t[r>>2]|0,(s|0)==(e+u|0)){Re=145;break}if(l=t[n+8>>2]|0,l)n=l;else break}if(((Re|0)==145?(t[n+12>>2]&8|0)==0:0)?S>>>0>>0&S>>>0>=e>>>0:0){t[r>>2]=u+h,Fe=S+8|0,Fe=(Fe&7|0)==0?0:0-Fe&7,Re=S+Fe|0,Fe=(t[2786]|0)+(h-Fe)|0,t[2789]=Re,t[2786]=Fe,t[Re+4>>2]=Fe|1,t[Re+Fe+4>>2]=40,t[2790]=t[2905];break}for(s>>>0<(t[2787]|0)>>>0&&(t[2787]=s),r=s+h|0,n=11580;;){if((t[n>>2]|0)==(r|0)){Re=153;break}if(e=t[n+8>>2]|0,e)n=e;else break}if((Re|0)==153?(t[n+12>>2]&8|0)==0:0){t[n>>2]=s,O=n+4|0,t[O>>2]=(t[O>>2]|0)+h,O=s+8|0,O=s+((O&7|0)==0?0:0-O&7)|0,n=r+8|0,n=r+((n&7|0)==0?0:0-n&7)|0,M=O+P|0,D=n-O-P|0,t[O+4>>2]=P|3;do if((n|0)!=(S|0)){if((n|0)==(t[2788]|0)){Fe=(t[2785]|0)+D|0,t[2785]=Fe,t[2788]=M,t[M+4>>2]=Fe|1,t[M+Fe>>2]=Fe;break}if(e=t[n+4>>2]|0,(e&3|0)==1){h=e&-8,u=e>>>3;e:do if(e>>>0<256)if(e=t[n+8>>2]|0,r=t[n+12>>2]|0,(r|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=r,t[r+8>>2]=e;break}else{s=t[n+24>>2]|0,e=t[n+12>>2]|0;do if((e|0)==(n|0)){if(u=n+16|0,r=u+4|0,e=t[r>>2]|0,!e)if(e=t[u>>2]|0,e)r=u;else{e=0;break}for(;;){if(u=e+20|0,l=t[u>>2]|0,l|0){e=l,r=u;continue}if(u=e+16|0,l=t[u>>2]|0,l)e=l,r=u;else break}t[r>>2]=0}else Fe=t[n+8>>2]|0,t[Fe+12>>2]=e,t[e+8>>2]=Fe;while(0);if(!s)break;r=t[n+28>>2]|0,u=11436+(r<<2)|0;do if((n|0)!=(t[u>>2]|0)){if(t[s+16+(((t[s+16>>2]|0)!=(n|0)&1)<<2)>>2]=e,!e)break e}else{if(t[u>>2]=e,e|0)break;t[2784]=t[2784]&~(1<>2]=s,r=n+16|0,u=t[r>>2]|0,u|0&&(t[e+16>>2]=u,t[u+24>>2]=e),r=t[r+4>>2]|0,!r)break;t[e+20>>2]=r,t[r+24>>2]=e}while(0);n=n+h|0,l=h+D|0}else l=D;if(n=n+4|0,t[n>>2]=t[n>>2]&-2,t[M+4>>2]=l|1,t[M+l>>2]=l,n=l>>>3,l>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=M,t[n+12>>2]=M,t[M+8>>2]=n,t[M+12>>2]=r;break}n=l>>>8;do if(!n)n=0;else{if(l>>>0>16777215){n=31;break}Re=(n+1048320|0)>>>16&8,Fe=n<>>16&4,Fe=Fe<>>16&2,n=14-(st|Re|n)+(Fe<>>15)|0,n=l>>>(n+7|0)&1|n<<1}while(0);if(u=11436+(n<<2)|0,t[M+28>>2]=n,e=M+16|0,t[e+4>>2]=0,t[e>>2]=0,e=t[2784]|0,r=1<>2]=M,t[M+24>>2]=u,t[M+12>>2]=M,t[M+8>>2]=M;break}for(e=l<<((n|0)==31?0:25-(n>>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){Re=194;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Re=193;break}}if((Re|0)==193){t[u>>2]=M,t[M+24>>2]=r,t[M+12>>2]=M,t[M+8>>2]=M;break}else if((Re|0)==194){Re=r+8|0,Fe=t[Re>>2]|0,t[Fe+12>>2]=M,t[Re>>2]=M,t[M+8>>2]=Fe,t[M+12>>2]=r,t[M+24>>2]=0;break}}else Fe=(t[2786]|0)+D|0,t[2786]=Fe,t[2789]=M,t[M+4>>2]=Fe|1;while(0);return Fe=O+8|0,m=Qt,Fe|0}for(n=11580;e=t[n>>2]|0,!(e>>>0<=S>>>0?(Fe=e+(t[n+4>>2]|0)|0,Fe>>>0>S>>>0):0);)n=t[n+8>>2]|0;l=Fe+-47|0,e=l+8|0,e=l+((e&7|0)==0?0:0-e&7)|0,l=S+16|0,e=e>>>0>>0?S:e,n=e+8|0,r=s+8|0,r=(r&7|0)==0?0:0-r&7,Re=s+r|0,r=h+-40-r|0,t[2789]=Re,t[2786]=r,t[Re+4>>2]=r|1,t[Re+r+4>>2]=40,t[2790]=t[2905],r=e+4|0,t[r>>2]=27,t[n>>2]=t[2895],t[n+4>>2]=t[2896],t[n+8>>2]=t[2897],t[n+12>>2]=t[2898],t[2895]=s,t[2896]=h,t[2898]=0,t[2897]=n,n=e+24|0;do Re=n,n=n+4|0,t[n>>2]=7;while((Re+8|0)>>>0>>0);if((e|0)!=(S|0)){if(s=e-S|0,t[r>>2]=t[r>>2]&-2,t[S+4>>2]=s|1,t[e>>2]=s,n=s>>>3,s>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=S,t[n+12>>2]=S,t[S+8>>2]=n,t[S+12>>2]=r;break}if(n=s>>>8,n?s>>>0>16777215?r=31:(Re=(n+1048320|0)>>>16&8,Fe=n<>>16&4,Fe=Fe<>>16&2,r=14-(st|Re|r)+(Fe<>>15)|0,r=s>>>(r+7|0)&1|r<<1):r=0,u=11436+(r<<2)|0,t[S+28>>2]=r,t[S+20>>2]=0,t[l>>2]=0,n=t[2784]|0,e=1<>2]=S,t[S+24>>2]=u,t[S+12>>2]=S,t[S+8>>2]=S;break}for(e=s<<((r|0)==31?0:25-(r>>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){Re=216;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Re=215;break}}if((Re|0)==215){t[u>>2]=S,t[S+24>>2]=r,t[S+12>>2]=S,t[S+8>>2]=S;break}else if((Re|0)==216){Re=r+8|0,Fe=t[Re>>2]|0,t[Fe+12>>2]=S,t[Re>>2]=S,t[S+8>>2]=Fe,t[S+12>>2]=r,t[S+24>>2]=0;break}}}else{Fe=t[2787]|0,(Fe|0)==0|s>>>0>>0&&(t[2787]=s),t[2895]=s,t[2896]=h,t[2898]=0,t[2792]=t[2901],t[2791]=-1,n=0;do Fe=11172+(n<<1<<2)|0,t[Fe+12>>2]=Fe,t[Fe+8>>2]=Fe,n=n+1|0;while((n|0)!=32);Fe=s+8|0,Fe=(Fe&7|0)==0?0:0-Fe&7,Re=s+Fe|0,Fe=h+-40-Fe|0,t[2789]=Re,t[2786]=Fe,t[Re+4>>2]=Fe|1,t[Re+Fe+4>>2]=40,t[2790]=t[2905]}while(0);if(n=t[2786]|0,n>>>0>P>>>0)return st=n-P|0,t[2786]=st,Fe=t[2789]|0,Re=Fe+P|0,t[2789]=Re,t[Re+4>>2]=st|1,t[Fe+4>>2]=P|3,Fe=Fe+8|0,m=Qt,Fe|0}return t[(Fv()|0)>>2]=12,Fe=0,m=Qt,Fe|0}function x_(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0;if(!!e){r=e+-8|0,l=t[2787]|0,e=t[e+-4>>2]|0,n=e&-8,S=r+n|0;do if(e&1)D=r,h=r;else{if(u=t[r>>2]|0,!(e&3)||(h=r+(0-u)|0,s=u+n|0,h>>>0>>0))return;if((h|0)==(t[2788]|0)){if(e=S+4|0,n=t[e>>2]|0,(n&3|0)!=3){D=h,n=s;break}t[2785]=s,t[e>>2]=n&-2,t[h+4>>2]=s|1,t[h+s>>2]=s;return}if(r=u>>>3,u>>>0<256)if(e=t[h+8>>2]|0,n=t[h+12>>2]|0,(n|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=n,t[n+8>>2]=e,D=h,n=s;break}l=t[h+24>>2]|0,e=t[h+12>>2]|0;do if((e|0)==(h|0)){if(r=h+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{e=0;break}for(;;){if(r=e+20|0,u=t[r>>2]|0,u|0){e=u,n=r;continue}if(r=e+16|0,u=t[r>>2]|0,u)e=u,n=r;else break}t[n>>2]=0}else D=t[h+8>>2]|0,t[D+12>>2]=e,t[e+8>>2]=D;while(0);if(l){if(n=t[h+28>>2]|0,r=11436+(n<<2)|0,(h|0)==(t[r>>2]|0)){if(t[r>>2]=e,!e){t[2784]=t[2784]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=e,!e){D=h,n=s;break}t[e+24>>2]=l,n=h+16|0,r=t[n>>2]|0,r|0&&(t[e+16>>2]=r,t[r+24>>2]=e),n=t[n+4>>2]|0,n?(t[e+20>>2]=n,t[n+24>>2]=e,D=h,n=s):(D=h,n=s)}else D=h,n=s}while(0);if(!(h>>>0>=S>>>0)&&(e=S+4|0,u=t[e>>2]|0,!!(u&1))){if(u&2)t[e>>2]=u&-2,t[D+4>>2]=n|1,t[h+n>>2]=n,l=n;else{if(e=t[2788]|0,(S|0)==(t[2789]|0)){if(S=(t[2786]|0)+n|0,t[2786]=S,t[2789]=D,t[D+4>>2]=S|1,(D|0)!=(e|0))return;t[2788]=0,t[2785]=0;return}if((S|0)==(e|0)){S=(t[2785]|0)+n|0,t[2785]=S,t[2788]=h,t[D+4>>2]=S|1,t[h+S>>2]=S;return}l=(u&-8)+n|0,r=u>>>3;do if(u>>>0<256)if(n=t[S+8>>2]|0,e=t[S+12>>2]|0,(e|0)==(n|0)){t[2783]=t[2783]&~(1<>2]=e,t[e+8>>2]=n;break}else{s=t[S+24>>2]|0,e=t[S+12>>2]|0;do if((e|0)==(S|0)){if(r=S+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{r=0;break}for(;;){if(r=e+20|0,u=t[r>>2]|0,u|0){e=u,n=r;continue}if(r=e+16|0,u=t[r>>2]|0,u)e=u,n=r;else break}t[n>>2]=0,r=e}else r=t[S+8>>2]|0,t[r+12>>2]=e,t[e+8>>2]=r,r=e;while(0);if(s|0){if(e=t[S+28>>2]|0,n=11436+(e<<2)|0,(S|0)==(t[n>>2]|0)){if(t[n>>2]=r,!r){t[2784]=t[2784]&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=s,e=S+16|0,n=t[e>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),e=t[e+4>>2]|0,e|0&&(t[r+20>>2]=e,t[e+24>>2]=r)}}while(0);if(t[D+4>>2]=l|1,t[h+l>>2]=l,(D|0)==(t[2788]|0)){t[2785]=l;return}}if(e=l>>>3,l>>>0<256){r=11172+(e<<1<<2)|0,n=t[2783]|0,e=1<>2]|0):(t[2783]=n|e,e=r,n=r+8|0),t[n>>2]=D,t[e+12>>2]=D,t[D+8>>2]=e,t[D+12>>2]=r;return}e=l>>>8,e?l>>>0>16777215?e=31:(h=(e+1048320|0)>>>16&8,S=e<>>16&4,S=S<>>16&2,e=14-(s|h|e)+(S<>>15)|0,e=l>>>(e+7|0)&1|e<<1):e=0,u=11436+(e<<2)|0,t[D+28>>2]=e,t[D+20>>2]=0,t[D+16>>2]=0,n=t[2784]|0,r=1<>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){e=73;break}if(u=r+16+(n>>>31<<2)|0,e=t[u>>2]|0,e)n=n<<1,r=e;else{e=72;break}}if((e|0)==72){t[u>>2]=D,t[D+24>>2]=r,t[D+12>>2]=D,t[D+8>>2]=D;break}else if((e|0)==73){h=r+8|0,S=t[h>>2]|0,t[S+12>>2]=D,t[h>>2]=D,t[D+8>>2]=S,t[D+12>>2]=r,t[D+24>>2]=0;break}}else t[2784]=n|r,t[u>>2]=D,t[D+24>>2]=u,t[D+12>>2]=D,t[D+8>>2]=D;while(0);if(S=(t[2791]|0)+-1|0,t[2791]=S,!S)e=11588;else return;for(;e=t[e>>2]|0,e;)e=e+8|0;t[2791]=-1}}}function CI(){return 11628}function xI(e){e=e|0;var n=0,r=0;return n=m,m=m+16|0,r=n,t[r>>2]=OI(t[e+60>>2]|0)|0,e=A_(wu(6,r|0)|0)|0,m=n,e|0}function N8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0;P=m,m=m+48|0,M=P+16|0,s=P,l=P+32|0,D=e+28|0,u=t[D>>2]|0,t[l>>2]=u,S=e+20|0,u=(t[S>>2]|0)-u|0,t[l+4>>2]=u,t[l+8>>2]=n,t[l+12>>2]=r,u=u+r|0,h=e+60|0,t[s>>2]=t[h>>2],t[s+4>>2]=l,t[s+8>>2]=2,s=A_(d0(146,s|0)|0)|0;e:do if((u|0)!=(s|0)){for(n=2;!((s|0)<0);)if(u=u-s|0,Pe=t[l+4>>2]|0,K=s>>>0>Pe>>>0,l=K?l+8|0:l,n=(K<<31>>31)+n|0,Pe=s-(K?Pe:0)|0,t[l>>2]=(t[l>>2]|0)+Pe,K=l+4|0,t[K>>2]=(t[K>>2]|0)-Pe,t[M>>2]=t[h>>2],t[M+4>>2]=l,t[M+8>>2]=n,s=A_(d0(146,M|0)|0)|0,(u|0)==(s|0)){O=3;break e}t[e+16>>2]=0,t[D>>2]=0,t[S>>2]=0,t[e>>2]=t[e>>2]|32,(n|0)==2?r=0:r=r-(t[l+4>>2]|0)|0}else O=3;while(0);return(O|0)==3&&(Pe=t[e+44>>2]|0,t[e+16>>2]=Pe+(t[e+48>>2]|0),t[D>>2]=Pe,t[S>>2]=Pe),m=P,r|0}function AI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return l=m,m=m+32|0,s=l,u=l+20|0,t[s>>2]=t[e+60>>2],t[s+4>>2]=0,t[s+8>>2]=n,t[s+12>>2]=u,t[s+16>>2]=r,(A_(Ti(140,s|0)|0)|0)<0?(t[u>>2]=-1,e=-1):e=t[u>>2]|0,m=l,e|0}function A_(e){return e=e|0,e>>>0>4294963200&&(t[(Fv()|0)>>2]=0-e,e=-1),e|0}function Fv(){return(RI()|0)+64|0}function RI(){return VE()|0}function VE(){return 2084}function OI(e){return e=e|0,e|0}function kI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;return l=m,m=m+32|0,u=l,t[e+36>>2]=1,((t[e>>2]&64|0)==0?(t[u>>2]=t[e+60>>2],t[u+4>>2]=21523,t[u+8>>2]=l+16,b0(54,u|0)|0):0)&&(p[e+75>>0]=-1),u=N8(e,n,r)|0,m=l,u|0}function L8(e,n){e=e|0,n=n|0;var r=0,u=0;if(r=p[e>>0]|0,u=p[n>>0]|0,r<<24>>24==0?1:r<<24>>24!=u<<24>>24)e=u;else{do e=e+1|0,n=n+1|0,r=p[e>>0]|0,u=p[n>>0]|0;while(!(r<<24>>24==0?1:r<<24>>24!=u<<24>>24));e=u}return(r&255)-(e&255)|0}function MI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;e:do if(!r)e=0;else{for(;u=p[e>>0]|0,l=p[n>>0]|0,u<<24>>24==l<<24>>24;)if(r=r+-1|0,r)e=e+1|0,n=n+1|0;else{e=0;break e}e=(u&255)-(l&255)|0}while(0);return e|0}function F8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0;ve=m,m=m+224|0,O=ve+120|0,P=ve+80|0,Pe=ve,Ee=ve+136|0,u=P,l=u+40|0;do t[u>>2]=0,u=u+4|0;while((u|0)<(l|0));return t[O>>2]=t[r>>2],(GE(0,n,O,Pe,P)|0)<0?r=-1:((t[e+76>>2]|0)>-1?K=NI(e)|0:K=0,r=t[e>>2]|0,M=r&32,(p[e+74>>0]|0)<1&&(t[e>>2]=r&-33),u=e+48|0,t[u>>2]|0?r=GE(e,n,O,Pe,P)|0:(l=e+44|0,s=t[l>>2]|0,t[l>>2]=Ee,h=e+28|0,t[h>>2]=Ee,D=e+20|0,t[D>>2]=Ee,t[u>>2]=80,S=e+16|0,t[S>>2]=Ee+80,r=GE(e,n,O,Pe,P)|0,s&&(M_[t[e+36>>2]&7](e,0,0)|0,r=(t[D>>2]|0)==0?-1:r,t[l>>2]=s,t[u>>2]=0,t[S>>2]=0,t[h>>2]=0,t[D>>2]=0)),u=t[e>>2]|0,t[e>>2]=u|M,K|0&&LI(e),r=(u&32|0)==0?r:-1),m=ve,r|0}function GE(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0,Re=0,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0;On=m,m=m+64|0,Nn=On+16|0,mn=On,Qt=On+24|0,hr=On+8|0,kr=On+20|0,t[Nn>>2]=n,st=(e|0)!=0,Re=Qt+40|0,Fe=Re,Qt=Qt+39|0,Lr=hr+4|0,h=0,s=0,O=0;e:for(;;){do if((s|0)>-1)if((h|0)>(2147483647-s|0)){t[(Fv()|0)>>2]=75,s=-1;break}else{s=h+s|0;break}while(0);if(h=p[n>>0]|0,h<<24>>24)D=n;else{We=87;break}t:for(;;){switch(h<<24>>24){case 37:{h=D,We=9;break t}case 0:{h=D;break t}default:}Qe=D+1|0,t[Nn>>2]=Qe,h=p[Qe>>0]|0,D=Qe}t:do if((We|0)==9)for(;;){if(We=0,(p[D+1>>0]|0)!=37)break t;if(h=h+1|0,D=D+2|0,t[Nn>>2]=D,(p[D>>0]|0)==37)We=9;else break}while(0);if(h=h-n|0,st&&qo(e,n,h),h|0){n=D;continue}S=D+1|0,h=(p[S>>0]|0)+-48|0,h>>>0<10?(Qe=(p[D+2>>0]|0)==36,ve=Qe?h:-1,O=Qe?1:O,S=Qe?D+3|0:S):ve=-1,t[Nn>>2]=S,h=p[S>>0]|0,D=(h<<24>>24)+-32|0;t:do if(D>>>0<32)for(M=0,P=h;;){if(h=1<>2]=S,h=p[S>>0]|0,D=(h<<24>>24)+-32|0,D>>>0>=32)break;P=h}else M=0;while(0);if(h<<24>>24==42){if(D=S+1|0,h=(p[D>>0]|0)+-48|0,h>>>0<10?(p[S+2>>0]|0)==36:0)t[l+(h<<2)>>2]=10,h=t[u+((p[D>>0]|0)+-48<<3)>>2]|0,O=1,S=S+3|0;else{if(O|0){s=-1;break}st?(O=(t[r>>2]|0)+(4-1)&~(4-1),h=t[O>>2]|0,t[r>>2]=O+4,O=0,S=D):(h=0,O=0,S=D)}t[Nn>>2]=S,Qe=(h|0)<0,h=Qe?0-h|0:h,M=Qe?M|8192:M}else{if(h=b8(Nn)|0,(h|0)<0){s=-1;break}S=t[Nn>>2]|0}do if((p[S>>0]|0)==46){if((p[S+1>>0]|0)!=42){t[Nn>>2]=S+1,D=b8(Nn)|0,S=t[Nn>>2]|0;break}if(P=S+2|0,D=(p[P>>0]|0)+-48|0,D>>>0<10?(p[S+3>>0]|0)==36:0){t[l+(D<<2)>>2]=10,D=t[u+((p[P>>0]|0)+-48<<3)>>2]|0,S=S+4|0,t[Nn>>2]=S;break}if(O|0){s=-1;break e}st?(Qe=(t[r>>2]|0)+(4-1)&~(4-1),D=t[Qe>>2]|0,t[r>>2]=Qe+4):D=0,t[Nn>>2]=P,S=P}else D=-1;while(0);for(Ee=0;;){if(((p[S>>0]|0)+-65|0)>>>0>57){s=-1;break e}if(Qe=S+1|0,t[Nn>>2]=Qe,P=p[(p[S>>0]|0)+-65+(5178+(Ee*58|0))>>0]|0,K=P&255,(K+-1|0)>>>0<8)Ee=K,S=Qe;else break}if(!(P<<24>>24)){s=-1;break}Pe=(ve|0)>-1;do if(P<<24>>24==19)if(Pe){s=-1;break e}else We=49;else{if(Pe){t[l+(ve<<2)>>2]=K,Pe=u+(ve<<3)|0,ve=t[Pe+4>>2]|0,We=mn,t[We>>2]=t[Pe>>2],t[We+4>>2]=ve,We=49;break}if(!st){s=0;break e}P8(mn,K,r)}while(0);if((We|0)==49?(We=0,!st):0){h=0,n=Qe;continue}S=p[S>>0]|0,S=(Ee|0)!=0&(S&15|0)==3?S&-33:S,Pe=M&-65537,ve=(M&8192|0)==0?M:Pe;t:do switch(S|0){case 110:switch((Ee&255)<<24>>24){case 0:{t[t[mn>>2]>>2]=s,h=0,n=Qe;continue e}case 1:{t[t[mn>>2]>>2]=s,h=0,n=Qe;continue e}case 2:{h=t[mn>>2]|0,t[h>>2]=s,t[h+4>>2]=((s|0)<0)<<31>>31,h=0,n=Qe;continue e}case 3:{E[t[mn>>2]>>1]=s,h=0,n=Qe;continue e}case 4:{p[t[mn>>2]>>0]=s,h=0,n=Qe;continue e}case 6:{t[t[mn>>2]>>2]=s,h=0,n=Qe;continue e}case 7:{h=t[mn>>2]|0,t[h>>2]=s,t[h+4>>2]=((s|0)<0)<<31>>31,h=0,n=Qe;continue e}default:{h=0,n=Qe;continue e}}case 112:{S=120,D=D>>>0>8?D:8,n=ve|8,We=61;break}case 88:case 120:{n=ve,We=61;break}case 111:{S=mn,n=t[S>>2]|0,S=t[S+4>>2]|0,K=bI(n,S,Re)|0,Pe=Fe-K|0,M=0,P=5642,D=(ve&8|0)==0|(D|0)>(Pe|0)?D:Pe+1|0,Pe=ve,We=67;break}case 105:case 100:if(S=mn,n=t[S>>2]|0,S=t[S+4>>2]|0,(S|0)<0){n=R_(0,0,n|0,S|0)|0,S=ft,M=mn,t[M>>2]=n,t[M+4>>2]=S,M=1,P=5642,We=66;break t}else{M=(ve&2049|0)!=0&1,P=(ve&2048|0)==0?(ve&1|0)==0?5642:5644:5643,We=66;break t}case 117:{S=mn,M=0,P=5642,n=t[S>>2]|0,S=t[S+4>>2]|0,We=66;break}case 99:{p[Qt>>0]=t[mn>>2],n=Qt,M=0,P=5642,K=Re,S=1,D=Pe;break}case 109:{S=PI(t[(Fv()|0)>>2]|0)|0,We=71;break}case 115:{S=t[mn>>2]|0,S=S|0?S:5652,We=71;break}case 67:{t[hr>>2]=t[mn>>2],t[Lr>>2]=0,t[mn>>2]=hr,K=-1,S=hr,We=75;break}case 83:{n=t[mn>>2]|0,D?(K=D,S=n,We=75):(hl(e,32,h,0,ve),n=0,We=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{h=BI(e,+U[mn>>3],h,D,ve,S)|0,n=Qe;continue e}default:M=0,P=5642,K=Re,S=D,D=ve}while(0);t:do if((We|0)==61)ve=mn,Ee=t[ve>>2]|0,ve=t[ve+4>>2]|0,K=FI(Ee,ve,Re,S&32)|0,P=(n&8|0)==0|(Ee|0)==0&(ve|0)==0,M=P?0:2,P=P?5642:5642+(S>>4)|0,Pe=n,n=Ee,S=ve,We=67;else if((We|0)==66)K=bv(n,S,Re)|0,Pe=ve,We=67;else if((We|0)==71)We=0,ve=II(S,0,D)|0,Ee=(ve|0)==0,n=S,M=0,P=5642,K=Ee?S+D|0:ve,S=Ee?D:ve-S|0,D=Pe;else if((We|0)==75){for(We=0,P=S,n=0,D=0;M=t[P>>2]|0,!(!M||(D=I8(kr,M)|0,(D|0)<0|D>>>0>(K-n|0)>>>0));)if(n=D+n|0,K>>>0>n>>>0)P=P+4|0;else break;if((D|0)<0){s=-1;break e}if(hl(e,32,h,n,ve),!n)n=0,We=84;else for(M=0;;){if(D=t[S>>2]|0,!D){We=84;break t}if(D=I8(kr,D)|0,M=D+M|0,(M|0)>(n|0)){We=84;break t}if(qo(e,kr,D),M>>>0>=n>>>0){We=84;break}else S=S+4|0}}while(0);if((We|0)==67)We=0,S=(n|0)!=0|(S|0)!=0,ve=(D|0)!=0|S,S=((S^1)&1)+(Fe-K)|0,n=ve?K:Re,K=Re,S=ve?(D|0)>(S|0)?D:S:D,D=(D|0)>-1?Pe&-65537:Pe;else if((We|0)==84){We=0,hl(e,32,h,n,ve^8192),h=(h|0)>(n|0)?h:n,n=Qe;continue}Ee=K-n|0,Pe=(S|0)<(Ee|0)?Ee:S,ve=Pe+M|0,h=(h|0)<(ve|0)?ve:h,hl(e,32,h,ve,D),qo(e,P,M),hl(e,48,h,ve,D^65536),hl(e,48,Pe,Ee,0),qo(e,n,Ee),hl(e,32,h,ve,D^8192),n=Qe}e:do if((We|0)==87&&!e)if(!O)s=0;else{for(s=1;n=t[l+(s<<2)>>2]|0,!!n;)if(P8(u+(s<<3)|0,n,r),s=s+1|0,(s|0)>=10){s=1;break e}for(;;){if(t[l+(s<<2)>>2]|0){s=-1;break e}if(s=s+1|0,(s|0)>=10){s=1;break}}}while(0);return m=On,s|0}function NI(e){return e=e|0,0}function LI(e){e=e|0}function qo(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]&32||YI(n,r,e)|0}function b8(e){e=e|0;var n=0,r=0,u=0;if(r=t[e>>2]|0,u=(p[r>>0]|0)+-48|0,u>>>0<10){n=0;do n=u+(n*10|0)|0,r=r+1|0,t[e>>2]=r,u=(p[r>>0]|0)+-48|0;while(u>>>0<10)}else n=0;return n|0}function P8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;e:do if(n>>>0<=20)do switch(n|0){case 9:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,t[e>>2]=n;break e}case 10:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,u=e,t[u>>2]=n,t[u+4>>2]=((n|0)<0)<<31>>31;break e}case 11:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,u=e,t[u>>2]=n,t[u+4>>2]=0;break e}case 12:{u=(t[r>>2]|0)+(8-1)&~(8-1),n=u,l=t[n>>2]|0,n=t[n+4>>2]|0,t[r>>2]=u+8,u=e,t[u>>2]=l,t[u+4>>2]=n;break e}case 13:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,u=(u&65535)<<16>>16,l=e,t[l>>2]=u,t[l+4>>2]=((u|0)<0)<<31>>31;break e}case 14:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,l=e,t[l>>2]=u&65535,t[l+4>>2]=0;break e}case 15:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,u=(u&255)<<24>>24,l=e,t[l>>2]=u,t[l+4>>2]=((u|0)<0)<<31>>31;break e}case 16:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,l=e,t[l>>2]=u&255,t[l+4>>2]=0;break e}case 17:{l=(t[r>>2]|0)+(8-1)&~(8-1),s=+U[l>>3],t[r>>2]=l+8,U[e>>3]=s;break e}case 18:{l=(t[r>>2]|0)+(8-1)&~(8-1),s=+U[l>>3],t[r>>2]=l+8,U[e>>3]=s;break e}default:break e}while(0);while(0)}function FI(e,n,r,u){if(e=e|0,n=n|0,r=r|0,u=u|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,p[r>>0]=k[5694+(e&15)>>0]|0|u,e=O_(e|0,n|0,4)|0,n=ft;while(!((e|0)==0&(n|0)==0));return r|0}function bI(e,n,r){if(e=e|0,n=n|0,r=r|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,p[r>>0]=e&7|48,e=O_(e|0,n|0,3)|0,n=ft;while(!((e|0)==0&(n|0)==0));return r|0}function bv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;if(n>>>0>0|(n|0)==0&e>>>0>4294967295){for(;u=QE(e|0,n|0,10,0)|0,r=r+-1|0,p[r>>0]=u&255|48,u=e,e=XE(e|0,n|0,10,0)|0,n>>>0>9|(n|0)==9&u>>>0>4294967295;)n=ft;n=e}else n=e;if(n)for(;r=r+-1|0,p[r>>0]=(n>>>0)%10|0|48,!(n>>>0<10);)n=(n>>>0)/10|0;return r|0}function PI(e){return e=e|0,HI(e,t[(qI()|0)+188>>2]|0)|0}function II(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;s=n&255,u=(r|0)!=0;e:do if(u&(e&3|0)!=0)for(l=n&255;;){if((p[e>>0]|0)==l<<24>>24){h=6;break e}if(e=e+1|0,r=r+-1|0,u=(r|0)!=0,!(u&(e&3|0)!=0)){h=5;break}}else h=5;while(0);(h|0)==5&&(u?h=6:r=0);e:do if((h|0)==6&&(l=n&255,(p[e>>0]|0)!=l<<24>>24)){u=nr(s,16843009)|0;t:do if(r>>>0>3){for(;s=t[e>>2]^u,!((s&-2139062144^-2139062144)&s+-16843009|0);)if(e=e+4|0,r=r+-4|0,r>>>0<=3){h=11;break t}}else h=11;while(0);if((h|0)==11&&!r){r=0;break}for(;;){if((p[e>>0]|0)==l<<24>>24)break e;if(e=e+1|0,r=r+-1|0,!r){r=0;break}}}while(0);return(r|0?e:0)|0}function hl(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0;if(h=m,m=m+256|0,s=h,(r|0)>(u|0)&(l&73728|0)==0){if(l=r-u|0,Iv(s|0,n|0,(l>>>0<256?l:256)|0)|0,l>>>0>255){n=r-u|0;do qo(e,s,256),l=l+-256|0;while(l>>>0>255);l=n&255}qo(e,s,l)}m=h}function I8(e,n){return e=e|0,n=n|0,e?e=jI(e,n,0)|0:e=0,e|0}function BI(e,n,r,u,l,s){e=e|0,n=+n,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0,Re=0,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0,Zi=0;Zi=m,m=m+560|0,S=Zi+8|0,Qe=Zi,On=Zi+524|0,kr=On,M=Zi+512|0,t[Qe>>2]=0,hr=M+12|0,B8(n)|0,(ft|0)<0?(n=-n,Nn=1,Lr=5659):(Nn=(l&2049|0)!=0&1,Lr=(l&2048|0)==0?(l&1|0)==0?5660:5665:5662),B8(n)|0,mn=ft&2146435072;do if(mn>>>0<2146435072|(mn|0)==2146435072&0<0){if(Pe=+UI(n,Qe)*2,h=Pe!=0,h&&(t[Qe>>2]=(t[Qe>>2]|0)+-1),st=s|32,(st|0)==97){Ee=s&32,K=(Ee|0)==0?Lr:Lr+9|0,P=Nn|2,h=12-u|0;do if(u>>>0>11|(h|0)==0)n=Pe;else{n=8;do h=h+-1|0,n=n*16;while((h|0)!=0);if((p[K>>0]|0)==45){n=-(n+(-Pe-n));break}else{n=Pe+n-n;break}}while(0);D=t[Qe>>2]|0,h=(D|0)<0?0-D|0:D,h=bv(h,((h|0)<0)<<31>>31,hr)|0,(h|0)==(hr|0)&&(h=M+11|0,p[h>>0]=48),p[h+-1>>0]=(D>>31&2)+43,O=h+-2|0,p[O>>0]=s+15,M=(u|0)<1,S=(l&8|0)==0,h=On;do mn=~~n,D=h+1|0,p[h>>0]=k[5694+mn>>0]|Ee,n=(n-+(mn|0))*16,((D-kr|0)==1?!(S&(M&n==0)):0)?(p[D>>0]=46,h=h+2|0):h=D;while(n!=0);mn=h-kr|0,kr=hr-O|0,hr=(u|0)!=0&(mn+-2|0)<(u|0)?u+2|0:mn,h=kr+P+hr|0,hl(e,32,r,h,l),qo(e,K,P),hl(e,48,r,h,l^65536),qo(e,On,mn),hl(e,48,hr-mn|0,0,0),qo(e,O,kr),hl(e,32,r,h,l^8192);break}D=(u|0)<0?6:u,h?(h=(t[Qe>>2]|0)+-28|0,t[Qe>>2]=h,n=Pe*268435456):(n=Pe,h=t[Qe>>2]|0),mn=(h|0)<0?S:S+288|0,S=mn;do Fe=~~n>>>0,t[S>>2]=Fe,S=S+4|0,n=(n-+(Fe>>>0))*1e9;while(n!=0);if((h|0)>0)for(M=mn,P=S;;){if(O=(h|0)<29?h:29,h=P+-4|0,h>>>0>=M>>>0){S=0;do Re=W8(t[h>>2]|0,0,O|0)|0,Re=KE(Re|0,ft|0,S|0,0)|0,Fe=ft,We=QE(Re|0,Fe|0,1e9,0)|0,t[h>>2]=We,S=XE(Re|0,Fe|0,1e9,0)|0,h=h+-4|0;while(h>>>0>=M>>>0);S&&(M=M+-4|0,t[M>>2]=S)}for(S=P;!(S>>>0<=M>>>0);)if(h=S+-4|0,!(t[h>>2]|0))S=h;else break;if(h=(t[Qe>>2]|0)-O|0,t[Qe>>2]=h,(h|0)>0)P=S;else break}else M=mn;if((h|0)<0){u=((D+25|0)/9|0)+1|0,ve=(st|0)==102;do{if(Ee=0-h|0,Ee=(Ee|0)<9?Ee:9,M>>>0>>0){O=(1<>>Ee,K=0,h=M;do Fe=t[h>>2]|0,t[h>>2]=(Fe>>>Ee)+K,K=nr(Fe&O,P)|0,h=h+4|0;while(h>>>0>>0);h=(t[M>>2]|0)==0?M+4|0:M,K?(t[S>>2]=K,M=h,h=S+4|0):(M=h,h=S)}else M=(t[M>>2]|0)==0?M+4|0:M,h=S;S=ve?mn:M,S=(h-S>>2|0)>(u|0)?S+(u<<2)|0:h,h=(t[Qe>>2]|0)+Ee|0,t[Qe>>2]=h}while((h|0)<0);h=M,u=S}else h=M,u=S;if(Fe=mn,h>>>0>>0){if(S=(Fe-h>>2)*9|0,O=t[h>>2]|0,O>>>0>=10){M=10;do M=M*10|0,S=S+1|0;while(O>>>0>=M>>>0)}}else S=0;if(ve=(st|0)==103,We=(D|0)!=0,M=D-((st|0)!=102?S:0)+((We&ve)<<31>>31)|0,(M|0)<(((u-Fe>>2)*9|0)+-9|0)){if(M=M+9216|0,Ee=mn+4+(((M|0)/9|0)+-1024<<2)|0,M=((M|0)%9|0)+1|0,(M|0)<9){O=10;do O=O*10|0,M=M+1|0;while((M|0)!=9)}else O=10;if(P=t[Ee>>2]|0,K=(P>>>0)%(O>>>0)|0,M=(Ee+4|0)==(u|0),M&(K|0)==0)M=Ee;else if(Pe=(((P>>>0)/(O>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,Re=(O|0)/2|0,n=K>>>0>>0?.5:M&(K|0)==(Re|0)?1:1.5,Nn&&(Re=(p[Lr>>0]|0)==45,n=Re?-n:n,Pe=Re?-Pe:Pe),M=P-K|0,t[Ee>>2]=M,Pe+n!=Pe){if(Re=M+O|0,t[Ee>>2]=Re,Re>>>0>999999999)for(S=Ee;M=S+-4|0,t[S>>2]=0,M>>>0>>0&&(h=h+-4|0,t[h>>2]=0),Re=(t[M>>2]|0)+1|0,t[M>>2]=Re,Re>>>0>999999999;)S=M;else M=Ee;if(S=(Fe-h>>2)*9|0,P=t[h>>2]|0,P>>>0>=10){O=10;do O=O*10|0,S=S+1|0;while(P>>>0>=O>>>0)}}else M=Ee;M=M+4|0,M=u>>>0>M>>>0?M:u,Re=h}else M=u,Re=h;for(st=M;;){if(st>>>0<=Re>>>0){Qe=0;break}if(h=st+-4|0,!(t[h>>2]|0))st=h;else{Qe=1;break}}u=0-S|0;do if(ve)if(h=((We^1)&1)+D|0,(h|0)>(S|0)&(S|0)>-5?(O=s+-1|0,D=h+-1-S|0):(O=s+-2|0,D=h+-1|0),h=l&8,h)Ee=h;else{if(Qe?(Qt=t[st+-4>>2]|0,(Qt|0)!=0):0)if((Qt>>>0)%10|0)M=0;else{M=0,h=10;do h=h*10|0,M=M+1|0;while(!((Qt>>>0)%(h>>>0)|0|0))}else M=9;if(h=((st-Fe>>2)*9|0)+-9|0,(O|32|0)==102){Ee=h-M|0,Ee=(Ee|0)>0?Ee:0,D=(D|0)<(Ee|0)?D:Ee,Ee=0;break}else{Ee=h+S-M|0,Ee=(Ee|0)>0?Ee:0,D=(D|0)<(Ee|0)?D:Ee,Ee=0;break}}else O=s,Ee=l&8;while(0);if(ve=D|Ee,P=(ve|0)!=0&1,K=(O|32|0)==102,K)We=0,h=(S|0)>0?S:0;else{if(h=(S|0)<0?u:S,h=bv(h,((h|0)<0)<<31>>31,hr)|0,M=hr,(M-h|0)<2)do h=h+-1|0,p[h>>0]=48;while((M-h|0)<2);p[h+-1>>0]=(S>>31&2)+43,h=h+-2|0,p[h>>0]=O,We=h,h=M-h|0}if(h=Nn+1+D+P+h|0,hl(e,32,r,h,l),qo(e,Lr,Nn),hl(e,48,r,h,l^65536),K){O=Re>>>0>mn>>>0?mn:Re,Ee=On+9|0,P=Ee,K=On+8|0,M=O;do{if(S=bv(t[M>>2]|0,0,Ee)|0,(M|0)==(O|0))(S|0)==(Ee|0)&&(p[K>>0]=48,S=K);else if(S>>>0>On>>>0){Iv(On|0,48,S-kr|0)|0;do S=S+-1|0;while(S>>>0>On>>>0)}qo(e,S,P-S|0),M=M+4|0}while(M>>>0<=mn>>>0);if(ve|0&&qo(e,5710,1),M>>>0>>0&(D|0)>0)for(;;){if(S=bv(t[M>>2]|0,0,Ee)|0,S>>>0>On>>>0){Iv(On|0,48,S-kr|0)|0;do S=S+-1|0;while(S>>>0>On>>>0)}if(qo(e,S,(D|0)<9?D:9),M=M+4|0,S=D+-9|0,M>>>0>>0&(D|0)>9)D=S;else{D=S;break}}hl(e,48,D+9|0,9,0)}else{if(ve=Qe?st:Re+4|0,(D|0)>-1){Qe=On+9|0,Ee=(Ee|0)==0,u=Qe,P=0-kr|0,K=On+8|0,O=Re;do{S=bv(t[O>>2]|0,0,Qe)|0,(S|0)==(Qe|0)&&(p[K>>0]=48,S=K);do if((O|0)==(Re|0)){if(M=S+1|0,qo(e,S,1),Ee&(D|0)<1){S=M;break}qo(e,5710,1),S=M}else{if(S>>>0<=On>>>0)break;Iv(On|0,48,S+P|0)|0;do S=S+-1|0;while(S>>>0>On>>>0)}while(0);kr=u-S|0,qo(e,S,(D|0)>(kr|0)?kr:D),D=D-kr|0,O=O+4|0}while(O>>>0>>0&(D|0)>-1)}hl(e,48,D+18|0,18,0),qo(e,We,hr-We|0)}hl(e,32,r,h,l^8192)}else On=(s&32|0)!=0,h=Nn+3|0,hl(e,32,r,h,l&-65537),qo(e,Lr,Nn),qo(e,n!=n|!1?On?5686:5690:On?5678:5682,3),hl(e,32,r,h,l^8192);while(0);return m=Zi,((h|0)<(r|0)?r:h)|0}function B8(e){e=+e;var n=0;return U[W>>3]=e,n=t[W>>2]|0,ft=t[W+4>>2]|0,n|0}function UI(e,n){return e=+e,n=n|0,+ +U8(e,n)}function U8(e,n){e=+e,n=n|0;var r=0,u=0,l=0;switch(U[W>>3]=e,r=t[W>>2]|0,u=t[W+4>>2]|0,l=O_(r|0,u|0,52)|0,l&2047){case 0:{e!=0?(e=+U8(e*18446744073709552e3,n),r=(t[n>>2]|0)+-64|0):r=0,t[n>>2]=r;break}case 2047:break;default:t[n>>2]=(l&2047)+-1022,t[W>>2]=r,t[W+4>>2]=u&-2146435073|1071644672,e=+U[W>>3]}return+e}function jI(e,n,r){e=e|0,n=n|0,r=r|0;do if(e){if(n>>>0<128){p[e>>0]=n,e=1;break}if(!(t[t[(zI()|0)+188>>2]>>2]|0))if((n&-128|0)==57216){p[e>>0]=n,e=1;break}else{t[(Fv()|0)>>2]=84,e=-1;break}if(n>>>0<2048){p[e>>0]=n>>>6|192,p[e+1>>0]=n&63|128,e=2;break}if(n>>>0<55296|(n&-8192|0)==57344){p[e>>0]=n>>>12|224,p[e+1>>0]=n>>>6&63|128,p[e+2>>0]=n&63|128,e=3;break}if((n+-65536|0)>>>0<1048576){p[e>>0]=n>>>18|240,p[e+1>>0]=n>>>12&63|128,p[e+2>>0]=n>>>6&63|128,p[e+3>>0]=n&63|128,e=4;break}else{t[(Fv()|0)>>2]=84,e=-1;break}}else e=1;while(0);return e|0}function zI(){return VE()|0}function qI(){return VE()|0}function HI(e,n){e=e|0,n=n|0;var r=0,u=0;for(u=0;;){if((k[5712+u>>0]|0)==(e|0)){e=2;break}if(r=u+1|0,(r|0)==87){r=5800,u=87,e=5;break}else u=r}if((e|0)==2&&(u?(r=5800,e=5):r=5800),(e|0)==5)for(;;){do e=r,r=r+1|0;while((p[e>>0]|0)!=0);if(u=u+-1|0,u)e=5;else break}return WI(r,t[n+20>>2]|0)|0}function WI(e,n){return e=e|0,n=n|0,VI(e,n)|0}function VI(e,n){return e=e|0,n=n|0,n?n=GI(t[n>>2]|0,t[n+4>>2]|0,e)|0:n=0,(n|0?n:e)|0}function GI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;K=(t[e>>2]|0)+1794895138|0,s=Gp(t[e+8>>2]|0,K)|0,u=Gp(t[e+12>>2]|0,K)|0,l=Gp(t[e+16>>2]|0,K)|0;e:do if((s>>>0>>2>>>0?(P=n-(s<<2)|0,u>>>0

>>0&l>>>0

>>0):0)?((l|u)&3|0)==0:0){for(P=u>>>2,O=l>>>2,M=0;;){if(D=s>>>1,S=M+D|0,h=S<<1,l=h+P|0,u=Gp(t[e+(l<<2)>>2]|0,K)|0,l=Gp(t[e+(l+1<<2)>>2]|0,K)|0,!(l>>>0>>0&u>>>0<(n-l|0)>>>0)){u=0;break e}if(p[e+(l+u)>>0]|0){u=0;break e}if(u=L8(r,e+l|0)|0,!u)break;if(u=(u|0)<0,(s|0)==1){u=0;break e}else M=u?M:S,s=u?D:s-D|0}u=h+O|0,l=Gp(t[e+(u<<2)>>2]|0,K)|0,u=Gp(t[e+(u+1<<2)>>2]|0,K)|0,u>>>0>>0&l>>>0<(n-u|0)>>>0?u=(p[e+(u+l)>>0]|0)==0?e+u|0:0:u=0}else u=0;while(0);return u|0}function Gp(e,n){e=e|0,n=n|0;var r=0;return r=Y8(e|0)|0,((n|0)==0?e:r)|0}function YI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=r+16|0,l=t[u>>2]|0,l?s=5:KI(r)|0?u=0:(l=t[u>>2]|0,s=5);e:do if((s|0)==5){if(D=r+20|0,h=t[D>>2]|0,u=h,(l-h|0)>>>0>>0){u=M_[t[r+36>>2]&7](r,e,n)|0;break}t:do if((p[r+75>>0]|0)>-1){for(h=n;;){if(!h){s=0,l=e;break t}if(l=h+-1|0,(p[e+l>>0]|0)==10)break;h=l}if(u=M_[t[r+36>>2]&7](r,e,h)|0,u>>>0>>0)break e;s=h,l=e+h|0,n=n-h|0,u=t[D>>2]|0}else s=0,l=e;while(0);pr(u|0,l|0,n|0)|0,t[D>>2]=(t[D>>2]|0)+n,u=s+n|0}while(0);return u|0}function KI(e){e=e|0;var n=0,r=0;return n=e+74|0,r=p[n>>0]|0,p[n>>0]=r+255|r,n=t[e>>2]|0,n&8?(t[e>>2]=n|32,e=-1):(t[e+8>>2]=0,t[e+4>>2]=0,r=t[e+44>>2]|0,t[e+28>>2]=r,t[e+20>>2]=r,t[e+16>>2]=r+(t[e+48>>2]|0),e=0),e|0}function Eu(e,n){e=w(e),n=w(n);var r=0,u=0;r=j8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(u=j8(n)|0,(u&2147483647)>>>0<=2139095040)if((u^r|0)<0){e=(r|0)<0?n:e;break}else{e=e>2]=e,t[W>>2]|0|0}function Yp(e,n){e=w(e),n=w(n);var r=0,u=0;r=z8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(u=z8(n)|0,(u&2147483647)>>>0<=2139095040)if((u^r|0)<0){e=(r|0)<0?e:n;break}else{e=e>2]=e,t[W>>2]|0|0}function YE(e,n){e=w(e),n=w(n);var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0;s=(C[W>>2]=e,t[W>>2]|0),D=(C[W>>2]=n,t[W>>2]|0),r=s>>>23&255,h=D>>>23&255,S=s&-2147483648,l=D<<1;e:do if((l|0)!=0?!((r|0)==255|((XI(n)|0)&2147483647)>>>0>2139095040):0){if(u=s<<1,u>>>0<=l>>>0)return n=w(e*w(0)),w((u|0)==(l|0)?n:e);if(r)u=s&8388607|8388608;else{if(r=s<<9,(r|0)>-1){u=r,r=0;do r=r+-1|0,u=u<<1;while((u|0)>-1)}else r=0;u=s<<1-r}if(h)D=D&8388607|8388608;else{if(s=D<<9,(s|0)>-1){l=0;do l=l+-1|0,s=s<<1;while((s|0)>-1)}else l=0;h=l,D=D<<1-l}l=u-D|0,s=(l|0)>-1;t:do if((r|0)>(h|0)){for(;;){if(s)if(l)u=l;else break;if(u=u<<1,r=r+-1|0,l=u-D|0,s=(l|0)>-1,(r|0)<=(h|0))break t}n=w(e*w(0));break e}while(0);if(s)if(l)u=l;else{n=w(e*w(0));break}if(u>>>0<8388608)do u=u<<1,r=r+-1|0;while(u>>>0<8388608);(r|0)>0?r=u+-8388608|r<<23:r=u>>>(1-r|0),n=(t[W>>2]=r|S,w(C[W>>2]))}else M=3;while(0);return(M|0)==3&&(n=w(e*n),n=w(n/n)),w(n)}function XI(e){return e=w(e),C[W>>2]=e,t[W>>2]|0|0}function QI(e,n){return e=e|0,n=n|0,F8(t[582]|0,e,n)|0}function li(e){e=e|0,Xn()}function Pv(e){e=e|0}function JI(e,n){return e=e|0,n=n|0,0}function ZI(e){return e=e|0,(q8(e+4|0)|0)==-1?(M1[t[(t[e>>2]|0)+8>>2]&127](e),e=1):e=0,e|0}function q8(e){e=e|0;var n=0;return n=t[e>>2]|0,t[e>>2]=n+-1,n+-1|0}function J2(e){e=e|0,ZI(e)|0&&$I(e)}function $I(e){e=e|0;var n=0;n=e+8|0,((t[n>>2]|0)!=0?(q8(n)|0)!=-1:0)||M1[t[(t[e>>2]|0)+16>>2]&127](e)}function cn(e){e=e|0;var n=0;for(n=(e|0)==0?1:e;e=C_(n)|0,!(e|0);){if(e=tB()|0,!e){e=0;break}rS[e&0]()}return e|0}function H8(e){return e=e|0,cn(e)|0}function yt(e){e=e|0,x_(e)}function eB(e){e=e|0,(p[e+11>>0]|0)<0&&yt(t[e>>2]|0)}function tB(){var e=0;return e=t[2923]|0,t[2923]=e+0,e|0}function nB(){}function R_(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,u=n-u-(r>>>0>e>>>0|0)>>>0,ft=u,e-r>>>0|0|0}function KE(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,r=e+r>>>0,ft=n+u+(r>>>0>>0|0)>>>0,r|0|0}function Iv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;if(s=e+r|0,n=n&255,(r|0)>=67){for(;e&3;)p[e>>0]=n,e=e+1|0;for(u=s&-4|0,l=u-64|0,h=n|n<<8|n<<16|n<<24;(e|0)<=(l|0);)t[e>>2]=h,t[e+4>>2]=h,t[e+8>>2]=h,t[e+12>>2]=h,t[e+16>>2]=h,t[e+20>>2]=h,t[e+24>>2]=h,t[e+28>>2]=h,t[e+32>>2]=h,t[e+36>>2]=h,t[e+40>>2]=h,t[e+44>>2]=h,t[e+48>>2]=h,t[e+52>>2]=h,t[e+56>>2]=h,t[e+60>>2]=h,e=e+64|0;for(;(e|0)<(u|0);)t[e>>2]=h,e=e+4|0}for(;(e|0)<(s|0);)p[e>>0]=n,e=e+1|0;return s-r|0}function W8(e,n,r){return e=e|0,n=n|0,r=r|0,(r|0)<32?(ft=n<>>32-r,e<>>r,e>>>r|(n&(1<>>r-32|0)}function pr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;if((r|0)>=8192)return ni(e|0,n|0,r|0)|0;if(s=e|0,l=e+r|0,(e&3)==(n&3)){for(;e&3;){if(!r)return s|0;p[e>>0]=p[n>>0]|0,e=e+1|0,n=n+1|0,r=r-1|0}for(r=l&-4|0,u=r-64|0;(e|0)<=(u|0);)t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2],t[e+16>>2]=t[n+16>>2],t[e+20>>2]=t[n+20>>2],t[e+24>>2]=t[n+24>>2],t[e+28>>2]=t[n+28>>2],t[e+32>>2]=t[n+32>>2],t[e+36>>2]=t[n+36>>2],t[e+40>>2]=t[n+40>>2],t[e+44>>2]=t[n+44>>2],t[e+48>>2]=t[n+48>>2],t[e+52>>2]=t[n+52>>2],t[e+56>>2]=t[n+56>>2],t[e+60>>2]=t[n+60>>2],e=e+64|0,n=n+64|0;for(;(e|0)<(r|0);)t[e>>2]=t[n>>2],e=e+4|0,n=n+4|0}else for(r=l-4|0;(e|0)<(r|0);)p[e>>0]=p[n>>0]|0,p[e+1>>0]=p[n+1>>0]|0,p[e+2>>0]=p[n+2>>0]|0,p[e+3>>0]=p[n+3>>0]|0,e=e+4|0,n=n+4|0;for(;(e|0)<(l|0);)p[e>>0]=p[n>>0]|0,e=e+1|0,n=n+1|0;return s|0}function V8(e){e=e|0;var n=0;return n=p[Se+(e&255)>>0]|0,(n|0)<8?n|0:(n=p[Se+(e>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=p[Se+(e>>16&255)>>0]|0,(n|0)<8?n+16|0:(p[Se+(e>>>24)>>0]|0)+24|0))}function G8(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0;if(O=e,S=n,M=S,h=r,K=u,D=K,!M)return s=(l|0)!=0,D?s?(t[l>>2]=e|0,t[l+4>>2]=n&0,K=0,l=0,ft=K,l|0):(K=0,l=0,ft=K,l|0):(s&&(t[l>>2]=(O>>>0)%(h>>>0),t[l+4>>2]=0),K=0,l=(O>>>0)/(h>>>0)>>>0,ft=K,l|0);s=(D|0)==0;do if(h){if(!s){if(s=(vr(D|0)|0)-(vr(M|0)|0)|0,s>>>0<=31){P=s+1|0,D=31-s|0,n=s-31>>31,h=P,e=O>>>(P>>>0)&n|M<>>(P>>>0)&n,s=0,D=O<>2]=e|0,t[l+4>>2]=S|n&0,K=0,l=0,ft=K,l|0):(K=0,l=0,ft=K,l|0)}if(s=h-1|0,s&h|0){D=(vr(h|0)|0)+33-(vr(M|0)|0)|0,Ee=64-D|0,P=32-D|0,S=P>>31,Pe=D-32|0,n=Pe>>31,h=D,e=P-1>>31&M>>>(Pe>>>0)|(M<>>(D>>>0))&n,n=n&M>>>(D>>>0),s=O<>>(Pe>>>0))&S|O<>31;break}return l|0&&(t[l>>2]=s&O,t[l+4>>2]=0),(h|0)==1?(Pe=S|n&0,Ee=e|0|0,ft=Pe,Ee|0):(Ee=V8(h|0)|0,Pe=M>>>(Ee>>>0)|0,Ee=M<<32-Ee|O>>>(Ee>>>0)|0,ft=Pe,Ee|0)}else{if(s)return l|0&&(t[l>>2]=(M>>>0)%(h>>>0),t[l+4>>2]=0),Pe=0,Ee=(M>>>0)/(h>>>0)>>>0,ft=Pe,Ee|0;if(!O)return l|0&&(t[l>>2]=0,t[l+4>>2]=(M>>>0)%(D>>>0)),Pe=0,Ee=(M>>>0)/(D>>>0)>>>0,ft=Pe,Ee|0;if(s=D-1|0,!(s&D))return l|0&&(t[l>>2]=e|0,t[l+4>>2]=s&M|n&0),Pe=0,Ee=M>>>((V8(D|0)|0)>>>0),ft=Pe,Ee|0;if(s=(vr(D|0)|0)-(vr(M|0)|0)|0,s>>>0<=30){n=s+1|0,D=31-s|0,h=n,e=M<>>(n>>>0),n=M>>>(n>>>0),s=0,D=O<>2]=e|0,t[l+4>>2]=S|n&0,Pe=0,Ee=0,ft=Pe,Ee|0):(Pe=0,Ee=0,ft=Pe,Ee|0)}while(0);if(!h)M=D,S=0,D=0;else{P=r|0|0,O=K|u&0,M=KE(P|0,O|0,-1,-1)|0,r=ft,S=D,D=0;do u=S,S=s>>>31|S<<1,s=D|s<<1,u=e<<1|u>>>31|0,K=e>>>31|n<<1|0,R_(M|0,r|0,u|0,K|0)|0,Ee=ft,Pe=Ee>>31|((Ee|0)<0?-1:0)<<1,D=Pe&1,e=R_(u|0,K|0,Pe&P|0,(((Ee|0)<0?-1:0)>>31|((Ee|0)<0?-1:0)<<1)&O|0)|0,n=ft,h=h-1|0;while((h|0)!=0);M=S,S=0}return h=0,l|0&&(t[l>>2]=e,t[l+4>>2]=n),Pe=(s|0)>>>31|(M|h)<<1|(h<<1|s>>>31)&0|S,Ee=(s<<1|0>>>31)&-2|D,ft=Pe,Ee|0}function XE(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,G8(e,n,r,u,0)|0}function Z2(e){e=e|0;var n=0,r=0;return r=e+15&-16|0,n=t[q>>2]|0,e=n+r|0,(r|0)>0&(e|0)<(n|0)|(e|0)<0?(ur()|0,Vl(12),-1):(t[q>>2]=e,((e|0)>(Fr()|0)?(fr()|0)==0:0)?(t[q>>2]=n,Vl(12),-1):n|0)}function Iy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;if((n|0)<(e|0)&(e|0)<(n+r|0)){for(u=e,n=n+r|0,e=e+r|0;(r|0)>0;)e=e-1|0,n=n-1|0,r=r-1|0,p[e>>0]=p[n>>0]|0;e=u}else pr(e,n,r)|0;return e|0}function QE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;return s=m,m=m+16|0,l=s|0,G8(e,n,r,u,l)|0,m=s,ft=t[l+4>>2]|0,t[l>>2]|0|0}function Y8(e){return e=e|0,(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function rB(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,K8[e&1](n|0,r|0,u|0,l|0,s|0)}function iB(e,n,r){e=e|0,n=n|0,r=w(r),X8[e&1](n|0,w(r))}function uB(e,n,r){e=e|0,n=n|0,r=+r,Q8[e&31](n|0,+r)}function oB(e,n,r,u){return e=e|0,n=n|0,r=w(r),u=w(u),w(J8[e&0](n|0,w(r),w(u)))}function lB(e,n){e=e|0,n=n|0,M1[e&127](n|0)}function sB(e,n,r){e=e|0,n=n|0,r=r|0,N1[e&31](n|0,r|0)}function aB(e,n){return e=e|0,n=n|0,Xp[e&31](n|0)|0}function fB(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0,Z8[e&1](n|0,+r,+u,l|0)}function cB(e,n,r,u){e=e|0,n=n|0,r=+r,u=+u,VB[e&1](n|0,+r,+u)}function dB(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,M_[e&7](n|0,r|0,u|0)|0}function pB(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,+GB[e&1](n|0,r|0,u|0)}function hB(e,n){return e=e|0,n=n|0,+$8[e&15](n|0)}function vB(e,n,r){return e=e|0,n=n|0,r=+r,YB[e&1](n|0,+r)|0}function mB(e,n,r){return e=e|0,n=n|0,r=r|0,ZE[e&15](n|0,r|0)|0}function yB(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=+u,l=+l,s=s|0,KB[e&1](n|0,r|0,+u,+l,s|0)}function gB(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,XB[e&1](n|0,r|0,u|0,l|0,s|0,h|0)}function _B(e,n,r){return e=e|0,n=n|0,r=r|0,+eS[e&7](n|0,r|0)}function EB(e){return e=e|0,N_[e&7]()|0}function DB(e,n,r,u,l,s){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,tS[e&1](n|0,r|0,u|0,l|0,s|0)|0}function wB(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=+l,QB[e&1](n|0,r|0,u|0,+l)}function SB(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=w(u),l=l|0,s=w(s),h=h|0,nS[e&1](n|0,r|0,w(u),l|0,w(s),h|0)}function TB(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,jy[e&15](n|0,r|0,u|0)}function CB(e){e=e|0,rS[e&0]()}function xB(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u,iS[e&15](n|0,r|0,+u)}function AB(e,n,r){return e=e|0,n=+n,r=+r,JB[e&1](+n,+r)|0}function RB(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,$E[e&15](n|0,r|0,u|0,l|0)}function OB(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,Ut(0)}function kB(e,n){e=e|0,n=w(n),Ut(1)}function Ks(e,n){e=e|0,n=+n,Ut(2)}function MB(e,n,r){return e=e|0,n=w(n),r=w(r),Ut(3),St}function Kn(e){e=e|0,Ut(4)}function By(e,n){e=e|0,n=n|0,Ut(5)}function xa(e){return e=e|0,Ut(6),0}function NB(e,n,r,u){e=e|0,n=+n,r=+r,u=u|0,Ut(7)}function LB(e,n,r){e=e|0,n=+n,r=+r,Ut(8)}function FB(e,n,r){return e=e|0,n=n|0,r=r|0,Ut(9),0}function bB(e,n,r){return e=e|0,n=n|0,r=r|0,Ut(10),0}function Kp(e){return e=e|0,Ut(11),0}function PB(e,n){return e=e|0,n=+n,Ut(12),0}function Uy(e,n){return e=e|0,n=n|0,Ut(13),0}function IB(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0,Ut(14)}function BB(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,Ut(15)}function JE(e,n){return e=e|0,n=n|0,Ut(16),0}function UB(){return Ut(17),0}function jB(e,n,r,u,l){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,Ut(18),0}function zB(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u,Ut(19)}function qB(e,n,r,u,l,s){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=s|0,Ut(20)}function k_(e,n,r){e=e|0,n=n|0,r=r|0,Ut(21)}function HB(){Ut(22)}function Bv(e,n,r){e=e|0,n=n|0,r=+r,Ut(23)}function WB(e,n){return e=+e,n=+n,Ut(24),0}function Uv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,Ut(25)}var K8=[OB,UL],X8=[kB,Ju],Q8=[Ks,ua,ys,gs,Ql,Io,hf,tl,Ia,Zu,vf,jc,lc,Sl,_s,oa,n2,la,sc,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks],J8=[MB],M1=[Kn,Pv,an,$l,go,Lf,x1,Fl,hN,vN,mN,xL,AL,RL,XP,QP,JP,Ne,uc,La,ju,U0,hh,yf,$c,Af,pa,Rh,Sm,h1,v1,Xh,pp,M2,Gm,D1,Sc,ry,oy,Sv,Av,rn,Q4,lE,h_,Nt,_u,Qu,RO,WO,ak,Ak,qk,aM,_M,wM,UM,qM,uN,gN,DN,BN,nL,v2,BF,vb,kb,Vb,pP,RP,UP,qP,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn],N1=[By,gd,$1,Uc,Dl,el,_d,Bs,wl,Fa,ba,Pa,Tl,Be,ut,Jt,jn,ti,tr,Ba,Dd,mh,fE,vE,Mk,zF,fL,g8,By,By,By,By],Xp=[xa,xI,pf,y,J,fe,mt,Ct,Mt,Er,iu,j0,Ua,r2,Vc,Cs,Gk,zN,VF,Sa,xa,xa,xa,xa,xa,xa,xa,xa,xa,xa,xa,xa],Z8=[NB,Td],VB=[LB,sN],M_=[FB,N8,AI,kI,zh,dv,NO,Xb],GB=[bB,lv],$8=[Kp,e0,He,ii,vh,il,sa,Cd,xd,ac,Kp,Kp,Kp,Kp,Kp,Kp],YB=[PB,mM],ZE=[Uy,JI,Ed,ll,zd,Nm,ap,Cp,ly,xr,bo,Fb,Uy,Uy,Uy,Uy],KB=[IB,Sh],XB=[BB,yP],eS=[JE,qi,Ad,a2,Gc,cl,JE,JE],N_=[UB,Yc,to,g0,xM,GM,CN,GP],tS=[jB,ei],QB=[zB,Dy],nS=[qB,i2],jy=[k_,A,$u,jr,gu,d1,k2,ir,Cy,po,aF,_b,NP,k_,k_,k_],rS=[HB],iS=[Bv,e2,ho,t2,Po,zc,bi,g,Ip,KO,dM,Bv,Bv,Bv,Bv,Bv],JB=[WB,dN],$E=[Uv,_p,Rc,pk,tM,NM,ZM,NN,lL,JF,rI,Uv,Uv,Uv,Uv,Uv];return{_llvm_bswap_i32:Y8,dynCall_idd:AB,dynCall_i:EB,_i64Subtract:R_,___udivdi3:XE,dynCall_vif:iB,setThrew:fs,dynCall_viii:TB,_bitshift64Lshr:O_,_bitshift64Shl:W8,dynCall_vi:lB,dynCall_viiddi:yB,dynCall_diii:pB,dynCall_iii:mB,_memset:Iv,_sbrk:Z2,_memcpy:pr,__GLOBAL__sub_I_Yoga_cpp:Qi,dynCall_vii:sB,___uremdi3:QE,dynCall_vid:uB,stackAlloc:so,_nbind_init:hI,getTempRet0:X,dynCall_di:hB,dynCall_iid:vB,setTempRet0:P0,_i64Add:KE,dynCall_fiff:oB,dynCall_iiii:dB,_emscripten_get_global_libc:CI,dynCall_viid:xB,dynCall_viiid:wB,dynCall_viififi:SB,dynCall_ii:aB,__GLOBAL__sub_I_Binding_cc:kF,dynCall_viiii:RB,dynCall_iiiiii:DB,stackSave:Jo,dynCall_viiiii:rB,__GLOBAL__sub_I_nbind_cc:Us,dynCall_vidd:cB,_free:x_,runPostSets:nB,dynCall_viiiiii:gB,establishStackSpace:Fu,_memmove:Iy,stackRestore:Gl,_malloc:C_,__GLOBAL__sub_I_common_cc:XN,dynCall_viddi:fB,dynCall_dii:_B,dynCall_v:CB}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function i(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=i)},Module.callMain=Module.callMain=function(o){o=o||[],ensureInitRuntime();var f=o.length+1;function p(){for(var N=0;N<4-1;N++)E.push(0)}var E=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];p();for(var t=0;t0||(preRun(),runDependencies>0)||Module.calledRun)return;function o(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(i),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),o()},1)):o()}Module.run=Module.run=run;function exit(i,o){o&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=i,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(i)),ENVIRONMENT_IS_NODE&&process.exit(i),Module.quit(i,new ExitStatus(i)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(i){Module.onAbort&&Module.onAbort(i),i!==void 0?(Module.print(i),Module.printErr(i),i=JSON.stringify(i)):i="",ABORT=!0,EXITSTATUS=1;var o=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,f="abort("+i+") at "+stackTrace()+o;throw abortDecorators&&abortDecorators.forEach(function(p){f=p(f,i)}),f}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var eh=ce((Wne,O9)=>{"use strict";var tX=A9(),nX=R9(),hw=!1,vw=null;nX({},function(i,o){if(!hw){if(hw=!0,i)throw i;vw=o}});if(!hw)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");O9.exports=tX(vw.bind,vw.lib)});var M9=ce((Vne,k9)=>{"use strict";k9.exports=({onlyFirst:i=!1}={})=>{let o=["[\\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(o,i?void 0:"g")}});var mw=ce((Gne,N9)=>{"use strict";var rX=M9();N9.exports=i=>typeof i=="string"?i.replace(rX(),""):i});var gw=ce((Yne,yw)=>{"use strict";var L9=i=>Number.isNaN(i)?!1:i>=4352&&(i<=4447||i===9001||i===9002||11904<=i&&i<=12871&&i!==12351||12880<=i&&i<=19903||19968<=i&&i<=42182||43360<=i&&i<=43388||44032<=i&&i<=55203||63744<=i&&i<=64255||65040<=i&&i<=65049||65072<=i&&i<=65131||65281<=i&&i<=65376||65504<=i&&i<=65510||110592<=i&&i<=110593||127488<=i&&i<=127569||131072<=i&&i<=262141);yw.exports=L9;yw.exports.default=L9});var b9=ce((Kne,F9)=>{"use strict";F9.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var m4=ce((Xne,_w)=>{"use strict";var iX=mw(),uX=gw(),oX=b9(),P9=i=>{if(i=i.replace(oX()," "),typeof i!="string"||i.length===0)return 0;i=iX(i);let o=0;for(let f=0;f=127&&p<=159||p>=768&&p<=879||(p>65535&&f++,o+=uX(p)?2:1)}return o};_w.exports=P9;_w.exports.default=P9});var Dw=ce((Qne,Ew)=>{"use strict";var lX=m4(),I9=i=>{let o=0;for(let f of i.split(` +`))o=Math.max(o,lX(f));return o};Ew.exports=I9;Ew.exports.default=I9});var B9=ce(vg=>{"use strict";var sX=vg&&vg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(vg,"__esModule",{value:!0});var aX=sX(Dw()),ww={};vg.default=i=>{if(i.length===0)return{width:0,height:0};if(ww[i])return ww[i];let o=aX.default(i),f=i.split(` +`).length;return ww[i]={width:o,height:f},{width:o,height:f}}});var U9=ce(mg=>{"use strict";var fX=mg&&mg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(mg,"__esModule",{value:!0});var Ii=fX(eh()),cX=(i,o)=>{"position"in o&&i.setPositionType(o.position==="absolute"?Ii.default.POSITION_TYPE_ABSOLUTE:Ii.default.POSITION_TYPE_RELATIVE)},dX=(i,o)=>{"marginLeft"in o&&i.setMargin(Ii.default.EDGE_START,o.marginLeft||0),"marginRight"in o&&i.setMargin(Ii.default.EDGE_END,o.marginRight||0),"marginTop"in o&&i.setMargin(Ii.default.EDGE_TOP,o.marginTop||0),"marginBottom"in o&&i.setMargin(Ii.default.EDGE_BOTTOM,o.marginBottom||0)},pX=(i,o)=>{"paddingLeft"in o&&i.setPadding(Ii.default.EDGE_LEFT,o.paddingLeft||0),"paddingRight"in o&&i.setPadding(Ii.default.EDGE_RIGHT,o.paddingRight||0),"paddingTop"in o&&i.setPadding(Ii.default.EDGE_TOP,o.paddingTop||0),"paddingBottom"in o&&i.setPadding(Ii.default.EDGE_BOTTOM,o.paddingBottom||0)},hX=(i,o)=>{var f;"flexGrow"in o&&i.setFlexGrow((f=o.flexGrow)!==null&&f!==void 0?f:0),"flexShrink"in o&&i.setFlexShrink(typeof o.flexShrink=="number"?o.flexShrink:1),"flexDirection"in o&&(o.flexDirection==="row"&&i.setFlexDirection(Ii.default.FLEX_DIRECTION_ROW),o.flexDirection==="row-reverse"&&i.setFlexDirection(Ii.default.FLEX_DIRECTION_ROW_REVERSE),o.flexDirection==="column"&&i.setFlexDirection(Ii.default.FLEX_DIRECTION_COLUMN),o.flexDirection==="column-reverse"&&i.setFlexDirection(Ii.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in o&&(typeof o.flexBasis=="number"?i.setFlexBasis(o.flexBasis):typeof o.flexBasis=="string"?i.setFlexBasisPercent(Number.parseInt(o.flexBasis,10)):i.setFlexBasis(NaN)),"alignItems"in o&&((o.alignItems==="stretch"||!o.alignItems)&&i.setAlignItems(Ii.default.ALIGN_STRETCH),o.alignItems==="flex-start"&&i.setAlignItems(Ii.default.ALIGN_FLEX_START),o.alignItems==="center"&&i.setAlignItems(Ii.default.ALIGN_CENTER),o.alignItems==="flex-end"&&i.setAlignItems(Ii.default.ALIGN_FLEX_END)),"alignSelf"in o&&((o.alignSelf==="auto"||!o.alignSelf)&&i.setAlignSelf(Ii.default.ALIGN_AUTO),o.alignSelf==="flex-start"&&i.setAlignSelf(Ii.default.ALIGN_FLEX_START),o.alignSelf==="center"&&i.setAlignSelf(Ii.default.ALIGN_CENTER),o.alignSelf==="flex-end"&&i.setAlignSelf(Ii.default.ALIGN_FLEX_END)),"justifyContent"in o&&((o.justifyContent==="flex-start"||!o.justifyContent)&&i.setJustifyContent(Ii.default.JUSTIFY_FLEX_START),o.justifyContent==="center"&&i.setJustifyContent(Ii.default.JUSTIFY_CENTER),o.justifyContent==="flex-end"&&i.setJustifyContent(Ii.default.JUSTIFY_FLEX_END),o.justifyContent==="space-between"&&i.setJustifyContent(Ii.default.JUSTIFY_SPACE_BETWEEN),o.justifyContent==="space-around"&&i.setJustifyContent(Ii.default.JUSTIFY_SPACE_AROUND))},vX=(i,o)=>{var f,p;"width"in o&&(typeof o.width=="number"?i.setWidth(o.width):typeof o.width=="string"?i.setWidthPercent(Number.parseInt(o.width,10)):i.setWidthAuto()),"height"in o&&(typeof o.height=="number"?i.setHeight(o.height):typeof o.height=="string"?i.setHeightPercent(Number.parseInt(o.height,10)):i.setHeightAuto()),"minWidth"in o&&(typeof o.minWidth=="string"?i.setMinWidthPercent(Number.parseInt(o.minWidth,10)):i.setMinWidth((f=o.minWidth)!==null&&f!==void 0?f:0)),"minHeight"in o&&(typeof o.minHeight=="string"?i.setMinHeightPercent(Number.parseInt(o.minHeight,10)):i.setMinHeight((p=o.minHeight)!==null&&p!==void 0?p:0))},mX=(i,o)=>{"display"in o&&i.setDisplay(o.display==="flex"?Ii.default.DISPLAY_FLEX:Ii.default.DISPLAY_NONE)},yX=(i,o)=>{if("borderStyle"in o){let f=typeof o.borderStyle=="string"?1:0;i.setBorder(Ii.default.EDGE_TOP,f),i.setBorder(Ii.default.EDGE_BOTTOM,f),i.setBorder(Ii.default.EDGE_LEFT,f),i.setBorder(Ii.default.EDGE_RIGHT,f)}};mg.default=(i,o={})=>{cX(i,o),dX(i,o),pX(i,o),hX(i,o),vX(i,o),mX(i,o),yX(i,o)}});var z9=ce(($ne,j9)=>{"use strict";j9.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Sw=ce((ere,q9)=>{var yg=z9(),H9={};for(let i of Object.keys(yg))H9[yg[i]]=i;var In={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};q9.exports=In;for(let i of Object.keys(In)){if(!("channels"in In[i]))throw new Error("missing channels property: "+i);if(!("labels"in In[i]))throw new Error("missing channel labels property: "+i);if(In[i].labels.length!==In[i].channels)throw new Error("channel and label counts mismatch: "+i);let{channels:o,labels:f}=In[i];delete In[i].channels,delete In[i].labels,Object.defineProperty(In[i],"channels",{value:o}),Object.defineProperty(In[i],"labels",{value:f})}In.rgb.hsl=function(i){let o=i[0]/255,f=i[1]/255,p=i[2]/255,E=Math.min(o,f,p),t=Math.max(o,f,p),k=t-E,L,N;t===E?L=0:o===t?L=(f-p)/k:f===t?L=2+(p-o)/k:p===t&&(L=4+(o-f)/k),L=Math.min(L*60,360),L<0&&(L+=360);let C=(E+t)/2;return t===E?N=0:C<=.5?N=k/(t+E):N=k/(2-t-E),[L,N*100,C*100]};In.rgb.hsv=function(i){let o,f,p,E,t,k=i[0]/255,L=i[1]/255,N=i[2]/255,C=Math.max(k,L,N),U=C-Math.min(k,L,N),q=function(W){return(C-W)/6/U+1/2};return U===0?(E=0,t=0):(t=U/C,o=q(k),f=q(L),p=q(N),k===C?E=p-f:L===C?E=1/3+o-p:N===C&&(E=2/3+f-o),E<0?E+=1:E>1&&(E-=1)),[E*360,t*100,C*100]};In.rgb.hwb=function(i){let o=i[0],f=i[1],p=i[2],E=In.rgb.hsl(i)[0],t=1/255*Math.min(o,Math.min(f,p));return p=1-1/255*Math.max(o,Math.max(f,p)),[E,t*100,p*100]};In.rgb.cmyk=function(i){let o=i[0]/255,f=i[1]/255,p=i[2]/255,E=Math.min(1-o,1-f,1-p),t=(1-o-E)/(1-E)||0,k=(1-f-E)/(1-E)||0,L=(1-p-E)/(1-E)||0;return[t*100,k*100,L*100,E*100]};function gX(i,o){return(i[0]-o[0])**2+(i[1]-o[1])**2+(i[2]-o[2])**2}In.rgb.keyword=function(i){let o=H9[i];if(o)return o;let f=Infinity,p;for(let E of Object.keys(yg)){let t=yg[E],k=gX(i,t);k.04045?((o+.055)/1.055)**2.4:o/12.92,f=f>.04045?((f+.055)/1.055)**2.4:f/12.92,p=p>.04045?((p+.055)/1.055)**2.4:p/12.92;let E=o*.4124+f*.3576+p*.1805,t=o*.2126+f*.7152+p*.0722,k=o*.0193+f*.1192+p*.9505;return[E*100,t*100,k*100]};In.rgb.lab=function(i){let o=In.rgb.xyz(i),f=o[0],p=o[1],E=o[2];f/=95.047,p/=100,E/=108.883,f=f>.008856?f**(1/3):7.787*f+16/116,p=p>.008856?p**(1/3):7.787*p+16/116,E=E>.008856?E**(1/3):7.787*E+16/116;let t=116*p-16,k=500*(f-p),L=200*(p-E);return[t,k,L]};In.hsl.rgb=function(i){let o=i[0]/360,f=i[1]/100,p=i[2]/100,E,t,k;if(f===0)return k=p*255,[k,k,k];p<.5?E=p*(1+f):E=p+f-p*f;let L=2*p-E,N=[0,0,0];for(let C=0;C<3;C++)t=o+1/3*-(C-1),t<0&&t++,t>1&&t--,6*t<1?k=L+(E-L)*6*t:2*t<1?k=E:3*t<2?k=L+(E-L)*(2/3-t)*6:k=L,N[C]=k*255;return N};In.hsl.hsv=function(i){let o=i[0],f=i[1]/100,p=i[2]/100,E=f,t=Math.max(p,.01);p*=2,f*=p<=1?p:2-p,E*=t<=1?t:2-t;let k=(p+f)/2,L=p===0?2*E/(t+E):2*f/(p+f);return[o,L*100,k*100]};In.hsv.rgb=function(i){let o=i[0]/60,f=i[1]/100,p=i[2]/100,E=Math.floor(o)%6,t=o-Math.floor(o),k=255*p*(1-f),L=255*p*(1-f*t),N=255*p*(1-f*(1-t));switch(p*=255,E){case 0:return[p,N,k];case 1:return[L,p,k];case 2:return[k,p,N];case 3:return[k,L,p];case 4:return[N,k,p];case 5:return[p,k,L]}};In.hsv.hsl=function(i){let o=i[0],f=i[1]/100,p=i[2]/100,E=Math.max(p,.01),t,k;k=(2-f)*p;let L=(2-f)*E;return t=f*E,t/=L<=1?L:2-L,t=t||0,k/=2,[o,t*100,k*100]};In.hwb.rgb=function(i){let o=i[0]/360,f=i[1]/100,p=i[2]/100,E=f+p,t;E>1&&(f/=E,p/=E);let k=Math.floor(6*o),L=1-p;t=6*o-k,(k&1)!=0&&(t=1-t);let N=f+t*(L-f),C,U,q;switch(k){default:case 6:case 0:C=L,U=N,q=f;break;case 1:C=N,U=L,q=f;break;case 2:C=f,U=L,q=N;break;case 3:C=f,U=N,q=L;break;case 4:C=N,U=f,q=L;break;case 5:C=L,U=f,q=N;break}return[C*255,U*255,q*255]};In.cmyk.rgb=function(i){let o=i[0]/100,f=i[1]/100,p=i[2]/100,E=i[3]/100,t=1-Math.min(1,o*(1-E)+E),k=1-Math.min(1,f*(1-E)+E),L=1-Math.min(1,p*(1-E)+E);return[t*255,k*255,L*255]};In.xyz.rgb=function(i){let o=i[0]/100,f=i[1]/100,p=i[2]/100,E,t,k;return E=o*3.2406+f*-1.5372+p*-.4986,t=o*-.9689+f*1.8758+p*.0415,k=o*.0557+f*-.204+p*1.057,E=E>.0031308?1.055*E**(1/2.4)-.055:E*12.92,t=t>.0031308?1.055*t**(1/2.4)-.055:t*12.92,k=k>.0031308?1.055*k**(1/2.4)-.055:k*12.92,E=Math.min(Math.max(0,E),1),t=Math.min(Math.max(0,t),1),k=Math.min(Math.max(0,k),1),[E*255,t*255,k*255]};In.xyz.lab=function(i){let o=i[0],f=i[1],p=i[2];o/=95.047,f/=100,p/=108.883,o=o>.008856?o**(1/3):7.787*o+16/116,f=f>.008856?f**(1/3):7.787*f+16/116,p=p>.008856?p**(1/3):7.787*p+16/116;let E=116*f-16,t=500*(o-f),k=200*(f-p);return[E,t,k]};In.lab.xyz=function(i){let o=i[0],f=i[1],p=i[2],E,t,k;t=(o+16)/116,E=f/500+t,k=t-p/200;let L=t**3,N=E**3,C=k**3;return t=L>.008856?L:(t-16/116)/7.787,E=N>.008856?N:(E-16/116)/7.787,k=C>.008856?C:(k-16/116)/7.787,E*=95.047,t*=100,k*=108.883,[E,t,k]};In.lab.lch=function(i){let o=i[0],f=i[1],p=i[2],E;E=Math.atan2(p,f)*360/2/Math.PI,E<0&&(E+=360);let k=Math.sqrt(f*f+p*p);return[o,k,E]};In.lch.lab=function(i){let o=i[0],f=i[1],E=i[2]/360*2*Math.PI,t=f*Math.cos(E),k=f*Math.sin(E);return[o,t,k]};In.rgb.ansi16=function(i,o=null){let[f,p,E]=i,t=o===null?In.rgb.hsv(i)[2]:o;if(t=Math.round(t/50),t===0)return 30;let k=30+(Math.round(E/255)<<2|Math.round(p/255)<<1|Math.round(f/255));return t===2&&(k+=60),k};In.hsv.ansi16=function(i){return In.rgb.ansi16(In.hsv.rgb(i),i[2])};In.rgb.ansi256=function(i){let o=i[0],f=i[1],p=i[2];return o===f&&f===p?o<8?16:o>248?231:Math.round((o-8)/247*24)+232:16+36*Math.round(o/255*5)+6*Math.round(f/255*5)+Math.round(p/255*5)};In.ansi16.rgb=function(i){let o=i%10;if(o===0||o===7)return i>50&&(o+=3.5),o=o/10.5*255,[o,o,o];let f=(~~(i>50)+1)*.5,p=(o&1)*f*255,E=(o>>1&1)*f*255,t=(o>>2&1)*f*255;return[p,E,t]};In.ansi256.rgb=function(i){if(i>=232){let t=(i-232)*10+8;return[t,t,t]}i-=16;let o,f=Math.floor(i/36)/5*255,p=Math.floor((o=i%36)/6)/5*255,E=o%6/5*255;return[f,p,E]};In.rgb.hex=function(i){let f=(((Math.round(i[0])&255)<<16)+((Math.round(i[1])&255)<<8)+(Math.round(i[2])&255)).toString(16).toUpperCase();return"000000".substring(f.length)+f};In.hex.rgb=function(i){let o=i.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!o)return[0,0,0];let f=o[0];o[0].length===3&&(f=f.split("").map(L=>L+L).join(""));let p=parseInt(f,16),E=p>>16&255,t=p>>8&255,k=p&255;return[E,t,k]};In.rgb.hcg=function(i){let o=i[0]/255,f=i[1]/255,p=i[2]/255,E=Math.max(Math.max(o,f),p),t=Math.min(Math.min(o,f),p),k=E-t,L,N;return k<1?L=t/(1-k):L=0,k<=0?N=0:E===o?N=(f-p)/k%6:E===f?N=2+(p-o)/k:N=4+(o-f)/k,N/=6,N%=1,[N*360,k*100,L*100]};In.hsl.hcg=function(i){let o=i[1]/100,f=i[2]/100,p=f<.5?2*o*f:2*o*(1-f),E=0;return p<1&&(E=(f-.5*p)/(1-p)),[i[0],p*100,E*100]};In.hsv.hcg=function(i){let o=i[1]/100,f=i[2]/100,p=o*f,E=0;return p<1&&(E=(f-p)/(1-p)),[i[0],p*100,E*100]};In.hcg.rgb=function(i){let o=i[0]/360,f=i[1]/100,p=i[2]/100;if(f===0)return[p*255,p*255,p*255];let E=[0,0,0],t=o%1*6,k=t%1,L=1-k,N=0;switch(Math.floor(t)){case 0:E[0]=1,E[1]=k,E[2]=0;break;case 1:E[0]=L,E[1]=1,E[2]=0;break;case 2:E[0]=0,E[1]=1,E[2]=k;break;case 3:E[0]=0,E[1]=L,E[2]=1;break;case 4:E[0]=k,E[1]=0,E[2]=1;break;default:E[0]=1,E[1]=0,E[2]=L}return N=(1-f)*p,[(f*E[0]+N)*255,(f*E[1]+N)*255,(f*E[2]+N)*255]};In.hcg.hsv=function(i){let o=i[1]/100,f=i[2]/100,p=o+f*(1-o),E=0;return p>0&&(E=o/p),[i[0],E*100,p*100]};In.hcg.hsl=function(i){let o=i[1]/100,p=i[2]/100*(1-o)+.5*o,E=0;return p>0&&p<.5?E=o/(2*p):p>=.5&&p<1&&(E=o/(2*(1-p))),[i[0],E*100,p*100]};In.hcg.hwb=function(i){let o=i[1]/100,f=i[2]/100,p=o+f*(1-o);return[i[0],(p-o)*100,(1-p)*100]};In.hwb.hcg=function(i){let o=i[1]/100,f=i[2]/100,p=1-f,E=p-o,t=0;return E<1&&(t=(p-E)/(1-E)),[i[0],E*100,t*100]};In.apple.rgb=function(i){return[i[0]/65535*255,i[1]/65535*255,i[2]/65535*255]};In.rgb.apple=function(i){return[i[0]/255*65535,i[1]/255*65535,i[2]/255*65535]};In.gray.rgb=function(i){return[i[0]/100*255,i[0]/100*255,i[0]/100*255]};In.gray.hsl=function(i){return[0,0,i[0]]};In.gray.hsv=In.gray.hsl;In.gray.hwb=function(i){return[0,100,i[0]]};In.gray.cmyk=function(i){return[0,0,0,i[0]]};In.gray.lab=function(i){return[i[0],0,0]};In.gray.hex=function(i){let o=Math.round(i[0]/100*255)&255,p=((o<<16)+(o<<8)+o).toString(16).toUpperCase();return"000000".substring(p.length)+p};In.rgb.gray=function(i){return[(i[0]+i[1]+i[2])/3/255*100]}});var V9=ce((tre,W9)=>{var y4=Sw();function _X(){let i={},o=Object.keys(y4);for(let f=o.length,p=0;p{var Tw=Sw(),SX=V9(),sm={},TX=Object.keys(Tw);function CX(i){let o=function(...f){let p=f[0];return p==null?p:(p.length>1&&(f=p),i(f))};return"conversion"in i&&(o.conversion=i.conversion),o}function xX(i){let o=function(...f){let p=f[0];if(p==null)return p;p.length>1&&(f=p);let E=i(f);if(typeof E=="object")for(let t=E.length,k=0;k{sm[i]={},Object.defineProperty(sm[i],"channels",{value:Tw[i].channels}),Object.defineProperty(sm[i],"labels",{value:Tw[i].labels});let o=SX(i);Object.keys(o).forEach(p=>{let E=o[p];sm[i][p]=xX(E),sm[i][p].raw=CX(E)})});G9.exports=sm});var _4=ce((rre,K9)=>{"use strict";var X9=(i,o)=>(...f)=>`[${i(...f)+o}m`,Q9=(i,o)=>(...f)=>{let p=i(...f);return`[${38+o};5;${p}m`},J9=(i,o)=>(...f)=>{let p=i(...f);return`[${38+o};2;${p[0]};${p[1]};${p[2]}m`},g4=i=>i,Z9=(i,o,f)=>[i,o,f],am=(i,o,f)=>{Object.defineProperty(i,o,{get:()=>{let p=f();return Object.defineProperty(i,o,{value:p,enumerable:!0,configurable:!0}),p},enumerable:!0,configurable:!0})},Cw,fm=(i,o,f,p)=>{Cw===void 0&&(Cw=Y9());let E=p?10:0,t={};for(let[k,L]of Object.entries(Cw)){let N=k==="ansi16"?"ansi":k;k===o?t[N]=i(f,E):typeof L=="object"&&(t[N]=i(L[o],E))}return t};function AX(){let i=new Map,o={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],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]}};o.color.gray=o.color.blackBright,o.bgColor.bgGray=o.bgColor.bgBlackBright,o.color.grey=o.color.blackBright,o.bgColor.bgGrey=o.bgColor.bgBlackBright;for(let[f,p]of Object.entries(o)){for(let[E,t]of Object.entries(p))o[E]={open:`[${t[0]}m`,close:`[${t[1]}m`},p[E]=o[E],i.set(t[0],t[1]);Object.defineProperty(o,f,{value:p,enumerable:!1})}return Object.defineProperty(o,"codes",{value:i,enumerable:!1}),o.color.close="",o.bgColor.close="",am(o.color,"ansi",()=>fm(X9,"ansi16",g4,!1)),am(o.color,"ansi256",()=>fm(Q9,"ansi256",g4,!1)),am(o.color,"ansi16m",()=>fm(J9,"rgb",Z9,!1)),am(o.bgColor,"ansi",()=>fm(X9,"ansi16",g4,!0)),am(o.bgColor,"ansi256",()=>fm(Q9,"ansi256",g4,!0)),am(o.bgColor,"ansi16m",()=>fm(J9,"rgb",Z9,!0)),o}Object.defineProperty(K9,"exports",{enumerable:!0,get:AX})});var tA=ce((ire,$9)=>{"use strict";var gg=m4(),RX=mw(),OX=_4(),xw=new Set(["","\x9B"]),kX=39,eA=i=>`${xw.values().next().value}[${i}m`,MX=i=>i.split(" ").map(o=>gg(o)),Aw=(i,o,f)=>{let p=[...o],E=!1,t=gg(RX(i[i.length-1]));for(let[k,L]of p.entries()){let N=gg(L);if(t+N<=f?i[i.length-1]+=L:(i.push(L),t=0),xw.has(L))E=!0;else if(E&&L==="m"){E=!1;continue}E||(t+=N,t===f&&k0&&i.length>1&&(i[i.length-2]+=i.pop())},NX=i=>{let o=i.split(" "),f=o.length;for(;f>0&&!(gg(o[f-1])>0);)f--;return f===o.length?i:o.slice(0,f).join(" ")+o.slice(f).join("")},LX=(i,o,f={})=>{if(f.trim!==!1&&i.trim()==="")return"";let p="",E="",t,k=MX(i),L=[""];for(let[N,C]of i.split(" ").entries()){f.trim!==!1&&(L[L.length-1]=L[L.length-1].trimLeft());let U=gg(L[L.length-1]);if(N!==0&&(U>=o&&(f.wordWrap===!1||f.trim===!1)&&(L.push(""),U=0),(U>0||f.trim===!1)&&(L[L.length-1]+=" ",U++)),f.hard&&k[N]>o){let q=o-U,W=1+Math.floor((k[N]-q-1)/o);Math.floor((k[N]-1)/o)o&&U>0&&k[N]>0){if(f.wordWrap===!1&&Uo&&f.wordWrap===!1){Aw(L,C,o);continue}L[L.length-1]+=C}f.trim!==!1&&(L=L.map(NX)),p=L.join(` +`);for(let[N,C]of[...p].entries()){if(E+=C,xw.has(C)){let q=parseFloat(/\d[^m]*/.exec(p.slice(N,N+4)));t=q===kX?null:q}let U=OX.codes.get(Number(t));t&&U&&(p[N+1]===` +`?E+=eA(U):C===` +`&&(E+=eA(t)))}return E};$9.exports=(i,o,f)=>String(i).normalize().replace(/\r\n/g,` +`).split(` +`).map(p=>LX(p,o,f)).join(` +`)});var iA=ce((ure,nA)=>{"use strict";var rA="[\uD800-\uDBFF][\uDC00-\uDFFF]",FX=i=>i&&i.exact?new RegExp(`^${rA}$`):new RegExp(rA,"g");nA.exports=FX});var Rw=ce((ore,uA)=>{"use strict";var bX=gw(),PX=iA(),oA=_4(),lA=["","\x9B"],E4=i=>`${lA[0]}[${i}m`,sA=(i,o,f)=>{let p=[];i=[...i];for(let E of i){let t=E;E.match(";")&&(E=E.split(";")[0][0]+"0");let k=oA.codes.get(parseInt(E,10));if(k){let L=i.indexOf(k.toString());L>=0?i.splice(L,1):p.push(E4(o?k:t))}else if(o){p.push(E4(0));break}else p.push(E4(t))}if(o&&(p=p.filter((E,t)=>p.indexOf(E)===t),f!==void 0)){let E=E4(oA.codes.get(parseInt(f,10)));p=p.reduce((t,k)=>k===E?[k,...t]:[...t,k],[])}return p.join("")};uA.exports=(i,o,f)=>{let p=[...i.normalize()],E=[];f=typeof f=="number"?f:p.length;let t=!1,k,L=0,N="";for(let[C,U]of p.entries()){let q=!1;if(lA.includes(U)){let W=/\d[^m]*/.exec(i.slice(C,C+18));k=W&&W.length>0?W[0]:void 0,Lo&&L<=f)N+=U;else if(L===o&&!t&&k!==void 0)N=sA(E);else if(L>=f){N+=sA(E,!0,k);break}}return N}});var fA=ce((lre,aA)=>{"use strict";var pd=Rw(),IX=m4();function D4(i,o,f){if(i.charAt(o)===" ")return o;for(let p=1;p<=3;p++)if(f){if(i.charAt(o+p)===" ")return o+p}else if(i.charAt(o-p)===" ")return o-p;return o}aA.exports=(i,o,f)=>{f=E0({position:"end",preferTruncationOnSpace:!1},f);let{position:p,space:E,preferTruncationOnSpace:t}=f,k="\u2026",L=1;if(typeof i!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof i}`);if(typeof o!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof o}`);if(o<1)return"";if(o===1)return k;let N=IX(i);if(N<=o)return i;if(p==="start"){if(t){let C=D4(i,N-o+1,!0);return k+pd(i,C,N).trim()}return E===!0&&(k+=" ",L=2),k+pd(i,N-o+L,N)}if(p==="middle"){E===!0&&(k=" "+k+" ",L=3);let C=Math.floor(o/2);if(t){let U=D4(i,C),q=D4(i,N-(o-C)+1,!0);return pd(i,0,U)+k+pd(i,q,N).trim()}return pd(i,0,C)+k+pd(i,N-(o-C)+L,N)}if(p==="end"){if(t){let C=D4(i,o-1);return pd(i,0,C)+k}return E===!0&&(k=" "+k,L=2),pd(i,0,o-L)+k}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${p}`)}});var kw=ce(_g=>{"use strict";var cA=_g&&_g.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(_g,"__esModule",{value:!0});var BX=cA(tA()),UX=cA(fA()),Ow={};_g.default=(i,o,f)=>{let p=i+String(o)+String(f);if(Ow[p])return Ow[p];let E=i;if(f==="wrap"&&(E=BX.default(i,o,{trim:!1,hard:!0})),f.startsWith("truncate")){let t="end";f==="truncate-middle"&&(t="middle"),f==="truncate-start"&&(t="start"),E=UX.default(i,o,{position:t})}return Ow[p]=E,E}});var Nw=ce(Mw=>{"use strict";Object.defineProperty(Mw,"__esModule",{value:!0});var dA=i=>{let o="";if(i.childNodes.length>0)for(let f of i.childNodes){let p="";f.nodeName==="#text"?p=f.nodeValue:((f.nodeName==="ink-text"||f.nodeName==="ink-virtual-text")&&(p=dA(f)),p.length>0&&typeof f.internal_transform=="function"&&(p=f.internal_transform(p))),o+=p}return o};Mw.default=dA});var Lw=ce(l0=>{"use strict";var Eg=l0&&l0.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(l0,"__esModule",{value:!0});l0.setTextNodeValue=l0.createTextNode=l0.setStyle=l0.setAttribute=l0.removeChildNode=l0.insertBeforeNode=l0.appendChildNode=l0.createNode=l0.TEXT_NAME=void 0;var jX=Eg(eh()),pA=Eg(B9()),zX=Eg(U9()),qX=Eg(kw()),HX=Eg(Nw());l0.TEXT_NAME="#text";l0.createNode=i=>{var o;let f={nodeName:i,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:i==="ink-virtual-text"?void 0:jX.default.Node.create()};return i==="ink-text"&&((o=f.yogaNode)===null||o===void 0||o.setMeasureFunc(WX.bind(null,f))),f};l0.appendChildNode=(i,o)=>{var f;o.parentNode&&l0.removeChildNode(o.parentNode,o),o.parentNode=i,i.childNodes.push(o),o.yogaNode&&((f=i.yogaNode)===null||f===void 0||f.insertChild(o.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&w4(i)};l0.insertBeforeNode=(i,o,f)=>{var p,E;o.parentNode&&l0.removeChildNode(o.parentNode,o),o.parentNode=i;let t=i.childNodes.indexOf(f);if(t>=0){i.childNodes.splice(t,0,o),o.yogaNode&&((p=i.yogaNode)===null||p===void 0||p.insertChild(o.yogaNode,t));return}i.childNodes.push(o),o.yogaNode&&((E=i.yogaNode)===null||E===void 0||E.insertChild(o.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&w4(i)};l0.removeChildNode=(i,o)=>{var f,p;o.yogaNode&&((p=(f=o.parentNode)===null||f===void 0?void 0:f.yogaNode)===null||p===void 0||p.removeChild(o.yogaNode)),o.parentNode=null;let E=i.childNodes.indexOf(o);E>=0&&i.childNodes.splice(E,1),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&w4(i)};l0.setAttribute=(i,o,f)=>{i.attributes[o]=f};l0.setStyle=(i,o)=>{i.style=o,i.yogaNode&&zX.default(i.yogaNode,o)};l0.createTextNode=i=>{let o={nodeName:"#text",nodeValue:i,yogaNode:void 0,parentNode:null,style:{}};return l0.setTextNodeValue(o,i),o};var WX=function(i,o){var f,p;let E=i.nodeName==="#text"?i.nodeValue:HX.default(i),t=pA.default(E);if(t.width<=o||t.width>=1&&o>0&&o<1)return t;let k=(p=(f=i.style)===null||f===void 0?void 0:f.textWrap)!==null&&p!==void 0?p:"wrap",L=qX.default(E,o,k);return pA.default(L)},hA=i=>{var o;if(!(!i||!i.parentNode))return(o=i.yogaNode)!==null&&o!==void 0?o:hA(i.parentNode)},w4=i=>{let o=hA(i);o==null||o.markDirty()};l0.setTextNodeValue=(i,o)=>{typeof o!="string"&&(o=String(o)),i.nodeValue=o,w4(i)}});var th=ce((cre,vA)=>{"use strict";vA.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}});var Dg=ce((dre,Fw)=>{"use strict";var{EMPTY_BUFFER:VX}=th();function mA(i,o){if(i.length===0)return VX;if(i.length===1)return i[0];let f=Buffer.allocUnsafe(o),p=0;for(let E=0;E{"use strict";var DA=Symbol("kDone"),bw=Symbol("kRun"),wA=class{constructor(o){this[DA]=()=>{this.pending--,this[bw]()},this.concurrency=o||Infinity,this.jobs=[],this.pending=0}add(o){this.jobs.push(o),this[bw]()}[bw](){if(this.pending!==this.concurrency&&this.jobs.length){let o=this.jobs.shift();this.pending++,o(this[DA])}}};EA.exports=wA});var Tg=ce((hre,TA)=>{"use strict";var wg=require("zlib"),CA=Dg(),GX=SA(),{kStatusCode:xA,NOOP:YX}=th(),KX=Buffer.from([0,0,255,255]),T4=Symbol("permessage-deflate"),G1=Symbol("total-length"),Sg=Symbol("callback"),hd=Symbol("buffers"),Pw=Symbol("error"),C4,AA=class{constructor(o,f,p){if(this._maxPayload=p|0,this._options=o||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!f,this._deflate=null,this._inflate=null,this.params=null,!C4){let E=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;C4=new GX(E)}}static get extensionName(){return"permessage-deflate"}offer(){let o={};return this._options.serverNoContextTakeover&&(o.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(o.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(o.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?o.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(o.client_max_window_bits=!0),o}accept(o){return o=this.normalizeParams(o),this.params=this._isServer?this.acceptAsServer(o):this.acceptAsClient(o),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let o=this._deflate[Sg];this._deflate.close(),this._deflate=null,o&&o(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(o){let f=this._options,p=o.find(E=>!(f.serverNoContextTakeover===!1&&E.server_no_context_takeover||E.server_max_window_bits&&(f.serverMaxWindowBits===!1||typeof f.serverMaxWindowBits=="number"&&f.serverMaxWindowBits>E.server_max_window_bits)||typeof f.clientMaxWindowBits=="number"&&!E.client_max_window_bits));if(!p)throw new Error("None of the extension offers can be accepted");return f.serverNoContextTakeover&&(p.server_no_context_takeover=!0),f.clientNoContextTakeover&&(p.client_no_context_takeover=!0),typeof f.serverMaxWindowBits=="number"&&(p.server_max_window_bits=f.serverMaxWindowBits),typeof f.clientMaxWindowBits=="number"?p.client_max_window_bits=f.clientMaxWindowBits:(p.client_max_window_bits===!0||f.clientMaxWindowBits===!1)&&delete p.client_max_window_bits,p}acceptAsClient(o){let f=o[0];if(this._options.clientNoContextTakeover===!1&&f.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!f.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(f.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&f.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return f}normalizeParams(o){return o.forEach(f=>{Object.keys(f).forEach(p=>{let E=f[p];if(E.length>1)throw new Error(`Parameter "${p}" must have only a single value`);if(E=E[0],p==="client_max_window_bits"){if(E!==!0){let t=+E;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${p}": ${E}`);E=t}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${p}": ${E}`)}else if(p==="server_max_window_bits"){let t=+E;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${p}": ${E}`);E=t}else if(p==="client_no_context_takeover"||p==="server_no_context_takeover"){if(E!==!0)throw new TypeError(`Invalid value for parameter "${p}": ${E}`)}else throw new Error(`Unknown parameter "${p}"`);f[p]=E})}),o}decompress(o,f,p){C4.add(E=>{this._decompress(o,f,(t,k)=>{E(),p(t,k)})})}compress(o,f,p){C4.add(E=>{this._compress(o,f,(t,k)=>{E(),p(t,k)})})}_decompress(o,f,p){let E=this._isServer?"client":"server";if(!this._inflate){let t=`${E}_max_window_bits`,k=typeof this.params[t]!="number"?wg.Z_DEFAULT_WINDOWBITS:this.params[t];this._inflate=wg.createInflateRaw(Gf(E0({},this._options.zlibInflateOptions),{windowBits:k})),this._inflate[T4]=this,this._inflate[G1]=0,this._inflate[hd]=[],this._inflate.on("error",QX),this._inflate.on("data",RA)}this._inflate[Sg]=p,this._inflate.write(o),f&&this._inflate.write(KX),this._inflate.flush(()=>{let t=this._inflate[Pw];if(t){this._inflate.close(),this._inflate=null,p(t);return}let k=CA.concat(this._inflate[hd],this._inflate[G1]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[G1]=0,this._inflate[hd]=[],f&&this.params[`${E}_no_context_takeover`]&&this._inflate.reset()),p(null,k)})}_compress(o,f,p){let E=this._isServer?"server":"client";if(!this._deflate){let t=`${E}_max_window_bits`,k=typeof this.params[t]!="number"?wg.Z_DEFAULT_WINDOWBITS:this.params[t];this._deflate=wg.createDeflateRaw(Gf(E0({},this._options.zlibDeflateOptions),{windowBits:k})),this._deflate[G1]=0,this._deflate[hd]=[],this._deflate.on("error",YX),this._deflate.on("data",XX)}this._deflate[Sg]=p,this._deflate.write(o),this._deflate.flush(wg.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let t=CA.concat(this._deflate[hd],this._deflate[G1]);f&&(t=t.slice(0,t.length-4)),this._deflate[Sg]=null,this._deflate[G1]=0,this._deflate[hd]=[],f&&this.params[`${E}_no_context_takeover`]&&this._deflate.reset(),p(null,t)})}};TA.exports=AA;function XX(i){this[hd].push(i),this[G1]+=i.length}function RA(i){if(this[G1]+=i.length,this[T4]._maxPayload<1||this[G1]<=this[T4]._maxPayload){this[hd].push(i);return}this[Pw]=new RangeError("Max payload size exceeded"),this[Pw][xA]=1009,this.removeListener("data",RA),this.reset()}function QX(i){this[T4]._inflate=null,i[xA]=1007,this[Sg](i)}});var Bw=ce((vre,Iw)=>{"use strict";function OA(i){return i>=1e3&&i<=1014&&i!==1004&&i!==1005&&i!==1006||i>=3e3&&i<=4999}function kA(i){let o=i.length,f=0;for(;f=o||(i[f+1]&192)!=128||(i[f+2]&192)!=128||i[f]===224&&(i[f+1]&224)==128||i[f]===237&&(i[f+1]&224)==160)return!1;f+=3}else if((i[f]&248)==240){if(f+3>=o||(i[f+1]&192)!=128||(i[f+2]&192)!=128||(i[f+3]&192)!=128||i[f]===240&&(i[f+1]&240)==128||i[f]===244&&i[f+1]>143||i[f]>244)return!1;f+=4}else return!1;return!0}try{let i=require("utf-8-validate");typeof i=="object"&&(i=i.Validation.isValidUTF8),Iw.exports={isValidStatusCode:OA,isValidUTF8(o){return o.length<150?kA(o):i(o)}}}catch(i){Iw.exports={isValidStatusCode:OA,isValidUTF8:kA}}});var zw=ce((mre,MA)=>{"use strict";var{Writable:JX}=require("stream"),NA=Tg(),{BINARY_TYPES:ZX,EMPTY_BUFFER:$X,kStatusCode:eQ,kWebSocket:tQ}=th(),{concat:Uw,toArrayBuffer:nQ,unmask:rQ}=Dg(),{isValidStatusCode:iQ,isValidUTF8:LA}=Bw(),Cg=0,FA=1,bA=2,PA=3,jw=4,uQ=5,IA=class extends JX{constructor(o,f,p,E){super();this._binaryType=o||ZX[0],this[tQ]=void 0,this._extensions=f||{},this._isServer=!!p,this._maxPayload=E|0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=Cg,this._loop=!1}_write(o,f,p){if(this._opcode===8&&this._state==Cg)return p();this._bufferedBytes+=o.length,this._buffers.push(o),this.startLoop(p)}consume(o){if(this._bufferedBytes-=o,o===this._buffers[0].length)return this._buffers.shift();if(o=p.length?f.set(this._buffers.shift(),E):(f.set(new Uint8Array(p.buffer,p.byteOffset,o),E),this._buffers[0]=p.slice(o)),o-=p.length}while(o>0);return f}startLoop(o){let f;this._loop=!0;do switch(this._state){case Cg:f=this.getInfo();break;case FA:f=this.getPayloadLength16();break;case bA:f=this.getPayloadLength64();break;case PA:this.getMask();break;case jw:f=this.getData(o);break;default:this._loop=!1;return}while(this._loop);o(f)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let o=this.consume(2);if((o[0]&48)!=0)return this._loop=!1,Ho(RangeError,"RSV2 and RSV3 must be clear",!0,1002);let f=(o[0]&64)==64;if(f&&!this._extensions[NA.extensionName])return this._loop=!1,Ho(RangeError,"RSV1 must be clear",!0,1002);if(this._fin=(o[0]&128)==128,this._opcode=o[0]&15,this._payloadLength=o[1]&127,this._opcode===0){if(f)return this._loop=!1,Ho(RangeError,"RSV1 must be clear",!0,1002);if(!this._fragmented)return this._loop=!1,Ho(RangeError,"invalid opcode 0",!0,1002);this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented)return this._loop=!1,Ho(RangeError,`invalid opcode ${this._opcode}`,!0,1002);this._compressed=f}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,Ho(RangeError,"FIN must be set",!0,1002);if(f)return this._loop=!1,Ho(RangeError,"RSV1 must be clear",!0,1002);if(this._payloadLength>125)return this._loop=!1,Ho(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002)}else return this._loop=!1,Ho(RangeError,`invalid opcode ${this._opcode}`,!0,1002);if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(o[1]&128)==128,this._isServer){if(!this._masked)return this._loop=!1,Ho(RangeError,"MASK must be set",!0,1002)}else if(this._masked)return this._loop=!1,Ho(RangeError,"MASK must be clear",!0,1002);if(this._payloadLength===126)this._state=FA;else if(this._payloadLength===127)this._state=bA;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=!1;return}return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=!1;return}let o=this.consume(8),f=o.readUInt32BE(0);return f>Math.pow(2,53-32)-1?(this._loop=!1,Ho(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009)):(this._payloadLength=f*Math.pow(2,32)+o.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,Ho(RangeError,"Max payload size exceeded",!1,1009);this._masked?this._state=PA:this._state=jw}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=jw}getData(o){let f=$X;if(this._payloadLength){if(this._bufferedBytes7)return this.controlMessage(f);if(this._compressed){this._state=uQ,this.decompress(f,o);return}return f.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(f)),this.dataMessage()}decompress(o,f){this._extensions[NA.extensionName].decompress(o,this._fin,(E,t)=>{if(E)return f(E);if(t.length){if(this._messageLength+=t.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return f(Ho(RangeError,"Max payload size exceeded",!1,1009));this._fragments.push(t)}let k=this.dataMessage();if(k)return f(k);this.startLoop(f)})}dataMessage(){if(this._fin){let o=this._messageLength,f=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let p;this._binaryType==="nodebuffer"?p=Uw(f,o):this._binaryType==="arraybuffer"?p=nQ(Uw(f,o)):p=f,this.emit("message",p)}else{let p=Uw(f,o);if(!LA(p))return this._loop=!1,Ho(Error,"invalid UTF-8 sequence",!0,1007);this.emit("message",p.toString())}}this._state=Cg}controlMessage(o){if(this._opcode===8)if(this._loop=!1,o.length===0)this.emit("conclude",1005,""),this.end();else{if(o.length===1)return Ho(RangeError,"invalid payload length 1",!0,1002);{let f=o.readUInt16BE(0);if(!iQ(f))return Ho(RangeError,`invalid status code ${f}`,!0,1002);let p=o.slice(2);if(!LA(p))return Ho(Error,"invalid UTF-8 sequence",!0,1007);this.emit("conclude",f,p.toString()),this.end()}}else this._opcode===9?this.emit("ping",o):this.emit("pong",o);this._state=Cg}};MA.exports=IA;function Ho(i,o,f,p){let E=new i(f?`Invalid WebSocket frame: ${o}`:o);return Error.captureStackTrace(E,Ho),E[eQ]=p,E}});var qw=ce((yre,BA)=>{"use strict";var{randomFillSync:oQ}=require("crypto"),UA=Tg(),{EMPTY_BUFFER:lQ}=th(),{isValidStatusCode:sQ}=Bw(),{mask:jA,toBuffer:Y1}=Dg(),nh=Buffer.alloc(4),K1=class{constructor(o,f){this._extensions=f||{},this._socket=o,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(o,f){let p=f.mask&&f.readOnly,E=f.mask?6:2,t=o.length;o.length>=65536?(E+=8,t=127):o.length>125&&(E+=2,t=126);let k=Buffer.allocUnsafe(p?o.length+E:E);return k[0]=f.fin?f.opcode|128:f.opcode,f.rsv1&&(k[0]|=64),k[1]=t,t===126?k.writeUInt16BE(o.length,2):t===127&&(k.writeUInt32BE(0,2),k.writeUInt32BE(o.length,6)),f.mask?(oQ(nh,0,4),k[1]|=128,k[E-4]=nh[0],k[E-3]=nh[1],k[E-2]=nh[2],k[E-1]=nh[3],p?(jA(o,nh,k,E,o.length),[k]):(jA(o,nh,o,0,o.length),[k,o])):[k,o]}close(o,f,p,E){let t;if(o===void 0)t=lQ;else{if(typeof o!="number"||!sQ(o))throw new TypeError("First argument must be a valid error code number");if(f===void 0||f==="")t=Buffer.allocUnsafe(2),t.writeUInt16BE(o,0);else{let k=Buffer.byteLength(f);if(k>123)throw new RangeError("The message must not be greater than 123 bytes");t=Buffer.allocUnsafe(2+k),t.writeUInt16BE(o,0),t.write(f,2)}}this._deflating?this.enqueue([this.doClose,t,p,E]):this.doClose(t,p,E)}doClose(o,f,p){this.sendFrame(K1.frame(o,{fin:!0,rsv1:!1,opcode:8,mask:f,readOnly:!1}),p)}ping(o,f,p){let E=Y1(o);if(E.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,E,f,Y1.readOnly,p]):this.doPing(E,f,Y1.readOnly,p)}doPing(o,f,p,E){this.sendFrame(K1.frame(o,{fin:!0,rsv1:!1,opcode:9,mask:f,readOnly:p}),E)}pong(o,f,p){let E=Y1(o);if(E.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,E,f,Y1.readOnly,p]):this.doPong(E,f,Y1.readOnly,p)}doPong(o,f,p,E){this.sendFrame(K1.frame(o,{fin:!0,rsv1:!1,opcode:10,mask:f,readOnly:p}),E)}send(o,f,p){let E=Y1(o),t=this._extensions[UA.extensionName],k=f.binary?2:1,L=f.compress;if(this._firstFragment?(this._firstFragment=!1,L&&t&&(L=E.length>=t._threshold),this._compress=L):(L=!1,k=0),f.fin&&(this._firstFragment=!0),t){let N={fin:f.fin,rsv1:L,opcode:k,mask:f.mask,readOnly:Y1.readOnly};this._deflating?this.enqueue([this.dispatch,E,this._compress,N,p]):this.dispatch(E,this._compress,N,p)}else this.sendFrame(K1.frame(E,{fin:f.fin,rsv1:!1,opcode:k,mask:f.mask,readOnly:Y1.readOnly}),p)}dispatch(o,f,p,E){if(!f){this.sendFrame(K1.frame(o,p),E);return}let t=this._extensions[UA.extensionName];this._bufferedBytes+=o.length,this._deflating=!0,t.compress(o,p.fin,(k,L)=>{if(this._socket.destroyed){let N=new Error("The socket was closed while data was being compressed");typeof E=="function"&&E(N);for(let C=0;C{"use strict";var xg=class{constructor(o,f){this.target=f,this.type=o}},qA=class extends xg{constructor(o,f){super("message",f);this.data=o}},HA=class extends xg{constructor(o,f,p){super("close",p);this.wasClean=p._closeFrameReceived&&p._closeFrameSent,this.reason=f,this.code=o}},WA=class extends xg{constructor(o){super("open",o)}},VA=class extends xg{constructor(o,f){super("error",f);this.message=o.message,this.error=o}},aQ={addEventListener(i,o,f){if(typeof o!="function")return;function p(N){o.call(this,new qA(N,this))}function E(N,C){o.call(this,new HA(N,C,this))}function t(N){o.call(this,new VA(N,this))}function k(){o.call(this,new WA(this))}let L=f&&f.once?"once":"on";i==="message"?(p._listener=o,this[L](i,p)):i==="close"?(E._listener=o,this[L](i,E)):i==="error"?(t._listener=o,this[L](i,t)):i==="open"?(k._listener=o,this[L](i,k)):this[L](i,o)},removeEventListener(i,o){let f=this.listeners(i);for(let p=0;p{"use strict";var Ag=[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,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Pc(i,o,f){i[o]===void 0?i[o]=[f]:i[o].push(f)}function fQ(i){let o=Object.create(null);if(i===void 0||i==="")return o;let f=Object.create(null),p=!1,E=!1,t=!1,k,L,N=-1,C=-1,U=0;for(;U{let f=i[o];return Array.isArray(f)||(f=[f]),f.map(p=>[o].concat(Object.keys(p).map(E=>{let t=p[E];return Array.isArray(t)||(t=[t]),t.map(k=>k===!0?E:`${E}=${k}`).join("; ")})).join("; ")).join(", ")}).join(", ")}YA.exports={format:cQ,parse:fQ}});var Kw=ce((Ere,KA)=>{"use strict";var dQ=require("events"),pQ=require("https"),hQ=require("http"),XA=require("net"),vQ=require("tls"),{randomBytes:mQ,createHash:yQ}=require("crypto"),{URL:Ww}=require("url"),vd=Tg(),gQ=zw(),_Q=qw(),{BINARY_TYPES:QA,EMPTY_BUFFER:Vw,GUID:EQ,kStatusCode:DQ,kWebSocket:Qs,NOOP:JA}=th(),{addEventListener:wQ,removeEventListener:SQ}=GA(),{format:TQ,parse:CQ}=Hw(),{toBuffer:xQ}=Dg(),ZA=["CONNECTING","OPEN","CLOSING","CLOSED"],Gw=[8,13],AQ=30*1e3,Bi=class extends dQ{constructor(o,f,p){super();this._binaryType=QA[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=Bi.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,o!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(f)?f=f.join(", "):typeof f=="object"&&f!==null&&(p=f,f=void 0),$A(this,o,f,p)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(o){!QA.includes(o)||(this._binaryType=o,this._receiver&&(this._receiver._binaryType=o))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(o,f,p){let E=new gQ(this.binaryType,this._extensions,this._isServer,p);this._sender=new _Q(o,this._extensions),this._receiver=E,this._socket=o,E[Qs]=this,o[Qs]=this,E.on("conclude",RQ),E.on("drain",OQ),E.on("error",kQ),E.on("message",MQ),E.on("ping",NQ),E.on("pong",LQ),o.setTimeout(0),o.setNoDelay(),f.length>0&&o.unshift(f),o.on("close",eR),o.on("data",x4),o.on("end",tR),o.on("error",nR),this._readyState=Bi.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=Bi.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[vd.extensionName]&&this._extensions[vd.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=Bi.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(o,f){if(this.readyState!==Bi.CLOSED){if(this.readyState===Bi.CONNECTING){let p="WebSocket was closed before the connection was established";return X1(this,this._req,p)}if(this.readyState===Bi.CLOSING){this._closeFrameSent&&this._closeFrameReceived&&this._socket.end();return}this._readyState=Bi.CLOSING,this._sender.close(o,f,!this._isServer,p=>{p||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),AQ)}}ping(o,f,p){if(this.readyState===Bi.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof o=="function"?(p=o,o=f=void 0):typeof f=="function"&&(p=f,f=void 0),typeof o=="number"&&(o=o.toString()),this.readyState!==Bi.OPEN){Yw(this,o,p);return}f===void 0&&(f=!this._isServer),this._sender.ping(o||Vw,f,p)}pong(o,f,p){if(this.readyState===Bi.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof o=="function"?(p=o,o=f=void 0):typeof f=="function"&&(p=f,f=void 0),typeof o=="number"&&(o=o.toString()),this.readyState!==Bi.OPEN){Yw(this,o,p);return}f===void 0&&(f=!this._isServer),this._sender.pong(o||Vw,f,p)}send(o,f,p){if(this.readyState===Bi.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof f=="function"&&(p=f,f={}),typeof o=="number"&&(o=o.toString()),this.readyState!==Bi.OPEN){Yw(this,o,p);return}let E=E0({binary:typeof o!="string",mask:!this._isServer,compress:!0,fin:!0},f);this._extensions[vd.extensionName]||(E.compress=!1),this._sender.send(o||Vw,E,p)}terminate(){if(this.readyState!==Bi.CLOSED){if(this.readyState===Bi.CONNECTING){let o="WebSocket was closed before the connection was established";return X1(this,this._req,o)}this._socket&&(this._readyState=Bi.CLOSING,this._socket.destroy())}}};ZA.forEach((i,o)=>{let f={enumerable:!0,value:o};Object.defineProperty(Bi.prototype,i,f),Object.defineProperty(Bi,i,f)});["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach(i=>{Object.defineProperty(Bi.prototype,i,{enumerable:!0})});["open","error","close","message"].forEach(i=>{Object.defineProperty(Bi.prototype,`on${i}`,{configurable:!0,enumerable:!0,get(){let o=this.listeners(i);for(let f=0;f{X1(i,W,"Opening handshake has timed out")}),W.on("error",ne=>{W===null||W.aborted||(W=i._req=null,i._readyState=Bi.CLOSING,i.emit("error",ne),i.emitClose())}),W.on("response",ne=>{let m=ne.headers.location,we=ne.statusCode;if(m&&E.followRedirects&&we>=300&&we<400){if(++i._redirects>E.maxRedirects){X1(i,W,"Maximum redirects exceeded");return}W.abort();let Se=new Ww(m,o);$A(i,Se,f,p)}else i.emit("unexpected-response",W,ne)||X1(i,W,`Unexpected server response: ${ne.statusCode}`)}),W.on("upgrade",(ne,m,we)=>{if(i.emit("upgrade",ne),i.readyState!==Bi.CONNECTING)return;W=i._req=null;let Se=yQ("sha1").update(C+EQ).digest("base64");if(ne.headers["sec-websocket-accept"]!==Se){X1(i,m,"Invalid Sec-WebSocket-Accept header");return}let he=ne.headers["sec-websocket-protocol"],ge=(f||"").split(/, */),ze;if(!f&&he?ze="Server sent a subprotocol but none was requested":f&&!he?ze="Server sent no subprotocol":he&&!ge.includes(he)&&(ze="Server sent an invalid subprotocol"),ze){X1(i,m,ze);return}if(he&&(i._protocol=he),q)try{let pe=CQ(ne.headers["sec-websocket-extensions"]);pe[vd.extensionName]&&(q.accept(pe[vd.extensionName]),i._extensions[vd.extensionName]=q)}catch(pe){X1(i,m,"Invalid Sec-WebSocket-Extensions header");return}i.setSocket(m,we,E.maxPayload)})}function FQ(i){return i.path=i.socketPath,XA.connect(i)}function bQ(i){return i.path=void 0,!i.servername&&i.servername!==""&&(i.servername=XA.isIP(i.host)?"":i.host),vQ.connect(i)}function X1(i,o,f){i._readyState=Bi.CLOSING;let p=new Error(f);Error.captureStackTrace(p,X1),o.setHeader?(o.abort(),o.socket&&!o.socket.destroyed&&o.socket.destroy(),o.once("abort",i.emitClose.bind(i)),i.emit("error",p)):(o.destroy(p),o.once("error",i.emit.bind(i,"error")),o.once("close",i.emitClose.bind(i)))}function Yw(i,o,f){if(o){let p=xQ(o).length;i._socket?i._sender._bufferedBytes+=p:i._bufferedAmount+=p}if(f){let p=new Error(`WebSocket is not open: readyState ${i.readyState} (${ZA[i.readyState]})`);f(p)}}function RQ(i,o){let f=this[Qs];f._socket.removeListener("data",x4),f._socket.resume(),f._closeFrameReceived=!0,f._closeMessage=o,f._closeCode=i,i===1005?f.close():f.close(i,o)}function OQ(){this[Qs]._socket.resume()}function kQ(i){let o=this[Qs];o._socket.removeListener("data",x4),o._readyState=Bi.CLOSING,o._closeCode=i[DQ],o.emit("error",i),o._socket.destroy()}function rR(){this[Qs].emitClose()}function MQ(i){this[Qs].emit("message",i)}function NQ(i){let o=this[Qs];o.pong(i,!o._isServer,JA),o.emit("ping",i)}function LQ(i){this[Qs].emit("pong",i)}function eR(){let i=this[Qs];this.removeListener("close",eR),this.removeListener("end",tR),i._readyState=Bi.CLOSING,i._socket.read(),i._receiver.end(),this.removeListener("data",x4),this[Qs]=void 0,clearTimeout(i._closeTimer),i._receiver._writableState.finished||i._receiver._writableState.errorEmitted?i.emitClose():(i._receiver.on("error",rR),i._receiver.on("finish",rR))}function x4(i){this[Qs]._receiver.write(i)||this.pause()}function tR(){let i=this[Qs];i._readyState=Bi.CLOSING,i._receiver.end(),this.end()}function nR(){let i=this[Qs];this.removeListener("error",nR),this.on("error",JA),i&&(i._readyState=Bi.CLOSING,this.destroy())}});var lR=ce((Dre,iR)=>{"use strict";var{Duplex:PQ}=require("stream");function uR(i){i.emit("close")}function IQ(){!this.destroyed&&this._writableState.finished&&this.destroy()}function oR(i){this.removeListener("error",oR),this.destroy(),this.listenerCount("error")===0&&this.emit("error",i)}function BQ(i,o){let f=!0;function p(){f&&i._socket.resume()}i.readyState===i.CONNECTING?i.once("open",function(){i._receiver.removeAllListeners("drain"),i._receiver.on("drain",p)}):(i._receiver.removeAllListeners("drain"),i._receiver.on("drain",p));let E=new PQ(Gf(E0({},o),{autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1}));return i.on("message",function(k){E.push(k)||(f=!1,i._socket.pause())}),i.once("error",function(k){E.destroyed||E.destroy(k)}),i.once("close",function(){E.destroyed||E.push(null)}),E._destroy=function(t,k){if(i.readyState===i.CLOSED){k(t),process.nextTick(uR,E);return}let L=!1;i.once("error",function(C){L=!0,k(C)}),i.once("close",function(){L||k(t),process.nextTick(uR,E)}),i.terminate()},E._final=function(t){if(i.readyState===i.CONNECTING){i.once("open",function(){E._final(t)});return}i._socket!==null&&(i._socket._writableState.finished?(t(),E._readableState.endEmitted&&E.destroy()):(i._socket.once("finish",function(){t()}),i.close()))},E._read=function(){i.readyState===i.OPEN&&!f&&(f=!0,i._receiver._writableState.needDrain||i._socket.resume())},E._write=function(t,k,L){if(i.readyState===i.CONNECTING){i.once("open",function(){E._write(t,k,L)});return}i.send(t,L)},E.on("end",IQ),E.on("error",oR),E}iR.exports=BQ});var fR=ce((wre,sR)=>{"use strict";var UQ=require("events"),{createHash:jQ}=require("crypto"),{createServer:zQ,STATUS_CODES:Xw}=require("http"),rh=Tg(),qQ=Kw(),{format:HQ,parse:WQ}=Hw(),{GUID:VQ,kWebSocket:GQ}=th(),YQ=/^[+/0-9A-Za-z]{22}==$/,aR=class extends UQ{constructor(o,f){super();if(o=E0({maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null},o),o.port==null&&!o.server&&!o.noServer)throw new TypeError('One of the "port", "server", or "noServer" options must be specified');if(o.port!=null?(this._server=zQ((p,E)=>{let t=Xw[426];E.writeHead(426,{"Content-Length":t.length,"Content-Type":"text/plain"}),E.end(t)}),this._server.listen(o.port,o.host,o.backlog,f)):o.server&&(this._server=o.server),this._server){let p=this.emit.bind(this,"connection");this._removeListeners=KQ(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(E,t,k)=>{this.handleUpgrade(E,t,k,p)}})}o.perMessageDeflate===!0&&(o.perMessageDeflate={}),o.clientTracking&&(this.clients=new Set),this.options=o}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(o){if(o&&this.once("close",o),this.clients)for(let p of this.clients)p.terminate();let f=this._server;if(f&&(this._removeListeners(),this._removeListeners=this._server=null,this.options.port!=null)){f.close(()=>this.emit("close"));return}process.nextTick(XQ,this)}shouldHandle(o){if(this.options.path){let f=o.url.indexOf("?");if((f!==-1?o.url.slice(0,f):o.url)!==this.options.path)return!1}return!0}handleUpgrade(o,f,p,E){f.on("error",Qw);let t=o.headers["sec-websocket-key"]!==void 0?o.headers["sec-websocket-key"].trim():!1,k=+o.headers["sec-websocket-version"],L={};if(o.method!=="GET"||o.headers.upgrade.toLowerCase()!=="websocket"||!t||!YQ.test(t)||k!==8&&k!==13||!this.shouldHandle(o))return A4(f,400);if(this.options.perMessageDeflate){let N=new rh(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let C=WQ(o.headers["sec-websocket-extensions"]);C[rh.extensionName]&&(N.accept(C[rh.extensionName]),L[rh.extensionName]=N)}catch(C){return A4(f,400)}}if(this.options.verifyClient){let N={origin:o.headers[`${k===8?"sec-websocket-origin":"origin"}`],secure:!!(o.socket.authorized||o.socket.encrypted),req:o};if(this.options.verifyClient.length===2){this.options.verifyClient(N,(C,U,q,W)=>{if(!C)return A4(f,U||401,q,W);this.completeUpgrade(t,L,o,f,p,E)});return}if(!this.options.verifyClient(N))return A4(f,401)}this.completeUpgrade(t,L,o,f,p,E)}completeUpgrade(o,f,p,E,t,k){if(!E.readable||!E.writable)return E.destroy();if(E[GQ])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");let L=jQ("sha1").update(o+VQ).digest("base64"),N=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${L}`],C=new qQ(null),U=p.headers["sec-websocket-protocol"];if(U&&(U=U.split(",").map(QQ),this.options.handleProtocols?U=this.options.handleProtocols(U,p):U=U[0],U&&(N.push(`Sec-WebSocket-Protocol: ${U}`),C._protocol=U)),f[rh.extensionName]){let q=f[rh.extensionName].params,W=HQ({[rh.extensionName]:[q]});N.push(`Sec-WebSocket-Extensions: ${W}`),C._extensions=f}this.emit("headers",N,p),E.write(N.concat(`\r +`).join(`\r +`)),E.removeListener("error",Qw),C.setSocket(E,t,this.options.maxPayload),this.clients&&(this.clients.add(C),C.on("close",()=>this.clients.delete(C))),k(C,p)}};sR.exports=aR;function KQ(i,o){for(let f of Object.keys(o))i.on(f,o[f]);return function(){for(let p of Object.keys(o))i.removeListener(p,o[p])}}function XQ(i){i.emit("close")}function Qw(){this.destroy()}function A4(i,o,f,p){i.writable&&(f=f||Xw[o],p=E0({Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(f)},p),i.write(`HTTP/1.1 ${o} ${Xw[o]}\r +`+Object.keys(p).map(E=>`${E}: ${p[E]}`).join(`\r +`)+`\r +\r +`+f)),i.removeListener("error",Qw),i.destroy()}function QQ(i){return i.trim()}});var dR=ce((Sre,cR)=>{"use strict";var Rg=Kw();Rg.createWebSocketStream=lR();Rg.Server=fR();Rg.Receiver=zw();Rg.Sender=qw();cR.exports=Rg});var pR=ce(R4=>{"use strict";var JQ=R4&&R4.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(R4,"__esModule",{value:!0});var ZQ=JQ(dR()),Og=global;Og.WebSocket||(Og.WebSocket=ZQ.default);Og.window||(Og.window=global);Og.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}]});var hR=ce((O4,Jw)=>{(function(i,o){typeof O4=="object"&&typeof Jw=="object"?Jw.exports=o():typeof define=="function"&&define.amd?define([],o):typeof O4=="object"?O4.ReactDevToolsBackend=o():i.ReactDevToolsBackend=o()})(window,function(){return function(i){var o={};function f(p){if(o[p])return o[p].exports;var E=o[p]={i:p,l:!1,exports:{}};return i[p].call(E.exports,E,E.exports,f),E.l=!0,E.exports}return f.m=i,f.c=o,f.d=function(p,E,t){f.o(p,E)||Object.defineProperty(p,E,{enumerable:!0,get:t})},f.r=function(p){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(p,"__esModule",{value:!0})},f.t=function(p,E){if(1&E&&(p=f(p)),8&E||4&E&&typeof p=="object"&&p&&p.__esModule)return p;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:p}),2&E&&typeof p!="string")for(var k in p)f.d(t,k,function(L){return p[L]}.bind(null,k));return t},f.n=function(p){var E=p&&p.__esModule?function(){return p.default}:function(){return p};return f.d(E,"a",E),E},f.o=function(p,E){return Object.prototype.hasOwnProperty.call(p,E)},f.p="",f(f.s=20)}([function(i,o,f){"use strict";i.exports=f(12)},function(i,o,f){"use strict";var p=Object.getOwnPropertySymbols,E=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable;function k(L){if(L==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(L)}i.exports=function(){try{if(!Object.assign)return!1;var L=new String("abc");if(L[5]="de",Object.getOwnPropertyNames(L)[0]==="5")return!1;for(var N={},C=0;C<10;C++)N["_"+String.fromCharCode(C)]=C;if(Object.getOwnPropertyNames(N).map(function(q){return N[q]}).join("")!=="0123456789")return!1;var U={};return"abcdefghijklmnopqrst".split("").forEach(function(q){U[q]=q}),Object.keys(Object.assign({},U)).join("")==="abcdefghijklmnopqrst"}catch(q){return!1}}()?Object.assign:function(L,N){for(var C,U,q=k(L),W=1;W=le||en<0||$t&&At-Ke>=wt}function ue(){var At=Se();if(Ce(At))return je(At);$e=setTimeout(ue,function(en){var ln=le-(en-ft);return $t?we(ln,wt-(en-Ke)):ln}(At))}function je(At){return $e=void 0,at&&Ge?Q(At):(Ge=rt=void 0,xt)}function ct(){var At=Se(),en=Ce(At);if(Ge=arguments,rt=this,ft=At,en){if($e===void 0)return ae(ft);if($t)return $e=setTimeout(ue,le),Q(ft)}return $e===void 0&&($e=setTimeout(ue,le)),xt}return le=pe(le)||0,ge(Ue)&&(jt=!!Ue.leading,wt=($t="maxWait"in Ue)?m(pe(Ue.maxWait)||0,le):wt,at="trailing"in Ue?!!Ue.trailing:at),ct.cancel=function(){$e!==void 0&&clearTimeout($e),Ke=0,Ge=ft=rt=$e=void 0},ct.flush=function(){return $e===void 0?xt:je(Se())},ct}function ge(Oe){var le=E(Oe);return!!Oe&&(le=="object"||le=="function")}function ze(Oe){return E(Oe)=="symbol"||function(le){return!!le&&E(le)=="object"}(Oe)&&ne.call(Oe)=="[object Symbol]"}function pe(Oe){if(typeof Oe=="number")return Oe;if(ze(Oe))return NaN;if(ge(Oe)){var le=typeof Oe.valueOf=="function"?Oe.valueOf():Oe;Oe=ge(le)?le+"":le}if(typeof Oe!="string")return Oe===0?Oe:+Oe;Oe=Oe.replace(t,"");var Ue=L.test(Oe);return Ue||N.test(Oe)?C(Oe.slice(2),Ue?2:8):k.test(Oe)?NaN:+Oe}i.exports=function(Oe,le,Ue){var Ge=!0,rt=!0;if(typeof Oe!="function")throw new TypeError("Expected a function");return ge(Ue)&&(Ge="leading"in Ue?!!Ue.leading:Ge,rt="trailing"in Ue?!!Ue.trailing:rt),he(Oe,le,{leading:Ge,maxWait:le,trailing:rt})}}).call(this,f(4))},function(i,o,f){(function(p){function E(Q){return(E=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ae){return typeof ae}:function(ae){return ae&&typeof Symbol=="function"&&ae.constructor===Symbol&&ae!==Symbol.prototype?"symbol":typeof ae})(Q)}var t;o=i.exports=m,t=(p===void 0?"undefined":E(p))==="object"&&p.env&&p.env.NODE_DEBUG&&/\bsemver\b/i.test(p.env.NODE_DEBUG)?function(){var Q=Array.prototype.slice.call(arguments,0);Q.unshift("SEMVER"),console.log.apply(console,Q)}:function(){},o.SEMVER_SPEC_VERSION="2.0.0";var k=Number.MAX_SAFE_INTEGER||9007199254740991,L=o.re=[],N=o.src=[],C=o.tokens={},U=0;function q(Q){C[Q]=U++}q("NUMERICIDENTIFIER"),N[C.NUMERICIDENTIFIER]="0|[1-9]\\d*",q("NUMERICIDENTIFIERLOOSE"),N[C.NUMERICIDENTIFIERLOOSE]="[0-9]+",q("NONNUMERICIDENTIFIER"),N[C.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",q("MAINVERSION"),N[C.MAINVERSION]="("+N[C.NUMERICIDENTIFIER]+")\\.("+N[C.NUMERICIDENTIFIER]+")\\.("+N[C.NUMERICIDENTIFIER]+")",q("MAINVERSIONLOOSE"),N[C.MAINVERSIONLOOSE]="("+N[C.NUMERICIDENTIFIERLOOSE]+")\\.("+N[C.NUMERICIDENTIFIERLOOSE]+")\\.("+N[C.NUMERICIDENTIFIERLOOSE]+")",q("PRERELEASEIDENTIFIER"),N[C.PRERELEASEIDENTIFIER]="(?:"+N[C.NUMERICIDENTIFIER]+"|"+N[C.NONNUMERICIDENTIFIER]+")",q("PRERELEASEIDENTIFIERLOOSE"),N[C.PRERELEASEIDENTIFIERLOOSE]="(?:"+N[C.NUMERICIDENTIFIERLOOSE]+"|"+N[C.NONNUMERICIDENTIFIER]+")",q("PRERELEASE"),N[C.PRERELEASE]="(?:-("+N[C.PRERELEASEIDENTIFIER]+"(?:\\."+N[C.PRERELEASEIDENTIFIER]+")*))",q("PRERELEASELOOSE"),N[C.PRERELEASELOOSE]="(?:-?("+N[C.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+N[C.PRERELEASEIDENTIFIERLOOSE]+")*))",q("BUILDIDENTIFIER"),N[C.BUILDIDENTIFIER]="[0-9A-Za-z-]+",q("BUILD"),N[C.BUILD]="(?:\\+("+N[C.BUILDIDENTIFIER]+"(?:\\."+N[C.BUILDIDENTIFIER]+")*))",q("FULL"),q("FULLPLAIN"),N[C.FULLPLAIN]="v?"+N[C.MAINVERSION]+N[C.PRERELEASE]+"?"+N[C.BUILD]+"?",N[C.FULL]="^"+N[C.FULLPLAIN]+"$",q("LOOSEPLAIN"),N[C.LOOSEPLAIN]="[v=\\s]*"+N[C.MAINVERSIONLOOSE]+N[C.PRERELEASELOOSE]+"?"+N[C.BUILD]+"?",q("LOOSE"),N[C.LOOSE]="^"+N[C.LOOSEPLAIN]+"$",q("GTLT"),N[C.GTLT]="((?:<|>)?=?)",q("XRANGEIDENTIFIERLOOSE"),N[C.XRANGEIDENTIFIERLOOSE]=N[C.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",q("XRANGEIDENTIFIER"),N[C.XRANGEIDENTIFIER]=N[C.NUMERICIDENTIFIER]+"|x|X|\\*",q("XRANGEPLAIN"),N[C.XRANGEPLAIN]="[v=\\s]*("+N[C.XRANGEIDENTIFIER]+")(?:\\.("+N[C.XRANGEIDENTIFIER]+")(?:\\.("+N[C.XRANGEIDENTIFIER]+")(?:"+N[C.PRERELEASE]+")?"+N[C.BUILD]+"?)?)?",q("XRANGEPLAINLOOSE"),N[C.XRANGEPLAINLOOSE]="[v=\\s]*("+N[C.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+N[C.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+N[C.XRANGEIDENTIFIERLOOSE]+")(?:"+N[C.PRERELEASELOOSE]+")?"+N[C.BUILD]+"?)?)?",q("XRANGE"),N[C.XRANGE]="^"+N[C.GTLT]+"\\s*"+N[C.XRANGEPLAIN]+"$",q("XRANGELOOSE"),N[C.XRANGELOOSE]="^"+N[C.GTLT]+"\\s*"+N[C.XRANGEPLAINLOOSE]+"$",q("COERCE"),N[C.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",q("COERCERTL"),L[C.COERCERTL]=new RegExp(N[C.COERCE],"g"),q("LONETILDE"),N[C.LONETILDE]="(?:~>?)",q("TILDETRIM"),N[C.TILDETRIM]="(\\s*)"+N[C.LONETILDE]+"\\s+",L[C.TILDETRIM]=new RegExp(N[C.TILDETRIM],"g"),q("TILDE"),N[C.TILDE]="^"+N[C.LONETILDE]+N[C.XRANGEPLAIN]+"$",q("TILDELOOSE"),N[C.TILDELOOSE]="^"+N[C.LONETILDE]+N[C.XRANGEPLAINLOOSE]+"$",q("LONECARET"),N[C.LONECARET]="(?:\\^)",q("CARETTRIM"),N[C.CARETTRIM]="(\\s*)"+N[C.LONECARET]+"\\s+",L[C.CARETTRIM]=new RegExp(N[C.CARETTRIM],"g"),q("CARET"),N[C.CARET]="^"+N[C.LONECARET]+N[C.XRANGEPLAIN]+"$",q("CARETLOOSE"),N[C.CARETLOOSE]="^"+N[C.LONECARET]+N[C.XRANGEPLAINLOOSE]+"$",q("COMPARATORLOOSE"),N[C.COMPARATORLOOSE]="^"+N[C.GTLT]+"\\s*("+N[C.LOOSEPLAIN]+")$|^$",q("COMPARATOR"),N[C.COMPARATOR]="^"+N[C.GTLT]+"\\s*("+N[C.FULLPLAIN]+")$|^$",q("COMPARATORTRIM"),N[C.COMPARATORTRIM]="(\\s*)"+N[C.GTLT]+"\\s*("+N[C.LOOSEPLAIN]+"|"+N[C.XRANGEPLAIN]+")",L[C.COMPARATORTRIM]=new RegExp(N[C.COMPARATORTRIM],"g"),q("HYPHENRANGE"),N[C.HYPHENRANGE]="^\\s*("+N[C.XRANGEPLAIN]+")\\s+-\\s+("+N[C.XRANGEPLAIN]+")\\s*$",q("HYPHENRANGELOOSE"),N[C.HYPHENRANGELOOSE]="^\\s*("+N[C.XRANGEPLAINLOOSE]+")\\s+-\\s+("+N[C.XRANGEPLAINLOOSE]+")\\s*$",q("STAR"),N[C.STAR]="(<|>)?=?\\s*\\*";for(var W=0;W256||!(ae.loose?L[C.LOOSE]:L[C.FULL]).test(Q))return null;try{return new m(Q,ae)}catch(Ce){return null}}function m(Q,ae){if(ae&&E(ae)==="object"||(ae={loose:!!ae,includePrerelease:!1}),Q instanceof m){if(Q.loose===ae.loose)return Q;Q=Q.version}else if(typeof Q!="string")throw new TypeError("Invalid Version: "+Q);if(Q.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof m))return new m(Q,ae);t("SemVer",Q,ae),this.options=ae,this.loose=!!ae.loose;var Ce=Q.trim().match(ae.loose?L[C.LOOSE]:L[C.FULL]);if(!Ce)throw new TypeError("Invalid Version: "+Q);if(this.raw=Q,this.major=+Ce[1],this.minor=+Ce[2],this.patch=+Ce[3],this.major>k||this.major<0)throw new TypeError("Invalid major version");if(this.minor>k||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>k||this.patch<0)throw new TypeError("Invalid patch version");Ce[4]?this.prerelease=Ce[4].split(".").map(function(ue){if(/^[0-9]+$/.test(ue)){var je=+ue;if(je>=0&&je=0;)typeof this.prerelease[Ce]=="number"&&(this.prerelease[Ce]++,Ce=-2);Ce===-1&&this.prerelease.push(0)}ae&&(this.prerelease[0]===ae?isNaN(this.prerelease[1])&&(this.prerelease=[ae,0]):this.prerelease=[ae,0]);break;default:throw new Error("invalid increment argument: "+Q)}return this.format(),this.raw=this.version,this},o.inc=function(Q,ae,Ce,ue){typeof Ce=="string"&&(ue=Ce,Ce=void 0);try{return new m(Q,Ce).inc(ae,ue).version}catch(je){return null}},o.diff=function(Q,ae){if(pe(Q,ae))return null;var Ce=ne(Q),ue=ne(ae),je="";if(Ce.prerelease.length||ue.prerelease.length){je="pre";var ct="prerelease"}for(var At in Ce)if((At==="major"||At==="minor"||At==="patch")&&Ce[At]!==ue[At])return je+At;return ct},o.compareIdentifiers=Se;var we=/^[0-9]+$/;function Se(Q,ae){var Ce=we.test(Q),ue=we.test(ae);return Ce&&ue&&(Q=+Q,ae=+ae),Q===ae?0:Ce&&!ue?-1:ue&&!Ce?1:Q0}function ze(Q,ae,Ce){return he(Q,ae,Ce)<0}function pe(Q,ae,Ce){return he(Q,ae,Ce)===0}function Oe(Q,ae,Ce){return he(Q,ae,Ce)!==0}function le(Q,ae,Ce){return he(Q,ae,Ce)>=0}function Ue(Q,ae,Ce){return he(Q,ae,Ce)<=0}function Ge(Q,ae,Ce,ue){switch(ae){case"===":return E(Q)==="object"&&(Q=Q.version),E(Ce)==="object"&&(Ce=Ce.version),Q===Ce;case"!==":return E(Q)==="object"&&(Q=Q.version),E(Ce)==="object"&&(Ce=Ce.version),Q!==Ce;case"":case"=":case"==":return pe(Q,Ce,ue);case"!=":return Oe(Q,Ce,ue);case">":return ge(Q,Ce,ue);case">=":return le(Q,Ce,ue);case"<":return ze(Q,Ce,ue);case"<=":return Ue(Q,Ce,ue);default:throw new TypeError("Invalid operator: "+ae)}}function rt(Q,ae){if(ae&&E(ae)==="object"||(ae={loose:!!ae,includePrerelease:!1}),Q instanceof rt){if(Q.loose===!!ae.loose)return Q;Q=Q.value}if(!(this instanceof rt))return new rt(Q,ae);t("comparator",Q,ae),this.options=ae,this.loose=!!ae.loose,this.parse(Q),this.semver===wt?this.value="":this.value=this.operator+this.semver.version,t("comp",this)}o.rcompareIdentifiers=function(Q,ae){return Se(ae,Q)},o.major=function(Q,ae){return new m(Q,ae).major},o.minor=function(Q,ae){return new m(Q,ae).minor},o.patch=function(Q,ae){return new m(Q,ae).patch},o.compare=he,o.compareLoose=function(Q,ae){return he(Q,ae,!0)},o.compareBuild=function(Q,ae,Ce){var ue=new m(Q,Ce),je=new m(ae,Ce);return ue.compare(je)||ue.compareBuild(je)},o.rcompare=function(Q,ae,Ce){return he(ae,Q,Ce)},o.sort=function(Q,ae){return Q.sort(function(Ce,ue){return o.compareBuild(Ce,ue,ae)})},o.rsort=function(Q,ae){return Q.sort(function(Ce,ue){return o.compareBuild(ue,Ce,ae)})},o.gt=ge,o.lt=ze,o.eq=pe,o.neq=Oe,o.gte=le,o.lte=Ue,o.cmp=Ge,o.Comparator=rt;var wt={};function xt(Q,ae){if(ae&&E(ae)==="object"||(ae={loose:!!ae,includePrerelease:!1}),Q instanceof xt)return Q.loose===!!ae.loose&&Q.includePrerelease===!!ae.includePrerelease?Q:new xt(Q.raw,ae);if(Q instanceof rt)return new xt(Q.value,ae);if(!(this instanceof xt))return new xt(Q,ae);if(this.options=ae,this.loose=!!ae.loose,this.includePrerelease=!!ae.includePrerelease,this.raw=Q,this.set=Q.split(/\s*\|\|\s*/).map(function(Ce){return this.parseRange(Ce.trim())},this).filter(function(Ce){return Ce.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+Q);this.format()}function $e(Q,ae){for(var Ce=!0,ue=Q.slice(),je=ue.pop();Ce&&ue.length;)Ce=ue.every(function(ct){return je.intersects(ct,ae)}),je=ue.pop();return Ce}function ft(Q){return!Q||Q.toLowerCase()==="x"||Q==="*"}function Ke(Q,ae,Ce,ue,je,ct,At,en,ln,An,nr,un,Wt){return((ae=ft(Ce)?"":ft(ue)?">="+Ce+".0.0":ft(je)?">="+Ce+"."+ue+".0":">="+ae)+" "+(en=ft(ln)?"":ft(An)?"<"+(+ln+1)+".0.0":ft(nr)?"<"+ln+"."+(+An+1)+".0":un?"<="+ln+"."+An+"."+nr+"-"+un:"<="+en)).trim()}function jt(Q,ae,Ce){for(var ue=0;ue0){var je=Q[ue].semver;if(je.major===ae.major&&je.minor===ae.minor&&je.patch===ae.patch)return!0}return!1}return!0}function $t(Q,ae,Ce){try{ae=new xt(ae,Ce)}catch(ue){return!1}return ae.test(Q)}function at(Q,ae,Ce,ue){var je,ct,At,en,ln;switch(Q=new m(Q,ue),ae=new xt(ae,ue),Ce){case">":je=ge,ct=Ue,At=ze,en=">",ln=">=";break;case"<":je=ze,ct=le,At=ge,en="<",ln="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if($t(Q,ae,ue))return!1;for(var An=0;An=0.0.0")),un=un||vr,Wt=Wt||vr,je(vr.semver,un.semver,ue)?un=vr:At(vr.semver,Wt.semver,ue)&&(Wt=vr)}),un.operator===en||un.operator===ln||(!Wt.operator||Wt.operator===en)&&ct(Q,Wt.semver)||Wt.operator===ln&&At(Q,Wt.semver))return!1}return!0}rt.prototype.parse=function(Q){var ae=this.options.loose?L[C.COMPARATORLOOSE]:L[C.COMPARATOR],Ce=Q.match(ae);if(!Ce)throw new TypeError("Invalid comparator: "+Q);this.operator=Ce[1]!==void 0?Ce[1]:"",this.operator==="="&&(this.operator=""),Ce[2]?this.semver=new m(Ce[2],this.options.loose):this.semver=wt},rt.prototype.toString=function(){return this.value},rt.prototype.test=function(Q){if(t("Comparator.test",Q,this.options.loose),this.semver===wt||Q===wt)return!0;if(typeof Q=="string")try{Q=new m(Q,this.options)}catch(ae){return!1}return Ge(Q,this.operator,this.semver,this.options)},rt.prototype.intersects=function(Q,ae){if(!(Q instanceof rt))throw new TypeError("a Comparator is required");var Ce;if(ae&&E(ae)==="object"||(ae={loose:!!ae,includePrerelease:!1}),this.operator==="")return this.value===""||(Ce=new xt(Q.value,ae),$t(this.value,Ce,ae));if(Q.operator==="")return Q.value===""||(Ce=new xt(this.value,ae),$t(Q.semver,Ce,ae));var ue=!(this.operator!==">="&&this.operator!==">"||Q.operator!==">="&&Q.operator!==">"),je=!(this.operator!=="<="&&this.operator!=="<"||Q.operator!=="<="&&Q.operator!=="<"),ct=this.semver.version===Q.semver.version,At=!(this.operator!==">="&&this.operator!=="<="||Q.operator!==">="&&Q.operator!=="<="),en=Ge(this.semver,"<",Q.semver,ae)&&(this.operator===">="||this.operator===">")&&(Q.operator==="<="||Q.operator==="<"),ln=Ge(this.semver,">",Q.semver,ae)&&(this.operator==="<="||this.operator==="<")&&(Q.operator===">="||Q.operator===">");return ue||je||ct&&At||en||ln},o.Range=xt,xt.prototype.format=function(){return this.range=this.set.map(function(Q){return Q.join(" ").trim()}).join("||").trim(),this.range},xt.prototype.toString=function(){return this.range},xt.prototype.parseRange=function(Q){var ae=this.options.loose;Q=Q.trim();var Ce=ae?L[C.HYPHENRANGELOOSE]:L[C.HYPHENRANGE];Q=Q.replace(Ce,Ke),t("hyphen replace",Q),Q=Q.replace(L[C.COMPARATORTRIM],"$1$2$3"),t("comparator trim",Q,L[C.COMPARATORTRIM]),Q=(Q=(Q=Q.replace(L[C.TILDETRIM],"$1~")).replace(L[C.CARETTRIM],"$1^")).split(/\s+/).join(" ");var ue=ae?L[C.COMPARATORLOOSE]:L[C.COMPARATOR],je=Q.split(" ").map(function(ct){return function(At,en){return t("comp",At,en),At=function(ln,An){return ln.trim().split(/\s+/).map(function(nr){return function(un,Wt){t("caret",un,Wt);var vr=Wt.loose?L[C.CARETLOOSE]:L[C.CARET];return un.replace(vr,function(w,Ut,Vn,fr,Fr){var ur;return t("caret",un,w,Ut,Vn,fr,Fr),ft(Ut)?ur="":ft(Vn)?ur=">="+Ut+".0.0 <"+(+Ut+1)+".0.0":ft(fr)?ur=Ut==="0"?">="+Ut+"."+Vn+".0 <"+Ut+"."+(+Vn+1)+".0":">="+Ut+"."+Vn+".0 <"+(+Ut+1)+".0.0":Fr?(t("replaceCaret pr",Fr),ur=Ut==="0"?Vn==="0"?">="+Ut+"."+Vn+"."+fr+"-"+Fr+" <"+Ut+"."+Vn+"."+(+fr+1):">="+Ut+"."+Vn+"."+fr+"-"+Fr+" <"+Ut+"."+(+Vn+1)+".0":">="+Ut+"."+Vn+"."+fr+"-"+Fr+" <"+(+Ut+1)+".0.0"):(t("no pr"),ur=Ut==="0"?Vn==="0"?">="+Ut+"."+Vn+"."+fr+" <"+Ut+"."+Vn+"."+(+fr+1):">="+Ut+"."+Vn+"."+fr+" <"+Ut+"."+(+Vn+1)+".0":">="+Ut+"."+Vn+"."+fr+" <"+(+Ut+1)+".0.0"),t("caret return",ur),ur})}(nr,An)}).join(" ")}(At,en),t("caret",At),At=function(ln,An){return ln.trim().split(/\s+/).map(function(nr){return function(un,Wt){var vr=Wt.loose?L[C.TILDELOOSE]:L[C.TILDE];return un.replace(vr,function(w,Ut,Vn,fr,Fr){var ur;return t("tilde",un,w,Ut,Vn,fr,Fr),ft(Ut)?ur="":ft(Vn)?ur=">="+Ut+".0.0 <"+(+Ut+1)+".0.0":ft(fr)?ur=">="+Ut+"."+Vn+".0 <"+Ut+"."+(+Vn+1)+".0":Fr?(t("replaceTilde pr",Fr),ur=">="+Ut+"."+Vn+"."+fr+"-"+Fr+" <"+Ut+"."+(+Vn+1)+".0"):ur=">="+Ut+"."+Vn+"."+fr+" <"+Ut+"."+(+Vn+1)+".0",t("tilde return",ur),ur})}(nr,An)}).join(" ")}(At,en),t("tildes",At),At=function(ln,An){return t("replaceXRanges",ln,An),ln.split(/\s+/).map(function(nr){return function(un,Wt){un=un.trim();var vr=Wt.loose?L[C.XRANGELOOSE]:L[C.XRANGE];return un.replace(vr,function(w,Ut,Vn,fr,Fr,ur){t("xRange",un,w,Ut,Vn,fr,Fr,ur);var br=ft(Vn),Kt=br||ft(fr),vu=Kt||ft(Fr),a0=vu;return Ut==="="&&a0&&(Ut=""),ur=Wt.includePrerelease?"-0":"",br?w=Ut===">"||Ut==="<"?"<0.0.0-0":"*":Ut&&a0?(Kt&&(fr=0),Fr=0,Ut===">"?(Ut=">=",Kt?(Vn=+Vn+1,fr=0,Fr=0):(fr=+fr+1,Fr=0)):Ut==="<="&&(Ut="<",Kt?Vn=+Vn+1:fr=+fr+1),w=Ut+Vn+"."+fr+"."+Fr+ur):Kt?w=">="+Vn+".0.0"+ur+" <"+(+Vn+1)+".0.0"+ur:vu&&(w=">="+Vn+"."+fr+".0"+ur+" <"+Vn+"."+(+fr+1)+".0"+ur),t("xRange return",w),w})}(nr,An)}).join(" ")}(At,en),t("xrange",At),At=function(ln,An){return t("replaceStars",ln,An),ln.trim().replace(L[C.STAR],"")}(At,en),t("stars",At),At}(ct,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(je=je.filter(function(ct){return!!ct.match(ue)})),je=je.map(function(ct){return new rt(ct,this.options)},this)},xt.prototype.intersects=function(Q,ae){if(!(Q instanceof xt))throw new TypeError("a Range is required");return this.set.some(function(Ce){return $e(Ce,ae)&&Q.set.some(function(ue){return $e(ue,ae)&&Ce.every(function(je){return ue.every(function(ct){return je.intersects(ct,ae)})})})})},o.toComparators=function(Q,ae){return new xt(Q,ae).set.map(function(Ce){return Ce.map(function(ue){return ue.value}).join(" ").trim().split(" ")})},xt.prototype.test=function(Q){if(!Q)return!1;if(typeof Q=="string")try{Q=new m(Q,this.options)}catch(Ce){return!1}for(var ae=0;ae":ct.prerelease.length===0?ct.patch++:ct.prerelease.push(0),ct.raw=ct.format();case"":case">=":Ce&&!ge(Ce,ct)||(Ce=ct);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+je.operator)}});return Ce&&Q.test(Ce)?Ce:null},o.validRange=function(Q,ae){try{return new xt(Q,ae).range||"*"}catch(Ce){return null}},o.ltr=function(Q,ae,Ce){return at(Q,ae,"<",Ce)},o.gtr=function(Q,ae,Ce){return at(Q,ae,">",Ce)},o.outside=at,o.prerelease=function(Q,ae){var Ce=ne(Q,ae);return Ce&&Ce.prerelease.length?Ce.prerelease:null},o.intersects=function(Q,ae,Ce){return Q=new xt(Q,Ce),ae=new xt(ae,Ce),Q.intersects(ae)},o.coerce=function(Q,ae){if(Q instanceof m)return Q;if(typeof Q=="number"&&(Q=String(Q)),typeof Q!="string")return null;var Ce=null;if((ae=ae||{}).rtl){for(var ue;(ue=L[C.COERCERTL].exec(Q))&&(!Ce||Ce.index+Ce[0].length!==Q.length);)Ce&&ue.index+ue[0].length===Ce.index+Ce[0].length||(Ce=ue),L[C.COERCERTL].lastIndex=ue.index+ue[1].length+ue[2].length;L[C.COERCERTL].lastIndex=-1}else Ce=Q.match(L[C.COERCE]);return Ce===null?null:ne(Ce[2]+"."+(Ce[3]||"0")+"."+(Ce[4]||"0"),ae)}}).call(this,f(5))},function(i,o){function f(E){return(f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(E)}var p;p=function(){return this}();try{p=p||new Function("return this")()}catch(E){(typeof window=="undefined"?"undefined":f(window))==="object"&&(p=window)}i.exports=p},function(i,o){var f,p,E=i.exports={};function t(){throw new Error("setTimeout has not been defined")}function k(){throw new Error("clearTimeout has not been defined")}function L(Se){if(f===setTimeout)return setTimeout(Se,0);if((f===t||!f)&&setTimeout)return f=setTimeout,setTimeout(Se,0);try{return f(Se,0)}catch(he){try{return f.call(null,Se,0)}catch(ge){return f.call(this,Se,0)}}}(function(){try{f=typeof setTimeout=="function"?setTimeout:t}catch(Se){f=t}try{p=typeof clearTimeout=="function"?clearTimeout:k}catch(Se){p=k}})();var N,C=[],U=!1,q=-1;function W(){U&&N&&(U=!1,N.length?C=N.concat(C):q=-1,C.length&&ne())}function ne(){if(!U){var Se=L(W);U=!0;for(var he=C.length;he;){for(N=C,C=[];++q1)for(var ge=1;gethis[k])return Oe(this,this[m].get($e)),!1;var at=this[m].get($e).value;return this[q]&&(this[W]||this[q]($e,at.value)),at.now=jt,at.maxAge=Ke,at.value=ft,this[L]+=$t-at.length,at.length=$t,this.get($e),pe(this),!0}var Q=new le($e,ft,$t,jt,Ke);return Q.length>this[k]?(this[q]&&this[q]($e,ft),!1):(this[L]+=Q.length,this[ne].unshift(Q),this[m].set($e,this[ne].head),pe(this),!0)}},{key:"has",value:function($e){if(!this[m].has($e))return!1;var ft=this[m].get($e).value;return!ze(this,ft)}},{key:"get",value:function($e){return ge(this,$e,!0)}},{key:"peek",value:function($e){return ge(this,$e,!1)}},{key:"pop",value:function(){var $e=this[ne].tail;return $e?(Oe(this,$e),$e.value):null}},{key:"del",value:function($e){Oe(this,this[m].get($e))}},{key:"load",value:function($e){this.reset();for(var ft=Date.now(),Ke=$e.length-1;Ke>=0;Ke--){var jt=$e[Ke],$t=jt.e||0;if($t===0)this.set(jt.k,jt.v);else{var at=$t-ft;at>0&&this.set(jt.k,jt.v,at)}}}},{key:"prune",value:function(){var $e=this;this[m].forEach(function(ft,Ke){return ge($e,Ke,!1)})}},{key:"max",set:function($e){if(typeof $e!="number"||$e<0)throw new TypeError("max must be a non-negative number");this[k]=$e||1/0,pe(this)},get:function(){return this[k]}},{key:"allowStale",set:function($e){this[C]=!!$e},get:function(){return this[C]}},{key:"maxAge",set:function($e){if(typeof $e!="number")throw new TypeError("maxAge must be a non-negative number");this[U]=$e,pe(this)},get:function(){return this[U]}},{key:"lengthCalculator",set:function($e){var ft=this;typeof $e!="function"&&($e=Se),$e!==this[N]&&(this[N]=$e,this[L]=0,this[ne].forEach(function(Ke){Ke.length=ft[N](Ke.value,Ke.key),ft[L]+=Ke.length})),pe(this)},get:function(){return this[N]}},{key:"length",get:function(){return this[L]}},{key:"itemCount",get:function(){return this[ne].length}}])&&E(rt.prototype,wt),xt&&E(rt,xt),Ge}(),ge=function(Ge,rt,wt){var xt=Ge[m].get(rt);if(xt){var $e=xt.value;if(ze(Ge,$e)){if(Oe(Ge,xt),!Ge[C])return}else wt&&(Ge[we]&&(xt.value.now=Date.now()),Ge[ne].unshiftNode(xt));return $e.value}},ze=function(Ge,rt){if(!rt||!rt.maxAge&&!Ge[U])return!1;var wt=Date.now()-rt.now;return rt.maxAge?wt>rt.maxAge:Ge[U]&&wt>Ge[U]},pe=function(Ge){if(Ge[L]>Ge[k])for(var rt=Ge[ne].tail;Ge[L]>Ge[k]&&rt!==null;){var wt=rt.prev;Oe(Ge,rt),rt=wt}},Oe=function(Ge,rt){if(rt){var wt=rt.value;Ge[q]&&Ge[q](wt.key,wt.value),Ge[L]-=wt.length,Ge[m].delete(wt.key),Ge[ne].removeNode(rt)}},le=function Ge(rt,wt,xt,$e,ft){p(this,Ge),this.key=rt,this.value=wt,this.length=xt,this.now=$e,this.maxAge=ft||0},Ue=function(Ge,rt,wt,xt){var $e=wt.value;ze(Ge,$e)&&(Oe(Ge,wt),Ge[C]||($e=void 0)),$e&&rt.call(xt,$e.value,$e.key,Ge)};i.exports=he},function(i,o,f){(function(p){function E(t){return(E=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k})(t)}i.exports=function(){if(typeof document=="undefined"||!document.addEventListener)return null;var t,k,L,N={};return N.copy=function(){var C=!1,U=null,q=!1;function W(){C=!1,U=null,q&&window.getSelection().removeAllRanges(),q=!1}return document.addEventListener("copy",function(ne){if(C){for(var m in U)ne.clipboardData.setData(m,U[m]);ne.preventDefault()}}),function(ne){return new Promise(function(m,we){C=!0,typeof ne=="string"?U={"text/plain":ne}:ne instanceof Node?U={"text/html":new XMLSerializer().serializeToString(ne)}:ne instanceof Object?U=ne:we("Invalid data type. Must be string, DOM node, or an object mapping MIME types to strings."),function Se(he){try{if(document.execCommand("copy"))W(),m();else{if(he)throw W(),new Error("Unable to copy. Perhaps it's not available in your browser?");(function(){var ge=document.getSelection();if(!document.queryCommandEnabled("copy")&&ge.isCollapsed){var ze=document.createRange();ze.selectNodeContents(document.body),ge.removeAllRanges(),ge.addRange(ze),q=!0}})(),Se(!0)}}catch(ge){W(),we(ge)}}(!1)})}}(),N.paste=(L=!1,document.addEventListener("paste",function(C){if(L){L=!1,C.preventDefault();var U=t;t=null,U(C.clipboardData.getData(k))}}),function(C){return new Promise(function(U,q){L=!0,t=U,k=C||"text/plain";try{document.execCommand("paste")||(L=!1,q(new Error("Unable to paste. Pasting only works in Internet Explorer at the moment.")))}catch(W){L=!1,q(new Error(W))}})}),typeof ClipboardEvent=="undefined"&&window.clipboardData!==void 0&&window.clipboardData.setData!==void 0&&(function(C){function U(pe,Oe){return function(){pe.apply(Oe,arguments)}}function q(pe){if(E(this)!="object")throw new TypeError("Promises must be constructed via new");if(typeof pe!="function")throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],he(pe,U(ne,this),U(m,this))}function W(pe){var Oe=this;return this._state===null?void this._deferreds.push(pe):void ge(function(){var le=Oe._state?pe.onFulfilled:pe.onRejected;if(le!==null){var Ue;try{Ue=le(Oe._value)}catch(Ge){return void pe.reject(Ge)}pe.resolve(Ue)}else(Oe._state?pe.resolve:pe.reject)(Oe._value)})}function ne(pe){try{if(pe===this)throw new TypeError("A promise cannot be resolved with itself.");if(pe&&(E(pe)=="object"||typeof pe=="function")){var Oe=pe.then;if(typeof Oe=="function")return void he(U(Oe,pe),U(ne,this),U(m,this))}this._state=!0,this._value=pe,we.call(this)}catch(le){m.call(this,le)}}function m(pe){this._state=!1,this._value=pe,we.call(this)}function we(){for(var pe=0,Oe=this._deferreds.length;Oe>pe;pe++)W.call(this,this._deferreds[pe]);this._deferreds=null}function Se(pe,Oe,le,Ue){this.onFulfilled=typeof pe=="function"?pe:null,this.onRejected=typeof Oe=="function"?Oe:null,this.resolve=le,this.reject=Ue}function he(pe,Oe,le){var Ue=!1;try{pe(function(Ge){Ue||(Ue=!0,Oe(Ge))},function(Ge){Ue||(Ue=!0,le(Ge))})}catch(Ge){if(Ue)return;Ue=!0,le(Ge)}}var ge=q.immediateFn||typeof p=="function"&&p||function(pe){setTimeout(pe,1)},ze=Array.isArray||function(pe){return Object.prototype.toString.call(pe)==="[object Array]"};q.prototype.catch=function(pe){return this.then(null,pe)},q.prototype.then=function(pe,Oe){var le=this;return new q(function(Ue,Ge){W.call(le,new Se(pe,Oe,Ue,Ge))})},q.all=function(){var pe=Array.prototype.slice.call(arguments.length===1&&ze(arguments[0])?arguments[0]:arguments);return new q(function(Oe,le){function Ue(wt,xt){try{if(xt&&(E(xt)=="object"||typeof xt=="function")){var $e=xt.then;if(typeof $e=="function")return void $e.call(xt,function(ft){Ue(wt,ft)},le)}pe[wt]=xt,--Ge==0&&Oe(pe)}catch(ft){le(ft)}}if(pe.length===0)return Oe([]);for(var Ge=pe.length,rt=0;rtUe;Ue++)pe[Ue].then(Oe,le)})},i.exports?i.exports=q:C.Promise||(C.Promise=q)}(this),N.copy=function(C){return new Promise(function(U,q){if(typeof C!="string"&&!("text/plain"in C))throw new Error("You must provide a text/plain type.");var W=typeof C=="string"?C:C["text/plain"];window.clipboardData.setData("Text",W)?U():q(new Error("Copying was rejected."))})},N.paste=function(){return new Promise(function(C,U){var q=window.clipboardData.getData("Text");q?C(q):U(new Error("Pasting was rejected."))})}),N}()}).call(this,f(13).setImmediate)},function(i,o,f){"use strict";i.exports=f(15)},function(i,o,f){"use strict";f.r(o),o.default=`:root { + /** + * IMPORTANT: When new theme variables are added below\u2013 also add them to SettingsContext updateThemeVariables() + */ + + /* Light theme */ + --light-color-attribute-name: #ef6632; + --light-color-attribute-name-not-editable: #23272f; + --light-color-attribute-name-inverted: rgba(255, 255, 255, 0.7); + --light-color-attribute-value: #1a1aa6; + --light-color-attribute-value-inverted: #ffffff; + --light-color-attribute-editable-value: #1a1aa6; + --light-color-background: #ffffff; + --light-color-background-hover: rgba(0, 136, 250, 0.1); + --light-color-background-inactive: #e5e5e5; + --light-color-background-invalid: #fff0f0; + --light-color-background-selected: #0088fa; + --light-color-button-background: #ffffff; + --light-color-button-background-focus: #ededed; + --light-color-button: #5f6673; + --light-color-button-disabled: #cfd1d5; + --light-color-button-active: #0088fa; + --light-color-button-focus: #23272f; + --light-color-button-hover: #23272f; + --light-color-border: #eeeeee; + --light-color-commit-did-not-render-fill: #cfd1d5; + --light-color-commit-did-not-render-fill-text: #000000; + --light-color-commit-did-not-render-pattern: #cfd1d5; + --light-color-commit-did-not-render-pattern-text: #333333; + --light-color-commit-gradient-0: #37afa9; + --light-color-commit-gradient-1: #63b19e; + --light-color-commit-gradient-2: #80b393; + --light-color-commit-gradient-3: #97b488; + --light-color-commit-gradient-4: #abb67d; + --light-color-commit-gradient-5: #beb771; + --light-color-commit-gradient-6: #cfb965; + --light-color-commit-gradient-7: #dfba57; + --light-color-commit-gradient-8: #efbb49; + --light-color-commit-gradient-9: #febc38; + --light-color-commit-gradient-text: #000000; + --light-color-component-name: #6a51b2; + --light-color-component-name-inverted: #ffffff; + --light-color-component-badge-background: rgba(0, 0, 0, 0.1); + --light-color-component-badge-background-inverted: rgba(255, 255, 255, 0.25); + --light-color-component-badge-count: #777d88; + --light-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7); + --light-color-context-background: rgba(0,0,0,.9); + --light-color-context-background-hover: rgba(255, 255, 255, 0.1); + --light-color-context-background-selected: #178fb9; + --light-color-context-border: #3d424a; + --light-color-context-text: #ffffff; + --light-color-context-text-selected: #ffffff; + --light-color-dim: #777d88; + --light-color-dimmer: #cfd1d5; + --light-color-dimmest: #eff0f1; + --light-color-error-background: hsl(0, 100%, 97%); + --light-color-error-border: hsl(0, 100%, 92%); + --light-color-error-text: #ff0000; + --light-color-expand-collapse-toggle: #777d88; + --light-color-link: #0000ff; + --light-color-modal-background: rgba(255, 255, 255, 0.75); + --light-color-record-active: #fc3a4b; + --light-color-record-hover: #3578e5; + --light-color-record-inactive: #0088fa; + --light-color-scroll-thumb: #c2c2c2; + --light-color-scroll-track: #fafafa; + --light-color-search-match: yellow; + --light-color-search-match-current: #f7923b; + --light-color-selected-tree-highlight-active: rgba(0, 136, 250, 0.1); + --light-color-selected-tree-highlight-inactive: rgba(0, 0, 0, 0.05); + --light-color-shadow: rgba(0, 0, 0, 0.25); + --light-color-tab-selected-border: #0088fa; + --light-color-text: #000000; + --light-color-text-invalid: #ff0000; + --light-color-text-selected: #ffffff; + --light-color-toggle-background-invalid: #fc3a4b; + --light-color-toggle-background-on: #0088fa; + --light-color-toggle-background-off: #cfd1d5; + --light-color-toggle-text: #ffffff; + --light-color-tooltip-background: rgba(0, 0, 0, 0.9); + --light-color-tooltip-text: #ffffff; + + /* Dark theme */ + --dark-color-attribute-name: #9d87d2; + --dark-color-attribute-name-not-editable: #ededed; + --dark-color-attribute-name-inverted: #282828; + --dark-color-attribute-value: #cedae0; + --dark-color-attribute-value-inverted: #ffffff; + --dark-color-attribute-editable-value: yellow; + --dark-color-background: #282c34; + --dark-color-background-hover: rgba(255, 255, 255, 0.1); + --dark-color-background-inactive: #3d424a; + --dark-color-background-invalid: #5c0000; + --dark-color-background-selected: #178fb9; + --dark-color-button-background: #282c34; + --dark-color-button-background-focus: #3d424a; + --dark-color-button: #afb3b9; + --dark-color-button-active: #61dafb; + --dark-color-button-disabled: #4f5766; + --dark-color-button-focus: #a2e9fc; + --dark-color-button-hover: #ededed; + --dark-color-border: #3d424a; + --dark-color-commit-did-not-render-fill: #777d88; + --dark-color-commit-did-not-render-fill-text: #000000; + --dark-color-commit-did-not-render-pattern: #666c77; + --dark-color-commit-did-not-render-pattern-text: #ffffff; + --dark-color-commit-gradient-0: #37afa9; + --dark-color-commit-gradient-1: #63b19e; + --dark-color-commit-gradient-2: #80b393; + --dark-color-commit-gradient-3: #97b488; + --dark-color-commit-gradient-4: #abb67d; + --dark-color-commit-gradient-5: #beb771; + --dark-color-commit-gradient-6: #cfb965; + --dark-color-commit-gradient-7: #dfba57; + --dark-color-commit-gradient-8: #efbb49; + --dark-color-commit-gradient-9: #febc38; + --dark-color-commit-gradient-text: #000000; + --dark-color-component-name: #61dafb; + --dark-color-component-name-inverted: #282828; + --dark-color-component-badge-background: rgba(255, 255, 255, 0.25); + --dark-color-component-badge-background-inverted: rgba(0, 0, 0, 0.25); + --dark-color-component-badge-count: #8f949d; + --dark-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7); + --dark-color-context-background: rgba(255,255,255,.9); + --dark-color-context-background-hover: rgba(0, 136, 250, 0.1); + --dark-color-context-background-selected: #0088fa; + --dark-color-context-border: #eeeeee; + --dark-color-context-text: #000000; + --dark-color-context-text-selected: #ffffff; + --dark-color-dim: #8f949d; + --dark-color-dimmer: #777d88; + --dark-color-dimmest: #4f5766; + --dark-color-error-background: #200; + --dark-color-error-border: #900; + --dark-color-error-text: #f55; + --dark-color-expand-collapse-toggle: #8f949d; + --dark-color-link: #61dafb; + --dark-color-modal-background: rgba(0, 0, 0, 0.75); + --dark-color-record-active: #fc3a4b; + --dark-color-record-hover: #a2e9fc; + --dark-color-record-inactive: #61dafb; + --dark-color-scroll-thumb: #afb3b9; + --dark-color-scroll-track: #313640; + --dark-color-search-match: yellow; + --dark-color-search-match-current: #f7923b; + --dark-color-selected-tree-highlight-active: rgba(23, 143, 185, 0.15); + --dark-color-selected-tree-highlight-inactive: rgba(255, 255, 255, 0.05); + --dark-color-shadow: rgba(0, 0, 0, 0.5); + --dark-color-tab-selected-border: #178fb9; + --dark-color-text: #ffffff; + --dark-color-text-invalid: #ff8080; + --dark-color-text-selected: #ffffff; + --dark-color-toggle-background-invalid: #fc3a4b; + --dark-color-toggle-background-on: #178fb9; + --dark-color-toggle-background-off: #777d88; + --dark-color-toggle-text: #ffffff; + --dark-color-tooltip-background: rgba(255, 255, 255, 0.9); + --dark-color-tooltip-text: #000000; + + /* Font smoothing */ + --light-font-smoothing: auto; + --dark-font-smoothing: antialiased; + --font-smoothing: auto; + + /* Compact density */ + --compact-font-size-monospace-small: 9px; + --compact-font-size-monospace-normal: 11px; + --compact-font-size-monospace-large: 15px; + --compact-font-size-sans-small: 10px; + --compact-font-size-sans-normal: 12px; + --compact-font-size-sans-large: 14px; + --compact-line-height-data: 18px; + --compact-root-font-size: 16px; + + /* Comfortable density */ + --comfortable-font-size-monospace-small: 10px; + --comfortable-font-size-monospace-normal: 13px; + --comfortable-font-size-monospace-large: 17px; + --comfortable-font-size-sans-small: 12px; + --comfortable-font-size-sans-normal: 14px; + --comfortable-font-size-sans-large: 16px; + --comfortable-line-height-data: 22px; + --comfortable-root-font-size: 20px; + + /* GitHub.com system fonts */ + --font-family-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, + Courier, monospace; + --font-family-sans: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, + Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + + /* Constant values shared between JS and CSS */ + --interaction-commit-size: 10px; + --interaction-label-width: 200px; +} +`},function(i,o,f){"use strict";function p(N){var C=this;if(C instanceof p||(C=new p),C.tail=null,C.head=null,C.length=0,N&&typeof N.forEach=="function")N.forEach(function(W){C.push(W)});else if(arguments.length>0)for(var U=0,q=arguments.length;U1)U=C;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");q=this.head.next,U=this.head.value}for(var W=0;q!==null;W++)U=N(U,q.value,W),q=q.next;return U},p.prototype.reduceReverse=function(N,C){var U,q=this.tail;if(arguments.length>1)U=C;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");q=this.tail.prev,U=this.tail.value}for(var W=this.length-1;q!==null;W--)U=N(U,q.value,W),q=q.prev;return U},p.prototype.toArray=function(){for(var N=new Array(this.length),C=0,U=this.head;U!==null;C++)N[C]=U.value,U=U.next;return N},p.prototype.toArrayReverse=function(){for(var N=new Array(this.length),C=0,U=this.tail;U!==null;C++)N[C]=U.value,U=U.prev;return N},p.prototype.slice=function(N,C){(C=C||this.length)<0&&(C+=this.length),(N=N||0)<0&&(N+=this.length);var U=new p;if(Cthis.length&&(C=this.length);for(var q=0,W=this.head;W!==null&&qthis.length&&(C=this.length);for(var q=this.length,W=this.tail;W!==null&&q>C;q--)W=W.prev;for(;W!==null&&q>N;q--,W=W.prev)U.push(W.value);return U},p.prototype.splice=function(N,C){N>this.length&&(N=this.length-1),N<0&&(N=this.length+N);for(var U=0,q=this.head;q!==null&&U=0&&(L._idleTimeoutId=setTimeout(function(){L._onTimeout&&L._onTimeout()},N))},f(14),o.setImmediate=typeof self!="undefined"&&self.setImmediate||p!==void 0&&p.setImmediate||this&&this.setImmediate,o.clearImmediate=typeof self!="undefined"&&self.clearImmediate||p!==void 0&&p.clearImmediate||this&&this.clearImmediate}).call(this,f(4))},function(i,o,f){(function(p,E){(function(t,k){"use strict";if(!t.setImmediate){var L,N,C,U,q,W=1,ne={},m=!1,we=t.document,Se=Object.getPrototypeOf&&Object.getPrototypeOf(t);Se=Se&&Se.setTimeout?Se:t,{}.toString.call(t.process)==="[object process]"?L=function(ze){E.nextTick(function(){ge(ze)})}:function(){if(t.postMessage&&!t.importScripts){var ze=!0,pe=t.onmessage;return t.onmessage=function(){ze=!1},t.postMessage("","*"),t.onmessage=pe,ze}}()?(U="setImmediate$"+Math.random()+"$",q=function(ze){ze.source===t&&typeof ze.data=="string"&&ze.data.indexOf(U)===0&&ge(+ze.data.slice(U.length))},t.addEventListener?t.addEventListener("message",q,!1):t.attachEvent("onmessage",q),L=function(ze){t.postMessage(U+ze,"*")}):t.MessageChannel?((C=new MessageChannel).port1.onmessage=function(ze){ge(ze.data)},L=function(ze){C.port2.postMessage(ze)}):we&&"onreadystatechange"in we.createElement("script")?(N=we.documentElement,L=function(ze){var pe=we.createElement("script");pe.onreadystatechange=function(){ge(ze),pe.onreadystatechange=null,N.removeChild(pe),pe=null},N.appendChild(pe)}):L=function(ze){setTimeout(ge,0,ze)},Se.setImmediate=function(ze){typeof ze!="function"&&(ze=new Function(""+ze));for(var pe=new Array(arguments.length-1),Oe=0;Oeae;ae++)if((Q=he(at,jt,ae))!==-1){Se=ae,jt=Q;break e}jt=-1}}e:{if(at=$t,(Q=W().get(Ke.primitive))!==void 0){for(ae=0;aejt-at?null:$t.slice(at,jt-1))!==null){if(jt=0,rt!==null){for(;jt<$t.length&&jtjt;rt--)wt=$e.pop()}for(rt=$t.length-jt-1;1<=rt;rt--)jt=[],wt.push({id:null,isStateEditable:!1,name:ze($t[rt-1].functionName),value:void 0,subHooks:jt}),$e.push(wt),wt=jt;rt=$t}jt=($t=Ke.primitive)==="Context"||$t==="DebugValue"?null:xt++,wt.push({id:jt,isStateEditable:$t==="Reducer"||$t==="State",name:$t,value:Ke.value,subHooks:[]})}return function Ce(ue,je){for(var ct=[],At=0;At-1&&(ne=ne.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,""));var m=ne.replace(/^\s+/,"").replace(/\(eval code/g,"("),we=m.match(/ (\((.+):(\d+):(\d+)\)$)/),Se=(m=we?m.replace(we[0],""):m).split(/\s+/).slice(1),he=this.extractLocation(we?we[1]:Se.pop()),ge=Se.join(" ")||void 0,ze=["eval",""].indexOf(he[0])>-1?void 0:he[0];return new N({functionName:ge,fileName:ze,lineNumber:he[1],columnNumber:he[2],source:ne})},this)},parseFFOrSafari:function(W){return W.stack.split(` +`).filter(function(ne){return!ne.match(q)},this).map(function(ne){if(ne.indexOf(" > eval")>-1&&(ne=ne.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),ne.indexOf("@")===-1&&ne.indexOf(":")===-1)return new N({functionName:ne});var m=/((.*".+"[^@]*)?[^@]*)(?:@)/,we=ne.match(m),Se=we&&we[1]?we[1]:void 0,he=this.extractLocation(ne.replace(m,""));return new N({functionName:Se,fileName:he[0],lineNumber:he[1],columnNumber:he[2],source:ne})},this)},parseOpera:function(W){return!W.stacktrace||W.message.indexOf(` +`)>-1&&W.message.split(` +`).length>W.stacktrace.split(` +`).length?this.parseOpera9(W):W.stack?this.parseOpera11(W):this.parseOpera10(W)},parseOpera9:function(W){for(var ne=/Line (\d+).*script (?:in )?(\S+)/i,m=W.message.split(` +`),we=[],Se=2,he=m.length;Se/,"$2").replace(/\([^)]*\)/g,"")||void 0;he.match(/\(([^)]*)\)/)&&(m=he.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var ze=m===void 0||m==="[arguments not available]"?void 0:m.split(",");return new N({functionName:ge,args:ze,fileName:Se[0],lineNumber:Se[1],columnNumber:Se[2],source:ne})},this)}}})=="function"?p.apply(o,E):p)===void 0||(i.exports=t)})()},function(i,o,f){var p,E,t;(function(k,L){"use strict";E=[],(t=typeof(p=function(){function N(ge){return ge.charAt(0).toUpperCase()+ge.substring(1)}function C(ge){return function(){return this[ge]}}var U=["isConstructor","isEval","isNative","isToplevel"],q=["columnNumber","lineNumber"],W=["fileName","functionName","source"],ne=U.concat(q,W,["args"]);function m(ge){if(ge)for(var ze=0;ze1?xe-1:0),ke=1;ke=0&&xe.splice(Z,1)}}}])&&p(z.prototype,G),$&&p(z,$),B}(),t=f(2),k=f.n(t);try{var L=f(9).default,N=function(B){var z=new RegExp("".concat(B,": ([0-9]+)")),G=L.match(z);return parseInt(G[1],10)};N("comfortable-line-height-data"),N("compact-line-height-data")}catch(B){}function C(B){try{return sessionStorage.getItem(B)}catch(z){return null}}function U(B){try{sessionStorage.removeItem(B)}catch(z){}}function q(B,z){try{return sessionStorage.setItem(B,z)}catch(G){}}var W=function(B,z){return B===z},ne=f(1),m=f.n(ne);function we(B){return B.ownerDocument?B.ownerDocument.defaultView:null}function Se(B){var z=we(B);return z?z.frameElement:null}function he(B){var z=pe(B);return ge([B.getBoundingClientRect(),{top:z.borderTop,left:z.borderLeft,bottom:z.borderBottom,right:z.borderRight,width:0,height:0}])}function ge(B){return B.reduce(function(z,G){return z==null?G:{top:z.top+G.top,left:z.left+G.left,width:z.width,height:z.height,bottom:z.bottom+G.bottom,right:z.right+G.right}})}function ze(B,z){var G=Se(B);if(G&&G!==z){for(var $=[B.getBoundingClientRect()],De=G,me=!1;De;){var xe=he(De);if($.push(xe),De=Se(De),me)break;De&&we(De)===z&&(me=!0)}return ge($)}return B.getBoundingClientRect()}function pe(B){var z=window.getComputedStyle(B);return{borderLeft:parseInt(z.borderLeftWidth,10),borderRight:parseInt(z.borderRightWidth,10),borderTop:parseInt(z.borderTopWidth,10),borderBottom:parseInt(z.borderBottomWidth,10),marginLeft:parseInt(z.marginLeft,10),marginRight:parseInt(z.marginRight,10),marginTop:parseInt(z.marginTop,10),marginBottom:parseInt(z.marginBottom,10),paddingLeft:parseInt(z.paddingLeft,10),paddingRight:parseInt(z.paddingRight,10),paddingTop:parseInt(z.paddingTop,10),paddingBottom:parseInt(z.paddingBottom,10)}}function Oe(B,z){var G;if(typeof Symbol=="undefined"||B[Symbol.iterator]==null){if(Array.isArray(B)||(G=function(ke,Xe){if(!!ke){if(typeof ke=="string")return le(ke,Xe);var ht=Object.prototype.toString.call(ke).slice(8,-1);if(ht==="Object"&&ke.constructor&&(ht=ke.constructor.name),ht==="Map"||ht==="Set")return Array.from(ke);if(ht==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ht))return le(ke,Xe)}}(B))||z&&B&&typeof B.length=="number"){G&&(B=G);var $=0,De=function(){};return{s:De,n:function(){return $>=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:De}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var me,xe=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return xe=ke.done,ke},e:function(ke){Z=!0,me=ke},f:function(){try{xe||G.return==null||G.return()}finally{if(Z)throw me}}}}function le(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);Gxe.left+xe.width&&(ie=xe.left+xe.width-ht-5),{style:{top:ke+="px",left:ie+="px"}}}(z,G,{width:$.width,height:$.height});m()(this.tip.style,De.style)}}]),B}(),$e=function(){function B(){Ue(this,B);var z=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.window=z;var G=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.tipBoundsWindow=G;var $=z.document;this.container=$.createElement("div"),this.container.style.zIndex="10000000",this.tip=new xt($,this.container),this.rects=[],$.body.appendChild(this.container)}return rt(B,[{key:"remove",value:function(){this.tip.remove(),this.rects.forEach(function(z){z.remove()}),this.rects.length=0,this.container.parentNode&&this.container.parentNode.removeChild(this.container)}},{key:"inspect",value:function(z,G){for(var $=this,De=z.filter(function(Tt){return Tt.nodeType===Node.ELEMENT_NODE});this.rects.length>De.length;)this.rects.pop().remove();if(De.length!==0){for(;this.rects.length1&&arguments[1]!==void 0?arguments[1]:W,tt=void 0,Tt=[],kt=void 0,bt=!1,on=function(Lt,gn){return qe(Lt,Tt[gn])},tn=function(){for(var Lt=arguments.length,gn=Array(Lt),lr=0;lr5&&arguments[5]!==void 0?arguments[5]:0,Z=Co(B);switch(Z){case"html_element":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B.tagName,type:Z};case"function":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:typeof B.name!="function"&&B.name?B.name:"function",type:Z};case"string":return B.length<=500?B:B.slice(0,500)+"...";case"bigint":case"symbol":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B.toString(),type:Z};case"react_element":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:L0(B)||"Unknown",type:Z};case"array_buffer":case"data_view":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:Z==="data_view"?"DataView":"ArrayBuffer",size:B.byteLength,type:Z};case"array":return me=De($),xe>=2&&!me?a0(Z,!0,B,z,$):B.map(function(ht,ie){return So(ht,z,G,$.concat([ie]),De,me?1:xe+1)});case"html_all_collection":case"typed_array":case"iterator":if(me=De($),xe>=2&&!me)return a0(Z,!0,B,z,$);var ke={unserializable:!0,type:Z,readonly:!0,size:Z==="typed_array"?B.length:void 0,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B.constructor&&B.constructor.name!=="Object"?B.constructor.name:""};return Kt(B[Symbol.iterator])&&Array.from(B).forEach(function(ht,ie){return ke[ie]=So(ht,z,G,$.concat([ie]),De,me?1:xe+1)}),G.push($),ke;case"opaque_iterator":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B[Symbol.toStringTag],type:Z};case"date":case"regexp":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B.toString(),type:Z};case"object":if(me=De($),xe>=2&&!me)return a0(Z,!0,B,z,$);var Xe={};return eu(B).forEach(function(ht){var ie=ht.toString();Xe[ie]=So(B[ht],z,G,$.concat([ie]),De,me?1:xe+1)}),Xe;case"infinity":case"nan":case"undefined":return z.push($),{type:Z};default:return B}}function Go(B){return(Go=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function Os(B){return function(z){if(Array.isArray(z))return Yo(z)}(B)||function(z){if(typeof Symbol!="undefined"&&Symbol.iterator in Object(z))return Array.from(z)}(B)||function(z,G){if(!!z){if(typeof z=="string")return Yo(z,G);var $=Object.prototype.toString.call(z).slice(8,-1);if($==="Object"&&z.constructor&&($=z.constructor.name),$==="Map"||$==="Set")return Array.from(z);if($==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test($))return Yo(z,G)}}(B)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Yo(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);Gz.toString()?1:z.toString()>B.toString()?-1:0}function eu(B){for(var z=[],G=B,$=function(){var De=[].concat(Os(Object.keys(G)),Os(Object.getOwnPropertySymbols(G))),me=Object.getOwnPropertyDescriptors(G);De.forEach(function(xe){me[xe].enumerable&&z.push(xe)}),G=Object.getPrototypeOf(G)};G!=null;)$();return z}function ai(B){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Anonymous",G=Ko.get(B);if(G!=null)return G;var $=z;return typeof B.displayName=="string"?$=B.displayName:typeof B.name=="string"&&B.name!==""&&($=B.name),Ko.set(B,$),$}var mr=0;function Xo(){return++mr}function W0(B){var z=qt.get(B);if(z!==void 0)return z;for(var G=new Array(B.length),$=0;$1&&arguments[1]!==void 0?arguments[1]:50;return B.length>z?B.substr(0,z)+"\u2026":B}function Si(B,z){if(B!=null&&hasOwnProperty.call(B,vu.type))return z?B[vu.preview_long]:B[vu.preview_short];switch(Co(B)){case"html_element":return"<".concat(tu(B.tagName.toLowerCase())," />");case"function":return tu("\u0192 ".concat(typeof B.name=="function"?"":B.name,"() {}"));case"string":return'"'.concat(B,'"');case"bigint":return tu(B.toString()+"n");case"regexp":case"symbol":return tu(B.toString());case"react_element":return"<".concat(tu(L0(B)||"Unknown")," />");case"array_buffer":return"ArrayBuffer(".concat(B.byteLength,")");case"data_view":return"DataView(".concat(B.buffer.byteLength,")");case"array":if(z){for(var G="",$=0;$0&&(G+=", "),!((G+=Si(B[$],!1)).length>50));$++);return"[".concat(tu(G),"]")}var De=hasOwnProperty.call(B,vu.size)?B[vu.size]:B.length;return"Array(".concat(De,")");case"typed_array":var me="".concat(B.constructor.name,"(").concat(B.length,")");if(z){for(var xe="",Z=0;Z0&&(xe+=", "),!((xe+=B[Z]).length>50));Z++);return"".concat(me," [").concat(tu(xe),"]")}return me;case"iterator":var ke=B.constructor.name;if(z){for(var Xe=Array.from(B),ht="",ie=0;ie0&&(ht+=", "),Array.isArray(qe)){var tt=Si(qe[0],!0),Tt=Si(qe[1],!1);ht+="".concat(tt," => ").concat(Tt)}else ht+=Si(qe,!1);if(ht.length>50)break}return"".concat(ke,"(").concat(B.size,") {").concat(tu(ht),"}")}return"".concat(ke,"(").concat(B.size,")");case"opaque_iterator":return B[Symbol.toStringTag];case"date":return B.toString();case"object":if(z){for(var kt=eu(B).sort(_i),bt="",on=0;on0&&(bt+=", "),(bt+="".concat(tn.toString(),": ").concat(Si(B[tn],!1))).length>50)break}return"{".concat(tu(bt),"}")}return"{\u2026}";case"boolean":case"number":case"infinity":case"nan":case"null":case"undefined":return B;default:try{return tu(""+B)}catch(Lt){return"unserializable"}}}var ks=f(7);function Hl(B){return(Hl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function F0(B,z){var G=Object.keys(B);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(B);z&&($=$.filter(function(De){return Object.getOwnPropertyDescriptor(B,De).enumerable})),G.push.apply(G,$)}return G}function f0(B){for(var z=1;z2&&arguments[2]!==void 0?arguments[2]:[];if(B!==null){var $=[],De=[],me=So(B,$,De,G,z);return{data:me,cleaned:$,unserializable:De}}return null}function G0(B){var z,G,$=(z=B,G=new Set,JSON.stringify(z,function(xe,Z){if(Hl(Z)==="object"&&Z!==null){if(G.has(Z))return;G.add(Z)}return typeof Z=="bigint"?Z.toString()+"n":Z})),De=$===void 0?"undefined":$,me=window.__REACT_DEVTOOLS_GLOBAL_HOOK__.clipboardCopyText;typeof me=="function"?me(De).catch(function(xe){}):Object(ks.copy)(De)}function fi(B,z){var G=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,$=z[G],De=Array.isArray(B)?B.slice():f0({},B);return G+1===z.length?Array.isArray(De)?De.splice($,1):delete De[$]:De[$]=fi(B[$],z,G+1),De}function Zt(B,z,G){var $=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,De=z[$],me=Array.isArray(B)?B.slice():f0({},B);if($+1===z.length){var xe=G[$];me[xe]=me[De],Array.isArray(me)?me.splice(De,1):delete me[De]}else me[De]=Zt(B[De],z,G,$+1);return me}function Ln(B,z,G){var $=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if($>=z.length)return G;var De=z[$],me=Array.isArray(B)?B.slice():f0({},B);return me[De]=Ln(B[De],z,G,$+1),me}var Di=f(8);function ci(B,z){var G=Object.keys(B);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(B);z&&($=$.filter(function(De){return Object.getOwnPropertyDescriptor(B,De).enumerable})),G.push.apply(G,$)}return G}function Ht(B){for(var z=1;z=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:De}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var me,xe=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return xe=ke.done,ke},e:function(ke){Z=!0,me=ke},f:function(){try{xe||G.return==null||G.return()}finally{if(Z)throw me}}}}function Wl(B,z){if(B){if(typeof B=="string")return xo(B,z);var G=Object.prototype.toString.call(B).slice(8,-1);return G==="Object"&&B.constructor&&(G=B.constructor.name),G==="Map"||G==="Set"?Array.from(B):G==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(G)?xo(B,z):void 0}}function xo(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);G0){var vt=me(se);if(vt!=null){var Xt,xn=Ui(Mo);try{for(xn.s();!(Xt=xn.n()).done;)if(Xt.value.test(vt))return!0}catch(er){xn.e(er)}finally{xn.f()}}}if(re!=null&&ds.size>0){var _n,yn=re.fileName,En=Ui(ds);try{for(En.s();!(_n=En.n()).done;)if(_n.value.test(yn))return!0}catch(er){En.e(er)}finally{En.f()}}return!1}function yu(se){var re=se.type;switch(se.tag){case Tt:case _r:return 1;case tt:case Cn:return 5;case tn:return 6;case Lt:return 11;case lr:return 7;case gn:case Qn:case on:return 9;case Ar:case Rr:return 8;case nt:return 12;case _t:return 13;default:switch(xe(re)){case 60111:case"Symbol(react.concurrent_mode)":case"Symbol(react.async_mode)":return 9;case 60109:case"Symbol(react.provider)":return 2;case 60110:case"Symbol(react.context)":return 2;case 60108:case"Symbol(react.strict_mode)":return 9;case 60114:case"Symbol(react.profiler)":return 10;default:return 9}}}function pi(se){if(Fo.has(se))return se;var re=se.alternate;return re!=null&&Fo.has(re)?re:(Fo.add(se),se)}window.__REACT_DEVTOOLS_COMPONENT_FILTERS__!=null?ps(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__):ps([{type:1,value:7,isEnabled:!0}]);var T0=new Map,Q0=new Map,Fo=new Set,ta=new Map,Kl=new Map,Ki=-1;function Yr(se){if(!T0.has(se)){var re=Xo();T0.set(se,re),Q0.set(re,se)}return T0.get(se)}function fo(se){switch(yu(se)){case 1:if(I0!==null){var re=Yr(pi(se)),Le=gi(se);Le!==null&&I0.set(re,Le)}}}var Oi={};function gi(se){switch(yu(se)){case 1:var re=se.stateNode,Le=Oi,Ae=Oi;return re!=null&&(re.constructor&&re.constructor.contextType!=null?Ae=re.context:(Le=re.context)&&Object.keys(Le).length===0&&(Le=Oi)),[Le,Ae];default:return null}}function ff(se){switch(yu(se)){case 1:if(I0!==null){var re=Yr(pi(se)),Le=I0.has(re)?I0.get(re):null,Ae=gi(se);if(Le==null||Ae==null)return null;var ot=Y0(Le,2),vt=ot[0],Xt=ot[1],xn=Y0(Ae,2),_n=xn[0],yn=xn[1];if(_n!==Oi)return J0(vt,_n);if(yn!==Oi)return Xt!==yn}}return null}function cf(se,re){if(se==null||re==null)return!1;if(re.hasOwnProperty("baseState")&&re.hasOwnProperty("memoizedState")&&re.hasOwnProperty("next")&&re.hasOwnProperty("queue"))for(;re!==null;){if(re.memoizedState!==se.memoizedState)return!0;re=re.next,se=se.next}return!1}function J0(se,re){if(se==null||re==null||re.hasOwnProperty("baseState")&&re.hasOwnProperty("memoizedState")&&re.hasOwnProperty("next")&&re.hasOwnProperty("queue"))return null;var Le,Ae=[],ot=Ui(new Set([].concat(Yi(Object.keys(se)),Yi(Object.keys(re)))));try{for(ot.s();!(Le=ot.n()).done;){var vt=Le.value;se[vt]!==re[vt]&&Ae.push(vt)}}catch(Xt){ot.e(Xt)}finally{ot.f()}return Ae}function Z0(se,re){switch(re.tag){case Tt:case tt:case kt:case Ar:case Rr:return(oo(re)&ie)===ie;default:return se.memoizedProps!==re.memoizedProps||se.memoizedState!==re.memoizedState||se.ref!==re.ref}}var Te=[],et=[],Ve=[],Gt=[],Yt=new Map,sr=0,Br=null;function wn(se){Te.push(se)}function fu(se){if(Te.length!==0||et.length!==0||Ve.length!==0||Br!==null||Ru){var re=et.length+Ve.length+(Br===null?0:1),Le=new Array(3+sr+(re>0?2+re:0)+Te.length),Ae=0;if(Le[Ae++]=z,Le[Ae++]=Ki,Le[Ae++]=sr,Yt.forEach(function(xn,_n){Le[Ae++]=_n.length;for(var yn=W0(_n),En=0;En0){Le[Ae++]=2,Le[Ae++]=re;for(var ot=et.length-1;ot>=0;ot--)Le[Ae++]=et[ot];for(var vt=0;vt0?se.forEach(function(re){B.emit("operations",re)}):(wr!==null&&(ru=!0),B.getFiberRoots(z).forEach(function(re){Xu(Ki=Yr(pi(re.current)),re.current),Ru&&re.memoizedInteractions!=null&&($o={changeDescriptions:Xl?new Map:null,durations:[],commitTime:Vl()-Yu,interactions:Array.from(re.memoizedInteractions).map(function(Le){return Ht(Ht({},Le),{},{timestamp:Le.timestamp-Yu})}),maxActualDuration:0,priorityLevel:null}),Vr(re.current,null,!1,!1),fu(),Ki=-1}))},getBestMatchForTrackedPath:function(){if(wr===null||$0===null)return null;for(var se=$0;se!==null&&Vu(se);)se=se.return;return se===null?null:{id:Yr(pi(se)),isFullMatch:Xi===wr.length-1}},getDisplayNameForFiberID:function(se){var re=Q0.get(se);return re!=null?me(re):null},getFiberIDForNative:function(se){var re=arguments.length>1&&arguments[1]!==void 0&&arguments[1],Le=G.findFiberByHostInstance(se);if(Le!=null){if(re)for(;Le!==null&&Vu(Le);)Le=Le.return;return Yr(pi(Le))}return null},getInstanceAndStyle:function(se){var re=null,Le=null,Ae=Uu(se);return Ae!==null&&(re=Ae.stateNode,Ae.memoizedProps!==null&&(Le=Ae.memoizedProps.style)),{instance:re,style:Le}},getOwnersList:function(se){var re=Uu(se);if(re==null)return null;var Le=re._debugOwner,Ae=[{displayName:me(re)||"Anonymous",id:se,type:yu(re)}];if(Le)for(var ot=Le;ot!==null;)Ae.unshift({displayName:me(ot)||"Anonymous",id:Yr(pi(ot)),type:yu(ot)}),ot=ot._debugOwner||null;return Ae},getPathForElement:function(se){var re=Q0.get(se);if(re==null)return null;for(var Le=[];re!==null;)Le.push(y0(re)),re=re.return;return Le.reverse(),Le},getProfilingData:function(){var se=[];if(hs===null)throw Error("getProfilingData() called before any profiling data was recorded");return hs.forEach(function(re,Le){var Ae=[],ot=[],vt=new Map,Xt=new Map,xn=El!==null&&El.get(Le)||"Unknown";R0!=null&&R0.forEach(function(_n,yn){co!=null&&co.get(yn)===Le&&ot.push([yn,_n])}),re.forEach(function(_n,yn){var En=_n.changeDescriptions,er=_n.durations,It=_n.interactions,xi=_n.maxActualDuration,Sr=_n.priorityLevel,cr=_n.commitTime,Y=[];It.forEach(function(hi){vt.has(hi.id)||vt.set(hi.id,hi),Y.push(hi.id);var Qi=Xt.get(hi.id);Qi!=null?Qi.push(yn):Xt.set(hi.id,[yn])});for(var Qr=[],Jr=[],Ur=0;Ur1?Wn.set(En,er-1):Wn.delete(En),Xr.delete(_n)}(Ki),Kr(Le,!1))}else Xu(Ki,Le),Vr(Le,null,!1,!1);if(Ru&&ot){var xn=hs.get(Ki);xn!=null?xn.push($o):hs.set(Ki,[$o])}fu(),No&&B.emit("traceUpdates",Lo),Ki=-1},handleCommitFiberUnmount:function(se){Kr(se,!1)},inspectElement:function(se,re){if(Li(se)){if(re!=null){A0(re);var Le=null;return re[0]==="hooks"&&(Le="hooks"),{id:se,type:"hydrated-path",path:re,value:Ei(Lu(zi,re),Fi(null,Le),re)}}return{id:se,type:"no-change"}}if(Is=!1,zi!==null&&zi.id===se||(x0={}),(zi=na(se))===null)return{id:se,type:"not-found"};re!=null&&A0(re),function(ot){var vt=ot.hooks,Xt=ot.id,xn=ot.props,_n=Q0.get(Xt);if(_n!=null){var yn=_n.elementType,En=_n.stateNode,er=_n.tag,It=_n.type;switch(er){case Tt:case _r:case Cn:$.$r=En;break;case tt:$.$r={hooks:vt,props:xn,type:It};break;case tn:$.$r={props:xn,type:It.render};break;case Ar:case Rr:$.$r={props:xn,type:yn!=null&&yn.type!=null?yn.type:It};break;default:$.$r=null}}else console.warn('Could not find Fiber with id "'.concat(Xt,'"'))}(zi);var Ae=Ht({},zi);return Ae.context=Ei(Ae.context,Fi("context",null)),Ae.hooks=Ei(Ae.hooks,Fi("hooks","hooks")),Ae.props=Ei(Ae.props,Fi("props",null)),Ae.state=Ei(Ae.state,Fi("state",null)),{id:se,type:"full-data",value:Ae}},logElementToConsole:function(se){var re=Li(se)?zi:na(se);if(re!==null){var Le=typeof console.groupCollapsed=="function";Le&&console.groupCollapsed("[Click to expand] %c<".concat(re.displayName||"Component"," />"),"color: var(--dom-tag-name-color); font-weight: normal;"),re.props!==null&&console.log("Props:",re.props),re.state!==null&&console.log("State:",re.state),re.hooks!==null&&console.log("Hooks:",re.hooks);var Ae=_l(se);Ae!==null&&console.log("Nodes:",Ae),re.source!==null&&console.log("Location:",re.source),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),Le&&console.groupEnd()}else console.warn('Could not find Fiber with id "'.concat(se,'"'))},prepareViewAttributeSource:function(se,re){Li(se)&&(window.$attribute=Lu(zi,re))},prepareViewElementSource:function(se){var re=Q0.get(se);if(re!=null){var Le=re.elementType,Ae=re.tag,ot=re.type;switch(Ae){case Tt:case _r:case Cn:case tt:$.$type=ot;break;case tn:$.$type=ot.render;break;case Ar:case Rr:$.$type=Le!=null&&Le.type!=null?Le.type:ot;break;default:$.$type=null}}else console.warn('Could not find Fiber with id "'.concat(se,'"'))},overrideSuspense:function(se,re){if(typeof ko!="function"||typeof Zo!="function")throw new Error("Expected overrideSuspense() to not get called for earlier React versions.");re?(Ku.add(se),Ku.size===1&&ko(vs)):(Ku.delete(se),Ku.size===0&&ko(df));var Le=Q0.get(se);Le!=null&&Zo(Le)},overrideValueAtPath:function(se,re,Le,Ae,ot){var vt=Uu(re);if(vt!==null){var Xt=vt.stateNode;switch(se){case"context":switch(Ae=Ae.slice(1),vt.tag){case Tt:Ae.length===0?Xt.context=ot:To(Xt.context,Ae,ot),Xt.forceUpdate()}break;case"hooks":typeof nu=="function"&&nu(vt,Le,Ae,ot);break;case"props":switch(vt.tag){case Tt:vt.pendingProps=Ln(Xt.props,Ae,ot),Xt.forceUpdate();break;default:typeof X0=="function"&&X0(vt,Ae,ot)}break;case"state":switch(vt.tag){case Tt:To(Xt.state,Ae,ot),Xt.forceUpdate()}}}},renamePath:function(se,re,Le,Ae,ot){var vt=Uu(re);if(vt!==null){var Xt=vt.stateNode;switch(se){case"context":switch(Ae=Ae.slice(1),ot=ot.slice(1),vt.tag){case Tt:Ae.length===0||Hr(Xt.context,Ae,ot),Xt.forceUpdate()}break;case"hooks":typeof S0=="function"&&S0(vt,Le,Ae,ot);break;case"props":Xt===null?typeof di=="function"&&di(vt,Ae,ot):(vt.pendingProps=Zt(Xt.props,Ae,ot),Xt.forceUpdate());break;case"state":Hr(Xt.state,Ae,ot),Xt.forceUpdate()}}},renderer:G,setTraceUpdatesEnabled:function(se){No=se},setTrackedPath:Ci,startProfiling:ra,stopProfiling:function(){Ru=!1,Xl=!1},storeAsGlobal:function(se,re,Le){if(Li(se)){var Ae=Lu(zi,re),ot="$reactTemp".concat(Le);window[ot]=Ae,console.log(ot),console.log(Ae)}},updateComponentFilters:function(se){if(Ru)throw Error("Cannot modify filter preferences while profiling");B.getFiberRoots(z).forEach(function(re){Ki=Yr(pi(re.current)),Bu(re.current),Kr(re.current,!1),Ki=-1}),ps(se),Wn.clear(),B.getFiberRoots(z).forEach(function(re){Xu(Ki=Yr(pi(re.current)),re.current),Vr(re.current,null,!1,!1),fu(re),Ki=-1})}}}var Xn;function Qo(B){return(Qo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function lo(B,z,G){if(Xn===void 0)try{throw Error()}catch(De){var $=De.stack.trim().match(/\n( *(at )?)/);Xn=$&&$[1]||""}return` +`+Xn+B}var b0=!1;function yl(B,z,G){if(!B||b0)return"";var $,De=Error.prepareStackTrace;Error.prepareStackTrace=void 0,b0=!0;var me=G.current;G.current=null;try{if(z){var xe=function(){throw Error()};if(Object.defineProperty(xe.prototype,"props",{set:function(){throw Error()}}),(typeof Reflect=="undefined"?"undefined":Qo(Reflect))==="object"&&Reflect.construct){try{Reflect.construct(xe,[])}catch(qe){$=qe}Reflect.construct(B,[],xe)}else{try{xe.call()}catch(qe){$=qe}B.call(xe.prototype)}}else{try{throw Error()}catch(qe){$=qe}B()}}catch(qe){if(qe&&$&&typeof qe.stack=="string"){for(var Z=qe.stack.split(` +`),ke=$.stack.split(` +`),Xe=Z.length-1,ht=ke.length-1;Xe>=1&&ht>=0&&Z[Xe]!==ke[ht];)ht--;for(;Xe>=1&&ht>=0;Xe--,ht--)if(Z[Xe]!==ke[ht]){if(Xe!==1||ht!==1)do if(Xe--,--ht<0||Z[Xe]!==ke[ht])return` +`+Z[Xe].replace(" at new "," at ");while(Xe>=1&&ht>=0);break}}}finally{b0=!1,Error.prepareStackTrace=De,G.current=me}var ie=B?B.displayName||B.name:"";return ie?lo(ie):""}function Ro(B,z,G,$){return yl(B,!1,$)}function Et(B,z,G){var $=B.HostComponent,De=B.LazyComponent,me=B.SuspenseComponent,xe=B.SuspenseListComponent,Z=B.FunctionComponent,ke=B.IndeterminateComponent,Xe=B.SimpleMemoComponent,ht=B.ForwardRef,ie=B.Block,qe=B.ClassComponent;switch(z.tag){case $:return lo(z.type);case De:return lo("Lazy");case me:return lo("Suspense");case xe:return lo("SuspenseList");case Z:case ke:case Xe:return Ro(z.type,0,0,G);case ht:return Ro(z.type.render,0,0,G);case ie:return Ro(z.type._render,0,0,G);case qe:return function(tt,Tt,kt,bt){return yl(tt,!0,bt)}(z.type,0,0,G);default:return""}}function Pt(B,z,G){try{var $="",De=z;do $+=Et(B,De,G),De=De.return;while(De);return $}catch(me){return` +Error generating stack: `+me.message+` +`+me.stack}}function Bn(B,z){var G;if(typeof Symbol=="undefined"||B[Symbol.iterator]==null){if(Array.isArray(B)||(G=function(ke,Xe){if(!!ke){if(typeof ke=="string")return Ir(ke,Xe);var ht=Object.prototype.toString.call(ke).slice(8,-1);if(ht==="Object"&&ke.constructor&&(ht=ke.constructor.name),ht==="Map"||ht==="Set")return Array.from(ke);if(ht==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ht))return Ir(ke,Xe)}}(B))||z&&B&&typeof B.length=="number"){G&&(B=G);var $=0,De=function(){};return{s:De,n:function(){return $>=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:De}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var me,xe=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return xe=ke.done,ke},e:function(ke){Z=!0,me=ke},f:function(){try{xe||G.return==null||G.return()}finally{if(Z)throw me}}}}function Ir(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);G0?Xe[Xe.length-1]:null,qe=ie!==null&&(Wr.test(ie)||wu.test(ie));if(!qe){var tt,Tt=Bn(c0.values());try{for(Tt.s();!(tt=Tt.n()).done;){var kt=tt.value,bt=kt.currentDispatcherRef,on=kt.getCurrentFiber,tn=kt.workTagMap,Lt=on();if(Lt!=null){var gn=Pt(tn,Lt,bt);gn!==""&&Xe.push(gn);break}}}catch(lr){Tt.e(lr)}finally{Tt.f()}}}catch(lr){}me.apply(void 0,Xe)};xe.__REACT_DEVTOOLS_ORIGINAL_METHOD__=me,Ti[De]=xe}catch(Z){}})}}function Fu(B){return(Fu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function fs(B,z){for(var G=0;GB.length)&&(z=B.length);for(var G=0,$=new Array(z);G1?Z-1:0),Xe=1;Xe0?ie[ie.length-1]:0),ie.push(nn),Z.set(Ze,Xe(Ft._topLevelWrapper));try{var sn=nt.apply(this,_t);return ie.pop(),sn}catch(yr){throw ie=[],yr}finally{if(ie.length===0){var Yn=Z.get(Ze);if(Yn===void 0)throw new Error("Expected to find root ID.");lr(Yn)}}},performUpdateIfNecessary:function(nt,_t){var Ze=_t[0];if(w0(Ze)===9)return nt.apply(this,_t);var Ft=Xe(Ze);ie.push(Ft);var nn=Gn(Ze);try{var sn=nt.apply(this,_t),Yn=Gn(Ze);return ht(nn,Yn)||Tt(Ze,Ft,Yn),ie.pop(),sn}catch(nu){throw ie=[],nu}finally{if(ie.length===0){var yr=Z.get(Ze);if(yr===void 0)throw new Error("Expected to find root ID.");lr(yr)}}},receiveComponent:function(nt,_t){var Ze=_t[0];if(w0(Ze)===9)return nt.apply(this,_t);var Ft=Xe(Ze);ie.push(Ft);var nn=Gn(Ze);try{var sn=nt.apply(this,_t),Yn=Gn(Ze);return ht(nn,Yn)||Tt(Ze,Ft,Yn),ie.pop(),sn}catch(nu){throw ie=[],nu}finally{if(ie.length===0){var yr=Z.get(Ze);if(yr===void 0)throw new Error("Expected to find root ID.");lr(yr)}}},unmountComponent:function(nt,_t){var Ze=_t[0];if(w0(Ze)===9)return nt.apply(this,_t);var Ft=Xe(Ze);ie.push(Ft);try{var nn=nt.apply(this,_t);return ie.pop(),function(Yn,yr){tn.push(yr),me.delete(yr)}(0,Ft),nn}catch(Yn){throw ie=[],Yn}finally{if(ie.length===0){var sn=Z.get(Ze);if(sn===void 0)throw new Error("Expected to find root ID.");lr(sn)}}}}));var bt=[],on=new Map,tn=[],Lt=0,gn=null;function lr(nt){if(bt.length!==0||tn.length!==0||gn!==null){var _t=tn.length+(gn===null?0:1),Ze=new Array(3+Lt+(_t>0?2+_t:0)+bt.length),Ft=0;if(Ze[Ft++]=z,Ze[Ft++]=nt,Ze[Ft++]=Lt,on.forEach(function(Yn,yr){Ze[Ft++]=yr.length;for(var nu=W0(yr),Cu=0;Cu0){Ze[Ft++]=2,Ze[Ft++]=_t;for(var nn=0;nn"),"color: var(--dom-tag-name-color); font-weight: normal;"),_t.props!==null&&console.log("Props:",_t.props),_t.state!==null&&console.log("State:",_t.state),_t.context!==null&&console.log("Context:",_t.context);var Ft=De(nt);Ft!==null&&console.log("Node:",Ft),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),Ze&&console.groupEnd()}else console.warn('Could not find element with id "'.concat(nt,'"'))},overrideSuspense:function(){throw new Error("overrideSuspense not supported by this renderer")},overrideValueAtPath:function(nt,_t,Ze,Ft,nn){var sn=me.get(_t);if(sn!=null){var Yn=sn._instance;if(Yn!=null)switch(nt){case"context":To(Yn.context,Ft,nn),p0(Yn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var yr=sn._currentElement;sn._currentElement=K0(K0({},yr),{},{props:Ln(yr.props,Ft,nn)}),p0(Yn);break;case"state":To(Yn.state,Ft,nn),p0(Yn)}}},renamePath:function(nt,_t,Ze,Ft,nn){var sn=me.get(_t);if(sn!=null){var Yn=sn._instance;if(Yn!=null)switch(nt){case"context":Hr(Yn.context,Ft,nn),p0(Yn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var yr=sn._currentElement;sn._currentElement=K0(K0({},yr),{},{props:Zt(yr.props,Ft,nn)}),p0(Yn);break;case"state":Hr(Yn.state,Ft,nn),p0(Yn)}}},prepareViewAttributeSource:function(nt,_t){var Ze=Rr(nt);Ze!==null&&(window.$attribute=Lu(Ze,_t))},prepareViewElementSource:function(nt){var _t=me.get(nt);if(_t!=null){var Ze=_t._currentElement;Ze!=null?$.$type=Ze.type:console.warn('Could not find element with id "'.concat(nt,'"'))}else console.warn('Could not find instance with id "'.concat(nt,'"'))},renderer:G,setTraceUpdatesEnabled:function(nt){},setTrackedPath:function(nt){},startProfiling:function(){},stopProfiling:function(){},storeAsGlobal:function(nt,_t,Ze){var Ft=Rr(nt);if(Ft!==null){var nn=Lu(Ft,_t),sn="$reactTemp".concat(Ze);window[sn]=nn,console.log(sn),console.log(nn)}},updateComponentFilters:function(nt){}}}function ri(B,z){var G=!1,$={bottom:0,left:0,right:0,top:0},De=z[B];if(De!=null){for(var me=0,xe=Object.keys($);me0?"development":"production";var bt=Function.prototype.toString;if(kt.Mount&&kt.Mount._renderNewRootComponent){var on=bt.call(kt.Mount._renderNewRootComponent);return on.indexOf("function")!==0?"production":on.indexOf("storedMeasure")!==-1?"development":on.indexOf("should be a pure function")!==-1?on.indexOf("NODE_ENV")!==-1||on.indexOf("development")!==-1||on.indexOf("true")!==-1?"development":on.indexOf("nextElement")!==-1||on.indexOf("nextComponent")!==-1?"unminified":"development":on.indexOf("nextElement")!==-1||on.indexOf("nextComponent")!==-1?"unminified":"outdated"}}catch(tn){}return"production"}(ke);try{var ie=window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__!==!1,qe=window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__===!0;(ie||qe)&&(so(ke),Gl({appendComponentStack:ie,breakOnConsoleErrors:qe}))}catch(kt){}var tt=B.__REACT_DEVTOOLS_ATTACH__;if(typeof tt=="function"){var Tt=tt(Z,Xe,ke,B);Z.rendererInterfaces.set(Xe,Tt)}return Z.emit("renderer",{id:Xe,renderer:ke,reactBuildType:ht}),Xe},on:function(ke,Xe){me[ke]||(me[ke]=[]),me[ke].push(Xe)},off:function(ke,Xe){if(me[ke]){var ht=me[ke].indexOf(Xe);ht!==-1&&me[ke].splice(ht,1),me[ke].length||delete me[ke]}},sub:function(ke,Xe){return Z.on(ke,Xe),function(){return Z.off(ke,Xe)}},supportsFiber:!0,checkDCE:function(ke){try{Function.prototype.toString.call(ke).indexOf("^_^")>-1&&(G=!0,setTimeout(function(){throw new Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")}))}catch(Xe){}},onCommitFiberUnmount:function(ke,Xe){var ht=De.get(ke);ht!=null&&ht.handleCommitFiberUnmount(Xe)},onCommitFiberRoot:function(ke,Xe,ht){var ie=Z.getFiberRoots(ke),qe=Xe.current,tt=ie.has(Xe),Tt=qe.memoizedState==null||qe.memoizedState.element==null;tt||Tt?tt&&Tt&&ie.delete(Xe):ie.add(Xe);var kt=De.get(ke);kt!=null&&kt.handleCommitFiberRoot(Xe,ht)}};Object.defineProperty(B,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!1,enumerable:!1,get:function(){return Z}})})(window);var h0=window.__REACT_DEVTOOLS_GLOBAL_HOOK__,Fs=[{type:1,value:7,isEnabled:!0}];function Ni(B){if(h0!=null){var z=B||{},G=z.host,$=G===void 0?"localhost":G,De=z.nativeStyleEditorValidAttributes,me=z.useHttps,xe=me!==void 0&&me,Z=z.port,ke=Z===void 0?8097:Z,Xe=z.websocket,ht=z.resolveRNStyle,ie=ht===void 0?null:ht,qe=z.isAppActive,tt=xe?"wss":"ws",Tt=null;if((qe===void 0?function(){return!0}:qe)()){var kt=null,bt=[],on=tt+"://"+$+":"+ke,tn=Xe||new window.WebSocket(on);tn.onclose=function(){kt!==null&&kt.emit("shutdown"),Lt()},tn.onerror=function(){Lt()},tn.onmessage=function(gn){var lr;try{if(typeof gn.data!="string")throw Error();lr=JSON.parse(gn.data)}catch(Qn){return void console.error("[React DevTools] Failed to parse JSON: "+gn.data)}bt.forEach(function(Qn){try{Qn(lr)}catch(_r){throw console.log("[React DevTools] Error calling listener",lr),console.log("error:",_r),_r}})},tn.onopen=function(){(kt=new ao({listen:function(Cn){return bt.push(Cn),function(){var Ar=bt.indexOf(Cn);Ar>=0&&bt.splice(Ar,1)}},send:function(Cn,Ar,v0){tn.readyState===tn.OPEN?tn.send(JSON.stringify({event:Cn,payload:Ar})):(kt!==null&&kt.shutdown(),Lt())}})).addListener("inspectElement",function(Cn){var Ar=Cn.id,v0=Cn.rendererID,Rr=gn.rendererInterfaces[v0];if(Rr!=null){var nt=Rr.findNativeNodesForFiberID(Ar);nt!=null&&nt[0]!=null&&gn.emit("showNativeHighlight",nt[0])}}),kt.addListener("updateComponentFilters",function(Cn){Fs=Cn}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null&&kt.send("overrideComponentFilters",Fs);var gn=new Hn(kt);if(gn.addListener("shutdown",function(){h0.emit("shutdown")}),function(Cn,Ar,v0){if(Cn==null)return function(){};var Rr=[Cn.sub("renderer-attached",function(Ze){var Ft=Ze.id,nn=(Ze.renderer,Ze.rendererInterface);Ar.setRendererInterface(Ft,nn),nn.flushInitialOperations()}),Cn.sub("unsupported-renderer-version",function(Ze){Ar.onUnsupportedRenderer(Ze)}),Cn.sub("operations",Ar.onHookOperations),Cn.sub("traceUpdates",Ar.onTraceUpdates)],nt=function(Ze,Ft){var nn=Cn.rendererInterfaces.get(Ze);nn==null&&(typeof Ft.findFiberByHostInstance=="function"?nn=Ms(Cn,Ze,Ft,v0):Ft.ComponentTree&&(nn=ic(Cn,Ze,Ft,v0)),nn!=null&&Cn.rendererInterfaces.set(Ze,nn)),nn!=null?Cn.emit("renderer-attached",{id:Ze,renderer:Ft,rendererInterface:nn}):Cn.emit("unsupported-renderer-version",Ze)};Cn.renderers.forEach(function(Ze,Ft){nt(Ft,Ze)}),Rr.push(Cn.sub("renderer",function(Ze){var Ft=Ze.id,nn=Ze.renderer;nt(Ft,nn)})),Cn.emit("react-devtools",Ar),Cn.reactDevtoolsAgent=Ar;var _t=function(){Rr.forEach(function(Ze){return Ze()}),Cn.rendererInterfaces.forEach(function(Ze){Ze.cleanup()}),Cn.reactDevtoolsAgent=null};Ar.addListener("shutdown",_t),Rr.push(function(){Ar.removeListener("shutdown",_t)})}(h0,gn,window),ie!=null||h0.resolveRNStyle!=null)ea(kt,gn,ie||h0.resolveRNStyle,De||h0.nativeStyleEditorValidAttributes||null);else{var lr,Qn,_r=function(){kt!==null&&ea(kt,gn,lr,Qn)};h0.hasOwnProperty("resolveRNStyle")||Object.defineProperty(h0,"resolveRNStyle",{enumerable:!1,get:function(){return lr},set:function(Cn){lr=Cn,_r()}}),h0.hasOwnProperty("nativeStyleEditorValidAttributes")||Object.defineProperty(h0,"nativeStyleEditorValidAttributes",{enumerable:!1,get:function(){return Qn},set:function(Cn){Qn=Cn,_r()}})}}}else Lt()}function Lt(){Tt===null&&(Tt=setTimeout(function(){return Ni(B)},2e3))}}}])})});var mR=ce(vR=>{"use strict";Object.defineProperty(vR,"__esModule",{value:!0});pR();var $Q=hR();$Q.connectToDevTools()});var DR=ce(kg=>{"use strict";var yR=kg&&kg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(kg,"__esModule",{value:!0});var gR=h4(),eJ=yR(D9()),_R=yR(eh()),ss=Lw();process.env.DEV==="true"&&mR();var ER=i=>{i==null||i.unsetMeasureFunc(),i==null||i.freeRecursive()};kg.default=eJ.default({schedulePassiveEffects:gR.unstable_scheduleCallback,cancelPassiveEffects:gR.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:i=>{if(i.isStaticDirty){i.isStaticDirty=!1,typeof i.onImmediateRender=="function"&&i.onImmediateRender();return}typeof i.onRender=="function"&&i.onRender()},getChildHostContext:(i,o)=>{let f=i.isInsideText,p=o==="ink-text"||o==="ink-virtual-text";return f===p?i:{isInsideText:p}},shouldSetTextContent:()=>!1,createInstance:(i,o,f,p)=>{if(p.isInsideText&&i==="ink-box")throw new Error(" can\u2019t be nested inside component");let E=i==="ink-text"&&p.isInsideText?"ink-virtual-text":i,t=ss.createNode(E);for(let[k,L]of Object.entries(o))k!=="children"&&(k==="style"?ss.setStyle(t,L):k==="internal_transform"?t.internal_transform=L:k==="internal_static"?t.internal_static=!0:ss.setAttribute(t,k,L));return t},createTextInstance:(i,o,f)=>{if(!f.isInsideText)throw new Error(`Text string "${i}" must be rendered inside component`);return ss.createTextNode(i)},resetTextContent:()=>{},hideTextInstance:i=>{ss.setTextNodeValue(i,"")},unhideTextInstance:(i,o)=>{ss.setTextNodeValue(i,o)},getPublicInstance:i=>i,hideInstance:i=>{var o;(o=i.yogaNode)===null||o===void 0||o.setDisplay(_R.default.DISPLAY_NONE)},unhideInstance:i=>{var o;(o=i.yogaNode)===null||o===void 0||o.setDisplay(_R.default.DISPLAY_FLEX)},appendInitialChild:ss.appendChildNode,appendChild:ss.appendChildNode,insertBefore:ss.insertBeforeNode,finalizeInitialChildren:(i,o,f,p)=>(i.internal_static&&(p.isStaticDirty=!0,p.staticNode=i),!1),supportsMutation:!0,appendChildToContainer:ss.appendChildNode,insertInContainerBefore:ss.insertBeforeNode,removeChildFromContainer:(i,o)=>{ss.removeChildNode(i,o),ER(o.yogaNode)},prepareUpdate:(i,o,f,p,E)=>{i.internal_static&&(E.isStaticDirty=!0);let t={},k=Object.keys(p);for(let L of k)if(p[L]!==f[L]){if(L==="style"&&typeof p.style=="object"&&typeof f.style=="object"){let C=p.style,U=f.style,q=Object.keys(C);for(let W of q){if(W==="borderStyle"||W==="borderColor"){if(typeof t.style!="object"){let ne={};t.style=ne}t.style.borderStyle=C.borderStyle,t.style.borderColor=C.borderColor}if(C[W]!==U[W]){if(typeof t.style!="object"){let ne={};t.style=ne}t.style[W]=C[W]}}continue}t[L]=p[L]}return t},commitUpdate:(i,o)=>{for(let[f,p]of Object.entries(o))f!=="children"&&(f==="style"?ss.setStyle(i,p):f==="internal_transform"?i.internal_transform=p:f==="internal_static"?i.internal_static=!0:ss.setAttribute(i,f,p))},commitTextUpdate:(i,o,f)=>{ss.setTextNodeValue(i,f)},removeChild:(i,o)=>{ss.removeChildNode(i,o),ER(o.yogaNode)}})});var SR=ce((Are,wR)=>{"use strict";wR.exports=(i,o=1,f)=>{if(f=E0({indent:" ",includeEmptyLines:!1},f),typeof i!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof i}\``);if(typeof o!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof o}\``);if(typeof f.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof f.indent}\``);if(o===0)return i;let p=f.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return i.replace(p,f.indent.repeat(o))}});var TR=ce(Mg=>{"use strict";var tJ=Mg&&Mg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Mg,"__esModule",{value:!0});var k4=tJ(eh());Mg.default=i=>i.getComputedWidth()-i.getComputedPadding(k4.default.EDGE_LEFT)-i.getComputedPadding(k4.default.EDGE_RIGHT)-i.getComputedBorder(k4.default.EDGE_LEFT)-i.getComputedBorder(k4.default.EDGE_RIGHT)});var xR=ce((Ore,CR)=>{CR.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var RR=ce((kre,Zw)=>{"use strict";var AR=xR();Zw.exports=AR;Zw.exports.default=AR});var kR=ce((Mre,OR)=>{"use strict";OR.exports=(i,o=process.argv)=>{let f=i.startsWith("-")?"":i.length===1?"-":"--",p=o.indexOf(f+i),E=o.indexOf("--");return p!==-1&&(E===-1||p{"use strict";var nJ=require("os"),NR=require("tty"),of=kR(),{env:Wo}=process,md;of("no-color")||of("no-colors")||of("color=false")||of("color=never")?md=0:(of("color")||of("colors")||of("color=true")||of("color=always"))&&(md=1);"FORCE_COLOR"in Wo&&(Wo.FORCE_COLOR==="true"?md=1:Wo.FORCE_COLOR==="false"?md=0:md=Wo.FORCE_COLOR.length===0?1:Math.min(parseInt(Wo.FORCE_COLOR,10),3));function $w(i){return i===0?!1:{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3}}function e3(i,o){if(md===0)return 0;if(of("color=16m")||of("color=full")||of("color=truecolor"))return 3;if(of("color=256"))return 2;if(i&&!o&&md===void 0)return 0;let f=md||0;if(Wo.TERM==="dumb")return f;if(process.platform==="win32"){let p=nJ.release().split(".");return Number(p[0])>=10&&Number(p[2])>=10586?Number(p[2])>=14931?3:2:1}if("CI"in Wo)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(p=>p in Wo)||Wo.CI_NAME==="codeship"?1:f;if("TEAMCITY_VERSION"in Wo)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Wo.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in Wo)return 1;if(Wo.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Wo){let p=parseInt((Wo.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Wo.TERM_PROGRAM){case"iTerm.app":return p>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Wo.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Wo.TERM)||"COLORTERM"in Wo?1:f}function rJ(i){let o=e3(i,i&&i.isTTY);return $w(o)}MR.exports={supportsColor:rJ,stdout:$w(e3(!0,NR.isatty(1))),stderr:$w(e3(!0,NR.isatty(2)))}});var bR=ce((Lre,FR)=>{"use strict";var iJ=(i,o,f)=>{let p=i.indexOf(o);if(p===-1)return i;let E=o.length,t=0,k="";do k+=i.substr(t,p-t)+o+f,t=p+E,p=i.indexOf(o,t);while(p!==-1);return k+=i.substr(t),k},uJ=(i,o,f,p)=>{let E=0,t="";do{let k=i[p-1]==="\r";t+=i.substr(E,(k?p-1:p)-E)+o+(k?`\r +`:` +`)+f,E=p+1,p=i.indexOf(` +`,E)}while(p!==-1);return t+=i.substr(E),t};FR.exports={stringReplaceAll:iJ,stringEncaseCRLFWithFirstIndex:uJ}});var jR=ce((Fre,PR)=>{"use strict";var oJ=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,IR=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,lJ=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,sJ=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,aJ=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function BR(i){let o=i[0]==="u",f=i[1]==="{";return o&&!f&&i.length===5||i[0]==="x"&&i.length===3?String.fromCharCode(parseInt(i.slice(1),16)):o&&f?String.fromCodePoint(parseInt(i.slice(2,-1),16)):aJ.get(i)||i}function fJ(i,o){let f=[],p=o.trim().split(/\s*,\s*/g),E;for(let t of p){let k=Number(t);if(!Number.isNaN(k))f.push(k);else if(E=t.match(lJ))f.push(E[2].replace(sJ,(L,N,C)=>N?BR(N):C));else throw new Error(`Invalid Chalk template style argument: ${t} (in style '${i}')`)}return f}function cJ(i){IR.lastIndex=0;let o=[],f;for(;(f=IR.exec(i))!==null;){let p=f[1];if(f[2]){let E=fJ(p,f[2]);o.push([p].concat(E))}else o.push([p])}return o}function UR(i,o){let f={};for(let E of o)for(let t of E.styles)f[t[0]]=E.inverse?null:t.slice(1);let p=i;for(let[E,t]of Object.entries(f))if(!!Array.isArray(t)){if(!(E in p))throw new Error(`Unknown Chalk style: ${E}`);p=t.length>0?p[E](...t):p[E]}return p}PR.exports=(i,o)=>{let f=[],p=[],E=[];if(o.replace(oJ,(t,k,L,N,C,U)=>{if(k)E.push(BR(k));else if(N){let q=E.join("");E=[],p.push(f.length===0?q:UR(i,f)(q)),f.push({inverse:L,styles:cJ(N)})}else if(C){if(f.length===0)throw new Error("Found extraneous } in Chalk template literal");p.push(UR(i,f)(E.join(""))),E=[],f.pop()}else E.push(U)}),p.push(E.join("")),f.length>0){let t=`Chalk template literal is missing ${f.length} closing bracket${f.length===1?"":"s"} (\`}\`)`;throw new Error(t)}return p.join("")}});var u3=ce((bre,zR)=>{"use strict";var Ng=_4(),{stdout:t3,stderr:n3}=LR(),{stringReplaceAll:dJ,stringEncaseCRLFWithFirstIndex:pJ}=bR(),{isArray:M4}=Array,qR=["ansi","ansi","ansi256","ansi16m"],cm=Object.create(null),hJ=(i,o={})=>{if(o.level&&!(Number.isInteger(o.level)&&o.level>=0&&o.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let f=t3?t3.level:0;i.level=o.level===void 0?f:o.level},HR=class{constructor(o){return WR(o)}},WR=i=>{let o={};return hJ(o,i),o.template=(...f)=>VR(o.template,...f),Object.setPrototypeOf(o,N4.prototype),Object.setPrototypeOf(o.template,o),o.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},o.template.Instance=HR,o.template};function N4(i){return WR(i)}for(let[i,o]of Object.entries(Ng))cm[i]={get(){let f=L4(this,r3(o.open,o.close,this._styler),this._isEmpty);return Object.defineProperty(this,i,{value:f}),f}};cm.visible={get(){let i=L4(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:i}),i}};var GR=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let i of GR)cm[i]={get(){let{level:o}=this;return function(...f){let p=r3(Ng.color[qR[o]][i](...f),Ng.color.close,this._styler);return L4(this,p,this._isEmpty)}}};for(let i of GR){let o="bg"+i[0].toUpperCase()+i.slice(1);cm[o]={get(){let{level:f}=this;return function(...p){let E=r3(Ng.bgColor[qR[f]][i](...p),Ng.bgColor.close,this._styler);return L4(this,E,this._isEmpty)}}}}var vJ=Object.defineProperties(()=>{},Gf(E0({},cm),{level:{enumerable:!0,get(){return this._generator.level},set(i){this._generator.level=i}}})),r3=(i,o,f)=>{let p,E;return f===void 0?(p=i,E=o):(p=f.openAll+i,E=o+f.closeAll),{open:i,close:o,openAll:p,closeAll:E,parent:f}},L4=(i,o,f)=>{let p=(...E)=>M4(E[0])&&M4(E[0].raw)?YR(p,VR(p,...E)):YR(p,E.length===1?""+E[0]:E.join(" "));return Object.setPrototypeOf(p,vJ),p._generator=i,p._styler=o,p._isEmpty=f,p},YR=(i,o)=>{if(i.level<=0||!o)return i._isEmpty?"":o;let f=i._styler;if(f===void 0)return o;let{openAll:p,closeAll:E}=f;if(o.indexOf("")!==-1)for(;f!==void 0;)o=dJ(o,f.close,f.open),f=f.parent;let t=o.indexOf(` +`);return t!==-1&&(o=pJ(o,E,p,t)),p+o+E},i3,VR=(i,...o)=>{let[f]=o;if(!M4(f)||!M4(f.raw))return o.join(" ");let p=o.slice(1),E=[f.raw[0]];for(let t=1;t{"use strict";var mJ=Lg&&Lg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Lg,"__esModule",{value:!0});var Fg=mJ(u3()),yJ=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,gJ=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,b4=(i,o)=>o==="foreground"?i:"bg"+i[0].toUpperCase()+i.slice(1);Lg.default=(i,o,f)=>{if(!o)return i;if(o in Fg.default){let E=b4(o,f);return Fg.default[E](i)}if(o.startsWith("#")){let E=b4("hex",f);return Fg.default[E](o)(i)}if(o.startsWith("ansi")){let E=gJ.exec(o);if(!E)return i;let t=b4(E[1],f),k=Number(E[2]);return Fg.default[t](k)(i)}if(o.startsWith("rgb")||o.startsWith("hsl")||o.startsWith("hsv")||o.startsWith("hwb")){let E=yJ.exec(o);if(!E)return i;let t=b4(E[1],f),k=Number(E[2]),L=Number(E[3]),N=Number(E[4]);return Fg.default[t](k,L,N)(i)}return i}});var XR=ce(bg=>{"use strict";var KR=bg&&bg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(bg,"__esModule",{value:!0});var _J=KR(RR()),l3=KR(o3());bg.default=(i,o,f,p)=>{if(typeof f.style.borderStyle=="string"){let E=f.yogaNode.getComputedWidth(),t=f.yogaNode.getComputedHeight(),k=f.style.borderColor,L=_J.default[f.style.borderStyle],N=l3.default(L.topLeft+L.horizontal.repeat(E-2)+L.topRight,k,"foreground"),C=(l3.default(L.vertical,k,"foreground")+` +`).repeat(t-2),U=l3.default(L.bottomLeft+L.horizontal.repeat(E-2)+L.bottomRight,k,"foreground");p.write(i,o,N,{transformers:[]}),p.write(i,o+1,C,{transformers:[]}),p.write(i+E-1,o+1,C,{transformers:[]}),p.write(i,o+t-1,U,{transformers:[]})}}});var JR=ce(Pg=>{"use strict";var ih=Pg&&Pg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Pg,"__esModule",{value:!0});var EJ=ih(eh()),DJ=ih(Dw()),wJ=ih(SR()),SJ=ih(kw()),TJ=ih(TR()),CJ=ih(Nw()),xJ=ih(XR()),AJ=(i,o)=>{var f;let p=(f=i.childNodes[0])===null||f===void 0?void 0:f.yogaNode;if(p){let E=p.getComputedLeft(),t=p.getComputedTop();o=` +`.repeat(t)+wJ.default(o,E)}return o},QR=(i,o,f)=>{var p;let{offsetX:E=0,offsetY:t=0,transformers:k=[],skipStaticElements:L}=f;if(L&&i.internal_static)return;let{yogaNode:N}=i;if(N){if(N.getDisplay()===EJ.default.DISPLAY_NONE)return;let C=E+N.getComputedLeft(),U=t+N.getComputedTop(),q=k;if(typeof i.internal_transform=="function"&&(q=[i.internal_transform,...k]),i.nodeName==="ink-text"){let W=CJ.default(i);if(W.length>0){let ne=DJ.default(W),m=TJ.default(N);if(ne>m){let we=(p=i.style.textWrap)!==null&&p!==void 0?p:"wrap";W=SJ.default(W,m,we)}W=AJ(i,W),o.write(C,U,W,{transformers:q})}return}if(i.nodeName==="ink-box"&&xJ.default(C,U,i,o),i.nodeName==="ink-root"||i.nodeName==="ink-box")for(let W of i.childNodes)QR(W,o,{offsetX:C,offsetY:U,transformers:q,skipStaticElements:L})}};Pg.default=QR});var $R=ce((Ure,ZR)=>{"use strict";ZR.exports=i=>{i=Object.assign({onlyFirst:!1},i);let o=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(o,i.onlyFirst?void 0:"g")}});var t7=ce((jre,s3)=>{"use strict";var RJ=$R(),e7=i=>typeof i=="string"?i.replace(RJ(),""):i;s3.exports=e7;s3.exports.default=e7});var i7=ce((zre,n7)=>{"use strict";var r7="[\uD800-\uDBFF][\uDC00-\uDFFF]";n7.exports=i=>i&&i.exact?new RegExp(`^${r7}$`):new RegExp(r7,"g")});var o7=ce((qre,a3)=>{"use strict";var OJ=t7(),kJ=i7(),u7=i=>OJ(i).replace(kJ()," ").length;a3.exports=u7;a3.exports.default=u7});var f7=ce(Ig=>{"use strict";var l7=Ig&&Ig.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Ig,"__esModule",{value:!0});var s7=l7(Rw()),MJ=l7(o7()),a7=class{constructor(o){this.writes=[];let{width:f,height:p}=o;this.width=f,this.height=p}write(o,f,p,E){let{transformers:t}=E;!p||this.writes.push({x:o,y:f,text:p,transformers:t})}get(){let o=[];for(let p=0;pp.trimRight()).join(` +`),height:o.length}}};Ig.default=a7});var p7=ce(Bg=>{"use strict";var f3=Bg&&Bg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Bg,"__esModule",{value:!0});var NJ=f3(eh()),c7=f3(JR()),d7=f3(f7());Bg.default=(i,o)=>{var f;if(i.yogaNode.setWidth(o),i.yogaNode){i.yogaNode.calculateLayout(void 0,void 0,NJ.default.DIRECTION_LTR);let p=new d7.default({width:i.yogaNode.getComputedWidth(),height:i.yogaNode.getComputedHeight()});c7.default(i,p,{skipStaticElements:!0});let E;((f=i.staticNode)===null||f===void 0?void 0:f.yogaNode)&&(E=new d7.default({width:i.staticNode.yogaNode.getComputedWidth(),height:i.staticNode.yogaNode.getComputedHeight()}),c7.default(i.staticNode,E,{skipStaticElements:!1}));let{output:t,height:k}=p.get();return{output:t,outputHeight:k,staticOutput:E?`${E.get().output} +`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var y7=ce((Vre,h7)=>{"use strict";var v7=require("stream"),m7=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],c3={},LJ=i=>{let o=new v7.PassThrough,f=new v7.PassThrough;o.write=E=>i("stdout",E),f.write=E=>i("stderr",E);let p=new console.Console(o,f);for(let E of m7)c3[E]=console[E],console[E]=p[E];return()=>{for(let E of m7)console[E]=c3[E];c3={}}};h7.exports=LJ});var p3=ce(d3=>{"use strict";Object.defineProperty(d3,"__esModule",{value:!0});d3.default=new WeakMap});var v3=ce(h3=>{"use strict";Object.defineProperty(h3,"__esModule",{value:!0});var FJ=su(),g7=FJ.createContext({exit:()=>{}});g7.displayName="InternalAppContext";h3.default=g7});var y3=ce(m3=>{"use strict";Object.defineProperty(m3,"__esModule",{value:!0});var bJ=su(),_7=bJ.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});_7.displayName="InternalStdinContext";m3.default=_7});var _3=ce(g3=>{"use strict";Object.defineProperty(g3,"__esModule",{value:!0});var PJ=su(),E7=PJ.createContext({stdout:void 0,write:()=>{}});E7.displayName="InternalStdoutContext";g3.default=E7});var D3=ce(E3=>{"use strict";Object.defineProperty(E3,"__esModule",{value:!0});var IJ=su(),D7=IJ.createContext({stderr:void 0,write:()=>{}});D7.displayName="InternalStderrContext";E3.default=D7});var P4=ce(w3=>{"use strict";Object.defineProperty(w3,"__esModule",{value:!0});var BJ=su(),w7=BJ.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});w7.displayName="InternalFocusContext";w3.default=w7});var T7=ce((Zre,S7)=>{"use strict";var UJ=/[|\\{}()[\]^$+*?.-]/g;S7.exports=i=>{if(typeof i!="string")throw new TypeError("Expected a string");return i.replace(UJ,"\\$&")}});var R7=ce(($re,C7)=>{"use strict";var jJ=T7(),x7=[].concat(require("module").builtinModules,"bootstrap_node","node").map(i=>new RegExp(`(?:\\(${i}\\.js:\\d+:\\d+\\)$|^\\s*at ${i}\\.js:\\d+:\\d+$)`));x7.push(/\(internal\/[^:]+:\d+:\d+\)$/,/\s*at internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var I4=class{constructor(o){o=E0({ignoredPackages:[]},o),"internals"in o||(o.internals=I4.nodeInternals()),"cwd"in o||(o.cwd=process.cwd()),this._cwd=o.cwd.replace(/\\/g,"/"),this._internals=[].concat(o.internals,zJ(o.ignoredPackages)),this._wrapCallSite=o.wrapCallSite||!1}static nodeInternals(){return[...x7]}clean(o,f=0){f=" ".repeat(f),Array.isArray(o)||(o=o.split(` +`)),!/^\s*at /.test(o[0])&&/^\s*at /.test(o[1])&&(o=o.slice(1));let p=!1,E=null,t=[];return o.forEach(k=>{if(k=k.replace(/\\/g,"/"),this._internals.some(N=>N.test(k)))return;let L=/^\s*at /.test(k);p?k=k.trimEnd().replace(/^(\s+)at /,"$1"):(k=k.trim(),L&&(k=k.slice(3))),k=k.replace(`${this._cwd}/`,""),k&&(L?(E&&(t.push(E),E=null),t.push(k)):(p=!0,E=k))}),t.map(k=>`${f}${k} +`).join("")}captureString(o,f=this.captureString){typeof o=="function"&&(f=o,o=Infinity);let{stackTraceLimit:p}=Error;o&&(Error.stackTraceLimit=o);let E={};Error.captureStackTrace(E,f);let{stack:t}=E;return Error.stackTraceLimit=p,this.clean(t)}capture(o,f=this.capture){typeof o=="function"&&(f=o,o=Infinity);let{prepareStackTrace:p,stackTraceLimit:E}=Error;Error.prepareStackTrace=(L,N)=>this._wrapCallSite?N.map(this._wrapCallSite):N,o&&(Error.stackTraceLimit=o);let t={};Error.captureStackTrace(t,f);let{stack:k}=t;return Object.assign(Error,{prepareStackTrace:p,stackTraceLimit:E}),k}at(o=this.at){let[f]=this.capture(1,o);if(!f)return{};let p={line:f.getLineNumber(),column:f.getColumnNumber()};A7(p,f.getFileName(),this._cwd),f.isConstructor()&&(p.constructor=!0),f.isEval()&&(p.evalOrigin=f.getEvalOrigin()),f.isNative()&&(p.native=!0);let E;try{E=f.getTypeName()}catch(L){}E&&E!=="Object"&&E!=="[object Object]"&&(p.type=E);let t=f.getFunctionName();t&&(p.function=t);let k=f.getMethodName();return k&&t!==k&&(p.method=k),p}parseLine(o){let f=o&&o.match(qJ);if(!f)return null;let p=f[1]==="new",E=f[2],t=f[3],k=f[4],L=Number(f[5]),N=Number(f[6]),C=f[7],U=f[8],q=f[9],W=f[10]==="native",ne=f[11]===")",m,we={};if(U&&(we.line=Number(U)),q&&(we.column=Number(q)),ne&&C){let Se=0;for(let he=C.length-1;he>0;he--)if(C.charAt(he)===")")Se++;else if(C.charAt(he)==="("&&C.charAt(he-1)===" "&&(Se--,Se===-1&&C.charAt(he-1)===" ")){let ge=C.slice(0,he-1);C=C.slice(he+1),E+=` (${ge}`;break}}if(E){let Se=E.match(HJ);Se&&(E=Se[1],m=Se[2])}return A7(we,C,this._cwd),p&&(we.constructor=!0),t&&(we.evalOrigin=t,we.evalLine=L,we.evalColumn=N,we.evalFile=k&&k.replace(/\\/g,"/")),W&&(we.native=!0),E&&(we.function=E),m&&E!==m&&(we.method=m),we}};function A7(i,o,f){o&&(o=o.replace(/\\/g,"/"),o.startsWith(`${f}/`)&&(o=o.slice(f.length+1)),i.file=o)}function zJ(i){if(i.length===0)return[];let o=i.map(f=>jJ(f));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${o.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var qJ=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),HJ=/^(.*?) \[as (.*?)\]$/;C7.exports=I4});var k7=ce((eie,O7)=>{"use strict";O7.exports=(i,o)=>i.replace(/^\t+/gm,f=>" ".repeat(f.length*(o||2)))});var N7=ce((tie,M7)=>{"use strict";var WJ=k7(),VJ=(i,o)=>{let f=[],p=i-o,E=i+o;for(let t=p;t<=E;t++)f.push(t);return f};M7.exports=(i,o,f)=>{if(typeof i!="string")throw new TypeError("Source code is missing.");if(!o||o<1)throw new TypeError("Line number must start from `1`.");if(i=WJ(i).split(/\r?\n/),!(o>i.length))return f=E0({around:3},f),VJ(o,f.around).filter(p=>i[p-1]!==void 0).map(p=>({line:p,value:i[p-1]}))}});var B4=ce(Zf=>{"use strict";var GJ=Zf&&Zf.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),YJ=Zf&&Zf.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),KJ=Zf&&Zf.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&GJ(o,i,f);return YJ(o,i),o},XJ=Zf&&Zf.__rest||function(i,o){var f={};for(var p in i)Object.prototype.hasOwnProperty.call(i,p)&&o.indexOf(p)<0&&(f[p]=i[p]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var E=0,p=Object.getOwnPropertySymbols(i);E{var{children:f}=i,p=XJ(i,["children"]);let E=Object.assign(Object.assign({},p),{marginLeft:p.marginLeft||p.marginX||p.margin||0,marginRight:p.marginRight||p.marginX||p.margin||0,marginTop:p.marginTop||p.marginY||p.margin||0,marginBottom:p.marginBottom||p.marginY||p.margin||0,paddingLeft:p.paddingLeft||p.paddingX||p.padding||0,paddingRight:p.paddingRight||p.paddingX||p.padding||0,paddingTop:p.paddingTop||p.paddingY||p.padding||0,paddingBottom:p.paddingBottom||p.paddingY||p.padding||0});return L7.default.createElement("ink-box",{ref:o,style:E},f)});S3.displayName="Box";S3.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};Zf.default=S3});var x3=ce(Ug=>{"use strict";var T3=Ug&&Ug.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Ug,"__esModule",{value:!0});var QJ=T3(su()),dm=T3(u3()),F7=T3(o3()),C3=({color:i,backgroundColor:o,dimColor:f,bold:p,italic:E,underline:t,strikethrough:k,inverse:L,wrap:N,children:C})=>{if(C==null)return null;let U=q=>(f&&(q=dm.default.dim(q)),i&&(q=F7.default(q,i,"foreground")),o&&(q=F7.default(q,o,"background")),p&&(q=dm.default.bold(q)),E&&(q=dm.default.italic(q)),t&&(q=dm.default.underline(q)),k&&(q=dm.default.strikethrough(q)),L&&(q=dm.default.inverse(q)),q);return QJ.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:N},internal_transform:U},C)};C3.displayName="Text";C3.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};Ug.default=C3});var B7=ce($f=>{"use strict";var JJ=$f&&$f.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),ZJ=$f&&$f.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),$J=$f&&$f.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&JJ(o,i,f);return ZJ(o,i),o},jg=$f&&$f.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty($f,"__esModule",{value:!0});var b7=$J(require("fs")),Vo=jg(su()),P7=jg(R7()),eZ=jg(N7()),Q1=jg(B4()),Ic=jg(x3()),I7=new P7.default({cwd:process.cwd(),internals:P7.default.nodeInternals()}),tZ=({error:i})=>{let o=i.stack?i.stack.split(` +`).slice(1):void 0,f=o?I7.parseLine(o[0]):void 0,p,E=0;if((f==null?void 0:f.file)&&(f==null?void 0:f.line)&&b7.existsSync(f.file)){let t=b7.readFileSync(f.file,"utf8");if(p=eZ.default(t,f.line),p)for(let{line:k}of p)E=Math.max(E,String(k).length)}return Vo.default.createElement(Q1.default,{flexDirection:"column",padding:1},Vo.default.createElement(Q1.default,null,Vo.default.createElement(Ic.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),Vo.default.createElement(Ic.default,null," ",i.message)),f&&Vo.default.createElement(Q1.default,{marginTop:1},Vo.default.createElement(Ic.default,{dimColor:!0},f.file,":",f.line,":",f.column)),f&&p&&Vo.default.createElement(Q1.default,{marginTop:1,flexDirection:"column"},p.map(({line:t,value:k})=>Vo.default.createElement(Q1.default,{key:t},Vo.default.createElement(Q1.default,{width:E+1},Vo.default.createElement(Ic.default,{dimColor:t!==f.line,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0},String(t).padStart(E," "),":")),Vo.default.createElement(Ic.default,{key:t,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0}," "+k)))),i.stack&&Vo.default.createElement(Q1.default,{marginTop:1,flexDirection:"column"},i.stack.split(` +`).slice(1).map(t=>{let k=I7.parseLine(t);return k?Vo.default.createElement(Q1.default,{key:t},Vo.default.createElement(Ic.default,{dimColor:!0},"- "),Vo.default.createElement(Ic.default,{dimColor:!0,bold:!0},k.function),Vo.default.createElement(Ic.default,{dimColor:!0,color:"gray"}," ","(",k.file,":",k.line,":",k.column,")")):Vo.default.createElement(Q1.default,{key:t},Vo.default.createElement(Ic.default,{dimColor:!0},"- "),Vo.default.createElement(Ic.default,{dimColor:!0,bold:!0},t))})))};$f.default=tZ});var j7=ce(ec=>{"use strict";var nZ=ec&&ec.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),rZ=ec&&ec.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),iZ=ec&&ec.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&nZ(o,i,f);return rZ(o,i),o},uh=ec&&ec.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ec,"__esModule",{value:!0});var oh=iZ(su()),U7=uh(ZD()),uZ=uh(v3()),oZ=uh(y3()),lZ=uh(_3()),sZ=uh(D3()),aZ=uh(P4()),fZ=uh(B7()),cZ=" ",dZ="",pZ="",A3=class extends oh.PureComponent{constructor(){super(...arguments);this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=o=>{let{stdin:f}=this.props;if(!this.isRawModeSupported())throw f===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(f.setEncoding("utf8"),o){this.rawModeEnabledCount===0&&(f.addListener("data",this.handleInput),f.resume(),f.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount==0&&(f.setRawMode(!1),f.removeListener("data",this.handleInput),f.pause())},this.handleInput=o=>{o===""&&this.props.exitOnCtrlC&&this.handleExit(),o===pZ&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(o===cZ&&this.focusNext(),o===dZ&&this.focusPrevious())},this.handleExit=o=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(o)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(o=>{let f=o.focusables[0].id;return{activeFocusId:this.findNextFocusable(o)||f}})},this.focusPrevious=()=>{this.setState(o=>{let f=o.focusables[o.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(o)||f}})},this.addFocusable=(o,{autoFocus:f})=>{this.setState(p=>{let E=p.activeFocusId;return!E&&f&&(E=o),{activeFocusId:E,focusables:[...p.focusables,{id:o,isActive:!0}]}})},this.removeFocusable=o=>{this.setState(f=>({activeFocusId:f.activeFocusId===o?void 0:f.activeFocusId,focusables:f.focusables.filter(p=>p.id!==o)}))},this.activateFocusable=o=>{this.setState(f=>({focusables:f.focusables.map(p=>p.id!==o?p:{id:o,isActive:!0})}))},this.deactivateFocusable=o=>{this.setState(f=>({activeFocusId:f.activeFocusId===o?void 0:f.activeFocusId,focusables:f.focusables.map(p=>p.id!==o?p:{id:o,isActive:!1})}))},this.findNextFocusable=o=>{let f=o.focusables.findIndex(p=>p.id===o.activeFocusId);for(let p=f+1;p{let f=o.focusables.findIndex(p=>p.id===o.activeFocusId);for(let p=f-1;p>=0;p--)if(o.focusables[p].isActive)return o.focusables[p].id}}static getDerivedStateFromError(o){return{error:o}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return oh.default.createElement(uZ.default.Provider,{value:{exit:this.handleExit}},oh.default.createElement(oZ.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},oh.default.createElement(lZ.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},oh.default.createElement(sZ.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},oh.default.createElement(aZ.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?oh.default.createElement(fZ.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){U7.default.hide(this.props.stdout)}componentWillUnmount(){U7.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(o){this.handleExit(o)}};ec.default=A3;A3.displayName="InternalApp"});var W7=ce(tc=>{"use strict";var hZ=tc&&tc.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),vZ=tc&&tc.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),mZ=tc&&tc.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&hZ(o,i,f);return vZ(o,i),o},nc=tc&&tc.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(tc,"__esModule",{value:!0});var yZ=nc(su()),z7=B5(),gZ=nc(Z5()),_Z=nc(GD()),EZ=nc(u9()),DZ=nc(l9()),U4=nc(DR()),wZ=nc(p7()),SZ=nc(JD()),TZ=nc(y7()),CZ=mZ(Lw()),xZ=nc(p3()),AZ=nc(j7()),pm=process.env.CI==="false"?!1:EZ.default,q7=()=>{},H7=class{constructor(o){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:f,outputHeight:p,staticOutput:E}=wZ.default(this.rootNode,this.options.stdout.columns||80),t=E&&E!==` +`;if(this.options.debug){t&&(this.fullStaticOutput+=E),this.options.stdout.write(this.fullStaticOutput+f);return}if(pm){t&&this.options.stdout.write(E),this.lastOutput=f;return}if(t&&(this.fullStaticOutput+=E),p>=this.options.stdout.rows){this.options.stdout.write(_Z.default.clearTerminal+this.fullStaticOutput+f),this.lastOutput=f;return}t&&(this.log.clear(),this.options.stdout.write(E),this.log(f)),!t&&f!==this.lastOutput&&this.throttledLog(f),this.lastOutput=f},DZ.default(this),this.options=o,this.rootNode=CZ.createNode("ink-root"),this.rootNode.onRender=o.debug?this.onRender:z7.throttle(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=gZ.default.create(o.stdout),this.throttledLog=o.debug?this.log:z7.throttle(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=U4.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=SZ.default(this.unmount,{alwaysLast:!1}),process.env.DEV==="true"&&U4.default.injectIntoDevTools({bundleType:0,version:"16.13.1",rendererPackageName:"ink"}),o.patchConsole&&this.patchConsole(),pm||(o.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{o.stdout.off("resize",this.onRender)})}render(o){let f=yZ.default.createElement(AZ.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},o);U4.default.updateContainer(f,this.container,null,q7)}writeToStdout(o){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(o+this.fullStaticOutput+this.lastOutput);return}if(pm){this.options.stdout.write(o);return}this.log.clear(),this.options.stdout.write(o),this.log(this.lastOutput)}}writeToStderr(o){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(o),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(pm){this.options.stderr.write(o);return}this.log.clear(),this.options.stderr.write(o),this.log(this.lastOutput)}}unmount(o){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),pm?this.options.stdout.write(this.lastOutput+` +`):this.options.debug||this.log.done(),this.isUnmounted=!0,U4.default.updateContainer(null,this.container,null,q7),xZ.default.delete(this.options.stdout),o instanceof Error?this.rejectExitPromise(o):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((o,f)=>{this.resolveExitPromise=o,this.rejectExitPromise=f})),this.exitPromise}clear(){!pm&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=TZ.default((o,f)=>{o==="stdout"&&this.writeToStdout(f),o==="stderr"&&(f.startsWith("The above error occurred")||this.writeToStderr(f))}))}};tc.default=H7});var G7=ce(zg=>{"use strict";var V7=zg&&zg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(zg,"__esModule",{value:!0});var RZ=V7(W7()),j4=V7(p3()),OZ=require("stream"),NZ=(i,o)=>{let f=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},kZ(o)),p=MZ(f.stdout,()=>new RZ.default(f));return p.render(i),{rerender:p.render,unmount:()=>p.unmount(),waitUntilExit:p.waitUntilExit,cleanup:()=>j4.default.delete(f.stdout),clear:p.clear}};zg.default=NZ;var kZ=(i={})=>i instanceof OZ.Stream?{stdout:i,stdin:process.stdin}:i,MZ=(i,o)=>{let f;return j4.default.has(i)?f=j4.default.get(i):(f=o(),j4.default.set(i,f)),f}});var K7=ce(J1=>{"use strict";var LZ=J1&&J1.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),FZ=J1&&J1.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),bZ=J1&&J1.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&LZ(o,i,f);return FZ(o,i),o};Object.defineProperty(J1,"__esModule",{value:!0});var qg=bZ(su()),Y7=i=>{let{items:o,children:f,style:p}=i,[E,t]=qg.useState(0),k=qg.useMemo(()=>o.slice(E),[o,E]);qg.useLayoutEffect(()=>{t(o.length)},[o.length]);let L=k.map((C,U)=>f(C,E+U)),N=qg.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},p),[p]);return qg.default.createElement("ink-box",{internal_static:!0,style:N},L)};Y7.displayName="Static";J1.default=Y7});var Q7=ce(Hg=>{"use strict";var PZ=Hg&&Hg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Hg,"__esModule",{value:!0});var IZ=PZ(su()),X7=({children:i,transform:o})=>i==null?null:IZ.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:o},i);X7.displayName="Transform";Hg.default=X7});var Z7=ce(Wg=>{"use strict";var BZ=Wg&&Wg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Wg,"__esModule",{value:!0});var UZ=BZ(su()),J7=({count:i=1})=>UZ.default.createElement("ink-text",null,` +`.repeat(i));J7.displayName="Newline";Wg.default=J7});var tO=ce(Vg=>{"use strict";var $7=Vg&&Vg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Vg,"__esModule",{value:!0});var jZ=$7(su()),zZ=$7(B4()),eO=()=>jZ.default.createElement(zZ.default,{flexGrow:1});eO.displayName="Spacer";Vg.default=eO});var z4=ce(Gg=>{"use strict";var qZ=Gg&&Gg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Gg,"__esModule",{value:!0});var HZ=su(),WZ=qZ(y3()),VZ=()=>HZ.useContext(WZ.default);Gg.default=VZ});var rO=ce(Yg=>{"use strict";var GZ=Yg&&Yg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Yg,"__esModule",{value:!0});var nO=su(),YZ=GZ(z4()),KZ=(i,o={})=>{let{stdin:f,setRawMode:p,internal_exitOnCtrlC:E}=YZ.default();nO.useEffect(()=>{if(o.isActive!==!1)return p(!0),()=>{p(!1)}},[o.isActive,p]),nO.useEffect(()=>{if(o.isActive===!1)return;let t=k=>{let L=String(k),N={upArrow:L==="",downArrow:L==="",leftArrow:L==="",rightArrow:L==="",pageDown:L==="[6~",pageUp:L==="[5~",return:L==="\r",escape:L==="",ctrl:!1,shift:!1,tab:L===" "||L==="",backspace:L==="\b",delete:L==="\x7F"||L==="[3~",meta:!1};L<=""&&!N.return&&(L=String.fromCharCode(L.charCodeAt(0)+"a".charCodeAt(0)-1),N.ctrl=!0),L.startsWith("")&&(L=L.slice(1),N.meta=!0);let C=L>="A"&&L<="Z",U=L>="\u0410"&&L<="\u042F";L.length===1&&(C||U)&&(N.shift=!0),N.tab&&L==="[Z"&&(N.shift=!0),(N.tab||N.backspace||N.delete)&&(L=""),(!(L==="c"&&N.ctrl)||!E)&&i(L,N)};return f==null||f.on("data",t),()=>{f==null||f.off("data",t)}},[o.isActive,f,E,i])};Yg.default=KZ});var iO=ce(Kg=>{"use strict";var XZ=Kg&&Kg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Kg,"__esModule",{value:!0});var QZ=su(),JZ=XZ(v3()),ZZ=()=>QZ.useContext(JZ.default);Kg.default=ZZ});var uO=ce(Xg=>{"use strict";var $Z=Xg&&Xg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Xg,"__esModule",{value:!0});var e$=su(),t$=$Z(_3()),n$=()=>e$.useContext(t$.default);Xg.default=n$});var oO=ce(Qg=>{"use strict";var r$=Qg&&Qg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Qg,"__esModule",{value:!0});var i$=su(),u$=r$(D3()),o$=()=>i$.useContext(u$.default);Qg.default=o$});var sO=ce(Jg=>{"use strict";var lO=Jg&&Jg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Jg,"__esModule",{value:!0});var Zg=su(),l$=lO(P4()),s$=lO(z4()),a$=({isActive:i=!0,autoFocus:o=!1}={})=>{let{isRawModeSupported:f,setRawMode:p}=s$.default(),{activeId:E,add:t,remove:k,activate:L,deactivate:N}=Zg.useContext(l$.default),C=Zg.useMemo(()=>Math.random().toString().slice(2,7),[]);return Zg.useEffect(()=>(t(C,{autoFocus:o}),()=>{k(C)}),[C,o]),Zg.useEffect(()=>{i?L(C):N(C)},[i,C]),Zg.useEffect(()=>{if(!(!f||!i))return p(!0),()=>{p(!1)}},[i]),{isFocused:Boolean(C)&&E===C}};Jg.default=a$});var aO=ce($g=>{"use strict";var f$=$g&&$g.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty($g,"__esModule",{value:!0});var c$=su(),d$=f$(P4()),p$=()=>{let i=c$.useContext(d$.default);return{enableFocus:i.enableFocus,disableFocus:i.disableFocus,focusNext:i.focusNext,focusPrevious:i.focusPrevious}};$g.default=p$});var fO=ce(R3=>{"use strict";Object.defineProperty(R3,"__esModule",{value:!0});R3.default=i=>{var o,f,p,E;return{width:(f=(o=i.yogaNode)===null||o===void 0?void 0:o.getComputedWidth())!==null&&f!==void 0?f:0,height:(E=(p=i.yogaNode)===null||p===void 0?void 0:p.getComputedHeight())!==null&&E!==void 0?E:0}}});var lh=ce(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});var h$=G7();Object.defineProperty(ql,"render",{enumerable:!0,get:function(){return h$.default}});var v$=B4();Object.defineProperty(ql,"Box",{enumerable:!0,get:function(){return v$.default}});var m$=x3();Object.defineProperty(ql,"Text",{enumerable:!0,get:function(){return m$.default}});var y$=K7();Object.defineProperty(ql,"Static",{enumerable:!0,get:function(){return y$.default}});var g$=Q7();Object.defineProperty(ql,"Transform",{enumerable:!0,get:function(){return g$.default}});var _$=Z7();Object.defineProperty(ql,"Newline",{enumerable:!0,get:function(){return _$.default}});var E$=tO();Object.defineProperty(ql,"Spacer",{enumerable:!0,get:function(){return E$.default}});var D$=rO();Object.defineProperty(ql,"useInput",{enumerable:!0,get:function(){return D$.default}});var w$=iO();Object.defineProperty(ql,"useApp",{enumerable:!0,get:function(){return w$.default}});var S$=z4();Object.defineProperty(ql,"useStdin",{enumerable:!0,get:function(){return S$.default}});var T$=uO();Object.defineProperty(ql,"useStdout",{enumerable:!0,get:function(){return T$.default}});var C$=oO();Object.defineProperty(ql,"useStderr",{enumerable:!0,get:function(){return C$.default}});var x$=sO();Object.defineProperty(ql,"useFocus",{enumerable:!0,get:function(){return x$.default}});var A$=aO();Object.defineProperty(ql,"useFocusManager",{enumerable:!0,get:function(){return A$.default}});var R$=fO();Object.defineProperty(ql,"measureElement",{enumerable:!0,get:function(){return R$.default}})});var k$={};sS(k$,{default:()=>N$,versionUtils:()=>RD});var M3=Mi(require("@yarnpkg/core"));var X_=Mi(require("@yarnpkg/cli")),em=Mi(require("@yarnpkg/core")),Q_=Mi(require("@yarnpkg/core")),cd=Mi(require("clipanion"));var RD={};sS(RD,{Decision:()=>Nu,applyPrerelease:()=>v5,applyReleases:()=>ND,applyStrategy:()=>Y_,clearVersionFiles:()=>OD,fetchBase:()=>pK,fetchChangedFiles:()=>vK,fetchRoot:()=>hK,getUndecidedDependentWorkspaces:()=>Zy,getUndecidedWorkspaces:()=>K_,openVersionFile:()=>$v,requireMoreDecisions:()=>yK,resolveVersionFiles:()=>Jy,suggestStrategy:()=>MD,updateVersionFiles:()=>kD,validateReleaseDecision:()=>Zv});var Gi=Mi(require("@yarnpkg/core")),D0=Mi(require("@yarnpkg/fslib")),W1=Mi(require("@yarnpkg/parsers")),Zp=Mi(require("@yarnpkg/plugin-git")),Jv=Mi(require("clipanion")),h5=Mi(p5()),Fc=Mi(require("semver")),pK=Zp.gitUtils.fetchBase,hK=Zp.gitUtils.fetchRoot,vK=Zp.gitUtils.fetchChangedFiles,mK=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,Nu;(function(k){k.UNDECIDED="undecided",k.DECLINE="decline",k.MAJOR="major",k.MINOR="minor",k.PATCH="patch",k.PRERELEASE="prerelease"})(Nu||(Nu={}));function Zv(i){let o=Fc.default.valid(i);return o||Gi.miscUtils.validateEnum((0,h5.default)(Nu,"UNDECIDED"),i)}async function Jy(i,{prerelease:o=null}={}){var t;let f=new Map,p=i.configuration.get("deferredVersionFolder");if(!D0.xfs.existsSync(p))return new Map;let E=await D0.xfs.readdirPromise(p);for(let k of E){if(!k.endsWith(".yml"))continue;let L=D0.ppath.join(p,k),N=await D0.xfs.readFilePromise(L,"utf8"),C=(0,W1.parseSyml)(N);for(let[U,q]of Object.entries(C.releases||{})){if(q===Nu.DECLINE)continue;let W=Gi.structUtils.parseIdent(U),ne=i.tryWorkspaceByIdent(W);if(ne===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${D0.ppath.basename(L)} references ${U})`);if(ne.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${Gi.structUtils.prettyLocator(i.configuration,ne.anchoredLocator)})`);let m=(t=ne.manifest.raw.stableVersion)!=null?t:ne.manifest.version,we=f.get(ne),Se=Y_(m,Zv(q));if(Se===null)throw new Error(`Assertion failed: Expected ${m} to support being bumped via strategy ${q}`);let he=typeof we!="undefined"?Fc.default.gt(Se,we)?Se:we:Se;f.set(ne,he)}}return o&&(f=new Map([...f].map(([k,L])=>[k,v5(L,{current:k.manifest.version,prerelease:o})]))),f}async function OD(i){let o=i.configuration.get("deferredVersionFolder");!D0.xfs.existsSync(o)||await D0.xfs.removePromise(o)}async function kD(i){let o=i.configuration.get("deferredVersionFolder");if(!D0.xfs.existsSync(o))return;let f=await D0.xfs.readdirPromise(o);for(let p of f){if(!p.endsWith(".yml"))continue;let E=D0.ppath.join(o,p),t=await D0.xfs.readFilePromise(E,"utf8"),k=(0,W1.parseSyml)(t),L=k==null?void 0:k.releases;if(!!L){for(let N of Object.keys(L)){let C=Gi.structUtils.parseLocator(N);i.tryWorkspaceByLocator(C)===null&&delete k.releases[N]}await D0.xfs.changeFilePromise(E,(0,W1.stringifySyml)(new W1.stringifySyml.PreserveOrdering(k)))}}}async function $v(i,{allowEmpty:o=!1}={}){let f=i.configuration;if(f.projectCwd===null)throw new Jv.UsageError("This command can only be run from within a Yarn project");let p=await Zp.gitUtils.fetchRoot(f.projectCwd),E=p!==null?await Zp.gitUtils.fetchBase(p,{baseRefs:f.get("changesetBaseRefs")}):null,t=p!==null?await Zp.gitUtils.fetchChangedFiles(p,{base:E.hash,project:i}):[],k=f.get("deferredVersionFolder"),L=t.filter(ne=>D0.ppath.contains(k,ne)!==null);if(L.length>1)throw new Jv.UsageError(`Your current branch contains multiple versioning files; this isn't supported: +- ${L.map(ne=>D0.npath.fromPortablePath(ne)).join(` +- `)}`);let N=new Set(Gi.miscUtils.mapAndFilter(t,ne=>{let m=i.tryWorkspaceByFilePath(ne);return m===null?Gi.miscUtils.mapAndFilter.skip:m}));if(L.length===0&&N.size===0&&!o)return null;let C=L.length===1?L[0]:D0.ppath.join(k,`${Gi.hashUtils.makeHash(Math.random().toString()).slice(0,8)}.yml`),U=D0.xfs.existsSync(C)?await D0.xfs.readFilePromise(C,"utf8"):"{}",q=(0,W1.parseSyml)(U),W=new Map;for(let ne of q.declined||[]){let m=Gi.structUtils.parseIdent(ne),we=i.getWorkspaceByIdent(m);W.set(we,Nu.DECLINE)}for(let[ne,m]of Object.entries(q.releases||{})){let we=Gi.structUtils.parseIdent(ne),Se=i.getWorkspaceByIdent(we);W.set(Se,Zv(m))}return{project:i,root:p,baseHash:E!==null?E.hash:null,baseTitle:E!==null?E.title:null,changedFiles:new Set(t),changedWorkspaces:N,releaseRoots:new Set([...N].filter(ne=>ne.manifest.version!==null)),releases:W,async saveAll(){let ne={},m=[],we=[];for(let Se of i.workspaces){if(Se.manifest.version===null)continue;let he=Gi.structUtils.stringifyIdent(Se.locator),ge=W.get(Se);ge===Nu.DECLINE?m.push(he):typeof ge!="undefined"?ne[he]=Zv(ge):N.has(Se)&&we.push(he)}await D0.xfs.mkdirPromise(D0.ppath.dirname(C),{recursive:!0}),await D0.xfs.changeFilePromise(C,(0,W1.stringifySyml)(new W1.stringifySyml.PreserveOrdering({releases:Object.keys(ne).length>0?ne:void 0,declined:m.length>0?m:void 0,undecided:we.length>0?we:void 0})))}}}function yK(i){return K_(i).size>0||Zy(i).length>0}function K_(i){let o=new Set;for(let f of i.changedWorkspaces)f.manifest.version!==null&&(i.releases.has(f)||o.add(f));return o}function Zy(i,{include:o=new Set}={}){let f=[],p=new Map(Gi.miscUtils.mapAndFilter([...i.releases],([t,k])=>k===Nu.DECLINE?Gi.miscUtils.mapAndFilter.skip:[t.anchoredLocator.locatorHash,t])),E=new Map(Gi.miscUtils.mapAndFilter([...i.releases],([t,k])=>k!==Nu.DECLINE?Gi.miscUtils.mapAndFilter.skip:[t.anchoredLocator.locatorHash,t]));for(let t of i.project.workspaces)if(!(!o.has(t)&&(E.has(t.anchoredLocator.locatorHash)||p.has(t.anchoredLocator.locatorHash)))&&t.manifest.version!==null)for(let k of Gi.Manifest.hardDependencies)for(let L of t.manifest.getForScope(k).values()){let N=i.project.tryWorkspaceByDescriptor(L);N!==null&&p.has(N.anchoredLocator.locatorHash)&&f.push([t,N])}return f}function MD(i,o){let f=Fc.default.clean(o);for(let p of Object.values(Nu))if(p!==Nu.UNDECIDED&&p!==Nu.DECLINE&&Fc.default.inc(i,p)===f)return p;return null}function Y_(i,o){if(Fc.default.valid(o))return o;if(i===null)throw new Jv.UsageError(`Cannot apply the release strategy "${o}" unless the workspace already has a valid version`);if(!Fc.default.valid(i))throw new Jv.UsageError(`Cannot apply the release strategy "${o}" on a non-semver version (${i})`);let f=Fc.default.inc(i,o);if(f===null)throw new Jv.UsageError(`Cannot apply the release strategy "${o}" on the specified version (${i})`);return f}function ND(i,o,{report:f}){let p=new Map;for(let E of i.workspaces)for(let t of Gi.Manifest.allDependencies)for(let k of E.manifest[t].values()){let L=i.tryWorkspaceByDescriptor(k);if(L===null||!o.has(L))continue;Gi.miscUtils.getArrayWithDefault(p,L).push([E,t,k.identHash])}for(let[E,t]of o){let k=E.manifest.version;E.manifest.version=t,Fc.default.prerelease(t)===null?delete E.manifest.raw.stableVersion:E.manifest.raw.stableVersion||(E.manifest.raw.stableVersion=k);let L=E.manifest.name!==null?Gi.structUtils.stringifyIdent(E.manifest.name):null;f.reportInfo(Gi.MessageName.UNNAMED,`${Gi.structUtils.prettyLocator(i.configuration,E.anchoredLocator)}: Bumped to ${t}`),f.reportJson({cwd:D0.npath.fromPortablePath(E.cwd),ident:L,oldVersion:k,newVersion:t});let N=p.get(E);if(typeof N!="undefined")for(let[C,U,q]of N){let W=C.manifest[U].get(q);if(typeof W=="undefined")throw new Error("Assertion failed: The dependency should have existed");let ne=W.range,m=!1;if(ne.startsWith(Gi.WorkspaceResolver.protocol)&&(ne=ne.slice(Gi.WorkspaceResolver.protocol.length),m=!0,ne===E.relativeCwd))continue;let we=ne.match(mK);if(!we){f.reportWarning(Gi.MessageName.UNNAMED,`Couldn't auto-upgrade range ${ne} (in ${Gi.structUtils.prettyLocator(i.configuration,C.anchoredLocator)})`);continue}let Se=`${we[1]}${t}`;m&&(Se=`${Gi.WorkspaceResolver.protocol}${Se}`);let he=Gi.structUtils.makeDescriptor(W,Se);C.manifest[U].set(q,he)}}}var gK=new Map([["%n",{extract:i=>i.length>=1?[i[0],i.slice(1)]:null,generate:(i=0)=>`${i+1}`}]]);function v5(i,{current:o,prerelease:f}){let p=new Fc.default.SemVer(o),E=p.prerelease.slice(),t=[];p.prerelease=[],p.format()!==i&&(E.length=0);let k=!0,L=f.split(/\./g);for(let N of L){let C=gK.get(N);if(typeof C=="undefined")t.push(N),E[0]===N?E.shift():k=!1;else{let U=k?C.extract(E):null;U!==null&&typeof U[0]=="number"?(t.push(C.generate(U[0])),E=U[1]):(t.push(C.generate()),k=!1)}}return p.prerelease&&(p.prerelease=[]),`${i}-${t.join(".")}`}var $y=class extends X_.BaseCommand{constructor(){super(...arguments);this.all=cd.Option.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=cd.Option.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=cd.Option.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.recursive=cd.Option.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=cd.Option.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let o=await em.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:p}=await Q_.Project.find(o,this.context.cwd),E=await em.Cache.find(o);if(!p)throw new X_.WorkspaceRequiredError(f.cwd,this.context.cwd);return await f.restoreInstallState({restoreResolutions:!1}),(await Q_.StreamReport.start({configuration:o,json:this.json,stdout:this.context.stdout},async k=>{let L=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,N=await Jy(f,{prerelease:L}),C=new Map;if(this.all)C=N;else{let U=this.recursive?p.getRecursiveWorkspaceDependencies():[p];for(let q of U){let W=N.get(q);typeof W!="undefined"&&C.set(q,W)}}if(C.size===0){let U=N.size>0?" Did you want to add --all?":"";k.reportWarning(em.MessageName.UNNAMED,`The current workspace doesn't seem to require a version bump.${U}`);return}ND(f,C,{report:k}),this.dryRun||(L||(this.all?await OD(f):await kD(f)),k.reportSeparator(),await f.install({cache:E,report:k}))})).exitCode()}};$y.paths=[["version","apply"]],$y.usage=cd.Command.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:` + This command will apply the deferred version changes and remove their definitions from the repository. + + Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%d\`) will be used on all new versions and the version definitions will be kept as-is. + + By default only the current workspace will be bumped, but you can configure this behavior by using one of: + + - \`--recursive\` to also apply the version bump on its dependencies + - \`--all\` to apply the version bump on all packages in the repository + + Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump. + `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]});var m5=$y;var e_=Mi(require("@yarnpkg/cli")),s0=Mi(require("@yarnpkg/core")),rc=Mi(require("@yarnpkg/fslib"));var cO=Mi(lh()),sh=Mi(su()),dO=(0,sh.memo)(({active:i})=>{let o=(0,sh.useMemo)(()=>i?"\u25C9":"\u25EF",[i]),f=(0,sh.useMemo)(()=>i?"green":"yellow",[i]);return sh.default.createElement(cO.Text,{color:f},o)});var yd=Mi(lh()),Js=Mi(su());var pO=Mi(lh()),q4=Mi(su());function hm({active:i},o,f){let{stdin:p}=(0,pO.useStdin)(),E=(0,q4.useCallback)((t,k)=>o(t,k),f);(0,q4.useEffect)(()=>{if(!(!i||!p))return p.on("keypress",E),()=>{p.off("keypress",E)}},[i,E,p])}var ah;(function(f){f.BEFORE="before",f.AFTER="after"})(ah||(ah={}));var hO=function({active:i},o,f){hm({active:i},(p,E)=>{E.name==="tab"&&(E.shift?o(ah.BEFORE):o(ah.AFTER))},f)};var H4=function(i,o,{active:f,minus:p,plus:E,set:t,loop:k=!0}){hm({active:f},(L,N)=>{let C=o.indexOf(i);switch(N.name){case p:{let U=C-1;if(k){t(o[(o.length+U)%o.length]);return}if(U<0)return;t(o[U])}break;case E:{let U=C+1;if(k){t(o[U%o.length]);return}if(U>=o.length)return;t(o[U])}break}},[o,i,E,t,k])};var O3=({active:i=!0,children:o=[],radius:f=10,size:p=1,loop:E=!0,onFocusRequest:t,willReachEnd:k})=>{let L=Se=>{if(Se.key===null)throw new Error("Expected all children to have a key");return Se.key},N=Js.default.Children.map(o,Se=>L(Se)),C=N[0],[U,q]=(0,Js.useState)(C),W=N.indexOf(U);(0,Js.useEffect)(()=>{N.includes(U)||q(C)},[o]),(0,Js.useEffect)(()=>{k&&W>=N.length-2&&k()},[W]),hO({active:i&&!!t},Se=>{t==null||t(Se)},[t]),H4(U,N,{active:i,minus:"up",plus:"down",set:q,loop:E});let ne=W-f,m=W+f;m>N.length&&(ne-=m-N.length,m=N.length),ne<0&&(m+=-ne,ne=0),m>=N.length&&(m=N.length-1);let we=[];for(let Se=ne;Se<=m;++Se){let he=N[Se],ge=i&&he===U;we.push(Js.default.createElement(yd.Box,{key:he,height:p},Js.default.createElement(yd.Box,{marginLeft:1,marginRight:1},Js.default.createElement(yd.Text,null,ge?Js.default.createElement(yd.Text,{color:"cyan",bold:!0},">"):" ")),Js.default.createElement(yd.Box,null,Js.default.cloneElement(o[Se],{active:ge}))))}return Js.default.createElement(yd.Box,{flexDirection:"column",width:"100%"},we)};var W4=Mi(lh()),k3=Mi(su());var vO=Mi(lh()),Z1=Mi(su()),mO=Mi(require("readline")),O$=Z1.default.createContext(null),yO=({children:i})=>{let{stdin:o,setRawMode:f}=(0,vO.useStdin)();(0,Z1.useEffect)(()=>{f&&f(!0),o&&(0,mO.emitKeypressEvents)(o)},[o,f]);let[p,E]=(0,Z1.useState)(new Map),t=(0,Z1.useMemo)(()=>({getAll:()=>p,get:k=>p.get(k),set:(k,L)=>E(new Map([...p,[k,L]]))}),[p,E]);return Z1.default.createElement(O$.Provider,{value:t,children:i})};async function gO(i,o,{stdin:f,stdout:p,stderr:E}={}){let t,k=N=>{let{exit:C}=(0,W4.useApp)();hm({active:!0},(U,q)=>{q.name==="return"&&(t=N,C())},[C,N])},{waitUntilExit:L}=(0,W4.render)(k3.default.createElement(yO,null,k3.default.createElement(i,Gf(E0({},o),{useSubmit:k}))),{stdin:f,stdout:p,stderr:E});return await L(),t}var fh=Mi(require("clipanion")),Dr=Mi(lh()),Tn=Mi(su()),V4=Mi(require("semver"));var t_=class extends e_.BaseCommand{constructor(){super(...arguments);this.interactive=fh.Option.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){let o=await s0.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:p}=await s0.Project.find(o,this.context.cwd);if(!p)throw new e_.WorkspaceRequiredError(f.cwd,this.context.cwd);await f.restoreInstallState();let E=await $v(f);if(E===null||E.releaseRoots.size===0)return 0;if(E.root===null)throw new fh.UsageError("This command can only be run on Git repositories");let t=()=>Tn.default.createElement(Dr.Box,{flexDirection:"row",paddingBottom:1},Tn.default.createElement(Dr.Box,{flexDirection:"column",width:60},Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,null,"Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},""),"/",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to select workspaces.")),Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,null,"Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},""),"/",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to select release strategies."))),Tn.default.createElement(Dr.Box,{flexDirection:"column"},Tn.default.createElement(Dr.Box,{marginLeft:1},Tn.default.createElement(Dr.Text,null,"Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to save.")),Tn.default.createElement(Dr.Box,{marginLeft:1},Tn.default.createElement(Dr.Text,null,"Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),k=({workspace:W,active:ne,decision:m,setDecision:we})=>{var ze;let Se=(ze=W.manifest.raw.stableVersion)!=null?ze:W.manifest.version;if(Se===null)throw new Error(`Assertion failed: The version should have been set (${s0.structUtils.prettyLocator(o,W.anchoredLocator)})`);if(V4.default.prerelease(Se)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${Se})`);let he=[Nu.UNDECIDED,Nu.DECLINE,Nu.PATCH,Nu.MINOR,Nu.MAJOR];H4(m,he,{active:ne,minus:"left",plus:"right",set:we});let ge=m===Nu.UNDECIDED?Tn.default.createElement(Dr.Text,{color:"yellow"},Se):m===Nu.DECLINE?Tn.default.createElement(Dr.Text,{color:"green"},Se):Tn.default.createElement(Dr.Text,null,Tn.default.createElement(Dr.Text,{color:"magenta"},Se)," \u2192 ",Tn.default.createElement(Dr.Text,{color:"green"},V4.default.valid(m)?m:V4.default.inc(Se,m)));return Tn.default.createElement(Dr.Box,{flexDirection:"column"},Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,null,s0.structUtils.prettyLocator(o,W.anchoredLocator)," - ",ge)),Tn.default.createElement(Dr.Box,null,he.map(pe=>Tn.default.createElement(Dr.Box,{key:pe,paddingLeft:2},Tn.default.createElement(Dr.Text,null,Tn.default.createElement(dO,{active:pe===m})," ",pe)))))},L=W=>{let ne=new Set(E.releaseRoots),m=new Map([...W].filter(([we])=>ne.has(we)));for(;;){let we=Zy({project:E.project,releases:m}),Se=!1;if(we.length>0){for(let[he]of we)if(!ne.has(he)){ne.add(he),Se=!0;let ge=W.get(he);typeof ge!="undefined"&&m.set(he,ge)}}if(!Se)break}return{relevantWorkspaces:ne,relevantReleases:m}},N=()=>{let[W,ne]=(0,Tn.useState)(()=>new Map(E.releases)),m=(0,Tn.useCallback)((we,Se)=>{let he=new Map(W);Se!==Nu.UNDECIDED?he.set(we,Se):he.delete(we);let{relevantReleases:ge}=L(he);ne(ge)},[W,ne]);return[W,m]},C=({workspaces:W,releases:ne})=>{let m=[];m.push(`${W.size} total`);let we=0,Se=0;for(let he of W){let ge=ne.get(he);typeof ge=="undefined"?Se+=1:ge!==Nu.DECLINE&&(we+=1)}return m.push(`${we} release${we===1?"":"s"}`),m.push(`${Se} remaining`),Tn.default.createElement(Dr.Text,{color:"yellow"},m.join(", "))},q=await gO(({useSubmit:W})=>{let[ne,m]=N();W(ne);let{relevantWorkspaces:we}=L(ne),Se=new Set([...we].filter(pe=>!E.releaseRoots.has(pe))),[he,ge]=(0,Tn.useState)(0),ze=(0,Tn.useCallback)(pe=>{switch(pe){case ah.BEFORE:ge(he-1);break;case ah.AFTER:ge(he+1);break}},[he,ge]);return Tn.default.createElement(Dr.Box,{flexDirection:"column"},Tn.default.createElement(t,null),Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,{wrap:"wrap"},"The following files have been modified in your local checkout.")),Tn.default.createElement(Dr.Box,{flexDirection:"column",marginTop:1,paddingLeft:2},[...E.changedFiles].map(pe=>Tn.default.createElement(Dr.Box,{key:pe},Tn.default.createElement(Dr.Text,null,Tn.default.createElement(Dr.Text,{color:"grey"},rc.npath.fromPortablePath(E.root)),rc.npath.sep,rc.npath.relative(rc.npath.fromPortablePath(E.root),rc.npath.fromPortablePath(pe)))))),E.releaseRoots.size>0&&Tn.default.createElement(Tn.default.Fragment,null,Tn.default.createElement(Dr.Box,{marginTop:1},Tn.default.createElement(Dr.Text,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),Se.size>3?Tn.default.createElement(Dr.Box,{marginTop:1},Tn.default.createElement(C,{workspaces:E.releaseRoots,releases:ne})):null,Tn.default.createElement(Dr.Box,{marginTop:1,flexDirection:"column"},Tn.default.createElement(O3,{active:he%2==0,radius:1,size:2,onFocusRequest:ze},[...E.releaseRoots].map(pe=>Tn.default.createElement(k,{key:pe.cwd,workspace:pe,decision:ne.get(pe)||Nu.UNDECIDED,setDecision:Oe=>m(pe,Oe)}))))),Se.size>0?Tn.default.createElement(Tn.default.Fragment,null,Tn.default.createElement(Dr.Box,{marginTop:1},Tn.default.createElement(Dr.Text,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,null,"(Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to move the focus between the workspace groups.)")),Se.size>5?Tn.default.createElement(Dr.Box,{marginTop:1},Tn.default.createElement(C,{workspaces:Se,releases:ne})):null,Tn.default.createElement(Dr.Box,{marginTop:1,flexDirection:"column"},Tn.default.createElement(O3,{active:he%2==1,radius:2,size:2,onFocusRequest:ze},[...Se].map(pe=>Tn.default.createElement(k,{key:pe.cwd,workspace:pe,decision:ne.get(pe)||Nu.UNDECIDED,setDecision:Oe=>m(pe,Oe)}))))):null)},{versionFile:E},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof q=="undefined")return 1;E.releases.clear();for(let[W,ne]of q)E.releases.set(W,ne);await E.saveAll()}async executeStandard(){let o=await s0.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:p}=await s0.Project.find(o,this.context.cwd);if(!p)throw new e_.WorkspaceRequiredError(f.cwd,this.context.cwd);return await f.restoreInstallState(),(await s0.StreamReport.start({configuration:o,stdout:this.context.stdout},async t=>{let k=await $v(f);if(k===null||k.releaseRoots.size===0)return;if(k.root===null)throw new fh.UsageError("This command can only be run on Git repositories");if(t.reportInfo(s0.MessageName.UNNAMED,`Your PR was started right after ${s0.formatUtils.pretty(o,k.baseHash.slice(0,7),"yellow")} ${s0.formatUtils.pretty(o,k.baseTitle,"magenta")}`),k.changedFiles.size>0){t.reportInfo(s0.MessageName.UNNAMED,"You have changed the following files since then:"),t.reportSeparator();for(let q of k.changedFiles)t.reportInfo(null,`${s0.formatUtils.pretty(o,rc.npath.fromPortablePath(k.root),"gray")}${rc.npath.sep}${rc.npath.relative(rc.npath.fromPortablePath(k.root),rc.npath.fromPortablePath(q))}`)}let L=!1,N=!1,C=K_(k);if(C.size>0){L||t.reportSeparator();for(let q of C)t.reportError(s0.MessageName.UNNAMED,`${s0.structUtils.prettyLocator(o,q.anchoredLocator)} has been modified but doesn't have a release strategy attached`);L=!0}let U=Zy(k);for(let[q,W]of U)N||t.reportSeparator(),t.reportError(s0.MessageName.UNNAMED,`${s0.structUtils.prettyLocator(o,q.anchoredLocator)} doesn't have a release strategy attached, but depends on ${s0.structUtils.prettyWorkspace(o,W)} which is planned for release.`),N=!0;(L||N)&&(t.reportSeparator(),t.reportInfo(s0.MessageName.UNNAMED,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),t.reportInfo(s0.MessageName.UNNAMED,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};t_.paths=[["version","check"]],t_.usage=fh.Command.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]});var _O=t_;var G4=Mi(require("@yarnpkg/cli")),Y4=Mi(require("@yarnpkg/core")),Bc=Mi(require("clipanion")),K4=Mi(require("semver"));var n_=class extends G4.BaseCommand{constructor(){super(...arguments);this.deferred=Bc.Option.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=Bc.Option.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=Bc.Option.String()}async execute(){let o=await Y4.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:p}=await Y4.Project.find(o,this.context.cwd);if(!p)throw new G4.WorkspaceRequiredError(f.cwd,this.context.cwd);let E=o.get("preferDeferredVersions");this.deferred&&(E=!0),this.immediate&&(E=!1);let t=K4.default.valid(this.strategy),k=this.strategy===Nu.DECLINE,L;if(t)if(p.manifest.version!==null){let C=MD(p.manifest.version,this.strategy);C!==null?L=C:L=this.strategy}else L=this.strategy;else{let C=p.manifest.version;if(!k){if(C===null)throw new Bc.UsageError("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof C!="string"||!K4.default.valid(C))throw new Bc.UsageError(`Can't bump the version (${C}) if it's not valid semver`)}L=Zv(this.strategy)}if(!E){let U=(await Jy(f)).get(p);if(typeof U!="undefined"&&L!==Nu.DECLINE){let q=Y_(p.manifest.version,L);if(K4.default.lt(q,U))throw new Bc.UsageError(`Can't bump the version to one that would be lower than the current deferred one (${U})`)}}let N=await $v(f,{allowEmpty:!0});return N.releases.set(p,L),await N.saveAll(),E?0:await this.cli.run(["version","apply"])}};n_.paths=[["version"]],n_.usage=Bc.Command.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]});var EO=n_;var M$={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:M3.SettingsType.ABSOLUTE_PATH,default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:M3.SettingsType.BOOLEAN,default:!1}},commands:[m5,_O,EO]},N$=M$;return k$;})(); +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ +/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ +/** @license React v0.0.0-experimental-51a3aa6af + * react-debug-tools.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v0.0.0-experimental-51a3aa6af + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v0.0.0-experimental-51a3aa6af + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v0.18.0 + * scheduler-tracing.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v0.18.0 + * scheduler-tracing.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v0.18.0 + * scheduler.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v0.18.0 + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v0.24.0 + * react-reconciler.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v0.24.0 + * react-reconciler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v16.13.1 + * react.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v16.13.1 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +return plugin; +} +}; diff --git a/.yarnrc.yml b/.yarnrc.yml index 964d2998a8..b4f25c1068 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -21,5 +21,8 @@ plugins: # Provides `yarn constraints` - path: .yarn/plugins/@yarnpkg/plugin-constraints.cjs spec: "@yarnpkg/plugin-constraints" + # Provides `yarn version` + - path: .yarn/plugins/@yarnpkg/plugin-version.cjs + spec: "@yarnpkg/plugin-version" yarnPath: .yarn/releases/yarn-3.2.1.cjs From ef9fdbdad0287a828b475ae5d6207b7a1143897d Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 14 Jun 2022 16:55:15 -0700 Subject: [PATCH 023/115] Add changesets --- .changeset/README.md | 8 + .changeset/config.json | 11 + package.json | 3 + yarn.lock | 967 +++++++++++++++++++++++++++++++++++++++-- 4 files changed, 958 insertions(+), 31 deletions(-) create mode 100644 .changeset/README.md create mode 100644 .changeset/config.json diff --git a/.changeset/README.md b/.changeset/README.md new file mode 100644 index 0000000000..e5b6d8d6a6 --- /dev/null +++ b/.changeset/README.md @@ -0,0 +1,8 @@ +# Changesets + +Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works +with multi-package repos, or single-package repos to help you version and publish your code. You can +find the full documentation for it [in our repository](https://github.com/changesets/changesets) + +We have a quick list of common questions to get you started engaging with this project in +[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 0000000000..536b04957a --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@2.0.0/schema.json", + "changelog": "@changesets/cli/changelog", + "commit": false, + "fixed": [], + "linked": [], + "access": "restricted", + "baseBranch": "main", + "updateInternalDependencies": "patch", + "ignore": [] +} \ No newline at end of file diff --git a/package.json b/package.json index 99e4bf3ef3..cc765c5191 100644 --- a/package.json +++ b/package.json @@ -62,5 +62,8 @@ "ethereumjs-util>ethereum-cryptography>keccak": true, "ethereumjs-util>ethereum-cryptography>secp256k1": true } + }, + "devDependencies": { + "@changesets/cli": "^2.23.0" } } diff --git a/yarn.lock b/yarn.lock index 395066daa1..75e37aca9f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -570,7 +570,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.5.5": +"@babel/runtime@npm:^7.10.4, @babel/runtime@npm:^7.5.5": version: 7.18.3 resolution: "@babel/runtime@npm:7.18.3" dependencies: @@ -715,6 +715,241 @@ __metadata: languageName: node linkType: hard +"@changesets/apply-release-plan@npm:^6.0.0": + version: 6.0.0 + resolution: "@changesets/apply-release-plan@npm:6.0.0" + dependencies: + "@babel/runtime": ^7.10.4 + "@changesets/config": ^2.0.0 + "@changesets/get-version-range-type": ^0.3.2 + "@changesets/git": ^1.3.2 + "@changesets/types": ^5.0.0 + "@manypkg/get-packages": ^1.1.3 + detect-indent: ^6.0.0 + fs-extra: ^7.0.1 + lodash.startcase: ^4.4.0 + outdent: ^0.5.0 + prettier: ^1.19.1 + resolve-from: ^5.0.0 + semver: ^5.4.1 + checksum: 3ea25890da276ac249aa11a7ccc45d65100a02ccf483df2bc6dc8272a5d100723e8a3b1a391c8ca57f6cd02492e9614b84ac1075a370903cc737f3b398a12b36 + languageName: node + linkType: hard + +"@changesets/assemble-release-plan@npm:^5.1.3": + version: 5.1.3 + resolution: "@changesets/assemble-release-plan@npm:5.1.3" + dependencies: + "@babel/runtime": ^7.10.4 + "@changesets/errors": ^0.1.4 + "@changesets/get-dependents-graph": ^1.3.2 + "@changesets/types": ^5.0.0 + "@manypkg/get-packages": ^1.1.3 + semver: ^5.4.1 + checksum: 154d88fa381e0399339da8307009ef19dea778fa41edcfb0bf2d1110cbeba9dadd3d74b3cfc09de06a31126b64dcd45ff9beb30f5e317c38a1b9033926abbad2 + languageName: node + linkType: hard + +"@changesets/changelog-git@npm:^0.1.11": + version: 0.1.11 + resolution: "@changesets/changelog-git@npm:0.1.11" + dependencies: + "@changesets/types": ^5.0.0 + checksum: 81007592f7ca261891ed3705300d5043bd4d75b9ad9dd93371dfe2a2cd43bc250116e65b1c0cde58f9f546e8b6839bbbb7208531d0fe795930b1710b11d02fff + languageName: node + linkType: hard + +"@changesets/cli@npm:^2.23.0": + version: 2.23.0 + resolution: "@changesets/cli@npm:2.23.0" + dependencies: + "@babel/runtime": ^7.10.4 + "@changesets/apply-release-plan": ^6.0.0 + "@changesets/assemble-release-plan": ^5.1.3 + "@changesets/changelog-git": ^0.1.11 + "@changesets/config": ^2.0.0 + "@changesets/errors": ^0.1.4 + "@changesets/get-dependents-graph": ^1.3.2 + "@changesets/get-release-plan": ^3.0.9 + "@changesets/git": ^1.3.2 + "@changesets/logger": ^0.0.5 + "@changesets/pre": ^1.0.11 + "@changesets/read": ^0.5.5 + "@changesets/types": ^5.0.0 + "@changesets/write": ^0.1.8 + "@manypkg/get-packages": ^1.1.3 + "@types/is-ci": ^3.0.0 + "@types/semver": ^6.0.0 + ansi-colors: ^4.1.3 + chalk: ^2.1.0 + enquirer: ^2.3.0 + external-editor: ^3.1.0 + fs-extra: ^7.0.1 + human-id: ^1.0.2 + is-ci: ^3.0.1 + meow: ^6.0.0 + outdent: ^0.5.0 + p-limit: ^2.2.0 + preferred-pm: ^3.0.0 + resolve-from: ^5.0.0 + semver: ^5.4.1 + spawndamnit: ^2.0.0 + term-size: ^2.1.0 + tty-table: ^4.1.5 + bin: + changeset: bin.js + checksum: 86cad96c141f92d63a498f65548e860d4911307f47d36e26508a6dc25b1c8efc013ccb11fc6ad10b35625e6bb7d34d7c6312e54311c8f65a4ca9ca724b50a099 + languageName: node + linkType: hard + +"@changesets/config@npm:^2.0.0": + version: 2.0.0 + resolution: "@changesets/config@npm:2.0.0" + dependencies: + "@changesets/errors": ^0.1.4 + "@changesets/get-dependents-graph": ^1.3.2 + "@changesets/logger": ^0.0.5 + "@changesets/types": ^5.0.0 + "@manypkg/get-packages": ^1.1.3 + fs-extra: ^7.0.1 + micromatch: ^4.0.2 + checksum: da923957e2c60a035405a42827afc4d51deade12d016896cefdd5559e8c5a4f144b8812c524432dfe9f38c6d8f2603ff8b3a9bd5ce9ea322212dd4f8e1e0b67e + languageName: node + linkType: hard + +"@changesets/errors@npm:^0.1.4": + version: 0.1.4 + resolution: "@changesets/errors@npm:0.1.4" + dependencies: + extendable-error: ^0.1.5 + checksum: 10734f1379715bf5a70b566dd42b50a75964d76f382bb67332776614454deda6d04a43dd7e727cd7cba56d7f2f7c95a07c7c0a19dd5d64fb1980b28322840733 + languageName: node + linkType: hard + +"@changesets/get-dependents-graph@npm:^1.3.2": + version: 1.3.2 + resolution: "@changesets/get-dependents-graph@npm:1.3.2" + dependencies: + "@changesets/types": ^5.0.0 + "@manypkg/get-packages": ^1.1.3 + chalk: ^2.1.0 + fs-extra: ^7.0.1 + semver: ^5.4.1 + checksum: 763170c19ee77f6499f8d8db7c53cea39727cc5a10407e661ce6e1b23bcf7dada8ec2ab5d4690cb2c27670bb056baacb1100ed4fbde41594aa3dfa9053a7f5ed + languageName: node + linkType: hard + +"@changesets/get-release-plan@npm:^3.0.9": + version: 3.0.9 + resolution: "@changesets/get-release-plan@npm:3.0.9" + dependencies: + "@babel/runtime": ^7.10.4 + "@changesets/assemble-release-plan": ^5.1.3 + "@changesets/config": ^2.0.0 + "@changesets/pre": ^1.0.11 + "@changesets/read": ^0.5.5 + "@changesets/types": ^5.0.0 + "@manypkg/get-packages": ^1.1.3 + checksum: 1eeafeee345534d7d2fc93122cbdd213c0490f1cdfaf674df830555cdd56c0f6013f4be6a8a9891bd080b68fe8d3d352ccbaa69518d69c870bd0c423bfbdaf5f + languageName: node + linkType: hard + +"@changesets/get-version-range-type@npm:^0.3.2": + version: 0.3.2 + resolution: "@changesets/get-version-range-type@npm:0.3.2" + checksum: b7ee7127c472a3886906ca6db336ac11233a5e75abc882084bfb4794e79a8936e3faceec3c04bf61c26453cd7f74278d9bf22aea4cdca8c1cd992591925b3c9b + languageName: node + linkType: hard + +"@changesets/git@npm:^1.3.2": + version: 1.3.2 + resolution: "@changesets/git@npm:1.3.2" + dependencies: + "@babel/runtime": ^7.10.4 + "@changesets/errors": ^0.1.4 + "@changesets/types": ^5.0.0 + "@manypkg/get-packages": ^1.1.3 + is-subdir: ^1.1.1 + spawndamnit: ^2.0.0 + checksum: d15a5ff4bdab261f8106710a1ac1abcefd2f64d0874c9ae97d9cf38f4c3f82f19ab4bfbc55ff1849f710b69a682ee619378f5eb7de26eabe9253b14e02a3578c + languageName: node + linkType: hard + +"@changesets/logger@npm:^0.0.5": + version: 0.0.5 + resolution: "@changesets/logger@npm:0.0.5" + dependencies: + chalk: ^2.1.0 + checksum: bfec3cd9122b00c0ec25e96730f771ffd662ef3906d571bad1e4e9993f9d54d357d3eaf074b3dfaa4e23af759ce68efa2a97d8b845b0d8c951df5d21c6dfdff5 + languageName: node + linkType: hard + +"@changesets/parse@npm:^0.3.13": + version: 0.3.13 + resolution: "@changesets/parse@npm:0.3.13" + dependencies: + "@changesets/types": ^5.0.0 + js-yaml: ^3.13.1 + checksum: ab6967b75934aa33b8945baa7ef0d00702ad4651a843572547b26701f83f5cee4fbeffd17824e15acadce200c7baee998d5cbbd36dfdd57fc37b03bf9ac45fdc + languageName: node + linkType: hard + +"@changesets/pre@npm:^1.0.11": + version: 1.0.11 + resolution: "@changesets/pre@npm:1.0.11" + dependencies: + "@babel/runtime": ^7.10.4 + "@changesets/errors": ^0.1.4 + "@changesets/types": ^5.0.0 + "@manypkg/get-packages": ^1.1.3 + fs-extra: ^7.0.1 + checksum: 1193d4abbba7a7d79d4e041bedab1a44aee6cbe5131b10ec79e7ee2403319b84f0e178146f4bf8d09e931789b395fe287f72cad6fc34745fbc434d16117eb384 + languageName: node + linkType: hard + +"@changesets/read@npm:^0.5.5": + version: 0.5.5 + resolution: "@changesets/read@npm:0.5.5" + dependencies: + "@babel/runtime": ^7.10.4 + "@changesets/git": ^1.3.2 + "@changesets/logger": ^0.0.5 + "@changesets/parse": ^0.3.13 + "@changesets/types": ^5.0.0 + chalk: ^2.1.0 + fs-extra: ^7.0.1 + p-filter: ^2.1.0 + checksum: 5ee79d517f87695f202dacf7921b3179e419ac9858c68af0ae9288d7f9a5f0f4d222a620956fbf914f55ccda968d2f599a6abd288cc6473f12ee8fb1a7e1f452 + languageName: node + linkType: hard + +"@changesets/types@npm:^4.0.1": + version: 4.1.0 + resolution: "@changesets/types@npm:4.1.0" + checksum: 72c1f58044178ca867dd9349ecc4b7c233ce3781bb03b5b72a70c3166fbbab54a2f2cb19a81f96b4649ba004442c8734569fba238be4dd737fb4624a135c6098 + languageName: node + linkType: hard + +"@changesets/types@npm:^5.0.0": + version: 5.0.0 + resolution: "@changesets/types@npm:5.0.0" + checksum: b494cd3d6508ecff8903afdbc0bb4a001df7c6bf5657c8c78f97b974cf48ee790d64d2381321de6b8fb961217ebe12d600b786a634d0c91073369ddbb410bb4d + languageName: node + linkType: hard + +"@changesets/write@npm:^0.1.8": + version: 0.1.8 + resolution: "@changesets/write@npm:0.1.8" + dependencies: + "@babel/runtime": ^7.10.4 + "@changesets/types": ^5.0.0 + fs-extra: ^7.0.1 + human-id: ^1.0.2 + prettier: ^1.19.1 + checksum: dce01e3fe4f24eaea6f6521e4c347a6a8ea08bee4489e18daebba38c2c17976c7694decf3d747a48e5d986a584284c3795bc8843ce82c0132e4c7625e937fc9c + languageName: node + linkType: hard + "@cnakazawa/watch@npm:^1.0.3": version: 1.0.4 resolution: "@cnakazawa/watch@npm:1.0.4" @@ -1569,6 +1804,32 @@ __metadata: languageName: node linkType: hard +"@manypkg/find-root@npm:^1.1.0": + version: 1.1.0 + resolution: "@manypkg/find-root@npm:1.1.0" + dependencies: + "@babel/runtime": ^7.5.5 + "@types/node": ^12.7.1 + find-up: ^4.1.0 + fs-extra: ^8.1.0 + checksum: f0fd881a5a81a351cb6561cd24117e8ee9481bbf3b6d1c7d9d10bef1f4744ca2ba3d064713e83c0a0574416d1e5b4a4c6c414aad91913c4a1c6040d87283ac50 + languageName: node + linkType: hard + +"@manypkg/get-packages@npm:^1.1.3": + version: 1.1.3 + resolution: "@manypkg/get-packages@npm:1.1.3" + dependencies: + "@babel/runtime": ^7.5.5 + "@changesets/types": ^4.0.1 + "@manypkg/find-root": ^1.1.0 + fs-extra: ^8.1.0 + globby: ^11.0.0 + read-yaml-file: ^1.1.0 + checksum: f5a756e5a659e0e1c33f48852d56826d170d5b10a3cdea89ce4fcaa77678d8799aa4004b30e1985c87b73dbc390b95bb6411b78336dd1e0db87c08c74b5c0e74 + languageName: node + linkType: hard + "@metamask/announcement-controller@workspace:packages/announcement-controller": version: 0.0.0-use.local resolution: "@metamask/announcement-controller@workspace:packages/announcement-controller" @@ -1752,6 +2013,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/controllers-monorepo@workspace:." dependencies: + "@changesets/cli": ^2.23.0 "@lavamoat/allow-scripts": ^2.0.2 "@metamask/eslint-config": ^9.0.0 "@metamask/eslint-config-jest": ^9.0.0 @@ -2396,6 +2658,15 @@ __metadata: languageName: node linkType: hard +"@types/is-ci@npm:^3.0.0": + version: 3.0.0 + resolution: "@types/is-ci@npm:3.0.0" + dependencies: + ci-info: ^3.1.0 + checksum: 7c1f1f16c1fa2134de7400d82766c83fa76057261ba890628af77a09382ebb92d945bb077b98cfcf3d40ab1469c9ffbd2278112867edbe57aa655f53547eb139 + languageName: node + linkType: hard + "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": version: 2.0.1 resolution: "@types/istanbul-lib-coverage@npm:2.0.1" @@ -2478,6 +2749,13 @@ __metadata: languageName: node linkType: hard +"@types/minimist@npm:^1.2.0": + version: 1.2.2 + resolution: "@types/minimist@npm:1.2.2" + checksum: b8da83c66eb4aac0440e64674b19564d9d86c80ae273144db9681e5eeff66f238ade9515f5006ffbfa955ceff8b89ad2bd8ec577d7caee74ba101431fb07045d + languageName: node + linkType: hard + "@types/node@npm:*": version: 10.14.15 resolution: "@types/node@npm:10.14.15" @@ -2492,6 +2770,13 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^12.7.1": + version: 12.20.55 + resolution: "@types/node@npm:12.20.55" + checksum: e4f86785f4092706e0d3b0edff8dca5a13b45627e4b36700acd8dfe6ad53db71928c8dee914d4276c7fd3b6ccd829aa919811c9eb708a2c8e4c6eb3701178c37 + languageName: node + linkType: hard + "@types/normalize-package-data@npm:^2.4.0": version: 2.4.1 resolution: "@types/normalize-package-data@npm:2.4.1" @@ -2531,6 +2816,13 @@ __metadata: languageName: node linkType: hard +"@types/semver@npm:^6.0.0": + version: 6.2.3 + resolution: "@types/semver@npm:6.2.3" + checksum: 83c86d7005b229df9c4c0d6d13825b839a01932895504596140aea19e2b88f63ac27ab1575347451b50eedb63f72309e845ce1a0ca78360c4f719bbb38371594 + languageName: node + linkType: hard + "@types/sinon@npm:^9.0.10": version: 9.0.11 resolution: "@types/sinon@npm:9.0.11" @@ -2908,7 +3200,7 @@ __metadata: languageName: node linkType: hard -"ansi-colors@npm:^4.1.0": +"ansi-colors@npm:^4.1.0, ansi-colors@npm:^4.1.3": version: 4.1.3 resolution: "ansi-colors@npm:4.1.3" checksum: a9c2ec842038a1fabc7db9ece7d3177e2fe1c5dc6f0c51ecfbf5f39911427b89c00b5dc6b8bd95f82a26e9b16aaae2e83d45f060e98070ce4d1333038edceb0e @@ -3104,6 +3396,13 @@ __metadata: languageName: node linkType: hard +"arrify@npm:^1.0.1": + version: 1.0.1 + resolution: "arrify@npm:1.0.1" + checksum: 745075dd4a4624ff0225c331dacb99be501a515d39bcb7c84d24660314a6ec28e68131b137e6f7e16318170842ce97538cd298fc4cd6b2cc798e0b957f2747e7 + languageName: node + linkType: hard + "asn1@npm:~0.2.3": version: 0.2.4 resolution: "asn1@npm:0.2.4" @@ -3426,6 +3725,15 @@ __metadata: languageName: node linkType: hard +"better-path-resolve@npm:1.0.0": + version: 1.0.0 + resolution: "better-path-resolve@npm:1.0.0" + dependencies: + is-windows: ^1.0.0 + checksum: 5392dbe04e7fe68b944eb37961d9dfa147aaac3ee9ee3f6e13d42e2c9fbe949e68d16e896c14ee9016fa5f8e6e53ec7fd8b5f01b50a32067a7d94ac9cfb9a050 + languageName: node + linkType: hard + "bignumber.js@git+https://github.com/frozeman/bignumber.js-nolookahead.git": version: 2.0.7 resolution: "bignumber.js@https://github.com/frozeman/bignumber.js-nolookahead.git#commit=57692b3ecfc98bbdd6b3a516cb2353652ea49934" @@ -3521,6 +3829,15 @@ __metadata: languageName: node linkType: hard +"breakword@npm:^1.0.5": + version: 1.0.5 + resolution: "breakword@npm:1.0.5" + dependencies: + wcwidth: ^1.0.1 + checksum: 8ca7b10bbbbfe1c45c12c9119c4bc1e585452ddd58c5da93020a0c1deac3cf6bb335632675c9c705ba7b644065ae1d6623a25e79b7a48e0ee0ff42cb6e94b357 + languageName: node + linkType: hard + "brorand@npm:^1.1.0": version: 1.1.0 resolution: "brorand@npm:1.1.0" @@ -3742,6 +4059,17 @@ __metadata: languageName: node linkType: hard +"camelcase-keys@npm:^6.2.2": + version: 6.2.2 + resolution: "camelcase-keys@npm:6.2.2" + dependencies: + camelcase: ^5.3.1 + map-obj: ^4.0.0 + quick-lru: ^4.0.1 + checksum: 43c9af1adf840471e54c68ab3e5fe8a62719a6b7dbf4e2e86886b7b0ff96112c945736342b837bd2529ec9d1c7d1934e5653318478d98e0cf22c475c04658e2a + languageName: node + linkType: hard + "camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": version: 5.3.1 resolution: "camelcase@npm:5.3.1" @@ -3793,7 +4121,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.0.0": +"chalk@npm:^2.0.0, chalk@npm:^2.1.0": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -3814,7 +4142,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.1.1": +"chalk@npm:^4.1.1, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -3831,6 +4159,13 @@ __metadata: languageName: node linkType: hard +"chardet@npm:^0.7.0": + version: 0.7.0 + resolution: "chardet@npm:0.7.0" + checksum: 6fd5da1f5d18ff5712c1e0aed41da200d7c51c28f11b36ee3c7b483f3696dabc08927fc6b227735eb8f0e1215c9a8abd8154637f3eff8cada5959df7f58b024d + languageName: node + linkType: hard + "checkpoint-store@npm:^1.1.0": version: 1.1.0 resolution: "checkpoint-store@npm:1.1.0" @@ -3854,6 +4189,13 @@ __metadata: languageName: node linkType: hard +"ci-info@npm:^3.1.0, ci-info@npm:^3.2.0": + version: 3.3.1 + resolution: "ci-info@npm:3.3.1" + checksum: 244546317cca96955860d2cb8d0bf47dd66d9078bbe83a215fa87464ab24b352c6fc6f56027d1c82f002e3f833be253f1320d35ed7199bd81134f7788c657f3a + languageName: node + linkType: hard + "cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": version: 1.0.4 resolution: "cipher-base@npm:1.0.4" @@ -3926,6 +4268,13 @@ __metadata: languageName: node linkType: hard +"clone@npm:^1.0.2": + version: 1.0.4 + resolution: "clone@npm:1.0.4" + checksum: d06418b7335897209e77bdd430d04f882189582e67bd1f75a04565f3f07f5b3f119a9d670c943b6697d0afb100f03b866b3b8a1f91d4d02d72c4ecf2bb64b5dd + languageName: node + linkType: hard + "clone@npm:^2.0.0, clone@npm:^2.1.1": version: 2.1.2 resolution: "clone@npm:2.1.2" @@ -4157,6 +4506,17 @@ __metadata: languageName: node linkType: hard +"cross-spawn@npm:^5.1.0": + version: 5.1.0 + resolution: "cross-spawn@npm:5.1.0" + dependencies: + lru-cache: ^4.0.1 + shebang-command: ^1.2.0 + which: ^1.2.9 + checksum: 726939c9954fc70c20e538923feaaa33bebc253247d13021737c3c7f68cdc3e0a57f720c0fe75057c0387995349f3f12e20e9bfdbf12274db28019c7ea4ec166 + languageName: node + linkType: hard + "cross-spawn@npm:^6.0.0": version: 6.0.5 resolution: "cross-spawn@npm:6.0.5" @@ -4211,6 +4571,39 @@ __metadata: languageName: node linkType: hard +"csv-generate@npm:^3.4.3": + version: 3.4.3 + resolution: "csv-generate@npm:3.4.3" + checksum: 868dc630e8bcabf42d3d1ef22c09fb783de72d7e5929854aad0323f44059b1747edf8a2724e32fdc5008396e2ea38d5c45df0b0e3a1b506e3ab34f76f3e2fb3a + languageName: node + linkType: hard + +"csv-parse@npm:^4.16.3": + version: 4.16.3 + resolution: "csv-parse@npm:4.16.3" + checksum: 5ad7790fc31c32ca1623bad1a54906134ba44fa109e8dd2dfda440bf7e9fd93610d9076a78f45c872701bfafdf7f93c9b75500c09d7efd6611d863f1d45ec69f + languageName: node + linkType: hard + +"csv-stringify@npm:^5.6.5": + version: 5.6.5 + resolution: "csv-stringify@npm:5.6.5" + checksum: f93e1444857416081de3d86765b62e4c4f7c110974ad6bbcb0031d7db39b6624847ac9ee5705726e7011346f32f3696f27299b74b23a6c2b083adff0dd2755fe + languageName: node + linkType: hard + +"csv@npm:^5.5.0": + version: 5.5.3 + resolution: "csv@npm:5.5.3" + dependencies: + csv-generate: ^3.4.3 + csv-parse: ^4.16.3 + csv-stringify: ^5.6.5 + stream-transform: ^2.1.3 + checksum: 0decc2d0d7a0abf127f4556d6f3cef5a54015b78d348608b5e8f42256c2bd0a021f34f1efc9723b2cd162680917de4c0b3967bfb65a07305eca0827654ca727e + languageName: node + linkType: hard + "dashdash@npm:^1.12.0": version: 1.14.1 resolution: "dashdash@npm:1.14.1" @@ -4273,7 +4666,17 @@ __metadata: languageName: node linkType: hard -"decamelize@npm:^1.2.0": +"decamelize-keys@npm:^1.1.0": + version: 1.1.0 + resolution: "decamelize-keys@npm:1.1.0" + dependencies: + decamelize: ^1.1.0 + map-obj: ^1.0.0 + checksum: 8bc5d32e035a072f5dffc1f1f3d26ca7ab1fb44a9cade34c97ab6cd1e62c81a87e718101e96de07d78cecda20a3fdb955df958e46671ccad01bb8dcf0de2e298 + languageName: node + linkType: hard + +"decamelize@npm:^1.1.0, decamelize@npm:^1.2.0": version: 1.2.0 resolution: "decamelize@npm:1.2.0" checksum: ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa @@ -4315,6 +4718,15 @@ __metadata: languageName: node linkType: hard +"defaults@npm:^1.0.3": + version: 1.0.3 + resolution: "defaults@npm:1.0.3" + dependencies: + clone: ^1.0.2 + checksum: 96e2112da6553d376afd5265ea7cbdb2a3b45535965d71ab8bb1da10c8126d168fdd5268799625324b368356d21ba2a7b3d4ec50961f11a47b7feb9de3d4413e + languageName: node + linkType: hard + "deferred-leveldown@npm:~1.2.1": version: 1.2.2 resolution: "deferred-leveldown@npm:1.2.2" @@ -4549,7 +4961,7 @@ __metadata: languageName: node linkType: hard -"enquirer@npm:^2.3.5": +"enquirer@npm:^2.3.0, enquirer@npm:^2.3.5": version: 2.3.6 resolution: "enquirer@npm:2.3.6" dependencies: @@ -5706,6 +6118,24 @@ __metadata: languageName: node linkType: hard +"extendable-error@npm:^0.1.5": + version: 0.1.7 + resolution: "extendable-error@npm:0.1.7" + checksum: 80478be7429a1675d2085f701239796bab3230ed6f2fb1b138fbabec24bea6516b7c5ceb6e9c209efcc9c089948d93715703845653535f8e8a49655066a9255e + languageName: node + linkType: hard + +"external-editor@npm:^3.1.0": + version: 3.1.0 + resolution: "external-editor@npm:3.1.0" + dependencies: + chardet: ^0.7.0 + iconv-lite: ^0.4.24 + tmp: ^0.0.33 + checksum: 1c2a616a73f1b3435ce04030261bed0e22d4737e14b090bb48e58865da92529c9f2b05b893de650738d55e692d071819b45e1669259b2b354bc3154d27a698c7 + languageName: node + linkType: hard + "extglob@npm:^2.0.4": version: 2.0.4 resolution: "extglob@npm:2.0.4" @@ -5880,6 +6310,26 @@ __metadata: languageName: node linkType: hard +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: ^6.0.0 + path-exists: ^4.0.0 + checksum: 07955e357348f34660bde7920783204ff5a26ac2cafcaa28bace494027158a97b9f56faaf2d89a6106211a8174db650dd9f503f9c0d526b1202d5554a00b9095 + languageName: node + linkType: hard + +"find-yarn-workspace-root2@npm:1.2.16": + version: 1.2.16 + resolution: "find-yarn-workspace-root2@npm:1.2.16" + dependencies: + micromatch: ^4.0.2 + pkg-dir: ^4.2.0 + checksum: b4abdd37ab87c2172e2abab69ecbfed365d63232742cd1f0a165020fba1b200478e944ec2035c6aaf0ae142ac4c523cbf08670f45e59b242bcc295731b017825 + languageName: node + linkType: hard + "flat-cache@npm:^3.0.4": version: 3.0.4 resolution: "flat-cache@npm:3.0.4" @@ -5951,6 +6401,28 @@ __metadata: languageName: node linkType: hard +"fs-extra@npm:^7.0.1": + version: 7.0.1 + resolution: "fs-extra@npm:7.0.1" + dependencies: + graceful-fs: ^4.1.2 + jsonfile: ^4.0.0 + universalify: ^0.1.0 + checksum: 141b9dccb23b66a66cefdd81f4cda959ff89282b1d721b98cea19ba08db3dcbe6f862f28841f3cf24bb299e0b7e6c42303908f65093cb7e201708e86ea5a8dcf + languageName: node + linkType: hard + +"fs-extra@npm:^8.1.0": + version: 8.1.0 + resolution: "fs-extra@npm:8.1.0" + dependencies: + graceful-fs: ^4.2.0 + jsonfile: ^4.0.0 + universalify: ^0.1.0 + checksum: bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880 + languageName: node + linkType: hard + "fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -6235,31 +6707,31 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.0.1": - version: 11.0.1 - resolution: "globby@npm:11.0.1" +"globby@npm:^11.0.0, globby@npm:^11.0.3": + version: 11.1.0 + resolution: "globby@npm:11.1.0" dependencies: array-union: ^2.1.0 dir-glob: ^3.0.1 - fast-glob: ^3.1.1 - ignore: ^5.1.4 - merge2: ^1.3.0 + fast-glob: ^3.2.9 + ignore: ^5.2.0 + merge2: ^1.4.1 slash: ^3.0.0 - checksum: b0b26e580666ef8caf0b0facd585c1da46eb971207ee9f8c7b690c1372d77602dd072f047f26c3ae1c293807fdf8fb6890d9291d37bc6d2602b1f07386f983e5 + checksum: b4be8885e0cfa018fc783792942d53926c35c50b3aefd3fdcfb9d22c627639dc26bd2327a40a0b74b074100ce95bb7187bfeae2f236856aa3de183af7a02aea6 languageName: node linkType: hard -"globby@npm:^11.0.3": - version: 11.1.0 - resolution: "globby@npm:11.1.0" +"globby@npm:^11.0.1": + version: 11.0.1 + resolution: "globby@npm:11.0.1" dependencies: array-union: ^2.1.0 dir-glob: ^3.0.1 - fast-glob: ^3.2.9 - ignore: ^5.2.0 - merge2: ^1.4.1 + fast-glob: ^3.1.1 + ignore: ^5.1.4 + merge2: ^1.3.0 slash: ^3.0.0 - checksum: b4be8885e0cfa018fc783792942d53926c35c50b3aefd3fdcfb9d22c627639dc26bd2327a40a0b74b074100ce95bb7187bfeae2f236856aa3de183af7a02aea6 + checksum: b0b26e580666ef8caf0b0facd585c1da46eb971207ee9f8c7b690c1372d77602dd072f047f26c3ae1c293807fdf8fb6890d9291d37bc6d2602b1f07386f983e5 languageName: node linkType: hard @@ -6270,6 +6742,13 @@ __metadata: languageName: node linkType: hard +"graceful-fs@npm:^4.1.5, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": + version: 4.2.10 + resolution: "graceful-fs@npm:4.2.10" + checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da + languageName: node + linkType: hard + "graceful-fs@npm:^4.2.3": version: 4.2.6 resolution: "graceful-fs@npm:4.2.6" @@ -6277,10 +6756,10 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": - version: 4.2.10 - resolution: "graceful-fs@npm:4.2.10" - checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da +"grapheme-splitter@npm:^1.0.4": + version: 1.0.4 + resolution: "grapheme-splitter@npm:1.0.4" + checksum: 0c22ec54dee1b05cd480f78cf14f732cb5b108edc073572c4ec205df4cd63f30f8db8025afc5debc8835a8ddeacf648a1c7992fe3dcd6ad38f9a476d84906620 languageName: node linkType: hard @@ -6308,6 +6787,13 @@ __metadata: languageName: node linkType: hard +"hard-rejection@npm:^2.1.0": + version: 2.1.0 + resolution: "hard-rejection@npm:2.1.0" + checksum: 7baaf80a0c7fff4ca79687b4060113f1529589852152fa935e6787a2bc96211e784ad4588fb3048136ff8ffc9dfcf3ae385314a5b24db32de20bea0d1597f9dc + languageName: node + linkType: hard + "has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" @@ -6538,6 +7024,13 @@ __metadata: languageName: node linkType: hard +"human-id@npm:^1.0.2": + version: 1.0.2 + resolution: "human-id@npm:1.0.2" + checksum: 95ee57ffae849f008e2ef3fe6e437be8c999861b4256f18c3b194c8928670a8a149e0576917105d5fd77e5edbb621c5a4736fade20bb7bf130113c1ebc95cb74 + languageName: node + linkType: hard + "human-signals@npm:^1.1.1": version: 1.1.1 resolution: "human-signals@npm:1.1.1" @@ -6561,7 +7054,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4.24": +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" dependencies: @@ -6811,6 +7304,17 @@ __metadata: languageName: node linkType: hard +"is-ci@npm:^3.0.1": + version: 3.0.1 + resolution: "is-ci@npm:3.0.1" + dependencies: + ci-info: ^3.2.0 + bin: + is-ci: bin.js + checksum: 192c66dc7826d58f803ecae624860dccf1899fc1f3ac5505284c0a5cf5f889046ffeb958fa651e5725d5705c5bcb14f055b79150ea5fcad7456a9569de60260e + languageName: node + linkType: hard + "is-core-module@npm:^2.1.0": version: 2.2.0 resolution: "is-core-module@npm:2.2.0" @@ -7042,6 +7546,13 @@ __metadata: languageName: node linkType: hard +"is-plain-obj@npm:^1.1.0": + version: 1.1.0 + resolution: "is-plain-obj@npm:1.1.0" + checksum: 0ee04807797aad50859652a7467481816cbb57e5cc97d813a7dcd8915da8195dc68c436010bf39d195226cde6a2d352f4b815f16f26b7bf486a5754290629931 + languageName: node + linkType: hard + "is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": version: 2.0.4 resolution: "is-plain-object@npm:2.0.4" @@ -7116,6 +7627,15 @@ __metadata: languageName: node linkType: hard +"is-subdir@npm:^1.1.1": + version: 1.2.0 + resolution: "is-subdir@npm:1.2.0" + dependencies: + better-path-resolve: 1.0.0 + checksum: 31029a383972bff4cc4f1bd1463fd04dde017e0a04ae3a6f6e08124a90c6c4656312d593101b0f38805fa3f3c8f6bc4583524bbf72c50784fa5ca0d3e5a76279 + languageName: node + linkType: hard + "is-symbol@npm:^1.0.2": version: 1.0.2 resolution: "is-symbol@npm:1.0.2" @@ -7163,7 +7683,7 @@ __metadata: languageName: node linkType: hard -"is-windows@npm:^1.0.2": +"is-windows@npm:^1.0.0, is-windows@npm:^1.0.2": version: 1.0.2 resolution: "is-windows@npm:1.0.2" checksum: 438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 @@ -7832,6 +8352,18 @@ __metadata: languageName: node linkType: hard +"js-yaml@npm:^3.13.0, js-yaml@npm:^3.6.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: ^1.0.7 + esprima: ^4.0.0 + bin: + js-yaml: bin/js-yaml.js + checksum: bef146085f472d44dee30ec34e5cf36bf89164f5d585435a3d3da89e52622dff0b188a580e4ad091c3341889e14cb88cac6e4deb16dc5b1e9623bb0601fc255c + languageName: node + linkType: hard + "js-yaml@npm:^3.13.1": version: 3.13.1 resolution: "js-yaml@npm:3.13.1" @@ -8030,6 +8562,18 @@ __metadata: languageName: node linkType: hard +"jsonfile@npm:^4.0.0": + version: 4.0.0 + resolution: "jsonfile@npm:4.0.0" + dependencies: + graceful-fs: ^4.1.6 + dependenciesMeta: + graceful-fs: + optional: true + checksum: 6447d6224f0d31623eef9b51185af03ac328a7553efcee30fa423d98a9e276ca08db87d71e17f2310b0263fd3ffa6c2a90a6308367f661dc21580f9469897c9e + languageName: node + linkType: hard + "jsonify@npm:~0.0.0": version: 0.0.0 resolution: "jsonify@npm:0.0.0" @@ -8099,7 +8643,7 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": +"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": version: 6.0.3 resolution: "kind-of@npm:6.0.3" checksum: 3ab01e7b1d440b22fe4c31f23d8d38b4d9b91d9f291df683476576493d5dfd2e03848a8b05813dd0c3f0e835bc63f433007ddeceb71f05cb25c45ae1b19c6d3b @@ -8113,6 +8657,13 @@ __metadata: languageName: node linkType: hard +"kleur@npm:^4.1.4": + version: 4.1.4 + resolution: "kleur@npm:4.1.4" + checksum: 7f6db36e378045dec14acd3cbf0b1e59130c09e984ee8b8ce56dd2d2257cfff90389c1e8f8b19bd09dd5d241080566a814b4ccd99fdcef91f59ef93ec33c8a44 + languageName: node + linkType: hard + "level-codec@npm:~7.0.0": version: 7.0.1 resolution: "level-codec@npm:7.0.1" @@ -8221,6 +8772,18 @@ __metadata: languageName: node linkType: hard +"load-yaml-file@npm:^0.2.0": + version: 0.2.0 + resolution: "load-yaml-file@npm:0.2.0" + dependencies: + graceful-fs: ^4.1.5 + js-yaml: ^3.13.0 + pify: ^4.0.1 + strip-bom: ^3.0.0 + checksum: d86d7ec7b15a1c35b40fb0d8abe710a7de83e0c1186c1d35a7eaaf8581611828089a3e706f64560c2939762bc73f18a7b85aed9335058c640e033933cf317f11 + languageName: node + linkType: hard + "locate-path@npm:^2.0.0": version: 2.0.0 resolution: "locate-path@npm:2.0.0" @@ -8240,6 +8803,15 @@ __metadata: languageName: node linkType: hard +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: ^5.0.0 + checksum: 72eb661788a0368c099a184c59d2fee760b3831c9c1c33955e8a19ae4a21b4116e53fa736dc086cdeb9fce9f7cc508f2f92d2d3aae516f133e16a2bb59a39f5a + languageName: node + linkType: hard + "lodash.debounce@npm:^4.0.8": version: 4.0.8 resolution: "lodash.debounce@npm:4.0.8" @@ -8254,6 +8826,13 @@ __metadata: languageName: node linkType: hard +"lodash.startcase@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.startcase@npm:4.4.0" + checksum: c03a4a784aca653845fe09d0ef67c902b6e49288dc45f542a4ab345a9c406a6dc194c774423fa313ee7b06283950301c1221dd2a1d8ecb2dac8dfbb9ed5606b5 + languageName: node + linkType: hard + "lodash@npm:4.x, lodash@npm:^4.17.13, lodash@npm:^4.17.14, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" @@ -8261,6 +8840,16 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^4.0.1": + version: 4.1.5 + resolution: "lru-cache@npm:4.1.5" + dependencies: + pseudomap: ^1.0.2 + yallist: ^2.1.2 + checksum: 4bb4b58a36cd7dc4dcec74cbe6a8f766a38b7426f1ff59d4cf7d82a2aa9b9565cd1cb98f6ff60ce5cd174524868d7bc9b7b1c294371851356066ca9ac4cf135a + languageName: node + linkType: hard + "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -8356,6 +8945,20 @@ __metadata: languageName: node linkType: hard +"map-obj@npm:^1.0.0": + version: 1.0.1 + resolution: "map-obj@npm:1.0.1" + checksum: 9949e7baec2a336e63b8d4dc71018c117c3ce6e39d2451ccbfd3b8350c547c4f6af331a4cbe1c83193d7c6b786082b6256bde843db90cb7da2a21e8fcc28afed + languageName: node + linkType: hard + +"map-obj@npm:^4.0.0": + version: 4.3.0 + resolution: "map-obj@npm:4.3.0" + checksum: fbc554934d1a27a1910e842bc87b177b1a556609dd803747c85ece420692380827c6ae94a95cce4407c054fa0964be3bf8226f7f2cb2e9eeee432c7c1985684e + languageName: node + linkType: hard + "map-visit@npm:^1.0.0": version: 1.0.0 resolution: "map-visit@npm:1.0.0" @@ -8399,6 +9002,25 @@ __metadata: languageName: node linkType: hard +"meow@npm:^6.0.0": + version: 6.1.1 + resolution: "meow@npm:6.1.1" + dependencies: + "@types/minimist": ^1.2.0 + camelcase-keys: ^6.2.2 + decamelize-keys: ^1.1.0 + hard-rejection: ^2.1.0 + minimist-options: ^4.0.2 + normalize-package-data: ^2.5.0 + read-pkg-up: ^7.0.1 + redent: ^3.0.0 + trim-newlines: ^3.0.0 + type-fest: ^0.13.1 + yargs-parser: ^18.1.3 + checksum: 77b569781145ad030be77130623d9f74d6eef0af5e0a349419d3df39bcf6d88cc25be046a7757062162a88160fb5d8604e540b5177b371d2bbc2aaf73ec01479 + languageName: node + linkType: hard + "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -8502,6 +9124,13 @@ __metadata: languageName: node linkType: hard +"min-indent@npm:^1.0.0": + version: 1.0.1 + resolution: "min-indent@npm:1.0.1" + checksum: bfc6dd03c5eaf623a4963ebd94d087f6f4bbbfd8c41329a7f09706b0cb66969c4ddd336abeb587bc44bc6f08e13bf90f0b374f9d71f9f01e04adc2cd6f083ef1 + languageName: node + linkType: hard + "minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": version: 1.0.1 resolution: "minimalistic-assert@npm:1.0.1" @@ -8543,6 +9172,17 @@ __metadata: languageName: node linkType: hard +"minimist-options@npm:^4.0.2": + version: 4.1.0 + resolution: "minimist-options@npm:4.1.0" + dependencies: + arrify: ^1.0.1 + is-plain-obj: ^1.1.0 + kind-of: ^6.0.3 + checksum: 8c040b3068811e79de1140ca2b708d3e203c8003eb9a414c1ab3cd467fc5f17c9ca02a5aef23bedc51a7f8bfbe77f87e9a7e31ec81fba304cda675b019496f4e + languageName: node + linkType: hard + "minimist@npm:^1.1.1, minimist@npm:^1.2.0": version: 1.2.6 resolution: "minimist@npm:1.2.6" @@ -8639,6 +9279,13 @@ __metadata: languageName: node linkType: hard +"mixme@npm:^0.5.1": + version: 0.5.4 + resolution: "mixme@npm:0.5.4" + checksum: cec5f6127c92455bc86d592f0a0628e188c7ccf3909bd106703a1d939f0e2f451ddaac6da0d77c5f14d53dd2d58f64f5b2f8ff55a68ec68be95a73d290e4d430 + languageName: node + linkType: hard + "mkdirp@npm:1.x, mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -9153,6 +9800,20 @@ __metadata: languageName: node linkType: hard +"os-tmpdir@npm:~1.0.2": + version: 1.0.2 + resolution: "os-tmpdir@npm:1.0.2" + checksum: 5666560f7b9f10182548bf7013883265be33620b1c1b4a4d405c25be2636f970c5488ff3e6c48de75b55d02bde037249fe5dbfbb4c0fb7714953d56aed062e6d + languageName: node + linkType: hard + +"outdent@npm:^0.5.0": + version: 0.5.0 + resolution: "outdent@npm:0.5.0" + checksum: 6e6c63dd09e9890e67ef9a0b4d35df0b0b850b2059ce3f7e19e4cc1a146b26dc5d8c45df238dbf187dfffc8bd82cd07d37c697544015680bcb9f07f29a36c678 + languageName: node + linkType: hard + "p-each-series@npm:^2.1.0": version: 2.2.0 resolution: "p-each-series@npm:2.2.0" @@ -9160,6 +9821,15 @@ __metadata: languageName: node linkType: hard +"p-filter@npm:^2.1.0": + version: 2.1.0 + resolution: "p-filter@npm:2.1.0" + dependencies: + p-map: ^2.0.0 + checksum: 76e552ca624ce2233448d68b19eec9de42b695208121998f7e011edce71d1079a83096ee6a2078fb2a59cfa8a5c999f046edf00ebf16a8e780022010b4693234 + languageName: node + linkType: hard + "p-finally@npm:^1.0.0": version: 1.0.0 resolution: "p-finally@npm:1.0.0" @@ -9185,6 +9855,15 @@ __metadata: languageName: node linkType: hard +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: ^0.1.0 + checksum: 7c3690c4dbf62ef625671e20b7bdf1cbc9534e83352a2780f165b0d3ceba21907e77ad63401708145ca4e25bfc51636588d89a8c0aeb715e6c37d1c066430360 + languageName: node + linkType: hard + "p-locate@npm:^2.0.0": version: 2.0.0 resolution: "p-locate@npm:2.0.0" @@ -9203,6 +9882,22 @@ __metadata: languageName: node linkType: hard +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: ^3.0.2 + checksum: 1623088f36cf1cbca58e9b61c4e62bf0c60a07af5ae1ca99a720837356b5b6c5ba3eb1b2127e47a06865fee59dd0453cad7cc844cda9d5a62ac1a5a51b7c86d3 + languageName: node + linkType: hard + +"p-map@npm:^2.0.0": + version: 2.1.0 + resolution: "p-map@npm:2.1.0" + checksum: 9e3ad3c9f6d75a5b5661bcad78c91f3a63849189737cd75e4f1225bf9ac205194e5c44aac2ef6f09562b1facdb9bd1425584d7ac375bfaa17b3f1a142dab936d + languageName: node + linkType: hard + "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" @@ -9419,6 +10114,13 @@ __metadata: languageName: node linkType: hard +"pify@npm:^4.0.1": + version: 4.0.1 + resolution: "pify@npm:4.0.1" + checksum: 9c4e34278cb09987685fa5ef81499c82546c033713518f6441778fbec623fc708777fe8ac633097c72d88470d5963094076c7305cafc7ad340aae27cfacd856b + languageName: node + linkType: hard + "pify@npm:^5.0.0": version: 5.0.0 resolution: "pify@npm:5.0.0" @@ -9465,6 +10167,18 @@ __metadata: languageName: node linkType: hard +"preferred-pm@npm:^3.0.0": + version: 3.0.3 + resolution: "preferred-pm@npm:3.0.3" + dependencies: + find-up: ^5.0.0 + find-yarn-workspace-root2: 1.2.16 + path-exists: ^4.0.0 + which-pm: 2.0.0 + checksum: 0de0948cb6ae22213f2ad7868032d89f1e1443d9caabc22ceeb9d284f19d359d65b67fab178f4db5c8c6ca6ae34642bdc72730b70ab1899ea158e2677a88a6d0 + languageName: node + linkType: hard + "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -9499,6 +10213,15 @@ __metadata: languageName: node linkType: hard +"prettier@npm:^1.19.1": + version: 1.19.1 + resolution: "prettier@npm:1.19.1" + bin: + prettier: ./bin-prettier.js + checksum: bc78219e0f8173a808f4c6c8e0a137dd8ebd4fbe013e63fe1a37a82b48612f17b8ae8e18a992adf802ee2cf7428f14f084e7c2846ca5759cf4013c6e54810e1f + languageName: node + linkType: hard + "prettier@npm:^2.6.2": version: 2.6.2 resolution: "prettier@npm:2.6.2" @@ -9603,6 +10326,13 @@ __metadata: languageName: node linkType: hard +"pseudomap@npm:^1.0.2": + version: 1.0.2 + resolution: "pseudomap@npm:1.0.2" + checksum: 856c0aae0ff2ad60881168334448e898ad7a0e45fe7386d114b150084254c01e200c957cf378378025df4e052c7890c5bd933939b0e0d2ecfcc1dc2f0b2991f5 + languageName: node + linkType: hard + "psl@npm:^1.1.28": version: 1.7.0 resolution: "psl@npm:1.7.0" @@ -9648,6 +10378,13 @@ __metadata: languageName: node linkType: hard +"quick-lru@npm:^4.0.1": + version: 4.0.1 + resolution: "quick-lru@npm:4.0.1" + checksum: bea46e1abfaa07023e047d3cf1716a06172c4947886c053ede5c50321893711577cb6119360f810cc3ffcd70c4d7db4069c3cee876b358ceff8596e062bd1154 + languageName: node + linkType: hard + "randombytes@npm:^2.0.1, randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" @@ -9718,6 +10455,18 @@ __metadata: languageName: node linkType: hard +"read-yaml-file@npm:^1.1.0": + version: 1.1.0 + resolution: "read-yaml-file@npm:1.1.0" + dependencies: + graceful-fs: ^4.1.5 + js-yaml: ^3.6.1 + pify: ^4.0.1 + strip-bom: ^3.0.0 + checksum: 41ee5f075507ef0403328dd54e225a61c3149f915675ce7fd0fd791ddcce2e6c30a9fe0f76ffa7a465c1c157b9b4ad8ded1dcf47dc3b396103eeb013490bbc2e + languageName: node + linkType: hard + "readable-stream@npm:^1.0.33": version: 1.1.14 resolution: "readable-stream@npm:1.1.14" @@ -9768,6 +10517,16 @@ __metadata: languageName: node linkType: hard +"redent@npm:^3.0.0": + version: 3.0.0 + resolution: "redent@npm:3.0.0" + dependencies: + indent-string: ^4.0.0 + strip-indent: ^3.0.0 + checksum: fa1ef20404a2d399235e83cc80bd55a956642e37dd197b4b612ba7327bf87fa32745aeb4a1634b2bab25467164ab4ed9c15be2c307923dd08b0fe7c52431ae6b + languageName: node + linkType: hard + "regenerator-runtime@npm:^0.11.0": version: 0.11.1 resolution: "regenerator-runtime@npm:0.11.1" @@ -10205,7 +10964,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0": +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.4.1, semver@npm:^5.5.0": version: 5.7.1 resolution: "semver@npm:5.7.1" bin: @@ -10432,6 +11191,22 @@ __metadata: languageName: node linkType: hard +"smartwrap@npm:^2.0.2": + version: 2.0.2 + resolution: "smartwrap@npm:2.0.2" + dependencies: + array.prototype.flat: ^1.2.3 + breakword: ^1.0.5 + grapheme-splitter: ^1.0.4 + strip-ansi: ^6.0.0 + wcwidth: ^1.0.1 + yargs: ^15.1.0 + bin: + smartwrap: src/terminal-adapter.js + checksum: 1a6833eb1c3d8488b036df66dcab37dcdda5270bb9629c471155785c09ee1b591177a9774c588c43f8fa28833204500019265da2ffed28ac7bbf4589b943d2fa + languageName: node + linkType: hard + "snapdragon-node@npm:^2.0.1": version: 2.1.1 resolution: "snapdragon-node@npm:2.1.1" @@ -10563,6 +11338,16 @@ __metadata: languageName: node linkType: hard +"spawndamnit@npm:^2.0.0": + version: 2.0.0 + resolution: "spawndamnit@npm:2.0.0" + dependencies: + cross-spawn: ^5.1.0 + signal-exit: ^3.0.2 + checksum: c74b5e264ee5bc13d55692fd422d74c282e4607eb04ac64d19d06796718d89b14921620fa4237ec5635e7acdff21461670ff19850f210225410a353cad0d7fed + languageName: node + linkType: hard + "spdx-correct@npm:^3.0.0": version: 3.1.1 resolution: "spdx-correct@npm:3.1.1" @@ -10662,6 +11447,15 @@ __metadata: languageName: node linkType: hard +"stream-transform@npm:^2.1.3": + version: 2.1.3 + resolution: "stream-transform@npm:2.1.3" + dependencies: + mixme: ^0.5.1 + checksum: 26ce872a6812d5c784fa1f042bfd403644bc1c019f64627b5012c4544830a5570bef98b47225b38120c5878b326f3d1a213cd999a2285c98b536e5e202ca5bdf + languageName: node + linkType: hard + "string-length@npm:^4.0.1": version: 4.0.1 resolution: "string-length@npm:4.0.1" @@ -10855,6 +11649,15 @@ __metadata: languageName: node linkType: hard +"strip-indent@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-indent@npm:3.0.0" + dependencies: + min-indent: ^1.0.0 + checksum: 18f045d57d9d0d90cd16f72b2313d6364fd2cb4bf85b9f593523ad431c8720011a4d5f08b6591c9d580f446e78855c5334a30fb91aa1560f5d9f95ed1b4a0530 + languageName: node + linkType: hard + "strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -10930,6 +11733,13 @@ __metadata: languageName: node linkType: hard +"term-size@npm:^2.1.0": + version: 2.2.1 + resolution: "term-size@npm:2.2.1" + checksum: 1ed981335483babc1e8206f843e06bd2bf89b85f0bf5a9a9d928033a0fcacdba183c03ba7d91814643015543ba002f1339f7112402a21da8f24b6c56b062a5a9 + languageName: node + linkType: hard + "terminal-link@npm:^2.0.0": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" @@ -10975,6 +11785,15 @@ __metadata: languageName: node linkType: hard +"tmp@npm:^0.0.33": + version: 0.0.33 + resolution: "tmp@npm:0.0.33" + dependencies: + os-tmpdir: ~1.0.2 + checksum: 902d7aceb74453ea02abbf58c203f4a8fc1cead89b60b31e354f74ed5b3fb09ea817f94fb310f884a5d16987dd9fa5a735412a7c2dd088dd3d415aa819ae3a28 + languageName: node + linkType: hard + "tmpl@npm:1.0.5, tmpl@npm:1.0.x": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -11066,6 +11885,13 @@ __metadata: languageName: node linkType: hard +"trim-newlines@npm:^3.0.0": + version: 3.0.1 + resolution: "trim-newlines@npm:3.0.1" + checksum: b530f3fadf78e570cf3c761fb74fef655beff6b0f84b29209bac6c9622db75ad1417f4a7b5d54c96605dcd72734ad44526fef9f396807b90839449eb543c6206 + languageName: node + linkType: hard + "ts-jest@npm:^26.5.2": version: 26.5.6 resolution: "ts-jest@npm:26.5.6" @@ -11137,6 +11963,23 @@ __metadata: languageName: node linkType: hard +"tty-table@npm:^4.1.5": + version: 4.1.6 + resolution: "tty-table@npm:4.1.6" + dependencies: + chalk: ^4.1.2 + csv: ^5.5.0 + kleur: ^4.1.4 + smartwrap: ^2.0.2 + strip-ansi: ^6.0.0 + wcwidth: ^1.0.1 + yargs: ^17.1.1 + bin: + tty-table: adapters/terminal-adapter.js + checksum: 0f689b7d79ad6b9e608299e667a493309901fe802f1c4d66627a90cacb6fe11e0521e1a2dc5a75f793750ecdd849e98292d4874e5e6e988edd928b67045eb847 + languageName: node + linkType: hard + "tunnel-agent@npm:^0.6.0": version: 0.6.0 resolution: "tunnel-agent@npm:0.6.0" @@ -11199,6 +12042,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^0.13.1": + version: 0.13.1 + resolution: "type-fest@npm:0.13.1" + checksum: e6bf2e3c449f27d4ef5d56faf8b86feafbc3aec3025fc9a5fbe2db0a2587c44714521f9c30d8516a833c8c506d6263f5cc11267522b10c6ccdb6cc55b0a9d1c4 + languageName: node + linkType: hard + "type-fest@npm:^0.20.2": version: 0.20.2 resolution: "type-fest@npm:0.20.2" @@ -11317,7 +12167,7 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.1.2": +"universalify@npm:^0.1.0, universalify@npm:^0.1.2": version: 0.1.2 resolution: "universalify@npm:0.1.2" checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff @@ -11499,6 +12349,15 @@ __metadata: languageName: node linkType: hard +"wcwidth@npm:^1.0.1": + version: 1.0.1 + resolution: "wcwidth@npm:1.0.1" + dependencies: + defaults: ^1.0.3 + checksum: 814e9d1ddcc9798f7377ffa448a5a3892232b9275ebb30a41b529607691c0491de47cba426e917a4d08ded3ee7e9ba2f3fe32e62ee3cd9c7d3bafb7754bd553c + languageName: node + linkType: hard + "web3-provider-engine@npm:^16.0.3": version: 16.0.4 resolution: "web3-provider-engine@npm:16.0.4" @@ -11626,6 +12485,16 @@ __metadata: languageName: node linkType: hard +"which-pm@npm:2.0.0": + version: 2.0.0 + resolution: "which-pm@npm:2.0.0" + dependencies: + load-yaml-file: ^0.2.0 + path-exists: ^4.0.0 + checksum: e556635eaf237b3a101043a21c2890af045db40eac4df3575161d4fb834c2aa65456f81c60d8ea4db2d51fe5ac549d989eeabd17278767c2e4179361338ac5ce + languageName: node + linkType: hard + "which-typed-array@npm:^1.1.2": version: 1.1.8 resolution: "which-typed-array@npm:1.1.8" @@ -11853,6 +12722,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^2.1.2": + version: 2.1.2 + resolution: "yallist@npm:2.1.2" + checksum: 9ba99409209f485b6fcb970330908a6d41fa1c933f75e08250316cce19383179a6b70a7e0721b89672ebb6199cc377bf3e432f55100da6a7d6e11902b0a642cb + languageName: node + linkType: hard + "yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0" @@ -11867,7 +12743,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^18.1.2": +"yargs-parser@npm:^18.1.2, yargs-parser@npm:^18.1.3": version: 18.1.3 resolution: "yargs-parser@npm:18.1.3" dependencies: @@ -11884,7 +12760,14 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^15.4.1": +"yargs-parser@npm:^21.0.0": + version: 21.0.1 + resolution: "yargs-parser@npm:21.0.1" + checksum: c3ea2ed12cad0377ce3096b3f138df8267edf7b1aa7d710cd502fe16af417bafe4443dd71b28158c22fcd1be5dfd0e86319597e47badf42ff83815485887323a + languageName: node + linkType: hard + +"yargs@npm:^15.1.0, yargs@npm:^15.4.1": version: 15.4.1 resolution: "yargs@npm:15.4.1" dependencies: @@ -11932,3 +12815,25 @@ __metadata: checksum: 4ffffa5a82647e5d07840b64bed88c365b901d3d4a4c51745dddb10d177902d85014026d7224aae18c42df9ca3f75a41c5aff556e5342e2f8ffc5177d149cd17 languageName: node linkType: hard + +"yargs@npm:^17.1.1": + version: 17.5.1 + resolution: "yargs@npm:17.5.1" + dependencies: + cliui: ^7.0.2 + 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.0.0 + checksum: 00d58a2c052937fa044834313f07910fd0a115dec5ee35919e857eeee3736b21a4eafa8264535800ba8bac312991ce785ecb8a51f4d2cc8c4676d865af1cfbde + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 + languageName: node + linkType: hard From fc1c8924b08a94ddca1f981ed442f295e147dab4 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Wed, 15 Jun 2022 11:32:59 -0700 Subject: [PATCH 024/115] Make some quick tweaks --- jest.config.packages.js | 15 ++++++--------- package.json | 10 ++++------ .../src/Standards/ERC20Standard.test.ts | 1 - .../base-controller/src/BaseController.test.ts | 2 +- .../base-controller/src/BaseControllerV2.test.ts | 13 ++++++++----- .../src/ControllerMessenger.test.ts | 3 +-- .../controller-utils/src/crypto-compare.test.ts | 1 - packages/controller-utils/src/util.test.ts | 1 - .../src/GasFeeController.test.ts | 5 ++++- .../src/PermissionController.test.ts | 2 +- tsconfig.packages.json | 5 ++--- yarn.lock | 2 -- 12 files changed, 27 insertions(+), 33 deletions(-) diff --git a/jest.config.packages.js b/jest.config.packages.js index d7de03c260..24aa255e77 100644 --- a/jest.config.packages.js +++ b/jest.config.packages.js @@ -84,7 +84,8 @@ module.exports = { // ], // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module - // NOTE: This must be synchronized with the `paths` option in `tsconfig.packages.json` + // Here we ensure that Jest resolves `@metamask/*` imports to the uncompiled source code for packages that live in this repo. + // NOTE: This must be synchronized with the `paths` option in `tsconfig.packages.json`. moduleNameMapper: { '^@metamask/(.+)$': [ '/../$1/src', @@ -104,9 +105,9 @@ module.exports = { // notifyMode: "failure-change", // A preset that is used as a base for Jest's configuration - // Here we're telling ts-jest to run JavaScript code through babel-jest - // because some of our dependencies (e.g. ethjs-*) ship with uncompiled - // JavaScript. + // Here we're telling ts-jest to run JavaScript code through TypeScript + // because some of our dependencies (e.g. multiformats, ethjs-*) ship with + // uncompiled JavaScript or JavaScript that uses ESM format. preset: 'ts-jest/presets/js-with-ts', // Run tests from one or more projects @@ -193,11 +194,7 @@ module.exports = { // transform: undefined, // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation - transformIgnorePatterns: [ - // Transform multiformats as it ships as ESM for the browser version - '/node_modules/(?!multiformats/)', - '\\.pnp\\.[^\\/]+$', - ], + // transformIgnorePatterns: undefined // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them // unmockedModulePathPatterns: undefined, diff --git a/package.json b/package.json index cc765c5191..fe1b3bb3f9 100644 --- a/package.json +++ b/package.json @@ -40,12 +40,13 @@ "eslint-plugin-jsdoc": "^36.1.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.4.1", - "isomorphic-fetch": "^3.0.0", "prettier": "^2.6.2", "prettier-plugin-packagejson": "^2.2.17", "rimraf": "^3.0.2", - "typescript": "~4.6.3", - "uuid": "^8.3.2" + "typescript": "~4.6.3" + }, + "devDependencies": { + "@changesets/cli": "^2.23.0" }, "packageManager": "yarn@3.2.1", "engines": { @@ -62,8 +63,5 @@ "ethereumjs-util>ethereum-cryptography>keccak": true, "ethereumjs-util>ethereum-cryptography>secp256k1": true } - }, - "devDependencies": { - "@changesets/cli": "^2.23.0" } } diff --git a/packages/assets-controllers/src/Standards/ERC20Standard.test.ts b/packages/assets-controllers/src/Standards/ERC20Standard.test.ts index cf746e768a..8070aa1294 100644 --- a/packages/assets-controllers/src/Standards/ERC20Standard.test.ts +++ b/packages/assets-controllers/src/Standards/ERC20Standard.test.ts @@ -21,7 +21,6 @@ describe('ERC20Standard', () => { afterAll(() => { nock.enableNetConnect(); - // nock.restore(); }); it('should get correct token symbol for a given ERC20 contract address', async () => { diff --git a/packages/base-controller/src/BaseController.test.ts b/packages/base-controller/src/BaseController.test.ts index 5f488227bf..d5a86fb4ba 100644 --- a/packages/base-controller/src/BaseController.test.ts +++ b/packages/base-controller/src/BaseController.test.ts @@ -1,5 +1,5 @@ import sinon from 'sinon'; -import { BaseController, BaseConfig, BaseState } from '.'; +import { BaseController, BaseConfig, BaseState } from './BaseController'; const STATE = { name: 'foo' }; const CONFIG = { disabled: true }; diff --git a/packages/base-controller/src/BaseControllerV2.test.ts b/packages/base-controller/src/BaseControllerV2.test.ts index c75c3cdc03..c0f776310b 100644 --- a/packages/base-controller/src/BaseControllerV2.test.ts +++ b/packages/base-controller/src/BaseControllerV2.test.ts @@ -1,11 +1,14 @@ import type { Draft, Patch } from 'immer'; import sinon from 'sinon'; - import { ControllerMessenger, RestrictedControllerMessenger, } from './ControllerMessenger'; -import { BaseControllerV2, getAnonymizedState, getPersistentState } from '.'; +import { + BaseController, + getAnonymizedState, + getPersistentState, +} from './BaseControllerV2'; const countControllerName = 'CountController'; @@ -60,7 +63,7 @@ function getCountMessenger( }); } -class CountController extends BaseControllerV2< +class CountController extends BaseController< typeof countControllerName, CountControllerState, CountMessenger @@ -658,7 +661,7 @@ describe('getPersistentState', () => { never, never >; - class VisitorController extends BaseControllerV2< + class VisitorController extends BaseController< typeof visitorName, VisitorControllerState, VisitorMessenger @@ -723,7 +726,7 @@ describe('getPersistentState', () => { `${typeof visitorName}:stateChange` >; - class VisitorOverflowController extends BaseControllerV2< + class VisitorOverflowController extends BaseController< typeof visitorOverflowName, VisitorOverflowControllerState, VisitorOverflowMessenger diff --git a/packages/base-controller/src/ControllerMessenger.test.ts b/packages/base-controller/src/ControllerMessenger.test.ts index 9174434c64..a5c0fd5a76 100644 --- a/packages/base-controller/src/ControllerMessenger.test.ts +++ b/packages/base-controller/src/ControllerMessenger.test.ts @@ -1,7 +1,6 @@ import type { Patch } from 'immer'; import sinon from 'sinon'; - -import { ControllerMessenger } from '.'; +import { ControllerMessenger } from './ControllerMessenger'; describe('ControllerMessenger', () => { afterEach(() => { diff --git a/packages/controller-utils/src/crypto-compare.test.ts b/packages/controller-utils/src/crypto-compare.test.ts index 47571a3377..3a11ee8ec9 100644 --- a/packages/controller-utils/src/crypto-compare.test.ts +++ b/packages/controller-utils/src/crypto-compare.test.ts @@ -1,4 +1,3 @@ -import 'isomorphic-fetch'; import nock from 'nock'; import { fetchExchangeRate } from './crypto-compare'; diff --git a/packages/controller-utils/src/util.test.ts b/packages/controller-utils/src/util.test.ts index 39bc0b53b9..7e88b87cc2 100644 --- a/packages/controller-utils/src/util.test.ts +++ b/packages/controller-utils/src/util.test.ts @@ -1,4 +1,3 @@ -import 'isomorphic-fetch'; import { BN } from 'ethereumjs-util'; import nock from 'nock'; import * as util from './util'; diff --git a/packages/gas-fee-controller/src/GasFeeController.test.ts b/packages/gas-fee-controller/src/GasFeeController.test.ts index bdd02dae19..0848e67aba 100644 --- a/packages/gas-fee-controller/src/GasFeeController.test.ts +++ b/packages/gas-fee-controller/src/GasFeeController.test.ts @@ -15,7 +15,10 @@ import determineGasFeeCalculations from './determineGasFeeCalculations'; jest.mock('./determineGasFeeCalculations'); const mockedDetermineGasFeeCalculations = - determineGasFeeCalculations as jest.Mock; + determineGasFeeCalculations as jest.Mock< + ReturnType, + Parameters + >; const name = 'GasFeeController'; diff --git a/packages/permission-controller/src/PermissionController.test.ts b/packages/permission-controller/src/PermissionController.test.ts index 606ca8c677..8e40b26ba1 100644 --- a/packages/permission-controller/src/PermissionController.test.ts +++ b/packages/permission-controller/src/PermissionController.test.ts @@ -7,7 +7,6 @@ import { RejectRequest as RejectApprovalRequest, } from '@metamask/approval-controller'; import { Json, ControllerMessenger } from '@metamask/base-controller'; - import { hasProperty, isPlainObject } from '@metamask/controller-utils'; import * as errors from './errors'; import { EndowmentGetterParams } from './Permission'; @@ -30,6 +29,7 @@ import { RestrictedMethodParameters, ValidPermission, } from '.'; + // Caveat types and specifications const CaveatTypes = { diff --git a/tsconfig.packages.json b/tsconfig.packages.json index 519de2e9d9..4004de0769 100644 --- a/tsconfig.packages.json +++ b/tsconfig.packages.json @@ -4,10 +4,9 @@ "esModuleInterop": true, "module": "CommonJS", "moduleResolution": "node", - /* NOTE: This must be synchronized with the `moduleNameMapper` option in `jest.config.packages.json` */ + /* Here we ensure that TypeScript resolves `@metamask/*` imports to the uncompiled source code for packages that live in this repo. */ + /* NOTE: This must be synchronized with the `moduleNameMapper` option in `jest.config.packages.js`. */ "paths": { "@metamask/*": ["../*/src"] }, - /* We can't enable noEmit because when our subpackages refer to other packages TypeScript will give us a warning */ - /* "noEmit": true, */ "strict": true, "target": "es6" } diff --git a/yarn.lock b/yarn.lock index 75e37aca9f..099bbb1ef0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2029,12 +2029,10 @@ __metadata: eslint-plugin-jsdoc: ^36.1.0 eslint-plugin-node: ^11.1.0 eslint-plugin-prettier: ^3.4.1 - isomorphic-fetch: ^3.0.0 prettier: ^2.6.2 prettier-plugin-packagejson: ^2.2.17 rimraf: ^3.0.2 typescript: ~4.6.3 - uuid: ^8.3.2 languageName: unknown linkType: soft From 38a72dfacb9a668d95ce4e99b1b3171697a42451 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Wed, 15 Jun 2022 11:33:34 -0700 Subject: [PATCH 025/115] Oops, remove .changeset directory --- .changeset/README.md | 8 -------- .changeset/config.json | 11 ----------- 2 files changed, 19 deletions(-) delete mode 100644 .changeset/README.md delete mode 100644 .changeset/config.json diff --git a/.changeset/README.md b/.changeset/README.md deleted file mode 100644 index e5b6d8d6a6..0000000000 --- a/.changeset/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# Changesets - -Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works -with multi-package repos, or single-package repos to help you version and publish your code. You can -find the full documentation for it [in our repository](https://github.com/changesets/changesets) - -We have a quick list of common questions to get you started engaging with this project in -[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json deleted file mode 100644 index 536b04957a..0000000000 --- a/.changeset/config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "$schema": "https://unpkg.com/@changesets/config@2.0.0/schema.json", - "changelog": "@changesets/cli/changelog", - "commit": false, - "fixed": [], - "linked": [], - "access": "restricted", - "baseBranch": "main", - "updateInternalDependencies": "patch", - "ignore": [] -} \ No newline at end of file From c24f6dbbcf9f3122e5cfc86d4d7ebd32d4fbd087 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Wed, 15 Jun 2022 11:47:33 -0700 Subject: [PATCH 026/115] Turns out we need this after all --- package.json | 1 + yarn.lock | 1 + 2 files changed, 2 insertions(+) diff --git a/package.json b/package.json index fe1b3bb3f9..102b064d97 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "eslint-plugin-jsdoc": "^36.1.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.4.1", + "isomorphic-fetch": "^3.0.0", "prettier": "^2.6.2", "prettier-plugin-packagejson": "^2.2.17", "rimraf": "^3.0.2", diff --git a/yarn.lock b/yarn.lock index 099bbb1ef0..342e869637 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2029,6 +2029,7 @@ __metadata: eslint-plugin-jsdoc: ^36.1.0 eslint-plugin-node: ^11.1.0 eslint-plugin-prettier: ^3.4.1 + isomorphic-fetch: ^3.0.0 prettier: ^2.6.2 prettier-plugin-packagejson: ^2.2.17 rimraf: ^3.0.2 From 3cd59d253585df05ff321093a74954d6d8f06573 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 9 Sep 2022 16:57:05 -0600 Subject: [PATCH 027/115] Revert/restore build-lint-test.yml --- ...int-build-test.yml => build-lint-test.yml} | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) rename .github/workflows/{lint-build-test.yml => build-lint-test.yml} (72%) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/build-lint-test.yml similarity index 72% rename from .github/workflows/lint-build-test.yml rename to .github/workflows/build-lint-test.yml index 0ac45e4550..28b65c450a 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -1,4 +1,4 @@ -name: Lint, Build, and Test +name: Build, Lint, and Test on: push: @@ -6,8 +6,8 @@ on: pull_request: jobs: - lint-build-test: - name: Lint, Build, and Test + build-lint-test: + name: Build, Lint, and Test runs-on: ubuntu-20.04 strategy: matrix: @@ -30,15 +30,19 @@ jobs: path: ${{ steps.yarn-cache-dir.outputs.YARN_CACHE_DIR }} key: yarn-cache-${{ runner.os }}-${{ steps.yarn-version.outputs.YARN_VERSION }}-${{ hashFiles('yarn.lock') }} - run: yarn --immutable - - run: yarn lint - - run: yarn changelog:validate - - run: yarn constraints - run: yarn build - - run: yarn test --maxWorkers=1 --forceExit + - run: yarn lint + - run: yarn test --maxWorkers=1 + - name: Validate RC changelog + if: ${{ startsWith(github.ref, 'release/') }} + run: yarn auto-changelog validate --rc + - name: Validate changelog + if: ${{ !startsWith(github.ref, 'release/') }} + run: yarn auto-changelog validate all-jobs-pass: name: All jobs pass runs-on: ubuntu-20.04 needs: - - lint-build-test + - build-lint-test steps: - run: echo "Great success!" From 07bab4bbffb199191530c1bc43b9b4221497abeb Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 9 Sep 2022 17:03:13 -0600 Subject: [PATCH 028/115] Fix changelog validation in CI --- .github/workflows/build-lint-test.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index 28b65c450a..d612475ea2 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -33,12 +33,7 @@ jobs: - run: yarn build - run: yarn lint - run: yarn test --maxWorkers=1 - - name: Validate RC changelog - if: ${{ startsWith(github.ref, 'release/') }} - run: yarn auto-changelog validate --rc - - name: Validate changelog - if: ${{ !startsWith(github.ref, 'release/') }} - run: yarn auto-changelog validate + - run: yarn changelog:validate all-jobs-pass: name: All jobs pass runs-on: ubuntu-20.04 From b93feaae47eb026426a2f5408adc65306f3fceb8 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 27 Sep 2022 13:35:37 -0600 Subject: [PATCH 029/115] Fix TypeScript and linting issues --- .../src/ApprovalController.test.ts | 2 +- .../src/AccountTrackerController.test.ts | 2 +- .../CollectibleDetectionController.test.ts | 2 +- .../src/CollectiblesController.test.ts | 2 +- .../src/CurrencyRateController.test.ts | 2 +- .../src/TokenBalancesController.test.ts | 2 +- .../src/TokenDetectionController.test.ts | 2 +- .../src/TokenListController.test.ts | 2 +- .../src/TokenListController.ts | 8 ++--- .../src/TokenRatesController.test.ts | 2 +- .../src/TokensController.test.ts | 29 +++++++------------ .../src/TokensController.ts | 8 ++--- .../src/token-service.test.ts | 26 ++++++++--------- .../src/BaseController.test.ts | 2 +- .../src/BaseControllerV2.test.ts | 2 +- .../src/ControllerMessenger.test.ts | 2 +- .../src/ComposableController.test.ts | 2 +- packages/controller-utils/src/util.ts | 4 +-- packages/controller-utils/tsconfig.build.json | 2 +- packages/controller-utils/tsconfig.json | 2 +- packages/controller-utils/tsconfig.test.json | 2 +- .../src/GasFeeController.test.ts | 4 +-- .../src/KeyringController.test.ts | 6 ++-- .../src/NetworkController.test.ts | 2 +- .../src/PhishingController.test.ts | 2 +- .../src/PhishingController.ts | 4 +-- .../src/TransactionController.test.ts | 2 +- tsconfig.packages.json | 1 + 28 files changed, 61 insertions(+), 67 deletions(-) diff --git a/packages/approval-controller/src/ApprovalController.test.ts b/packages/approval-controller/src/ApprovalController.test.ts index a17aa6508a..e976c538c4 100644 --- a/packages/approval-controller/src/ApprovalController.test.ts +++ b/packages/approval-controller/src/ApprovalController.test.ts @@ -1,5 +1,5 @@ import { errorCodes, EthereumRpcError } from 'eth-rpc-errors'; -import sinon from 'sinon'; +import * as sinon from 'sinon'; import { ControllerMessenger } from '@metamask/base-controller'; import { ApprovalController, diff --git a/packages/assets-controllers/src/AccountTrackerController.test.ts b/packages/assets-controllers/src/AccountTrackerController.test.ts index 596796ce19..8b0f894500 100644 --- a/packages/assets-controllers/src/AccountTrackerController.test.ts +++ b/packages/assets-controllers/src/AccountTrackerController.test.ts @@ -1,4 +1,4 @@ -import sinon from 'sinon'; +import * as sinon from 'sinon'; import HttpProvider from 'ethjs-provider-http'; import type { ContactEntry } from '@metamask/user-controllers'; import { PreferencesController } from '@metamask/user-controllers'; diff --git a/packages/assets-controllers/src/CollectibleDetectionController.test.ts b/packages/assets-controllers/src/CollectibleDetectionController.test.ts index ee8df03042..6af8e74f71 100644 --- a/packages/assets-controllers/src/CollectibleDetectionController.test.ts +++ b/packages/assets-controllers/src/CollectibleDetectionController.test.ts @@ -1,4 +1,4 @@ -import sinon from 'sinon'; +import * as sinon from 'sinon'; import nock from 'nock'; import { NetworkController } from '@metamask/network-controller'; import { PreferencesController } from '@metamask/user-controllers'; diff --git a/packages/assets-controllers/src/CollectiblesController.test.ts b/packages/assets-controllers/src/CollectiblesController.test.ts index 8722b69cee..dbb1d91642 100644 --- a/packages/assets-controllers/src/CollectiblesController.test.ts +++ b/packages/assets-controllers/src/CollectiblesController.test.ts @@ -1,4 +1,4 @@ -import sinon from 'sinon'; +import * as sinon from 'sinon'; import nock from 'nock'; import HttpProvider from 'ethjs-provider-http'; import { PreferencesController } from '@metamask/user-controllers'; diff --git a/packages/assets-controllers/src/CurrencyRateController.test.ts b/packages/assets-controllers/src/CurrencyRateController.test.ts index 88babbbfe4..2973abb167 100644 --- a/packages/assets-controllers/src/CurrencyRateController.test.ts +++ b/packages/assets-controllers/src/CurrencyRateController.test.ts @@ -1,4 +1,4 @@ -import sinon from 'sinon'; +import * as sinon from 'sinon'; import nock from 'nock'; import { TESTNET_TICKER_SYMBOLS } from '@metamask/controller-utils'; import { ControllerMessenger } from '@metamask/base-controller'; diff --git a/packages/assets-controllers/src/TokenBalancesController.test.ts b/packages/assets-controllers/src/TokenBalancesController.test.ts index 0680f9b953..6b1294ed14 100644 --- a/packages/assets-controllers/src/TokenBalancesController.test.ts +++ b/packages/assets-controllers/src/TokenBalancesController.test.ts @@ -1,4 +1,4 @@ -import sinon from 'sinon'; +import * as sinon from 'sinon'; import { BN } from 'ethereumjs-util'; import { PreferencesController } from '@metamask/user-controllers'; import { NetworkController } from '@metamask/network-controller'; diff --git a/packages/assets-controllers/src/TokenDetectionController.test.ts b/packages/assets-controllers/src/TokenDetectionController.test.ts index c9a25249c9..1a3404162e 100644 --- a/packages/assets-controllers/src/TokenDetectionController.test.ts +++ b/packages/assets-controllers/src/TokenDetectionController.test.ts @@ -1,4 +1,4 @@ -import sinon from 'sinon'; +import * as sinon from 'sinon'; import nock from 'nock'; import { BN } from 'ethereumjs-util'; import { PreferencesController } from '@metamask/user-controllers'; diff --git a/packages/assets-controllers/src/TokenListController.test.ts b/packages/assets-controllers/src/TokenListController.test.ts index 70c3849085..0496c618b5 100644 --- a/packages/assets-controllers/src/TokenListController.test.ts +++ b/packages/assets-controllers/src/TokenListController.test.ts @@ -1,4 +1,4 @@ -import sinon from 'sinon'; +import * as sinon from 'sinon'; import nock from 'nock'; import { NetworkController } from '@metamask/network-controller'; import { ControllerMessenger } from '@metamask/base-controller'; diff --git a/packages/assets-controllers/src/TokenListController.ts b/packages/assets-controllers/src/TokenListController.ts index 746a2ba2ce..18e728e873 100644 --- a/packages/assets-controllers/src/TokenListController.ts +++ b/packages/assets-controllers/src/TokenListController.ts @@ -1,6 +1,6 @@ import type { Patch } from 'immer'; import { Mutex } from 'async-mutex'; -import { AbortController } from 'abort-controller'; +import { AbortController as WhatwgAbortController } from 'abort-controller'; import { BaseControllerV2 as BaseController, RestrictedControllerMessenger, @@ -93,7 +93,7 @@ export class TokenListController extends BaseController< private chainId: string; - private abortController: AbortController; + private abortController: WhatwgAbortController; /** * Creates a TokenListController instance. @@ -136,11 +136,11 @@ export class TokenListController extends BaseController< this.cacheRefreshThreshold = cacheRefreshThreshold; this.chainId = chainId; this.updatePreventPollingOnNetworkRestart(preventPollingOnNetworkRestart); - this.abortController = new AbortController(); + this.abortController = new WhatwgAbortController(); onNetworkStateChange(async (networkState) => { if (this.chainId !== networkState.provider.chainId) { this.abortController.abort(); - this.abortController = new AbortController(); + this.abortController = new WhatwgAbortController(); this.chainId = networkState.provider.chainId; if (this.state.preventPollingOnNetworkRestart) { this.clearingTokenListData(); diff --git a/packages/assets-controllers/src/TokenRatesController.test.ts b/packages/assets-controllers/src/TokenRatesController.test.ts index f7db8060fb..aa1606ba21 100644 --- a/packages/assets-controllers/src/TokenRatesController.test.ts +++ b/packages/assets-controllers/src/TokenRatesController.test.ts @@ -1,4 +1,4 @@ -import sinon from 'sinon'; +import * as sinon from 'sinon'; import nock from 'nock'; import { PreferencesController } from '@metamask/user-controllers'; import { NetworkController } from '@metamask/network-controller'; diff --git a/packages/assets-controllers/src/TokensController.test.ts b/packages/assets-controllers/src/TokensController.test.ts index a4f2ef6f89..0fad2f5074 100644 --- a/packages/assets-controllers/src/TokensController.test.ts +++ b/packages/assets-controllers/src/TokensController.test.ts @@ -1,4 +1,4 @@ -import sinon from 'sinon'; +import * as sinon from 'sinon'; import nock from 'nock'; import contractMaps from '@metamask/contract-metadata'; import { PreferencesController } from '@metamask/user-controllers'; @@ -979,23 +979,16 @@ describe('TokensController', () => { }); it('should fail an invalid type suggested asset via watchAsset', async () => { - await new Promise(async (resolve) => { - await tokensController - .watchAsset( - { - address: '0xe9f786dfdd9ae4d57e830acb52296837765f0e5b', - decimals: 18, - symbol: 'TKN', - }, - 'ERC721', - ) - .catch((error) => { - expect(error.message).toContain( - 'Asset of type ERC721 not supported', - ); - resolve(''); - }); - }); + await expect( + tokensController.watchAsset( + { + address: '0xe9f786dfdd9ae4d57e830acb52296837765f0e5b', + decimals: 18, + symbol: 'TKN', + }, + 'ERC721', + ), + ).rejects.toThrow('Asset of type ERC721 not supported'); }); it('should reject a valid suggested asset via watchAsset', async () => { diff --git a/packages/assets-controllers/src/TokensController.ts b/packages/assets-controllers/src/TokensController.ts index 857ceb9af0..7ae5f3b712 100644 --- a/packages/assets-controllers/src/TokensController.ts +++ b/packages/assets-controllers/src/TokensController.ts @@ -5,7 +5,7 @@ import { v1 as random } from 'uuid'; import { Mutex } from 'async-mutex'; import { Contract } from '@ethersproject/contracts'; import { Web3Provider } from '@ethersproject/providers'; -import { AbortController } from 'abort-controller'; +import { AbortController as WhatwgAbortController } from 'abort-controller'; import type { PreferencesState } from '@metamask/user-controllers'; import { toChecksumHexAddress, @@ -125,7 +125,7 @@ export class TokensController extends BaseController< private ethersProvider: any; - private abortController: AbortController; + private abortController: WhatwgAbortController; private failSuggestedAsset( suggestedAssetMeta: SuggestedAssetMeta, @@ -225,7 +225,7 @@ export class TokensController extends BaseController< }; this.initialize(); - this.abortController = new AbortController(); + this.abortController = new WhatwgAbortController(); onPreferencesStateChange(({ selectedAddress }) => { const { allTokens, allIgnoredTokens, allDetectedTokens } = this.state; @@ -243,7 +243,7 @@ export class TokensController extends BaseController< const { selectedAddress } = this.config; const { chainId } = provider; this.abortController.abort(); - this.abortController = new AbortController(); + this.abortController = new WhatwgAbortController(); this.configure({ chainId }); this.ethersProvider = this._instantiateNewEthersProvider(); this.update({ diff --git a/packages/assets-controllers/src/token-service.test.ts b/packages/assets-controllers/src/token-service.test.ts index dbb7c3a123..99267029a0 100644 --- a/packages/assets-controllers/src/token-service.test.ts +++ b/packages/assets-controllers/src/token-service.test.ts @@ -1,5 +1,5 @@ import nock from 'nock'; -import { AbortController } from 'abort-controller'; +import { AbortController as WhatwgAbortController } from 'abort-controller'; import { fetchTokenList, fetchTokenMetadata, @@ -149,7 +149,7 @@ describe('Token service', () => { describe('fetchTokenList', () => { it('should call the tokens api and return the list of tokens', async () => { - const { signal } = new AbortController(); + const { signal } = new WhatwgAbortController(); nock(TOKEN_END_POINT_API) .get(`/tokens/${sampleChainId}`) .reply(200, sampleTokenList) @@ -161,7 +161,7 @@ describe('Token service', () => { }); it('should return undefined if the fetch is aborted', async () => { - const abortController = new AbortController(); + const abortController = new WhatwgAbortController(); nock(TOKEN_END_POINT_API) .get(`/tokens/${sampleChainId}`) // well beyond time it will take to abort @@ -179,7 +179,7 @@ describe('Token service', () => { }); it('should return undefined if the fetch fails with a network error', async () => { - const { signal } = new AbortController(); + const { signal } = new WhatwgAbortController(); nock(TOKEN_END_POINT_API) .get(`/tokens/${sampleChainId}`) .replyWithError('Example network error') @@ -191,7 +191,7 @@ describe('Token service', () => { }); it('should return undefined if the fetch fails with an unsuccessful status code', async () => { - const { signal } = new AbortController(); + const { signal } = new WhatwgAbortController(); nock(TOKEN_END_POINT_API) .get(`/tokens/${sampleChainId}`) .reply(500) @@ -203,7 +203,7 @@ describe('Token service', () => { }); it('should return undefined if the fetch fails with a timeout', async () => { - const { signal } = new AbortController(); + const { signal } = new WhatwgAbortController(); nock(TOKEN_END_POINT_API) .get(`/tokens/${sampleChainId}`) // well beyond timeout @@ -221,7 +221,7 @@ describe('Token service', () => { describe('fetchTokenMetadata', () => { it('should call the api to return the token metadata for eth address provided', async () => { - const { signal } = new AbortController(); + const { signal } = new WhatwgAbortController(); nock(TOKEN_END_POINT_API) .get( `/token/${sampleChainId}?address=0x514910771af9ca656af840dff83e8264ecf986ca`, @@ -239,7 +239,7 @@ describe('Token service', () => { }); it('should return undefined if the fetch is aborted', async () => { - const abortController = new AbortController(); + const abortController = new WhatwgAbortController(); nock(TOKEN_END_POINT_API) .get(`/tokens/${sampleChainId}`) // well beyond time it will take to abort @@ -258,7 +258,7 @@ describe('Token service', () => { }); it('should return undefined if the fetch fails with a network error', async () => { - const { signal } = new AbortController(); + const { signal } = new WhatwgAbortController(); nock(TOKEN_END_POINT_API) .get(`/tokens/${sampleChainId}`) .replyWithError('Example network error') @@ -274,7 +274,7 @@ describe('Token service', () => { }); it('should return undefined if the fetch fails with an unsuccessful status code', async () => { - const { signal } = new AbortController(); + const { signal } = new WhatwgAbortController(); nock(TOKEN_END_POINT_API) .get(`/tokens/${sampleChainId}`) .reply(500) @@ -290,7 +290,7 @@ describe('Token service', () => { }); it('should return undefined if the fetch fails with a timeout', async () => { - const { signal } = new AbortController(); + const { signal } = new WhatwgAbortController(); nock(TOKEN_END_POINT_API) .get(`/tokens/${sampleChainId}`) // well beyond timeout @@ -309,7 +309,7 @@ describe('Token service', () => { }); it('should throw error if fetching from non supported network', async () => { - const { signal } = new AbortController(); + const { signal } = new WhatwgAbortController(); await expect( fetchTokenMetadata( '5', @@ -321,7 +321,7 @@ describe('Token service', () => { }); it('should call the tokens api and return undefined', async () => { - const { signal } = new AbortController(); + const { signal } = new WhatwgAbortController(); nock(TOKEN_END_POINT_API) .get(`/tokens/${sampleChainId}`) .reply(404, undefined) diff --git a/packages/base-controller/src/BaseController.test.ts b/packages/base-controller/src/BaseController.test.ts index d5a86fb4ba..dca6e9d220 100644 --- a/packages/base-controller/src/BaseController.test.ts +++ b/packages/base-controller/src/BaseController.test.ts @@ -1,4 +1,4 @@ -import sinon from 'sinon'; +import * as sinon from 'sinon'; import { BaseController, BaseConfig, BaseState } from './BaseController'; const STATE = { name: 'foo' }; diff --git a/packages/base-controller/src/BaseControllerV2.test.ts b/packages/base-controller/src/BaseControllerV2.test.ts index c0f776310b..5422e648f6 100644 --- a/packages/base-controller/src/BaseControllerV2.test.ts +++ b/packages/base-controller/src/BaseControllerV2.test.ts @@ -1,5 +1,5 @@ import type { Draft, Patch } from 'immer'; -import sinon from 'sinon'; +import * as sinon from 'sinon'; import { ControllerMessenger, RestrictedControllerMessenger, diff --git a/packages/base-controller/src/ControllerMessenger.test.ts b/packages/base-controller/src/ControllerMessenger.test.ts index a5c0fd5a76..3a8e66eada 100644 --- a/packages/base-controller/src/ControllerMessenger.test.ts +++ b/packages/base-controller/src/ControllerMessenger.test.ts @@ -1,5 +1,5 @@ import type { Patch } from 'immer'; -import sinon from 'sinon'; +import * as sinon from 'sinon'; import { ControllerMessenger } from './ControllerMessenger'; describe('ControllerMessenger', () => { diff --git a/packages/composable-controller/src/ComposableController.test.ts b/packages/composable-controller/src/ComposableController.test.ts index 4497be5487..7b16b2cb46 100644 --- a/packages/composable-controller/src/ComposableController.test.ts +++ b/packages/composable-controller/src/ComposableController.test.ts @@ -1,4 +1,4 @@ -import sinon from 'sinon'; +import * as sinon from 'sinon'; import type { Patch } from 'immer'; import { TokensController, diff --git a/packages/controller-utils/src/util.ts b/packages/controller-utils/src/util.ts index 81cce0545f..e796ee62a4 100644 --- a/packages/controller-utils/src/util.ts +++ b/packages/controller-utils/src/util.ts @@ -1,4 +1,4 @@ -import fetch from 'cross-fetch'; +import crossFetch from 'cross-fetch'; import { addHexPrefix, isValidAddress, @@ -348,7 +348,7 @@ export function isSmartContractCode(code: string) { * @returns The fetch response. */ export async function successfulFetch(request: string, options?: RequestInit) { - const response = await fetch(request, options); + const response = await crossFetch(request, options); if (!response.ok) { throw new Error( `Fetch failed with status '${response.status}' for request '${request}'`, diff --git a/packages/controller-utils/tsconfig.build.json b/packages/controller-utils/tsconfig.build.json index 084f2f0346..1767c84df2 100644 --- a/packages/controller-utils/tsconfig.build.json +++ b/packages/controller-utils/tsconfig.build.json @@ -2,7 +2,7 @@ "extends": "../../tsconfig.packages.build.json", "compilerOptions": { "baseUrl": "./", - "lib": ["ES2017"], + "lib": ["ES2017", "DOM"], "outDir": "./dist", "rootDir": "./src" }, diff --git a/packages/controller-utils/tsconfig.json b/packages/controller-utils/tsconfig.json index 5d24473f54..bb8db8272e 100644 --- a/packages/controller-utils/tsconfig.json +++ b/packages/controller-utils/tsconfig.json @@ -2,7 +2,7 @@ "extends": "../../tsconfig.packages.json", "compilerOptions": { "baseUrl": "./", - "lib": ["ES2017"] + "lib": ["ES2017", "DOM"] }, "references": [ { diff --git a/packages/controller-utils/tsconfig.test.json b/packages/controller-utils/tsconfig.test.json index bfd73c7681..c32b8ba665 100644 --- a/packages/controller-utils/tsconfig.test.json +++ b/packages/controller-utils/tsconfig.test.json @@ -2,7 +2,7 @@ "extends": "../../tsconfig.packages.test.json", "compilerOptions": { "baseUrl": "./", - "lib": ["ES2017"] + "lib": ["ES2017", "DOM"] }, "references": [ { diff --git a/packages/gas-fee-controller/src/GasFeeController.test.ts b/packages/gas-fee-controller/src/GasFeeController.test.ts index 0848e67aba..17ade4a76e 100644 --- a/packages/gas-fee-controller/src/GasFeeController.test.ts +++ b/packages/gas-fee-controller/src/GasFeeController.test.ts @@ -1,4 +1,4 @@ -import sinon, { SinonFakeTimers } from 'sinon'; +import * as sinon from 'sinon'; import { ControllerMessenger } from '@metamask/base-controller'; import { GAS_ESTIMATE_TYPES, @@ -142,7 +142,7 @@ function buildMockGasFeeStateEthGasPrice({ } describe('GasFeeController', () => { - let clock: SinonFakeTimers; + let clock: sinon.SinonFakeTimers; let gasFeeController: GasFeeController; /** diff --git a/packages/keyring-controller/src/KeyringController.test.ts b/packages/keyring-controller/src/KeyringController.test.ts index 43d188c15e..35dd052717 100644 --- a/packages/keyring-controller/src/KeyringController.test.ts +++ b/packages/keyring-controller/src/KeyringController.test.ts @@ -5,7 +5,7 @@ import { recoverTypedSignature_v4, recoverTypedSignatureLegacy, } from 'eth-sig-util'; -import sinon, { SinonStub } from 'sinon'; +import * as sinon from 'sinon'; import Common from '@ethereumjs/common'; import { TransactionFactory } from '@ethereumjs/tx'; import { MetaMaskKeyring as QRKeyring } from '@keystonehq/metamask-airgapped-keyring'; @@ -729,8 +729,8 @@ describe('KeyringController', () => { let signProcessKeyringController: KeyringController; preferences = new PreferencesController(); - let requestSignatureStub: SinonStub; - let readAccountSub: SinonStub; + let requestSignatureStub: sinon.SinonStub; + let readAccountSub: sinon.SinonStub; const setupQRKeyring = async () => { readAccountSub.resolves( diff --git a/packages/network-controller/src/NetworkController.test.ts b/packages/network-controller/src/NetworkController.test.ts index d1c61985c5..5d6eb99d9f 100644 --- a/packages/network-controller/src/NetworkController.test.ts +++ b/packages/network-controller/src/NetworkController.test.ts @@ -1,4 +1,4 @@ -import sinon from 'sinon'; +import * as sinon from 'sinon'; import Web3ProviderEngine from 'web3-provider-engine'; import { NetworkType, NetworksChainId } from '@metamask/controller-utils'; import { NetworkController, ProviderConfig } from './NetworkController'; diff --git a/packages/third-party-controllers/src/PhishingController.test.ts b/packages/third-party-controllers/src/PhishingController.test.ts index 126e872cfb..36c227f09c 100644 --- a/packages/third-party-controllers/src/PhishingController.test.ts +++ b/packages/third-party-controllers/src/PhishingController.test.ts @@ -1,5 +1,5 @@ import { strict as assert } from 'assert'; -import sinon from 'sinon'; +import * as sinon from 'sinon'; import nock from 'nock'; import DEFAULT_PHISHING_RESPONSE from 'eth-phishing-detect/src/config.json'; import { PhishingController } from './PhishingController'; diff --git a/packages/third-party-controllers/src/PhishingController.ts b/packages/third-party-controllers/src/PhishingController.ts index a72739b670..1c4646af92 100644 --- a/packages/third-party-controllers/src/PhishingController.ts +++ b/packages/third-party-controllers/src/PhishingController.ts @@ -1,4 +1,4 @@ -import fetch from 'cross-fetch'; +import crossFetch from 'cross-fetch'; import { toASCII } from 'punycode/'; import DEFAULT_PHISHING_RESPONSE from 'eth-phishing-detect/src/config.json'; import PhishingDetector from 'eth-phishing-detect/src/detector'; @@ -250,7 +250,7 @@ export class PhishingController extends BaseController< private async queryConfig( input: RequestInfo, ): Promise { - const response = await fetch(input, { cache: 'no-cache' }); + const response = await crossFetch(input, { cache: 'no-cache' }); switch (response.status) { case 200: { diff --git a/packages/transaction-controller/src/TransactionController.test.ts b/packages/transaction-controller/src/TransactionController.test.ts index 27befc2c94..9ce338aadf 100644 --- a/packages/transaction-controller/src/TransactionController.test.ts +++ b/packages/transaction-controller/src/TransactionController.test.ts @@ -1,5 +1,5 @@ import * as crossFetchModule from 'cross-fetch'; -import sinon from 'sinon'; +import * as sinon from 'sinon'; import HttpProvider from 'ethjs-provider-http'; import { NetworkType, NetworksChainId } from '@metamask/controller-utils'; import { NetworkState } from '@metamask/network-controller'; diff --git a/tsconfig.packages.json b/tsconfig.packages.json index ef022232c7..2ab65285f8 100644 --- a/tsconfig.packages.json +++ b/tsconfig.packages.json @@ -2,6 +2,7 @@ "compilerOptions": { "composite": true, "esModuleInterop": true, + "lib": ["ES2020", "DOM"], "module": "CommonJS", "moduleResolution": "node", /** From 0fa45f845afd247725975c8ceb730a4a40fcab15 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Wed, 5 Oct 2022 15:21:32 -0600 Subject: [PATCH 030/115] Remove symlinks for scripts in favor of using their direct paths --- package.json | 4 ++-- packages/announcement-controller/package.json | 8 ++++---- packages/announcement-controller/scripts/test.sh | 1 - .../announcement-controller/scripts/validate-changelog.sh | 1 - packages/approval-controller/package.json | 8 ++++---- packages/approval-controller/scripts/test.sh | 1 - .../approval-controller/scripts/validate-changelog.sh | 1 - packages/assets-controllers/package.json | 8 ++++---- packages/assets-controllers/scripts/test.sh | 1 - packages/assets-controllers/scripts/validate-changelog.sh | 1 - packages/base-controller/package.json | 8 ++++---- packages/base-controller/scripts/test.sh | 1 - packages/base-controller/scripts/validate-changelog.sh | 1 - packages/composable-controller/package.json | 8 ++++---- packages/composable-controller/scripts/test.sh | 1 - .../composable-controller/scripts/validate-changelog.sh | 1 - packages/controller-utils/package.json | 8 ++++---- packages/controller-utils/scripts/test.sh | 1 - packages/controller-utils/scripts/validate-changelog.sh | 1 - packages/gas-fee-controller/package.json | 8 ++++---- packages/gas-fee-controller/scripts/test.sh | 1 - packages/gas-fee-controller/scripts/validate-changelog.sh | 1 - packages/keyring-controller/package.json | 8 ++++---- packages/keyring-controller/scripts/test.sh | 1 - packages/keyring-controller/scripts/validate-changelog.sh | 1 - packages/message-manager/package.json | 8 ++++---- packages/message-manager/scripts/test.sh | 1 - packages/message-manager/scripts/validate-changelog.sh | 1 - packages/network-controller/package.json | 8 ++++---- packages/network-controller/scripts/test.sh | 1 - packages/network-controller/scripts/validate-changelog.sh | 1 - packages/notification-controller/package.json | 8 ++++---- packages/notification-controller/scripts/test.sh | 1 - .../notification-controller/scripts/validate-changelog.sh | 1 - packages/permission-controller/package.json | 8 ++++---- packages/permission-controller/scripts/test.sh | 1 - .../permission-controller/scripts/validate-changelog.sh | 1 - packages/rate-limit-controller/package.json | 8 ++++---- packages/rate-limit-controller/scripts/test.sh | 1 - .../rate-limit-controller/scripts/validate-changelog.sh | 1 - packages/subject-metadata-controller/package.json | 8 ++++---- packages/subject-metadata-controller/scripts/test.sh | 1 - .../scripts/validate-changelog.sh | 1 - packages/third-party-controllers/package.json | 8 ++++---- packages/third-party-controllers/scripts/test.sh | 1 - .../third-party-controllers/scripts/validate-changelog.sh | 1 - packages/transaction-controller/package.json | 8 ++++---- packages/transaction-controller/scripts/test.sh | 1 - .../transaction-controller/scripts/validate-changelog.sh | 1 - packages/user-controllers/package.json | 8 ++++---- packages/user-controllers/scripts/test.sh | 1 - packages/user-controllers/scripts/validate-changelog.sh | 1 - scripts/doc.sh | 3 +++ scripts/test-watch.sh | 3 +++ scripts/test.sh | 2 +- scripts/validate-changelog.sh | 6 +++--- 56 files changed, 80 insertions(+), 108 deletions(-) delete mode 120000 packages/announcement-controller/scripts/test.sh delete mode 120000 packages/announcement-controller/scripts/validate-changelog.sh delete mode 120000 packages/approval-controller/scripts/test.sh delete mode 120000 packages/approval-controller/scripts/validate-changelog.sh delete mode 120000 packages/assets-controllers/scripts/test.sh delete mode 120000 packages/assets-controllers/scripts/validate-changelog.sh delete mode 120000 packages/base-controller/scripts/test.sh delete mode 120000 packages/base-controller/scripts/validate-changelog.sh delete mode 120000 packages/composable-controller/scripts/test.sh delete mode 120000 packages/composable-controller/scripts/validate-changelog.sh delete mode 120000 packages/controller-utils/scripts/test.sh delete mode 120000 packages/controller-utils/scripts/validate-changelog.sh delete mode 120000 packages/gas-fee-controller/scripts/test.sh delete mode 120000 packages/gas-fee-controller/scripts/validate-changelog.sh delete mode 120000 packages/keyring-controller/scripts/test.sh delete mode 120000 packages/keyring-controller/scripts/validate-changelog.sh delete mode 120000 packages/message-manager/scripts/test.sh delete mode 120000 packages/message-manager/scripts/validate-changelog.sh delete mode 120000 packages/network-controller/scripts/test.sh delete mode 120000 packages/network-controller/scripts/validate-changelog.sh delete mode 120000 packages/notification-controller/scripts/test.sh delete mode 120000 packages/notification-controller/scripts/validate-changelog.sh delete mode 120000 packages/permission-controller/scripts/test.sh delete mode 120000 packages/permission-controller/scripts/validate-changelog.sh delete mode 120000 packages/rate-limit-controller/scripts/test.sh delete mode 120000 packages/rate-limit-controller/scripts/validate-changelog.sh delete mode 120000 packages/subject-metadata-controller/scripts/test.sh delete mode 120000 packages/subject-metadata-controller/scripts/validate-changelog.sh delete mode 120000 packages/third-party-controllers/scripts/test.sh delete mode 120000 packages/third-party-controllers/scripts/validate-changelog.sh delete mode 120000 packages/transaction-controller/scripts/test.sh delete mode 120000 packages/transaction-controller/scripts/validate-changelog.sh delete mode 120000 packages/user-controllers/scripts/test.sh delete mode 120000 packages/user-controllers/scripts/validate-changelog.sh create mode 100755 scripts/doc.sh create mode 100755 scripts/test-watch.sh diff --git a/package.json b/package.json index 23d18dafcc..f150a87418 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,8 @@ ], "scripts": { "build": "tsc --build tsconfig.build.json --verbose", - "build:clean": "yarn rimraf './**/*.tsbuildinfo' './dist'", - "build:watch": "yarn build --watch", + "build:clean": "rimraf './**/*.tsbuildinfo' './dist'", + "build:watch": "yarn run build --watch", "changelog:validate": "yarn workspaces foreach --parallel --interlaced --verbose run changelog:validate", "doc": "yarn workspaces foreach --parallel --interlaced --verbose run doc", "lint": "yarn lint:eslint && yarn lint:misc --check", diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index a1b002aaac..02ac12fbbb 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~" diff --git a/packages/announcement-controller/scripts/test.sh b/packages/announcement-controller/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/announcement-controller/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/announcement-controller/scripts/validate-changelog.sh b/packages/announcement-controller/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/announcement-controller/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index 3f22be8ed9..d762a293e6 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/approval-controller/scripts/test.sh b/packages/approval-controller/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/approval-controller/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/approval-controller/scripts/validate-changelog.sh b/packages/approval-controller/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/approval-controller/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 41b8e53c70..80a2ba4c30 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@ethersproject/abi": "^5.7.0", diff --git a/packages/assets-controllers/scripts/test.sh b/packages/assets-controllers/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/assets-controllers/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/assets-controllers/scripts/validate-changelog.sh b/packages/assets-controllers/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/assets-controllers/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index b423f0bed9..caeb57e4d9 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "immer": "^9.0.6" diff --git a/packages/base-controller/scripts/test.sh b/packages/base-controller/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/base-controller/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/base-controller/scripts/validate-changelog.sh b/packages/base-controller/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/base-controller/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 5429472879..eab972f891 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "devDependencies": { "@metamask/assets-controllers": "workspace:~", diff --git a/packages/composable-controller/scripts/test.sh b/packages/composable-controller/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/composable-controller/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/composable-controller/scripts/validate-changelog.sh b/packages/composable-controller/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/composable-controller/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 2a8b431ea2..a35331abea 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/controller-utils/scripts/test.sh b/packages/controller-utils/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/controller-utils/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/controller-utils/scripts/validate-changelog.sh b/packages/controller-utils/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/controller-utils/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index af31fc6a59..a99b912ae6 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/gas-fee-controller/scripts/test.sh b/packages/gas-fee-controller/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/gas-fee-controller/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/gas-fee-controller/scripts/validate-changelog.sh b/packages/gas-fee-controller/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/gas-fee-controller/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 5c9356b320..5d16dc8d35 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@keystonehq/metamask-airgapped-keyring": "^0.6.1", diff --git a/packages/keyring-controller/scripts/test.sh b/packages/keyring-controller/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/keyring-controller/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/keyring-controller/scripts/validate-changelog.sh b/packages/keyring-controller/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/keyring-controller/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 09475b4693..5c443d9a28 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/message-manager/scripts/test.sh b/packages/message-manager/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/message-manager/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/message-manager/scripts/validate-changelog.sh b/packages/message-manager/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/message-manager/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 78f643f16c..e10e53abdc 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/network-controller/scripts/test.sh b/packages/network-controller/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/network-controller/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/network-controller/scripts/validate-changelog.sh b/packages/network-controller/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/network-controller/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index d8d2eeb450..979644a133 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/notification-controller/scripts/test.sh b/packages/notification-controller/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/notification-controller/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/notification-controller/scripts/validate-changelog.sh b/packages/notification-controller/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/notification-controller/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 77ac0f9a18..30342038bb 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@metamask/approval-controller": "workspace:~", diff --git a/packages/permission-controller/scripts/test.sh b/packages/permission-controller/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/permission-controller/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/permission-controller/scripts/validate-changelog.sh b/packages/permission-controller/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/permission-controller/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index a9960b65a5..5ca76b0367 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/rate-limit-controller/scripts/test.sh b/packages/rate-limit-controller/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/rate-limit-controller/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/rate-limit-controller/scripts/validate-changelog.sh b/packages/rate-limit-controller/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/rate-limit-controller/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index fde4293996..bb74554466 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/subject-metadata-controller/scripts/test.sh b/packages/subject-metadata-controller/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/subject-metadata-controller/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/subject-metadata-controller/scripts/validate-changelog.sh b/packages/subject-metadata-controller/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/subject-metadata-controller/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/third-party-controllers/package.json b/packages/third-party-controllers/package.json index 67deba7902..1fe268d4b8 100644 --- a/packages/third-party-controllers/package.json +++ b/packages/third-party-controllers/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/third-party-controllers/scripts/test.sh b/packages/third-party-controllers/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/third-party-controllers/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/third-party-controllers/scripts/validate-changelog.sh b/packages/third-party-controllers/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/third-party-controllers/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 1a593a4ecf..f839928c17 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@ethereumjs/common": "^2.6.4", diff --git a/packages/transaction-controller/scripts/test.sh b/packages/transaction-controller/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/transaction-controller/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/transaction-controller/scripts/validate-changelog.sh b/packages/transaction-controller/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/transaction-controller/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/packages/user-controllers/package.json b/packages/user-controllers/package.json index f2e611f043..fb6d00a5d5 100644 --- a/packages/user-controllers/package.json +++ b/packages/user-controllers/package.json @@ -21,10 +21,10 @@ "dist/" ], "scripts": { - "changelog:validate": "./scripts/validate-changelog.sh", - "doc": "typedoc && touch docs/.nojekyll", - "test": "./scripts/test.sh", - "test:watch": "jest --watch" + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/user-controllers/scripts/test.sh b/packages/user-controllers/scripts/test.sh deleted file mode 120000 index 5efe241b8d..0000000000 --- a/packages/user-controllers/scripts/test.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/test.sh \ No newline at end of file diff --git a/packages/user-controllers/scripts/validate-changelog.sh b/packages/user-controllers/scripts/validate-changelog.sh deleted file mode 120000 index 5be61bead4..0000000000 --- a/packages/user-controllers/scripts/validate-changelog.sh +++ /dev/null @@ -1 +0,0 @@ -../../../scripts/validate-changelog.sh \ No newline at end of file diff --git a/scripts/doc.sh b/scripts/doc.sh new file mode 100755 index 0000000000..3ab5ad5377 --- /dev/null +++ b/scripts/doc.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +typedoc && touch docs/.nojekyll diff --git a/scripts/test-watch.sh b/scripts/test-watch.sh new file mode 100755 index 0000000000..7320baa122 --- /dev/null +++ b/scripts/test-watch.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +jest --watch diff --git a/scripts/test.sh b/scripts/test.sh index 869ab12e16..aa36d12c0b 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -1,3 +1,3 @@ -#!/bin/sh +#!/usr/bin/env bash jest "$@" && jest-it-up diff --git a/scripts/validate-changelog.sh b/scripts/validate-changelog.sh index 66171a1bd2..fe6142a71e 100755 --- a/scripts/validate-changelog.sh +++ b/scripts/validate-changelog.sh @@ -1,7 +1,7 @@ -#!/bin/bash +#!/usr/bin/env bash if [[ "$GITHUB_REF" =~ '^release/' ]]; then - yarn auto-changelog validate --rc + auto-changelog validate --rc else - yarn auto-changelog validate + auto-changelog validate fi From fbaffa9b325eedb9a872a6b5c57e64ae39bd6bab Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Wed, 5 Oct 2022 16:10:01 -0600 Subject: [PATCH 031/115] Update README --- README.md | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 572d2f2a65..5d8a3e9333 100644 --- a/README.md +++ b/README.md @@ -4,15 +4,25 @@ A collection of platform-agnostic modules for creating secure data models for cr ## Modules -Please refer to the READMEs for the following packages for installation and usage instructions: +This is a monorepo that houses the following packages. Please refer to the READMEs for these packages for installation and usage instructions: +- [`@metamask/announcement-controller`](packages/announcement-controller) +- [`@metamask/approval-controller`](packages/approval-controller) +- [`@metamask/assets-controller`](packages/assets-controller) - [`@metamask/base-controller`](packages/base-controller) +- [`@metamask/composable-controller`](packages/composable-controller) - [`@metamask/controller-utils`](packages/controller-utils) -- [`@metamask/ens-controller`](packages/ens-controller) - -## Usage - -(TODO: Fill this out. Maybe keep the big picture stuff here and more details in the READMEs for packages?) +- [`@metamask/gas-fee-controller`](packages/gas-fee-controller) +- [`@metamask/keyring-controller`](packages/keyring-controller) +- [`@metamask/message-manager`](packages/message-manager) +- [`@metamask/network-controller`](packages/network-controller) +- [`@metamask/notification-controller`](packages/notification-controller) +- [`@metamask/permission-controller`](packages/permission-controller) +- [`@metamask/rate-limit-controller`](packages/rate-limit-controller) +- [`@metamask/subject-metadata-controller`](packages/subject-metadata-controller) +- [`@metamask/third-party-controllers`](packages/third-party-controllers) +- [`@metamask/transaction-controller`](packages/transaction-controller) +- [`@metamask/user-controllers`](packages/user-controllers) ## Contributing @@ -28,15 +38,12 @@ Please refer to the READMEs for the following packages for installation and usag Run `yarn test` to run the tests once. To run tests on file changes, run `yarn test:watch`. -To enable debugger [via Chrome DevTools](https://jestjs.io/docs/troubleshooting#tests-are-failing-and-you-dont-know-why): +Run `yarn lint` to run the linter, or run `yarn lint:fix` to fix any automatically fixable issues encountered by the linter. -1. run `yarn test:debug` -2. navigate to `chrome://inspect` -3. click "Open Dedicated DevTools for Node". Keep the DevTools window open -4. stop/rerun the tests as needed +### Release & Publishing -Run `yarn lint` to run the linter, or run `yarn lint:fix` to run the linter and fix any automatically fixable issues. +When you are ready to release one or more packages within this monorepo, you use the `create-release-branch` tool, which automates the task of bumping versions and updating changelogs across the monorepo, then creates a new branch for you to share as a pull request. You can learn more about how to use this tool by reading through its [documentation][create-release-branch-docs]. -### Release & Publishing +This monorepo is following an **independent** versioning strategy, where the version of each package may be changed without needing to synchronize that version across any other packages. -The project, being a monorepo, follows a specific release process. This section will be updated appropriately once that process is crystallized. +[create-release-branch-docs]: https://github.com/MetaMask/create-release-branch/blob/main/docs/usage-monorepo-independent.md From 0963bdd418d2b9180d5a3f86648872f6f23db6e4 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Wed, 5 Oct 2022 16:21:44 -0600 Subject: [PATCH 032/115] build, lint, test -> lint, build, test --- .../{build-lint-test.yml => lint-build-test.yml} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename .github/workflows/{build-lint-test.yml => lint-build-test.yml} (94%) diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/lint-build-test.yml similarity index 94% rename from .github/workflows/build-lint-test.yml rename to .github/workflows/lint-build-test.yml index d612475ea2..c8b5bed02b 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -1,4 +1,4 @@ -name: Build, Lint, and Test +name: Lint, Build, and Test on: push: @@ -6,7 +6,7 @@ on: pull_request: jobs: - build-lint-test: + lint-build-test: name: Build, Lint, and Test runs-on: ubuntu-20.04 strategy: @@ -30,14 +30,14 @@ jobs: path: ${{ steps.yarn-cache-dir.outputs.YARN_CACHE_DIR }} key: yarn-cache-${{ runner.os }}-${{ steps.yarn-version.outputs.YARN_VERSION }}-${{ hashFiles('yarn.lock') }} - run: yarn --immutable - - run: yarn build - run: yarn lint - - run: yarn test --maxWorkers=1 - run: yarn changelog:validate + - run: yarn build + - run: yarn test --maxWorkers=1 all-jobs-pass: name: All jobs pass runs-on: ubuntu-20.04 needs: - - build-lint-test + - lint-build-test steps: - run: echo "Great success!" From 5f6205c0cf8b82361e1169af5eb8f189fdaa65c8 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Wed, 5 Oct 2022 22:02:04 -0600 Subject: [PATCH 033/115] Fix constraints Confirm that all dependencies are synchronized using the same version and that no dependencies are listed multiple times in the same `package.json`. --- constraints.pro | 36 +++++++++++-------- package.json | 4 +-- packages/announcement-controller/package.json | 2 +- packages/approval-controller/package.json | 2 +- packages/assets-controllers/package.json | 4 +-- packages/base-controller/package.json | 2 +- packages/composable-controller/package.json | 2 +- packages/controller-utils/package.json | 2 +- packages/gas-fee-controller/package.json | 2 +- packages/keyring-controller/package.json | 2 +- packages/message-manager/package.json | 2 +- packages/network-controller/package.json | 2 +- packages/notification-controller/package.json | 2 +- packages/permission-controller/package.json | 2 +- packages/rate-limit-controller/package.json | 2 +- .../subject-metadata-controller/package.json | 2 +- packages/third-party-controllers/package.json | 2 +- packages/transaction-controller/package.json | 2 +- packages/user-controllers/package.json | 2 +- 19 files changed, 41 insertions(+), 35 deletions(-) diff --git a/constraints.pro b/constraints.pro index b1b30e97bb..df0b5938e3 100644 --- a/constraints.pro +++ b/constraints.pro @@ -7,13 +7,9 @@ % "repository.type" must be "git" for all workspaces (including the root). gen_enforced_field(WorkspaceCwd, 'repository.type', 'git'). -% "repository.type" must start with "git@github.com:mcmire/" for all workspaces -% (including the root). -% TODO: Figure this out -%atom_starts_with(Atom, Prefix) :- - %sub_atom(Atom, _, _, _, Prefix). -%gen_enforced_field(WorkspaceCwd, 'repository.url', RepoUrl) :- - %atom_starts_with(RepoUrl, 'git@github.com:mcmire/'). +% "repository.url" must be "https://github.com/MetaMask/controllers.git" for all +% workspaces (including the root). +gen_enforced_field(WorkspaceCwd, 'repository.url', 'https://github.com/MetaMask/controllers.git'). % "license" must be "MIT" for all publishable workspaces and unset for the % root. @@ -42,8 +38,8 @@ gen_enforced_field(WorkspaceCwd, 'files', ['dist/']) :- gen_enforced_field(WorkspaceCwd, 'files', null) :- workspace_field(WorkspaceCwd, 'private', true). -% "engines.node" must be ">=12.0.0" for all workspaces. -gen_enforced_field(WorkspaceCwd, 'engines.node', '>=12.0.0'). +% "engines.node" must be ">=14.0.0" for all workspaces. +gen_enforced_field(WorkspaceCwd, 'engines.node', '>=14.0.0'). % "publishConfig.access" must be "public" for publishable workspaces and unset % for the root. @@ -59,9 +55,19 @@ gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', 'https://registry.npm gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', null) :- workspace_field(WorkspaceCwd, 'private', true). -% The version of Jest used in the root must be synchronized across all packages -% that list Jest. -gen_enforced_dependency(WorkspaceCwd, 'jest', DependencyRange, DependencyType) :- - workspace_has_dependency('.', 'jest', DependencyRange, DependencyType), - workspace_has_dependency(WorkspaceCwd, 'jest', _, DependencyType), - WorkspaceCwd \= '.'. +% All dependency ranges must be synchronized across the monorepo (the highest +% one wins). +gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange2, DependencyType1) :- + workspace_has_dependency(WorkspaceCwd, DependencyIdent, DependencyRange1, DependencyType1), + workspace_has_dependency(OtherWorkspaceCwd, DependencyIdent, DependencyRange2, DependencyType2), + DependencyRange1 @< DependencyRange2. + +% If a dependency is listed under "dependencies", it should not be listed under +% any other "*dependencies" lists. We match on the same dependency range so that +% if a dependency is listed twice in the same manifest, their versions are +% synchronized and then this constraint will apply and remove the "right" +% duplicate. +gen_enforced_dependency(WorkspaceCwd, DependencyIdent, null, DependencyType) :- + workspace_has_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, 'dependencies'), + workspace_has_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType), + DependencyType \= 'dependencies'. diff --git a/package.json b/package.json index f150a87418..4a0b4afaaf 100644 --- a/package.json +++ b/package.json @@ -16,9 +16,9 @@ "build:watch": "yarn run build --watch", "changelog:validate": "yarn workspaces foreach --parallel --interlaced --verbose run changelog:validate", "doc": "yarn workspaces foreach --parallel --interlaced --verbose run doc", - "lint": "yarn lint:eslint && yarn lint:misc --check", + "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints", "lint:eslint": "eslint . --cache --ext js,ts", - "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write", + "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix", "lint:misc": "prettier '**/*.json' '**/*.md' '!**/CHANGELOG.md' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore", "prepack": "./scripts/prepack.sh", "setup": "yarn install", diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index 02ac12fbbb..343c5680cd 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -41,7 +41,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index d762a293e6..5ea469ed4f 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -45,7 +45,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 80a2ba4c30..65cc6b0397 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -42,7 +42,7 @@ "async-mutex": "^0.2.6", "eth-query": "^2.1.2", "eth-rpc-errors": "^4.0.0", - "ethereumjs-util": "^7.0.10", + "ethereumjs-util": "^7.1.4", "immer": "^9.0.6", "multiformats": "^9.5.2", "single-call-balance-checker-abi": "^1.0.0", @@ -65,7 +65,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index caeb57e4d9..24d153eb9c 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -43,7 +43,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index eab972f891..82065a4624 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -46,7 +46,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index a35331abea..550dba33f4 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -49,7 +49,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index a99b912ae6..8714786296 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -53,7 +53,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 5d16dc8d35..71c9997daf 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -55,7 +55,7 @@ "uuid": "^8.3.2" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 5c443d9a28..1b0c368007 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -46,7 +46,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index e10e53abdc..07fd94ad8a 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -48,7 +48,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index 979644a133..4d2f4650b2 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -44,7 +44,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 30342038bb..6573cb68eb 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -50,7 +50,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index 5ca76b0367..9cc91c4c08 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -43,7 +43,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index bb74554466..8934432552 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -44,7 +44,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/third-party-controllers/package.json b/packages/third-party-controllers/package.json index 1fe268d4b8..79057a8ceb 100644 --- a/packages/third-party-controllers/package.json +++ b/packages/third-party-controllers/package.json @@ -49,7 +49,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index f839928c17..ec6b926a1d 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -55,7 +55,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", diff --git a/packages/user-controllers/package.json b/packages/user-controllers/package.json index fb6d00a5d5..f71a50b60c 100644 --- a/packages/user-controllers/package.json +++ b/packages/user-controllers/package.json @@ -42,7 +42,7 @@ "typescript": "~4.6.3" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "publishConfig": { "access": "public", From b7f8c6d027f47d0cbcb7e8da35a4f9930f596bf1 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 7 Oct 2022 11:45:55 -0600 Subject: [PATCH 034/115] Update package READMEs to provide description and remove Usage (for now) --- packages/announcement-controller/README.md | 6 +----- packages/approval-controller/README.md | 6 +----- packages/assets-controllers/README.md | 17 ++++++++++++++--- packages/base-controller/README.md | 6 +----- packages/controller-utils/README.md | 6 +----- packages/gas-fee-controller/README.md | 6 +----- packages/keyring-controller/README.md | 6 +----- packages/network-controller/README.md | 6 +----- packages/notification-controller/README.md | 6 +----- .../{src/README.md => ARCHITECTURE.md} | 2 +- packages/permission-controller/README.md | 6 +----- .../src/PermissionController.ts | 2 +- packages/rate-limit-controller/README.md | 6 +----- packages/subject-metadata-controller/README.md | 6 +----- packages/third-party-controllers/README.md | 4 ---- packages/transaction-controller/README.md | 6 +----- packages/user-controllers/README.md | 4 ---- 17 files changed, 28 insertions(+), 73 deletions(-) rename packages/permission-controller/{src/README.md => ARCHITECTURE.md} (99%) diff --git a/packages/announcement-controller/README.md b/packages/announcement-controller/README.md index 35cebc4a89..58444ec147 100644 --- a/packages/announcement-controller/README.md +++ b/packages/announcement-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/announcement-controller` -(TODO) +Manages in-app announcements. ## Installation @@ -10,10 +10,6 @@ or `npm install @metamask/announcement-controller` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/approval-controller/README.md b/packages/approval-controller/README.md index c9167d81ad..41b480b859 100644 --- a/packages/approval-controller/README.md +++ b/packages/approval-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/approval-controller` -(TODO) +Manages requests that require user approval. ## Installation @@ -10,10 +10,6 @@ or `npm install @metamask/approval-controller` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/assets-controllers/README.md b/packages/assets-controllers/README.md index 41fe9cada0..158465ad9b 100644 --- a/packages/assets-controllers/README.md +++ b/packages/assets-controllers/README.md @@ -1,6 +1,6 @@ # `@metamask/assets-controllers` -(TODO) +Controllers which manage interactions involving ERC-20, ERC-721, and ERC-1155 tokens (including NFTs). ## Installation @@ -10,9 +10,20 @@ or `npm install @metamask/assets-controllers` -## Usage +## Controllers -(TODO) +This package features the following controllers: + +* [**AccountTrackerController**](src/AccountTrackerController.ts) keeps a updated list of the accounts in the currently selected keychain which is updated automatically on a schedule or on demand. +* [**AssetsContractController**](src/AssetsContractController.ts) provides a set of convenience methods that use contracts to retrieve information about tokens, read token balances, and transfer tokens. +* [**CollectibleDetectionController**](src/CollectibleDetectionController.ts) keeps a periodically updated list of ERC-721 tokens assigned to the currently selected address. +* [**CollectiblesController**](src/CollectiblesController.ts) tracks ERC-721 and ERC-1155 tokens assigned to the currently selected address, using OpenSea to retrieve token information. +* [**CurrencyRateController**](src/CurrencyRateController.ts) keeps a periodically updated value of the exchange rate from the currently selected "native" currency to another (handling testnet tokens specially). +* [**TokenBalancesController**](src/TokenBalancesController.ts) keeps a periodically updated set of balances for the current set of ERC-20 tokens. +* [**TokenDetectionController**](src/TokenDetectionController.ts) keeps a periodically updated list of ERC-20 tokens assigned to the currently selected address. +* [**TokenListController**](src/TokenListController.ts) uses the MetaSwap API to keep a periodically updated list of known ERC-20 tokens along with their metadata. +* [**TokenRatesController**](src/TokenRatesController.ts) keeps a periodically updated list of exchange rates for known ERC-20 tokens relative to the currently selected native currency. +* [**TokensController**](src/TokensController.ts) stores the ERC-20 and ERC-721 tokens, along with their metadata, that are listed in the wallet under the currently selected address on the currently selected chain. ## Contributing diff --git a/packages/base-controller/README.md b/packages/base-controller/README.md index 06d86e2c58..3e8c11e0af 100644 --- a/packages/base-controller/README.md +++ b/packages/base-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/base-controller` -(TODO) +Provides scaffolding for controllers as well a communication system for all controllers. ## Installation @@ -10,10 +10,6 @@ or `npm install @metamask/base-controller` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/controller-utils/README.md b/packages/controller-utils/README.md index de9cefcd3c..976b1b3888 100644 --- a/packages/controller-utils/README.md +++ b/packages/controller-utils/README.md @@ -1,6 +1,6 @@ # `@metamask/controller-utils` -(TODO) +Data and convenience functions shared by multiple packages. ## Installation @@ -10,10 +10,6 @@ or `npm install @metamask/controller-utils` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/gas-fee-controller/README.md b/packages/gas-fee-controller/README.md index b720672164..7ed940a1a5 100644 --- a/packages/gas-fee-controller/README.md +++ b/packages/gas-fee-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/gas-fee-controller` -(TODO) +Periodically calculates gas fee estimates for various gas limits and other data displayed on transaction confirm screens. ## Installation @@ -10,10 +10,6 @@ or `npm install @metamask/gas-fee-controller` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/keyring-controller/README.md b/packages/keyring-controller/README.md index 516def1a0e..48873b1baa 100644 --- a/packages/keyring-controller/README.md +++ b/packages/keyring-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/keyring-controller` -(TODO) +Stores identities seen in the wallet and manages interactions such as signing. ## Installation @@ -10,10 +10,6 @@ or `npm install @metamask/keyring-controller` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/network-controller/README.md b/packages/network-controller/README.md index 5ac1d8fcf9..5073c314fc 100644 --- a/packages/network-controller/README.md +++ b/packages/network-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/network-controller` -(TODO) +Provides an interface to the currently selected network via a MetaMask-compatible provider object. ## Installation @@ -10,10 +10,6 @@ or `npm install @metamask/network-controller` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/notification-controller/README.md b/packages/notification-controller/README.md index 1723345f1c..a86b4417d7 100644 --- a/packages/notification-controller/README.md +++ b/packages/notification-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/notification-controller` -(TODO) +Manages display of the "What's New" messages in MetaMask. ## Installation @@ -10,10 +10,6 @@ or `npm install @metamask/notification-controller` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/permission-controller/src/README.md b/packages/permission-controller/ARCHITECTURE.md similarity index 99% rename from packages/permission-controller/src/README.md rename to packages/permission-controller/ARCHITECTURE.md index 8481df6200..09d8b6a7c8 100644 --- a/packages/permission-controller/src/README.md +++ b/packages/permission-controller/ARCHITECTURE.md @@ -1,4 +1,4 @@ -# PermissionController +# Architecture The `PermissionController` is the heart of an object capability-inspired permission system. It is the successor of the original MetaMask permission system, [`rpc-cap`](https://github.com/MetaMask/rpc-cap). diff --git a/packages/permission-controller/README.md b/packages/permission-controller/README.md index f7fe181938..571d72993a 100644 --- a/packages/permission-controller/README.md +++ b/packages/permission-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/permission-controller` -(TODO) +Mediates access to JSON-RPC methods, used to interact with pieces of the MetaMask stack, via middleware for `json-rpc-engine`. ## Installation @@ -10,10 +10,6 @@ or `npm install @metamask/permission-controller` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/permission-controller/src/PermissionController.ts b/packages/permission-controller/src/PermissionController.ts index fd15e824e7..659f1b3853 100644 --- a/packages/permission-controller/src/PermissionController.ts +++ b/packages/permission-controller/src/PermissionController.ts @@ -461,7 +461,7 @@ export type PermissionControllerOptions< }; /** - * The permission controller. See the README for details. + * The permission controller. See [the README](../ARCHITECTURE.md) for details. * * Assumes the existence of an {@link ApprovalController} reachable via the * {@link ControllerMessenger}. diff --git a/packages/rate-limit-controller/README.md b/packages/rate-limit-controller/README.md index bac94ae5b8..f5d848c088 100644 --- a/packages/rate-limit-controller/README.md +++ b/packages/rate-limit-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/rate-limit-controller` -(TODO) +Contains logic for rate-limiting API endpoints per requesting origin. ## Installation @@ -10,10 +10,6 @@ or `npm install @metamask/rate-limit-controller` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/subject-metadata-controller/README.md b/packages/subject-metadata-controller/README.md index a77819a222..b039c609f3 100644 --- a/packages/subject-metadata-controller/README.md +++ b/packages/subject-metadata-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/subject-metadata-controller` -(TODO) +Caches metadata associated with permission subjects. ## Installation @@ -10,10 +10,6 @@ or `npm install @metamask/subject-metadata-controller` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/third-party-controllers/README.md b/packages/third-party-controllers/README.md index 181b70c19e..e22c7eb363 100644 --- a/packages/third-party-controllers/README.md +++ b/packages/third-party-controllers/README.md @@ -10,10 +10,6 @@ or `npm install @metamask/third-party-controllers` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/transaction-controller/README.md b/packages/transaction-controller/README.md index 8200a0c2f8..f00f6ce4f9 100644 --- a/packages/transaction-controller/README.md +++ b/packages/transaction-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/transaction-controller` -(TODO) +Stores transactions, keeping track of statuses on a periodic basis, and manages interactions such as approval and cancellation. ## Installation @@ -10,10 +10,6 @@ or `npm install @metamask/transaction-controller` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/user-controllers/README.md b/packages/user-controllers/README.md index 0e9eb83e6e..5ea185bd5e 100644 --- a/packages/user-controllers/README.md +++ b/packages/user-controllers/README.md @@ -10,10 +10,6 @@ or `npm install @metamask/user-controllers` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). From a824252200b8888cb9f7a3df16cfae16bc17866d Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 7 Oct 2022 11:46:14 -0600 Subject: [PATCH 035/115] Don't use 4 spaces for indentation in Markdown files --- .editorconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/.editorconfig b/.editorconfig index 95549fd7cd..435e3c736a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -10,5 +10,4 @@ insert_final_newline = true trim_trailing_whitespace = true [*.md] -indent_size = 4 trim_trailing_whitespace = false From 7d1532a0f6c8ef2fdec4e992b1249e74f469a7d2 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 7 Oct 2022 11:51:49 -0600 Subject: [PATCH 036/115] Fix lint issues --- packages/assets-controllers/README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/assets-controllers/README.md b/packages/assets-controllers/README.md index 158465ad9b..9b514eabd9 100644 --- a/packages/assets-controllers/README.md +++ b/packages/assets-controllers/README.md @@ -14,16 +14,16 @@ or This package features the following controllers: -* [**AccountTrackerController**](src/AccountTrackerController.ts) keeps a updated list of the accounts in the currently selected keychain which is updated automatically on a schedule or on demand. -* [**AssetsContractController**](src/AssetsContractController.ts) provides a set of convenience methods that use contracts to retrieve information about tokens, read token balances, and transfer tokens. -* [**CollectibleDetectionController**](src/CollectibleDetectionController.ts) keeps a periodically updated list of ERC-721 tokens assigned to the currently selected address. -* [**CollectiblesController**](src/CollectiblesController.ts) tracks ERC-721 and ERC-1155 tokens assigned to the currently selected address, using OpenSea to retrieve token information. -* [**CurrencyRateController**](src/CurrencyRateController.ts) keeps a periodically updated value of the exchange rate from the currently selected "native" currency to another (handling testnet tokens specially). -* [**TokenBalancesController**](src/TokenBalancesController.ts) keeps a periodically updated set of balances for the current set of ERC-20 tokens. -* [**TokenDetectionController**](src/TokenDetectionController.ts) keeps a periodically updated list of ERC-20 tokens assigned to the currently selected address. -* [**TokenListController**](src/TokenListController.ts) uses the MetaSwap API to keep a periodically updated list of known ERC-20 tokens along with their metadata. -* [**TokenRatesController**](src/TokenRatesController.ts) keeps a periodically updated list of exchange rates for known ERC-20 tokens relative to the currently selected native currency. -* [**TokensController**](src/TokensController.ts) stores the ERC-20 and ERC-721 tokens, along with their metadata, that are listed in the wallet under the currently selected address on the currently selected chain. +- [**AccountTrackerController**](src/AccountTrackerController.ts) keeps a updated list of the accounts in the currently selected keychain which is updated automatically on a schedule or on demand. +- [**AssetsContractController**](src/AssetsContractController.ts) provides a set of convenience methods that use contracts to retrieve information about tokens, read token balances, and transfer tokens. +- [**CollectibleDetectionController**](src/CollectibleDetectionController.ts) keeps a periodically updated list of ERC-721 tokens assigned to the currently selected address. +- [**CollectiblesController**](src/CollectiblesController.ts) tracks ERC-721 and ERC-1155 tokens assigned to the currently selected address, using OpenSea to retrieve token information. +- [**CurrencyRateController**](src/CurrencyRateController.ts) keeps a periodically updated value of the exchange rate from the currently selected "native" currency to another (handling testnet tokens specially). +- [**TokenBalancesController**](src/TokenBalancesController.ts) keeps a periodically updated set of balances for the current set of ERC-20 tokens. +- [**TokenDetectionController**](src/TokenDetectionController.ts) keeps a periodically updated list of ERC-20 tokens assigned to the currently selected address. +- [**TokenListController**](src/TokenListController.ts) uses the MetaSwap API to keep a periodically updated list of known ERC-20 tokens along with their metadata. +- [**TokenRatesController**](src/TokenRatesController.ts) keeps a periodically updated list of exchange rates for known ERC-20 tokens relative to the currently selected native currency. +- [**TokensController**](src/TokensController.ts) stores the ERC-20 and ERC-721 tokens, along with their metadata, that are listed in the wallet under the currently selected address on the currently selected chain. ## Contributing From 90de5195cf650dd150f4e22135a85a03009bbb12 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 7 Oct 2022 12:37:23 -0600 Subject: [PATCH 037/115] Split apart more controllers * AddressBookController and PreferencesController from user-controllers * EnsController and PhishingController from third-party-controllers --- README.md | 6 +- .../CHANGELOG.md | 0 .../LICENSE | 0 packages/address-book-controller/README.md | 15 ++ .../jest.config.js | 0 packages/address-book-controller/package.json | 51 +++++++ .../src/AddressBookController.test.ts | 0 .../src/AddressBookController.ts | 0 .../src/index.ts | 1 - .../tsconfig.build.json | 0 .../tsconfig.json | 0 .../tsconfig.test.json | 0 .../typedoc.json | 0 packages/assets-controllers/jest.config.js | 6 +- packages/assets-controllers/package.json | 2 +- .../src/AccountTrackerController.test.ts | 6 +- .../src/AccountTrackerController.ts | 2 +- .../src/AssetsContractController.test.ts | 2 +- .../src/AssetsContractController.ts | 2 +- .../CollectibleDetectionController.test.ts | 2 +- .../src/CollectibleDetectionController.ts | 2 +- .../src/CollectiblesController.test.ts | 2 +- .../src/CollectiblesController.ts | 2 +- .../src/TokenBalancesController.test.ts | 2 +- .../src/TokenBalancesController.ts | 2 +- .../src/TokenDetectionController.test.ts | 2 +- .../src/TokenDetectionController.ts | 2 +- .../src/TokenRatesController.test.ts | 2 +- .../src/TokensController.test.ts | 2 +- .../src/TokensController.ts | 2 +- .../assets-controllers/tsconfig.build.json | 2 +- packages/assets-controllers/tsconfig.json | 2 +- .../assets-controllers/tsconfig.test.json | 16 ++- packages/composable-controller/package.json | 5 +- .../src/ComposableController.test.ts | 8 +- .../composable-controller/tsconfig.build.json | 23 +++- packages/composable-controller/tsconfig.json | 23 +++- .../composable-controller/tsconfig.test.json | 23 +++- .../CHANGELOG.md | 0 .../LICENSE | 0 .../README.md | 6 +- .../jest.config.js | 8 +- .../package.json | 4 +- .../src/EnsController.test.ts | 0 .../src/EnsController.ts | 0 .../src/index.ts | 0 .../tsconfig.build.json | 0 .../tsconfig.json | 0 .../tsconfig.test.json | 0 .../typedoc.json | 0 packages/keyring-controller/package.json | 2 +- .../src/KeyringController.test.ts | 2 +- .../src/KeyringController.ts | 2 +- .../keyring-controller/tsconfig.build.json | 16 ++- packages/keyring-controller/tsconfig.json | 16 ++- .../keyring-controller/tsconfig.test.json | 16 ++- packages/network-controller/jest.config.js | 8 +- packages/phishing-controller/CHANGELOG.md | 9 ++ packages/phishing-controller/LICENSE | 20 +++ .../README.md | 6 +- packages/phishing-controller/jest.config.js | 25 ++++ .../package.json | 5 +- .../src/PhishingController.test.ts | 0 .../src/PhishingController.ts | 0 packages/phishing-controller/src/index.ts | 1 + .../phishing-controller/tsconfig.build.json | 13 ++ packages/phishing-controller/tsconfig.json | 11 ++ .../phishing-controller/tsconfig.test.json | 11 ++ packages/phishing-controller/typedoc.json | 7 + packages/preferences-controller/CHANGELOG.md | 9 ++ packages/preferences-controller/LICENSE | 20 +++ packages/preferences-controller/README.md | 15 ++ .../preferences-controller/jest.config.js | 25 ++++ packages/preferences-controller/package.json | 51 +++++++ .../src/PreferencesController.test.ts | 0 .../src/PreferencesController.ts | 15 +- packages/preferences-controller/src/index.ts | 1 + .../tsconfig.build.json | 13 ++ packages/preferences-controller/tsconfig.json | 11 ++ .../preferences-controller/tsconfig.test.json | 11 ++ packages/preferences-controller/typedoc.json | 7 + packages/rate-limit-controller/README.md | 2 +- tsconfig.build.json | 70 +++++++--- tsconfig.json | 70 +++++++--- yarn.lock | 128 +++++++++++------- 85 files changed, 688 insertions(+), 165 deletions(-) rename packages/{third-party-controllers => address-book-controller}/CHANGELOG.md (100%) rename packages/{third-party-controllers => address-book-controller}/LICENSE (100%) create mode 100644 packages/address-book-controller/README.md rename packages/{third-party-controllers => address-book-controller}/jest.config.js (100%) create mode 100644 packages/address-book-controller/package.json rename packages/{user-controllers => address-book-controller}/src/AddressBookController.test.ts (100%) rename packages/{user-controllers => address-book-controller}/src/AddressBookController.ts (100%) rename packages/{user-controllers => address-book-controller}/src/index.ts (50%) rename packages/{third-party-controllers => address-book-controller}/tsconfig.build.json (100%) rename packages/{third-party-controllers => address-book-controller}/tsconfig.json (100%) rename packages/{third-party-controllers => address-book-controller}/tsconfig.test.json (100%) rename packages/{third-party-controllers => address-book-controller}/typedoc.json (100%) rename packages/{user-controllers => ens-controller}/CHANGELOG.md (100%) rename packages/{user-controllers => ens-controller}/LICENSE (100%) rename packages/{user-controllers => ens-controller}/README.md (60%) rename packages/{user-controllers => ens-controller}/jest.config.js (85%) rename packages/{user-controllers => ens-controller}/package.json (94%) rename packages/{third-party-controllers => ens-controller}/src/EnsController.test.ts (100%) rename packages/{third-party-controllers => ens-controller}/src/EnsController.ts (100%) rename packages/{third-party-controllers => ens-controller}/src/index.ts (100%) rename packages/{user-controllers => ens-controller}/tsconfig.build.json (100%) rename packages/{user-controllers => ens-controller}/tsconfig.json (100%) rename packages/{user-controllers => ens-controller}/tsconfig.test.json (100%) rename packages/{user-controllers => ens-controller}/typedoc.json (100%) create mode 100644 packages/phishing-controller/CHANGELOG.md create mode 100644 packages/phishing-controller/LICENSE rename packages/{third-party-controllers => phishing-controller}/README.md (56%) create mode 100644 packages/phishing-controller/jest.config.js rename packages/{third-party-controllers => phishing-controller}/package.json (91%) rename packages/{third-party-controllers => phishing-controller}/src/PhishingController.test.ts (100%) rename packages/{third-party-controllers => phishing-controller}/src/PhishingController.ts (100%) create mode 100644 packages/phishing-controller/src/index.ts create mode 100644 packages/phishing-controller/tsconfig.build.json create mode 100644 packages/phishing-controller/tsconfig.json create mode 100644 packages/phishing-controller/tsconfig.test.json create mode 100644 packages/phishing-controller/typedoc.json create mode 100644 packages/preferences-controller/CHANGELOG.md create mode 100644 packages/preferences-controller/LICENSE create mode 100644 packages/preferences-controller/README.md create mode 100644 packages/preferences-controller/jest.config.js create mode 100644 packages/preferences-controller/package.json rename packages/{user-controllers => preferences-controller}/src/PreferencesController.test.ts (100%) rename packages/{user-controllers => preferences-controller}/src/PreferencesController.ts (96%) create mode 100644 packages/preferences-controller/src/index.ts create mode 100644 packages/preferences-controller/tsconfig.build.json create mode 100644 packages/preferences-controller/tsconfig.json create mode 100644 packages/preferences-controller/tsconfig.test.json create mode 100644 packages/preferences-controller/typedoc.json diff --git a/README.md b/README.md index 5d8a3e9333..f2bca90f83 100644 --- a/README.md +++ b/README.md @@ -6,23 +6,25 @@ A collection of platform-agnostic modules for creating secure data models for cr This is a monorepo that houses the following packages. Please refer to the READMEs for these packages for installation and usage instructions: +- [`@metamask/address-book-controller`](packages/address-book-controller) - [`@metamask/announcement-controller`](packages/announcement-controller) - [`@metamask/approval-controller`](packages/approval-controller) - [`@metamask/assets-controller`](packages/assets-controller) - [`@metamask/base-controller`](packages/base-controller) - [`@metamask/composable-controller`](packages/composable-controller) - [`@metamask/controller-utils`](packages/controller-utils) +- [`@metamask/ens-controller`](packages/ens-controller) - [`@metamask/gas-fee-controller`](packages/gas-fee-controller) - [`@metamask/keyring-controller`](packages/keyring-controller) - [`@metamask/message-manager`](packages/message-manager) - [`@metamask/network-controller`](packages/network-controller) - [`@metamask/notification-controller`](packages/notification-controller) - [`@metamask/permission-controller`](packages/permission-controller) +- [`@metamask/phishing-controller`](packages/phishing-controller) +- [`@metamask/preferences-controller`](packages/preferences-controller) - [`@metamask/rate-limit-controller`](packages/rate-limit-controller) - [`@metamask/subject-metadata-controller`](packages/subject-metadata-controller) -- [`@metamask/third-party-controllers`](packages/third-party-controllers) - [`@metamask/transaction-controller`](packages/transaction-controller) -- [`@metamask/user-controllers`](packages/user-controllers) ## Contributing diff --git a/packages/third-party-controllers/CHANGELOG.md b/packages/address-book-controller/CHANGELOG.md similarity index 100% rename from packages/third-party-controllers/CHANGELOG.md rename to packages/address-book-controller/CHANGELOG.md diff --git a/packages/third-party-controllers/LICENSE b/packages/address-book-controller/LICENSE similarity index 100% rename from packages/third-party-controllers/LICENSE rename to packages/address-book-controller/LICENSE diff --git a/packages/address-book-controller/README.md b/packages/address-book-controller/README.md new file mode 100644 index 0000000000..136c713f11 --- /dev/null +++ b/packages/address-book-controller/README.md @@ -0,0 +1,15 @@ +# `@metamask/address-book-controller` + +Manages a list of recipient addresses associated with nicknames. + +## Installation + +`yarn add @metamask/address-book-controller` + +or + +`npm install @metamask/address-book-controller` + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/third-party-controllers/jest.config.js b/packages/address-book-controller/jest.config.js similarity index 100% rename from packages/third-party-controllers/jest.config.js rename to packages/address-book-controller/jest.config.js diff --git a/packages/address-book-controller/package.json b/packages/address-book-controller/package.json new file mode 100644 index 0000000000..094a7bff4f --- /dev/null +++ b/packages/address-book-controller/package.json @@ -0,0 +1,51 @@ +{ + "name": "@metamask/address-book-controller", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/address-book-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": { + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" + }, + "dependencies": { + "@metamask/base-controller": "workspace:~", + "@metamask/controller-utils": "workspace:~" + }, + "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", + "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", + "typescript": "~4.6.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/packages/user-controllers/src/AddressBookController.test.ts b/packages/address-book-controller/src/AddressBookController.test.ts similarity index 100% rename from packages/user-controllers/src/AddressBookController.test.ts rename to packages/address-book-controller/src/AddressBookController.test.ts diff --git a/packages/user-controllers/src/AddressBookController.ts b/packages/address-book-controller/src/AddressBookController.ts similarity index 100% rename from packages/user-controllers/src/AddressBookController.ts rename to packages/address-book-controller/src/AddressBookController.ts diff --git a/packages/user-controllers/src/index.ts b/packages/address-book-controller/src/index.ts similarity index 50% rename from packages/user-controllers/src/index.ts rename to packages/address-book-controller/src/index.ts index b422163c10..e75d24a939 100644 --- a/packages/user-controllers/src/index.ts +++ b/packages/address-book-controller/src/index.ts @@ -1,2 +1 @@ export * from './AddressBookController'; -export * from './PreferencesController'; diff --git a/packages/third-party-controllers/tsconfig.build.json b/packages/address-book-controller/tsconfig.build.json similarity index 100% rename from packages/third-party-controllers/tsconfig.build.json rename to packages/address-book-controller/tsconfig.build.json diff --git a/packages/third-party-controllers/tsconfig.json b/packages/address-book-controller/tsconfig.json similarity index 100% rename from packages/third-party-controllers/tsconfig.json rename to packages/address-book-controller/tsconfig.json diff --git a/packages/third-party-controllers/tsconfig.test.json b/packages/address-book-controller/tsconfig.test.json similarity index 100% rename from packages/third-party-controllers/tsconfig.test.json rename to packages/address-book-controller/tsconfig.test.json diff --git a/packages/third-party-controllers/typedoc.json b/packages/address-book-controller/typedoc.json similarity index 100% rename from packages/third-party-controllers/typedoc.json rename to packages/address-book-controller/typedoc.json diff --git a/packages/assets-controllers/jest.config.js b/packages/assets-controllers/jest.config.js index 38a6452e11..9c0e9da49e 100644 --- a/packages/assets-controllers/jest.config.js +++ b/packages/assets-controllers/jest.config.js @@ -16,10 +16,10 @@ module.exports = merge(baseConfig, { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 88.96, + branches: 88.77, functions: 96.66, - lines: 96.62, - statements: 96.69, + lines: 96.63, + statements: 96.71, }, }, diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 65cc6b0397..f034c5e727 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -35,7 +35,7 @@ "@metamask/controller-utils": "workspace:~", "@metamask/metamask-eth-abis": "3.0.0", "@metamask/network-controller": "workspace:~", - "@metamask/user-controllers": "workspace:~", + "@metamask/preferences-controller": "workspace:~", "@types/uuid": "^8.3.4", "@types/web3": "^1.0.6", "abort-controller": "^3.0.0", diff --git a/packages/assets-controllers/src/AccountTrackerController.test.ts b/packages/assets-controllers/src/AccountTrackerController.test.ts index 8b0f894500..5944c4813c 100644 --- a/packages/assets-controllers/src/AccountTrackerController.test.ts +++ b/packages/assets-controllers/src/AccountTrackerController.test.ts @@ -1,7 +1,9 @@ import * as sinon from 'sinon'; import HttpProvider from 'ethjs-provider-http'; -import type { ContactEntry } from '@metamask/user-controllers'; -import { PreferencesController } from '@metamask/user-controllers'; +import { + PreferencesController, + ContactEntry, +} from '@metamask/preferences-controller'; import { query } from '@metamask/controller-utils'; import { AccountTrackerController } from './AccountTrackerController'; diff --git a/packages/assets-controllers/src/AccountTrackerController.ts b/packages/assets-controllers/src/AccountTrackerController.ts index 642be98a90..9535d37460 100644 --- a/packages/assets-controllers/src/AccountTrackerController.ts +++ b/packages/assets-controllers/src/AccountTrackerController.ts @@ -5,7 +5,7 @@ import { BaseController, BaseState, } from '@metamask/base-controller'; -import { PreferencesState } from '@metamask/user-controllers'; +import { PreferencesState } from '@metamask/preferences-controller'; import { BNToHex, query, diff --git a/packages/assets-controllers/src/AssetsContractController.test.ts b/packages/assets-controllers/src/AssetsContractController.test.ts index 33822ef44b..91c7cb9037 100644 --- a/packages/assets-controllers/src/AssetsContractController.test.ts +++ b/packages/assets-controllers/src/AssetsContractController.test.ts @@ -1,7 +1,7 @@ import HttpProvider from 'ethjs-provider-http'; import { IPFS_DEFAULT_GATEWAY_URL } from '@metamask/controller-utils'; import { ControllerMessenger } from '@metamask/base-controller'; -import { PreferencesController } from '@metamask/user-controllers'; +import { PreferencesController } from '@metamask/preferences-controller'; import { NetworkController, NetworkControllerMessenger, diff --git a/packages/assets-controllers/src/AssetsContractController.ts b/packages/assets-controllers/src/AssetsContractController.ts index c85c86bdc2..cb0fe2ce81 100644 --- a/packages/assets-controllers/src/AssetsContractController.ts +++ b/packages/assets-controllers/src/AssetsContractController.ts @@ -6,7 +6,7 @@ import { BaseConfig, BaseState, } from '@metamask/base-controller'; -import type { PreferencesState } from '@metamask/user-controllers'; +import type { PreferencesState } from '@metamask/preferences-controller'; import { IPFS_DEFAULT_GATEWAY_URL } from '@metamask/controller-utils'; import { NetworkState } from '@metamask/network-controller'; import { ERC721Standard } from './Standards/CollectibleStandards/ERC721/ERC721Standard'; diff --git a/packages/assets-controllers/src/CollectibleDetectionController.test.ts b/packages/assets-controllers/src/CollectibleDetectionController.test.ts index 609428c22a..eea6f6147c 100644 --- a/packages/assets-controllers/src/CollectibleDetectionController.test.ts +++ b/packages/assets-controllers/src/CollectibleDetectionController.test.ts @@ -5,7 +5,7 @@ import { NetworkController, NetworkControllerMessenger, } from '@metamask/network-controller'; -import { PreferencesController } from '@metamask/user-controllers'; +import { PreferencesController } from '@metamask/preferences-controller'; import { OPENSEA_PROXY_URL } from '@metamask/controller-utils'; import { CollectiblesController } from './CollectiblesController'; import { AssetsContractController } from './AssetsContractController'; diff --git a/packages/assets-controllers/src/CollectibleDetectionController.ts b/packages/assets-controllers/src/CollectibleDetectionController.ts index 35ac054381..9cf0da3739 100644 --- a/packages/assets-controllers/src/CollectibleDetectionController.ts +++ b/packages/assets-controllers/src/CollectibleDetectionController.ts @@ -4,7 +4,7 @@ import { BaseState, } from '@metamask/base-controller'; import type { NetworkState } from '@metamask/network-controller'; -import type { PreferencesState } from '@metamask/user-controllers'; +import type { PreferencesState } from '@metamask/preferences-controller'; import { fetchWithErrorHandling, toChecksumHexAddress, diff --git a/packages/assets-controllers/src/CollectiblesController.test.ts b/packages/assets-controllers/src/CollectiblesController.test.ts index 7ad12f6596..193da3e865 100644 --- a/packages/assets-controllers/src/CollectiblesController.test.ts +++ b/packages/assets-controllers/src/CollectiblesController.test.ts @@ -2,7 +2,7 @@ import * as sinon from 'sinon'; import nock from 'nock'; import HttpProvider from 'ethjs-provider-http'; import { ControllerMessenger } from '@metamask/base-controller'; -import { PreferencesController } from '@metamask/user-controllers'; +import { PreferencesController } from '@metamask/preferences-controller'; import { NetworkController, NetworkControllerMessenger, diff --git a/packages/assets-controllers/src/CollectiblesController.ts b/packages/assets-controllers/src/CollectiblesController.ts index a4f741cc29..b48f7ccc64 100644 --- a/packages/assets-controllers/src/CollectiblesController.ts +++ b/packages/assets-controllers/src/CollectiblesController.ts @@ -1,7 +1,7 @@ import { EventEmitter } from 'events'; import { BN, stripHexPrefix } from 'ethereumjs-util'; import { Mutex } from 'async-mutex'; -import type { PreferencesState } from '@metamask/user-controllers'; +import type { PreferencesState } from '@metamask/preferences-controller'; import { safelyExecute, handleFetch, diff --git a/packages/assets-controllers/src/TokenBalancesController.test.ts b/packages/assets-controllers/src/TokenBalancesController.test.ts index 69959def7a..a711c69659 100644 --- a/packages/assets-controllers/src/TokenBalancesController.test.ts +++ b/packages/assets-controllers/src/TokenBalancesController.test.ts @@ -1,7 +1,7 @@ import * as sinon from 'sinon'; import { BN } from 'ethereumjs-util'; import { ControllerMessenger } from '@metamask/base-controller'; -import { PreferencesController } from '@metamask/user-controllers'; +import { PreferencesController } from '@metamask/preferences-controller'; import { NetworkController, NetworkControllerMessenger, diff --git a/packages/assets-controllers/src/TokenBalancesController.ts b/packages/assets-controllers/src/TokenBalancesController.ts index 2d351fba51..abf5a184eb 100644 --- a/packages/assets-controllers/src/TokenBalancesController.ts +++ b/packages/assets-controllers/src/TokenBalancesController.ts @@ -1,6 +1,6 @@ import { BN } from 'ethereumjs-util'; import { safelyExecute } from '@metamask/controller-utils'; -import type { PreferencesState } from '@metamask/user-controllers'; +import type { PreferencesState } from '@metamask/preferences-controller'; import { BaseController, BaseConfig, diff --git a/packages/assets-controllers/src/TokenDetectionController.test.ts b/packages/assets-controllers/src/TokenDetectionController.test.ts index f7016d4c87..ef3692a54b 100644 --- a/packages/assets-controllers/src/TokenDetectionController.test.ts +++ b/packages/assets-controllers/src/TokenDetectionController.test.ts @@ -1,7 +1,7 @@ import * as sinon from 'sinon'; import nock from 'nock'; import { BN } from 'ethereumjs-util'; -import { PreferencesController } from '@metamask/user-controllers'; +import { PreferencesController } from '@metamask/preferences-controller'; import { NetworkController, NetworkControllerMessenger, diff --git a/packages/assets-controllers/src/TokenDetectionController.ts b/packages/assets-controllers/src/TokenDetectionController.ts index e804c34eaf..52be5d2c17 100644 --- a/packages/assets-controllers/src/TokenDetectionController.ts +++ b/packages/assets-controllers/src/TokenDetectionController.ts @@ -1,4 +1,4 @@ -import type { PreferencesState } from '@metamask/user-controllers'; +import type { PreferencesState } from '@metamask/preferences-controller'; import { safelyExecute, toChecksumHexAddress, diff --git a/packages/assets-controllers/src/TokenRatesController.test.ts b/packages/assets-controllers/src/TokenRatesController.test.ts index 2a587319e9..86c9cac076 100644 --- a/packages/assets-controllers/src/TokenRatesController.test.ts +++ b/packages/assets-controllers/src/TokenRatesController.test.ts @@ -1,7 +1,7 @@ import * as sinon from 'sinon'; import nock from 'nock'; import { ControllerMessenger } from '@metamask/base-controller'; -import { PreferencesController } from '@metamask/user-controllers'; +import { PreferencesController } from '@metamask/preferences-controller'; import { NetworkController, NetworkControllerMessenger, diff --git a/packages/assets-controllers/src/TokensController.test.ts b/packages/assets-controllers/src/TokensController.test.ts index 1f7496f5c4..d566227798 100644 --- a/packages/assets-controllers/src/TokensController.test.ts +++ b/packages/assets-controllers/src/TokensController.test.ts @@ -2,7 +2,7 @@ import * as sinon from 'sinon'; import nock from 'nock'; import contractMaps from '@metamask/contract-metadata'; import { ControllerMessenger } from '@metamask/base-controller'; -import { PreferencesController } from '@metamask/user-controllers'; +import { PreferencesController } from '@metamask/preferences-controller'; import { NetworkController, NetworkControllerMessenger, diff --git a/packages/assets-controllers/src/TokensController.ts b/packages/assets-controllers/src/TokensController.ts index 7ae5f3b712..f4f67c87c2 100644 --- a/packages/assets-controllers/src/TokensController.ts +++ b/packages/assets-controllers/src/TokensController.ts @@ -6,7 +6,7 @@ import { Mutex } from 'async-mutex'; import { Contract } from '@ethersproject/contracts'; import { Web3Provider } from '@ethersproject/providers'; import { AbortController as WhatwgAbortController } from 'abort-controller'; -import type { PreferencesState } from '@metamask/user-controllers'; +import type { PreferencesState } from '@metamask/preferences-controller'; import { toChecksumHexAddress, MAINNET, diff --git a/packages/assets-controllers/tsconfig.build.json b/packages/assets-controllers/tsconfig.build.json index ed14b986f7..e819874528 100644 --- a/packages/assets-controllers/tsconfig.build.json +++ b/packages/assets-controllers/tsconfig.build.json @@ -9,7 +9,7 @@ { "path": "../base-controller/tsconfig.build.json" }, { "path": "../controller-utils/tsconfig.build.json" }, { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../user-controllers/tsconfig.build.json" } + { "path": "../preferences-controller/tsconfig.build.json" } ], "include": ["../../types", "./src"] } diff --git a/packages/assets-controllers/tsconfig.json b/packages/assets-controllers/tsconfig.json index bd417c6424..b88c89c2a2 100644 --- a/packages/assets-controllers/tsconfig.json +++ b/packages/assets-controllers/tsconfig.json @@ -7,7 +7,7 @@ { "path": "../base-controller" }, { "path": "../controller-utils" }, { "path": "../network-controller" }, - { "path": "../user-controllers" } + { "path": "../preferences-controller" } ], "include": ["../../types", "./src"] } diff --git a/packages/assets-controllers/tsconfig.test.json b/packages/assets-controllers/tsconfig.test.json index a5459670f6..29f90afee3 100644 --- a/packages/assets-controllers/tsconfig.test.json +++ b/packages/assets-controllers/tsconfig.test.json @@ -4,10 +4,18 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../network-controller" }, - { "path": "../user-controllers" } + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../network-controller" + }, + { + "path": "../preferences-controller" + } ], "include": ["../../types", "./src"] } diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 82065a4624..6896cb9b93 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -27,13 +27,14 @@ "test:watch": "../../scripts/test-watch.sh" }, "devDependencies": { + "@metamask/address-book-controller": "workspace:~", "@metamask/assets-controllers": "workspace:~", "@metamask/auto-changelog": "^2.6.0", "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", + "@metamask/ens-controller": "workspace:~", "@metamask/network-controller": "workspace:~", - "@metamask/third-party-controllers": "workspace:~", - "@metamask/user-controllers": "workspace:~", + "@metamask/preferences-controller": "workspace:~", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "immer": "^9.0.6", diff --git a/packages/composable-controller/src/ComposableController.test.ts b/packages/composable-controller/src/ComposableController.test.ts index 92afdec44d..7db192096c 100644 --- a/packages/composable-controller/src/ComposableController.test.ts +++ b/packages/composable-controller/src/ComposableController.test.ts @@ -5,11 +5,9 @@ import { CollectiblesController, AssetsContractController, } from '@metamask/assets-controllers'; -import { - AddressBookController, - PreferencesController, -} from '@metamask/user-controllers'; -import { EnsController } from '@metamask/third-party-controllers'; +import { AddressBookController } from '@metamask/address-book-controller'; +import { PreferencesController } from '@metamask/preferences-controller'; +import { EnsController } from '@metamask/ens-controller'; import { BaseController, BaseState, diff --git a/packages/composable-controller/tsconfig.build.json b/packages/composable-controller/tsconfig.build.json index 17dac80fc0..218c76b2cd 100644 --- a/packages/composable-controller/tsconfig.build.json +++ b/packages/composable-controller/tsconfig.build.json @@ -6,11 +6,24 @@ "rootDir": "./src" }, "references": [ - { "path": "../assets-controllers/tsconfig.build.json" }, - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../third-party-controllers/tsconfig.build.json" }, - { "path": "../user-controllers/tsconfig.build.json" } + { + "path": "../address-book-controller/tsconfig.build.json" + }, + { + "path": "../assets-controllers/tsconfig.build.json" + }, + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../ens-controller/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../preferences-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/composable-controller/tsconfig.json b/packages/composable-controller/tsconfig.json index 196f9c3637..372239daaa 100644 --- a/packages/composable-controller/tsconfig.json +++ b/packages/composable-controller/tsconfig.json @@ -4,11 +4,24 @@ "baseUrl": "./" }, "references": [ - { "path": "../assets-controllers" }, - { "path": "../base-controller" }, - { "path": "../network-controller" }, - { "path": "../third-party-controllers" }, - { "path": "../user-controllers" } + { + "path": "../address-book-controller" + }, + { + "path": "../assets-controllers" + }, + { + "path": "../base-controller" + }, + { + "path": "../ens-controller" + }, + { + "path": "../network-controller" + }, + { + "path": "../preferences-controller" + } ], "include": ["../../types", "./src"] } diff --git a/packages/composable-controller/tsconfig.test.json b/packages/composable-controller/tsconfig.test.json index 849ad6af79..44cf8ed132 100644 --- a/packages/composable-controller/tsconfig.test.json +++ b/packages/composable-controller/tsconfig.test.json @@ -4,11 +4,24 @@ "baseUrl": "./" }, "references": [ - { "path": "../assets-controllers" }, - { "path": "../base-controller" }, - { "path": "../network-controller" }, - { "path": "../third-party-controllers" }, - { "path": "../user-controllers" } + { + "path": "../address-book-controller" + }, + { + "path": "../assets-controllers" + }, + { + "path": "../base-controller" + }, + { + "path": "../ens-controller" + }, + { + "path": "../network-controller" + }, + { + "path": "../preferences-controller" + } ], "include": ["../../types", "./src"] } diff --git a/packages/user-controllers/CHANGELOG.md b/packages/ens-controller/CHANGELOG.md similarity index 100% rename from packages/user-controllers/CHANGELOG.md rename to packages/ens-controller/CHANGELOG.md diff --git a/packages/user-controllers/LICENSE b/packages/ens-controller/LICENSE similarity index 100% rename from packages/user-controllers/LICENSE rename to packages/ens-controller/LICENSE diff --git a/packages/user-controllers/README.md b/packages/ens-controller/README.md similarity index 60% rename from packages/user-controllers/README.md rename to packages/ens-controller/README.md index 5ea185bd5e..2d5034ba50 100644 --- a/packages/user-controllers/README.md +++ b/packages/ens-controller/README.md @@ -1,14 +1,14 @@ -# `@metamask/user-controllers` +# `@metamask/ens-controller` (TODO) ## Installation -`yarn add @metamask/user-controllers` +`yarn add @metamask/ens-controller` or -`npm install @metamask/user-controllers` +`npm install @metamask/ens-controller` ## Contributing diff --git a/packages/user-controllers/jest.config.js b/packages/ens-controller/jest.config.js similarity index 85% rename from packages/user-controllers/jest.config.js rename to packages/ens-controller/jest.config.js index 7cc5b95e5d..a7ae2b4b47 100644 --- a/packages/user-controllers/jest.config.js +++ b/packages/ens-controller/jest.config.js @@ -16,10 +16,10 @@ module.exports = merge(baseConfig, { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 92.3, - functions: 95.83, - lines: 95.41, - statements: 95.41, + branches: 100, + functions: 100, + lines: 100, + statements: 100, }, }, }); diff --git a/packages/user-controllers/package.json b/packages/ens-controller/package.json similarity index 94% rename from packages/user-controllers/package.json rename to packages/ens-controller/package.json index f71a50b60c..c3a27a12be 100644 --- a/packages/user-controllers/package.json +++ b/packages/ens-controller/package.json @@ -1,12 +1,12 @@ { - "name": "@metamask/user-controllers", + "name": "@metamask/ens-controller", "version": "0.1.0", "description": "TODO", "keywords": [ "MetaMask", "Ethereum" ], - "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/user-controllers#readme", + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/ens-controller#readme", "bugs": { "url": "https://github.com/MetaMask/controllers/issues" }, diff --git a/packages/third-party-controllers/src/EnsController.test.ts b/packages/ens-controller/src/EnsController.test.ts similarity index 100% rename from packages/third-party-controllers/src/EnsController.test.ts rename to packages/ens-controller/src/EnsController.test.ts diff --git a/packages/third-party-controllers/src/EnsController.ts b/packages/ens-controller/src/EnsController.ts similarity index 100% rename from packages/third-party-controllers/src/EnsController.ts rename to packages/ens-controller/src/EnsController.ts diff --git a/packages/third-party-controllers/src/index.ts b/packages/ens-controller/src/index.ts similarity index 100% rename from packages/third-party-controllers/src/index.ts rename to packages/ens-controller/src/index.ts diff --git a/packages/user-controllers/tsconfig.build.json b/packages/ens-controller/tsconfig.build.json similarity index 100% rename from packages/user-controllers/tsconfig.build.json rename to packages/ens-controller/tsconfig.build.json diff --git a/packages/user-controllers/tsconfig.json b/packages/ens-controller/tsconfig.json similarity index 100% rename from packages/user-controllers/tsconfig.json rename to packages/ens-controller/tsconfig.json diff --git a/packages/user-controllers/tsconfig.test.json b/packages/ens-controller/tsconfig.test.json similarity index 100% rename from packages/user-controllers/tsconfig.test.json rename to packages/ens-controller/tsconfig.test.json diff --git a/packages/user-controllers/typedoc.json b/packages/ens-controller/typedoc.json similarity index 100% rename from packages/user-controllers/typedoc.json rename to packages/ens-controller/typedoc.json diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 71c9997daf..1e5eb4b15a 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -31,7 +31,7 @@ "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", "@metamask/message-manager": "workspace:~", - "@metamask/user-controllers": "workspace:~", + "@metamask/preferences-controller": "workspace:~", "async-mutex": "^0.2.6", "eth-keyring-controller": "^7.0.2", "eth-sig-util": "^3.0.0", diff --git a/packages/keyring-controller/src/KeyringController.test.ts b/packages/keyring-controller/src/KeyringController.test.ts index 35dd052717..0cf6400ef5 100644 --- a/packages/keyring-controller/src/KeyringController.test.ts +++ b/packages/keyring-controller/src/KeyringController.test.ts @@ -11,7 +11,7 @@ import { TransactionFactory } from '@ethereumjs/tx'; import { MetaMaskKeyring as QRKeyring } from '@keystonehq/metamask-airgapped-keyring'; import { CryptoHDKey, ETHSignature } from '@keystonehq/bc-ur-registry-eth'; import * as uuid from 'uuid'; -import { PreferencesController } from '@metamask/user-controllers'; +import { PreferencesController } from '@metamask/preferences-controller'; import { MAINNET } from '@metamask/controller-utils'; import MockEncryptor from '../tests/mocks/mockEncryptor'; import { diff --git a/packages/keyring-controller/src/KeyringController.ts b/packages/keyring-controller/src/KeyringController.ts index f622738a4f..1a9cc485ca 100644 --- a/packages/keyring-controller/src/KeyringController.ts +++ b/packages/keyring-controller/src/KeyringController.ts @@ -24,7 +24,7 @@ import { BaseState, Listener, } from '@metamask/base-controller'; -import { PreferencesController } from '@metamask/user-controllers'; +import { PreferencesController } from '@metamask/preferences-controller'; import { PersonalMessageParams, TypedMessageParams, diff --git a/packages/keyring-controller/tsconfig.build.json b/packages/keyring-controller/tsconfig.build.json index 3e916145dd..093088e762 100644 --- a/packages/keyring-controller/tsconfig.build.json +++ b/packages/keyring-controller/tsconfig.build.json @@ -6,10 +6,18 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../message-manager/tsconfig.build.json" }, - { "path": "../user-controllers/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../message-manager/tsconfig.build.json" + }, + { + "path": "../preferences-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/keyring-controller/tsconfig.json b/packages/keyring-controller/tsconfig.json index 55b15ec749..8d413c2652 100644 --- a/packages/keyring-controller/tsconfig.json +++ b/packages/keyring-controller/tsconfig.json @@ -4,10 +4,18 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../message-manager" }, - { "path": "../user-controllers" } + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../message-manager" + }, + { + "path": "../preferences-controller" + } ], "include": ["../../types", "./src", "./tests"] } diff --git a/packages/keyring-controller/tsconfig.test.json b/packages/keyring-controller/tsconfig.test.json index c073248b09..258783b4c9 100644 --- a/packages/keyring-controller/tsconfig.test.json +++ b/packages/keyring-controller/tsconfig.test.json @@ -4,10 +4,18 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../message-manager" }, - { "path": "../user-controllers" } + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../message-manager" + }, + { + "path": "../preferences-controller" + } ], "include": ["../../types", "./src", "./tests"] } diff --git a/packages/network-controller/jest.config.js b/packages/network-controller/jest.config.js index d2278ce138..512fdfa7a6 100644 --- a/packages/network-controller/jest.config.js +++ b/packages/network-controller/jest.config.js @@ -16,10 +16,10 @@ module.exports = merge(baseConfig, { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 82.98, - functions: 90.48, - lines: 89.53, - statements: 89.66, + branches: 80, + functions: 82.14, + lines: 86.17, + statements: 86.17, }, }, }); diff --git a/packages/phishing-controller/CHANGELOG.md b/packages/phishing-controller/CHANGELOG.md new file mode 100644 index 0000000000..6afa80d26d --- /dev/null +++ b/packages/phishing-controller/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/phishing-controller/LICENSE b/packages/phishing-controller/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/phishing-controller/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/third-party-controllers/README.md b/packages/phishing-controller/README.md similarity index 56% rename from packages/third-party-controllers/README.md rename to packages/phishing-controller/README.md index e22c7eb363..861de2bcd5 100644 --- a/packages/third-party-controllers/README.md +++ b/packages/phishing-controller/README.md @@ -1,14 +1,14 @@ -# `@metamask/third-party-controllers` +# `@metamask/phishing-controller` (TODO) ## Installation -`yarn add @metamask/third-party-controllers` +`yarn add @metamask/phishing-controller` or -`npm install @metamask/third-party-controllers` +`npm install @metamask/phishing-controller` ## Contributing diff --git a/packages/phishing-controller/jest.config.js b/packages/phishing-controller/jest.config.js new file mode 100644 index 0000000000..a7ae2b4b47 --- /dev/null +++ b/packages/phishing-controller/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 100, + statements: 100, + }, + }, +}); diff --git a/packages/third-party-controllers/package.json b/packages/phishing-controller/package.json similarity index 91% rename from packages/third-party-controllers/package.json rename to packages/phishing-controller/package.json index 79057a8ceb..01f69171d5 100644 --- a/packages/third-party-controllers/package.json +++ b/packages/phishing-controller/package.json @@ -1,12 +1,12 @@ { - "name": "@metamask/third-party-controllers", + "name": "@metamask/phishing-controller", "version": "0.1.0", "description": "TODO", "keywords": [ "MetaMask", "Ethereum" ], - "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/third-party-controllers#readme", + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/phishing-controller#readme", "bugs": { "url": "https://github.com/MetaMask/controllers/issues" }, @@ -38,7 +38,6 @@ "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", - "ethereumjs-util": "^7.1.4", "jest": "^26.4.2", "jest-it-up": "^2.0.2", "nock": "^13.0.7", diff --git a/packages/third-party-controllers/src/PhishingController.test.ts b/packages/phishing-controller/src/PhishingController.test.ts similarity index 100% rename from packages/third-party-controllers/src/PhishingController.test.ts rename to packages/phishing-controller/src/PhishingController.test.ts diff --git a/packages/third-party-controllers/src/PhishingController.ts b/packages/phishing-controller/src/PhishingController.ts similarity index 100% rename from packages/third-party-controllers/src/PhishingController.ts rename to packages/phishing-controller/src/PhishingController.ts diff --git a/packages/phishing-controller/src/index.ts b/packages/phishing-controller/src/index.ts new file mode 100644 index 0000000000..703c8fe9e3 --- /dev/null +++ b/packages/phishing-controller/src/index.ts @@ -0,0 +1 @@ +export * from './PhishingController'; diff --git a/packages/phishing-controller/tsconfig.build.json b/packages/phishing-controller/tsconfig.build.json new file mode 100644 index 0000000000..bbfe057a20 --- /dev/null +++ b/packages/phishing-controller/tsconfig.build.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [ + { "path": "../base-controller/tsconfig.build.json" }, + { "path": "../controller-utils/tsconfig.build.json" } + ], + "include": ["../../types", "./src"] +} diff --git a/packages/phishing-controller/tsconfig.json b/packages/phishing-controller/tsconfig.json new file mode 100644 index 0000000000..7ee9852347 --- /dev/null +++ b/packages/phishing-controller/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types", "./src"] +} diff --git a/packages/phishing-controller/tsconfig.test.json b/packages/phishing-controller/tsconfig.test.json new file mode 100644 index 0000000000..ff98fbfbe8 --- /dev/null +++ b/packages/phishing-controller/tsconfig.test.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types", "./src"] +} diff --git a/packages/phishing-controller/typedoc.json b/packages/phishing-controller/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/phishing-controller/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/preferences-controller/CHANGELOG.md b/packages/preferences-controller/CHANGELOG.md new file mode 100644 index 0000000000..6afa80d26d --- /dev/null +++ b/packages/preferences-controller/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +[Unreleased]: https://github.com/MetaMask/controllers/ diff --git a/packages/preferences-controller/LICENSE b/packages/preferences-controller/LICENSE new file mode 100644 index 0000000000..ddfbecf902 --- /dev/null +++ b/packages/preferences-controller/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2018 MetaMask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE diff --git a/packages/preferences-controller/README.md b/packages/preferences-controller/README.md new file mode 100644 index 0000000000..1d5c440191 --- /dev/null +++ b/packages/preferences-controller/README.md @@ -0,0 +1,15 @@ +# `@metamask/preferences-controller` + +Manages user-configurable settings for MetaMask. + +## Installation + +`yarn add @metamask/preferences-controller` + +or + +`npm install @metamask/preferences-controller` + +## Contributing + +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/preferences-controller/jest.config.js b/packages/preferences-controller/jest.config.js new file mode 100644 index 0000000000..5fd4fda362 --- /dev/null +++ b/packages/preferences-controller/jest.config.js @@ -0,0 +1,25 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +const path = require('path'); +const merge = require('deepmerge'); +const baseConfig = require('../../jest.config.packages'); + +const displayName = path.basename(__dirname); + +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 88.23, + functions: 95, + lines: 93.82, + statements: 93.82, + }, + }, +}); diff --git a/packages/preferences-controller/package.json b/packages/preferences-controller/package.json new file mode 100644 index 0000000000..6aaa347e97 --- /dev/null +++ b/packages/preferences-controller/package.json @@ -0,0 +1,51 @@ +{ + "name": "@metamask/preferences-controller", + "version": "0.1.0", + "description": "TODO", + "keywords": [ + "MetaMask", + "Ethereum" + ], + "homepage": "https://github.com/MetaMask/controllers/tree/main/packages/preferences-controller#readme", + "bugs": { + "url": "https://github.com/MetaMask/controllers/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/MetaMask/controllers.git" + }, + "license": "MIT", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": { + "changelog:validate": "../../scripts/validate-changelog.sh", + "doc": "../../scripts/doc.sh", + "test": "../../scripts/test.sh", + "test:watch": "../../scripts/test-watch.sh" + }, + "dependencies": { + "@metamask/base-controller": "workspace:~", + "@metamask/controller-utils": "workspace:~" + }, + "devDependencies": { + "@metamask/auto-changelog": "^2.6.0", + "@types/jest": "^26.0.22", + "deepmerge": "^4.2.2", + "jest": "^26.4.2", + "jest-it-up": "^2.0.2", + "ts-jest": "^26.5.2", + "typedoc": "^0.22.15", + "typedoc-plugin-missing-exports": "^0.22.6", + "typescript": "~4.6.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/packages/user-controllers/src/PreferencesController.test.ts b/packages/preferences-controller/src/PreferencesController.test.ts similarity index 100% rename from packages/user-controllers/src/PreferencesController.test.ts rename to packages/preferences-controller/src/PreferencesController.test.ts diff --git a/packages/user-controllers/src/PreferencesController.ts b/packages/preferences-controller/src/PreferencesController.ts similarity index 96% rename from packages/user-controllers/src/PreferencesController.ts rename to packages/preferences-controller/src/PreferencesController.ts index 6de1d3c144..22f52b7d73 100644 --- a/packages/user-controllers/src/PreferencesController.ts +++ b/packages/preferences-controller/src/PreferencesController.ts @@ -4,7 +4,20 @@ import { BaseState, } from '@metamask/base-controller'; import { toChecksumHexAddress } from '@metamask/controller-utils'; -import { ContactEntry } from './AddressBookController'; + +/** + * @type ContactEntry + * + * ContactEntry representation + * @property address - Hex address of a recipient account + * @property name - Nickname associated with this address + * @property importTime - Data time when an account as created/imported + */ +export interface ContactEntry { + address: string; + name: string; + importTime?: number; +} /** * Custom RPC network information diff --git a/packages/preferences-controller/src/index.ts b/packages/preferences-controller/src/index.ts new file mode 100644 index 0000000000..8032ff1591 --- /dev/null +++ b/packages/preferences-controller/src/index.ts @@ -0,0 +1 @@ +export * from './PreferencesController'; diff --git a/packages/preferences-controller/tsconfig.build.json b/packages/preferences-controller/tsconfig.build.json new file mode 100644 index 0000000000..bbfe057a20 --- /dev/null +++ b/packages/preferences-controller/tsconfig.build.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist", + "rootDir": "./src" + }, + "references": [ + { "path": "../base-controller/tsconfig.build.json" }, + { "path": "../controller-utils/tsconfig.build.json" } + ], + "include": ["../../types", "./src"] +} diff --git a/packages/preferences-controller/tsconfig.json b/packages/preferences-controller/tsconfig.json new file mode 100644 index 0000000000..7ee9852347 --- /dev/null +++ b/packages/preferences-controller/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types", "./src"] +} diff --git a/packages/preferences-controller/tsconfig.test.json b/packages/preferences-controller/tsconfig.test.json new file mode 100644 index 0000000000..ff98fbfbe8 --- /dev/null +++ b/packages/preferences-controller/tsconfig.test.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.packages.test.json", + "compilerOptions": { + "baseUrl": "./" + }, + "references": [ + { "path": "../base-controller" }, + { "path": "../controller-utils" } + ], + "include": ["../../types", "./src"] +} diff --git a/packages/preferences-controller/typedoc.json b/packages/preferences-controller/typedoc.json new file mode 100644 index 0000000000..c9da015dbf --- /dev/null +++ b/packages/preferences-controller/typedoc.json @@ -0,0 +1,7 @@ +{ + "entryPoints": ["./src/index.ts"], + "excludePrivate": true, + "hideGenerator": true, + "out": "docs", + "tsconfig": "./tsconfig.build.json" +} diff --git a/packages/rate-limit-controller/README.md b/packages/rate-limit-controller/README.md index f5d848c088..ca76250757 100644 --- a/packages/rate-limit-controller/README.md +++ b/packages/rate-limit-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/rate-limit-controller` -Contains logic for rate-limiting API endpoints per requesting origin. +Contains logic for rate-limiting API endpoints by requesting origin. ## Installation diff --git a/tsconfig.build.json b/tsconfig.build.json index d927fa6c32..e96861ff25 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -1,21 +1,59 @@ { "references": [ - { "path": "./packages/announcement-controller/tsconfig.build.json" }, - { "path": "./packages/approval-controller/tsconfig.build.json" }, - { "path": "./packages/assets-controllers/tsconfig.build.json" }, - { "path": "./packages/base-controller/tsconfig.build.json" }, - { "path": "./packages/composable-controller/tsconfig.build.json" }, - { "path": "./packages/controller-utils/tsconfig.build.json" }, - { "path": "./packages/gas-fee-controller/tsconfig.build.json" }, - { "path": "./packages/keyring-controller/tsconfig.build.json" }, - { "path": "./packages/message-manager/tsconfig.build.json" }, - { "path": "./packages/network-controller/tsconfig.build.json" }, - { "path": "./packages/notification-controller/tsconfig.build.json" }, - { "path": "./packages/permission-controller/tsconfig.build.json" }, - { "path": "./packages/rate-limit-controller/tsconfig.build.json" }, - { "path": "./packages/subject-metadata-controller/tsconfig.build.json" }, - { "path": "./packages/third-party-controllers/tsconfig.build.json" }, - { "path": "./packages/user-controllers/tsconfig.build.json" } + { + "path": "./packages/address-book-controller/tsconfig.build.json" + }, + { + "path": "./packages/announcement-controller/tsconfig.build.json" + }, + { + "path": "./packages/approval-controller/tsconfig.build.json" + }, + { + "path": "./packages/assets-controllers/tsconfig.build.json" + }, + { + "path": "./packages/base-controller/tsconfig.build.json" + }, + { + "path": "./packages/composable-controller/tsconfig.build.json" + }, + { + "path": "./packages/controller-utils/tsconfig.build.json" + }, + { + "path": "./packages/ens-controller/tsconfig.build.json" + }, + { + "path": "./packages/gas-fee-controller/tsconfig.build.json" + }, + { + "path": "./packages/keyring-controller/tsconfig.build.json" + }, + { + "path": "./packages/message-manager/tsconfig.build.json" + }, + { + "path": "./packages/network-controller/tsconfig.build.json" + }, + { + "path": "./packages/notification-controller/tsconfig.build.json" + }, + { + "path": "./packages/permission-controller/tsconfig.build.json" + }, + { + "path": "./packages/phishing-controller/tsconfig.build.json" + }, + { + "path": "./packages/preferences-controller/tsconfig.build.json" + }, + { + "path": "./packages/rate-limit-controller/tsconfig.build.json" + }, + { + "path": "./packages/subject-metadata-controller/tsconfig.build.json" + } ], "files": [], "include": [] diff --git a/tsconfig.json b/tsconfig.json index 6d5791f5b6..1fcd6fd18d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,22 +4,60 @@ "noEmit": true }, "references": [ - { "path": "./packages/announcement-controller" }, - { "path": "./packages/approval-controller" }, - { "path": "./packages/assets-controllers" }, - { "path": "./packages/base-controller" }, - { "path": "./packages/composable-controller" }, - { "path": "./packages/controller-utils" }, - { "path": "./packages/gas-fee-controller" }, - { "path": "./packages/keyring-controller" }, - { "path": "./packages/message-manager" }, - { "path": "./packages/network-controller" }, - { "path": "./packages/notification-controller" }, - { "path": "./packages/permission-controller" }, - { "path": "./packages/rate-limit-controller" }, - { "path": "./packages/subject-metadata-controller" }, - { "path": "./packages/third-party-controllers" }, - { "path": "./packages/user-controllers" } + { + "path": "./packages/address-book-controller" + }, + { + "path": "./packages/announcement-controller" + }, + { + "path": "./packages/approval-controller" + }, + { + "path": "./packages/assets-controllers" + }, + { + "path": "./packages/base-controller" + }, + { + "path": "./packages/composable-controller" + }, + { + "path": "./packages/controller-utils" + }, + { + "path": "./packages/ens-controller" + }, + { + "path": "./packages/gas-fee-controller" + }, + { + "path": "./packages/keyring-controller" + }, + { + "path": "./packages/message-manager" + }, + { + "path": "./packages/network-controller" + }, + { + "path": "./packages/notification-controller" + }, + { + "path": "./packages/permission-controller" + }, + { + "path": "./packages/phishing-controller" + }, + { + "path": "./packages/preferences-controller" + }, + { + "path": "./packages/rate-limit-controller" + }, + { + "path": "./packages/subject-metadata-controller" + } ], "files": [], "include": [] diff --git a/yarn.lock b/yarn.lock index 980070a2f2..5db650fe5f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1271,6 +1271,24 @@ __metadata: languageName: node linkType: hard +"@metamask/address-book-controller@workspace:packages/address-book-controller, @metamask/address-book-controller@workspace:~": + version: 0.0.0-use.local + resolution: "@metamask/address-book-controller@workspace:packages/address-book-controller" + dependencies: + "@metamask/auto-changelog": ^2.6.0 + "@metamask/base-controller": "workspace:~" + "@metamask/controller-utils": "workspace:~" + "@types/jest": ^26.0.22 + deepmerge: ^4.2.2 + jest: ^26.4.2 + jest-it-up: ^2.0.2 + ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 + typescript: ~4.6.3 + languageName: unknown + linkType: soft + "@metamask/announcement-controller@workspace:packages/announcement-controller": version: 0.0.0-use.local resolution: "@metamask/announcement-controller@workspace:packages/announcement-controller" @@ -1322,7 +1340,7 @@ __metadata: "@metamask/controller-utils": "workspace:~" "@metamask/metamask-eth-abis": 3.0.0 "@metamask/network-controller": "workspace:~" - "@metamask/user-controllers": "workspace:~" + "@metamask/preferences-controller": "workspace:~" "@types/jest": ^26.0.22 "@types/uuid": ^8.3.4 "@types/web3": ^1.0.6 @@ -1398,13 +1416,14 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/composable-controller@workspace:packages/composable-controller" dependencies: + "@metamask/address-book-controller": "workspace:~" "@metamask/assets-controllers": "workspace:~" "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" + "@metamask/ens-controller": "workspace:~" "@metamask/network-controller": "workspace:~" - "@metamask/third-party-controllers": "workspace:~" - "@metamask/user-controllers": "workspace:~" + "@metamask/preferences-controller": "workspace:~" "@types/jest": ^26.0.22 deepmerge: ^4.2.2 immer: ^9.0.6 @@ -1477,6 +1496,24 @@ __metadata: languageName: unknown linkType: soft +"@metamask/ens-controller@workspace:packages/ens-controller, @metamask/ens-controller@workspace:~": + version: 0.0.0-use.local + resolution: "@metamask/ens-controller@workspace:packages/ens-controller" + dependencies: + "@metamask/auto-changelog": ^2.6.0 + "@metamask/base-controller": "workspace:~" + "@metamask/controller-utils": "workspace:~" + "@types/jest": ^26.0.22 + deepmerge: ^4.2.2 + jest: ^26.4.2 + jest-it-up: ^2.0.2 + ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 + typescript: ~4.6.3 + languageName: unknown + linkType: soft + "@metamask/eslint-config-jest@npm:^9.0.0": version: 9.0.0 resolution: "@metamask/eslint-config-jest@npm:9.0.0" @@ -1593,7 +1630,7 @@ __metadata: "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@metamask/message-manager": "workspace:~" - "@metamask/user-controllers": "workspace:~" + "@metamask/preferences-controller": "workspace:~" "@types/jest": ^26.0.22 async-mutex: ^0.2.6 deepmerge: ^4.2.2 @@ -1721,18 +1758,23 @@ __metadata: languageName: unknown linkType: soft -"@metamask/rate-limit-controller@workspace:packages/rate-limit-controller": +"@metamask/phishing-controller@workspace:packages/phishing-controller": version: 0.0.0-use.local - resolution: "@metamask/rate-limit-controller@workspace:packages/rate-limit-controller" + resolution: "@metamask/phishing-controller@workspace:packages/phishing-controller" dependencies: "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" + "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 + "@types/punycode": ^2.1.0 + cross-fetch: ^3.1.5 deepmerge: ^4.2.2 - eth-rpc-errors: ^4.0.0 - immer: ^9.0.6 + eth-phishing-detect: ^1.2.0 jest: ^26.4.2 jest-it-up: ^2.0.2 + nock: ^13.0.7 + punycode: ^2.1.1 + sinon: ^9.2.4 ts-jest: ^26.5.2 typedoc: ^0.22.15 typedoc-plugin-missing-exports: ^0.22.6 @@ -1740,23 +1782,33 @@ __metadata: languageName: unknown linkType: soft -"@metamask/safe-event-emitter@npm:^2.0.0": - version: 2.0.0 - resolution: "@metamask/safe-event-emitter@npm:2.0.0" - checksum: 8b717ac5d53df0027c05509f03d0534700b5898dd1c3a53fb2dc4c0499ca5971b14aae67f522d09eb9f509e77f50afa95fdb3eda1afbff8b071c18a3d2905e93 - languageName: node - linkType: hard +"@metamask/preferences-controller@workspace:packages/preferences-controller, @metamask/preferences-controller@workspace:~": + version: 0.0.0-use.local + resolution: "@metamask/preferences-controller@workspace:packages/preferences-controller" + dependencies: + "@metamask/auto-changelog": ^2.6.0 + "@metamask/base-controller": "workspace:~" + "@metamask/controller-utils": "workspace:~" + "@types/jest": ^26.0.22 + deepmerge: ^4.2.2 + jest: ^26.4.2 + jest-it-up: ^2.0.2 + ts-jest: ^26.5.2 + typedoc: ^0.22.15 + typedoc-plugin-missing-exports: ^0.22.6 + typescript: ~4.6.3 + languageName: unknown + linkType: soft -"@metamask/subject-metadata-controller@workspace:packages/subject-metadata-controller": +"@metamask/rate-limit-controller@workspace:packages/rate-limit-controller": version: 0.0.0-use.local - resolution: "@metamask/subject-metadata-controller@workspace:packages/subject-metadata-controller" + resolution: "@metamask/rate-limit-controller@workspace:packages/rate-limit-controller" dependencies: "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" - "@metamask/permission-controller": "workspace:~" - "@metamask/types": ^1.1.0 "@types/jest": ^26.0.22 deepmerge: ^4.2.2 + eth-rpc-errors: ^4.0.0 immer: ^9.0.6 jest: ^26.4.2 jest-it-up: ^2.0.2 @@ -1767,24 +1819,26 @@ __metadata: languageName: unknown linkType: soft -"@metamask/third-party-controllers@workspace:packages/third-party-controllers, @metamask/third-party-controllers@workspace:~": +"@metamask/safe-event-emitter@npm:^2.0.0": + version: 2.0.0 + resolution: "@metamask/safe-event-emitter@npm:2.0.0" + checksum: 8b717ac5d53df0027c05509f03d0534700b5898dd1c3a53fb2dc4c0499ca5971b14aae67f522d09eb9f509e77f50afa95fdb3eda1afbff8b071c18a3d2905e93 + languageName: node + linkType: hard + +"@metamask/subject-metadata-controller@workspace:packages/subject-metadata-controller": version: 0.0.0-use.local - resolution: "@metamask/third-party-controllers@workspace:packages/third-party-controllers" + resolution: "@metamask/subject-metadata-controller@workspace:packages/subject-metadata-controller" dependencies: "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" - "@metamask/controller-utils": "workspace:~" + "@metamask/permission-controller": "workspace:~" + "@metamask/types": ^1.1.0 "@types/jest": ^26.0.22 - "@types/punycode": ^2.1.0 - cross-fetch: ^3.1.5 deepmerge: ^4.2.2 - eth-phishing-detect: ^1.2.0 - ethereumjs-util: ^7.1.4 + immer: ^9.0.6 jest: ^26.4.2 jest-it-up: ^2.0.2 - nock: ^13.0.7 - punycode: ^2.1.1 - sinon: ^9.2.4 ts-jest: ^26.5.2 typedoc: ^0.22.15 typedoc-plugin-missing-exports: ^0.22.6 @@ -1830,24 +1884,6 @@ __metadata: languageName: node linkType: hard -"@metamask/user-controllers@workspace:packages/user-controllers, @metamask/user-controllers@workspace:~": - version: 0.0.0-use.local - resolution: "@metamask/user-controllers@workspace:packages/user-controllers" - dependencies: - "@metamask/auto-changelog": ^2.6.0 - "@metamask/base-controller": "workspace:~" - "@metamask/controller-utils": "workspace:~" - "@types/jest": ^26.0.22 - deepmerge: ^4.2.2 - jest: ^26.4.2 - jest-it-up: ^2.0.2 - ts-jest: ^26.5.2 - typedoc: ^0.22.15 - typedoc-plugin-missing-exports: ^0.22.6 - typescript: ~4.6.3 - languageName: unknown - linkType: soft - "@ngraveio/bc-ur@npm:^1.1.5": version: 1.1.6 resolution: "@ngraveio/bc-ur@npm:1.1.6" From e0dfdf136d4af760db5aa4d37763b3b44810a4a9 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 7 Oct 2022 12:50:24 -0600 Subject: [PATCH 038/115] Add --forceExit again to Jest command on CI --- .github/workflows/lint-build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index c8b5bed02b..15585c0597 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -33,7 +33,7 @@ jobs: - run: yarn lint - run: yarn changelog:validate - run: yarn build - - run: yarn test --maxWorkers=1 + - run: yarn test --maxWorkers=1 --forceExit all-jobs-pass: name: All jobs pass runs-on: ubuntu-20.04 From 7a568e864090b0bc77e07a93d13dd90cf35a3b84 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 7 Oct 2022 18:31:33 -0600 Subject: [PATCH 039/115] Fix Yarn constraints to correct compare version strings --- constraints.pro | 92 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 86 insertions(+), 6 deletions(-) diff --git a/constraints.pro b/constraints.pro index df0b5938e3..aa58bdeb13 100644 --- a/constraints.pro +++ b/constraints.pro @@ -1,3 +1,75 @@ +%%% Utility predicates + +is_valid_version_range(VersionRange) :- + VersionRange = 'workspace:^'; + VersionRange = 'workspace:~'; + parse_version_range(VersionRange, _, _, _, _). + +atom_to_number(Atom, Number) :- + atom_chars(Atom, Chars), + number_chars(Number, Chars). + +is_atom_number(Atom) :- + catch(atom_to_number(Atom, _), _, false). + +parse_version_range(VersionRange, Modifier, Major, Minor, Patch) :- + % Identify and extract the modifier (^ or ~) from the version string + atom_chars(VersionRange, Chars), + Chars = [PossibleModifier | CharsWithoutPossibleModifier], + ( + ( + PossibleModifier = '^'; + PossibleModifier = '~' + ) -> + ( + Modifier = PossibleModifier, + CharsWithoutModifier = CharsWithoutPossibleModifier + ) ; + ( + is_atom_number(PossibleModifier) -> + ( + Modifier = '', + CharsWithoutModifier = Chars + ) ; + false + ) + ), + atomic_list_concat(CharsWithoutModifier, '', VersionRangeWithoutModifier), + atomic_list_concat(VersionParts, '.', VersionRangeWithoutModifier), + % Validate version string while extracting each part + length(VersionParts, 3), + nth0(0, VersionParts, MajorAtom), + nth0(1, VersionParts, MinorAtom), + nth0(2, VersionParts, PatchAtom), + atom_to_number(MajorAtom, Major), + atom_to_number(MinorAtom, Minor), + atom_to_number(PatchAtom, Patch). + +%npm_version_range_out_of_sync(VersionRange1, VersionRange2, VersionRange1Modifier, VersionRange2Modifier, VersionRange1Major, VersionRange1Minor, VersionRange1Patch, VersionRange2Major, VersionRange2Minor, VersionRange2Patch) :- +npm_version_range_out_of_sync(VersionRange1, VersionRange2) :- + parse_version_range(VersionRange1, VersionRange1Modifier, VersionRange1Major, VersionRange1Minor, VersionRange1Patch), + parse_version_range(VersionRange2, VersionRange2Modifier, VersionRange2Major, VersionRange2Minor, VersionRange2Patch), + VersionRange1Modifier == VersionRange2Modifier, + ( + % 1.0.0 <= 2.0.0 + % 1.1.0 <= 2.0.0 + % 1.0.1 <= 2.0.0 + VersionRange1Major @< VersionRange2Major ; + ( + VersionRange1Major == VersionRange2Major , + ( + % 1.0.0 <= 1.1.0 + % 1.0.1 <= 1.1.0 + VersionRange1Minor @< VersionRange2Minor ; + ( + % 1.0.0 <= 1.0.1 + VersionRange1Minor == VersionRange2Minor , + VersionRange1Patch @< VersionRange2Patch + ) + ) + ) + ). + % "name" is required for all workspaces (including the root). \+ gen_enforced_field(WorkspaceCwd, 'name', null). @@ -55,12 +127,20 @@ gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', 'https://registry.npm gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', null) :- workspace_field(WorkspaceCwd, 'private', true). -% All dependency ranges must be synchronized across the monorepo (the highest -% one wins). -gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange2, DependencyType1) :- - workspace_has_dependency(WorkspaceCwd, DependencyIdent, DependencyRange1, DependencyType1), - workspace_has_dependency(OtherWorkspaceCwd, DependencyIdent, DependencyRange2, DependencyType2), - DependencyRange1 @< DependencyRange2. +% All dependency ranges must be recognizable. +gen_enforced_dependency(WorkspaceCwd, DependencyIdent, 'a range optionally starting with ^ or ~', DependencyType) :- + workspace_has_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType), + \+ is_valid_version_range(DependencyRange). + +% All dependency ranges for a package must be synchronized across the monorepo +% (the highest one wins), regardless of which "*dependencies" the package +% appears. +gen_enforced_dependency(WorkspaceCwd, DependencyIdent, OtherDependencyRange, DependencyType) :- + workspace_has_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType), + workspace_has_dependency(OtherWorkspaceCwd, DependencyIdent, OtherDependencyRange, OtherDependencyType), + WorkspaceCwd \= OtherWorkspaceCwd, + DependencyRange \= OtherDependencyRange, + npm_version_range_out_of_sync(DependencyRange, OtherDependencyRange). % If a dependency is listed under "dependencies", it should not be listed under % any other "*dependencies" lists. We match on the same dependency range so that From 4f980750ef9870435202455e42c48a9af769c14e Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 7 Oct 2022 18:56:08 -0600 Subject: [PATCH 040/115] Extract more things from controller-utils that should be in other packages --- packages/assets-controllers/jest.config.js | 8 +- packages/assets-controllers/package.json | 1 - .../src/CurrencyRateController.ts | 2 +- .../src/TokenRatesController.ts | 2 +- .../assets-controllers/src/assetsUtil.test.ts | 12 ++ packages/assets-controllers/src/assetsUtil.ts | 14 ++- .../src/crypto-compare.test.ts | 0 .../src/crypto-compare.ts | 2 +- packages/controller-utils/jest.config.js | 8 +- packages/controller-utils/src/index.ts | 1 - packages/controller-utils/src/util.test.ts | 105 ------------------ packages/controller-utils/src/util.ts | 91 --------------- packages/gas-fee-controller/package.json | 2 +- packages/keyring-controller/package.json | 2 +- packages/message-manager/package.json | 1 + .../message-manager/src/MessageManager.ts | 3 +- .../src/PersonalMessageManager.ts | 3 +- packages/message-manager/src/utils.test.ts | 11 ++ packages/message-manager/src/utils.ts | 22 ++++ packages/network-controller/jest.config.js | 8 +- .../transaction-controller/jest.config.js | 8 +- packages/transaction-controller/package.json | 2 +- .../src/TransactionController.ts | 4 +- .../transaction-controller/src/utils.test.ts | 80 +++++++++++++ packages/transaction-controller/src/utils.ts | 58 +++++++++- yarn.lock | 3 +- 26 files changed, 224 insertions(+), 229 deletions(-) rename packages/{controller-utils => assets-controllers}/src/crypto-compare.test.ts (100%) rename packages/{controller-utils => assets-controllers}/src/crypto-compare.ts (97%) diff --git a/packages/assets-controllers/jest.config.js b/packages/assets-controllers/jest.config.js index 9c0e9da49e..b731485ecb 100644 --- a/packages/assets-controllers/jest.config.js +++ b/packages/assets-controllers/jest.config.js @@ -16,10 +16,10 @@ module.exports = merge(baseConfig, { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 88.77, - functions: 96.66, - lines: 96.63, - statements: 96.71, + branches: 88.96, + functions: 96.69, + lines: 96.68, + statements: 96.75, }, }, diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index f034c5e727..603a1de2f2 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -53,7 +53,6 @@ "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", - "ethereumjs-util": "^7.1.4", "ethjs-provider-http": "^0.1.6", "jest": "^26.4.2", "jest-it-up": "^2.0.2", diff --git a/packages/assets-controllers/src/CurrencyRateController.ts b/packages/assets-controllers/src/CurrencyRateController.ts index a63709609a..82b1c5e9ba 100644 --- a/packages/assets-controllers/src/CurrencyRateController.ts +++ b/packages/assets-controllers/src/CurrencyRateController.ts @@ -4,12 +4,12 @@ import { safelyExecute, TESTNET_TICKER_SYMBOLS, FALL_BACK_VS_CURRENCY, - fetchExchangeRate as defaultFetchExchangeRate, } from '@metamask/controller-utils'; import { BaseControllerV2 as BaseController, RestrictedControllerMessenger, } from '@metamask/base-controller'; +import { fetchExchangeRate as defaultFetchExchangeRate } from './crypto-compare'; /** * @type CurrencyRateState diff --git a/packages/assets-controllers/src/TokenRatesController.ts b/packages/assets-controllers/src/TokenRatesController.ts index 59d5b7c648..30fee8be36 100644 --- a/packages/assets-controllers/src/TokenRatesController.ts +++ b/packages/assets-controllers/src/TokenRatesController.ts @@ -3,7 +3,6 @@ import { handleFetch, toChecksumHexAddress, FALL_BACK_VS_CURRENCY, - fetchExchangeRate as fetchNativeExchangeRate, } from '@metamask/controller-utils'; import { BaseController, @@ -11,6 +10,7 @@ import { BaseState, } from '@metamask/base-controller'; import type { NetworkState } from '@metamask/network-controller'; +import { fetchExchangeRate as fetchNativeExchangeRate } from './crypto-compare'; import type { TokensState } from './TokensController'; import type { CurrencyRateState } from './CurrencyRateController'; diff --git a/packages/assets-controllers/src/assetsUtil.test.ts b/packages/assets-controllers/src/assetsUtil.test.ts index 822a84d9ff..7c8b15541a 100644 --- a/packages/assets-controllers/src/assetsUtil.test.ts +++ b/packages/assets-controllers/src/assetsUtil.test.ts @@ -429,4 +429,16 @@ describe('assetsUtil', () => { ).toStrictEqual(`https://${IFPS_GATEWAY}/ipfs/${IPFS_CID_V1}/test`); }); }); + + describe('addUrlProtocolPrefix', () => { + it('should return a URL with https:// prepended if input URL does not already have it', () => { + expect(assetsUtil.addUrlProtocolPrefix(IFPS_GATEWAY)).toStrictEqual( + `https://${IFPS_GATEWAY}`, + ); + }); + + it('should return a URL as is if https:// is already prepended', () => { + expect(assetsUtil.addUrlProtocolPrefix(SOME_API)).toStrictEqual(SOME_API); + }); + }); }); diff --git a/packages/assets-controllers/src/assetsUtil.ts b/packages/assets-controllers/src/assetsUtil.ts index ffd9dfcda5..abbe282d27 100644 --- a/packages/assets-controllers/src/assetsUtil.ts +++ b/packages/assets-controllers/src/assetsUtil.ts @@ -4,7 +4,6 @@ import { convertHexToDecimal, isValidHexAddress, GANACHE_CHAIN_ID, - addUrlProtocolPrefix, } from '@metamask/controller-utils'; import { Collectible, CollectibleMetadata } from './CollectiblesController'; import { Token } from './TokenRatesController'; @@ -242,3 +241,16 @@ export function getFormattedIpfsUrl( const cidAndPath = removeIpfsProtocolPrefix(ipfsUrl); return `${origin}/ipfs/${cidAndPath}`; } + +/** + * Adds URL protocol prefix to input URL string if missing. + * + * @param urlString - An IPFS URL. + * @returns A URL with a https:// prepended. + */ +export function addUrlProtocolPrefix(urlString: string): string { + if (!urlString.match(/(^http:\/\/)|(^https:\/\/)/u)) { + return `https://${urlString}`; + } + return urlString; +} diff --git a/packages/controller-utils/src/crypto-compare.test.ts b/packages/assets-controllers/src/crypto-compare.test.ts similarity index 100% rename from packages/controller-utils/src/crypto-compare.test.ts rename to packages/assets-controllers/src/crypto-compare.test.ts diff --git a/packages/controller-utils/src/crypto-compare.ts b/packages/assets-controllers/src/crypto-compare.ts similarity index 97% rename from packages/controller-utils/src/crypto-compare.ts rename to packages/assets-controllers/src/crypto-compare.ts index bbe1c9007d..619484131e 100644 --- a/packages/controller-utils/src/crypto-compare.ts +++ b/packages/assets-controllers/src/crypto-compare.ts @@ -1,4 +1,4 @@ -import { handleFetch } from './util'; +import { handleFetch } from '@metamask/controller-utils'; /** * Get the CryptoCompare API URL for getting the conversion rate from the given native currency to diff --git a/packages/controller-utils/jest.config.js b/packages/controller-utils/jest.config.js index 1ee3c7f2b0..f6c7cf67d9 100644 --- a/packages/controller-utils/jest.config.js +++ b/packages/controller-utils/jest.config.js @@ -16,10 +16,10 @@ module.exports = merge(baseConfig, { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 73.25, - functions: 86.36, - lines: 88.01, - statements: 88.23, + branches: 68.05, + functions: 80.55, + lines: 70, + statements: 70.34, }, }, diff --git a/packages/controller-utils/src/index.ts b/packages/controller-utils/src/index.ts index f23918f811..5c9f2dbfc6 100644 --- a/packages/controller-utils/src/index.ts +++ b/packages/controller-utils/src/index.ts @@ -1,4 +1,3 @@ export * from './constants'; -export * from './crypto-compare'; export * from './util'; export * from './types'; diff --git a/packages/controller-utils/src/util.test.ts b/packages/controller-utils/src/util.test.ts index ceabd7ee0a..eb2b27e057 100644 --- a/packages/controller-utils/src/util.test.ts +++ b/packages/controller-utils/src/util.test.ts @@ -2,8 +2,6 @@ import { BN } from 'ethereumjs-util'; import nock from 'nock'; import * as util from './util'; -const IFPS_GATEWAY = 'dweb.link'; - const VALID = '4e1fF7229BDdAf0A73DF183a88d9c3a04cc975e0'; const SOME_API = 'https://someapi.com'; const SOME_FAILING_API = 'https://somefailingapi.com'; @@ -273,44 +271,6 @@ describe('util', () => { }); }); - describe('getEtherscanApiUrl', () => { - const networkType = 'mainnet'; - const address = '0xC7D3BFDeA106B446Cf9f2Db354D496e6Dd8b2525'; - const action = 'txlist'; - - it('should return a correctly structured url', () => { - const url = util.getEtherscanApiUrl(networkType, { address, action }); - expect(url.indexOf(`&action=${action}`)).toBeGreaterThan(0); - }); - - it('should return a correctly structured url with from block', () => { - const fromBlock = 'xxxxxx'; - const url = util.getEtherscanApiUrl(networkType, { - address, - action, - startBlock: fromBlock, - }); - expect(url.indexOf(`&startBlock=${fromBlock}`)).toBeGreaterThan(0); - }); - - it('should return a correctly structured url with testnet subdomain', () => { - const ropsten = 'ropsten'; - const url = util.getEtherscanApiUrl(ropsten, { address, action }); - expect(url.indexOf(`https://api-${ropsten}`)).toBe(0); - }); - - it('should return a correctly structured url with apiKey', () => { - const apiKey = 'xxxxxx'; - const url = util.getEtherscanApiUrl(networkType, { - address, - action, - startBlock: 'xxxxxx', - apikey: apiKey, - }); - expect(url.indexOf(`&apikey=${apiKey}`)).toBeGreaterThan(0); - }); - }); - describe('toChecksumHexAddress', () => { const fullAddress = `0x${VALID}`; it('should return address for valid address', () => { @@ -338,17 +298,6 @@ describe('util', () => { }); }); - it('normalizeMessageData', () => { - const firstNormalized = util.normalizeMessageData( - '879a053d4800c6354e76c7985a865d2922c82fb5b3f4577b2fe08b998954f2e0', - ); - const secondNormalized = util.normalizeMessageData('somedata'); - expect(firstNormalized).toStrictEqual( - '0x879a053d4800c6354e76c7985a865d2922c82fb5b3f4577b2fe08b998954f2e0', - ); - expect(secondNormalized).toStrictEqual('0x736f6d6564617461'); - }); - it('messageHexToString', () => { const str = util.hexToText('68656c6c6f207468657265'); expect(str).toStrictEqual('hello there'); @@ -549,60 +498,6 @@ describe('util', () => { }); }); - describe('getIncreasedPriceHex', () => { - it('should get increased price from number as hex', () => { - expect(util.getIncreasedPriceHex(1358778842, 1.1)).toStrictEqual( - '0x5916a6d6', - ); - }); - }); - - describe('getIncreasedPriceFromExisting', () => { - it('should get increased price from hex as hex', () => { - expect( - util.getIncreasedPriceFromExisting('0x50fd51da', 1.1), - ).toStrictEqual('0x5916a6d6'); - }); - }); - - describe('validateMinimumIncrease', () => { - it('should throw if increase does not meet minimum requirement', () => { - expect(() => - util.validateMinimumIncrease('0x50fd51da', '0x5916a6d6'), - ).toThrow(Error); - - expect(() => - util.validateMinimumIncrease('0x50fd51da', '0x5916a6d6'), - ).toThrow( - 'The proposed value: 1358778842 should meet or exceed the minimum value: 1494656726', - ); - }); - - it('should not throw if increase meets minimum requirement', () => { - expect(() => - util.validateMinimumIncrease('0x5916a6d6', '0x5916a6d6'), - ).not.toThrow(Error); - }); - - it('should not throw if increase exceeds minimum requirement', () => { - expect(() => - util.validateMinimumIncrease('0x7162a5ca', '0x5916a6d6'), - ).not.toThrow(Error); - }); - }); - - describe('addUrlProtocolPrefix', () => { - it('should return a URL with https:// prepended if input URL does not already have it', () => { - expect(util.addUrlProtocolPrefix(IFPS_GATEWAY)).toStrictEqual( - `https://${IFPS_GATEWAY}`, - ); - }); - - it('should return a URL as is if https:// is already prepended', () => { - expect(util.addUrlProtocolPrefix(SOME_API)).toStrictEqual(SOME_API); - }); - }); - describe('isPlainObject', () => { it('returns false for null values', () => { expect(util.isPlainObject(null)).toBe(false); diff --git a/packages/controller-utils/src/util.ts b/packages/controller-utils/src/util.ts index e796ee62a4..f015d1a5d1 100644 --- a/packages/controller-utils/src/util.ts +++ b/packages/controller-utils/src/util.ts @@ -3,7 +3,6 @@ import { addHexPrefix, isValidAddress, isHexString, - bufferToHex, BN, toChecksumAddress, stripHexPrefix, @@ -12,12 +11,9 @@ import { fromWei, toWei } from 'ethjs-unit'; import ensNamehash from 'eth-ens-namehash'; import deepEqual from 'fast-deep-equal'; import { Json } from '@metamask/base-controller'; -import { MAINNET } from './constants'; const TIMEOUT_ERROR = new Error('timeout'); -const hexRe = /^[0-9A-Fa-f]+$/gu; - /** * Converts a BN object to a hex string with a '0x' prefix. * @@ -122,33 +118,6 @@ export function getBuyURL( } } -/** - * Return a URL that can be used to fetch ETH transactions. - * - * @param networkType - Network type of desired network. - * @param urlParams - The parameters used to construct the URL. - * @returns URL to fetch the access the endpoint. - */ -export function getEtherscanApiUrl( - networkType: string, - urlParams: any, -): string { - let etherscanSubdomain = 'api'; - if (networkType !== MAINNET) { - etherscanSubdomain = `api-${networkType}`; - } - const apiUrl = `https://${etherscanSubdomain}.etherscan.io`; - let url = `${apiUrl}/api?`; - - for (const paramKey in urlParams) { - if (urlParams[paramKey]) { - url += `${paramKey}=${urlParams[paramKey]}&`; - } - } - url += 'tag=latest&page=1'; - return url; -} - /** * Converts a hex string to a BN object. * @@ -305,25 +274,6 @@ export function isValidHexAddress( return isValidAddress(addressToCheck); } -/** - * A helper function that converts rawmessageData buffer data to a hex, or just returns the data if - * it is already formatted as a hex. - * - * @param data - The buffer data to convert to a hex. - * @returns A hex string conversion of the buffer data. - */ -export function normalizeMessageData(data: string) { - try { - const stripped = stripHexPrefix(data); - if (stripped.match(hexRe)) { - return addHexPrefix(stripped); - } - } catch (e) { - /* istanbul ignore next */ - } - return bufferToHex(Buffer.from(data, 'utf8')); -} - /** * Returns whether the given code corresponds to a smart contract. * @@ -502,47 +452,6 @@ export const convertHexToDecimal = ( return Number(value) ? Number(value) : 0; }; -export const getIncreasedPriceHex = (value: number, rate: number): string => - addHexPrefix(`${parseInt(`${value * rate}`, 10).toString(16)}`); - -export const getIncreasedPriceFromExisting = ( - value: string | undefined, - rate: number, -): string => { - return getIncreasedPriceHex(convertHexToDecimal(value), rate); -}; - -/** - * Validates that the proposed value is greater than or equal to the minimum value. - * - * @param proposed - The proposed value. - * @param min - The minimum value. - * @returns The proposed value. - * @throws Will throw if the proposed value is too low. - */ -export function validateMinimumIncrease(proposed: string, min: string) { - const proposedDecimal = convertHexToDecimal(proposed); - const minDecimal = convertHexToDecimal(min); - if (proposedDecimal >= minDecimal) { - return proposed; - } - const errorMsg = `The proposed value: ${proposedDecimal} should meet or exceed the minimum value: ${minDecimal}`; - throw new Error(errorMsg); -} - -/** - * Adds URL protocol prefix to input URL string if missing. - * - * @param urlString - An IPFS URL. - * @returns A URL with a https:// prepended. - */ -export function addUrlProtocolPrefix(urlString: string): string { - if (!urlString.match(/(^http:\/\/)|(^https:\/\/)/u)) { - return `https://${urlString}`; - } - return urlString; -} - type PlainObject = Record; /** diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 8714786296..a922b4f900 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -32,7 +32,7 @@ "@metamask/network-controller": "workspace:~", "@types/uuid": "^8.3.4", "eth-query": "^2.1.2", - "ethereumjs-util": "^7.0.10", + "ethereumjs-util": "^7.1.4", "ethjs-unit": "^0.1.6", "immer": "^9.0.6", "uuid": "^8.3.2" diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 1e5eb4b15a..ae746f9f65 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -35,7 +35,7 @@ "async-mutex": "^0.2.6", "eth-keyring-controller": "^7.0.2", "eth-sig-util": "^3.0.0", - "ethereumjs-util": "^7.0.10", + "ethereumjs-util": "^7.1.4", "ethereumjs-wallet": "^1.0.1" }, "devDependencies": { diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 1b0c368007..b422f678c8 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -31,6 +31,7 @@ "@metamask/controller-utils": "workspace:~", "@types/uuid": "^8.3.4", "eth-sig-util": "^3.0.0", + "ethereumjs-util": "^7.1.4", "jsonschema": "^1.2.4", "uuid": "^8.3.2" }, diff --git a/packages/message-manager/src/MessageManager.ts b/packages/message-manager/src/MessageManager.ts index 432650fce1..ab83931a7f 100644 --- a/packages/message-manager/src/MessageManager.ts +++ b/packages/message-manager/src/MessageManager.ts @@ -1,5 +1,4 @@ import { v1 as random } from 'uuid'; -import { normalizeMessageData } from '@metamask/controller-utils'; import { AbstractMessageManager, AbstractMessage, @@ -7,7 +6,7 @@ import { AbstractMessageParamsMetamask, OriginalRequest, } from './AbstractMessageManager'; -import { validateSignMessageData } from './utils'; +import { normalizeMessageData, validateSignMessageData } from './utils'; /** * @type Message diff --git a/packages/message-manager/src/PersonalMessageManager.ts b/packages/message-manager/src/PersonalMessageManager.ts index fea7ab4575..e3c225cc6f 100644 --- a/packages/message-manager/src/PersonalMessageManager.ts +++ b/packages/message-manager/src/PersonalMessageManager.ts @@ -1,5 +1,4 @@ import { v1 as random } from 'uuid'; -import { normalizeMessageData } from '@metamask/controller-utils'; import { AbstractMessageManager, AbstractMessage, @@ -7,7 +6,7 @@ import { AbstractMessageParamsMetamask, OriginalRequest, } from './AbstractMessageManager'; -import { validateSignMessageData } from './utils'; +import { normalizeMessageData, validateSignMessageData } from './utils'; /** * @type Message diff --git a/packages/message-manager/src/utils.test.ts b/packages/message-manager/src/utils.test.ts index 53e5403d2a..f07ff97ff9 100644 --- a/packages/message-manager/src/utils.test.ts +++ b/packages/message-manager/src/utils.test.ts @@ -1,6 +1,17 @@ import * as util from './utils'; describe('utils', () => { + it('normalizeMessageData', () => { + const firstNormalized = util.normalizeMessageData( + '879a053d4800c6354e76c7985a865d2922c82fb5b3f4577b2fe08b998954f2e0', + ); + const secondNormalized = util.normalizeMessageData('somedata'); + expect(firstNormalized).toStrictEqual( + '0x879a053d4800c6354e76c7985a865d2922c82fb5b3f4577b2fe08b998954f2e0', + ); + expect(secondNormalized).toStrictEqual('0x736f6d6564617461'); + }); + describe('validateSignMessageData', () => { it('should throw if no from address', () => { expect(() => diff --git a/packages/message-manager/src/utils.ts b/packages/message-manager/src/utils.ts index f6a56a4d03..454f2f8c10 100644 --- a/packages/message-manager/src/utils.ts +++ b/packages/message-manager/src/utils.ts @@ -1,3 +1,4 @@ +import { addHexPrefix, bufferToHex, stripHexPrefix } from 'ethereumjs-util'; import { TYPED_MESSAGE_SCHEMA, typedSignatureHash } from 'eth-sig-util'; import { validate } from 'jsonschema'; import { isValidHexAddress } from '@metamask/controller-utils'; @@ -5,6 +6,27 @@ import { MessageParams } from './MessageManager'; import { PersonalMessageParams } from './PersonalMessageManager'; import { TypedMessageParams } from './TypedMessageManager'; +const hexRe = /^[0-9A-Fa-f]+$/gu; + +/** + * A helper function that converts rawmessageData buffer data to a hex, or just returns the data if + * it is already formatted as a hex. + * + * @param data - The buffer data to convert to a hex. + * @returns A hex string conversion of the buffer data. + */ +export function normalizeMessageData(data: string) { + try { + const stripped = stripHexPrefix(data); + if (stripped.match(hexRe)) { + return addHexPrefix(stripped); + } + } catch (e) { + /* istanbul ignore next */ + } + return bufferToHex(Buffer.from(data, 'utf8')); +} + /** * Validates a PersonalMessageParams and MessageParams objects for required properties and throws in * the event of any validation error. diff --git a/packages/network-controller/jest.config.js b/packages/network-controller/jest.config.js index 512fdfa7a6..4459c6d61a 100644 --- a/packages/network-controller/jest.config.js +++ b/packages/network-controller/jest.config.js @@ -16,10 +16,10 @@ module.exports = merge(baseConfig, { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 80, - functions: 82.14, - lines: 86.17, - statements: 86.17, + branches: 72.5, + functions: 78.57, + lines: 85.1, + statements: 85.1, }, }, }); diff --git a/packages/transaction-controller/jest.config.js b/packages/transaction-controller/jest.config.js index b347a62ef9..d03e5dd025 100644 --- a/packages/transaction-controller/jest.config.js +++ b/packages/transaction-controller/jest.config.js @@ -16,10 +16,10 @@ module.exports = merge(baseConfig, { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 81.18, - functions: 98.8, - lines: 96.01, - statements: 96.18, + branches: 81.46, + functions: 98.86, + lines: 96.22, + statements: 96.38, }, }, diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index ec6b926a1d..7f2d8c0ff0 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -37,7 +37,7 @@ "eth-method-registry": "1.1.0", "eth-query": "^2.1.2", "eth-rpc-errors": "^4.0.0", - "ethereumjs-util": "^7.0.10", + "ethereumjs-util": "^7.1.4", "uuid": "^8.3.2" }, "devDependencies": { diff --git a/packages/transaction-controller/src/TransactionController.ts b/packages/transaction-controller/src/TransactionController.ts index 0789dafd77..0303afdaa5 100644 --- a/packages/transaction-controller/src/TransactionController.ts +++ b/packages/transaction-controller/src/TransactionController.ts @@ -23,8 +23,6 @@ import { safelyExecute, isSmartContractCode, query, - getIncreasedPriceFromExisting, - validateMinimumIncrease, MAINNET, RPC, } from '@metamask/controller-utils'; @@ -36,6 +34,8 @@ import { isGasPriceValue, isFeeMarketEIP1559Values, validateGasValues, + getIncreasedPriceFromExisting, + validateMinimumIncrease, } from './utils'; const HARDFORK = 'london'; diff --git a/packages/transaction-controller/src/utils.test.ts b/packages/transaction-controller/src/utils.test.ts index c7274104d2..f1404784c5 100644 --- a/packages/transaction-controller/src/utils.test.ts +++ b/packages/transaction-controller/src/utils.test.ts @@ -12,6 +12,44 @@ const FAIL = 'lol'; const PASS = '0x1'; describe('utils', () => { + describe('getEtherscanApiUrl', () => { + const networkType = 'mainnet'; + const address = '0xC7D3BFDeA106B446Cf9f2Db354D496e6Dd8b2525'; + const action = 'txlist'; + + it('should return a correctly structured url', () => { + const url = util.getEtherscanApiUrl(networkType, { address, action }); + expect(url.indexOf(`&action=${action}`)).toBeGreaterThan(0); + }); + + it('should return a correctly structured url with from block', () => { + const fromBlock = 'xxxxxx'; + const url = util.getEtherscanApiUrl(networkType, { + address, + action, + startBlock: fromBlock, + }); + expect(url.indexOf(`&startBlock=${fromBlock}`)).toBeGreaterThan(0); + }); + + it('should return a correctly structured url with testnet subdomain', () => { + const ropsten = 'ropsten'; + const url = util.getEtherscanApiUrl(ropsten, { address, action }); + expect(url.indexOf(`https://api-${ropsten}`)).toBe(0); + }); + + it('should return a correctly structured url with apiKey', () => { + const apiKey = 'xxxxxx'; + const url = util.getEtherscanApiUrl(networkType, { + address, + action, + startBlock: 'xxxxxx', + apikey: apiKey, + }); + expect(url.indexOf(`&apikey=${apiKey}`)).toBeGreaterThan(0); + }); + }); + it('normalizeTransaction', () => { const normalized = util.normalizeTransaction({ data: 'data', @@ -201,4 +239,46 @@ describe('utils', () => { expect(util.isFeeMarketEIP1559Values(gasValues)).toBe(false); }); }); + + describe('getIncreasedPriceHex', () => { + it('should get increased price from number as hex', () => { + expect(util.getIncreasedPriceHex(1358778842, 1.1)).toStrictEqual( + '0x5916a6d6', + ); + }); + }); + + describe('getIncreasedPriceFromExisting', () => { + it('should get increased price from hex as hex', () => { + expect( + util.getIncreasedPriceFromExisting('0x50fd51da', 1.1), + ).toStrictEqual('0x5916a6d6'); + }); + }); + + describe('validateMinimumIncrease', () => { + it('should throw if increase does not meet minimum requirement', () => { + expect(() => + util.validateMinimumIncrease('0x50fd51da', '0x5916a6d6'), + ).toThrow(Error); + + expect(() => + util.validateMinimumIncrease('0x50fd51da', '0x5916a6d6'), + ).toThrow( + 'The proposed value: 1358778842 should meet or exceed the minimum value: 1494656726', + ); + }); + + it('should not throw if increase meets minimum requirement', () => { + expect(() => + util.validateMinimumIncrease('0x5916a6d6', '0x5916a6d6'), + ).not.toThrow(Error); + }); + + it('should not throw if increase exceeds minimum requirement', () => { + expect(() => + util.validateMinimumIncrease('0x7162a5ca', '0x5916a6d6'), + ).not.toThrow(Error); + }); + }); }); diff --git a/packages/transaction-controller/src/utils.ts b/packages/transaction-controller/src/utils.ts index 92349dca59..fa56f4a434 100644 --- a/packages/transaction-controller/src/utils.ts +++ b/packages/transaction-controller/src/utils.ts @@ -1,8 +1,9 @@ import { addHexPrefix, isHexString } from 'ethereumjs-util'; import { + MAINNET, + convertHexToDecimal, handleFetch, isValidHexAddress, - getEtherscanApiUrl, } from '@metamask/controller-utils'; import { Transaction, @@ -26,6 +27,33 @@ const NORMALIZERS: { [param in keyof Transaction]: any } = { addHexPrefix(maxPriorityFeePerGas), }; +/** + * Return a URL that can be used to fetch ETH transactions. + * + * @param networkType - Network type of desired network. + * @param urlParams - The parameters used to construct the URL. + * @returns URL to fetch the access the endpoint. + */ +export function getEtherscanApiUrl( + networkType: string, + urlParams: any, +): string { + let etherscanSubdomain = 'api'; + if (networkType !== MAINNET) { + etherscanSubdomain = `api-${networkType}`; + } + const apiUrl = `https://${etherscanSubdomain}.etherscan.io`; + let url = `${apiUrl}/api?`; + + for (const paramKey in urlParams) { + if (urlParams[paramKey]) { + url += `${paramKey}=${urlParams[paramKey]}&`; + } + } + url += 'tag=latest&page=1'; + return url; +} + /** * Normalizes properties on a Transaction object. * @@ -203,3 +231,31 @@ export const isGasPriceValue = ( gasValues?: GasPriceValue | FeeMarketEIP1559Values, ): gasValues is GasPriceValue => (gasValues as GasPriceValue)?.gasPrice !== undefined; + +export const getIncreasedPriceHex = (value: number, rate: number): string => + addHexPrefix(`${parseInt(`${value * rate}`, 10).toString(16)}`); + +export const getIncreasedPriceFromExisting = ( + value: string | undefined, + rate: number, +): string => { + return getIncreasedPriceHex(convertHexToDecimal(value), rate); +}; + +/** + * Validates that the proposed value is greater than or equal to the minimum value. + * + * @param proposed - The proposed value. + * @param min - The minimum value. + * @returns The proposed value. + * @throws Will throw if the proposed value is too low. + */ +export function validateMinimumIncrease(proposed: string, min: string) { + const proposedDecimal = convertHexToDecimal(proposed); + const minDecimal = convertHexToDecimal(min); + if (proposedDecimal >= minDecimal) { + return proposed; + } + const errorMsg = `The proposed value: ${proposedDecimal} should meet or exceed the minimum value: ${minDecimal}`; + throw new Error(errorMsg); +} diff --git a/yarn.lock b/yarn.lock index 5db650fe5f..54d796110a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1660,6 +1660,7 @@ __metadata: "@types/uuid": ^8.3.4 deepmerge: ^4.2.2 eth-sig-util: ^3.0.0 + ethereumjs-util: ^7.0.0 jest: ^26.4.2 jest-it-up: ^2.0.2 jsonschema: ^1.2.4 @@ -4935,7 +4936,7 @@ __metadata: languageName: node linkType: hard -"ethereumjs-util@npm:^7.0.10, ethereumjs-util@npm:^7.0.8, ethereumjs-util@npm:^7.0.9, ethereumjs-util@npm:^7.1.2, ethereumjs-util@npm:^7.1.4, ethereumjs-util@npm:^7.1.5": +"ethereumjs-util@npm:^7.0.0, ethereumjs-util@npm:^7.0.10, ethereumjs-util@npm:^7.0.8, ethereumjs-util@npm:^7.0.9, ethereumjs-util@npm:^7.1.2, ethereumjs-util@npm:^7.1.4, ethereumjs-util@npm:^7.1.5": version: 7.1.5 resolution: "ethereumjs-util@npm:7.1.5" dependencies: From d294040904df34d1af470f49f430ca6ccc39625c Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 7 Oct 2022 18:57:00 -0600 Subject: [PATCH 041/115] Regenerate yarn.lock --- yarn.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/yarn.lock b/yarn.lock index 54d796110a..f9b9ad1fb9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1602,7 +1602,7 @@ __metadata: "@types/uuid": ^8.3.4 deepmerge: ^4.2.2 eth-query: ^2.1.2 - ethereumjs-util: ^7.0.10 + ethereumjs-util: ^7.1.4 ethjs-unit: ^0.1.6 immer: ^9.0.6 jest: ^26.4.2 @@ -1636,7 +1636,7 @@ __metadata: deepmerge: ^4.2.2 eth-keyring-controller: ^7.0.2 eth-sig-util: ^3.0.0 - ethereumjs-util: ^7.0.10 + ethereumjs-util: ^7.1.4 ethereumjs-wallet: ^1.0.1 jest: ^26.4.2 jest-it-up: ^2.0.2 @@ -1660,7 +1660,7 @@ __metadata: "@types/uuid": ^8.3.4 deepmerge: ^4.2.2 eth-sig-util: ^3.0.0 - ethereumjs-util: ^7.0.0 + ethereumjs-util: ^7.1.4 jest: ^26.4.2 jest-it-up: ^2.0.2 jsonschema: ^1.2.4 @@ -1865,7 +1865,7 @@ __metadata: eth-method-registry: 1.1.0 eth-query: ^2.1.2 eth-rpc-errors: ^4.0.0 - ethereumjs-util: ^7.0.10 + ethereumjs-util: ^7.1.4 ethjs-provider-http: ^0.1.6 jest: ^26.4.2 jest-it-up: ^2.0.2 @@ -4936,7 +4936,7 @@ __metadata: languageName: node linkType: hard -"ethereumjs-util@npm:^7.0.0, ethereumjs-util@npm:^7.0.10, ethereumjs-util@npm:^7.0.8, ethereumjs-util@npm:^7.0.9, ethereumjs-util@npm:^7.1.2, ethereumjs-util@npm:^7.1.4, ethereumjs-util@npm:^7.1.5": +"ethereumjs-util@npm:^7.0.8, ethereumjs-util@npm:^7.0.9, ethereumjs-util@npm:^7.1.2, ethereumjs-util@npm:^7.1.4, ethereumjs-util@npm:^7.1.5": version: 7.1.5 resolution: "ethereumjs-util@npm:7.1.5" dependencies: From 045b4e38aea34cfe1c3965b7b58107e998fd320b Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 7 Oct 2022 19:08:03 -0600 Subject: [PATCH 042/115] Clean up constraints.pro --- constraints.pro | 1 - 1 file changed, 1 deletion(-) diff --git a/constraints.pro b/constraints.pro index aa58bdeb13..da03763ee1 100644 --- a/constraints.pro +++ b/constraints.pro @@ -45,7 +45,6 @@ parse_version_range(VersionRange, Modifier, Major, Minor, Patch) :- atom_to_number(MinorAtom, Minor), atom_to_number(PatchAtom, Patch). -%npm_version_range_out_of_sync(VersionRange1, VersionRange2, VersionRange1Modifier, VersionRange2Modifier, VersionRange1Major, VersionRange1Minor, VersionRange1Patch, VersionRange2Major, VersionRange2Minor, VersionRange2Patch) :- npm_version_range_out_of_sync(VersionRange1, VersionRange2) :- parse_version_range(VersionRange1, VersionRange1Modifier, VersionRange1Major, VersionRange1Minor, VersionRange1Patch), parse_version_range(VersionRange2, VersionRange2Modifier, VersionRange2Major, VersionRange2Minor, VersionRange2Patch), From 26db82755d3fa945bace73e95f522e790be4b5d5 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 10 Oct 2022 12:43:56 -0600 Subject: [PATCH 043/115] Don't export this file --- packages/assets-controllers/src/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/assets-controllers/src/index.ts b/packages/assets-controllers/src/index.ts index 28df1276e8..5ddd4f7660 100644 --- a/packages/assets-controllers/src/index.ts +++ b/packages/assets-controllers/src/index.ts @@ -8,4 +8,3 @@ export * from './TokenDetectionController'; export * from './TokenListController'; export * from './TokenRatesController'; export * from './TokensController'; -export * from './token-service'; From 9537b08467e730d35d16da6407644e65b882341d Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 10 Oct 2022 13:02:37 -0600 Subject: [PATCH 044/115] Fix READMEs for composable-controller and message-manager --- packages/composable-controller/README.md | 6 +----- packages/message-manager/README.md | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/packages/composable-controller/README.md b/packages/composable-controller/README.md index 587858ae39..69c1938fae 100644 --- a/packages/composable-controller/README.md +++ b/packages/composable-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/composable-controller` -(TODO) +Composes multiple controllers together. ## Installation @@ -10,10 +10,6 @@ or `npm install @metamask/composable-controller` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/message-manager/README.md b/packages/message-manager/README.md index 6599b63e8a..866292506e 100644 --- a/packages/message-manager/README.md +++ b/packages/message-manager/README.md @@ -1,6 +1,6 @@ # `@metamask/message-manager` -(TODO) +Stores and manages interactions with signing requests. ## Installation @@ -10,10 +10,6 @@ or `npm install @metamask/message-manager` -## Usage - -(TODO) - ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). From 16f425e1f7451e9ec6417e13cf5fba453ccccbef Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 10 Oct 2022 13:02:47 -0600 Subject: [PATCH 045/115] Flip around some lines to make diffs easier to read --- .../approval-controller/src/ApprovalController.ts | 6 +++--- .../src/AccountTrackerController.test.ts | 2 +- .../src/CollectibleDetectionController.ts | 4 ++-- .../src/CollectiblesController.test.ts | 2 +- .../src/CollectiblesController.ts | 12 ++++++------ .../src/CurrencyRateController.test.ts | 2 +- .../src/CurrencyRateController.ts | 12 ++++++------ .../CollectibleStandards/ERC721/ERC721Standard.ts | 1 - .../src/TokenBalancesController.test.ts | 4 ++-- .../src/TokenBalancesController.ts | 4 ++-- .../src/TokenDetectionController.test.ts | 2 +- .../src/TokenDetectionController.ts | 12 ++++++------ .../src/TokenListController.test.ts | 2 +- .../assets-controllers/src/TokenListController.ts | 4 ++-- .../src/TokenRatesController.test.ts | 2 +- .../assets-controllers/src/TokenRatesController.ts | 10 +++++----- .../src/TokensController.test.ts | 4 ++-- .../assets-controllers/src/TokensController.ts | 14 +++++++------- .../base-controller/src/BaseControllerV2.test.ts | 8 ++++---- .../src/ComposableController.test.ts | 2 +- .../gas-fee-controller/src/GasFeeController.ts | 4 ++-- .../message-manager/src/PersonalMessageManager.ts | 2 +- .../message-manager/src/TypedMessageManager.ts | 8 ++++---- .../network-controller/src/NetworkController.ts | 2 +- .../src/NotificationController.ts | 4 ++-- .../src/PermissionController.ts | 7 +++---- .../src/SubjectMetadataController.ts | 4 ++-- .../src/TransactionController.test.ts | 4 ++-- .../src/TransactionController.ts | 2 +- 29 files changed, 72 insertions(+), 74 deletions(-) diff --git a/packages/approval-controller/src/ApprovalController.ts b/packages/approval-controller/src/ApprovalController.ts index f2a10789fc..b77aec7a4a 100644 --- a/packages/approval-controller/src/ApprovalController.ts +++ b/packages/approval-controller/src/ApprovalController.ts @@ -2,9 +2,9 @@ import type { Patch } from 'immer'; import { EthereumRpcError, ethErrors } from 'eth-rpc-errors'; import { nanoid } from 'nanoid'; import { - BaseControllerV2 as BaseController, - Json, + BaseControllerV2, RestrictedControllerMessenger, + Json, } from '@metamask/base-controller'; import { ApprovalRequestNotFoundError } from './errors'; @@ -148,7 +148,7 @@ type ApprovalControllerOptions = { * Adding a request returns a promise that resolves or rejects when the request * is approved or denied, respectively. */ -export class ApprovalController extends BaseController< +export class ApprovalController extends BaseControllerV2< typeof controllerName, ApprovalControllerState, ApprovalControllerMessenger diff --git a/packages/assets-controllers/src/AccountTrackerController.test.ts b/packages/assets-controllers/src/AccountTrackerController.test.ts index 5944c4813c..c2c99a9306 100644 --- a/packages/assets-controllers/src/AccountTrackerController.test.ts +++ b/packages/assets-controllers/src/AccountTrackerController.test.ts @@ -1,8 +1,8 @@ import * as sinon from 'sinon'; import HttpProvider from 'ethjs-provider-http'; import { - PreferencesController, ContactEntry, + PreferencesController, } from '@metamask/preferences-controller'; import { query } from '@metamask/controller-utils'; import { AccountTrackerController } from './AccountTrackerController'; diff --git a/packages/assets-controllers/src/CollectibleDetectionController.ts b/packages/assets-controllers/src/CollectibleDetectionController.ts index 9cf0da3739..567758589b 100644 --- a/packages/assets-controllers/src/CollectibleDetectionController.ts +++ b/packages/assets-controllers/src/CollectibleDetectionController.ts @@ -6,12 +6,12 @@ import { import type { NetworkState } from '@metamask/network-controller'; import type { PreferencesState } from '@metamask/preferences-controller'; import { - fetchWithErrorHandling, - toChecksumHexAddress, MAINNET, OPENSEA_PROXY_URL, OPENSEA_API_URL, NetworkType, + fetchWithErrorHandling, + toChecksumHexAddress, } from '@metamask/controller-utils'; import type { CollectiblesController, diff --git a/packages/assets-controllers/src/CollectiblesController.test.ts b/packages/assets-controllers/src/CollectiblesController.test.ts index 193da3e865..710c5eb13b 100644 --- a/packages/assets-controllers/src/CollectiblesController.test.ts +++ b/packages/assets-controllers/src/CollectiblesController.test.ts @@ -1,7 +1,6 @@ import * as sinon from 'sinon'; import nock from 'nock'; import HttpProvider from 'ethjs-provider-http'; -import { ControllerMessenger } from '@metamask/base-controller'; import { PreferencesController } from '@metamask/preferences-controller'; import { NetworkController, @@ -15,6 +14,7 @@ import { ERC721, NetworksChainId, } from '@metamask/controller-utils'; +import { ControllerMessenger } from '@metamask/base-controller'; import { AssetsContractController } from './AssetsContractController'; import { CollectiblesController } from './CollectiblesController'; import { getFormattedIpfsUrl } from './assetsUtil'; diff --git a/packages/assets-controllers/src/CollectiblesController.ts b/packages/assets-controllers/src/CollectiblesController.ts index b48f7ccc64..ff14fd6650 100644 --- a/packages/assets-controllers/src/CollectiblesController.ts +++ b/packages/assets-controllers/src/CollectiblesController.ts @@ -1,7 +1,13 @@ import { EventEmitter } from 'events'; import { BN, stripHexPrefix } from 'ethereumjs-util'; import { Mutex } from 'async-mutex'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; import type { PreferencesState } from '@metamask/preferences-controller'; +import type { NetworkState } from '@metamask/network-controller'; import { safelyExecute, handleFetch, @@ -18,12 +24,6 @@ import { OPENSEA_TEST_API_URL, NetworkType, } from '@metamask/controller-utils'; -import type { NetworkState } from '@metamask/network-controller'; -import { - BaseController, - BaseConfig, - BaseState, -} from '@metamask/base-controller'; import type { ApiCollectible, ApiCollectibleCreator, diff --git a/packages/assets-controllers/src/CurrencyRateController.test.ts b/packages/assets-controllers/src/CurrencyRateController.test.ts index 2973abb167..0e744d32f4 100644 --- a/packages/assets-controllers/src/CurrencyRateController.test.ts +++ b/packages/assets-controllers/src/CurrencyRateController.test.ts @@ -1,7 +1,7 @@ import * as sinon from 'sinon'; import nock from 'nock'; -import { TESTNET_TICKER_SYMBOLS } from '@metamask/controller-utils'; import { ControllerMessenger } from '@metamask/base-controller'; +import { TESTNET_TICKER_SYMBOLS } from '@metamask/controller-utils'; import { CurrencyRateController, CurrencyRateStateChange, diff --git a/packages/assets-controllers/src/CurrencyRateController.ts b/packages/assets-controllers/src/CurrencyRateController.ts index 82b1c5e9ba..5b2f20a8d4 100644 --- a/packages/assets-controllers/src/CurrencyRateController.ts +++ b/packages/assets-controllers/src/CurrencyRateController.ts @@ -1,14 +1,14 @@ import { Mutex } from 'async-mutex'; import type { Patch } from 'immer'; import { - safelyExecute, + BaseControllerV2, + RestrictedControllerMessenger, +} from '@metamask/base-controller'; +import { TESTNET_TICKER_SYMBOLS, FALL_BACK_VS_CURRENCY, + safelyExecute, } from '@metamask/controller-utils'; -import { - BaseControllerV2 as BaseController, - RestrictedControllerMessenger, -} from '@metamask/base-controller'; import { fetchExchangeRate as defaultFetchExchangeRate } from './crypto-compare'; /** @@ -75,7 +75,7 @@ const defaultState = { * Controller that passively polls on a set interval for an exchange rate from the current base * asset to the current currency */ -export class CurrencyRateController extends BaseController< +export class CurrencyRateController extends BaseControllerV2< typeof name, CurrencyRateState, CurrencyRateMessenger diff --git a/packages/assets-controllers/src/Standards/CollectibleStandards/ERC721/ERC721Standard.ts b/packages/assets-controllers/src/Standards/CollectibleStandards/ERC721/ERC721Standard.ts index d12cd6e430..a2da46299d 100644 --- a/packages/assets-controllers/src/Standards/CollectibleStandards/ERC721/ERC721Standard.ts +++ b/packages/assets-controllers/src/Standards/CollectibleStandards/ERC721/ERC721Standard.ts @@ -7,7 +7,6 @@ import { ERC721, } from '@metamask/controller-utils'; import { getFormattedIpfsUrl } from '../../../assetsUtil'; - import { Web3 } from '../../standards-types'; export class ERC721Standard { diff --git a/packages/assets-controllers/src/TokenBalancesController.test.ts b/packages/assets-controllers/src/TokenBalancesController.test.ts index a711c69659..054608c112 100644 --- a/packages/assets-controllers/src/TokenBalancesController.test.ts +++ b/packages/assets-controllers/src/TokenBalancesController.test.ts @@ -1,11 +1,11 @@ import * as sinon from 'sinon'; import { BN } from 'ethereumjs-util'; -import { ControllerMessenger } from '@metamask/base-controller'; -import { PreferencesController } from '@metamask/preferences-controller'; import { NetworkController, NetworkControllerMessenger, } from '@metamask/network-controller'; +import { PreferencesController } from '@metamask/preferences-controller'; +import { ControllerMessenger } from '@metamask/base-controller'; import { TokensController } from './TokensController'; import { Token } from './TokenRatesController'; import { AssetsContractController } from './AssetsContractController'; diff --git a/packages/assets-controllers/src/TokenBalancesController.ts b/packages/assets-controllers/src/TokenBalancesController.ts index abf5a184eb..4f00142aa4 100644 --- a/packages/assets-controllers/src/TokenBalancesController.ts +++ b/packages/assets-controllers/src/TokenBalancesController.ts @@ -1,11 +1,11 @@ import { BN } from 'ethereumjs-util'; -import { safelyExecute } from '@metamask/controller-utils'; -import type { PreferencesState } from '@metamask/preferences-controller'; import { BaseController, BaseConfig, BaseState, } from '@metamask/base-controller'; +import { safelyExecute } from '@metamask/controller-utils'; +import type { PreferencesState } from '@metamask/preferences-controller'; import { Token } from './TokenRatesController'; import { TokensState } from './TokensController'; import type { AssetsContractController } from './AssetsContractController'; diff --git a/packages/assets-controllers/src/TokenDetectionController.test.ts b/packages/assets-controllers/src/TokenDetectionController.test.ts index ef3692a54b..14999fdceb 100644 --- a/packages/assets-controllers/src/TokenDetectionController.test.ts +++ b/packages/assets-controllers/src/TokenDetectionController.test.ts @@ -1,7 +1,6 @@ import * as sinon from 'sinon'; import nock from 'nock'; import { BN } from 'ethereumjs-util'; -import { PreferencesController } from '@metamask/preferences-controller'; import { NetworkController, NetworkControllerMessenger, @@ -9,6 +8,7 @@ import { NetworkControllerStateChangeEvent, } from '@metamask/network-controller'; import { NetworksChainId } from '@metamask/controller-utils'; +import { PreferencesController } from '@metamask/preferences-controller'; import { ControllerMessenger } from '@metamask/base-controller'; import { TokensController } from './TokensController'; import { TokenDetectionController } from './TokenDetectionController'; diff --git a/packages/assets-controllers/src/TokenDetectionController.ts b/packages/assets-controllers/src/TokenDetectionController.ts index 52be5d2c17..cefc2a176e 100644 --- a/packages/assets-controllers/src/TokenDetectionController.ts +++ b/packages/assets-controllers/src/TokenDetectionController.ts @@ -1,19 +1,19 @@ -import type { PreferencesState } from '@metamask/preferences-controller'; -import { - safelyExecute, - toChecksumHexAddress, -} from '@metamask/controller-utils'; import { BaseController, BaseConfig, BaseState, } from '@metamask/base-controller'; import type { NetworkState } from '@metamask/network-controller'; +import type { PreferencesState } from '@metamask/preferences-controller'; +import { + safelyExecute, + toChecksumHexAddress, +} from '@metamask/controller-utils'; +import { isTokenDetectionSupportedForNetwork } from './assetsUtil'; import type { TokensController, TokensState } from './TokensController'; import type { AssetsContractController } from './AssetsContractController'; import { Token } from './TokenRatesController'; import { TokenListState } from './TokenListController'; -import { isTokenDetectionSupportedForNetwork } from './assetsUtil'; const DEFAULT_INTERVAL = 180000; diff --git a/packages/assets-controllers/src/TokenListController.test.ts b/packages/assets-controllers/src/TokenListController.test.ts index a82a0f8dbf..e2298ee1c3 100644 --- a/packages/assets-controllers/src/TokenListController.test.ts +++ b/packages/assets-controllers/src/TokenListController.test.ts @@ -1,10 +1,10 @@ import * as sinon from 'sinon'; import nock from 'nock'; +import { ControllerMessenger } from '@metamask/base-controller'; import { NetworkController, NetworkControllerProviderChangeEvent, } from '@metamask/network-controller'; -import { ControllerMessenger } from '@metamask/base-controller'; import { NetworksChainId } from '@metamask/controller-utils'; import { TokenListController, diff --git a/packages/assets-controllers/src/TokenListController.ts b/packages/assets-controllers/src/TokenListController.ts index 6c44a7c571..33b2a0f530 100644 --- a/packages/assets-controllers/src/TokenListController.ts +++ b/packages/assets-controllers/src/TokenListController.ts @@ -2,7 +2,7 @@ import type { Patch } from 'immer'; import { Mutex } from 'async-mutex'; import { AbortController as WhatwgAbortController } from 'abort-controller'; import { - BaseControllerV2 as BaseController, + BaseControllerV2, RestrictedControllerMessenger, } from '@metamask/base-controller'; import { safelyExecute } from '@metamask/controller-utils'; @@ -78,7 +78,7 @@ const defaultState: TokenListState = { /** * Controller that passively polls on a set interval for the list of tokens from metaswaps api */ -export class TokenListController extends BaseController< +export class TokenListController extends BaseControllerV2< typeof name, TokenListState, TokenListMessenger diff --git a/packages/assets-controllers/src/TokenRatesController.test.ts b/packages/assets-controllers/src/TokenRatesController.test.ts index 86c9cac076..cc4f3d12b7 100644 --- a/packages/assets-controllers/src/TokenRatesController.test.ts +++ b/packages/assets-controllers/src/TokenRatesController.test.ts @@ -1,11 +1,11 @@ import * as sinon from 'sinon'; import nock from 'nock'; -import { ControllerMessenger } from '@metamask/base-controller'; import { PreferencesController } from '@metamask/preferences-controller'; import { NetworkController, NetworkControllerMessenger, } from '@metamask/network-controller'; +import { ControllerMessenger } from '@metamask/base-controller'; import { TokenRatesController } from './TokenRatesController'; import { TokensController } from './TokensController'; diff --git a/packages/assets-controllers/src/TokenRatesController.ts b/packages/assets-controllers/src/TokenRatesController.ts index 30fee8be36..fcce59ba14 100644 --- a/packages/assets-controllers/src/TokenRatesController.ts +++ b/packages/assets-controllers/src/TokenRatesController.ts @@ -1,14 +1,14 @@ +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; import { safelyExecute, handleFetch, toChecksumHexAddress, FALL_BACK_VS_CURRENCY, } from '@metamask/controller-utils'; -import { - BaseController, - BaseConfig, - BaseState, -} from '@metamask/base-controller'; import type { NetworkState } from '@metamask/network-controller'; import { fetchExchangeRate as fetchNativeExchangeRate } from './crypto-compare'; import type { TokensState } from './TokensController'; diff --git a/packages/assets-controllers/src/TokensController.test.ts b/packages/assets-controllers/src/TokensController.test.ts index d566227798..3b8985a57a 100644 --- a/packages/assets-controllers/src/TokensController.test.ts +++ b/packages/assets-controllers/src/TokensController.test.ts @@ -1,13 +1,13 @@ import * as sinon from 'sinon'; import nock from 'nock'; import contractMaps from '@metamask/contract-metadata'; -import { ControllerMessenger } from '@metamask/base-controller'; import { PreferencesController } from '@metamask/preferences-controller'; import { NetworkController, NetworkControllerMessenger, } from '@metamask/network-controller'; -import { NetworkType, NetworksChainId } from '@metamask/controller-utils'; +import { NetworksChainId, NetworkType } from '@metamask/controller-utils'; +import { ControllerMessenger } from '@metamask/base-controller'; import { TokensController } from './TokensController'; import { Token } from './TokenRatesController'; import { TOKEN_END_POINT_API } from './token-service'; diff --git a/packages/assets-controllers/src/TokensController.ts b/packages/assets-controllers/src/TokensController.ts index f4f67c87c2..cee7daf3f0 100644 --- a/packages/assets-controllers/src/TokensController.ts +++ b/packages/assets-controllers/src/TokensController.ts @@ -6,19 +6,19 @@ import { Mutex } from 'async-mutex'; import { Contract } from '@ethersproject/contracts'; import { Web3Provider } from '@ethersproject/providers'; import { AbortController as WhatwgAbortController } from 'abort-controller'; +import { + BaseController, + BaseConfig, + BaseState, +} from '@metamask/base-controller'; import type { PreferencesState } from '@metamask/preferences-controller'; +import type { NetworkState } from '@metamask/network-controller'; import { + NetworkType, toChecksumHexAddress, MAINNET, ERC721_INTERFACE_ID, - NetworkType, } from '@metamask/controller-utils'; -import type { NetworkState } from '@metamask/network-controller'; -import { - BaseController, - BaseConfig, - BaseState, -} from '@metamask/base-controller'; import type { Token } from './TokenRatesController'; import { TokenListToken } from './TokenListController'; import { diff --git a/packages/base-controller/src/BaseControllerV2.test.ts b/packages/base-controller/src/BaseControllerV2.test.ts index 5422e648f6..f199aa9ae5 100644 --- a/packages/base-controller/src/BaseControllerV2.test.ts +++ b/packages/base-controller/src/BaseControllerV2.test.ts @@ -1,14 +1,14 @@ import type { Draft, Patch } from 'immer'; import * as sinon from 'sinon'; -import { - ControllerMessenger, - RestrictedControllerMessenger, -} from './ControllerMessenger'; import { BaseController, getAnonymizedState, getPersistentState, } from './BaseControllerV2'; +import { + ControllerMessenger, + RestrictedControllerMessenger, +} from './ControllerMessenger'; const countControllerName = 'CountController'; diff --git a/packages/composable-controller/src/ComposableController.test.ts b/packages/composable-controller/src/ComposableController.test.ts index 7db192096c..abc22f9a39 100644 --- a/packages/composable-controller/src/ComposableController.test.ts +++ b/packages/composable-controller/src/ComposableController.test.ts @@ -6,7 +6,6 @@ import { AssetsContractController, } from '@metamask/assets-controllers'; import { AddressBookController } from '@metamask/address-book-controller'; -import { PreferencesController } from '@metamask/preferences-controller'; import { EnsController } from '@metamask/ens-controller'; import { BaseController, @@ -15,6 +14,7 @@ import { ControllerMessenger, RestrictedControllerMessenger, } from '@metamask/base-controller'; +import { PreferencesController } from '@metamask/preferences-controller'; import { NetworkController, NetworkControllerMessenger, diff --git a/packages/gas-fee-controller/src/GasFeeController.ts b/packages/gas-fee-controller/src/GasFeeController.ts index 89795c6b0a..731590bc65 100644 --- a/packages/gas-fee-controller/src/GasFeeController.ts +++ b/packages/gas-fee-controller/src/GasFeeController.ts @@ -2,7 +2,7 @@ import type { Patch } from 'immer'; import { v1 as random } from 'uuid'; import { isHexString } from 'ethereumjs-util'; import { - BaseControllerV2 as BaseController, + BaseControllerV2, RestrictedControllerMessenger, } from '@metamask/base-controller'; import { safelyExecute } from '@metamask/controller-utils'; @@ -230,7 +230,7 @@ export type ChainID = `0x${string}` | `${number}` | number; /** * Controller that retrieves gas fee estimate data and polls for updated data on a set interval */ -export class GasFeeController extends BaseController< +export class GasFeeController extends BaseControllerV2< typeof name, GasFeeState, GasFeeMessenger diff --git a/packages/message-manager/src/PersonalMessageManager.ts b/packages/message-manager/src/PersonalMessageManager.ts index e3c225cc6f..e7e4e04168 100644 --- a/packages/message-manager/src/PersonalMessageManager.ts +++ b/packages/message-manager/src/PersonalMessageManager.ts @@ -1,4 +1,5 @@ import { v1 as random } from 'uuid'; +import { normalizeMessageData, validateSignMessageData } from './utils'; import { AbstractMessageManager, AbstractMessage, @@ -6,7 +7,6 @@ import { AbstractMessageParamsMetamask, OriginalRequest, } from './AbstractMessageManager'; -import { normalizeMessageData, validateSignMessageData } from './utils'; /** * @type Message diff --git a/packages/message-manager/src/TypedMessageManager.ts b/packages/message-manager/src/TypedMessageManager.ts index 6f7acdbee1..cc6ff49307 100644 --- a/packages/message-manager/src/TypedMessageManager.ts +++ b/packages/message-manager/src/TypedMessageManager.ts @@ -1,4 +1,8 @@ import { v1 as random } from 'uuid'; +import { + validateTypedSignMessageDataV3, + validateTypedSignMessageDataV1, +} from './utils'; import { AbstractMessageManager, AbstractMessage, @@ -6,10 +10,6 @@ import { AbstractMessageParamsMetamask, OriginalRequest, } from './AbstractMessageManager'; -import { - validateTypedSignMessageDataV3, - validateTypedSignMessageDataV1, -} from './utils'; /** * @type TypedMessage diff --git a/packages/network-controller/src/NetworkController.ts b/packages/network-controller/src/NetworkController.ts index 5e76aa1974..0d0ec9d130 100644 --- a/packages/network-controller/src/NetworkController.ts +++ b/packages/network-controller/src/NetworkController.ts @@ -3,11 +3,11 @@ import Subprovider from 'web3-provider-engine/subproviders/provider'; import createInfuraProvider from 'eth-json-rpc-infura/src/createProvider'; import createMetamaskProvider from 'web3-provider-engine/zero'; import { Mutex } from 'async-mutex'; +import type { Patch } from 'immer'; import { BaseControllerV2, RestrictedControllerMessenger, } from '@metamask/base-controller'; -import type { Patch } from 'immer'; import { MAINNET, RPC, diff --git a/packages/notification-controller/src/NotificationController.ts b/packages/notification-controller/src/NotificationController.ts index 6ee7491335..a39ce909af 100644 --- a/packages/notification-controller/src/NotificationController.ts +++ b/packages/notification-controller/src/NotificationController.ts @@ -2,7 +2,7 @@ import type { Patch } from 'immer'; import { nanoid } from 'nanoid'; import { hasProperty } from '@metamask/controller-utils'; import { - BaseControllerV2 as BaseController, + BaseControllerV2, RestrictedControllerMessenger, } from '@metamask/base-controller'; @@ -82,7 +82,7 @@ const defaultState = { /** * Controller that handles storing notifications and showing them to the user */ -export class NotificationController extends BaseController< +export class NotificationController extends BaseControllerV2< typeof name, NotificationControllerState, NotificationControllerMessenger diff --git a/packages/permission-controller/src/PermissionController.ts b/packages/permission-controller/src/PermissionController.ts index 659f1b3853..5c003b131c 100644 --- a/packages/permission-controller/src/PermissionController.ts +++ b/packages/permission-controller/src/PermissionController.ts @@ -11,12 +11,11 @@ import { RejectRequest as RejectApprovalRequest, } from '@metamask/approval-controller'; import { - BaseControllerV2 as BaseController, + BaseControllerV2, Json, StateMetadata, RestrictedControllerMessenger, } from '@metamask/base-controller'; - import { hasProperty, isNonEmptyArray, @@ -475,7 +474,7 @@ export type PermissionControllerOptions< export class PermissionController< ControllerPermissionSpecification extends PermissionSpecificationConstraint, ControllerCaveatSpecification extends CaveatSpecificationConstraint, -> extends BaseController< +> extends BaseControllerV2< typeof controllerName, PermissionControllerState< ExtractPermission< @@ -529,7 +528,7 @@ export class PermissionController< * @param options.unrestrictedMethods - The callable names of all JSON-RPC * methods ignored by the new controller. * @param options.messenger - The controller messenger. See - * {@link BaseController} for more information. + * {@link BaseControllerV2} for more information. * @param options.state - Existing state to hydrate the controller with at * initialization. */ diff --git a/packages/subject-metadata-controller/src/SubjectMetadataController.ts b/packages/subject-metadata-controller/src/SubjectMetadataController.ts index a35c87a217..1b4a3d149c 100644 --- a/packages/subject-metadata-controller/src/SubjectMetadataController.ts +++ b/packages/subject-metadata-controller/src/SubjectMetadataController.ts @@ -1,7 +1,7 @@ import type { Patch } from 'immer'; import { Json } from '@metamask/types'; import { - BaseControllerV2 as BaseController, + BaseControllerV2, RestrictedControllerMessenger, } from '@metamask/base-controller'; import type { @@ -74,7 +74,7 @@ type SubjectMetadataControllerOptions = { * A controller for storing metadata associated with permission subjects. More * or less, a cache. */ -export class SubjectMetadataController extends BaseController< +export class SubjectMetadataController extends BaseControllerV2< typeof controllerName, SubjectMetadataControllerState, SubjectMetadataControllerMessenger diff --git a/packages/transaction-controller/src/TransactionController.test.ts b/packages/transaction-controller/src/TransactionController.test.ts index 9ce338aadf..0ffd04101b 100644 --- a/packages/transaction-controller/src/TransactionController.test.ts +++ b/packages/transaction-controller/src/TransactionController.test.ts @@ -1,8 +1,8 @@ import * as crossFetchModule from 'cross-fetch'; import * as sinon from 'sinon'; import HttpProvider from 'ethjs-provider-http'; -import { NetworkType, NetworksChainId } from '@metamask/controller-utils'; -import { NetworkState } from '@metamask/network-controller'; +import { NetworksChainId, NetworkType } from '@metamask/controller-utils'; +import type { NetworkState } from '@metamask/network-controller'; import { TransactionController, TransactionStatus, diff --git a/packages/transaction-controller/src/TransactionController.ts b/packages/transaction-controller/src/TransactionController.ts index 0303afdaa5..c7a620eacc 100644 --- a/packages/transaction-controller/src/TransactionController.ts +++ b/packages/transaction-controller/src/TransactionController.ts @@ -30,11 +30,11 @@ import { normalizeTransaction, validateTransaction, handleTransactionFetch, + getIncreasedPriceFromExisting, isEIP1559Transaction, isGasPriceValue, isFeeMarketEIP1559Values, validateGasValues, - getIncreasedPriceFromExisting, validateMinimumIncrease, } from './utils'; From 99ed77427b7d7083c91792883decda5fbf1bb7a1 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 10 Oct 2022 13:16:33 -0600 Subject: [PATCH 046/115] Update descriptions in package.json to match README --- packages/address-book-controller/package.json | 2 +- packages/announcement-controller/package.json | 2 +- packages/approval-controller/package.json | 2 +- packages/assets-controllers/package.json | 2 +- packages/base-controller/package.json | 2 +- packages/composable-controller/README.md | 2 +- packages/composable-controller/package.json | 2 +- packages/controller-utils/package.json | 2 +- packages/ens-controller/README.md | 2 +- packages/ens-controller/package.json | 2 +- packages/gas-fee-controller/README.md | 2 +- packages/gas-fee-controller/package.json | 2 +- packages/keyring-controller/package.json | 2 +- packages/message-manager/package.json | 2 +- packages/network-controller/package.json | 2 +- packages/notification-controller/package.json | 2 +- packages/permission-controller/package.json | 2 +- packages/phishing-controller/README.md | 2 +- packages/phishing-controller/package.json | 2 +- packages/preferences-controller/package.json | 2 +- packages/rate-limit-controller/package.json | 2 +- packages/subject-metadata-controller/package.json | 2 +- packages/transaction-controller/README.md | 2 +- packages/transaction-controller/package.json | 2 +- 24 files changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/address-book-controller/package.json b/packages/address-book-controller/package.json index 094a7bff4f..212f827674 100644 --- a/packages/address-book-controller/package.json +++ b/packages/address-book-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/address-book-controller", "version": "0.1.0", - "description": "TODO", + "description": "Manages a list of recipient addresses associated with nicknames", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index 343c5680cd..885eca1972 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/announcement-controller", "version": "0.1.0", - "description": "TODO", + "description": "Manages in-app announcements", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index 5ea469ed4f..88b5694572 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/approval-controller", "version": "0.1.0", - "description": "TODO", + "description": "Manages requests that require user approval", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 603a1de2f2..e6dfc274c3 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/assets-controllers", "version": "0.1.0", - "description": "TODO", + "description": "Controllers which manage interactions involving ERC-20, ERC-721, and ERC-1155 tokens (including NFTs)", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index 24d153eb9c..26cd883c3c 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/base-controller", "version": "0.1.0", - "description": "TODO", + "description": "Provides scaffolding for controllers as well a communication system for all controllers", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/composable-controller/README.md b/packages/composable-controller/README.md index 69c1938fae..ae1fd5dad7 100644 --- a/packages/composable-controller/README.md +++ b/packages/composable-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/composable-controller` -Composes multiple controllers together. +Consolidates the state from multiple controllers into one. ## Installation diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 6896cb9b93..1cd7e902da 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/composable-controller", "version": "0.1.0", - "description": "TODO", + "description": "Consolidates the state from multiple controllers into one", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 550dba33f4..29af6ccc4d 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/controller-utils", "version": "0.1.0", - "description": "TODO", + "description": "Data and convenience functions shared by multiple packages", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/ens-controller/README.md b/packages/ens-controller/README.md index 2d5034ba50..758685d1dd 100644 --- a/packages/ens-controller/README.md +++ b/packages/ens-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/ens-controller` -(TODO) +Maps ENS names to their resolved addresses by chain id. ## Installation diff --git a/packages/ens-controller/package.json b/packages/ens-controller/package.json index c3a27a12be..a75a6bd339 100644 --- a/packages/ens-controller/package.json +++ b/packages/ens-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/ens-controller", "version": "0.1.0", - "description": "TODO", + "description": "Maps ENS names to their resolved addresses by chain id", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/gas-fee-controller/README.md b/packages/gas-fee-controller/README.md index 7ed940a1a5..0180ca23b7 100644 --- a/packages/gas-fee-controller/README.md +++ b/packages/gas-fee-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/gas-fee-controller` -Periodically calculates gas fee estimates for various gas limits and other data displayed on transaction confirm screens. +Periodically calculates gas fee estimates based on various gas limits as well as other data displayed on transaction confirm screens. ## Installation diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index a922b4f900..dc3d665517 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/gas-fee-controller", "version": "0.1.0", - "description": "TODO", + "description": "Periodically calculates gas fee estimates based on various gas limits as well as other data displayed on transaction confirm screens", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index ae746f9f65..38823ea032 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/keyring-controller", "version": "0.1.0", - "description": "TODO", + "description": "Stores identities seen in the wallet and manages interactions such as signing", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index b422f678c8..6089aa62ad 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/message-manager", "version": "0.1.0", - "description": "TODO", + "description": "Stores and manages interactions with signing requests", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 07fd94ad8a..eb876be70f 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/network-controller", "version": "0.1.0", - "description": "TODO", + "description": "Provides an interface to the currently selected network via a MetaMask-compatible provider object", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index 4d2f4650b2..408371f6d1 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/notification-controller", "version": "0.1.0", - "description": "TODO", + "description": "Manages display of the \"What's New\" messages in MetaMask", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 6573cb68eb..3ee959e0a9 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/permission-controller", "version": "0.1.0", - "description": "TODO", + "description": "Mediates access to JSON-RPC methods, used to interact with pieces of the MetaMask stack, via middleware for json-rpc-engine", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/phishing-controller/README.md b/packages/phishing-controller/README.md index 861de2bcd5..87c8678803 100644 --- a/packages/phishing-controller/README.md +++ b/packages/phishing-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/phishing-controller` -(TODO) +Maintains a periodically updated list of approved and unapproved website origins. ## Installation diff --git a/packages/phishing-controller/package.json b/packages/phishing-controller/package.json index 01f69171d5..1ec2bba8c1 100644 --- a/packages/phishing-controller/package.json +++ b/packages/phishing-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/phishing-controller", "version": "0.1.0", - "description": "TODO", + "description": "Maintains a periodically updated list of approved and unapproved website origins", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/preferences-controller/package.json b/packages/preferences-controller/package.json index 6aaa347e97..57627bf937 100644 --- a/packages/preferences-controller/package.json +++ b/packages/preferences-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/preferences-controller", "version": "0.1.0", - "description": "TODO", + "description": "Manages user-configurable settings for MetaMask", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index 9cc91c4c08..d0263b821f 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/rate-limit-controller", "version": "0.1.0", - "description": "TODO", + "description": "Contains logic for rate-limiting API endpoints by requesting origin", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index 8934432552..fab4b2a7a0 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/subject-metadata-controller", "version": "0.1.0", - "description": "TODO", + "description": "Caches metadata associated with permission subjects", "keywords": [ "MetaMask", "Ethereum" diff --git a/packages/transaction-controller/README.md b/packages/transaction-controller/README.md index f00f6ce4f9..12d8756a72 100644 --- a/packages/transaction-controller/README.md +++ b/packages/transaction-controller/README.md @@ -1,6 +1,6 @@ # `@metamask/transaction-controller` -Stores transactions, keeping track of statuses on a periodic basis, and manages interactions such as approval and cancellation. +Stores transactions alongside their periodically updated statuses and manages interactions such as approval and cancellation. ## Installation diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 7f2d8c0ff0..ff2e48ec30 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -1,7 +1,7 @@ { "name": "@metamask/transaction-controller", "version": "0.1.0", - "description": "TODO", + "description": "Stores transactions alongside their periodically updated statuses and manages interactions such as approval and cancellation", "keywords": [ "MetaMask", "Ethereum" From 48fbdab6e2c64222d2b87b4c8a95e6b83b4fc93b Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 10 Oct 2022 13:25:16 -0600 Subject: [PATCH 047/115] Remove the need for an extra tsconfig for tests Some of our dependencies use ESM and need transpiling in order to use properly. We previously solved this by creating a special `tsconfig.json` file for tests where we turned on `allowJs: true`, and then using the `ts-jest/presets/js-with-ts` Jest preset as well. We don't need to do this, however, because we can specify `customExportConditions` instead, which will tell Jest that when it is resolving imports to ignore `browser` entries in `exports` and choose `cjs` instead. --- jest.config.packages.js | 12 ++++----- .../tsconfig.test.json | 11 -------- .../tsconfig.test.json | 8 ------ .../approval-controller/tsconfig.test.json | 8 ------ .../assets-controllers/tsconfig.test.json | 21 --------------- packages/base-controller/tsconfig.test.json | 7 ----- .../composable-controller/tsconfig.test.json | 27 ------------------- packages/controller-utils/tsconfig.test.json | 13 --------- packages/ens-controller/tsconfig.test.json | 11 -------- .../gas-fee-controller/tsconfig.test.json | 12 --------- .../keyring-controller/tsconfig.test.json | 21 --------------- packages/message-manager/tsconfig.test.json | 11 -------- .../network-controller/tsconfig.test.json | 11 -------- .../tsconfig.test.json | 11 -------- .../permission-controller/tsconfig.test.json | 12 --------- .../phishing-controller/tsconfig.test.json | 11 -------- .../preferences-controller/tsconfig.test.json | 11 -------- .../rate-limit-controller/tsconfig.test.json | 8 ------ .../tsconfig.test.json | 11 -------- .../transaction-controller/tsconfig.test.json | 12 --------- tsconfig.packages.test.json | 21 --------------- 21 files changed, 5 insertions(+), 265 deletions(-) delete mode 100644 packages/address-book-controller/tsconfig.test.json delete mode 100644 packages/announcement-controller/tsconfig.test.json delete mode 100644 packages/approval-controller/tsconfig.test.json delete mode 100644 packages/assets-controllers/tsconfig.test.json delete mode 100644 packages/base-controller/tsconfig.test.json delete mode 100644 packages/composable-controller/tsconfig.test.json delete mode 100644 packages/controller-utils/tsconfig.test.json delete mode 100644 packages/ens-controller/tsconfig.test.json delete mode 100644 packages/gas-fee-controller/tsconfig.test.json delete mode 100644 packages/keyring-controller/tsconfig.test.json delete mode 100644 packages/message-manager/tsconfig.test.json delete mode 100644 packages/network-controller/tsconfig.test.json delete mode 100644 packages/notification-controller/tsconfig.test.json delete mode 100644 packages/permission-controller/tsconfig.test.json delete mode 100644 packages/phishing-controller/tsconfig.test.json delete mode 100644 packages/preferences-controller/tsconfig.test.json delete mode 100644 packages/rate-limit-controller/tsconfig.test.json delete mode 100644 packages/subject-metadata-controller/tsconfig.test.json delete mode 100644 packages/transaction-controller/tsconfig.test.json delete mode 100644 tsconfig.packages.test.json diff --git a/jest.config.packages.js b/jest.config.packages.js index b4dedf3ffb..6a0f26cd7c 100644 --- a/jest.config.packages.js +++ b/jest.config.packages.js @@ -57,11 +57,7 @@ module.exports = { // globalTeardown: undefined, // A set of global variables that need to be available in all test environments - globals: { - 'ts-jest': { - tsconfig: '/tsconfig.test.json', - }, - }, + // globals: {}, // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers. // maxWorkers: "50%", @@ -106,7 +102,7 @@ module.exports = { // Here we're telling ts-jest to run JavaScript code through TypeScript // because some of our dependencies (e.g. multiformats, ethjs-*) ship with // uncompiled JavaScript or JavaScript that uses ESM format. - preset: 'ts-jest/presets/js-with-ts', + preset: 'ts-jest', // Run tests from one or more projects // projects: undefined @@ -157,7 +153,9 @@ module.exports = { testEnvironment: 'node', // Options that will be passed to the testEnvironment - // testEnvironmentOptions: {}, + testEnvironmentOptions: { + customExportConditions: ['node', 'node-addons'], + }, // Adds a location field to test results // testLocationInResults: false, diff --git a/packages/address-book-controller/tsconfig.test.json b/packages/address-book-controller/tsconfig.test.json deleted file mode 100644 index ff98fbfbe8..0000000000 --- a/packages/address-book-controller/tsconfig.test.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" } - ], - "include": ["../../types", "./src"] -} diff --git a/packages/announcement-controller/tsconfig.test.json b/packages/announcement-controller/tsconfig.test.json deleted file mode 100644 index e717cbcf4c..0000000000 --- a/packages/announcement-controller/tsconfig.test.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [{ "path": "../base-controller" }], - "include": ["../../types", "./src"] -} diff --git a/packages/approval-controller/tsconfig.test.json b/packages/approval-controller/tsconfig.test.json deleted file mode 100644 index e717cbcf4c..0000000000 --- a/packages/approval-controller/tsconfig.test.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [{ "path": "../base-controller" }], - "include": ["../../types", "./src"] -} diff --git a/packages/assets-controllers/tsconfig.test.json b/packages/assets-controllers/tsconfig.test.json deleted file mode 100644 index 29f90afee3..0000000000 --- a/packages/assets-controllers/tsconfig.test.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [ - { - "path": "../base-controller" - }, - { - "path": "../controller-utils" - }, - { - "path": "../network-controller" - }, - { - "path": "../preferences-controller" - } - ], - "include": ["../../types", "./src"] -} diff --git a/packages/base-controller/tsconfig.test.json b/packages/base-controller/tsconfig.test.json deleted file mode 100644 index 7112d5ed29..0000000000 --- a/packages/base-controller/tsconfig.test.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "include": ["../../types", "./src"] -} diff --git a/packages/composable-controller/tsconfig.test.json b/packages/composable-controller/tsconfig.test.json deleted file mode 100644 index 44cf8ed132..0000000000 --- a/packages/composable-controller/tsconfig.test.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [ - { - "path": "../address-book-controller" - }, - { - "path": "../assets-controllers" - }, - { - "path": "../base-controller" - }, - { - "path": "../ens-controller" - }, - { - "path": "../network-controller" - }, - { - "path": "../preferences-controller" - } - ], - "include": ["../../types", "./src"] -} diff --git a/packages/controller-utils/tsconfig.test.json b/packages/controller-utils/tsconfig.test.json deleted file mode 100644 index c32b8ba665..0000000000 --- a/packages/controller-utils/tsconfig.test.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./", - "lib": ["ES2017", "DOM"] - }, - "references": [ - { - "path": "../base-controller" - } - ], - "include": ["../../types", "./src"] -} diff --git a/packages/ens-controller/tsconfig.test.json b/packages/ens-controller/tsconfig.test.json deleted file mode 100644 index ff98fbfbe8..0000000000 --- a/packages/ens-controller/tsconfig.test.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" } - ], - "include": ["../../types", "./src"] -} diff --git a/packages/gas-fee-controller/tsconfig.test.json b/packages/gas-fee-controller/tsconfig.test.json deleted file mode 100644 index b5ecb34cc2..0000000000 --- a/packages/gas-fee-controller/tsconfig.test.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../network-controller" } - ], - "include": ["../../types", "./src"] -} diff --git a/packages/keyring-controller/tsconfig.test.json b/packages/keyring-controller/tsconfig.test.json deleted file mode 100644 index 258783b4c9..0000000000 --- a/packages/keyring-controller/tsconfig.test.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [ - { - "path": "../base-controller" - }, - { - "path": "../controller-utils" - }, - { - "path": "../message-manager" - }, - { - "path": "../preferences-controller" - } - ], - "include": ["../../types", "./src", "./tests"] -} diff --git a/packages/message-manager/tsconfig.test.json b/packages/message-manager/tsconfig.test.json deleted file mode 100644 index ff98fbfbe8..0000000000 --- a/packages/message-manager/tsconfig.test.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" } - ], - "include": ["../../types", "./src"] -} diff --git a/packages/network-controller/tsconfig.test.json b/packages/network-controller/tsconfig.test.json deleted file mode 100644 index ff98fbfbe8..0000000000 --- a/packages/network-controller/tsconfig.test.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" } - ], - "include": ["../../types", "./src"] -} diff --git a/packages/notification-controller/tsconfig.test.json b/packages/notification-controller/tsconfig.test.json deleted file mode 100644 index ff98fbfbe8..0000000000 --- a/packages/notification-controller/tsconfig.test.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" } - ], - "include": ["../../types", "./src"] -} diff --git a/packages/permission-controller/tsconfig.test.json b/packages/permission-controller/tsconfig.test.json deleted file mode 100644 index 327cc8662d..0000000000 --- a/packages/permission-controller/tsconfig.test.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [ - { "path": "../approval-controller" }, - { "path": "../base-controller" }, - { "path": "../controller-utils" } - ], - "include": ["../../types", "./src"] -} diff --git a/packages/phishing-controller/tsconfig.test.json b/packages/phishing-controller/tsconfig.test.json deleted file mode 100644 index ff98fbfbe8..0000000000 --- a/packages/phishing-controller/tsconfig.test.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" } - ], - "include": ["../../types", "./src"] -} diff --git a/packages/preferences-controller/tsconfig.test.json b/packages/preferences-controller/tsconfig.test.json deleted file mode 100644 index ff98fbfbe8..0000000000 --- a/packages/preferences-controller/tsconfig.test.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" } - ], - "include": ["../../types", "./src"] -} diff --git a/packages/rate-limit-controller/tsconfig.test.json b/packages/rate-limit-controller/tsconfig.test.json deleted file mode 100644 index e717cbcf4c..0000000000 --- a/packages/rate-limit-controller/tsconfig.test.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [{ "path": "../base-controller" }], - "include": ["../../types", "./src"] -} diff --git a/packages/subject-metadata-controller/tsconfig.test.json b/packages/subject-metadata-controller/tsconfig.test.json deleted file mode 100644 index 313b73f207..0000000000 --- a/packages/subject-metadata-controller/tsconfig.test.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [ - { "path": "../base-controller" }, - { "path": "../permission-controller" } - ], - "include": ["../../types", "./src"] -} diff --git a/packages/transaction-controller/tsconfig.test.json b/packages/transaction-controller/tsconfig.test.json deleted file mode 100644 index b5ecb34cc2..0000000000 --- a/packages/transaction-controller/tsconfig.test.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "../../tsconfig.packages.test.json", - "compilerOptions": { - "baseUrl": "./" - }, - "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../network-controller" } - ], - "include": ["../../types", "./src"] -} diff --git a/tsconfig.packages.test.json b/tsconfig.packages.test.json deleted file mode 100644 index c8b7f46bc0..0000000000 --- a/tsconfig.packages.test.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "extends": "./tsconfig.packages.json", - "compilerOptions": { - /** - * Instruct ts-jest to process JS files as well as TS files. - * This is important because some NPM modules (e.g. "multiformats") ship - * with ESM files, and these files will be used even if they ship with TS - * definition files, if Jest is run using the `jsdom` environment and the - * "browser" field for these packages points to the ESM version. - * This is paired with `transformIgnorePatterns` to explicitly tell Jest not - * to ignore these packages when transforming files. - * See: - */ - "allowJs": true, - /** - * Prevent warnings related to this option from being printed when running - * tests. - */ - "esModuleInterop": true - } -} From 72d47b138829e5aab75e6ee738fcd09406cc9188 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 10 Oct 2022 15:16:12 -0600 Subject: [PATCH 048/115] Fix exports of all packages to match current exports --- packages/assets-controllers/src/index.ts | 1 + packages/base-controller/src/index.ts | 2 +- packages/message-manager/src/index.ts | 2 -- packages/network-controller/jest.config.js | 8 ++++---- packages/transaction-controller/src/index.ts | 1 - 5 files changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/assets-controllers/src/index.ts b/packages/assets-controllers/src/index.ts index 5ddd4f7660..9465c5a87c 100644 --- a/packages/assets-controllers/src/index.ts +++ b/packages/assets-controllers/src/index.ts @@ -8,3 +8,4 @@ export * from './TokenDetectionController'; export * from './TokenListController'; export * from './TokenRatesController'; export * from './TokensController'; +export { formatIconUrlWithProxy } from './assetsUtil'; diff --git a/packages/base-controller/src/index.ts b/packages/base-controller/src/index.ts index b83f82e3c4..76d70d9a2c 100644 --- a/packages/base-controller/src/index.ts +++ b/packages/base-controller/src/index.ts @@ -1,6 +1,6 @@ export { BaseConfig, - default as BaseController, + BaseController, BaseState, Listener, } from './BaseController'; diff --git a/packages/message-manager/src/index.ts b/packages/message-manager/src/index.ts index d7b8f3864f..239569e41c 100644 --- a/packages/message-manager/src/index.ts +++ b/packages/message-manager/src/index.ts @@ -1,5 +1,3 @@ -export * from './AbstractMessageManager'; export * from './MessageManager'; export * from './PersonalMessageManager'; export * from './TypedMessageManager'; -export * from './utils'; diff --git a/packages/network-controller/jest.config.js b/packages/network-controller/jest.config.js index 4459c6d61a..512fdfa7a6 100644 --- a/packages/network-controller/jest.config.js +++ b/packages/network-controller/jest.config.js @@ -16,10 +16,10 @@ module.exports = merge(baseConfig, { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 72.5, - functions: 78.57, - lines: 85.1, - statements: 85.1, + branches: 80, + functions: 82.14, + lines: 86.17, + statements: 86.17, }, }, }); diff --git a/packages/transaction-controller/src/index.ts b/packages/transaction-controller/src/index.ts index a13df053dd..9ecbc1c43a 100644 --- a/packages/transaction-controller/src/index.ts +++ b/packages/transaction-controller/src/index.ts @@ -1,2 +1 @@ export * from './TransactionController'; -export * from './utils'; From 74478650a603c2c80f0ec02bc06d0da2db2f9a58 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 10 Oct 2022 16:39:26 -0600 Subject: [PATCH 049/115] Add more constraints --- constraints.pro | 89 +++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 76 insertions(+), 13 deletions(-) diff --git a/constraints.pro b/constraints.pro index da03763ee1..1ffd25cc94 100644 --- a/constraints.pro +++ b/constraints.pro @@ -1,17 +1,28 @@ -%%% Utility predicates +%%%%% +% Utility predicates +%%%%% +% True if and only if VersionRange is a value that we would expect to see +% following a package in a "*dependencies" field within a `package.json`. is_valid_version_range(VersionRange) :- VersionRange = 'workspace:^'; VersionRange = 'workspace:~'; parse_version_range(VersionRange, _, _, _, _). +% Succeeds if Number can be unified with Atom converted to a number; throws if +% not. atom_to_number(Atom, Number) :- atom_chars(Atom, Chars), number_chars(Number, Chars). +% True if and only if Atom can be converted to a number. is_atom_number(Atom) :- catch(atom_to_number(Atom, _), _, false). +% True if and only if Modifier can be unified with the leading character of the +% version range ("^" or "~" if present, or "" if not present), Major can be +% unified with the major part of the version string, Minor with the minor, and +% Patch with the patch. parse_version_range(VersionRange, Modifier, Major, Minor, Patch) :- % Identify and extract the modifier (^ or ~) from the version string atom_chars(VersionRange, Chars), @@ -45,6 +56,11 @@ parse_version_range(VersionRange, Modifier, Major, Minor, Patch) :- atom_to_number(MinorAtom, Minor), atom_to_number(PatchAtom, Patch). +% True if and only if the first SemVer version range is less than the second +% SemVer version range. Such a range must match "^MAJOR.MINOR.PATCH", +% "~MAJOR.MINOR.PATCH", "MAJOR.MINOR.PATCH". If two ranges do not have the same +% modifier ("^" or "~"), then they cannot be compared and the first cannot be +% considered as less than the second. npm_version_range_out_of_sync(VersionRange1, VersionRange2) :- parse_version_range(VersionRange1, VersionRange1Modifier, VersionRange1Major, VersionRange1Minor, VersionRange1Patch), parse_version_range(VersionRange2, VersionRange2Modifier, VersionRange2Major, VersionRange2Minor, VersionRange2Patch), @@ -69,58 +85,105 @@ npm_version_range_out_of_sync(VersionRange1, VersionRange2) :- ) ). +% True if and only if WorkspaceBasename can unify with the part of the given +% workspace directory name that results from removing all leading directories. +workspace_basename(WorkspaceCwd, WorkspaceBasename) :- + atomic_list_concat(Parts, '/', WorkspaceCwd), + last(Parts, WorkspaceBasename). + +%%%%% +% Constraints +%%%%% + % "name" is required for all workspaces (including the root). \+ gen_enforced_field(WorkspaceCwd, 'name', null). -% "description" is required for all workspaces. +% The name of the root package can be anything, but the name of a workspace +% package must match its directory (e.g., a package located in "packages/foo" +% must be called "@metamask/foo"). +gen_enforced_field(WorkspaceCwd, 'name', WorkspacePackageName) :- + \+ workspace_field(WorkspaceCwd, 'private', true), + workspace_basename(WorkspaceCwd, WorkspaceBasename), + atom_concat('@metamask/', WorkspaceBasename, WorkspacePackageName). + +% "description" is required for all packages. \+ gen_enforced_field(WorkspaceCwd, 'description', null). -% "repository.type" must be "git" for all workspaces (including the root). +% The value of "description" cannot end with a period. +gen_enforced_field(WorkspaceCwd, 'description', DescriptionWithoutTrailingPeriod) :- + workspace_field(WorkspaceCwd, 'description', Description), + atom_length(Description, Length), + LengthLessOne is Length - 1, + sub_atom(Description, LengthLessOne, 1, 0, LastCharacter), + sub_atom(Description, 0, LengthLessOne, 1, DescriptionWithoutPossibleTrailingPeriod), + ( + LastCharacter == '.' -> + DescriptionWithoutTrailingPeriod = DescriptionWithoutPossibleTrailingPeriod ; + DescriptionWithoutTrailingPeriod = Description + ). + +% "keywords" must be the same across all workspace packages +% (and must be unset for the root). +gen_enforced_field(WorkspaceCwd, 'keywords', ['MetaMask', 'Ethereum']) :- + \+ workspace_field(WorkspaceCwd, 'private', true). +gen_enforced_field(WorkspaceCwd, 'keywords', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% "homepage" must match the name of the package (based on the workspace +% directory name) across all workspace packages (and must be unset for the +% root). +gen_enforced_field(WorkspaceCwd, 'homepage', CorrectHomepageUrl) :- + \+ workspace_field(WorkspaceCwd, 'private', true), + workspace_basename(WorkspaceCwd, WorkspaceBasename), + atomic_list_concat(['https://github.com/MetaMask/controllers/tree/main/packages/', WorkspaceBasename, '#readme'], CorrectHomepageUrl). +gen_enforced_field(WorkspaceCwd, 'homepage', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% "repository.type" must be "git" for all packages. gen_enforced_field(WorkspaceCwd, 'repository.type', 'git'). % "repository.url" must be "https://github.com/MetaMask/controllers.git" for all -% workspaces (including the root). +% packages. gen_enforced_field(WorkspaceCwd, 'repository.url', 'https://github.com/MetaMask/controllers.git'). -% "license" must be "MIT" for all publishable workspaces and unset for the -% root. +% "license" must be "MIT" for all workspace packages and unset for the root. gen_enforced_field(WorkspaceCwd, 'license', 'MIT') :- \+ workspace_field(WorkspaceCwd, 'private', true). gen_enforced_field(WorkspaceCwd, 'license', null) :- workspace_field(WorkspaceCwd, 'private', true). -% "main" must be "dist/index.js" for publishable workspaces and unset for the +% "main" must be "dist/index.js" for workspace workspaces and unset for the % root. gen_enforced_field(WorkspaceCwd, 'main', './dist/index.js') :- \+ workspace_field(WorkspaceCwd, 'private', true). gen_enforced_field(WorkspaceCwd, 'main', null) :- workspace_field(WorkspaceCwd, 'private', true). -% "types" must be "dist/index.d.ts" for publishable workspaces and unset for the +% "types" must be "dist/index.d.ts" for workspace workspaces and unset for the % root. gen_enforced_field(WorkspaceCwd, 'types', './dist/index.d.ts') :- \+ workspace_field(WorkspaceCwd, 'private', true). gen_enforced_field(WorkspaceCwd, 'types', null) :- workspace_field(WorkspaceCwd, 'private', true). -% "files" must be ["dist/"] for publishable workspaces and unset for the root. +% "files" must be ["dist/"] for workspace packages and unset for the root. gen_enforced_field(WorkspaceCwd, 'files', ['dist/']) :- \+ workspace_field(WorkspaceCwd, 'private', true). gen_enforced_field(WorkspaceCwd, 'files', null) :- workspace_field(WorkspaceCwd, 'private', true). -% "engines.node" must be ">=14.0.0" for all workspaces. +% "engines.node" must be ">=14.0.0" for all packages. gen_enforced_field(WorkspaceCwd, 'engines.node', '>=14.0.0'). -% "publishConfig.access" must be "public" for publishable workspaces and unset +% "publishConfig.access" must be "public" for workspace packages and unset % for the root. gen_enforced_field(WorkspaceCwd, 'publishConfig.access', 'public') :- \+ workspace_field(WorkspaceCwd, 'private', true). gen_enforced_field(WorkspaceCwd, 'publishConfig.access', null) :- workspace_field(WorkspaceCwd, 'private', true). -% "publishConfig.registry" must be "https://registry.npmjs.org" for publishable -% workspaces and unset for the root. +% "publishConfig.registry" must be "https://registry.npmjs.org" for all +% workspace packages and unset for the root. gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', 'https://registry.npmjs.org/') :- \+ workspace_field(WorkspaceCwd, 'private', true). gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', null) :- From ccd2e835c913538f6e5398d9e0aa90cce2ec3aca Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 10 Oct 2022 16:51:45 -0600 Subject: [PATCH 050/115] Bump the version to the current version We can't start at 0.0.0 because this repo already has tags, so `create-release-branch` will fail to run because there's no v0.0.0 tag. So the monorepo will start at the currently release version of `@metamask/controllers`. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4a0b4afaaf..db9a6b46a7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/controllers-monorepo", - "version": "0.0.0", + "version": "31.2.0", "private": true, "description": "Collection of platform-agnostic modules for creating secure data models for cryptocurrency wallets", "repository": { From 190489d32528efa1d5169e2135fafa60b713a1cc Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 10 Oct 2022 17:19:57 -0600 Subject: [PATCH 051/115] Start all packages' versions from scratch --- packages/address-book-controller/package.json | 2 +- packages/announcement-controller/package.json | 2 +- packages/approval-controller/package.json | 2 +- packages/assets-controllers/package.json | 2 +- packages/base-controller/package.json | 2 +- packages/composable-controller/package.json | 2 +- packages/controller-utils/package.json | 2 +- packages/ens-controller/package.json | 2 +- packages/gas-fee-controller/package.json | 2 +- packages/keyring-controller/package.json | 2 +- packages/message-manager/package.json | 2 +- packages/network-controller/package.json | 2 +- packages/notification-controller/package.json | 2 +- packages/permission-controller/package.json | 2 +- packages/phishing-controller/package.json | 2 +- packages/preferences-controller/package.json | 2 +- packages/rate-limit-controller/package.json | 2 +- packages/subject-metadata-controller/package.json | 2 +- packages/transaction-controller/package.json | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/packages/address-book-controller/package.json b/packages/address-book-controller/package.json index 212f827674..93b2fa50d8 100644 --- a/packages/address-book-controller/package.json +++ b/packages/address-book-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/address-book-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Manages a list of recipient addresses associated with nicknames", "keywords": [ "MetaMask", diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index 885eca1972..dedf321302 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/announcement-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Manages in-app announcements", "keywords": [ "MetaMask", diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index 88b5694572..b26f972189 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/approval-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Manages requests that require user approval", "keywords": [ "MetaMask", diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index e6dfc274c3..e1e55997b2 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/assets-controllers", - "version": "0.1.0", + "version": "0.0.0", "description": "Controllers which manage interactions involving ERC-20, ERC-721, and ERC-1155 tokens (including NFTs)", "keywords": [ "MetaMask", diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index 26cd883c3c..9a1b64990b 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/base-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Provides scaffolding for controllers as well a communication system for all controllers", "keywords": [ "MetaMask", diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 1cd7e902da..0a939f7bc6 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/composable-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Consolidates the state from multiple controllers into one", "keywords": [ "MetaMask", diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 29af6ccc4d..00b4c760b6 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/controller-utils", - "version": "0.1.0", + "version": "0.0.0", "description": "Data and convenience functions shared by multiple packages", "keywords": [ "MetaMask", diff --git a/packages/ens-controller/package.json b/packages/ens-controller/package.json index a75a6bd339..5433ebcd33 100644 --- a/packages/ens-controller/package.json +++ b/packages/ens-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/ens-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Maps ENS names to their resolved addresses by chain id", "keywords": [ "MetaMask", diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index dc3d665517..3828d5e3ec 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/gas-fee-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Periodically calculates gas fee estimates based on various gas limits as well as other data displayed on transaction confirm screens", "keywords": [ "MetaMask", diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 38823ea032..3c59cfaf85 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/keyring-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Stores identities seen in the wallet and manages interactions such as signing", "keywords": [ "MetaMask", diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 6089aa62ad..1b316e4b24 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/message-manager", - "version": "0.1.0", + "version": "0.0.0", "description": "Stores and manages interactions with signing requests", "keywords": [ "MetaMask", diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index eb876be70f..1474181928 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/network-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Provides an interface to the currently selected network via a MetaMask-compatible provider object", "keywords": [ "MetaMask", diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index 408371f6d1..c8744fff83 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/notification-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Manages display of the \"What's New\" messages in MetaMask", "keywords": [ "MetaMask", diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 3ee959e0a9..15058767b7 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/permission-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Mediates access to JSON-RPC methods, used to interact with pieces of the MetaMask stack, via middleware for json-rpc-engine", "keywords": [ "MetaMask", diff --git a/packages/phishing-controller/package.json b/packages/phishing-controller/package.json index 1ec2bba8c1..543f9eaf7b 100644 --- a/packages/phishing-controller/package.json +++ b/packages/phishing-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/phishing-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Maintains a periodically updated list of approved and unapproved website origins", "keywords": [ "MetaMask", diff --git a/packages/preferences-controller/package.json b/packages/preferences-controller/package.json index 57627bf937..e9422ee1ba 100644 --- a/packages/preferences-controller/package.json +++ b/packages/preferences-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/preferences-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Manages user-configurable settings for MetaMask", "keywords": [ "MetaMask", diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index d0263b821f..7923f1c5f4 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/rate-limit-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Contains logic for rate-limiting API endpoints by requesting origin", "keywords": [ "MetaMask", diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index fab4b2a7a0..555947239b 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/subject-metadata-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Caches metadata associated with permission subjects", "keywords": [ "MetaMask", diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index ff2e48ec30..d60a0b7bc5 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/transaction-controller", - "version": "0.1.0", + "version": "0.0.0", "description": "Stores transactions alongside their periodically updated statuses and manages interactions such as approval and cancellation", "keywords": [ "MetaMask", From d9e2b7a2bac3da24e4a8c3451b235890c30809d8 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Mon, 10 Oct 2022 17:22:41 -0600 Subject: [PATCH 052/115] Fix tests --- packages/network-controller/jest.config.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/network-controller/jest.config.js b/packages/network-controller/jest.config.js index 512fdfa7a6..4459c6d61a 100644 --- a/packages/network-controller/jest.config.js +++ b/packages/network-controller/jest.config.js @@ -16,10 +16,10 @@ module.exports = merge(baseConfig, { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 80, - functions: 82.14, - lines: 86.17, - statements: 86.17, + branches: 72.5, + functions: 78.57, + lines: 85.1, + statements: 85.1, }, }, }); From 843a5f5677d9cd7c43e14f4a65f69320045930b6 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 11 Oct 2022 10:57:58 -0600 Subject: [PATCH 053/115] Tweak wording in constraints file --- constraints.pro | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/constraints.pro b/constraints.pro index 1ffd25cc94..c43b26122c 100644 --- a/constraints.pro +++ b/constraints.pro @@ -152,14 +152,14 @@ gen_enforced_field(WorkspaceCwd, 'license', 'MIT') :- gen_enforced_field(WorkspaceCwd, 'license', null) :- workspace_field(WorkspaceCwd, 'private', true). -% "main" must be "dist/index.js" for workspace workspaces and unset for the +% "main" must be "dist/index.js" for workspace packages and unset for the % root. gen_enforced_field(WorkspaceCwd, 'main', './dist/index.js') :- \+ workspace_field(WorkspaceCwd, 'private', true). gen_enforced_field(WorkspaceCwd, 'main', null) :- workspace_field(WorkspaceCwd, 'private', true). -% "types" must be "dist/index.d.ts" for workspace workspaces and unset for the +% "types" must be "dist/index.d.ts" for workspace packages and unset for the % root. gen_enforced_field(WorkspaceCwd, 'types', './dist/index.d.ts') :- \+ workspace_field(WorkspaceCwd, 'private', true). From b3eeefd409e79b4d3d7111370d46f735e54fe7e1 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Wed, 12 Oct 2022 21:06:12 -0600 Subject: [PATCH 054/115] Restore .editorconfig --- .editorconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/.editorconfig b/.editorconfig index 435e3c736a..95549fd7cd 100644 --- a/.editorconfig +++ b/.editorconfig @@ -10,4 +10,5 @@ insert_final_newline = true trim_trailing_whitespace = true [*.md] +indent_size = 4 trim_trailing_whitespace = false From d2c700eb95d1b696cb7632650cae9ae1f9b59727 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Wed, 12 Oct 2022 21:30:36 -0600 Subject: [PATCH 055/115] Restore .github/workflows/build-lint-test.yml --- .../{lint-build-test.yml => build-lint-test.yml} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename .github/workflows/{lint-build-test.yml => build-lint-test.yml} (94%) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/build-lint-test.yml similarity index 94% rename from .github/workflows/lint-build-test.yml rename to .github/workflows/build-lint-test.yml index 15585c0597..b24ea49b4e 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -1,4 +1,4 @@ -name: Lint, Build, and Test +name: Build, Lint, and Test on: push: @@ -6,7 +6,7 @@ on: pull_request: jobs: - lint-build-test: + build-lint-test: name: Build, Lint, and Test runs-on: ubuntu-20.04 strategy: @@ -30,14 +30,14 @@ jobs: path: ${{ steps.yarn-cache-dir.outputs.YARN_CACHE_DIR }} key: yarn-cache-${{ runner.os }}-${{ steps.yarn-version.outputs.YARN_VERSION }}-${{ hashFiles('yarn.lock') }} - run: yarn --immutable - - run: yarn lint - - run: yarn changelog:validate - run: yarn build + - run: yarn lint - run: yarn test --maxWorkers=1 --forceExit + - run: yarn changelog:validate all-jobs-pass: name: All jobs pass runs-on: ubuntu-20.04 needs: - - lint-build-test + - build-lint-test steps: - run: echo "Great success!" From 9742ca7280e7b30920c647ead638c4c097387b81 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 13 Oct 2022 12:02:25 -0600 Subject: [PATCH 056/115] Restore isomorphic-fetch --- jest.config.packages.js | 2 +- package.json | 1 + packages/controller-utils/package.json | 4 +-- packages/controller-utils/src/index.ts | 2 ++ packages/controller-utils/src/util.ts | 3 +- packages/phishing-controller/package.json | 2 +- .../src/PhishingController.ts | 3 +- packages/phishing-controller/src/index.ts | 2 ++ packages/transaction-controller/package.json | 2 +- .../src/TransactionController.test.ts | 21 +++-------- tests/setup.ts | 1 + yarn.lock | 35 ++++++++++++------- 12 files changed, 39 insertions(+), 39 deletions(-) create mode 100644 tests/setup.ts diff --git a/jest.config.packages.js b/jest.config.packages.js index 54262d8ef0..c9e0cc1ca7 100644 --- a/jest.config.packages.js +++ b/jest.config.packages.js @@ -138,7 +138,7 @@ module.exports = { // runner: "jest-runner", // The paths to modules that run some code to configure or set up the testing environment before each test - // setupFiles: [], + setupFiles: ['../../tests/setup.ts'], // A list of paths to modules that run some code to configure or set up the testing framework before each test setupFilesAfterEnv: ['../../tests/setupAfterEnv.ts'], diff --git a/package.json b/package.json index 8a09a0b4aa..6dd7616396 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,7 @@ "eslint-plugin-jsdoc": "^36.1.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.4.1", + "isomorphic-fetch": "^3.0.0", "prettier": "^2.6.2", "prettier-plugin-packagejson": "^2.2.17", "rimraf": "^3.0.2", diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 00b4c760b6..7f5417eb30 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -28,12 +28,12 @@ }, "dependencies": { "@metamask/base-controller": "workspace:~", - "cross-fetch": "^3.1.5", "eth-ens-namehash": "^2.0.8", "eth-rpc-errors": "^4.0.0", "ethereumjs-util": "^7.1.4", "ethjs-unit": "^0.1.6", - "fast-deep-equal": "^3.1.3" + "fast-deep-equal": "^3.1.3", + "isomorphic-fetch": "^3.0.0" }, "devDependencies": { "@metamask/auto-changelog": "^2.6.0", diff --git a/packages/controller-utils/src/index.ts b/packages/controller-utils/src/index.ts index 5c9f2dbfc6..e0a2d81dc4 100644 --- a/packages/controller-utils/src/index.ts +++ b/packages/controller-utils/src/index.ts @@ -1,3 +1,5 @@ +import 'isomorphic-fetch'; + export * from './constants'; export * from './util'; export * from './types'; diff --git a/packages/controller-utils/src/util.ts b/packages/controller-utils/src/util.ts index f015d1a5d1..e47ed77d03 100644 --- a/packages/controller-utils/src/util.ts +++ b/packages/controller-utils/src/util.ts @@ -1,4 +1,3 @@ -import crossFetch from 'cross-fetch'; import { addHexPrefix, isValidAddress, @@ -298,7 +297,7 @@ export function isSmartContractCode(code: string) { * @returns The fetch response. */ export async function successfulFetch(request: string, options?: RequestInit) { - const response = await crossFetch(request, options); + const response = await fetch(request, options); if (!response.ok) { throw new Error( `Fetch failed with status '${response.status}' for request '${request}'`, diff --git a/packages/phishing-controller/package.json b/packages/phishing-controller/package.json index 543f9eaf7b..6c5f3c89dc 100644 --- a/packages/phishing-controller/package.json +++ b/packages/phishing-controller/package.json @@ -30,8 +30,8 @@ "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", "@types/punycode": "^2.1.0", - "cross-fetch": "^3.1.5", "eth-phishing-detect": "^1.2.0", + "isomorphic-fetch": "^3.0.0", "punycode": "^2.1.1" }, "devDependencies": { diff --git a/packages/phishing-controller/src/PhishingController.ts b/packages/phishing-controller/src/PhishingController.ts index 10ba7955af..0ce7330b98 100644 --- a/packages/phishing-controller/src/PhishingController.ts +++ b/packages/phishing-controller/src/PhishingController.ts @@ -1,4 +1,3 @@ -import crossFetch from 'cross-fetch'; import { toASCII } from 'punycode/'; import DEFAULT_PHISHING_RESPONSE from 'eth-phishing-detect/src/config.json'; import PhishingDetector from 'eth-phishing-detect/src/detector'; @@ -285,7 +284,7 @@ export class PhishingController extends BaseController< input: RequestInfo, ): Promise { const response = await safelyExecute( - () => crossFetch(input, { cache: 'no-cache' }), + () => fetch(input, { cache: 'no-cache' }), true, ); diff --git a/packages/phishing-controller/src/index.ts b/packages/phishing-controller/src/index.ts index 703c8fe9e3..d462ec3090 100644 --- a/packages/phishing-controller/src/index.ts +++ b/packages/phishing-controller/src/index.ts @@ -1 +1,3 @@ +import 'isomorphic-fetch'; + export * from './PhishingController'; diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index d60a0b7bc5..6b01ef91e5 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -43,9 +43,9 @@ "devDependencies": { "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", - "cross-fetch": "^3.1.5", "deepmerge": "^4.2.2", "ethjs-provider-http": "^0.1.6", + "isomorphic-fetch": "^3.0.0", "jest": "^26.4.2", "jest-it-up": "^2.0.2", "sinon": "^9.2.4", diff --git a/packages/transaction-controller/src/TransactionController.test.ts b/packages/transaction-controller/src/TransactionController.test.ts index 4253e3ff77..3901ceb506 100644 --- a/packages/transaction-controller/src/TransactionController.test.ts +++ b/packages/transaction-controller/src/TransactionController.test.ts @@ -1,4 +1,3 @@ -import * as crossFetchModule from 'cross-fetch'; import * as sinon from 'sinon'; import HttpProvider from 'ethjs-provider-http'; import { NetworksChainId, NetworkType } from '@metamask/controller-utils'; @@ -18,14 +17,6 @@ import { txsInStateWithOutdatedStatusAndGasDataMock, } from './mocks/txsMock'; -jest.mock('cross-fetch', () => { - return { - __esModule: true, - ...jest.requireActual('cross-fetch'), - default: jest.fn(), - }; -}); - jest.mock('uuid', () => { return { ...jest.requireActual('uuid'), @@ -109,9 +100,9 @@ jest.mock('eth-query', () => */ function mockFetchWithStaticResponse(data: any) { return jest - .spyOn(crossFetchModule, 'default') + .spyOn(global, 'fetch') .mockImplementation(() => - Promise.resolve(new crossFetchModule.Response(JSON.stringify(data))), + Promise.resolve(new Response(JSON.stringify(data))), ); } @@ -124,13 +115,9 @@ function mockFetchWithStaticResponse(data: any) { */ function mockFetchWithDynamicResponse(dataForUrl: any) { return jest - .spyOn(crossFetchModule, 'default') + .spyOn(global, 'fetch') .mockImplementation((key) => - Promise.resolve( - new crossFetchModule.Response( - JSON.stringify(dataForUrl[key.toString()]), - ), - ), + Promise.resolve(new Response(JSON.stringify(dataForUrl[key.toString()]))), ); } diff --git a/tests/setup.ts b/tests/setup.ts new file mode 100644 index 0000000000..9f4b4e806a --- /dev/null +++ b/tests/setup.ts @@ -0,0 +1 @@ +import 'isomorphic-fetch'; diff --git a/yarn.lock b/yarn.lock index f9b9ad1fb9..d14b23aeb7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1452,13 +1452,13 @@ __metadata: "@metamask/base-controller": "workspace:~" "@types/jest": ^26.0.22 abort-controller: ^3.0.0 - cross-fetch: ^3.1.5 deepmerge: ^4.2.2 eth-ens-namehash: ^2.0.8 eth-rpc-errors: ^4.0.0 ethereumjs-util: ^7.1.4 ethjs-unit: ^0.1.6 fast-deep-equal: ^3.1.3 + isomorphic-fetch: ^3.0.0 jest: ^26.4.2 jest-it-up: ^2.0.2 nock: ^13.0.7 @@ -1488,6 +1488,7 @@ __metadata: eslint-plugin-jsdoc: ^36.1.0 eslint-plugin-node: ^11.1.0 eslint-plugin-prettier: ^3.4.1 + isomorphic-fetch: ^3.0.0 prettier: ^2.6.2 prettier-plugin-packagejson: ^2.2.17 rimraf: ^3.0.2 @@ -1768,9 +1769,9 @@ __metadata: "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 "@types/punycode": ^2.1.0 - cross-fetch: ^3.1.5 deepmerge: ^4.2.2 eth-phishing-detect: ^1.2.0 + isomorphic-fetch: ^3.0.0 jest: ^26.4.2 jest-it-up: ^2.0.2 nock: ^13.0.7 @@ -1860,13 +1861,13 @@ __metadata: "@types/jest": ^26.0.22 async-mutex: ^0.2.6 babel-runtime: ^6.26.0 - cross-fetch: ^3.1.5 deepmerge: ^4.2.2 eth-method-registry: 1.1.0 eth-query: ^2.1.2 eth-rpc-errors: ^4.0.0 ethereumjs-util: ^7.1.4 ethjs-provider-http: ^0.1.6 + isomorphic-fetch: ^3.0.0 jest: ^26.4.2 jest-it-up: ^2.0.2 sinon: ^9.2.4 @@ -3786,15 +3787,6 @@ __metadata: languageName: node linkType: hard -"cross-fetch@npm:^3.1.5": - version: 3.1.5 - resolution: "cross-fetch@npm:3.1.5" - dependencies: - node-fetch: 2.6.7 - checksum: f6b8c6ee3ef993ace6277fd789c71b6acf1b504fd5f5c7128df4ef2f125a429e29cd62dc8c127523f04a5f2fa4771ed80e3f3d9695617f441425045f505cf3bb - languageName: node - linkType: hard - "cross-spawn@npm:^6.0.0": version: 6.0.5 resolution: "cross-spawn@npm:6.0.5" @@ -6631,6 +6623,16 @@ __metadata: languageName: node linkType: hard +"isomorphic-fetch@npm:^3.0.0": + version: 3.0.0 + resolution: "isomorphic-fetch@npm:3.0.0" + dependencies: + node-fetch: ^2.6.1 + whatwg-fetch: ^3.4.1 + checksum: e5ab79a56ce5af6ddd21265f59312ad9a4bc5a72cebc98b54797b42cb30441d5c5f8d17c5cd84a99e18101c8af6f90c081ecb8d12fd79e332be1778d58486d75 + languageName: node + linkType: hard + "isstream@npm:~0.1.2": version: 0.1.2 resolution: "isstream@npm:0.1.2" @@ -8147,7 +8149,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:2.6.7, node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1": +"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" dependencies: @@ -10699,6 +10701,13 @@ __metadata: languageName: node linkType: hard +"whatwg-fetch@npm:^3.4.1": + version: 3.6.2 + resolution: "whatwg-fetch@npm:3.6.2" + checksum: ee976b7249e7791edb0d0a62cd806b29006ad7ec3a3d89145921ad8c00a3a67e4be8f3fb3ec6bc7b58498724fd568d11aeeeea1f7827e7e1e5eae6c8a275afed + languageName: node + linkType: hard + "whatwg-mimetype@npm:^2.3.0": version: 2.3.0 resolution: "whatwg-mimetype@npm:2.3.0" From d354a5fa5ad2b4589c636359c4b116414c5ce504 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 13 Oct 2022 16:07:58 -0600 Subject: [PATCH 057/115] Remove this instance of Yarn allow-scripts plugin --- .yarn/plugins/plugin-allow-scripts.cjs | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 .yarn/plugins/plugin-allow-scripts.cjs diff --git a/.yarn/plugins/plugin-allow-scripts.cjs b/.yarn/plugins/plugin-allow-scripts.cjs deleted file mode 100644 index 44e42da4f7..0000000000 --- a/.yarn/plugins/plugin-allow-scripts.cjs +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = { - name: `plugin-allow-scripts`, - factory: (yarnRequire) => ({ - hooks: { - afterAllInstalled: async () => { - const { execute } = yarnRequire('@yarnpkg/shell'); - const exitCode = await execute('yarn run allow-scripts'); - - if (exitCode !== 0) { - // We have to use `process.exit` here rather than setting `process.exitCode` - // because Yarn will override any exit code set in this hook. - // eslint-disable-next-line node/no-process-exit - process.exit(exitCode); - } - }, - }, - }), -}; From 296cced4e29a3fbd9ae204cb1614037e57865649 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 13 Oct 2022 16:08:16 -0600 Subject: [PATCH 058/115] Remove the Yarn version plugin --- .yarn/plugins/@yarnpkg/plugin-version.cjs | 550 ---------------------- .yarnrc.yml | 2 - 2 files changed, 552 deletions(-) delete mode 100644 .yarn/plugins/@yarnpkg/plugin-version.cjs diff --git a/.yarn/plugins/@yarnpkg/plugin-version.cjs b/.yarn/plugins/@yarnpkg/plugin-version.cjs deleted file mode 100644 index 87de4f440a..0000000000 --- a/.yarn/plugins/@yarnpkg/plugin-version.cjs +++ /dev/null @@ -1,550 +0,0 @@ -/* eslint-disable */ -//prettier-ignore -module.exports = { -name: "@yarnpkg/plugin-version", -factory: function (require) { -var plugin=(()=>{var ZB=Object.create,zy=Object.defineProperty,$B=Object.defineProperties,eU=Object.getOwnPropertyDescriptor,tU=Object.getOwnPropertyDescriptors,nU=Object.getOwnPropertyNames,uS=Object.getOwnPropertySymbols,rU=Object.getPrototypeOf,oS=Object.prototype.hasOwnProperty,iU=Object.prototype.propertyIsEnumerable;var lS=(i,o,f)=>o in i?zy(i,o,{enumerable:!0,configurable:!0,writable:!0,value:f}):i[o]=f,E0=(i,o)=>{for(var f in o||(o={}))oS.call(o,f)&&lS(i,f,o[f]);if(uS)for(var f of uS(o))iU.call(o,f)&&lS(i,f,o[f]);return i},Gf=(i,o)=>$B(i,tU(o)),uU=i=>zy(i,"__esModule",{value:!0});var ce=(i,o)=>()=>(o||i((o={exports:{}}).exports,o),o.exports),sS=(i,o)=>{for(var f in o)zy(i,f,{get:o[f],enumerable:!0})},oU=(i,o,f)=>{if(o&&typeof o=="object"||typeof o=="function")for(let p of nU(o))!oS.call(i,p)&&p!=="default"&&zy(i,p,{get:()=>o[p],enumerable:!(f=eU(o,p))||f.enumerable});return i},Mi=i=>oU(uU(zy(i!=null?ZB(rU(i)):{},"default",i&&i.__esModule&&"default"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i);var eD=ce((F$,aS)=>{function lU(i,o){for(var f=-1,p=i==null?0:i.length,E=Array(p);++f{function sU(){this.__data__=[],this.size=0}fS.exports=sU});var tD=ce((P$,dS)=>{function aU(i,o){return i===o||i!==i&&o!==o}dS.exports=aU});var qy=ce((I$,pS)=>{var fU=tD();function cU(i,o){for(var f=i.length;f--;)if(fU(i[f][0],o))return f;return-1}pS.exports=cU});var vS=ce((B$,hS)=>{var dU=qy(),pU=Array.prototype,hU=pU.splice;function vU(i){var o=this.__data__,f=dU(o,i);if(f<0)return!1;var p=o.length-1;return f==p?o.pop():hU.call(o,f,1),--this.size,!0}hS.exports=vU});var yS=ce((U$,mS)=>{var mU=qy();function yU(i){var o=this.__data__,f=mU(o,i);return f<0?void 0:o[f][1]}mS.exports=yU});var _S=ce((j$,gS)=>{var gU=qy();function _U(i){return gU(this.__data__,i)>-1}gS.exports=_U});var DS=ce((z$,ES)=>{var EU=qy();function DU(i,o){var f=this.__data__,p=EU(f,i);return p<0?(++this.size,f.push([i,o])):f[p][1]=o,this}ES.exports=DU});var Hy=ce((q$,wS)=>{var wU=cS(),SU=vS(),TU=yS(),CU=_S(),xU=DS();function jv(i){var o=-1,f=i==null?0:i.length;for(this.clear();++o{var AU=Hy();function RU(){this.__data__=new AU,this.size=0}SS.exports=RU});var xS=ce((W$,CS)=>{function OU(i){var o=this.__data__,f=o.delete(i);return this.size=o.size,f}CS.exports=OU});var RS=ce((V$,AS)=>{function kU(i){return this.__data__.get(i)}AS.exports=kU});var kS=ce((G$,OS)=>{function MU(i){return this.__data__.has(i)}OS.exports=MU});var nD=ce((Y$,MS)=>{var NU=typeof global=="object"&&global&&global.Object===Object&&global;MS.exports=NU});var Yf=ce((K$,NS)=>{var LU=nD(),FU=typeof self=="object"&&self&&self.Object===Object&&self,bU=LU||FU||Function("return this")();NS.exports=bU});var zv=ce((X$,LS)=>{var PU=Yf(),IU=PU.Symbol;LS.exports=IU});var BS=ce((Q$,bS)=>{var PS=zv(),IS=Object.prototype,BU=IS.hasOwnProperty,UU=IS.toString,Wy=PS?PS.toStringTag:void 0;function jU(i){var o=BU.call(i,Wy),f=i[Wy];try{i[Wy]=void 0;var p=!0}catch(t){}var E=UU.call(i);return p&&(o?i[Wy]=f:delete i[Wy]),E}bS.exports=jU});var jS=ce((J$,US)=>{var zU=Object.prototype,qU=zU.toString;function HU(i){return qU.call(i)}US.exports=HU});var Qp=ce((Z$,zS)=>{var qS=zv(),WU=BS(),VU=jS(),GU="[object Null]",YU="[object Undefined]",HS=qS?qS.toStringTag:void 0;function KU(i){return i==null?i===void 0?YU:GU:HS&&HS in Object(i)?WU(i):VU(i)}zS.exports=KU});var qv=ce(($$,WS)=>{function XU(i){var o=typeof i;return i!=null&&(o=="object"||o=="function")}WS.exports=XU});var rD=ce((eee,VS)=>{var QU=Qp(),JU=qv(),ZU="[object AsyncFunction]",$U="[object Function]",ej="[object GeneratorFunction]",tj="[object Proxy]";function nj(i){if(!JU(i))return!1;var o=QU(i);return o==$U||o==ej||o==ZU||o==tj}VS.exports=nj});var YS=ce((tee,GS)=>{var rj=Yf(),ij=rj["__core-js_shared__"];GS.exports=ij});var QS=ce((nee,KS)=>{var iD=YS(),XS=function(){var i=/[^.]+$/.exec(iD&&iD.keys&&iD.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function uj(i){return!!XS&&XS in i}KS.exports=uj});var uD=ce((ree,JS)=>{var oj=Function.prototype,lj=oj.toString;function sj(i){if(i!=null){try{return lj.call(i)}catch(o){}try{return i+""}catch(o){}}return""}JS.exports=sj});var $S=ce((iee,ZS)=>{var aj=rD(),fj=QS(),cj=qv(),dj=uD(),pj=/[\\^$.*+?()[\]{}|]/g,hj=/^\[object .+?Constructor\]$/,vj=Function.prototype,mj=Object.prototype,yj=vj.toString,gj=mj.hasOwnProperty,_j=RegExp("^"+yj.call(gj).replace(pj,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ej(i){if(!cj(i)||fj(i))return!1;var o=aj(i)?_j:hj;return o.test(dj(i))}ZS.exports=Ej});var tT=ce((uee,eT)=>{function Dj(i,o){return i==null?void 0:i[o]}eT.exports=Dj});var sd=ce((oee,nT)=>{var wj=$S(),Sj=tT();function Tj(i,o){var f=Sj(i,o);return wj(f)?f:void 0}nT.exports=Tj});var L_=ce((lee,rT)=>{var Cj=sd(),xj=Yf(),Aj=Cj(xj,"Map");rT.exports=Aj});var Vy=ce((see,iT)=>{var Rj=sd(),Oj=Rj(Object,"create");iT.exports=Oj});var lT=ce((aee,uT)=>{var oT=Vy();function kj(){this.__data__=oT?oT(null):{},this.size=0}uT.exports=kj});var aT=ce((fee,sT)=>{function Mj(i){var o=this.has(i)&&delete this.__data__[i];return this.size-=o?1:0,o}sT.exports=Mj});var cT=ce((cee,fT)=>{var Nj=Vy(),Lj="__lodash_hash_undefined__",Fj=Object.prototype,bj=Fj.hasOwnProperty;function Pj(i){var o=this.__data__;if(Nj){var f=o[i];return f===Lj?void 0:f}return bj.call(o,i)?o[i]:void 0}fT.exports=Pj});var pT=ce((dee,dT)=>{var Ij=Vy(),Bj=Object.prototype,Uj=Bj.hasOwnProperty;function jj(i){var o=this.__data__;return Ij?o[i]!==void 0:Uj.call(o,i)}dT.exports=jj});var vT=ce((pee,hT)=>{var zj=Vy(),qj="__lodash_hash_undefined__";function Hj(i,o){var f=this.__data__;return this.size+=this.has(i)?0:1,f[i]=zj&&o===void 0?qj:o,this}hT.exports=Hj});var yT=ce((hee,mT)=>{var Wj=lT(),Vj=aT(),Gj=cT(),Yj=pT(),Kj=vT();function Hv(i){var o=-1,f=i==null?0:i.length;for(this.clear();++o{var _T=yT(),Xj=Hy(),Qj=L_();function Jj(){this.size=0,this.__data__={hash:new _T,map:new(Qj||Xj),string:new _T}}gT.exports=Jj});var wT=ce((mee,DT)=>{function Zj(i){var o=typeof i;return o=="string"||o=="number"||o=="symbol"||o=="boolean"?i!=="__proto__":i===null}DT.exports=Zj});var Gy=ce((yee,ST)=>{var $j=wT();function ez(i,o){var f=i.__data__;return $j(o)?f[typeof o=="string"?"string":"hash"]:f.map}ST.exports=ez});var CT=ce((gee,TT)=>{var tz=Gy();function nz(i){var o=tz(this,i).delete(i);return this.size-=o?1:0,o}TT.exports=nz});var AT=ce((_ee,xT)=>{var rz=Gy();function iz(i){return rz(this,i).get(i)}xT.exports=iz});var OT=ce((Eee,RT)=>{var uz=Gy();function oz(i){return uz(this,i).has(i)}RT.exports=oz});var MT=ce((Dee,kT)=>{var lz=Gy();function sz(i,o){var f=lz(this,i),p=f.size;return f.set(i,o),this.size+=f.size==p?0:1,this}kT.exports=sz});var oD=ce((wee,NT)=>{var az=ET(),fz=CT(),cz=AT(),dz=OT(),pz=MT();function Wv(i){var o=-1,f=i==null?0:i.length;for(this.clear();++o{var hz=Hy(),vz=L_(),mz=oD(),yz=200;function gz(i,o){var f=this.__data__;if(f instanceof hz){var p=f.__data__;if(!vz||p.length{var _z=Hy(),Ez=TS(),Dz=xS(),wz=RS(),Sz=kS(),Tz=FT();function Vv(i){var o=this.__data__=new _z(i);this.size=o.size}Vv.prototype.clear=Ez;Vv.prototype.delete=Dz;Vv.prototype.get=wz;Vv.prototype.has=Sz;Vv.prototype.set=Tz;bT.exports=Vv});var BT=ce((Cee,IT)=>{function Cz(i,o){for(var f=-1,p=i==null?0:i.length;++f{var xz=sd(),Az=function(){try{var i=xz(Object,"defineProperty");return i({},"",{}),i}catch(o){}}();UT.exports=Az});var sD=ce((Aee,jT)=>{var zT=lD();function Rz(i,o,f){o=="__proto__"&&zT?zT(i,o,{configurable:!0,enumerable:!0,value:f,writable:!0}):i[o]=f}jT.exports=Rz});var aD=ce((Ree,qT)=>{var Oz=sD(),kz=tD(),Mz=Object.prototype,Nz=Mz.hasOwnProperty;function Lz(i,o,f){var p=i[o];(!(Nz.call(i,o)&&kz(p,f))||f===void 0&&!(o in i))&&Oz(i,o,f)}qT.exports=Lz});var Gv=ce((Oee,HT)=>{var Fz=aD(),bz=sD();function Pz(i,o,f,p){var E=!f;f||(f={});for(var t=-1,k=o.length;++t{function Iz(i,o){for(var f=-1,p=Array(i);++f{function Bz(i){return i!=null&&typeof i=="object"}GT.exports=Bz});var KT=ce((Nee,YT)=>{var Uz=Qp(),jz=ad(),zz="[object Arguments]";function qz(i){return jz(i)&&Uz(i)==zz}YT.exports=qz});var fD=ce((Lee,XT)=>{var QT=KT(),Hz=ad(),JT=Object.prototype,Wz=JT.hasOwnProperty,Vz=JT.propertyIsEnumerable,Gz=QT(function(){return arguments}())?QT:function(i){return Hz(i)&&Wz.call(i,"callee")&&!Vz.call(i,"callee")};XT.exports=Gz});var fd=ce((Fee,ZT)=>{var Yz=Array.isArray;ZT.exports=Yz});var eC=ce((bee,$T)=>{function Kz(){return!1}$T.exports=Kz});var cD=ce((Yy,Yv)=>{var Xz=Yf(),Qz=eC(),tC=typeof Yy=="object"&&Yy&&!Yy.nodeType&&Yy,nC=tC&&typeof Yv=="object"&&Yv&&!Yv.nodeType&&Yv,Jz=nC&&nC.exports===tC,rC=Jz?Xz.Buffer:void 0,Zz=rC?rC.isBuffer:void 0,$z=Zz||Qz;Yv.exports=$z});var uC=ce((Pee,iC)=>{var eq=9007199254740991,tq=/^(?:0|[1-9]\d*)$/;function nq(i,o){var f=typeof i;return o=o==null?eq:o,!!o&&(f=="number"||f!="symbol"&&tq.test(i))&&i>-1&&i%1==0&&i{var rq=9007199254740991;function iq(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=rq}oC.exports=iq});var sC=ce((Bee,lC)=>{var uq=Qp(),oq=dD(),lq=ad(),sq="[object Arguments]",aq="[object Array]",fq="[object Boolean]",cq="[object Date]",dq="[object Error]",pq="[object Function]",hq="[object Map]",vq="[object Number]",mq="[object Object]",yq="[object RegExp]",gq="[object Set]",_q="[object String]",Eq="[object WeakMap]",Dq="[object ArrayBuffer]",wq="[object DataView]",Sq="[object Float32Array]",Tq="[object Float64Array]",Cq="[object Int8Array]",xq="[object Int16Array]",Aq="[object Int32Array]",Rq="[object Uint8Array]",Oq="[object Uint8ClampedArray]",kq="[object Uint16Array]",Mq="[object Uint32Array]",o0={};o0[Sq]=o0[Tq]=o0[Cq]=o0[xq]=o0[Aq]=o0[Rq]=o0[Oq]=o0[kq]=o0[Mq]=!0;o0[sq]=o0[aq]=o0[Dq]=o0[fq]=o0[wq]=o0[cq]=o0[dq]=o0[pq]=o0[hq]=o0[vq]=o0[mq]=o0[yq]=o0[gq]=o0[_q]=o0[Eq]=!1;function Nq(i){return lq(i)&&oq(i.length)&&!!o0[uq(i)]}lC.exports=Nq});var F_=ce((Uee,aC)=>{function Lq(i){return function(o){return i(o)}}aC.exports=Lq});var b_=ce((Ky,Kv)=>{var Fq=nD(),fC=typeof Ky=="object"&&Ky&&!Ky.nodeType&&Ky,Xy=fC&&typeof Kv=="object"&&Kv&&!Kv.nodeType&&Kv,bq=Xy&&Xy.exports===fC,pD=bq&&Fq.process,Pq=function(){try{var i=Xy&&Xy.require&&Xy.require("util").types;return i||pD&&pD.binding&&pD.binding("util")}catch(o){}}();Kv.exports=Pq});var hC=ce((jee,cC)=>{var Iq=sC(),Bq=F_(),dC=b_(),pC=dC&&dC.isTypedArray,Uq=pC?Bq(pC):Iq;cC.exports=Uq});var hD=ce((zee,vC)=>{var jq=VT(),zq=fD(),qq=fd(),Hq=cD(),Wq=uC(),Vq=hC(),Gq=Object.prototype,Yq=Gq.hasOwnProperty;function Kq(i,o){var f=qq(i),p=!f&&zq(i),E=!f&&!p&&Hq(i),t=!f&&!p&&!E&&Vq(i),k=f||p||E||t,L=k?jq(i.length,String):[],N=L.length;for(var C in i)(o||Yq.call(i,C))&&!(k&&(C=="length"||E&&(C=="offset"||C=="parent")||t&&(C=="buffer"||C=="byteLength"||C=="byteOffset")||Wq(C,N)))&&L.push(C);return L}vC.exports=Kq});var P_=ce((qee,mC)=>{var Xq=Object.prototype;function Qq(i){var o=i&&i.constructor,f=typeof o=="function"&&o.prototype||Xq;return i===f}mC.exports=Qq});var vD=ce((Hee,yC)=>{function Jq(i,o){return function(f){return i(o(f))}}yC.exports=Jq});var _C=ce((Wee,gC)=>{var Zq=vD(),$q=Zq(Object.keys,Object);gC.exports=$q});var DC=ce((Vee,EC)=>{var eH=P_(),tH=_C(),nH=Object.prototype,rH=nH.hasOwnProperty;function iH(i){if(!eH(i))return tH(i);var o=[];for(var f in Object(i))rH.call(i,f)&&f!="constructor"&&o.push(f);return o}EC.exports=iH});var mD=ce((Gee,wC)=>{var uH=rD(),oH=dD();function lH(i){return i!=null&&oH(i.length)&&!uH(i)}wC.exports=lH});var I_=ce((Yee,SC)=>{var sH=hD(),aH=DC(),fH=mD();function cH(i){return fH(i)?sH(i):aH(i)}SC.exports=cH});var CC=ce((Kee,TC)=>{var dH=Gv(),pH=I_();function hH(i,o){return i&&dH(o,pH(o),i)}TC.exports=hH});var AC=ce((Xee,xC)=>{function vH(i){var o=[];if(i!=null)for(var f in Object(i))o.push(f);return o}xC.exports=vH});var OC=ce((Qee,RC)=>{var mH=qv(),yH=P_(),gH=AC(),_H=Object.prototype,EH=_H.hasOwnProperty;function DH(i){if(!mH(i))return gH(i);var o=yH(i),f=[];for(var p in i)p=="constructor"&&(o||!EH.call(i,p))||f.push(p);return f}RC.exports=DH});var B_=ce((Jee,kC)=>{var wH=hD(),SH=OC(),TH=mD();function CH(i){return TH(i)?wH(i,!0):SH(i)}kC.exports=CH});var NC=ce((Zee,MC)=>{var xH=Gv(),AH=B_();function RH(i,o){return i&&xH(o,AH(o),i)}MC.exports=RH});var IC=ce((Qy,Xv)=>{var OH=Yf(),LC=typeof Qy=="object"&&Qy&&!Qy.nodeType&&Qy,FC=LC&&typeof Xv=="object"&&Xv&&!Xv.nodeType&&Xv,kH=FC&&FC.exports===LC,bC=kH?OH.Buffer:void 0,PC=bC?bC.allocUnsafe:void 0;function MH(i,o){if(o)return i.slice();var f=i.length,p=PC?PC(f):new i.constructor(f);return i.copy(p),p}Xv.exports=MH});var UC=ce(($ee,BC)=>{function NH(i,o){var f=-1,p=i.length;for(o||(o=Array(p));++f{function LH(i,o){for(var f=-1,p=i==null?0:i.length,E=0,t=[];++f{function FH(){return[]}qC.exports=FH});var U_=ce((nte,HC)=>{var bH=zC(),PH=yD(),IH=Object.prototype,BH=IH.propertyIsEnumerable,WC=Object.getOwnPropertySymbols,UH=WC?function(i){return i==null?[]:(i=Object(i),bH(WC(i),function(o){return BH.call(i,o)}))}:PH;HC.exports=UH});var GC=ce((rte,VC)=>{var jH=Gv(),zH=U_();function qH(i,o){return jH(i,zH(i),o)}VC.exports=qH});var j_=ce((ite,YC)=>{function HH(i,o){for(var f=-1,p=o.length,E=i.length;++f{var WH=vD(),VH=WH(Object.getPrototypeOf,Object);KC.exports=VH});var gD=ce((ote,XC)=>{var GH=j_(),YH=z_(),KH=U_(),XH=yD(),QH=Object.getOwnPropertySymbols,JH=QH?function(i){for(var o=[];i;)GH(o,KH(i)),i=YH(i);return o}:XH;XC.exports=JH});var JC=ce((lte,QC)=>{var ZH=Gv(),$H=gD();function eW(i,o){return ZH(i,$H(i),o)}QC.exports=eW});var _D=ce((ste,ZC)=>{var tW=j_(),nW=fd();function rW(i,o,f){var p=o(i);return nW(i)?p:tW(p,f(i))}ZC.exports=rW});var e6=ce((ate,$C)=>{var iW=_D(),uW=U_(),oW=I_();function lW(i){return iW(i,oW,uW)}$C.exports=lW});var ED=ce((fte,t6)=>{var sW=_D(),aW=gD(),fW=B_();function cW(i){return sW(i,fW,aW)}t6.exports=cW});var r6=ce((cte,n6)=>{var dW=sd(),pW=Yf(),hW=dW(pW,"DataView");n6.exports=hW});var u6=ce((dte,i6)=>{var vW=sd(),mW=Yf(),yW=vW(mW,"Promise");i6.exports=yW});var l6=ce((pte,o6)=>{var gW=sd(),_W=Yf(),EW=gW(_W,"Set");o6.exports=EW});var a6=ce((hte,s6)=>{var DW=sd(),wW=Yf(),SW=DW(wW,"WeakMap");s6.exports=SW});var q_=ce((vte,f6)=>{var DD=r6(),wD=L_(),SD=u6(),TD=l6(),CD=a6(),c6=Qp(),Qv=uD(),d6="[object Map]",TW="[object Object]",p6="[object Promise]",h6="[object Set]",v6="[object WeakMap]",m6="[object DataView]",CW=Qv(DD),xW=Qv(wD),AW=Qv(SD),RW=Qv(TD),OW=Qv(CD),Jp=c6;(DD&&Jp(new DD(new ArrayBuffer(1)))!=m6||wD&&Jp(new wD)!=d6||SD&&Jp(SD.resolve())!=p6||TD&&Jp(new TD)!=h6||CD&&Jp(new CD)!=v6)&&(Jp=function(i){var o=c6(i),f=o==TW?i.constructor:void 0,p=f?Qv(f):"";if(p)switch(p){case CW:return m6;case xW:return d6;case AW:return p6;case RW:return h6;case OW:return v6}return o});f6.exports=Jp});var g6=ce((mte,y6)=>{var kW=Object.prototype,MW=kW.hasOwnProperty;function NW(i){var o=i.length,f=new i.constructor(o);return o&&typeof i[0]=="string"&&MW.call(i,"index")&&(f.index=i.index,f.input=i.input),f}y6.exports=NW});var E6=ce((yte,_6)=>{var LW=Yf(),FW=LW.Uint8Array;_6.exports=FW});var H_=ce((gte,D6)=>{var w6=E6();function bW(i){var o=new i.constructor(i.byteLength);return new w6(o).set(new w6(i)),o}D6.exports=bW});var T6=ce((_te,S6)=>{var PW=H_();function IW(i,o){var f=o?PW(i.buffer):i.buffer;return new i.constructor(f,i.byteOffset,i.byteLength)}S6.exports=IW});var x6=ce((Ete,C6)=>{var BW=/\w*$/;function UW(i){var o=new i.constructor(i.source,BW.exec(i));return o.lastIndex=i.lastIndex,o}C6.exports=UW});var M6=ce((Dte,A6)=>{var R6=zv(),O6=R6?R6.prototype:void 0,k6=O6?O6.valueOf:void 0;function jW(i){return k6?Object(k6.call(i)):{}}A6.exports=jW});var L6=ce((wte,N6)=>{var zW=H_();function qW(i,o){var f=o?zW(i.buffer):i.buffer;return new i.constructor(f,i.byteOffset,i.length)}N6.exports=qW});var b6=ce((Ste,F6)=>{var HW=H_(),WW=T6(),VW=x6(),GW=M6(),YW=L6(),KW="[object Boolean]",XW="[object Date]",QW="[object Map]",JW="[object Number]",ZW="[object RegExp]",$W="[object Set]",eV="[object String]",tV="[object Symbol]",nV="[object ArrayBuffer]",rV="[object DataView]",iV="[object Float32Array]",uV="[object Float64Array]",oV="[object Int8Array]",lV="[object Int16Array]",sV="[object Int32Array]",aV="[object Uint8Array]",fV="[object Uint8ClampedArray]",cV="[object Uint16Array]",dV="[object Uint32Array]";function pV(i,o,f){var p=i.constructor;switch(o){case nV:return HW(i);case KW:case XW:return new p(+i);case rV:return WW(i,f);case iV:case uV:case oV:case lV:case sV:case aV:case fV:case cV:case dV:return YW(i,f);case QW:return new p;case JW:case eV:return new p(i);case ZW:return VW(i);case $W:return new p;case tV:return GW(i)}}F6.exports=pV});var B6=ce((Tte,P6)=>{var hV=qv(),I6=Object.create,vV=function(){function i(){}return function(o){if(!hV(o))return{};if(I6)return I6(o);i.prototype=o;var f=new i;return i.prototype=void 0,f}}();P6.exports=vV});var j6=ce((Cte,U6)=>{var mV=B6(),yV=z_(),gV=P_();function _V(i){return typeof i.constructor=="function"&&!gV(i)?mV(yV(i)):{}}U6.exports=_V});var q6=ce((xte,z6)=>{var EV=q_(),DV=ad(),wV="[object Map]";function SV(i){return DV(i)&&EV(i)==wV}z6.exports=SV});var G6=ce((Ate,H6)=>{var TV=q6(),CV=F_(),W6=b_(),V6=W6&&W6.isMap,xV=V6?CV(V6):TV;H6.exports=xV});var K6=ce((Rte,Y6)=>{var AV=q_(),RV=ad(),OV="[object Set]";function kV(i){return RV(i)&&AV(i)==OV}Y6.exports=kV});var Z6=ce((Ote,X6)=>{var MV=K6(),NV=F_(),Q6=b_(),J6=Q6&&Q6.isSet,LV=J6?NV(J6):MV;X6.exports=LV});var rx=ce((kte,$6)=>{var FV=PT(),bV=BT(),PV=aD(),IV=CC(),BV=NC(),UV=IC(),jV=UC(),zV=GC(),qV=JC(),HV=e6(),WV=ED(),VV=q_(),GV=g6(),YV=b6(),KV=j6(),XV=fd(),QV=cD(),JV=G6(),ZV=qv(),$V=Z6(),eG=I_(),tG=B_(),nG=1,rG=2,iG=4,ex="[object Arguments]",uG="[object Array]",oG="[object Boolean]",lG="[object Date]",sG="[object Error]",tx="[object Function]",aG="[object GeneratorFunction]",fG="[object Map]",cG="[object Number]",nx="[object Object]",dG="[object RegExp]",pG="[object Set]",hG="[object String]",vG="[object Symbol]",mG="[object WeakMap]",yG="[object ArrayBuffer]",gG="[object DataView]",_G="[object Float32Array]",EG="[object Float64Array]",DG="[object Int8Array]",wG="[object Int16Array]",SG="[object Int32Array]",TG="[object Uint8Array]",CG="[object Uint8ClampedArray]",xG="[object Uint16Array]",AG="[object Uint32Array]",Wu={};Wu[ex]=Wu[uG]=Wu[yG]=Wu[gG]=Wu[oG]=Wu[lG]=Wu[_G]=Wu[EG]=Wu[DG]=Wu[wG]=Wu[SG]=Wu[fG]=Wu[cG]=Wu[nx]=Wu[dG]=Wu[pG]=Wu[hG]=Wu[vG]=Wu[TG]=Wu[CG]=Wu[xG]=Wu[AG]=!0;Wu[sG]=Wu[tx]=Wu[mG]=!1;function W_(i,o,f,p,E,t){var k,L=o&nG,N=o&rG,C=o&iG;if(f&&(k=E?f(i,p,E,t):f(i)),k!==void 0)return k;if(!ZV(i))return i;var U=XV(i);if(U){if(k=GV(i),!L)return jV(i,k)}else{var q=VV(i),W=q==tx||q==aG;if(QV(i))return UV(i,L);if(q==nx||q==ex||W&&!E){if(k=N||W?{}:KV(i),!L)return N?qV(i,BV(k,i)):zV(i,IV(k,i))}else{if(!Wu[q])return E?i:{};k=YV(i,q,L)}}t||(t=new FV);var ne=t.get(i);if(ne)return ne;t.set(i,k),$V(i)?i.forEach(function(Se){k.add(W_(Se,o,f,Se,i,t))}):JV(i)&&i.forEach(function(Se,he){k.set(he,W_(Se,o,f,he,i,t))});var m=C?N?WV:HV:N?tG:eG,we=U?void 0:m(i);return bV(we||i,function(Se,he){we&&(he=Se,Se=i[he]),PV(k,he,W_(Se,o,f,he,i,t))}),k}$6.exports=W_});var V_=ce((Mte,ix)=>{var RG=Qp(),OG=ad(),kG="[object Symbol]";function MG(i){return typeof i=="symbol"||OG(i)&&RG(i)==kG}ix.exports=MG});var ox=ce((Nte,ux)=>{var NG=fd(),LG=V_(),FG=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,bG=/^\w*$/;function PG(i,o){if(NG(i))return!1;var f=typeof i;return f=="number"||f=="symbol"||f=="boolean"||i==null||LG(i)?!0:bG.test(i)||!FG.test(i)||o!=null&&i in Object(o)}ux.exports=PG});var ax=ce((Lte,lx)=>{var sx=oD(),IG="Expected a function";function xD(i,o){if(typeof i!="function"||o!=null&&typeof o!="function")throw new TypeError(IG);var f=function(){var p=arguments,E=o?o.apply(this,p):p[0],t=f.cache;if(t.has(E))return t.get(E);var k=i.apply(this,p);return f.cache=t.set(E,k)||t,k};return f.cache=new(xD.Cache||sx),f}xD.Cache=sx;lx.exports=xD});var cx=ce((Fte,fx)=>{var BG=ax(),UG=500;function jG(i){var o=BG(i,function(p){return f.size===UG&&f.clear(),p}),f=o.cache;return o}fx.exports=jG});var px=ce((bte,dx)=>{var zG=cx(),qG=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,HG=/\\(\\)?/g,WG=zG(function(i){var o=[];return i.charCodeAt(0)===46&&o.push(""),i.replace(qG,function(f,p,E,t){o.push(E?t.replace(HG,"$1"):p||f)}),o});dx.exports=WG});var _x=ce((Pte,hx)=>{var vx=zv(),VG=eD(),GG=fd(),YG=V_(),KG=1/0,mx=vx?vx.prototype:void 0,yx=mx?mx.toString:void 0;function gx(i){if(typeof i=="string")return i;if(GG(i))return VG(i,gx)+"";if(YG(i))return yx?yx.call(i):"";var o=i+"";return o=="0"&&1/i==-KG?"-0":o}hx.exports=gx});var Dx=ce((Ite,Ex)=>{var XG=_x();function QG(i){return i==null?"":XG(i)}Ex.exports=QG});var G_=ce((Bte,wx)=>{var JG=fd(),ZG=ox(),$G=px(),eY=Dx();function tY(i,o){return JG(i)?i:ZG(i,o)?[i]:$G(eY(i))}wx.exports=tY});var Tx=ce((Ute,Sx)=>{function nY(i){var o=i==null?0:i.length;return o?i[o-1]:void 0}Sx.exports=nY});var AD=ce((jte,Cx)=>{var rY=V_(),iY=1/0;function uY(i){if(typeof i=="string"||rY(i))return i;var o=i+"";return o=="0"&&1/i==-iY?"-0":o}Cx.exports=uY});var Ax=ce((zte,xx)=>{var oY=G_(),lY=AD();function sY(i,o){o=oY(o,i);for(var f=0,p=o.length;i!=null&&f{function aY(i,o,f){var p=-1,E=i.length;o<0&&(o=-o>E?0:E+o),f=f>E?E:f,f<0&&(f+=E),E=o>f?0:f-o>>>0,o>>>=0;for(var t=Array(E);++p{var fY=Ax(),cY=Ox();function dY(i,o){return o.length<2?i:fY(i,cY(o,0,-1))}kx.exports=dY});var Lx=ce((Wte,Nx)=>{var pY=G_(),hY=Tx(),vY=Mx(),mY=AD();function yY(i,o){return o=pY(o,i),i=vY(i,o),i==null||delete i[mY(hY(o))]}Nx.exports=yY});var Px=ce((Vte,Fx)=>{var gY=Qp(),_Y=z_(),EY=ad(),DY="[object Object]",wY=Function.prototype,SY=Object.prototype,bx=wY.toString,TY=SY.hasOwnProperty,CY=bx.call(Object);function xY(i){if(!EY(i)||gY(i)!=DY)return!1;var o=_Y(i);if(o===null)return!0;var f=TY.call(o,"constructor")&&o.constructor;return typeof f=="function"&&f instanceof f&&bx.call(f)==CY}Fx.exports=xY});var Bx=ce((Gte,Ix)=>{var AY=Px();function RY(i){return AY(i)?void 0:i}Ix.exports=RY});var qx=ce((Yte,Ux)=>{var jx=zv(),OY=fD(),kY=fd(),zx=jx?jx.isConcatSpreadable:void 0;function MY(i){return kY(i)||OY(i)||!!(zx&&i&&i[zx])}Ux.exports=MY});var Vx=ce((Kte,Hx)=>{var NY=j_(),LY=qx();function Wx(i,o,f,p,E){var t=-1,k=i.length;for(f||(f=LY),E||(E=[]);++t0&&f(L)?o>1?Wx(L,o-1,f,p,E):NY(E,L):p||(E[E.length]=L)}return E}Hx.exports=Wx});var Yx=ce((Xte,Gx)=>{var FY=Vx();function bY(i){var o=i==null?0:i.length;return o?FY(i,1):[]}Gx.exports=bY});var Xx=ce((Qte,Kx)=>{function PY(i,o,f){switch(f.length){case 0:return i.call(o);case 1:return i.call(o,f[0]);case 2:return i.call(o,f[0],f[1]);case 3:return i.call(o,f[0],f[1],f[2])}return i.apply(o,f)}Kx.exports=PY});var Zx=ce((Jte,Qx)=>{var IY=Xx(),Jx=Math.max;function BY(i,o,f){return o=Jx(o===void 0?i.length-1:o,0),function(){for(var p=arguments,E=-1,t=Jx(p.length-o,0),k=Array(t);++E{function UY(i){return function(){return i}}$x.exports=UY});var n5=ce(($te,t5)=>{function jY(i){return i}t5.exports=jY});var u5=ce((ene,r5)=>{var zY=e5(),i5=lD(),qY=n5(),HY=i5?function(i,o){return i5(i,"toString",{configurable:!0,enumerable:!1,value:zY(o),writable:!0})}:qY;r5.exports=HY});var l5=ce((tne,o5)=>{var WY=800,VY=16,GY=Date.now;function YY(i){var o=0,f=0;return function(){var p=GY(),E=VY-(p-f);if(f=p,E>0){if(++o>=WY)return arguments[0]}else o=0;return i.apply(void 0,arguments)}}o5.exports=YY});var a5=ce((nne,s5)=>{var KY=u5(),XY=l5(),QY=XY(KY);s5.exports=QY});var c5=ce((rne,f5)=>{var JY=Yx(),ZY=Zx(),$Y=a5();function eK(i){return $Y(ZY(i,void 0,JY),i+"")}f5.exports=eK});var p5=ce((ine,d5)=>{var tK=eD(),nK=rx(),rK=Lx(),iK=G_(),uK=Gv(),oK=Bx(),lK=c5(),sK=ED(),aK=1,fK=2,cK=4,dK=lK(function(i,o){var f={};if(i==null)return f;var p=!1;o=tK(o,function(t){return t=iK(t,i),p||(p=t.length>1),t}),uK(i,sK(i),f),p&&(f=nK(f,aK|fK|cK,oK));for(var E=o.length;E--;)rK(f,o[E]);return f});d5.exports=dK});var eg=ce((vne,y5)=>{"use strict";var g5=Object.getOwnPropertySymbols,_K=Object.prototype.hasOwnProperty,EK=Object.prototype.propertyIsEnumerable;function DK(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function wK(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var o={},f=0;f<10;f++)o["_"+String.fromCharCode(f)]=f;var p=Object.getOwnPropertyNames(o).map(function(t){return o[t]});if(p.join("")!=="0123456789")return!1;var E={};return"abcdefghijklmnopqrst".split("").forEach(function(t){E[t]=t}),Object.keys(Object.assign({},E)).join("")==="abcdefghijklmnopqrst"}catch(t){return!1}}y5.exports=wK()?Object.assign:function(i,o){for(var f,p=DK(i),E,t=1;t{"use strict";var LD=eg(),Kf=typeof Symbol=="function"&&Symbol.for,tg=Kf?Symbol.for("react.element"):60103,SK=Kf?Symbol.for("react.portal"):60106,TK=Kf?Symbol.for("react.fragment"):60107,CK=Kf?Symbol.for("react.strict_mode"):60108,xK=Kf?Symbol.for("react.profiler"):60114,AK=Kf?Symbol.for("react.provider"):60109,RK=Kf?Symbol.for("react.context"):60110,OK=Kf?Symbol.for("react.forward_ref"):60112,kK=Kf?Symbol.for("react.suspense"):60113,MK=Kf?Symbol.for("react.memo"):60115,NK=Kf?Symbol.for("react.lazy"):60116,_5=typeof Symbol=="function"&&Symbol.iterator;function ng(i){for(var o="https://reactjs.org/docs/error-decoder.html?invariant="+i,f=1;fJ_.length&&J_.push(i)}function BD(i,o,f,p){var E=typeof i;(E==="undefined"||E==="boolean")&&(i=null);var t=!1;if(i===null)t=!0;else switch(E){case"string":case"number":t=!0;break;case"object":switch(i.$$typeof){case tg:case SK:t=!0}}if(t)return f(p,i,o===""?"."+UD(i,0):o),1;if(t=0,o=o===""?".":o+":",Array.isArray(i))for(var k=0;k{"use strict";var BK="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";M5.exports=BK});var HD=ce((gne,L5)=>{"use strict";var qD=function(){};process.env.NODE_ENV!=="production"&&(F5=N5(),Z_={},b5=Function.call.bind(Object.prototype.hasOwnProperty),qD=function(i){var o="Warning: "+i;typeof console!="undefined"&&console.error(o);try{throw new Error(o)}catch(f){}});var F5,Z_,b5;function P5(i,o,f,p,E){if(process.env.NODE_ENV!=="production"){for(var t in i)if(b5(i,t)){var k;try{if(typeof i[t]!="function"){var L=Error((p||"React class")+": "+f+" type `"+t+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof i[t]+"`.");throw L.name="Invariant Violation",L}k=i[t](o,t,p,f,null,F5)}catch(C){k=C}if(k&&!(k instanceof Error)&&qD((p||"React class")+": type specification of "+f+" `"+t+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof k+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),k instanceof Error&&!(k.message in Z_)){Z_[k.message]=!0;var N=E?E():"";qD("Failed "+f+" type: "+k.message+(N!=null?N:""))}}}}P5.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(Z_={})};L5.exports=P5});var I5=ce(pu=>{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";var i=eg(),o=HD(),f="16.13.1",p=typeof Symbol=="function"&&Symbol.for,E=p?Symbol.for("react.element"):60103,t=p?Symbol.for("react.portal"):60106,k=p?Symbol.for("react.fragment"):60107,L=p?Symbol.for("react.strict_mode"):60108,N=p?Symbol.for("react.profiler"):60114,C=p?Symbol.for("react.provider"):60109,U=p?Symbol.for("react.context"):60110,q=p?Symbol.for("react.concurrent_mode"):60111,W=p?Symbol.for("react.forward_ref"):60112,ne=p?Symbol.for("react.suspense"):60113,m=p?Symbol.for("react.suspense_list"):60120,we=p?Symbol.for("react.memo"):60115,Se=p?Symbol.for("react.lazy"):60116,he=p?Symbol.for("react.block"):60121,ge=p?Symbol.for("react.fundamental"):60117,ze=p?Symbol.for("react.responder"):60118,pe=p?Symbol.for("react.scope"):60119,Oe=typeof Symbol=="function"&&Symbol.iterator,le="@@iterator";function Ue(X){if(X===null||typeof X!="object")return null;var _e=Oe&&X[Oe]||X[le];return typeof _e=="function"?_e:null}var Ge={current:null},rt={suspense:null},wt={current:null},xt=/^(.*)[\\\/]/;function $e(X,_e,Ne){var Me="";if(_e){var dt=_e.fileName,Hn=dt.replace(xt,"");if(/^index\./.test(Hn)){var Dn=dt.match(xt);if(Dn){var or=Dn[1];if(or){var mi=or.replace(xt,"");Hn=mi+"/"+Hn}}}Me=" (at "+Hn+":"+_e.lineNumber+")"}else Ne&&(Me=" (created by "+Ne+")");return` - in `+(X||"Unknown")+Me}var ft=1;function Ke(X){return X._status===ft?X._result:null}function jt(X,_e,Ne){var Me=_e.displayName||_e.name||"";return X.displayName||(Me!==""?Ne+"("+Me+")":Ne)}function $t(X){if(X==null)return null;if(typeof X.tag=="number"&&ct("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),typeof X=="function")return X.displayName||X.name||null;if(typeof X=="string")return X;switch(X){case k:return"Fragment";case t:return"Portal";case N:return"Profiler";case L:return"StrictMode";case ne:return"Suspense";case m:return"SuspenseList"}if(typeof X=="object")switch(X.$$typeof){case U:return"Context.Consumer";case C:return"Context.Provider";case W:return jt(X,X.render,"ForwardRef");case we:return $t(X.type);case he:return $t(X.render);case Se:{var _e=X,Ne=Ke(_e);if(Ne)return $t(Ne);break}}return null}var at={},Q=null;function ae(X){Q=X}at.getCurrentStack=null,at.getStackAddendum=function(){var X="";if(Q){var _e=$t(Q.type),Ne=Q._owner;X+=$e(_e,Q._source,Ne&&$t(Ne.type))}var Me=at.getCurrentStack;return Me&&(X+=Me()||""),X};var Ce={current:!1},ue={ReactCurrentDispatcher:Ge,ReactCurrentBatchConfig:rt,ReactCurrentOwner:wt,IsSomeRendererActing:Ce,assign:i};i(ue,{ReactDebugCurrentFrame:at,ReactComponentTreeHook:{}});function je(X){{for(var _e=arguments.length,Ne=new Array(_e>1?_e-1:0),Me=1;Me<_e;Me++)Ne[Me-1]=arguments[Me];At("warn",X,Ne)}}function ct(X){{for(var _e=arguments.length,Ne=new Array(_e>1?_e-1:0),Me=1;Me<_e;Me++)Ne[Me-1]=arguments[Me];At("error",X,Ne)}}function At(X,_e,Ne){{var Me=Ne.length>0&&typeof Ne[Ne.length-1]=="string"&&Ne[Ne.length-1].indexOf(` - in`)===0;if(!Me){var dt=ue.ReactDebugCurrentFrame,Hn=dt.getStackAddendum();Hn!==""&&(_e+="%s",Ne=Ne.concat([Hn]))}var Dn=Ne.map(function(Su){return""+Su});Dn.unshift("Warning: "+_e),Function.prototype.apply.call(console[X],console,Dn);try{var or=0,mi="Warning: "+_e.replace(/%s/g,function(){return Ne[or++]});throw new Error(mi)}catch(Su){}}}var en={};function ln(X,_e){{var Ne=X.constructor,Me=Ne&&(Ne.displayName||Ne.name)||"ReactClass",dt=Me+"."+_e;if(en[dt])return;ct("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",_e,Me),en[dt]=!0}}var An={isMounted:function(X){return!1},enqueueForceUpdate:function(X,_e,Ne){ln(X,"forceUpdate")},enqueueReplaceState:function(X,_e,Ne,Me){ln(X,"replaceState")},enqueueSetState:function(X,_e,Ne,Me){ln(X,"setState")}},nr={};Object.freeze(nr);function un(X,_e,Ne){this.props=X,this.context=_e,this.refs=nr,this.updater=Ne||An}un.prototype.isReactComponent={},un.prototype.setState=function(X,_e){if(!(typeof X=="object"||typeof X=="function"||X==null))throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,X,_e,"setState")},un.prototype.forceUpdate=function(X){this.updater.enqueueForceUpdate(this,X,"forceUpdate")};{var Wt={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},vr=function(X,_e){Object.defineProperty(un.prototype,X,{get:function(){je("%s(...) is deprecated in plain JavaScript React classes. %s",_e[0],_e[1])}})};for(var w in Wt)Wt.hasOwnProperty(w)&&vr(w,Wt[w])}function Ut(){}Ut.prototype=un.prototype;function Vn(X,_e,Ne){this.props=X,this.context=_e,this.refs=nr,this.updater=Ne||An}var fr=Vn.prototype=new Ut;fr.constructor=Vn,i(fr,un.prototype),fr.isPureReactComponent=!0;function Fr(){var X={current:null};return Object.seal(X),X}var ur=Object.prototype.hasOwnProperty,br={key:!0,ref:!0,__self:!0,__source:!0},Kt,vu,a0;a0={};function So(X){if(ur.call(X,"ref")){var _e=Object.getOwnPropertyDescriptor(X,"ref").get;if(_e&&_e.isReactWarning)return!1}return X.ref!==void 0}function Go(X){if(ur.call(X,"key")){var _e=Object.getOwnPropertyDescriptor(X,"key").get;if(_e&&_e.isReactWarning)return!1}return X.key!==void 0}function Os(X,_e){var Ne=function(){Kt||(Kt=!0,ct("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)",_e))};Ne.isReactWarning=!0,Object.defineProperty(X,"key",{get:Ne,configurable:!0})}function Yo(X,_e){var Ne=function(){vu||(vu=!0,ct("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)",_e))};Ne.isReactWarning=!0,Object.defineProperty(X,"ref",{get:Ne,configurable:!0})}function Ko(X){if(typeof X.ref=="string"&&wt.current&&X.__self&&wt.current.stateNode!==X.__self){var _e=$t(wt.current.type);a0[_e]||(ct('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref',$t(wt.current.type),X.ref),a0[_e]=!0)}}var qt=function(X,_e,Ne,Me,dt,Hn,Dn){var or={$$typeof:E,type:X,key:_e,ref:Ne,props:Dn,_owner:Hn};return or._store={},Object.defineProperty(or._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(or,"_self",{configurable:!1,enumerable:!1,writable:!1,value:Me}),Object.defineProperty(or,"_source",{configurable:!1,enumerable:!1,writable:!1,value:dt}),Object.freeze&&(Object.freeze(or.props),Object.freeze(or)),or};function _i(X,_e,Ne){var Me,dt={},Hn=null,Dn=null,or=null,mi=null;if(_e!=null){So(_e)&&(Dn=_e.ref,Ko(_e)),Go(_e)&&(Hn=""+_e.key),or=_e.__self===void 0?null:_e.__self,mi=_e.__source===void 0?null:_e.__source;for(Me in _e)ur.call(_e,Me)&&!br.hasOwnProperty(Me)&&(dt[Me]=_e[Me])}var Su=arguments.length-2;if(Su===1)dt.children=Ne;else if(Su>1){for(var bu=Array(Su),Pu=0;Pu1){for(var mu=Array(Pu),yi=0;yi is not supported and will be removed in a future major release. Did you mean to render instead?")),Ne.Provider},set:function(Dn){Ne.Provider=Dn}},_currentValue:{get:function(){return Ne._currentValue},set:function(Dn){Ne._currentValue=Dn}},_currentValue2:{get:function(){return Ne._currentValue2},set:function(Dn){Ne._currentValue2=Dn}},_threadCount:{get:function(){return Ne._threadCount},set:function(Dn){Ne._threadCount=Dn}},Consumer:{get:function(){return Me||(Me=!0,ct("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),Ne.Consumer}}}),Ne.Consumer=Hn}return Ne._currentRenderer=null,Ne._currentRenderer2=null,Ne}function Ht(X){var _e={$$typeof:Se,_ctor:X,_status:-1,_result:null};{var Ne,Me;Object.defineProperties(_e,{defaultProps:{configurable:!0,get:function(){return Ne},set:function(dt){ct("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),Ne=dt,Object.defineProperty(_e,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return Me},set:function(dt){ct("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),Me=dt,Object.defineProperty(_e,"propTypes",{enumerable:!0})}}})}return _e}function Du(X){return X!=null&&X.$$typeof===we?ct("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof X!="function"?ct("forwardRef requires a render function but was given %s.",X===null?"null":typeof X):X.length!==0&&X.length!==2&&ct("forwardRef render functions accept exactly two parameters: props and ref. %s",X.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),X!=null&&(X.defaultProps!=null||X.propTypes!=null)&&ct("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"),{$$typeof:W,render:X}}function Yi(X){return typeof X=="string"||typeof X=="function"||X===k||X===q||X===N||X===L||X===ne||X===m||typeof X=="object"&&X!==null&&(X.$$typeof===Se||X.$$typeof===we||X.$$typeof===C||X.$$typeof===U||X.$$typeof===W||X.$$typeof===ge||X.$$typeof===ze||X.$$typeof===pe||X.$$typeof===he)}function Y0(X,_e){return Yi(X)||ct("memo: The first argument must be a component. Instead received: %s",X===null?"null":typeof X),{$$typeof:we,type:X,compare:_e===void 0?null:_e}}function Ui(){var X=Ge.current;if(X===null)throw Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: -1. You might have mismatching versions of React and the renderer (such as React DOM) -2. You might be breaking the Rules of Hooks -3. You might have more than one copy of React in the same app -See https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.`);return X}function Wl(X,_e){var Ne=Ui();if(_e!==void 0&&ct("useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s",_e,typeof _e=="number"&&Array.isArray(arguments[2])?` - -Did you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks`:""),X._context!==void 0){var Me=X._context;Me.Consumer===X?ct("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):Me.Provider===X&&ct("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return Ne.useContext(X,_e)}function xo(X){var _e=Ui();return _e.useState(X)}function ni(X,_e,Ne){var Me=Ui();return Me.useReducer(X,_e,Ne)}function oo(X){var _e=Ui();return _e.useRef(X)}function Vl(X,_e){var Ne=Ui();return Ne.useEffect(X,_e)}function Ao(X,_e){var Ne=Ui();return Ne.useLayoutEffect(X,_e)}function Ms(X,_e){var Ne=Ui();return Ne.useCallback(X,_e)}function Xn(X,_e){var Ne=Ui();return Ne.useMemo(X,_e)}function Qo(X,_e,Ne){var Me=Ui();return Me.useImperativeHandle(X,_e,Ne)}function lo(X,_e){{var Ne=Ui();return Ne.useDebugValue(X,_e)}}var b0;b0=!1;function yl(){if(wt.current){var X=$t(wt.current.type);if(X)return` - -Check the render method of \``+X+"`."}return""}function Ro(X){if(X!==void 0){var _e=X.fileName.replace(/^.*[\\\/]/,""),Ne=X.lineNumber;return` - -Check your code at `+_e+":"+Ne+"."}return""}function Et(X){return X!=null?Ro(X.__source):""}var Pt={};function Bn(X){var _e=yl();if(!_e){var Ne=typeof X=="string"?X:X.displayName||X.name;Ne&&(_e=` - -Check the top-level render call using <`+Ne+">.")}return _e}function Ir(X,_e){if(!(!X._store||X._store.validated||X.key!=null)){X._store.validated=!0;var Ne=Bn(_e);if(!Pt[Ne]){Pt[Ne]=!0;var Me="";X&&X._owner&&X._owner!==wt.current&&(Me=" It was passed a child from "+$t(X._owner.type)+"."),ae(X),ct('Each child in a list should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.',Ne,Me),ae(null)}}}function ji(X,_e){if(typeof X=="object"){if(Array.isArray(X))for(var Ne=0;Ne",dt=" Did you accidentally export a JSX literal instead of a component?"):Dn=typeof X,ct("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Dn,dt)}var or=_i.apply(this,arguments);if(or==null)return or;if(Me)for(var mi=2;mi{"use strict";process.env.NODE_ENV==="production"?WD.exports=k5():WD.exports=I5()});var B5=ce((nm,rg)=>{(function(){var i,o="4.17.21",f=200,p="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",E="Expected a function",t="Invalid `variable` option passed into `_.template`",k="__lodash_hash_undefined__",L=500,N="__lodash_placeholder__",C=1,U=2,q=4,W=1,ne=2,m=1,we=2,Se=4,he=8,ge=16,ze=32,pe=64,Oe=128,le=256,Ue=512,Ge=30,rt="...",wt=800,xt=16,$e=1,ft=2,Ke=3,jt=1/0,$t=9007199254740991,at=17976931348623157e292,Q=0/0,ae=4294967295,Ce=ae-1,ue=ae>>>1,je=[["ary",Oe],["bind",m],["bindKey",we],["curry",he],["curryRight",ge],["flip",Ue],["partial",ze],["partialRight",pe],["rearg",le]],ct="[object Arguments]",At="[object Array]",en="[object AsyncFunction]",ln="[object Boolean]",An="[object Date]",nr="[object DOMException]",un="[object Error]",Wt="[object Function]",vr="[object GeneratorFunction]",w="[object Map]",Ut="[object Number]",Vn="[object Null]",fr="[object Object]",Fr="[object Promise]",ur="[object Proxy]",br="[object RegExp]",Kt="[object Set]",vu="[object String]",a0="[object Symbol]",So="[object Undefined]",Go="[object WeakMap]",Os="[object WeakSet]",Yo="[object ArrayBuffer]",Ko="[object DataView]",qt="[object Float32Array]",_i="[object Float64Array]",eu="[object Int8Array]",ai="[object Int16Array]",mr="[object Int32Array]",Xo="[object Uint8Array]",W0="[object Uint8ClampedArray]",Lu="[object Uint16Array]",V0="[object Uint32Array]",Hr=/\b__p \+= '';/g,To=/\b(__p \+=) '' \+/g,Co=/(__e\(.*?\)|\b__t\)) \+\n'';/g,L0=/&(?:amp|lt|gt|quot|#39);/g,tu=/[&<>"']/g,Si=RegExp(L0.source),ks=RegExp(tu.source),Hl=/<%-([\s\S]+?)%>/g,F0=/<%([\s\S]+?)%>/g,f0=/<%=([\s\S]+?)%>/g,Pr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ei=/^\w*$/,G0=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fi=/[\\^$.*+?()[\]{}|]/g,Zt=RegExp(fi.source),Ln=/^\s+/,Di=/\s/,ci=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ht=/\{\n\/\* \[wrapped with (.+)\] \*/,Du=/,? & /,Yi=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Y0=/[()=,{}\[\]\/\s]/,Ui=/\\(\\)?/g,Wl=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,xo=/\w*$/,ni=/^[-+]0x[0-9a-f]+$/i,oo=/^0b[01]+$/i,Vl=/^\[object .+?Constructor\]$/,Ao=/^0o[0-7]+$/i,Ms=/^(?:0|[1-9]\d*)$/,Xn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qo=/($^)/,lo=/['\n\r\u2028\u2029\\]/g,b0="\\ud800-\\udfff",yl="\\u0300-\\u036f",Ro="\\ufe20-\\ufe2f",Et="\\u20d0-\\u20ff",Pt=yl+Ro+Et,Bn="\\u2700-\\u27bf",Ir="a-z\\xdf-\\xf6\\xf8-\\xff",ji="\\xac\\xb1\\xd7\\xf7",Wr="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",wu="\\u2000-\\u206f",c0=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ti="A-Z\\xc0-\\xd6\\xd8-\\xde",d0="\\ufe0e\\ufe0f",as=ji+Wr+wu+c0,St="['\u2019]",so="["+b0+"]",Jo="["+as+"]",Gl="["+Pt+"]",Fu="\\d+",fs="["+Bn+"]",P0="["+Ir+"]",X="[^"+b0+as+Fu+Bn+Ir+Ti+"]",_e="\\ud83c[\\udffb-\\udfff]",Ne="(?:"+Gl+"|"+_e+")",Me="[^"+b0+"]",dt="(?:\\ud83c[\\udde6-\\uddff]){2}",Hn="[\\ud800-\\udbff][\\udc00-\\udfff]",Dn="["+Ti+"]",or="\\u200d",mi="(?:"+P0+"|"+X+")",Su="(?:"+Dn+"|"+X+")",bu="(?:"+St+"(?:d|ll|m|re|s|t|ve))?",Pu="(?:"+St+"(?:D|LL|M|RE|S|T|VE))?",mu=Ne+"?",yi="["+d0+"]?",Oo="(?:"+or+"(?:"+[Me,dt,Hn].join("|")+")"+yi+mu+")*",Tu="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ao="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Iu=yi+mu+Oo,Oa="(?:"+[fs,dt,Hn].join("|")+")"+Iu,p0="(?:"+[Me+Gl+"?",Gl,dt,Hn,so].join("|")+")",Zs=RegExp(St,"g"),K0=RegExp(Gl,"g"),$s=RegExp(_e+"(?="+_e+")|"+p0+Iu,"g"),ka=RegExp([Dn+"?"+P0+"+"+bu+"(?="+[Jo,Dn,"$"].join("|")+")",Su+"+"+Pu+"(?="+[Jo,Dn+mi,"$"].join("|")+")",Dn+"?"+mi+"+"+bu,Dn+"+"+Pu,ao,Tu,Fu,Oa].join("|"),"g"),cs=RegExp("["+or+b0+Pt+d0+"]"),w0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Gn=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ic=-1,ri={};ri[qt]=ri[_i]=ri[eu]=ri[ai]=ri[mr]=ri[Xo]=ri[W0]=ri[Lu]=ri[V0]=!0,ri[ct]=ri[At]=ri[Yo]=ri[ln]=ri[Ko]=ri[An]=ri[un]=ri[Wt]=ri[w]=ri[Ut]=ri[fr]=ri[br]=ri[Kt]=ri[vu]=ri[Go]=!1;var Gr={};Gr[ct]=Gr[At]=Gr[Yo]=Gr[Ko]=Gr[ln]=Gr[An]=Gr[qt]=Gr[_i]=Gr[eu]=Gr[ai]=Gr[mr]=Gr[w]=Gr[Ut]=Gr[fr]=Gr[br]=Gr[Kt]=Gr[vu]=Gr[a0]=Gr[Xo]=Gr[W0]=Gr[Lu]=Gr[V0]=!0,Gr[un]=Gr[Wt]=Gr[Go]=!1;var Yl={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},ea={"&":"&","<":"<",">":">",'"':""","'":"'"},lf={"&":"&","<":"<",">":">",""":'"',"'":"'"},Ns={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ma=parseFloat,Ls=parseInt,h0=typeof global=="object"&&global&&global.Object===Object&&global,Fs=typeof self=="object"&&self&&self.Object===Object&&self,Ni=h0||Fs||Function("return this")(),B=typeof nm=="object"&&nm&&!nm.nodeType&&nm,z=B&&typeof rg=="object"&&rg&&!rg.nodeType&&rg,G=z&&z.exports===B,$=G&&h0.process,De=function(){try{var Te=z&&z.require&&z.require("util").types;return Te||$&&$.binding&&$.binding("util")}catch(et){}}(),me=De&&De.isArrayBuffer,xe=De&&De.isDate,Z=De&&De.isMap,ke=De&&De.isRegExp,Xe=De&&De.isSet,ht=De&&De.isTypedArray;function ie(Te,et,Ve){switch(Ve.length){case 0:return Te.call(et);case 1:return Te.call(et,Ve[0]);case 2:return Te.call(et,Ve[0],Ve[1]);case 3:return Te.call(et,Ve[0],Ve[1],Ve[2])}return Te.apply(et,Ve)}function qe(Te,et,Ve,Gt){for(var Yt=-1,sr=Te==null?0:Te.length;++Yt-1}function tn(Te,et,Ve){for(var Gt=-1,Yt=Te==null?0:Te.length;++Gt-1;);return Ve}function gl(Te,et){for(var Ve=Te.length;Ve--&&_t(et,Te[Ve],0)>-1;);return Ve}function af(Te,et){for(var Ve=Te.length,Gt=0;Ve--;)Te[Ve]===et&&++Gt;return Gt}var Mo=Yn(Yl),ds=Yn(ea);function bs(Te){return"\\"+Ns[Te]}function No(Te,et){return Te==null?i:Te[et]}function Lo(Te){return cs.test(Te)}function ps(Te){return w0.test(Te)}function Vu(Te){for(var et,Ve=[];!(et=Te.next()).done;)Ve.push(et.value);return Ve}function yu(Te){var et=-1,Ve=Array(Te.size);return Te.forEach(function(Gt,Yt){Ve[++et]=[Yt,Gt]}),Ve}function pi(Te,et){return function(Ve){return Te(et(Ve))}}function T0(Te,et){for(var Ve=-1,Gt=Te.length,Yt=0,sr=[];++Ve-1}function ia(d,v){var x=this.__data__,b=Ql(x,d);return b<0?(++this.size,x.push([d,v])):x[b][1]=v,this}to.prototype.clear=Na,to.prototype.delete=pf,to.prototype.get=uc,to.prototype.has=ms,to.prototype.set=ia;function B0(d){var v=-1,x=d==null?0:d.length;for(this.clear();++v=v?d:v)),d}function U0(d,v,x,b,H,ee){var de,ye=v&C,be=v&U,gt=v&q;if(x&&(de=H?x(d,b,H,ee):x(d)),de!==i)return de;if(!ku(d))return d;var Dt=Jn(d);if(Dt){if(de=Es(d),!ye)return Ji(d,de)}else{var Rt=Ou(d),rn=Rt==Wt||Rt==vr;if(Gs(d))return fc(d,ye);if(Rt==fr||Rt==ct||rn&&!H){if(de=be||rn?{}:vc(d),!ye)return be?Jl(d,tl(de,d)):t0(d,hf(de,d))}else{if(!Gr[Rt])return H?d:{};de=Dh(d,Rt,ye)}}ee||(ee=new el);var Rn=ee.get(d);if(Rn)return Rn;ee.set(d,de),L2(d)?d.forEach(function(ir){de.add(U0(ir,v,x,ir,d,ee))}):gp(d)&&d.forEach(function(ir,Zr){de.set(Zr,U0(ir,v,x,Zr,d,ee))});var $n=gt?be?rr:$c:be?fn:M0,Nr=Dt?i:$n(d);return tt(Nr||d,function(ir,Zr){Nr&&(Zr=ir,ir=d[Zr]),gs(de,Zr,U0(ir,v,x,Zr,d,ee))}),de}function vf(d){var v=M0(d);return function(x){return jc(x,d,v)}}function jc(d,v,x){var b=x.length;if(d==null)return!b;for(d=wn(d);b--;){var H=x[b],ee=v[H],de=d[H];if(de===i&&!(H in d)||!ee(de))return!1}return!0}function lc(d,v,x){if(typeof d!="function")throw new Kr(E);return Wa(function(){d.apply(i,x)},v)}function Sl(d,v,x,b){var H=-1,ee=on,de=!0,ye=d.length,be=[],gt=v.length;if(!ye)return be;x&&(v=Lt(v,di(x))),b?(ee=tn,de=!1):v.length>=f&&(ee=Zo,de=!1,v=new ho(v));e:for(;++HH?0:H+x),b=b===i||b>H?H:Cr(b),b<0&&(b+=H),b=x>b?0:Ep(b);x0&&x(ye)?v>1?bi(ye,v-1,x,b,H):gn(H,ye):b||(H[H.length]=ye)}return H}var g=dc(),y=dc(!0);function A(d,v){return d&&g(d,v,M0)}function F(d,v){return d&&y(d,v,M0)}function I(d,v){return bt(v,function(x){return Ea(d[x])})}function J(d,v){v=Us(v,d);for(var x=0,b=v.length;d!=null&&xv}function Mt(d,v){return d!=null&&ei.call(d,v)}function Er(d,v){return d!=null&&v in wn(d)}function $u(d,v,x){return d>=Wn(v,x)&&d=120&&Dt.length>=120)?new ho(de&&Dt):i}Dt=d[0];var Rt=-1,rn=ye[0];e:for(;++Rt-1;)ye!==d&&R0.call(ye,be,1),R0.call(d,be,1);return d}function u2(d,v){for(var x=d?v.length:0,b=x-1;x--;){var H=v[x];if(x==b||H!==ee){var ee=H;go(H)?R0.call(d,H,1):Cd(d,H)}}return d}function o2(d,v){return d+vs(y0()*(v-d+1))}function wd(d,v,x,b){for(var H=-1,ee=Xr(Ku((v-d)/(x||1)),0),de=Ve(ee);ee--;)de[b?ee:++H]=d,d+=x;return de}function Hc(d,v){var x="";if(!d||v<1||v>$t)return x;do v%2&&(x+=d),v=vs(v/2),v&&(d+=d);while(v);return x}function Mr(d,v){return r1(Nd(d,v,r0),d+"")}function l2(d){return ba(Ac(d))}function s2(d,v){var x=Ac(d);return yc(x,Zu(v,0,x.length))}function ja(d,v,x,b){if(!ku(d))return d;v=Us(v,d);for(var H=-1,ee=v.length,de=ee-1,ye=d;ye!=null&&++HH?0:H+v),x=x>H?H:x,x<0&&(x+=H),H=v>x?0:x-v>>>0,v>>>=0;for(var ee=Ve(H);++b>>1,de=d[ee];de!==null&&!Nl(de)&&(x?de<=v:de=f){var gt=v?null:mm(d);if(gt)return Q0(gt);de=!1,H=Zo,be=new ho}else be=v?[]:ye;e:for(;++b=b?d:rl(d,v,x)}var Kc=hs||function(d){return Ni.clearTimeout(d)};function fc(d,v){if(v)return d.slice();var x=d.length,b=Fi?Fi(x):new d.constructor(x);return d.copy(b),b}function cc(d){var v=new d.constructor(d.byteLength);return new A0(v).set(new A0(d)),v}function f2(d,v){var x=v?cc(d.buffer):d.buffer;return new d.constructor(x,d.byteOffset,d.byteLength)}function yh(d){var v=new d.constructor(d.source,xo.exec(d));return v.lastIndex=d.lastIndex,v}function gf(d){return Sr?wn(Sr.call(d)):{}}function Xc(d,v){var x=v?cc(d.buffer):d.buffer;return new d.constructor(x,d.byteOffset,d.length)}function gh(d,v){if(d!==v){var x=d!==i,b=d===null,H=d===d,ee=Nl(d),de=v!==i,ye=v===null,be=v===v,gt=Nl(v);if(!ye&&!gt&&!ee&&d>v||ee&&de&&be&&!ye&&!gt||b&&de&&be||!x&&be||!H)return 1;if(!b&&!ee&&!gt&&d=ye)return be;var gt=x[b];return be*(gt=="desc"?-1:1)}}return d.index-v.index}function js(d,v,x,b){for(var H=-1,ee=d.length,de=x.length,ye=-1,be=v.length,gt=Xr(ee-de,0),Dt=Ve(be+gt),Rt=!b;++ye1?x[H-1]:i,de=H>2?x[2]:i;for(ee=d.length>3&&typeof ee=="function"?(H--,ee):i,de&&io(x[0],x[1],de)&&(ee=H<3?i:ee,H=1),v=wn(v);++b-1?H[ee?v[de]:de]:i}}function Jc(d){return ol(function(v){var x=v.length,b=x,H=Ur.prototype.thru;for(d&&v.reverse();b--;){var ee=v[b];if(typeof ee!="function")throw new Kr(E);if(H&&!de&&Bo(ee)=="wrapper")var de=new Ur([],!0)}for(b=de?b:x;++b1&&ui.reverse(),Dt&&beye))return!1;var gt=ee.get(d),Dt=ee.get(v);if(gt&&Dt)return gt==v&&Dt==d;var Rt=-1,rn=!0,Rn=x&ne?new ho:i;for(ee.set(d,v),ee.set(v,d);++Rt1?"& ":"")+v[b],v=v.join(x>2?", ":" "),d.replace(ci,`{ -/* [wrapped with `+v+`] */ -`)}function $l(d){return Jn(d)||sl(d)||!!(co&&d&&d[co])}function go(d,v){var x=typeof d;return v=v==null?$t:v,!!v&&(x=="number"||x!="symbol"&&Ms.test(d))&&d>-1&&d%1==0&&d0){if(++v>=wt)return arguments[0]}else v=0;return d.apply(i,arguments)}}function yc(d,v){var x=-1,b=d.length,H=b-1;for(v=v===i?b:v;++x1?d[v-1]:i;return x=typeof x=="function"?(d.pop(),x):i,E2(d,x)});function Bh(d){var v=Y(d);return v.__chain__=!0,v}function Uh(d,v){return v(d),d}function h1(d,v){return v(d)}var Qd=ol(function(d){var v=d.length,x=v?d[0]:0,b=this.__wrapped__,H=function(ee){return Ia(ee,d)};return v>1||this.__actions__.length||!(b instanceof lt)||!go(x)?this.thru(H):(b=b.slice(x,+x+(v?1:0)),b.__actions__.push({func:h1,args:[H],thisArg:i}),new Ur(b,this.__chain__).thru(function(ee){return v&&!ee.length&&ee.push(i),ee}))});function jh(){return Bh(this)}function Jd(){return new Ur(this.value(),this.__chain__)}function zh(){this.__values__===i&&(this.__values__=lv(this.value()));var d=this.__index__>=this.__values__.length,v=d?i:this.__values__[this.__index__++];return{done:d,value:v}}function Cm(){return this}function xm(d){for(var v,x=this;x instanceof Jr;){var b=Fd(x);b.__index__=0,b.__values__=i,v?H.__wrapped__=b:v=b;var H=b;x=x.__wrapped__}return H.__wrapped__=d,v}function Of(){var d=this.__wrapped__;if(d instanceof lt){var v=d;return this.__actions__.length&&(v=new lt(this)),v=v.reverse(),v.__actions__.push({func:h1,args:[Hd],thisArg:i}),new Ur(v,this.__chain__)}return this.thru(Hd)}function kf(){return mh(this.__wrapped__,this.__actions__)}var D2=za(function(d,v,x){ei.call(d,x)?++d[x]:ju(d,x,1)});function Am(d,v,x){var b=Jn(d)?kt:n2;return x&&io(d,v,x)&&(v=i),b(d,zn(v,3))}function Zd(d,v){var x=Jn(d)?bt:zc;return x(d,zn(v,3))}var w2=xl(Bd),$d=xl(u1);function qh(d,v){return bi(v1(d,v),1)}function ep(d,v){return bi(v1(d,v),jt)}function Hh(d,v,x){return x=x===i?1:Cr(x),bi(v1(d,v),x)}function Wh(d,v){var x=Jn(d)?tt:_s;return x(d,zn(v,3))}function tp(d,v){var x=Jn(d)?Tt:oa;return x(d,zn(v,3))}var Rm=za(function(d,v,x){ei.call(d,x)?d[x].push(v):ju(d,x,[v])});function Om(d,v,x,b){d=al(d)?d:Ac(d),x=x&&!b?Cr(x):0;var H=d.length;return x<0&&(x=Xr(H+x,0)),_1(d)?x<=H&&d.indexOf(v,x)>-1:!!H&&_t(d,v,x)>-1}var km=Mr(function(d,v,x){var b=-1,H=typeof v=="function",ee=al(d)?Ve(d.length):[];return _s(d,function(de){ee[++b]=H?ie(v,de,x):Tl(de,v,x)}),ee}),Vh=za(function(d,v,x){ju(d,x,v)});function v1(d,v){var x=Jn(d)?Lt:Ed;return x(d,zn(v,3))}function Mm(d,v,x,b){return d==null?[]:(Jn(v)||(v=v==null?[]:[v]),x=b?i:x,Jn(x)||(x=x==null?[]:[x]),vo(d,v,x))}var np=za(function(d,v,x){d[x?0:1].push(v)},function(){return[[],[]]});function rp(d,v,x){var b=Jn(d)?lr:yr,H=arguments.length<3;return b(d,zn(v,4),x,H,_s)}function Nm(d,v,x){var b=Jn(d)?Qn:yr,H=arguments.length<3;return b(d,zn(v,4),x,H,oa)}function Lm(d,v){var x=Jn(d)?bt:zc;return x(d,C2(zn(v,3)))}function Gh(d){var v=Jn(d)?ba:l2;return v(d)}function Fm(d,v,x){(x?io(d,v,x):v===i)?v=1:v=Cr(v);var b=Jn(d)?Pa:s2;return b(d,v)}function bm(d){var v=Jn(d)?ua:nl;return v(d)}function ip(d){if(d==null)return 0;if(al(d))return _1(d)?Ki(d):d.length;var v=Ou(d);return v==w||v==Kt?d.size:Ba(d).length}function up(d,v,x){var b=Jn(d)?_r:hh;return x&&io(d,v,x)&&(v=i),b(d,zn(v,3))}var ya=Mr(function(d,v){if(d==null)return[];var x=v.length;return x>1&&io(d,v[0],v[1])?v=[]:x>2&&io(v[0],v[1],v[2])&&(v=[v[0]]),vo(d,bi(v,1),[])}),m1=ra||function(){return Ni.Date.now()};function op(d,v){if(typeof v!="function")throw new Kr(E);return d=Cr(d),function(){if(--d<1)return v.apply(this,arguments)}}function Yh(d,v,x){return v=x?i:v,v=d&&v==null?d.length:v,dn(d,Oe,i,i,i,i,v)}function S2(d,v){var x;if(typeof v!="function")throw new Kr(E);return d=Cr(d),function(){return--d>0&&(x=v.apply(this,arguments)),d<=1&&(v=i),x}}var y1=Mr(function(d,v,x){var b=m;if(x.length){var H=T0(x,dr(y1));b|=ze}return dn(d,b,v,x,H)}),Kh=Mr(function(d,v,x){var b=m|we;if(x.length){var H=T0(x,dr(Kh));b|=ze}return dn(v,b,d,x,H)});function lp(d,v,x){v=x?i:v;var b=dn(d,he,i,i,i,i,i,v);return b.placeholder=lp.placeholder,b}function Xh(d,v,x){v=x?i:v;var b=dn(d,ge,i,i,i,i,i,v);return b.placeholder=Xh.placeholder,b}function sp(d,v,x){var b,H,ee,de,ye,be,gt=0,Dt=!1,Rt=!1,rn=!0;if(typeof d!="function")throw new Kr(E);v=fl(v)||0,ku(x)&&(Dt=!!x.leading,Rt="maxWait"in x,ee=Rt?Xr(fl(x.maxWait)||0,v):ee,rn="trailing"in x?!!x.trailing:rn);function Rn(i0){var Ts=b,wo=H;return b=H=i,gt=i0,de=d.apply(wo,Ts),de}function $n(i0){return gt=i0,ye=Wa(Zr,v),Dt?Rn(i0):de}function Nr(i0){var Ts=i0-be,wo=i0-gt,Rv=v-Ts;return Rt?Wn(Rv,ee-wo):Rv}function ir(i0){var Ts=i0-be,wo=i0-gt;return be===i||Ts>=v||Ts<0||Rt&&wo>=ee}function Zr(){var i0=m1();if(ir(i0))return ui(i0);ye=Wa(Zr,Nr(i0))}function ui(i0){return ye=i,rn&&b?Rn(i0):(b=H=i,de)}function bl(){ye!==i&&Kc(ye),gt=0,b=be=H=ye=i}function Wi(){return ye===i?de:ui(m1())}function uo(){var i0=m1(),Ts=ir(i0);if(b=arguments,H=this,be=i0,Ts){if(ye===i)return $n(be);if(Rt)return Kc(ye),ye=Wa(Zr,v),Rn(be)}return ye===i&&(ye=Wa(Zr,v)),de}return uo.cancel=bl,uo.flush=Wi,uo}var Qh=Mr(function(d,v){return lc(d,1,v)}),Jh=Mr(function(d,v,x){return lc(d,fl(v)||0,x)});function ap(d){return dn(d,Ue)}function T2(d,v){if(typeof d!="function"||v!=null&&typeof v!="function")throw new Kr(E);var x=function(){var b=arguments,H=v?v.apply(this,b):b[0],ee=x.cache;if(ee.has(H))return ee.get(H);var de=d.apply(this,b);return x.cache=ee.set(H,de)||ee,de};return x.cache=new(T2.Cache||B0),x}T2.Cache=B0;function C2(d){if(typeof d!="function")throw new Kr(E);return function(){var v=arguments;switch(v.length){case 0:return!d.call(this);case 1:return!d.call(this,v[0]);case 2:return!d.call(this,v[0],v[1]);case 3:return!d.call(this,v[0],v[1],v[2])}return!d.apply(this,v)}}function z0(d){return S2(2,d)}var x2=Rd(function(d,v){v=v.length==1&&Jn(v[0])?Lt(v[0],di(zn())):Lt(bi(v,1),di(zn()));var x=v.length;return Mr(function(b){for(var H=-1,ee=Wn(b.length,x);++H=v}),sl=e0(function(){return arguments}())?e0:function(d){return zu(d)&&ei.call(d,"callee")&&!I0.call(d,"callee")},Jn=Ve.isArray,Vs=me?di(me):He;function al(d){return d!=null&&M2(d.length)&&!Ea(d)}function n0(d){return zu(d)&&al(d)}function ev(d){return d===!0||d===!1||zu(d)&&mt(d)==ln}var Gs=$0||Ip,hp=xe?di(xe):Be;function jm(d){return zu(d)&&d.nodeType===1&&!Ec(d)}function tv(d){if(d==null)return!0;if(al(d)&&(Jn(d)||typeof d=="string"||typeof d.splice=="function"||Gs(d)||Da(d)||sl(d)))return!d.length;var v=Ou(d);if(v==w||v==Kt)return!d.size;if(xf(d))return!Ba(d).length;for(var x in d)if(ei.call(d,x))return!1;return!0}function vp(d,v){return ut(d,v)}function zm(d,v,x){x=typeof x=="function"?x:i;var b=x?x(d,v):i;return b===i?ut(d,v,i,x):!!b}function mp(d){if(!zu(d))return!1;var v=mt(d);return v==un||v==nr||typeof d.message=="string"&&typeof d.name=="string"&&!Ec(d)}function _c(d){return typeof d=="number"&&Xi(d)}function Ea(d){if(!ku(d))return!1;var v=mt(d);return v==Wt||v==vr||v==en||v==ur}function yp(d){return typeof d=="number"&&d==Cr(d)}function M2(d){return typeof d=="number"&&d>-1&&d%1==0&&d<=$t}function ku(d){var v=typeof d;return d!=null&&(v=="object"||v=="function")}function zu(d){return d!=null&&typeof d=="object"}var gp=Z?di(Z):jn;function _p(d,v){return d===v||ti(d,v,Pn(v))}function nv(d,v,x){return x=typeof x=="function"?x:i,ti(d,v,Pn(v),x)}function qm(d){return rv(d)&&d!=+d}function Hm(d){if(Al(d))throw new Yt(p);return tr(d)}function Wm(d){return d===null}function N2(d){return d==null}function rv(d){return typeof d=="number"||zu(d)&&mt(d)==Ut}function Ec(d){if(!zu(d)||mt(d)!=fr)return!1;var v=$o(d);if(v===null)return!0;var x=ei.call(v,"constructor")&&v.constructor;return typeof x=="function"&&x instanceof x&&Au.call(x)==na}var g1=ke?di(ke):ii;function Vm(d){return yp(d)&&d>=-$t&&d<=$t}var L2=Xe?di(Xe):qi;function _1(d){return typeof d=="string"||!Jn(d)&&zu(d)&&mt(d)==vu}function Nl(d){return typeof d=="symbol"||zu(d)&&mt(d)==a0}var Da=ht?di(ht):jr;function iv(d){return d===i}function Gm(d){return zu(d)&&Ou(d)==Go}function uv(d){return zu(d)&&mt(d)==Os}var ov=p2(r2),Ym=p2(function(d,v){return d<=v});function lv(d){if(!d)return[];if(al(d))return _1(d)?Yr(d):Ji(d);if(Ru&&d[Ru])return Vu(d[Ru]());var v=Ou(d),x=v==w?yu:v==Kt?Q0:Ac;return x(d)}function wa(d){if(!d)return d===0?d:0;if(d=fl(d),d===jt||d===-jt){var v=d<0?-1:1;return v*at}return d===d?d:0}function Cr(d){var v=wa(d),x=v%1;return v===v?x?v-x:v:0}function Ep(d){return d?Zu(Cr(d),0,ae):0}function fl(d){if(typeof d=="number")return d;if(Nl(d))return Q;if(ku(d)){var v=typeof d.valueOf=="function"?d.valueOf():d;d=ku(v)?v+"":v}if(typeof d!="string")return d===0?d:+d;d=xu(d);var x=oo.test(d);return x||Ao.test(d)?Ls(d.slice(2),x?2:8):ni.test(d)?Q:+d}function cu(d){return O0(d,fn(d))}function E1(d){return d?Zu(Cr(d),-$t,$t):d===0?d:0}function ki(d){return d==null?"":il(d)}var Dp=no(function(d,v){if(xf(v)||al(v)){O0(v,M0(v),d);return}for(var x in v)ei.call(v,x)&&gs(d,x,v[x])}),F2=no(function(d,v){O0(v,fn(v),d)}),Do=no(function(d,v,x,b){O0(v,fn(v),d,b)}),Ss=no(function(d,v,x,b){O0(v,M0(v),d,b)}),Mf=ol(Ia);function b2(d,v){var x=Qr(d);return v==null?x:hf(x,v)}var wp=Mr(function(d,v){d=wn(d);var x=-1,b=v.length,H=b>2?v[2]:i;for(H&&io(v[0],v[1],H)&&(b=1);++x1),ee}),O0(d,rr(d),x),b&&(x=U0(x,C|U|q,ym));for(var H=v.length;H--;)Cd(x,v[H]);return x});function T1(d,v){return Ka(d,C2(zn(v)))}var Cp=ol(function(d,v){return d==null?{}:dh(d,v)});function Ka(d,v){if(d==null)return{};var x=Lt(rr(d),function(b){return[b]});return v=zn(v),ph(d,x,function(b,H){return v(b,H[0])})}function Km(d,v,x){v=Us(v,d);var b=-1,H=v.length;for(H||(H=1,d=i);++bv){var b=d;d=v,v=b}if(x||d%1||v%1){var H=y0();return Wn(d+H*(v-d+Ma("1e-"+((H+"").length-1))),v)}return o2(d,v)}var q2=_f(function(d,v,x){return v=v.toLowerCase(),d+(x?Uo(v):v)});function Uo(d){return Rp(ki(d).toLowerCase())}function H2(d){return d=ki(d),d&&d.replace(Xn,Mo).replace(K0,"")}function Qm(d,v,x){d=ki(d),v=il(v);var b=d.length;x=x===i?b:Zu(Cr(x),0,b);var H=x;return x-=v.length,x>=0&&d.slice(x,H)==v}function A1(d){return d=ki(d),d&&ks.test(d)?d.replace(tu,ds):d}function Jm(d){return d=ki(d),d&&Zt.test(d)?d.replace(fi,"\\$&"):d}var Zm=_f(function(d,v,x){return d+(x?"-":"")+v.toLowerCase()}),av=_f(function(d,v,x){return d+(x?" ":"")+v.toLowerCase()}),$m=_h("toLowerCase");function fv(d,v,x){d=ki(d),v=Cr(v);var b=v?Ki(d):0;if(!v||b>=v)return d;var H=(v-b)/2;return da(vs(H),x)+d+da(Ku(H),x)}function ey(d,v,x){d=ki(d),v=Cr(v);var b=v?Ki(d):0;return v&&b>>0,x?(d=ki(d),d&&(typeof v=="string"||v!=null&&!g1(v))&&(v=il(v),!v&&Lo(d))?aa(Yr(d),0,x):d.split(v,x)):[]}var bf=_f(function(d,v,x){return d+(x?" ":"")+Rp(v)});function dv(d,v,x){return d=ki(d),x=x==null?0:Zu(Cr(x),0,d.length),v=il(v),d.slice(x,x+v.length)==v}function pv(d,v,x){var b=Y.templateSettings;x&&io(d,v,x)&&(v=i),d=ki(d),v=Do({},v,b,Df);var H=Do({},v.imports,b.imports,Df),ee=M0(H),de=ko(H,ee),ye,be,gt=0,Dt=v.interpolate||Qo,Rt="__p += '",rn=fu((v.escape||Qo).source+"|"+Dt.source+"|"+(Dt===f0?Wl:Qo).source+"|"+(v.evaluate||Qo).source+"|$","g"),Rn="//# sourceURL="+(ei.call(v,"sourceURL")?(v.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ic+"]")+` -`;d.replace(rn,function(ir,Zr,ui,bl,Wi,uo){return ui||(ui=bl),Rt+=d.slice(gt,uo).replace(lo,bs),Zr&&(ye=!0,Rt+=`' + -__e(`+Zr+`) + -'`),Wi&&(be=!0,Rt+=`'; -`+Wi+`; -__p += '`),ui&&(Rt+=`' + -((__t = (`+ui+`)) == null ? '' : __t) + -'`),gt=uo+ir.length,ir}),Rt+=`'; -`;var $n=ei.call(v,"variable")&&v.variable;if(!$n)Rt=`with (obj) { -`+Rt+` -} -`;else if(Y0.test($n))throw new Yt(t);Rt=(be?Rt.replace(Hr,""):Rt).replace(To,"$1").replace(Co,"$1;"),Rt="function("+($n||"obj")+`) { -`+($n?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(ye?", __e = _.escape":"")+(be?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+Rt+`return __p -}`;var Nr=_v(function(){return sr(ee,Rn+"return "+Rt).apply(i,de)});if(Nr.source=Rt,mp(Nr))throw Nr;return Nr}function hv(d){return ki(d).toLowerCase()}function W2(d){return ki(d).toUpperCase()}function V2(d,v,x){if(d=ki(d),d&&(x||v===i))return xu(d);if(!d||!(v=il(v)))return d;var b=Yr(d),H=Yr(v),ee=sf(b,H),de=gl(b,H)+1;return aa(b,ee,de).join("")}function Ap(d,v,x){if(d=ki(d),d&&(x||v===i))return d.slice(0,fo(d)+1);if(!d||!(v=il(v)))return d;var b=Yr(d),H=gl(b,Yr(v))+1;return aa(b,0,H).join("")}function vv(d,v,x){if(d=ki(d),d&&(x||v===i))return d.replace(Ln,"");if(!d||!(v=il(v)))return d;var b=Yr(d),H=sf(b,Yr(v));return aa(b,H).join("")}function G2(d,v){var x=Ge,b=rt;if(ku(v)){var H="separator"in v?v.separator:H;x="length"in v?Cr(v.length):x,b="omission"in v?il(v.omission):b}d=ki(d);var ee=d.length;if(Lo(d)){var de=Yr(d);ee=de.length}if(x>=ee)return d;var ye=x-Ki(b);if(ye<1)return b;var be=de?aa(de,0,ye).join(""):d.slice(0,ye);if(H===i)return be+b;if(de&&(ye+=be.length-ye),g1(H)){if(d.slice(ye).search(H)){var gt,Dt=be;for(H.global||(H=fu(H.source,ki(xo.exec(H))+"g")),H.lastIndex=0;gt=H.exec(Dt);)var Rt=gt.index;be=be.slice(0,Rt===i?ye:Rt)}}else if(d.indexOf(il(H),ye)!=ye){var rn=be.lastIndexOf(H);rn>-1&&(be=be.slice(0,rn))}return be+b}function mv(d){return d=ki(d),d&&Si.test(d)?d.replace(L0,Oi):d}var yv=_f(function(d,v,x){return d+(x?" ":"")+v.toUpperCase()}),Rp=_h("toUpperCase");function gv(d,v,x){return d=ki(d),v=x?i:v,v===i?ps(d)?cf(d):v0(d):d.match(v)||[]}var _v=Mr(function(d,v){try{return ie(d,i,v)}catch(x){return mp(x)?x:new Yt(x)}}),uy=ol(function(d,v){return tt(v,function(x){x=Rl(x),ju(d,x,y1(d[x],d))}),d});function Ev(d){var v=d==null?0:d.length,x=zn();return d=v?Lt(d,function(b){if(typeof b[1]!="function")throw new Kr(E);return[x(b[0]),b[1]]}):[],Mr(function(b){for(var H=-1;++H$t)return[];var x=ae,b=Wn(d,ae);v=zn(v),d-=ae;for(var H=S0(b,v);++x0||v<0)?new lt(x):(d<0?x=x.takeRight(-d):d&&(x=x.drop(d)),v!==i&&(v=Cr(v),x=v<0?x.dropRight(-v):x.take(v-d)),x)},lt.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},lt.prototype.toArray=function(){return this.take(ae)},A(lt.prototype,function(d,v){var x=/^(?:filter|find|map|reject)|While$/.test(v),b=/^(?:head|last)$/.test(v),H=Y[b?"take"+(v=="last"?"Right":""):v],ee=b||/^find/.test(v);!H||(Y.prototype[v]=function(){var de=this.__wrapped__,ye=b?[1]:arguments,be=de instanceof lt,gt=ye[0],Dt=be||Jn(de),Rt=function(Zr){var ui=H.apply(Y,gn([Zr],ye));return b&&rn?ui[0]:ui};Dt&&x&&typeof gt=="function"&>.length!=1&&(be=Dt=!1);var rn=this.__chain__,Rn=!!this.__actions__.length,$n=ee&&!rn,Nr=be&&!Rn;if(!ee&&Dt){de=Nr?de:new lt(this);var ir=d.apply(de,ye);return ir.__actions__.push({func:h1,args:[Rt],thisArg:i}),new Ur(ir,rn)}return $n&&Nr?d.apply(this,ye):(ir=this.thru(Rt),$n?b?ir.value()[0]:ir.value():ir)})}),tt(["pop","push","shift","sort","splice","unshift"],function(d){var v=Vr[d],x=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",b=/^(?:pop|shift)$/.test(d);Y.prototype[d]=function(){var H=arguments;if(b&&!this.__chain__){var ee=this.value();return v.apply(Jn(ee)?ee:[],H)}return this[x](function(de){return v.apply(Jn(de)?de:[],H)})}}),A(lt.prototype,function(d,v){var x=Y[v];if(x){var b=x.name+"";ei.call(xn,b)||(xn[b]=[]),xn[b].push({name:v,func:x})}}),xn[ca(i,we).name]=[{name:"wrapper",func:i}],lt.prototype.clone=hi,lt.prototype.reverse=Qi,lt.prototype.value=g0,Y.prototype.at=Qd,Y.prototype.chain=jh,Y.prototype.commit=Jd,Y.prototype.next=zh,Y.prototype.plant=xm,Y.prototype.reverse=Of,Y.prototype.toJSON=Y.prototype.valueOf=Y.prototype.value=kf,Y.prototype.first=Y.prototype.head,Ru&&(Y.prototype[Ru]=Cm),Y},Z0=J0();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Ni._=Z0,define(function(){return Z0})):z?((z.exports=Z0)._=Z0,B._=Z0):Ni._=Z0}).call(nm)});var GD=ce((Dne,VD)=>{"use strict";var Ai=VD.exports;VD.exports.default=Ai;var hu="[",ig="]",rm="\x07",$_=";",U5=process.env.TERM_PROGRAM==="Apple_Terminal";Ai.cursorTo=(i,o)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");return typeof o!="number"?hu+(i+1)+"G":hu+(o+1)+";"+(i+1)+"H"};Ai.cursorMove=(i,o)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");let f="";return i<0?f+=hu+-i+"D":i>0&&(f+=hu+i+"C"),o<0?f+=hu+-o+"A":o>0&&(f+=hu+o+"B"),f};Ai.cursorUp=(i=1)=>hu+i+"A";Ai.cursorDown=(i=1)=>hu+i+"B";Ai.cursorForward=(i=1)=>hu+i+"C";Ai.cursorBackward=(i=1)=>hu+i+"D";Ai.cursorLeft=hu+"G";Ai.cursorSavePosition=U5?"7":hu+"s";Ai.cursorRestorePosition=U5?"8":hu+"u";Ai.cursorGetPosition=hu+"6n";Ai.cursorNextLine=hu+"E";Ai.cursorPrevLine=hu+"F";Ai.cursorHide=hu+"?25l";Ai.cursorShow=hu+"?25h";Ai.eraseLines=i=>{let o="";for(let f=0;f[ig,"8",$_,$_,o,rm,i,ig,"8",$_,$_,rm].join("");Ai.image=(i,o={})=>{let f=`${ig}1337;File=inline=1`;return o.width&&(f+=`;width=${o.width}`),o.height&&(f+=`;height=${o.height}`),o.preserveAspectRatio===!1&&(f+=";preserveAspectRatio=0"),f+":"+i.toString("base64")+rm};Ai.iTerm={setCwd:(i=process.cwd())=>`${ig}50;CurrentDir=${i}${rm}`,annotation:(i,o={})=>{let f=`${ig}1337;`,p=typeof o.x!="undefined",E=typeof o.y!="undefined";if((p||E)&&!(p&&E&&typeof o.length!="undefined"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return i=i.replace(/\|/g,""),f+=o.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",o.length>0?f+=(p?[i,o.length,o.x,o.y]:[o.length,i]).join("|"):f+=i,f+rm}}});var z5=ce((wne,YD)=>{"use strict";var j5=(i,o)=>{for(let f of Reflect.ownKeys(o))Object.defineProperty(i,f,Object.getOwnPropertyDescriptor(o,f));return i};YD.exports=j5;YD.exports.default=j5});var H5=ce((Sne,e4)=>{"use strict";var UK=z5(),t4=new WeakMap,q5=(i,o={})=>{if(typeof i!="function")throw new TypeError("Expected a function");let f,p=0,E=i.displayName||i.name||"",t=function(...k){if(t4.set(t,++p),p===1)f=i.apply(this,k),i=null;else if(o.throw===!0)throw new Error(`Function \`${E}\` can only be called once`);return f};return UK(t,i),t4.set(t,p),t};e4.exports=q5;e4.exports.default=q5;e4.exports.callCount=i=>{if(!t4.has(i))throw new Error(`The given function \`${i.name}\` is not wrapped by the \`onetime\` package`);return t4.get(i)}});var W5=ce((Tne,n4)=>{n4.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&n4.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&n4.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var JD=ce((Cne,ug)=>{var jK=require("assert"),og=W5(),zK=/^win/i.test(process.platform),r4=require("events");typeof r4!="function"&&(r4=r4.EventEmitter);var zl;process.__signal_exit_emitter__?zl=process.__signal_exit_emitter__:(zl=process.__signal_exit_emitter__=new r4,zl.count=0,zl.emitted={});zl.infinite||(zl.setMaxListeners(Infinity),zl.infinite=!0);ug.exports=function(i,o){jK.equal(typeof i,"function","a callback must be provided for exit handler"),lg===!1&&V5();var f="exit";o&&o.alwaysLast&&(f="afterexit");var p=function(){zl.removeListener(f,i),zl.listeners("exit").length===0&&zl.listeners("afterexit").length===0&&KD()};return zl.on(f,i),p};ug.exports.unload=KD;function KD(){!lg||(lg=!1,og.forEach(function(i){try{process.removeListener(i,XD[i])}catch(o){}}),process.emit=QD,process.reallyExit=G5,zl.count-=1)}function im(i,o,f){zl.emitted[i]||(zl.emitted[i]=!0,zl.emit(i,o,f))}var XD={};og.forEach(function(i){XD[i]=function(){var f=process.listeners(i);f.length===zl.count&&(KD(),im("exit",null,i),im("afterexit",null,i),zK&&i==="SIGHUP"&&(i="SIGINT"),process.kill(process.pid,i))}});ug.exports.signals=function(){return og};ug.exports.load=V5;var lg=!1;function V5(){lg||(lg=!0,zl.count+=1,og=og.filter(function(i){try{return process.on(i,XD[i]),!0}catch(o){return!1}}),process.emit=HK,process.reallyExit=qK)}var G5=process.reallyExit;function qK(i){process.exitCode=i||0,im("exit",process.exitCode,null),im("afterexit",process.exitCode,null),G5.call(process,process.exitCode)}var QD=process.emit;function HK(i,o){if(i==="exit"){o!==void 0&&(process.exitCode=o);var f=QD.apply(this,arguments);return im("exit",process.exitCode,null),im("afterexit",process.exitCode,null),f}else return QD.apply(this,arguments)}});var K5=ce((xne,Y5)=>{"use strict";var WK=H5(),VK=JD();Y5.exports=WK(()=>{VK(()=>{process.stderr.write("[?25h")},{alwaysLast:!0})})});var ZD=ce(um=>{"use strict";var GK=K5(),i4=!1;um.show=(i=process.stderr)=>{!i.isTTY||(i4=!1,i.write("[?25h"))};um.hide=(i=process.stderr)=>{!i.isTTY||(GK(),i4=!0,i.write("[?25l"))};um.toggle=(i,o)=>{i!==void 0&&(i4=i),i4?um.show(o):um.hide(o)}});var Z5=ce(sg=>{"use strict";var X5=sg&&sg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(sg,"__esModule",{value:!0});var Q5=X5(GD()),J5=X5(ZD()),YK=(i,{showCursor:o=!1}={})=>{let f=0,p="",E=!1,t=k=>{!o&&!E&&(J5.default.hide(),E=!0);let L=k+` -`;L!==p&&(p=L,i.write(Q5.default.eraseLines(f)+L),f=L.split(` -`).length)};return t.clear=()=>{i.write(Q5.default.eraseLines(f)),p="",f=0},t.done=()=>{p="",f=0,o||(J5.default.show(),E=!1)},t};sg.default={create:YK}});var e9=ce((One,$5)=>{$5.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var r9=ce(Ra=>{"use strict";var t9=e9(),bc=process.env;Object.defineProperty(Ra,"_vendors",{value:t9.map(function(i){return i.constant})});Ra.name=null;Ra.isPR=null;t9.forEach(function(i){var o=Array.isArray(i.env)?i.env:[i.env],f=o.every(function(p){return n9(p)});if(Ra[i.constant]=f,f)switch(Ra.name=i.name,typeof i.pr){case"string":Ra.isPR=!!bc[i.pr];break;case"object":"env"in i.pr?Ra.isPR=i.pr.env in bc&&bc[i.pr.env]!==i.pr.ne:"any"in i.pr?Ra.isPR=i.pr.any.some(function(p){return!!bc[p]}):Ra.isPR=n9(i.pr);break;default:Ra.isPR=null}});Ra.isCI=!!(bc.CI||bc.CONTINUOUS_INTEGRATION||bc.BUILD_NUMBER||bc.RUN_ID||Ra.name);function n9(i){return typeof i=="string"?!!bc[i]:Object.keys(i).every(function(o){return bc[o]===i[o]})}});var u9=ce((Mne,i9)=>{"use strict";i9.exports=r9().isCI});var l9=ce((Nne,o9)=>{"use strict";var KK=i=>{let o=new Set;do for(let f of Reflect.ownKeys(i))o.add([i,f]);while((i=Reflect.getPrototypeOf(i))&&i!==Object.prototype);return o};o9.exports=(i,{include:o,exclude:f}={})=>{let p=E=>{let t=k=>typeof k=="string"?E===k:k.test(E);return o?o.some(t):f?!f.some(t):!0};for(let[E,t]of KK(i.constructor.prototype)){if(t==="constructor"||!p(t))continue;let k=Reflect.getOwnPropertyDescriptor(E,t);k&&typeof k.value=="function"&&(i[t]=i[t].bind(i))}return i}});var h9=ce($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});var om,ag,u4,o4,$D;typeof window=="undefined"||typeof MessageChannel!="function"?(lm=null,ew=null,tw=function(){if(lm!==null)try{var i=$i.unstable_now();lm(!0,i),lm=null}catch(o){throw setTimeout(tw,0),o}},s9=Date.now(),$i.unstable_now=function(){return Date.now()-s9},om=function(i){lm!==null?setTimeout(om,0,i):(lm=i,setTimeout(tw,0))},ag=function(i,o){ew=setTimeout(i,o)},u4=function(){clearTimeout(ew)},o4=function(){return!1},$D=$i.unstable_forceFrameRate=function(){}):(l4=window.performance,nw=window.Date,a9=window.setTimeout,f9=window.clearTimeout,typeof console!="undefined"&&(c9=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof c9!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof l4=="object"&&typeof l4.now=="function"?$i.unstable_now=function(){return l4.now()}:(d9=nw.now(),$i.unstable_now=function(){return nw.now()-d9}),fg=!1,cg=null,s4=-1,rw=5,iw=0,o4=function(){return $i.unstable_now()>=iw},$D=function(){},$i.unstable_forceFrameRate=function(i){0>i||125f4(k,f))N!==void 0&&0>f4(N,k)?(i[p]=N,i[L]=f,p=L):(i[p]=k,i[t]=f,p=t);else if(N!==void 0&&0>f4(N,f))i[p]=N,i[L]=f,p=L;else break e}}return o}return null}function f4(i,o){var f=i.sortIndex-o.sortIndex;return f!==0?f:i.id-o.id}var Xf=[],dd=[],XK=1,Rs=null,ls=3,d4=!1,$p=!1,dg=!1;function p4(i){for(var o=uf(dd);o!==null;){if(o.callback===null)c4(dd);else if(o.startTime<=i)c4(dd),o.sortIndex=o.expirationTime,ow(Xf,o);else break;o=uf(dd)}}function lw(i){if(dg=!1,p4(i),!$p)if(uf(Xf)!==null)$p=!0,om(sw);else{var o=uf(dd);o!==null&&ag(lw,o.startTime-i)}}function sw(i,o){$p=!1,dg&&(dg=!1,u4()),d4=!0;var f=ls;try{for(p4(o),Rs=uf(Xf);Rs!==null&&(!(Rs.expirationTime>o)||i&&!o4());){var p=Rs.callback;if(p!==null){Rs.callback=null,ls=Rs.priorityLevel;var E=p(Rs.expirationTime<=o);o=$i.unstable_now(),typeof E=="function"?Rs.callback=E:Rs===uf(Xf)&&c4(Xf),p4(o)}else c4(Xf);Rs=uf(Xf)}if(Rs!==null)var t=!0;else{var k=uf(dd);k!==null&&ag(lw,k.startTime-o),t=!1}return t}finally{Rs=null,ls=f,d4=!1}}function p9(i){switch(i){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var QK=$D;$i.unstable_ImmediatePriority=1;$i.unstable_UserBlockingPriority=2;$i.unstable_NormalPriority=3;$i.unstable_IdlePriority=5;$i.unstable_LowPriority=4;$i.unstable_runWithPriority=function(i,o){switch(i){case 1:case 2:case 3:case 4:case 5:break;default:i=3}var f=ls;ls=i;try{return o()}finally{ls=f}};$i.unstable_next=function(i){switch(ls){case 1:case 2:case 3:var o=3;break;default:o=ls}var f=ls;ls=o;try{return i()}finally{ls=f}};$i.unstable_scheduleCallback=function(i,o,f){var p=$i.unstable_now();if(typeof f=="object"&&f!==null){var E=f.delay;E=typeof E=="number"&&0p?(i.sortIndex=E,ow(dd,i),uf(Xf)===null&&i===uf(dd)&&(dg?u4():dg=!0,ag(lw,E-p))):(i.sortIndex=f,ow(Xf,i),$p||d4||($p=!0,om(sw))),i};$i.unstable_cancelCallback=function(i){i.callback=null};$i.unstable_wrapCallback=function(i){var o=ls;return function(){var f=ls;ls=o;try{return i.apply(this,arguments)}finally{ls=f}}};$i.unstable_getCurrentPriorityLevel=function(){return ls};$i.unstable_shouldYield=function(){var i=$i.unstable_now();p4(i);var o=uf(Xf);return o!==Rs&&Rs!==null&&o!==null&&o.callback!==null&&o.startTime<=i&&o.expirationTime{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});var i=!1,o=!1,f=!0,p,E,t,k,L;if(typeof window=="undefined"||typeof MessageChannel!="function"){var N=null,C=null,U=function(){if(N!==null)try{var Et=Ri.unstable_now(),Pt=!0;N(Pt,Et),N=null}catch(Bn){throw setTimeout(U,0),Bn}},q=Date.now();Ri.unstable_now=function(){return Date.now()-q},p=function(Et){N!==null?setTimeout(p,0,Et):(N=Et,setTimeout(U,0))},E=function(Et,Pt){C=setTimeout(Et,Pt)},t=function(){clearTimeout(C)},k=function(){return!1},L=Ri.unstable_forceFrameRate=function(){}}else{var W=window.performance,ne=window.Date,m=window.setTimeout,we=window.clearTimeout;if(typeof console!="undefined"){var Se=window.requestAnimationFrame,he=window.cancelAnimationFrame;typeof Se!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof he!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if(typeof W=="object"&&typeof W.now=="function")Ri.unstable_now=function(){return W.now()};else{var ge=ne.now();Ri.unstable_now=function(){return ne.now()-ge}}var ze=!1,pe=null,Oe=-1,le=5,Ue=0,Ge=300,rt=!1;if(o&&navigator!==void 0&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0){var wt=navigator.scheduling;k=function(){var Et=Ri.unstable_now();return Et>=Ue?rt||wt.isInputPending()?!0:Et>=Ge:!1},L=function(){rt=!0}}else k=function(){return Ri.unstable_now()>=Ue},L=function(){};Ri.unstable_forceFrameRate=function(Et){if(Et<0||Et>125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported");return}Et>0?le=Math.floor(1e3/Et):le=5};var xt=function(){if(pe!==null){var Et=Ri.unstable_now();Ue=Et+le;var Pt=!0;try{var Bn=pe(Pt,Et);Bn?ft.postMessage(null):(ze=!1,pe=null)}catch(Ir){throw ft.postMessage(null),Ir}}else ze=!1;rt=!1},$e=new MessageChannel,ft=$e.port2;$e.port1.onmessage=xt,p=function(Et){pe=Et,ze||(ze=!0,ft.postMessage(null))},E=function(Et,Pt){Oe=m(function(){Et(Ri.unstable_now())},Pt)},t=function(){we(Oe),Oe=-1}}function Ke(Et,Pt){var Bn=Et.length;Et.push(Pt),at(Et,Pt,Bn)}function jt(Et){var Pt=Et[0];return Pt===void 0?null:Pt}function $t(Et){var Pt=Et[0];if(Pt!==void 0){var Bn=Et.pop();return Bn!==Pt&&(Et[0]=Bn,Q(Et,Bn,0)),Pt}else return null}function at(Et,Pt,Bn){for(var Ir=Bn;;){var ji=Math.floor((Ir-1)/2),Wr=Et[ji];if(Wr!==void 0&&ae(Wr,Pt)>0)Et[ji]=Pt,Et[Ir]=Wr,Ir=ji;else return}}function Q(Et,Pt,Bn){for(var Ir=Bn,ji=Et.length;Irur){if(ur*=2,ur>Fr){console.error("Scheduler Profiling: Event log exceeded maximum size. Don't forget to call `stopLoggingProfilingEvents()`."),mr();return}var Bn=new Int32Array(ur*4);Bn.set(Kt),br=Bn.buffer,Kt=Bn}Kt.set(Et,Pt)}}function ai(){ur=fr,br=new ArrayBuffer(ur*4),Kt=new Int32Array(br),vu=0}function mr(){var Et=br;return ur=0,br=null,Kt=null,vu=0,Et}function Xo(Et,Pt){f&&(Wt[Vn]++,Kt!==null&&eu([a0,Pt*1e3,Et.id,Et.priorityLevel]))}function W0(Et,Pt){f&&(Wt[vr]=Ce,Wt[w]=0,Wt[Vn]--,Kt!==null&&eu([So,Pt*1e3,Et.id]))}function Lu(Et,Pt){f&&(Wt[Vn]--,Kt!==null&&eu([Os,Pt*1e3,Et.id]))}function V0(Et,Pt){f&&(Wt[vr]=Ce,Wt[w]=0,Wt[Vn]--,Kt!==null&&eu([Go,Pt*1e3,Et.id]))}function Hr(Et,Pt){f&&(ln++,Wt[vr]=Et.priorityLevel,Wt[w]=Et.id,Wt[Ut]=ln,Kt!==null&&eu([Yo,Pt*1e3,Et.id,ln]))}function To(Et,Pt){f&&(Wt[vr]=Ce,Wt[w]=0,Wt[Ut]=0,Kt!==null&&eu([Ko,Pt*1e3,Et.id,ln]))}function Co(Et){f&&(An++,Kt!==null&&eu([qt,Et*1e3,An]))}function L0(Et){f&&Kt!==null&&eu([_i,Et*1e3,An])}var tu=1073741823,Si=-1,ks=250,Hl=5e3,F0=1e4,f0=tu,Pr=[],Ei=[],G0=1,fi=!1,Zt=null,Ln=ct,Di=!1,ci=!1,Ht=!1;function Du(Et){for(var Pt=jt(Ei);Pt!==null;){if(Pt.callback===null)$t(Ei);else if(Pt.startTime<=Et)$t(Ei),Pt.sortIndex=Pt.expirationTime,Ke(Pr,Pt),f&&(Xo(Pt,Et),Pt.isQueued=!0);else return;Pt=jt(Ei)}}function Yi(Et){if(Ht=!1,Du(Et),!ci)if(jt(Pr)!==null)ci=!0,p(Y0);else{var Pt=jt(Ei);Pt!==null&&E(Yi,Pt.startTime-Et)}}function Y0(Et,Pt){f&&L0(Pt),ci=!1,Ht&&(Ht=!1,t()),Di=!0;var Bn=Ln;try{if(f)try{return Ui(Et,Pt)}catch(Wr){if(Zt!==null){var Ir=Ri.unstable_now();V0(Zt,Ir),Zt.isQueued=!1}throw Wr}else return Ui(Et,Pt)}finally{if(Zt=null,Ln=Bn,Di=!1,f){var ji=Ri.unstable_now();Co(ji)}}}function Ui(Et,Pt){var Bn=Pt;for(Du(Bn),Zt=jt(Pr);Zt!==null&&!(i&&fi)&&!(Zt.expirationTime>Bn&&(!Et||k()));){var Ir=Zt.callback;if(Ir!==null){Zt.callback=null,Ln=Zt.priorityLevel;var ji=Zt.expirationTime<=Bn;Hr(Zt,Bn);var Wr=Ir(ji);Bn=Ri.unstable_now(),typeof Wr=="function"?(Zt.callback=Wr,To(Zt,Bn)):(f&&(W0(Zt,Bn),Zt.isQueued=!1),Zt===jt(Pr)&&$t(Pr)),Du(Bn)}else $t(Pr);Zt=jt(Pr)}if(Zt!==null)return!0;var wu=jt(Ei);return wu!==null&&E(Yi,wu.startTime-Bn),!1}function Wl(Et,Pt){switch(Et){case ue:case je:case ct:case At:case en:break;default:Et=ct}var Bn=Ln;Ln=Et;try{return Pt()}finally{Ln=Bn}}function xo(Et){var Pt;switch(Ln){case ue:case je:case ct:Pt=ct;break;default:Pt=Ln;break}var Bn=Ln;Ln=Pt;try{return Et()}finally{Ln=Bn}}function ni(Et){var Pt=Ln;return function(){var Bn=Ln;Ln=Pt;try{return Et.apply(this,arguments)}finally{Ln=Bn}}}function oo(Et){switch(Et){case ue:return Si;case je:return ks;case en:return f0;case At:return F0;case ct:default:return Hl}}function Vl(Et,Pt,Bn){var Ir=Ri.unstable_now(),ji,Wr;if(typeof Bn=="object"&&Bn!==null){var wu=Bn.delay;typeof wu=="number"&&wu>0?ji=Ir+wu:ji=Ir,Wr=typeof Bn.timeout=="number"?Bn.timeout:oo(Et)}else Wr=oo(Et),ji=Ir;var c0=ji+Wr,Ti={id:G0++,callback:Pt,priorityLevel:Et,startTime:ji,expirationTime:c0,sortIndex:-1};return f&&(Ti.isQueued=!1),ji>Ir?(Ti.sortIndex=ji,Ke(Ei,Ti),jt(Pr)===null&&Ti===jt(Ei)&&(Ht?t():Ht=!0,E(Yi,ji-Ir))):(Ti.sortIndex=c0,Ke(Pr,Ti),f&&(Xo(Ti,Ir),Ti.isQueued=!0),!ci&&!Di&&(ci=!0,p(Y0))),Ti}function Ao(){fi=!0}function Ms(){fi=!1,!ci&&!Di&&(ci=!0,p(Y0))}function Xn(){return jt(Pr)}function Qo(Et){if(f&&Et.isQueued){var Pt=Ri.unstable_now();Lu(Et,Pt),Et.isQueued=!1}Et.callback=null}function lo(){return Ln}function b0(){var Et=Ri.unstable_now();Du(Et);var Pt=jt(Pr);return Pt!==Zt&&Zt!==null&&Pt!==null&&Pt.callback!==null&&Pt.startTime<=Et&&Pt.expirationTime{"use strict";process.env.NODE_ENV==="production"?aw.exports=h9():aw.exports=v9()});var m9=ce((Pne,pg)=>{pg.exports=function i(o){"use strict";var f=eg(),p=su(),E=h4();function t(g){for(var y="https://reactjs.org/docs/error-decoder.html?invariant="+g,A=1;AG0||(g.current=Ei[G0],Ei[G0]=null,G0--)}function Zt(g,y){G0++,Ei[G0]=g.current,g.current=y}var Ln={},Di={current:Ln},ci={current:!1},Ht=Ln;function Du(g,y){var A=g.type.contextTypes;if(!A)return Ln;var F=g.stateNode;if(F&&F.__reactInternalMemoizedUnmaskedChildContext===y)return F.__reactInternalMemoizedMaskedChildContext;var I={},J;for(J in A)I[J]=y[J];return F&&(g=g.stateNode,g.__reactInternalMemoizedUnmaskedChildContext=y,g.__reactInternalMemoizedMaskedChildContext=I),I}function Yi(g){return g=g.childContextTypes,g!=null}function Y0(g){fi(ci,g),fi(Di,g)}function Ui(g){fi(ci,g),fi(Di,g)}function Wl(g,y,A){if(Di.current!==Ln)throw Error(t(168));Zt(Di,y,g),Zt(ci,A,g)}function xo(g,y,A){var F=g.stateNode;if(g=y.childContextTypes,typeof F.getChildContext!="function")return A;F=F.getChildContext();for(var I in F)if(!(I in g))throw Error(t(108,Ge(y)||"Unknown",I));return f({},A,{},F)}function ni(g){var y=g.stateNode;return y=y&&y.__reactInternalMemoizedMergedChildContext||Ln,Ht=Di.current,Zt(Di,y,g),Zt(ci,ci.current,g),!0}function oo(g,y,A){var F=g.stateNode;if(!F)throw Error(t(169));A?(y=xo(g,y,Ht),F.__reactInternalMemoizedMergedChildContext=y,fi(ci,g),fi(Di,g),Zt(Di,y,g)):fi(ci,g),Zt(ci,A,g)}var Vl=E.unstable_runWithPriority,Ao=E.unstable_scheduleCallback,Ms=E.unstable_cancelCallback,Xn=E.unstable_shouldYield,Qo=E.unstable_requestPaint,lo=E.unstable_now,b0=E.unstable_getCurrentPriorityLevel,yl=E.unstable_ImmediatePriority,Ro=E.unstable_UserBlockingPriority,Et=E.unstable_NormalPriority,Pt=E.unstable_LowPriority,Bn=E.unstable_IdlePriority,Ir={},ji=Qo!==void 0?Qo:function(){},Wr=null,wu=null,c0=!1,Ti=lo(),d0=1e4>Ti?lo:function(){return lo()-Ti};function as(){switch(b0()){case yl:return 99;case Ro:return 98;case Et:return 97;case Pt:return 96;case Bn:return 95;default:throw Error(t(332))}}function St(g){switch(g){case 99:return yl;case 98:return Ro;case 97:return Et;case 96:return Pt;case 95:return Bn;default:throw Error(t(332))}}function so(g,y){return g=St(g),Vl(g,y)}function Jo(g,y,A){return g=St(g),Ao(g,y,A)}function Gl(g){return Wr===null?(Wr=[g],wu=Ao(yl,fs)):Wr.push(g),Ir}function Fu(){if(wu!==null){var g=wu;wu=null,Ms(g)}fs()}function fs(){if(!c0&&Wr!==null){c0=!0;var g=0;try{var y=Wr;so(99,function(){for(;g=y&&(fo=!0),g.firstContext=null)}function Tu(g,y){if(Su!==g&&y!==!1&&y!==0)if((typeof y!="number"||y===1073741823)&&(Su=g,y=1073741823),y={context:g,observedBits:y,next:null},mi===null){if(or===null)throw Error(t(308));mi=y,or.dependencies={expirationTime:0,firstContext:y,responders:null}}else mi=mi.next=y;return un?g._currentValue:g._currentValue2}var ao=!1;function Iu(g){return{baseState:g,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Oa(g){return{baseState:g.baseState,firstUpdate:g.firstUpdate,lastUpdate:g.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function p0(g,y){return{expirationTime:g,suspenseConfig:y,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Zs(g,y){g.lastUpdate===null?g.firstUpdate=g.lastUpdate=y:(g.lastUpdate.next=y,g.lastUpdate=y)}function K0(g,y){var A=g.alternate;if(A===null){var F=g.updateQueue,I=null;F===null&&(F=g.updateQueue=Iu(g.memoizedState))}else F=g.updateQueue,I=A.updateQueue,F===null?I===null?(F=g.updateQueue=Iu(g.memoizedState),I=A.updateQueue=Iu(A.memoizedState)):F=g.updateQueue=Oa(I):I===null&&(I=A.updateQueue=Oa(F));I===null||F===I?Zs(F,y):F.lastUpdate===null||I.lastUpdate===null?(Zs(F,y),Zs(I,y)):(Zs(F,y),I.lastUpdate=y)}function $s(g,y){var A=g.updateQueue;A=A===null?g.updateQueue=Iu(g.memoizedState):ka(g,A),A.lastCapturedUpdate===null?A.firstCapturedUpdate=A.lastCapturedUpdate=y:(A.lastCapturedUpdate.next=y,A.lastCapturedUpdate=y)}function ka(g,y){var A=g.alternate;return A!==null&&y===A.updateQueue&&(y=g.updateQueue=Oa(y)),y}function cs(g,y,A,F,I,J){switch(A.tag){case 1:return g=A.payload,typeof g=="function"?g.call(J,F,I):g;case 3:g.effectTag=g.effectTag&-4097|64;case 0:if(g=A.payload,I=typeof g=="function"?g.call(J,F,I):g,I==null)break;return f({},F,I);case 2:ao=!0}return F}function w0(g,y,A,F,I){ao=!1,y=ka(g,y);for(var J=y.baseState,fe=null,mt=0,Ct=y.firstUpdate,Mt=J;Ct!==null;){var Er=Ct.expirationTime;Erii?(qi=tr,tr=null):qi=tr.sibling;var jr=iu(He,tr,ut[ii],Jt);if(jr===null){tr===null&&(tr=qi);break}g&&tr&&jr.alternate===null&&y(He,tr),Be=J(jr,Be,ii),ti===null?jn=jr:ti.sibling=jr,ti=jr,tr=qi}if(ii===ut.length)return A(He,tr),jn;if(tr===null){for(;iiii?(qi=tr,tr=null):qi=tr.sibling;var gu=iu(He,tr,jr.value,Jt);if(gu===null){tr===null&&(tr=qi);break}g&&tr&&gu.alternate===null&&y(He,tr),Be=J(gu,Be,ii),ti===null?jn=gu:ti.sibling=gu,ti=gu,tr=qi}if(jr.done)return A(He,tr),jn;if(tr===null){for(;!jr.done;ii++,jr=ut.next())jr=$u(He,jr.value,Jt),jr!==null&&(Be=J(jr,Be,ii),ti===null?jn=jr:ti.sibling=jr,ti=jr);return jn}for(tr=F(He,tr);!jr.done;ii++,jr=ut.next())jr=j0(tr,He,ii,jr.value,Jt),jr!==null&&(g&&jr.alternate!==null&&tr.delete(jr.key===null?ii:jr.key),Be=J(jr,Be,ii),ti===null?jn=jr:ti.sibling=jr,ti=jr);return g&&tr.forEach(function(Ba){return y(He,Ba)}),jn}return function(He,Be,ut,Jt){var jn=typeof ut=="object"&&ut!==null&&ut.type===U&&ut.key===null;jn&&(ut=ut.props.children);var ti=typeof ut=="object"&&ut!==null;if(ti)switch(ut.$$typeof){case N:e:{for(ti=ut.key,jn=Be;jn!==null;){if(jn.key===ti)if(jn.tag===7?ut.type===U:jn.elementType===ut.type){A(He,jn.sibling),Be=I(jn,ut.type===U?ut.props.children:ut.props,Jt),Be.ref=Fs(He,jn,ut),Be.return=He,He=Be;break e}else{A(He,jn);break}else y(He,jn);jn=jn.sibling}ut.type===U?(Be=Zu(ut.props.children,He.mode,Jt,ut.key),Be.return=He,He=Be):(Jt=Ia(ut.type,ut.key,ut.props,null,He.mode,Jt),Jt.ref=Fs(He,Be,ut),Jt.return=He,He=Jt)}return fe(He);case C:e:{for(jn=ut.key;Be!==null;){if(Be.key===jn)if(Be.tag===4&&Be.stateNode.containerInfo===ut.containerInfo&&Be.stateNode.implementation===ut.implementation){A(He,Be.sibling),Be=I(Be,ut.children||[],Jt),Be.return=He,He=Be;break e}else{A(He,Be);break}else y(He,Be);Be=Be.sibling}Be=vf(ut,He.mode,Jt),Be.return=He,He=Be}return fe(He)}if(typeof ut=="string"||typeof ut=="number")return ut=""+ut,Be!==null&&Be.tag===6?(A(He,Be.sibling),Be=I(Be,ut,Jt),Be.return=He,He=Be):(A(He,Be),Be=U0(ut,He.mode,Jt),Be.return=He,He=Be),fe(He);if(h0(ut))return Tl(He,Be,ut,Jt);if(le(ut))return e0(He,Be,ut,Jt);if(ti&&Ni(He,ut),typeof ut=="undefined"&&!jn)switch(He.tag){case 1:case 0:throw He=He.type,Error(t(152,He.displayName||He.name||"Component"))}return A(He,Be)}}var z=B(!0),G=B(!1),$={},De={current:$},me={current:$},xe={current:$};function Z(g){if(g===$)throw Error(t(174));return g}function ke(g,y){Zt(xe,y,g),Zt(me,g,g),Zt(De,$,g),y=jt(y),fi(De,g),Zt(De,y,g)}function Xe(g){fi(De,g),fi(me,g),fi(xe,g)}function ht(g){var y=Z(xe.current),A=Z(De.current);y=$t(A,g.type,y),A!==y&&(Zt(me,g,g),Zt(De,y,g))}function ie(g){me.current===g&&(fi(De,g),fi(me,g))}var qe={current:0};function tt(g){for(var y=g;y!==null;){if(y.tag===13){var A=y.memoizedState;if(A!==null&&(A=A.dehydrated,A===null||Hr(A)||To(A)))return y}else if(y.tag===19&&y.memoizedProps.revealOrder!==void 0){if((y.effectTag&64)!=0)return y}else if(y.child!==null){y.child.return=y,y=y.child;continue}if(y===g)break;for(;y.sibling===null;){if(y.return===null||y.return===g)return null;y=y.return}y.sibling.return=y.return,y=y.sibling}return null}function Tt(g,y){return{responder:g,props:y}}var kt=k.ReactCurrentDispatcher,bt=k.ReactCurrentBatchConfig,on=0,tn=null,Lt=null,gn=null,lr=null,Qn=null,_r=null,Cn=0,Ar=null,v0=0,Rr=!1,nt=null,_t=0;function Ze(){throw Error(t(321))}function Ft(g,y){if(y===null)return!1;for(var A=0;ACn&&(Cn=Er,La(Cn))):(oc(Er,Ct.suspenseConfig),J=Ct.eagerReducer===g?Ct.eagerState:g(J,Ct.action)),fe=Ct,Ct=Ct.next}while(Ct!==null&&Ct!==F);Mt||(mt=fe,I=J),Ne(J,y.memoizedState)||(fo=!0),y.memoizedState=J,y.baseUpdate=mt,y.baseState=I,A.lastRenderedState=J}return[y.memoizedState,A.dispatch]}function S0(g){var y=Yn();return typeof g=="function"&&(g=g()),y.memoizedState=y.baseState=g,g=y.queue={last:null,dispatch:null,lastRenderedReducer:nu,lastRenderedState:g},g=g.dispatch=bs.bind(null,tn,g),[y.memoizedState,g]}function X0(g){return Cu(nu,g)}function xu(g,y,A,F){return g={tag:g,create:y,destroy:A,deps:F,next:null},Ar===null?(Ar={lastEffect:null},Ar.lastEffect=g.next=g):(y=Ar.lastEffect,y===null?Ar.lastEffect=g.next=g:(A=y.next,y.next=g,g.next=A,Ar.lastEffect=g)),g}function di(g,y,A,F){var I=Yn();v0|=g,I.memoizedState=xu(y,A,void 0,F===void 0?null:F)}function ko(g,y,A,F){var I=yr();F=F===void 0?null:F;var J=void 0;if(Lt!==null){var fe=Lt.memoizedState;if(J=fe.destroy,F!==null&&Ft(F,fe.deps)){xu(0,A,J,F);return}}v0|=g,I.memoizedState=xu(y,A,J,F)}function Zo(g,y){return di(516,192,g,y)}function sf(g,y){return ko(516,192,g,y)}function gl(g,y){if(typeof y=="function")return g=g(),y(g),function(){y(null)};if(y!=null)return g=g(),y.current=g,function(){y.current=null}}function af(){}function Mo(g,y){return Yn().memoizedState=[g,y===void 0?null:y],g}function ds(g,y){var A=yr();y=y===void 0?null:y;var F=A.memoizedState;return F!==null&&y!==null&&Ft(y,F[1])?F[0]:(A.memoizedState=[g,y],g)}function bs(g,y,A){if(!(25>_t))throw Error(t(301));var F=g.alternate;if(g===tn||F!==null&&F===tn)if(Rr=!0,g={expirationTime:on,suspenseConfig:null,action:A,eagerReducer:null,eagerState:null,next:null},nt===null&&(nt=new Map),A=nt.get(y),A===void 0)nt.set(y,g);else{for(y=A;y.next!==null;)y=y.next;y.next=g}else{var I=g0(),J=ri.suspense;I=bn(I,g,J),J={expirationTime:I,suspenseConfig:J,action:A,eagerReducer:null,eagerState:null,next:null};var fe=y.last;if(fe===null)J.next=J;else{var mt=fe.next;mt!==null&&(J.next=mt),fe.next=J}if(y.last=J,g.expirationTime===0&&(F===null||F.expirationTime===0)&&(F=y.lastRenderedReducer,F!==null))try{var Ct=y.lastRenderedState,Mt=F(Ct,A);if(J.eagerReducer=F,J.eagerState=Mt,Ne(Mt,Ct))return}catch(Er){}finally{}Qu(g,I)}}var No={readContext:Tu,useCallback:Ze,useContext:Ze,useEffect:Ze,useImperativeHandle:Ze,useLayoutEffect:Ze,useMemo:Ze,useReducer:Ze,useRef:Ze,useState:Ze,useDebugValue:Ze,useResponder:Ze,useDeferredValue:Ze,useTransition:Ze},Lo={readContext:Tu,useCallback:Mo,useContext:Tu,useEffect:Zo,useImperativeHandle:function(g,y,A){return A=A!=null?A.concat([g]):null,di(4,36,gl.bind(null,y,g),A)},useLayoutEffect:function(g,y){return di(4,36,g,y)},useMemo:function(g,y){var A=Yn();return y=y===void 0?null:y,g=g(),A.memoizedState=[g,y],g},useReducer:function(g,y,A){var F=Yn();return y=A!==void 0?A(y):y,F.memoizedState=F.baseState=y,g=F.queue={last:null,dispatch:null,lastRenderedReducer:g,lastRenderedState:y},g=g.dispatch=bs.bind(null,tn,g),[F.memoizedState,g]},useRef:function(g){var y=Yn();return g={current:g},y.memoizedState=g},useState:S0,useDebugValue:af,useResponder:Tt,useDeferredValue:function(g,y){var A=S0(g),F=A[0],I=A[1];return Zo(function(){E.unstable_next(function(){var J=bt.suspense;bt.suspense=y===void 0?null:y;try{I(g)}finally{bt.suspense=J}})},[g,y]),F},useTransition:function(g){var y=S0(!1),A=y[0],F=y[1];return[Mo(function(I){F(!0),E.unstable_next(function(){var J=bt.suspense;bt.suspense=g===void 0?null:g;try{F(!1),I()}finally{bt.suspense=J}})},[g,A]),A]}},ps={readContext:Tu,useCallback:ds,useContext:Tu,useEffect:sf,useImperativeHandle:function(g,y,A){return A=A!=null?A.concat([g]):null,ko(4,36,gl.bind(null,y,g),A)},useLayoutEffect:function(g,y){return ko(4,36,g,y)},useMemo:function(g,y){var A=yr();y=y===void 0?null:y;var F=A.memoizedState;return F!==null&&y!==null&&Ft(y,F[1])?F[0]:(g=g(),A.memoizedState=[g,y],g)},useReducer:Cu,useRef:function(){return yr().memoizedState},useState:X0,useDebugValue:af,useResponder:Tt,useDeferredValue:function(g,y){var A=X0(g),F=A[0],I=A[1];return sf(function(){E.unstable_next(function(){var J=bt.suspense;bt.suspense=y===void 0?null:y;try{I(g)}finally{bt.suspense=J}})},[g,y]),F},useTransition:function(g){var y=X0(!1),A=y[0],F=y[1];return[ds(function(I){F(!0),E.unstable_next(function(){var J=bt.suspense;bt.suspense=g===void 0?null:g;try{F(!1),I()}finally{bt.suspense=J}})},[g,A]),A]}},Vu=null,yu=null,pi=!1;function T0(g,y){var A=Io(5,null,null,0);A.elementType="DELETED",A.type="DELETED",A.stateNode=y,A.return=g,A.effectTag=8,g.lastEffect!==null?(g.lastEffect.nextEffect=A,g.lastEffect=A):g.firstEffect=g.lastEffect=A}function Q0(g,y){switch(g.tag){case 5:return y=Lu(y,g.type,g.pendingProps),y!==null?(g.stateNode=y,!0):!1;case 6:return y=V0(y,g.pendingProps),y!==null?(g.stateNode=y,!0):!1;case 13:return!1;default:return!1}}function Fo(g){if(pi){var y=yu;if(y){var A=y;if(!Q0(g,y)){if(y=Co(A),!y||!Q0(g,y)){g.effectTag=g.effectTag&-1025|2,pi=!1,Vu=g;return}T0(Vu,A)}Vu=g,yu=L0(y)}else g.effectTag=g.effectTag&-1025|2,pi=!1,Vu=g}}function ta(g){for(g=g.return;g!==null&&g.tag!==5&&g.tag!==3&&g.tag!==13;)g=g.return;Vu=g}function Kl(g){if(!w||g!==Vu)return!1;if(!pi)return ta(g),pi=!0,!1;var y=g.type;if(g.tag!==5||y!=="head"&&y!=="body"&&!ct(y,g.memoizedProps))for(y=yu;y;)T0(g,y),y=Co(y);if(ta(g),g.tag===13){if(!w)throw Error(t(316));if(g=g.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(t(317));yu=ks(g)}else yu=Vu?Co(g.stateNode):null;return!0}function Ki(){w&&(yu=Vu=null,pi=!1)}var Yr=k.ReactCurrentOwner,fo=!1;function Oi(g,y,A,F){y.child=g===null?G(y,null,A,F):z(y,g.child,A,F)}function gi(g,y,A,F,I){A=A.render;var J=y.ref;return Oo(y,I),F=nn(g,y,A,F,J,I),g!==null&&!fo?(y.updateQueue=g.updateQueue,y.effectTag&=-517,g.expirationTime<=I&&(g.expirationTime=0),fu(g,y,I)):(y.effectTag|=1,Oi(g,y,F,I),y.child)}function ff(g,y,A,F,I,J){if(g===null){var fe=A.type;return typeof fe=="function"&&!hf(fe)&&fe.defaultProps===void 0&&A.compare===null&&A.defaultProps===void 0?(y.tag=15,y.type=fe,cf(g,y,fe,F,I,J)):(g=Ia(A.type,null,F,null,y.mode,J),g.ref=y.ref,g.return=y,y.child=g)}return fe=g.child,Iy)&&Ur.set(g,y)))}}function eo(g,y){g.expirationTimeg?y:g)}function Ju(g){if(g.lastExpiredTime!==0)g.callbackExpirationTime=1073741823,g.callbackPriority=99,g.callbackNode=Gl(to.bind(null,g));else{var y=po(g),A=g.callbackNode;if(y===0)A!==null&&(g.callbackNode=null,g.callbackExpirationTime=0,g.callbackPriority=90);else{var F=g0();if(y===1073741823?F=99:y===1||y===2?F=95:(F=10*(1073741821-y)-10*(1073741821-F),F=0>=F?99:250>=F?98:5250>=F?97:95),A!==null){var I=g.callbackPriority;if(g.callbackExpirationTime===y&&I>=F)return;A!==Ir&&Ms(A)}g.callbackExpirationTime=y,g.callbackPriority=F,y=y===1073741823?Gl(to.bind(null,g)):Jo(F,bo.bind(null,g),{timeout:10*(1073741821-y)-d0()}),g.callbackNode=y}}}function bo(g,y){if(Qi=0,y)return y=g0(),oa(g,y),Ju(g),null;var A=po(g);if(A!==0){if(y=g.callbackNode,(kn&(Xi|ru))!==wr)throw Error(t(327));if(Bs(),g===se&&A===Le||ms(g,A),re!==null){var F=kn;kn|=Xi;var I=B0(g);do try{$1();break}catch(mt){ia(g,mt)}while(1);if(bu(),kn=F,Ku.current=I,Ae===Xr)throw y=ot,ms(g,A),Sl(g,A),Ju(g),y;if(re===null)switch(I=g.finishedWork=g.current.alternate,g.finishedExpirationTime=A,F=Ae,se=null,F){case Ci:case Xr:throw Error(t(345));case Wn:oa(g,2=A){g.lastPingedTime=A,ms(g,A);break}}if(J=po(g),J!==0&&J!==A)break;if(F!==0&&F!==A){g.lastPingedTime=F;break}g.timeoutHandle=ln(Dl.bind(null,g),I);break}Dl(g);break;case m0:if(Sl(g,A),F=g.lastSuspendedTime,A===F&&(g.nextKnownPendingLevel=Uc(I)),yn&&(I=g.lastPingedTime,I===0||I>=A)){g.lastPingedTime=A,ms(g,A);break}if(I=po(g),I!==0&&I!==A)break;if(F!==0&&F!==A){g.lastPingedTime=F;break}if(Xt!==1073741823?F=10*(1073741821-Xt)-d0():vt===1073741823?F=0:(F=10*(1073741821-vt)-5e3,I=d0(),A=10*(1073741821-A)-I,F=I-F,0>F&&(F=0),F=(120>F?120:480>F?480:1080>F?1080:1920>F?1920:3e3>F?3e3:4320>F?4320:1960*df(F/1960))-F,A=F?F=0:(I=fe.busyDelayMs|0,J=d0()-(10*(1073741821-J)-(fe.timeoutMs|0||5e3)),F=J<=I?0:I+F-J),10 component higher in the tree to provide a loading indicator or placeholder to display.`+Pr(I))}Ae!==y0&&(Ae=Wn),J=_l(J,I),Ct=F;do{switch(Ct.tag){case 3:fe=J,Ct.effectTag|=4096,Ct.expirationTime=y;var Be=hs(Ct,fe,y);$s(Ct,Be);break e;case 1:fe=J;var ut=Ct.type,Jt=Ct.stateNode;if((Ct.effectTag&64)==0&&(typeof ut.getDerivedStateFromError=="function"||Jt!==null&&typeof Jt.componentDidCatch=="function"&&(cr===null||!cr.has(Jt)))){Ct.effectTag|=4096,Ct.expirationTime=y;var jn=ra(Ct,fe,y);$s(Ct,jn);break e}}Ct=Ct.return}while(Ct!==null)}re=ho(re)}catch(ti){y=ti;continue}break}while(1)}function B0(){var g=Ku.current;return Ku.current=No,g===null?No:g}function oc(g,y){g_n&&(_n=g)}function gd(){for(;re!==null;)re=e2(re)}function $1(){for(;re!==null&&!Xn();)re=e2(re)}function e2(g){var y=Pa(g.alternate,g,Le);return g.memoizedProps=g.pendingProps,y===null&&(y=ho(g)),vs.current=null,y}function ho(g){re=g;do{var y=re.alternate;if(g=re.return,(re.effectTag&2048)==0){e:{var A=y;y=re;var F=Le,I=y.pendingProps;switch(y.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:Yi(y.type)&&Y0(y);break;case 3:Xe(y),Ui(y),I=y.stateNode,I.pendingContext&&(I.context=I.pendingContext,I.pendingContext=null),(A===null||A.child===null)&&Kl(y)&&Gu(y),Vr(y);break;case 5:ie(y);var J=Z(xe.current);if(F=y.type,A!==null&&y.stateNode!=null)Bu(A,y,F,I,J),A.ref!==y.ref&&(y.effectTag|=128);else if(I){if(A=Z(De.current),Kl(y)){if(I=y,!w)throw Error(t(175));A=tu(I.stateNode,I.type,I.memoizedProps,J,A,I),I.updateQueue=A,A=A!==null,A&&Gu(y)}else{var fe=ae(F,I,J,A,y);Kr(fe,y,!1,!1),y.stateNode=fe,ue(fe,F,I,J,A)&&Gu(y)}y.ref!==null&&(y.effectTag|=128)}else if(y.stateNode===null)throw Error(t(166));break;case 6:if(A&&y.stateNode!=null)Sn(A,y,A.memoizedProps,I);else{if(typeof I!="string"&&y.stateNode===null)throw Error(t(166));if(A=Z(xe.current),J=Z(De.current),Kl(y)){if(A=y,!w)throw Error(t(176));(A=Si(A.stateNode,A.memoizedProps,A))&&Gu(y)}else y.stateNode=en(I,A,J,y)}break;case 11:break;case 13:if(fi(qe,y),I=y.memoizedState,(y.effectTag&64)!=0){y.expirationTime=F;break e}I=I!==null,J=!1,A===null?y.memoizedProps.fallback!==void 0&&Kl(y):(F=A.memoizedState,J=F!==null,I||F===null||(F=A.child.sibling,F!==null&&(fe=y.firstEffect,fe!==null?(y.firstEffect=F,F.nextEffect=fe):(y.firstEffect=y.lastEffect=F,F.nextEffect=null),F.effectTag=8))),I&&!J&&(y.mode&2)!=0&&(A===null&&y.memoizedProps.unstable_avoidThisFallback!==!0||(qe.current&1)!=0?Ae===Ci&&(Ae=Xu):((Ae===Ci||Ae===Xu)&&(Ae=m0),_n!==0&&se!==null&&(Sl(se,Le),_s(se,_n)))),vr&&I&&(y.effectTag|=4),Wt&&(I||J)&&(y.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Xe(y),Vr(y);break;case 10:mu(y);break;case 9:break;case 14:break;case 17:Yi(y.type)&&Y0(y);break;case 19:if(fi(qe,y),I=y.memoizedState,I===null)break;if(J=(y.effectTag&64)!=0,fe=I.rendering,fe===null){if(J)Au(I,!1);else if(Ae!==Ci||A!==null&&(A.effectTag&64)!=0)for(A=y.child;A!==null;){if(fe=tt(A),fe!==null){for(y.effectTag|=64,Au(I,!1),A=fe.updateQueue,A!==null&&(y.updateQueue=A,y.effectTag|=4),I.lastEffect===null&&(y.firstEffect=null),y.lastEffect=I.lastEffect,A=F,I=y.child;I!==null;)J=I,F=A,J.effectTag&=2,J.nextEffect=null,J.firstEffect=null,J.lastEffect=null,fe=J.alternate,fe===null?(J.childExpirationTime=0,J.expirationTime=F,J.child=null,J.memoizedProps=null,J.memoizedState=null,J.updateQueue=null,J.dependencies=null):(J.childExpirationTime=fe.childExpirationTime,J.expirationTime=fe.expirationTime,J.child=fe.child,J.memoizedProps=fe.memoizedProps,J.memoizedState=fe.memoizedState,J.updateQueue=fe.updateQueue,F=fe.dependencies,J.dependencies=F===null?null:{expirationTime:F.expirationTime,firstContext:F.firstContext,responders:F.responders}),I=I.sibling;Zt(qe,qe.current&1|2,y),y=y.child;break e}A=A.sibling}}else{if(!J)if(A=tt(fe),A!==null){if(y.effectTag|=64,J=!0,A=A.updateQueue,A!==null&&(y.updateQueue=A,y.effectTag|=4),Au(I,!0),I.tail===null&&I.tailMode==="hidden"&&!fe.alternate){y=y.lastEffect=I.lastEffect,y!==null&&(y.nextEffect=null);break}}else d0()>I.tailExpiration&&1I&&(I=F),fe>I&&(I=fe),J=J.sibling;A.childExpirationTime=I}if(y!==null)return y;g!==null&&(g.effectTag&2048)==0&&(g.firstEffect===null&&(g.firstEffect=re.firstEffect),re.lastEffect!==null&&(g.lastEffect!==null&&(g.lastEffect.nextEffect=re.firstEffect),g.lastEffect=re.lastEffect),1g?y:g}function Dl(g){var y=as();return so(99,el.bind(null,g,y)),null}function el(g,y){do Bs();while(Qr!==null);if((kn&(Xi|ru))!==wr)throw Error(t(327));var A=g.finishedWork,F=g.finishedExpirationTime;if(A===null)return null;if(g.finishedWork=null,g.finishedExpirationTime=0,A===g.current)throw Error(t(177));g.callbackNode=null,g.callbackExpirationTime=0,g.callbackPriority=90,g.nextKnownPendingLevel=0;var I=Uc(A);if(g.firstPendingTime=I,F<=g.lastSuspendedTime?g.firstSuspendedTime=g.lastSuspendedTime=g.nextKnownPendingLevel=0:F<=g.firstSuspendedTime&&(g.firstSuspendedTime=F-1),F<=g.lastPingedTime&&(g.lastPingedTime=0),F<=g.lastExpiredTime&&(g.lastExpiredTime=0),g===se&&(re=se=null,Le=0),1=A?Yt(g,y,A):(Zt(qe,qe.current&1,y),y=fu(g,y,A),y!==null?y.sibling:null);Zt(qe,qe.current&1,y);break;case 19:if(F=y.childExpirationTime>=A,(g.effectTag&64)!=0){if(F)return wn(g,y,A);y.effectTag|=64}if(I=y.memoizedState,I!==null&&(I.rendering=null,I.tail=null),Zt(qe,qe.current,y),!F)return null}return fu(g,y,A)}fo=!1}}else fo=!1;switch(y.expirationTime=0,y.tag){case 2:if(F=y.type,g!==null&&(g.alternate=null,y.alternate=null,y.effectTag|=2),g=y.pendingProps,I=Du(y,Di.current),Oo(y,A),I=nn(null,y,F,g,I,A),y.effectTag|=1,typeof I=="object"&&I!==null&&typeof I.render=="function"&&I.$$typeof===void 0){if(y.tag=1,sn(),Yi(F)){var J=!0;ni(y)}else J=!1;y.memoizedState=I.state!==null&&I.state!==void 0?I.state:null;var fe=F.getDerivedStateFromProps;typeof fe=="function"&&Yl(y,F,fe,g),I.updater=ea,y.stateNode=I,I._reactInternalFiber=y,Ls(y,F,g,A),y=et(null,y,F,!0,J,A)}else y.tag=0,Oi(null,y,I,A),y=y.child;return y;case 16:if(I=y.elementType,g!==null&&(g.alternate=null,y.alternate=null,y.effectTag|=2),g=y.pendingProps,Ue(I),I._status!==1)throw I._result;switch(I=I._result,y.type=I,J=y.tag=tl(I),g=Hn(I,g),J){case 0:y=Z0(null,y,I,g,A);break;case 1:y=Te(null,y,I,g,A);break;case 11:y=gi(null,y,I,g,A);break;case 14:y=ff(null,y,I,Hn(I.type,g),F,A);break;default:throw Error(t(306,I,""))}return y;case 0:return F=y.type,I=y.pendingProps,I=y.elementType===F?I:Hn(F,I),Z0(g,y,F,I,A);case 1:return F=y.type,I=y.pendingProps,I=y.elementType===F?I:Hn(F,I),Te(g,y,F,I,A);case 3:if(Ve(y),F=y.updateQueue,F===null)throw Error(t(282));if(I=y.memoizedState,I=I!==null?I.element:null,w0(y,F,y.pendingProps,null,A),F=y.memoizedState.element,F===I)Ki(),y=fu(g,y,A);else{if((I=y.stateNode.hydrate)&&(w?(yu=L0(y.stateNode.containerInfo),Vu=y,I=pi=!0):I=!1),I)for(A=G(y,null,F,A),y.child=A;A;)A.effectTag=A.effectTag&-3|1024,A=A.sibling;else Oi(g,y,F,A),Ki();y=y.child}return y;case 5:return ht(y),g===null&&Fo(y),F=y.type,I=y.pendingProps,J=g!==null?g.memoizedProps:null,fe=I.children,ct(F,I)?fe=null:J!==null&&ct(F,J)&&(y.effectTag|=16),J0(g,y),y.mode&4&&A!==1&&At(F,I)?(y.expirationTime=y.childExpirationTime=1,y=null):(Oi(g,y,fe,A),y=y.child),y;case 6:return g===null&&Fo(y),null;case 13:return Yt(g,y,A);case 4:return ke(y,y.stateNode.containerInfo),F=y.pendingProps,g===null?y.child=z(y,null,F,A):Oi(g,y,F,A),y.child;case 11:return F=y.type,I=y.pendingProps,I=y.elementType===F?I:Hn(F,I),gi(g,y,F,I,A);case 7:return Oi(g,y,y.pendingProps,A),y.child;case 8:return Oi(g,y,y.pendingProps.children,A),y.child;case 12:return Oi(g,y,y.pendingProps.children,A),y.child;case 10:e:{if(F=y.type._context,I=y.pendingProps,fe=y.memoizedProps,J=I.value,Pu(y,J),fe!==null){var mt=fe.value;if(J=Ne(mt,J)?0:(typeof F._calculateChangedBits=="function"?F._calculateChangedBits(mt,J):1073741823)|0,J===0){if(fe.children===I.children&&!ci.current){y=fu(g,y,A);break e}}else for(mt=y.child,mt!==null&&(mt.return=y);mt!==null;){var Ct=mt.dependencies;if(Ct!==null){fe=mt.child;for(var Mt=Ct.firstContext;Mt!==null;){if(Mt.context===F&&(Mt.observedBits&J)!=0){mt.tag===1&&(Mt=p0(A,null),Mt.tag=2,K0(mt,Mt)),mt.expirationTime=y&&g<=y}function Sl(g,y){var A=g.firstSuspendedTime,F=g.lastSuspendedTime;Ay||A===0)&&(g.lastSuspendedTime=y),y<=g.lastPingedTime&&(g.lastPingedTime=0),y<=g.lastExpiredTime&&(g.lastExpiredTime=0)}function _s(g,y){y>g.firstPendingTime&&(g.firstPendingTime=y);var A=g.firstSuspendedTime;A!==0&&(y>=A?g.firstSuspendedTime=g.lastSuspendedTime=g.nextKnownPendingLevel=0:y>=g.lastSuspendedTime&&(g.lastSuspendedTime=y+1),y>g.nextKnownPendingLevel&&(g.nextKnownPendingLevel=y))}function oa(g,y){var A=g.lastExpiredTime;(A===0||A>y)&&(g.lastExpiredTime=y)}function n2(g){var y=g._reactInternalFiber;if(y===void 0)throw typeof g.render=="function"?Error(t(188)):Error(t(268,Object.keys(g)));return g=$e(y),g===null?null:g.stateNode}function la(g,y){g=g.memoizedState,g!==null&&g.dehydrated!==null&&g.retryTime{"use strict";Object.defineProperty(Qf,"__esModule",{value:!0});var JK=0;Qf.__interactionsRef=null;Qf.__subscriberRef=null;Qf.unstable_clear=function(i){return i()};Qf.unstable_getCurrent=function(){return null};Qf.unstable_getThreadID=function(){return++JK};Qf.unstable_trace=function(i,o,f){return f()};Qf.unstable_wrap=function(i){return i};Qf.unstable_subscribe=function(){};Qf.unstable_unsubscribe=function(){}});var g9=ce(au=>{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";Object.defineProperty(au,"__esModule",{value:!0});var i=!0,o=0,f=0,p=0;au.__interactionsRef=null,au.__subscriberRef=null,i&&(au.__interactionsRef={current:new Set},au.__subscriberRef={current:null});function E(ge){if(!i)return ge();var ze=au.__interactionsRef.current;au.__interactionsRef.current=new Set;try{return ge()}finally{au.__interactionsRef.current=ze}}function t(){return i?au.__interactionsRef.current:null}function k(){return++p}function L(ge,ze,pe){var Oe=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o;if(!i)return pe();var le={__count:1,id:f++,name:ge,timestamp:ze},Ue=au.__interactionsRef.current,Ge=new Set(Ue);Ge.add(le),au.__interactionsRef.current=Ge;var rt=au.__subscriberRef.current,wt;try{rt!==null&&rt.onInteractionTraced(le)}finally{try{rt!==null&&rt.onWorkStarted(Ge,Oe)}finally{try{wt=pe()}finally{au.__interactionsRef.current=Ue;try{rt!==null&&rt.onWorkStopped(Ge,Oe)}finally{le.__count--,rt!==null&&le.__count===0&&rt.onInteractionScheduledWorkCompleted(le)}}}}return wt}function N(ge){var ze=arguments.length>1&&arguments[1]!==void 0?arguments[1]:o;if(!i)return ge;var pe=au.__interactionsRef.current,Oe=au.__subscriberRef.current;Oe!==null&&Oe.onWorkScheduled(pe,ze),pe.forEach(function(Ge){Ge.__count++});var le=!1;function Ue(){var Ge=au.__interactionsRef.current;au.__interactionsRef.current=pe,Oe=au.__subscriberRef.current;try{var rt;try{Oe!==null&&Oe.onWorkStarted(pe,ze)}finally{try{rt=ge.apply(void 0,arguments)}finally{au.__interactionsRef.current=Ge,Oe!==null&&Oe.onWorkStopped(pe,ze)}}return rt}finally{le||(le=!0,pe.forEach(function(wt){wt.__count--,Oe!==null&&wt.__count===0&&Oe.onInteractionScheduledWorkCompleted(wt)}))}}return Ue.cancel=function(){Oe=au.__subscriberRef.current;try{Oe!==null&&Oe.onWorkCanceled(pe,ze)}finally{pe.forEach(function(rt){rt.__count--,Oe&&rt.__count===0&&Oe.onInteractionScheduledWorkCompleted(rt)})}},Ue}var C=null;i&&(C=new Set);function U(ge){i&&(C.add(ge),C.size===1&&(au.__subscriberRef.current={onInteractionScheduledWorkCompleted:ne,onInteractionTraced:W,onWorkCanceled:he,onWorkScheduled:m,onWorkStarted:we,onWorkStopped:Se}))}function q(ge){i&&(C.delete(ge),C.size===0&&(au.__subscriberRef.current=null))}function W(ge){var ze=!1,pe=null;if(C.forEach(function(Oe){try{Oe.onInteractionTraced(ge)}catch(le){ze||(ze=!0,pe=le)}}),ze)throw pe}function ne(ge){var ze=!1,pe=null;if(C.forEach(function(Oe){try{Oe.onInteractionScheduledWorkCompleted(ge)}catch(le){ze||(ze=!0,pe=le)}}),ze)throw pe}function m(ge,ze){var pe=!1,Oe=null;if(C.forEach(function(le){try{le.onWorkScheduled(ge,ze)}catch(Ue){pe||(pe=!0,Oe=Ue)}}),pe)throw Oe}function we(ge,ze){var pe=!1,Oe=null;if(C.forEach(function(le){try{le.onWorkStarted(ge,ze)}catch(Ue){pe||(pe=!0,Oe=Ue)}}),pe)throw Oe}function Se(ge,ze){var pe=!1,Oe=null;if(C.forEach(function(le){try{le.onWorkStopped(ge,ze)}catch(Ue){pe||(pe=!0,Oe=Ue)}}),pe)throw Oe}function he(ge,ze){var pe=!1,Oe=null;if(C.forEach(function(le){try{le.onWorkCanceled(ge,ze)}catch(Ue){pe||(pe=!0,Oe=Ue)}}),pe)throw Oe}au.unstable_clear=E,au.unstable_getCurrent=t,au.unstable_getThreadID=k,au.unstable_trace=L,au.unstable_wrap=N,au.unstable_subscribe=U,au.unstable_unsubscribe=q}()});var _9=ce((Une,fw)=>{"use strict";process.env.NODE_ENV==="production"?fw.exports=y9():fw.exports=g9()});var E9=ce((jne,hg)=>{"use strict";process.env.NODE_ENV!=="production"&&(hg.exports=function i(o){"use strict";var f=eg(),p=su(),E=HD(),t=h4(),k=_9(),L=0,N=1,C=2,U=3,q=4,W=5,ne=6,m=7,we=8,Se=9,he=10,ge=11,ze=12,pe=13,Oe=14,le=15,Ue=16,Ge=17,rt=18,wt=19,xt=20,$e=21,ft=function(){};ft=function(a,c){for(var _=arguments.length,T=new Array(_>2?_-2:0),R=2;R<_;R++)T[R-2]=arguments[R];if(c===void 0)throw new Error("`warningWithoutStack(condition, format, ...args)` requires a warning message argument");if(T.length>8)throw new Error("warningWithoutStack() currently supports at most 8 arguments.");if(!a){if(typeof console!="undefined"){var j=T.map(function(oe){return""+oe});j.unshift("Warning: "+c),Function.prototype.apply.call(console.error,console,j)}try{var V=0,te="Warning: "+c.replace(/%s/g,function(){return T[V++]});throw new Error(te)}catch(oe){}}};var Ke=ft;function jt(a){return a._reactInternalFiber}function $t(a,c){a._reactInternalFiber=c}var at=p.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;at.hasOwnProperty("ReactCurrentDispatcher")||(at.ReactCurrentDispatcher={current:null}),at.hasOwnProperty("ReactCurrentBatchConfig")||(at.ReactCurrentBatchConfig={suspense:null});var Q=typeof Symbol=="function"&&Symbol.for,ae=Q?Symbol.for("react.element"):60103,Ce=Q?Symbol.for("react.portal"):60106,ue=Q?Symbol.for("react.fragment"):60107,je=Q?Symbol.for("react.strict_mode"):60108,ct=Q?Symbol.for("react.profiler"):60114,At=Q?Symbol.for("react.provider"):60109,en=Q?Symbol.for("react.context"):60110,ln=Q?Symbol.for("react.concurrent_mode"):60111,An=Q?Symbol.for("react.forward_ref"):60112,nr=Q?Symbol.for("react.suspense"):60113,un=Q?Symbol.for("react.suspense_list"):60120,Wt=Q?Symbol.for("react.memo"):60115,vr=Q?Symbol.for("react.lazy"):60116,w=Q?Symbol.for("react.fundamental"):60117,Ut=Q?Symbol.for("react.responder"):60118,Vn=Q?Symbol.for("react.scope"):60119,fr=typeof Symbol=="function"&&Symbol.iterator,Fr="@@iterator";function ur(a){if(a===null||typeof a!="object")return null;var c=fr&&a[fr]||a[Fr];return typeof c=="function"?c:null}var br=Ke;br=function(a,c){if(!a){for(var _=at.ReactDebugCurrentFrame,T=_.getStackAddendum(),R=arguments.length,j=new Array(R>2?R-2:0),V=2;V import('./MyComponent'))`,T),a._status=So,a._result=R}},function(T){a._status===a0&&(a._status=Go,a._result=T)})}}function Ko(a,c,_){var T=c.displayName||c.name||"";return a.displayName||(T!==""?_+"("+T+")":_)}function qt(a){if(a==null)return null;if(typeof a.tag=="number"&&Ke(!1,"Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a;switch(a){case ue:return"Fragment";case Ce:return"Portal";case ct:return"Profiler";case je:return"StrictMode";case nr:return"Suspense";case un:return"SuspenseList"}if(typeof a=="object")switch(a.$$typeof){case en:return"Context.Consumer";case At:return"Context.Provider";case An:return Ko(a,a.render,"ForwardRef");case Wt:return qt(a.type);case vr:{var c=a,_=Os(c);if(_)return qt(_);break}}return null}var _i=0,eu=1,ai=2,mr=4,Xo=6,W0=8,Lu=16,V0=32,Hr=64,To=128,Co=256,L0=512,tu=1024,Si=1028,ks=932,Hl=2047,F0=2048,f0=4096,Pr=!0,Ei=!0,G0=!0,fi=!0,Zt=!0,Ln=!0,Di=!1,ci=!1,Ht=!1,Du=!1,Yi=!1,Y0=!0,Ui=!1,Wl=!1,xo=!1,ni=!1,oo=!1,Vl=at.ReactCurrentOwner;function Ao(a){var c=a,_=a;if(a.alternate)for(;c.return;)c=c.return;else{var T=c;do c=T,(c.effectTag&(ai|tu))!==_i&&(_=c.return),T=c.return;while(T)}return c.tag===U?_:null}function Ms(a){return Ao(a)===a}function Xn(a){{var c=Vl.current;if(c!==null&&c.tag===N){var _=c,T=_.stateNode;T._warnedAboutRefsInRender||Ke(!1,"%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.",qt(_.type)||"A component"),T._warnedAboutRefsInRender=!0}}var R=jt(a);return R?Ao(R)===R:!1}function Qo(a){if(Ao(a)!==a)throw Error("Unable to find node on an unmounted component.")}function lo(a){var c=a.alternate;if(!c){var _=Ao(a);if(_===null)throw Error("Unable to find node on an unmounted component.");return _!==a?null:a}for(var T=a,R=c;;){var j=T.return;if(j===null)break;var V=j.alternate;if(V===null){var te=j.return;if(te!==null){T=R=te;continue}break}if(j.child===V.child){for(var oe=j.child;oe;){if(oe===T)return Qo(j),a;if(oe===R)return Qo(j),c;oe=oe.sibling}throw Error("Unable to find node on an unmounted component.")}if(T.return!==R.return)T=j,R=V;else{for(var Ie=!1,Ye=j.child;Ye;){if(Ye===T){Ie=!0,T=j,R=V;break}if(Ye===R){Ie=!0,R=j,T=V;break}Ye=Ye.sibling}if(!Ie){for(Ye=V.child;Ye;){if(Ye===T){Ie=!0,T=V,R=j;break}if(Ye===R){Ie=!0,R=V,T=j;break}Ye=Ye.sibling}if(!Ie)throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.")}}if(T.alternate!==R)throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.")}if(T.tag!==U)throw Error("Unable to find node on an unmounted component.");return T.stateNode.current===T?a:c}function b0(a){var c=lo(a);if(!c)return null;for(var _=c;;){if(_.tag===W||_.tag===ne)return _;if(_.child){_.child.return=_,_=_.child;continue}if(_===c)return null;for(;!_.sibling;){if(!_.return||_.return===c)return null;_=_.return}_.sibling.return=_.return,_=_.sibling}return null}function yl(a){var c=lo(a);if(!c)return null;for(var _=c;;){if(_.tag===W||_.tag===ne||Ht&&_.tag===xt)return _;if(_.child&&_.tag!==q){_.child.return=_,_=_.child;continue}if(_===c)return null;for(;!_.sibling;){if(!_.return||_.return===c)return null;_=_.return}_.sibling.return=_.return,_=_.sibling}return null}var Ro=o.getPublicInstance,Et=o.getRootHostContext,Pt=o.getChildHostContext,Bn=o.prepareForCommit,Ir=o.resetAfterCommit,ji=o.createInstance,Wr=o.appendInitialChild,wu=o.finalizeInitialChildren,c0=o.prepareUpdate,Ti=o.shouldSetTextContent,d0=o.shouldDeprioritizeSubtree,as=o.createTextInstance,St=o.setTimeout,so=o.clearTimeout,Jo=o.noTimeout,Gl=o.now,Fu=o.isPrimaryRenderer,fs=o.warnsIfNotActing,P0=o.supportsMutation,X=o.supportsPersistence,_e=o.supportsHydration,Ne=o.mountResponderInstance,Me=o.unmountResponderInstance,dt=o.getFundamentalComponentInstance,Hn=o.mountFundamentalComponent,Dn=o.shouldUpdateFundamentalComponent,or=o.getInstanceFromNode,mi=o.appendChild,Su=o.appendChildToContainer,bu=o.commitTextUpdate,Pu=o.commitMount,mu=o.commitUpdate,yi=o.insertBefore,Oo=o.insertInContainerBefore,Tu=o.removeChild,ao=o.removeChildFromContainer,Iu=o.resetTextContent,Oa=o.hideInstance,p0=o.hideTextInstance,Zs=o.unhideInstance,K0=o.unhideTextInstance,$s=o.updateFundamentalComponent,ka=o.unmountFundamentalComponent,cs=o.cloneInstance,w0=o.createContainerChildSet,Gn=o.appendChildToContainerChildSet,ic=o.finalizeContainerChildren,ri=o.replaceContainerChildren,Gr=o.cloneHiddenInstance,Yl=o.cloneHiddenTextInstance,ea=o.cloneInstance,lf=o.canHydrateInstance,Ns=o.canHydrateTextInstance,Ma=o.canHydrateSuspenseInstance,Ls=o.isSuspenseInstancePending,h0=o.isSuspenseInstanceFallback,Fs=o.registerSuspenseInstanceRetry,Ni=o.getNextHydratableSibling,B=o.getFirstHydratableChild,z=o.hydrateInstance,G=o.hydrateTextInstance,$=o.hydrateSuspenseInstance,De=o.getNextHydratableInstanceAfterSuspenseInstance,me=o.commitHydratedContainer,xe=o.commitHydratedSuspenseInstance,Z=o.clearSuspenseBoundary,ke=o.clearSuspenseBoundaryFromContainer,Xe=o.didNotMatchHydratedContainerTextInstance,ht=o.didNotMatchHydratedTextInstance,ie=o.didNotHydrateContainerInstance,qe=o.didNotHydrateInstance,tt=o.didNotFindHydratableContainerInstance,Tt=o.didNotFindHydratableContainerTextInstance,kt=o.didNotFindHydratableContainerSuspenseInstance,bt=o.didNotFindHydratableInstance,on=o.didNotFindHydratableTextInstance,tn=o.didNotFindHydratableSuspenseInstance,Lt=/^(.*)[\\\/]/,gn=function(a,c,_){var T="";if(c){var R=c.fileName,j=R.replace(Lt,"");if(/^index\./.test(j)){var V=R.match(Lt);if(V){var te=V[1];if(te){var oe=te.replace(Lt,"");j=oe+"/"+j}}}T=" (at "+j+":"+c.lineNumber+")"}else _&&(T=" (created by "+_+")");return` - in `+(a||"Unknown")+T},lr=at.ReactDebugCurrentFrame;function Qn(a){switch(a.tag){case U:case q:case ne:case m:case he:case Se:return"";default:var c=a._debugOwner,_=a._debugSource,T=qt(a.type),R=null;return c&&(R=qt(c.type)),gn(T,_,R)}}function _r(a){var c="",_=a;do c+=Qn(_),_=_.return;while(_);return c}var Cn=null,Ar=null;function v0(){{if(Cn===null)return null;var a=Cn._debugOwner;if(a!==null&&typeof a!="undefined")return qt(a.type)}return null}function Rr(){return Cn===null?"":_r(Cn)}function nt(){lr.getCurrentStack=null,Cn=null,Ar=null}function _t(a){lr.getCurrentStack=Rr,Cn=a,Ar=null}function Ze(a){Ar=a}var Ft="\u269B",nn="\u26D4",sn=typeof performance!="undefined"&&typeof performance.mark=="function"&&typeof performance.clearMarks=="function"&&typeof performance.measure=="function"&&typeof performance.clearMeasures=="function",Yn=null,yr=null,nu=null,Cu=!1,S0=!1,X0=!1,xu=0,di=0,ko=new Set,Zo=function(a){return Ft+" "+a},sf=function(a,c){var _=c?nn+" ":Ft+" ",T=c?" Warning: "+c:"";return""+_+a+T},gl=function(a){performance.mark(Zo(a))},af=function(a){performance.clearMarks(Zo(a))},Mo=function(a,c,_){var T=Zo(c),R=sf(a,_);try{performance.measure(R,T)}catch(j){}performance.clearMarks(T),performance.clearMeasures(R)},ds=function(a,c){return a+" (#"+c+")"},bs=function(a,c,_){return _===null?a+" ["+(c?"update":"mount")+"]":a+"."+_},No=function(a,c){var _=qt(a.type)||"Unknown",T=a._debugID,R=a.alternate!==null,j=bs(_,R,c);if(Cu&&ko.has(j))return!1;ko.add(j);var V=ds(j,T);return gl(V),!0},Lo=function(a,c){var _=qt(a.type)||"Unknown",T=a._debugID,R=a.alternate!==null,j=bs(_,R,c),V=ds(j,T);af(V)},ps=function(a,c,_){var T=qt(a.type)||"Unknown",R=a._debugID,j=a.alternate!==null,V=bs(T,j,c),te=ds(V,R);Mo(V,te,_)},Vu=function(a){switch(a.tag){case U:case W:case ne:case q:case m:case he:case Se:case we:return!0;default:return!1}},yu=function(){yr!==null&&nu!==null&&Lo(nu,yr),nu=null,yr=null,X0=!1},pi=function(){for(var a=Yn;a;)a._debugIsCurrentlyTiming&&ps(a,null,null),a=a.return},T0=function(a){a.return!==null&&T0(a.return),a._debugIsCurrentlyTiming&&No(a,null)},Q0=function(){Yn!==null&&T0(Yn)};function Fo(){Pr&&di++}function ta(){Pr&&(Cu&&(S0=!0),yr!==null&&yr!=="componentWillMount"&&yr!=="componentWillReceiveProps"&&(X0=!0))}function Kl(a){if(Pr){if(!sn||Vu(a)||(Yn=a,!No(a,null)))return;a._debugIsCurrentlyTiming=!0}}function Ki(a){if(Pr){if(!sn||Vu(a))return;a._debugIsCurrentlyTiming=!1,Lo(a,null)}}function Yr(a){if(Pr){if(!sn||Vu(a)||(Yn=a.return,!a._debugIsCurrentlyTiming))return;a._debugIsCurrentlyTiming=!1,ps(a,null,null)}}function fo(a){if(Pr){if(!sn||Vu(a)||(Yn=a.return,!a._debugIsCurrentlyTiming))return;a._debugIsCurrentlyTiming=!1;var c=a.tag===pe?"Rendering was suspended":"An error was thrown inside this error boundary";ps(a,null,c)}}function Oi(a,c){if(Pr){if(!sn||(yu(),!No(a,c)))return;nu=a,yr=c}}function gi(){if(Pr){if(!sn)return;if(yr!==null&&nu!==null){var a=X0?"Scheduled a cascading update":null;ps(nu,yr,a)}yr=null,nu=null}}function ff(a){if(Pr){if(Yn=a,!sn)return;xu=0,gl("(React Tree Reconciliation)"),Q0()}}function cf(a,c){if(Pr){if(!sn)return;var _=null;if(a!==null)if(a.tag===U)_="A top-level update interrupted the previous render";else{var T=qt(a.type)||"Unknown";_="An update to "+T+" interrupted the previous render"}else xu>1&&(_="There were cascading updates");xu=0;var R=c?"(React Tree Reconciliation: Completed Root)":"(React Tree Reconciliation: Yielded)";pi(),Mo(R,"(React Tree Reconciliation)",_)}}function J0(){if(Pr){if(!sn)return;Cu=!0,S0=!1,ko.clear(),gl("(Committing Changes)")}}function Z0(){if(Pr){if(!sn)return;var a=null;S0?a="Lifecycle hook scheduled a cascading update":xu>0&&(a="Caused by a cascading update in earlier commit"),S0=!1,xu++,Cu=!1,ko.clear(),Mo("(Committing Changes)","(Committing Changes)",a)}}function Te(){if(Pr){if(!sn)return;di=0,gl("(Committing Snapshot Effects)")}}function et(){if(Pr){if(!sn)return;var a=di;di=0,Mo("(Committing Snapshot Effects: "+a+" Total)","(Committing Snapshot Effects)",null)}}function Ve(){if(Pr){if(!sn)return;di=0,gl("(Committing Host Effects)")}}function Gt(){if(Pr){if(!sn)return;var a=di;di=0,Mo("(Committing Host Effects: "+a+" Total)","(Committing Host Effects)",null)}}function Yt(){if(Pr){if(!sn)return;di=0,gl("(Calling Lifecycle Methods)")}}function sr(){if(Pr){if(!sn)return;var a=di;di=0,Mo("(Calling Lifecycle Methods: "+a+" Total)","(Calling Lifecycle Methods)",null)}}var Br=[],wn;wn=[];var fu=-1;function Gu(a){return{current:a}}function Kr(a,c){if(fu<0){Ke(!1,"Unexpected pop.");return}c!==wn[fu]&&Ke(!1,"Unexpected Fiber popped."),a.current=Br[fu],Br[fu]=null,wn[fu]=null,fu--}function Vr(a,c,_){fu++,Br[fu]=a.current,wn[fu]=_,a.current=c}var Bu;Bu={};var Sn={};Object.freeze(Sn);var C0=Gu(Sn),Au=Gu(!1),ei=Sn;function _l(a,c,_){return ni?Sn:_&&zi(c)?ei:C0.current}function Ps(a,c,_){if(!ni){var T=a.stateNode;T.__reactInternalMemoizedUnmaskedChildContext=c,T.__reactInternalMemoizedMaskedChildContext=_}}function Uu(a,c){if(ni)return Sn;var _=a.type,T=_.contextTypes;if(!T)return Sn;var R=a.stateNode;if(R&&R.__reactInternalMemoizedUnmaskedChildContext===c)return R.__reactInternalMemoizedMaskedChildContext;var j={};for(var V in T)j[V]=c[V];{var te=qt(_)||"Unknown";E(T,j,"context",te,Rr)}return R&&Ps(a,c,j),j}function na(){return ni?!1:Au.current}function zi(a){if(ni)return!1;var c=a.childContextTypes;return c!=null}function Is(a){ni||(Kr(Au,a),Kr(C0,a))}function x0(a){ni||(Kr(Au,a),Kr(C0,a))}function Li(a,c,_){if(!ni){if(C0.current!==Sn)throw Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.");Vr(C0,c,a),Vr(Au,_,a)}}function A0(a,c,_){if(ni)return _;var T=a.stateNode,R=c.childContextTypes;if(typeof T.getChildContext!="function"){{var j=qt(c)||"Unknown";Bu[j]||(Bu[j]=!0,Ke(!1,"%s.childContextTypes is specified but there is no getChildContext() method on the instance. You can either define getChildContext() on %s or remove childContextTypes from it.",j,j))}return _}var V;Ze("getChildContext"),Oi(a,"getChildContext"),V=T.getChildContext(),gi(),Ze(null);for(var te in V)if(!(te in R))throw Error((qt(c)||"Unknown")+'.getChildContext(): key "'+te+'" is not defined in childContextTypes.');{var oe=qt(c)||"Unknown";E(R,V,"child context",oe,Rr)}return f({},_,{},V)}function Fi(a){if(ni)return!1;var c=a.stateNode,_=c&&c.__reactInternalMemoizedMergedChildContext||Sn;return ei=C0.current,Vr(C0,_,a),Vr(Au,Au.current,a),!0}function $o(a,c,_){if(!ni){var T=a.stateNode;if(!T)throw Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.");if(_){var R=A0(a,c,ei);T.__reactInternalMemoizedMergedChildContext=R,Kr(Au,a),Kr(C0,a),Vr(C0,R,a),Vr(Au,_,a)}else Kr(Au,a),Vr(Au,_,a)}}function El(a){if(ni)return Sn;if(!(Ms(a)&&a.tag===N))throw Error("Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.");var c=a;do{switch(c.tag){case U:return c.stateNode.context;case N:{var _=c.type;if(zi(_))return c.stateNode.__reactInternalMemoizedMergedChildContext;break}}c=c.return}while(c!==null);throw Error("Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.")}var I0=1,R0=2,co=t.unstable_runWithPriority,Ru=t.unstable_scheduleCallback,Yu=t.unstable_cancelCallback,Xl=t.unstable_shouldYield,hs=t.unstable_requestPaint,ra=t.unstable_now,df=t.unstable_getCurrentPriorityLevel,Ku=t.unstable_ImmediatePriority,vs=t.unstable_UserBlockingPriority,wr=t.unstable_NormalPriority,$0=t.unstable_LowPriority,Xi=t.unstable_IdlePriority;if(Ln&&!(k.__interactionsRef!=null&&k.__interactionsRef.current!=null))throw Error("It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at http://fb.me/react-profiling");var ru={},Ci=99,Xr=98,Wn=97,Xu=96,m0=95,y0=90,kn=Xl,se=hs!==void 0?hs:function(){},re=null,Le=null,Ae=!1,ot=ra(),vt=ot<1e4?ra:function(){return ra()-ot};function Xt(){switch(df()){case Ku:return Ci;case vs:return Xr;case wr:return Wn;case $0:return Xu;case Xi:return m0;default:throw Error("Unknown priority level.")}}function xn(a){switch(a){case Ci:return Ku;case Xr:return vs;case Wn:return wr;case Xu:return $0;case m0:return Xi;default:throw Error("Unknown priority level.")}}function _n(a,c){var _=xn(a);return co(_,c)}function yn(a,c,_){var T=xn(a);return Ru(T,c,_)}function En(a){return re===null?(re=[a],Le=Ru(Ku,xi)):re.push(a),ru}function er(a){a!==ru&&Yu(a)}function It(){if(Le!==null){var a=Le;Le=null,Yu(a)}xi()}function xi(){if(!Ae&&re!==null){Ae=!0;var a=0;try{var c=!0,_=re;_n(Ci,function(){for(;a<_.length;a++){var T=_[a];do T=T(c);while(T!==null)}}),re=null}catch(T){throw re!==null&&(re=re.slice(a+1)),Ru(Ku,It),T}finally{Ae=!1}}}var Sr=0,cr=1,Y=2,Qr=4,Jr=8,Ur=1073741823,lt=0,hi=1,Qi=2,g0=3,bn=Ur,Qu=bn-1,eo=10,po=Qu-1;function Ju(a){return po-(a/eo|0)}function bo(a){return(po-a)*eo}function to(a,c){return((a/c|0)+1)*c}function Na(a,c,_){return po-to(po-a+c/eo,_/eo)}var pf=5e3,uc=250;function ms(a){return Na(a,pf,uc)}function ia(a,c){return Na(a,c,uc)}var B0=500,oc=100;function La(a){return Na(a,B0,oc)}function gd(a){return g0++}function $1(a,c){if(c===bn)return Ci;if(c===hi||c===Qi)return m0;var _=bo(c)-bo(a);return _<=0?Ci:_<=B0+oc?Xr:_<=pf+uc?Wn:m0}function e2(a,c){return a===c&&(a!==0||1/a==1/c)||a!==a&&c!==c}var ho=typeof Object.is=="function"?Object.is:e2,Uc=Object.prototype.hasOwnProperty;function Dl(a,c){if(ho(a,c))return!0;if(typeof a!="object"||a===null||typeof c!="object"||c===null)return!1;var _=Object.keys(a),T=Object.keys(c);if(_.length!==T.length)return!1;for(var R=0;R<_.length;R++)if(!Uc.call(c,_[R])||!ho(a[_[R]],c[_[R]]))return!1;return!0}var el=function(){};{var _d=function(a){for(var c=arguments.length,_=new Array(c>1?c-1:0),T=1;T2?_-2:0),R=2;R<_;R++)T[R-2]=arguments[R];_d.apply(void 0,[c].concat(T))}}}var Bs=el,wl={recordUnsafeLifecycleWarnings:function(a,c){},flushPendingUnsafeLifecycleWarnings:function(){},recordLegacyContextWarning:function(a,c){},flushLegacyContextWarning:function(){},discardPendingWarnings:function(){}};{var t2=function(a){for(var c=null,_=a;_!==null;)_.mode&cr&&(c=_),_=_.return;return c},Po=function(a){var c=[];return a.forEach(function(_){c.push(_)}),c.sort().join(", ")},Fa=[],ba=[],Pa=[],ua=[],ys=[],gs=[],Ql=new Set;wl.recordUnsafeLifecycleWarnings=function(a,c){Ql.has(a.type)||(typeof c.componentWillMount=="function"&&c.componentWillMount.__suppressDeprecationWarning!==!0&&Fa.push(a),a.mode&cr&&typeof c.UNSAFE_componentWillMount=="function"&&ba.push(a),typeof c.componentWillReceiveProps=="function"&&c.componentWillReceiveProps.__suppressDeprecationWarning!==!0&&Pa.push(a),a.mode&cr&&typeof c.UNSAFE_componentWillReceiveProps=="function"&&ua.push(a),typeof c.componentWillUpdate=="function"&&c.componentWillUpdate.__suppressDeprecationWarning!==!0&&ys.push(a),a.mode&cr&&typeof c.UNSAFE_componentWillUpdate=="function"&&gs.push(a))},wl.flushPendingUnsafeLifecycleWarnings=function(){var a=new Set;Fa.length>0&&(Fa.forEach(function(Nt){a.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),Fa=[]);var c=new Set;ba.length>0&&(ba.forEach(function(Nt){c.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),ba=[]);var _=new Set;Pa.length>0&&(Pa.forEach(function(Nt){_.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),Pa=[]);var T=new Set;ua.length>0&&(ua.forEach(function(Nt){T.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),ua=[]);var R=new Set;ys.length>0&&(ys.forEach(function(Nt){R.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),ys=[]);var j=new Set;if(gs.length>0&&(gs.forEach(function(Nt){j.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),gs=[]),c.size>0){var V=Po(c);Ke(!1,`Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. - -* Move code with side effects to componentDidMount, and set initial state in the constructor. - -Please update the following components: %s`,V)}if(T.size>0){var te=Po(T);Ke(!1,`Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. - -* Move data fetching code or side effects to componentDidUpdate. -* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state - -Please update the following components: %s`,te)}if(j.size>0){var oe=Po(j);Ke(!1,`Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. - -* Move data fetching code or side effects to componentDidUpdate. - -Please update the following components: %s`,oe)}if(a.size>0){var Ie=Po(a);Bs(!1,`componentWillMount has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. - -* Move code with side effects to componentDidMount, and set initial state in the constructor. -* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder. - -Please update the following components: %s`,Ie)}if(_.size>0){var Ye=Po(_);Bs(!1,`componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. - -* Move data fetching code or side effects to componentDidUpdate. -* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state -* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder. - -Please update the following components: %s`,Ye)}if(R.size>0){var pt=Po(R);Bs(!1,`componentWillUpdate has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. - -* Move data fetching code or side effects to componentDidUpdate. -* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder. - -Please update the following components: %s`,pt)}};var Io=new Map,hf=new Set;wl.recordLegacyContextWarning=function(a,c){var _=t2(a);if(_===null){Ke(!1,"Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue.");return}if(!hf.has(a.type)){var T=Io.get(_);(a.type.contextTypes!=null||a.type.childContextTypes!=null||c!==null&&typeof c.getChildContext=="function")&&(T===void 0&&(T=[],Io.set(_,T)),T.push(a))}},wl.flushLegacyContextWarning=function(){Io.forEach(function(a,c){var _=new Set;a.forEach(function(j){_.add(qt(j.type)||"Component"),hf.add(j.type)});var T=Po(_),R=_r(c);Ke(!1,`Legacy context API has been detected within a strict-mode tree. - -The old API will be supported in all 16.x releases, but applications using it should migrate to the new version. - -Please update the following components: %s - -Learn more about this warning here: https://fb.me/react-legacy-context%s`,T,R)})},wl.discardPendingWarnings=function(){Fa=[],ba=[],Pa=[],ua=[],ys=[],gs=[],Io=new Map}}var tl=null,ju=null,Ia=function(a){tl=a};function Zu(a){{if(tl===null)return a;var c=tl(a);return c===void 0?a:c.current}}function U0(a){return Zu(a)}function vf(a){{if(tl===null)return a;var c=tl(a);if(c===void 0){if(a!=null&&typeof a.render=="function"){var _=Zu(a.render);if(a.render!==_){var T={$$typeof:An,render:_};return a.displayName!==void 0&&(T.displayName=a.displayName),T}}return a}return c.current}}function jc(a,c){{if(tl===null)return!1;var _=a.elementType,T=c.type,R=!1,j=typeof T=="object"&&T!==null?T.$$typeof:null;switch(a.tag){case N:{typeof T=="function"&&(R=!0);break}case L:{(typeof T=="function"||j===vr)&&(R=!0);break}case ge:{(j===An||j===vr)&&(R=!0);break}case Oe:case le:{(j===Wt||j===vr)&&(R=!0);break}default:return!1}if(R){var V=tl(_);if(V!==void 0&&V===tl(T))return!0}return!1}}function lc(a){{if(tl===null||typeof WeakSet!="function")return;ju===null&&(ju=new WeakSet),ju.add(a)}}var Sl=function(a,c){{if(tl===null)return;var _=c.staleFamilies,T=c.updatedFamilies;Xa(),xp(function(){oa(a.current,T,_)})}},_s=function(a,c){{if(a.context!==Sn)return;Xa(),fv(function(){l_(c,a,null,null)})}};function oa(a,c,_){{var T=a.alternate,R=a.child,j=a.sibling,V=a.tag,te=a.type,oe=null;switch(V){case L:case le:case N:oe=te;break;case ge:oe=te.render;break;default:break}if(tl===null)throw new Error("Expected resolveFamily to be set during hot reload.");var Ie=!1,Ye=!1;if(oe!==null){var pt=tl(oe);pt!==void 0&&(_.has(pt)?Ye=!0:c.has(pt)&&(V===N?Ye=!0:Ie=!0))}ju!==null&&(ju.has(a)||T!==null&&ju.has(T))&&(Ye=!0),Ye&&(a._debugNeedsRemount=!0),(Ye||Ie)&&dl(a,bn),R!==null&&!Ye&&oa(R,c,_),j!==null&&oa(j,c,_)}}var n2=function(a,c){{var _=new Set,T=new Set(c.map(function(R){return R.current}));return la(a.current,T,_),_}};function la(a,c,_){{var T=a.child,R=a.sibling,j=a.tag,V=a.type,te=null;switch(j){case L:case le:case N:te=V;break;case ge:te=V.render;break;default:break}var oe=!1;te!==null&&c.has(te)&&(oe=!0),oe?sc(a,_):T!==null&&la(T,c,_),R!==null&&la(R,c,_)}}function sc(a,c){{var _=zc(a,c);if(_)return;for(var T=a;;){switch(T.tag){case W:c.add(T.stateNode);return;case q:c.add(T.stateNode.containerInfo);return;case U:c.add(T.stateNode.containerInfo);return}if(T.return===null)throw new Error("Expected to reach root first.");T=T.return}}}function zc(a,c){for(var _=a,T=!1;;){if(_.tag===W)T=!0,c.add(_.stateNode);else if(_.child!==null){_.child.return=_,_=_.child;continue}if(_===a)return T;for(;_.sibling===null;){if(_.return===null||_.return===a)return T;_=_.return}_.sibling.return=_.return,_=_.sibling}return!1}function bi(a,c){if(a&&a.defaultProps){var _=f({},c),T=a.defaultProps;for(var R in T)_[R]===void 0&&(_[R]=T[R]);return _}return c}function g(a){if(Yo(a),a._status!==So)throw a._result;return a._result}var y=Gu(null),A;A={};var F=null,I=null,J=null,fe=!1;function mt(){F=null,I=null,J=null,fe=!1}function Ct(){fe=!0}function Mt(){fe=!1}function Er(a,c){var _=a.type._context;Fu?(Vr(y,_._currentValue,a),_._currentValue=c,_._currentRenderer===void 0||_._currentRenderer===null||_._currentRenderer===A||Ke(!1,"Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."),_._currentRenderer=A):(Vr(y,_._currentValue2,a),_._currentValue2=c,_._currentRenderer2===void 0||_._currentRenderer2===null||_._currentRenderer2===A||Ke(!1,"Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."),_._currentRenderer2=A)}function $u(a){var c=y.current;Kr(y,a);var _=a.type._context;Fu?_._currentValue=c:_._currentValue2=c}function iu(a,c,_){if(ho(_,c))return 0;var T=typeof a._calculateChangedBits=="function"?a._calculateChangedBits(_,c):Ur;return(T&Ur)!==T&&Kt(!1,"calculateChangedBits: Expected the return value to be a 31-bit integer. Instead received: %s",T),T|0}function j0(a,c){for(var _=a;_!==null;){var T=_.alternate;if(_.childExpirationTime=c&&up(),_.firstContext=null)}}function He(a,c){if(fe&&Kt(!1,"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."),J!==a){if(!(c===!1||c===0)){var _;typeof c!="number"||c===Ur?(J=a,_=Ur):_=c;var T={context:a,observedBits:_,next:null};if(I===null){if(F===null)throw Error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().");I=T,F.dependencies={expirationTime:lt,firstContext:T,responders:null}}else I=I.next=T}}return Fu?a._currentValue:a._currentValue2}var Be=0,ut=1,Jt=2,jn=3,ti=!1,tr,ii;tr=!1,ii=null;function qi(a){var c={baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null};return c}function jr(a){var c={baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null};return c}function gu(a,c){var _={expirationTime:a,suspenseConfig:c,tag:Be,payload:null,callback:null,next:null,nextEffect:null};return _.priority=Xt(),_}function Ba(a,c){a.lastUpdate===null?a.firstUpdate=a.lastUpdate=c:(a.lastUpdate.next=c,a.lastUpdate=c)}function Ua(a,c){var _=a.alternate,T,R;_===null?(T=a.updateQueue,R=null,T===null&&(T=a.updateQueue=qi(a.memoizedState))):(T=a.updateQueue,R=_.updateQueue,T===null?R===null?(T=a.updateQueue=qi(a.memoizedState),R=_.updateQueue=qi(_.memoizedState)):T=a.updateQueue=jr(R):R===null&&(R=_.updateQueue=jr(T))),R===null||T===R?Ba(T,c):T.lastUpdate===null||R.lastUpdate===null?(Ba(T,c),Ba(R,c)):(Ba(T,c),R.lastUpdate=c),a.tag===N&&(ii===T||R!==null&&ii===R)&&!tr&&(Ke(!1,"An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback."),tr=!0)}function r2(a,c){var _=a.updateQueue;_===null?_=a.updateQueue=qi(a.memoizedState):_=Ed(a,_),_.lastCapturedUpdate===null?_.firstCapturedUpdate=_.lastCapturedUpdate=c:(_.lastCapturedUpdate.next=c,_.lastCapturedUpdate=c)}function Ed(a,c){var _=a.alternate;return _!==null&&c===_.updateQueue&&(c=a.updateQueue=jr(c)),c}function Dd(a,c,_,T,R,j){switch(_.tag){case ut:{var V=_.payload;if(typeof V=="function"){Ct(),Ei&&a.mode&cr&&V.call(j,T,R);var te=V.call(j,T,R);return Mt(),te}return V}case jn:a.effectTag=a.effectTag&~f0|Hr;case Be:{var oe=_.payload,Ie;return typeof oe=="function"?(Ct(),Ei&&a.mode&cr&&oe.call(j,T,R),Ie=oe.call(j,T,R),Mt()):Ie=oe,Ie==null?T:f({},T,Ie)}case Jt:return ti=!0,T}return T}function mf(a,c,_,T,R){ti=!1,c=Ed(a,c),ii=c;for(var j=c.baseState,V=null,te=lt,oe=c.firstUpdate,Ie=j;oe!==null;){var Ye=oe.expirationTime;if(Ye from render. Or maybe you meant to call this function rather than return it."))}function yh(a){function c(it,Ot){if(!!a){var Je=it.lastEffect;Je!==null?(Je.nextEffect=Ot,it.lastEffect=Ot):it.firstEffect=it.lastEffect=Ot,Ot.nextEffect=null,Ot.effectTag=W0}}function _(it,Ot){if(!a)return null;for(var Je=Ot;Je!==null;)c(it,Je),Je=Je.sibling;return null}function T(it,Ot){for(var Je=new Map,Bt=Ot;Bt!==null;)Bt.key!==null?Je.set(Bt.key,Bt):Je.set(Bt.index,Bt),Bt=Bt.sibling;return Je}function R(it,Ot,Je){var Bt=wo(it,Ot,Je);return Bt.index=0,Bt.sibling=null,Bt}function j(it,Ot,Je){if(it.index=Je,!a)return Ot;var Bt=it.alternate;if(Bt!==null){var Mn=Bt.index;return Mnqr?(_u=ar,ar=null):_u=ar.sibling;var _0=Nt(it,ar,Je[qr],Bt);if(_0===null){ar===null&&(ar=_u);break}a&&ar&&_0.alternate===null&&c(it,ar),ou=j(_0,ou,qr),qu===null?oi=_0:qu.sibling=_0,qu=_0,ar=_u}if(qr===Je.length)return _(it,ar),oi;if(ar===null){for(;qrH0?(Cs=_u,_u=null):Cs=_u.sibling;var pl=Nt(it,_u,Hu.value,Bt);if(pl===null){_u===null&&(_u=Cs);break}a&&_u&&pl.alternate===null&&c(it,_u),_0=j(pl,_0,H0),qr===null?ou=pl:qr.sibling=pl,qr=pl,_u=Cs}if(Hu.done)return _(it,_u),ou;if(_u===null){for(;!Hu.done;H0++,Hu=ar.next()){var Ja=pt(it,Hu.value,Bt);Ja!==null&&(_0=j(Ja,_0,H0),qr===null?ou=Ja:qr.sibling=Ja,qr=Ja)}return ou}for(var jo=T(it,_u);!Hu.done;H0++,Hu=ar.next()){var xs=Vt(jo,it,H0,Hu.value,Bt);xs!==null&&(a&&xs.alternate!==null&&jo.delete(xs.key===null?H0:xs.key),_0=j(xs,_0,H0),qr===null?ou=xs:qr.sibling=xs,qr=xs)}return a&&jo.forEach(function(X2){return c(it,X2)}),ou}function $r(it,Ot,Je,Bt){if(Ot!==null&&Ot.tag===ne){_(it,Ot.sibling);var Mn=R(Ot,Je,Bt);return Mn.return=it,Mn}_(it,Ot);var pn=Cy(Je,it.mode,Bt);return pn.return=it,pn}function wi(it,Ot,Je,Bt){for(var Mn=Je.key,pn=Ot;pn!==null;){if(pn.key===Mn)if(pn.tag===m?Je.type===ue:pn.elementType===Je.type||jc(pn,Je)){_(it,pn.sibling);var Pi=R(pn,Je.type===ue?Je.props.children:Je.props,Bt);return Pi.ref=fc(it,pn,Je),Pi.return=it,Pi._debugSource=Je._source,Pi._debugOwner=Je._owner,Pi}else{_(it,pn);break}else c(it,pn);pn=pn.sibling}if(Je.type===ue){var oi=Qa(Je.props.children,it.mode,Bt,Je.key);return oi.return=it,oi}else{var qu=Ty(Je,it.mode,Bt);return qu.ref=fc(it,Ot,Je),qu.return=it,qu}}function N0(it,Ot,Je,Bt){for(var Mn=Je.key,pn=Ot;pn!==null;){if(pn.key===Mn)if(pn.tag===q&&pn.stateNode.containerInfo===Je.containerInfo&&pn.stateNode.implementation===Je.implementation){_(it,pn.sibling);var Pi=R(pn,Je.children||[],Bt);return Pi.return=it,Pi}else{_(it,pn);break}else c(it,pn);pn=pn.sibling}var oi=xy(Je,it.mode,Bt);return oi.return=it,oi}function Vi(it,Ot,Je,Bt){var Mn=typeof Je=="object"&&Je!==null&&Je.type===ue&&Je.key===null;Mn&&(Je=Je.props.children);var pn=typeof Je=="object"&&Je!==null;if(pn)switch(Je.$$typeof){case ae:return V(wi(it,Ot,Je,Bt));case Ce:return V(N0(it,Ot,Je,Bt))}if(typeof Je=="string"||typeof Je=="number")return V($r(it,Ot,""+Je,Bt));if(Kc(Je))return vn(it,Ot,Je,Bt);if(ur(Je))return xr(it,Ot,Je,Bt);if(pn&&cc(it,Je),typeof Je=="function"&&f2(),typeof Je=="undefined"&&!Mn)switch(it.tag){case N:{var Pi=it.stateNode;if(Pi.render._isMockFunction)break}case L:{var oi=it.type;throw Error((oi.displayName||oi.name||"Component")+"(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.")}}return _(it,Ot)}return Vi}var gf=yh(!0),Xc=yh(!1);function gh(a,c){if(!(a===null||c.child===a.child))throw Error("Resuming work not yet implemented.");if(c.child!==null){var _=c.child,T=wo(_,_.pendingProps,_.expirationTime);for(c.child=T,T.return=c;_.sibling!==null;)_=_.sibling,T=T.sibling=wo(_,_.pendingProps,_.expirationTime),T.return=c;T.sibling=null}}function vm(a,c){for(var _=a.child;_!==null;)Rv(_,c),_=_.sibling}var js={},fa=Gu(js),Ji=Gu(js),O0=Gu(js);function t0(a){if(a===js)throw Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.");return a}function Jl(){var a=t0(O0.current);return a}function za(a,c){Vr(O0,c,a),Vr(Ji,a,a),Vr(fa,js,a);var _=Et(c);Kr(fa,a),Vr(fa,_,a)}function no(a){Kr(fa,a),Kr(Ji,a),Kr(O0,a)}function ul(){var a=t0(fa.current);return a}function dc(a){var c=t0(O0.current),_=t0(fa.current),T=Pt(_,a.type,c);_!==T&&(Vr(Ji,a,a),Vr(fa,T,a))}function Od(a){Ji.current===a&&(Kr(fa,a),Kr(Ji,a))}var _h=0,_f=1,Ef=1,Qc=2,xl=Gu(_h);function Jc(a,c){return(a&c)!=0}function ca(a){return a&_f}function c2(a,c){return a&_f|c}function d2(a,c){return a|c}function Or(a,c){Vr(xl,c,a)}function da(a){Kr(xl,a)}function kd(a,c){var _=a.memoizedState;if(_!==null)return _.dehydrated!==null;var T=a.memoizedProps;return T.fallback===void 0?!1:T.unstable_avoidThisFallback!==!0?!0:!c}function Zc(a){for(var c=a;c!==null;){if(c.tag===pe){var _=c.memoizedState;if(_!==null){var T=_.dehydrated;if(T===null||Ls(T)||h0(T))return c}}else if(c.tag===wt&&c.memoizedProps.revealOrder!==void 0){var R=(c.effectTag&Hr)!==_i;if(R)return c}else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===a)return null;for(;c.sibling===null;){if(c.return===null||c.return===a)return null;c=c.return}c.sibling.return=c.return,c=c.sibling}return null}var p2={},vi=Array.isArray;function Md(a,c,_,T){return{fiber:T,props:c,responder:a,rootEventTypes:null,state:_}}function mm(a,c,_,T,R){var j=p2,V=a.getInitialState;V!==null&&(j=V(c));var te=Md(a,c,j,_);if(!R)for(var oe=_;oe!==null;){var Ie=oe.tag;if(Ie===W){R=oe.stateNode;break}else if(Ie===U){R=oe.stateNode.containerInfo;break}oe=oe.return}Ne(a,te,c,j,R),T.set(a,te)}function h2(a,c,_,T,R){var j,V;if(a&&(j=a.responder,V=a.props),!(j&&j.$$typeof===Ut))throw Error("An invalid value was used as an event listener. Expect one or many event listeners created via React.unstable_useResponder().");var te=V;if(_.has(j)){Kt(!1,'Duplicate event responder "%s" found in event listeners. Event listeners passed to elements cannot use the same event responder more than once.',j.displayName);return}_.add(j);var oe=T.get(j);oe===void 0?mm(j,te,c,T,R):(oe.props=te,oe.fiber=c)}function dn(a,c,_){var T=new Set,R=c.dependencies;if(a!=null){R===null&&(R=c.dependencies={expirationTime:lt,firstContext:null,responders:new Map});var j=R.responders;if(j===null&&(j=new Map),vi(a))for(var V=0,te=a.length;V0){var j=R.dispatch;if(Es!==null){var V=Es.get(R);if(V!==void 0){Es.delete(R);var te=T.memoizedState,oe=V;do{var Ie=oe.action;te=a(te,Ie),oe=oe.next}while(oe!==null);return ho(te,T.memoizedState)||up(),T.memoizedState=te,T.baseUpdate===R.last&&(T.baseState=te),R.lastRenderedState=te,[te,j]}}return[T.memoizedState,j]}var Ye=R.last,pt=T.baseUpdate,Nt=T.baseState,Vt;if(pt!==null?(Ye!==null&&(Ye.next=null),Vt=pt.next):Vt=Ye!==null?Ye.next:null,Vt!==null){var zt=Nt,vn=null,xr=null,$r=pt,wi=Vt,N0=!1;do{var Vi=wi.expirationTime;if(ViOu&&(Ou=Vi,G2(Ou));else if(vv(Vi,wi.suspenseConfig),wi.eagerReducer===a)zt=wi.eagerState;else{var it=wi.action;zt=a(zt,it)}$r=wi,wi=wi.next}while(wi!==null&&wi!==Vt);N0||(xr=$r,vn=zt),ho(zt,T.memoizedState)||up(),T.memoizedState=zt,T.baseUpdate=xr,T.baseState=vn,R.lastRenderedState=zt}var Ot=R.dispatch;return[T.memoizedState,Ot]}function Rf(a){var c=mc();typeof a=="function"&&(a=a()),c.memoizedState=c.baseState=a;var _=c.queue={last:null,dispatch:null,lastRenderedReducer:Nd,lastRenderedState:a},T=_.dispatch=u1.bind(null,ll,_);return[c.memoizedState,T]}function n1(a){return t1(Nd,a)}function Wa(a,c,_,T){var R={tag:a,create:c,destroy:_,deps:T,next:null};if(Zl===null)Zl=Ha(),Zl.lastEffect=R.next=R;else{var j=Zl.lastEffect;if(j===null)Zl.lastEffect=R.next=R;else{var V=j.next;j.next=R,R.next=V,Zl.lastEffect=R}}return R}function r1(a){var c=mc(),_={current:a};return Object.seal(_),c.memoizedState=_,_}function Ld(a){var c=e1();return c.memoizedState}function g2(a,c,_,T){var R=mc(),j=T===void 0?null:T;Tf|=a,R.memoizedState=Wa(c,_,void 0,j)}function yc(a,c,_,T){var R=e1(),j=T===void 0?null:T,V=void 0;if(Pn!==null){var te=Pn.memoizedState;if(V=te.destroy,j!==null){var oe=te.deps;if(xf(j,oe)){Wa(wf,_,V,j);return}}}Tf|=a,R.memoizedState=Wa(c,_,V,j)}function i1(a,c){return typeof jest!="undefined"&&Av(ll),g2(mr|L0,rr|$c,a,c)}function Rl(a,c){return typeof jest!="undefined"&&Av(ll),yc(mr|L0,rr|$c,a,c)}function pa(a,c){return g2(mr,Sf|ol,a,c)}function wh(a,c){return yc(mr,Sf|ol,a,c)}function Fd(a,c){if(typeof c=="function"){var _=c,T=a();return _(T),function(){_(null)}}else if(c!=null){var R=c;R.hasOwnProperty("current")||Kt(!1,"Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.","an object with keys {"+Object.keys(R).join(", ")+"}");var j=a();return R.current=j,function(){R.current=null}}}function bd(a,c,_){typeof c!="function"&&Kt(!1,"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",c!==null?typeof c:"null");var T=_!=null?_.concat([a]):null;return g2(mr,Sf|ol,Fd.bind(null,c,a),T)}function Sh(a,c,_){typeof c!="function"&&Kt(!1,"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",c!==null?typeof c:"null");var T=_!=null?_.concat([a]):null;return yc(mr,Sf|ol,Fd.bind(null,c,a),T)}function _2(a,c){}var Th=_2;function Ol(a,c){var _=mc(),T=c===void 0?null:c;return _.memoizedState=[a,T],a}function es(a,c){var _=e1(),T=c===void 0?null:c,R=_.memoizedState;if(R!==null&&T!==null){var j=R[1];if(xf(T,j))return R[0]}return _.memoizedState=[a,T],a}function Ds(a,c){var _=mc(),T=c===void 0?null:c,R=a();return _.memoizedState=[R,T],R}function zs(a,c){var _=e1(),T=c===void 0?null:c,R=_.memoizedState;if(R!==null&&T!==null){var j=R[1];if(xf(T,j))return R[0]}var V=a();return _.memoizedState=[V,T],V}function Pd(a,c){var _=Rf(a),T=_[0],R=_[1];return i1(function(){t.unstable_next(function(){var j=Bo.suspense;Bo.suspense=c===void 0?null:c;try{R(a)}finally{Bo.suspense=j}})},[a,c]),T}function Ch(a,c){var _=n1(a),T=_[0],R=_[1];return Rl(function(){t.unstable_next(function(){var j=Bo.suspense;Bo.suspense=c===void 0?null:c;try{R(a)}finally{Bo.suspense=j}})},[a,c]),T}function Id(a){var c=Rf(!1),_=c[0],T=c[1],R=Ol(function(j){T(!0),t.unstable_next(function(){var V=Bo.suspense;Bo.suspense=a===void 0?null:a;try{T(!1),j()}finally{Bo.suspense=V}})},[a,_]);return[R,_]}function Bd(a){var c=n1(!1),_=c[0],T=c[1],R=es(function(j){T(!0),t.unstable_next(function(){var V=Bo.suspense;Bo.suspense=a===void 0?null:a;try{T(!1),j()}finally{Bo.suspense=V}})},[a,_]);return[R,_]}function u1(a,c,_){if(!(vc=0){var _=l1()-s1;a.actualDuration+=_,c&&(a.selfBaseDuration=_),s1=-1}}var Ml=null,Ga=null,ha=!1;function qd(){ha&&Kt(!1,"We should not be hydrating here. This is a bug in React. Please file a bug.")}function Hd(a){if(!_e)return!1;var c=a.stateNode.containerInfo;return Ga=B(c),Ml=a,ha=!0,!0}function Em(a,c){return _e?(Ga=Ni(c),Gd(a),ha=!0,!0):!1}function Wd(a,c){switch(a.tag){case U:ie(a.stateNode.containerInfo,c);break;case W:qe(a.type,a.memoizedProps,a.stateNode,c);break}var _=eE();_.stateNode=c,_.return=a,_.effectTag=W0,a.lastEffect!==null?(a.lastEffect.nextEffect=_,a.lastEffect=_):a.firstEffect=a.lastEffect=_}function Mh(a,c){switch(c.effectTag=c.effectTag&~tu|ai,a.tag){case U:{var _=a.stateNode.containerInfo;switch(c.tag){case W:var T=c.type,R=c.pendingProps;tt(_,T,R);break;case ne:var j=c.pendingProps;Tt(_,j);break;case pe:kt(_);break}break}case W:{var V=a.type,te=a.memoizedProps,oe=a.stateNode;switch(c.tag){case W:var Ie=c.type,Ye=c.pendingProps;bt(V,te,oe,Ie,Ye);break;case ne:var pt=c.pendingProps;on(V,te,oe,pt);break;case pe:tn(V,te,oe);break}break}default:return}}function Nh(a,c){switch(a.tag){case W:{var _=a.type,T=a.pendingProps,R=lf(c,_,T);return R!==null?(a.stateNode=R,!0):!1}case ne:{var j=a.pendingProps,V=Ns(c,j);return V!==null?(a.stateNode=V,!0):!1}case pe:{if(Di){var te=Ma(c);if(te!==null){var oe={dehydrated:te,retryTime:hi};a.memoizedState=oe;var Ie=tE(te);return Ie.return=a,a.child=Ie,!0}}return!1}default:return!1}}function Vd(a){if(!!ha){var c=Ga;if(!c){Mh(Ml,a),ha=!1,Ml=a;return}var _=c;if(!Nh(a,c)){if(c=Ni(_),!c||!Nh(a,c)){Mh(Ml,a),ha=!1,Ml=a;return}Wd(Ml,_)}Ml=a,Ga=B(c)}}function Dm(a,c,_){if(!_e)throw Error("Expected prepareToHydrateHostInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var T=a.stateNode,R=z(T,a.type,a.memoizedProps,c,_,a);return a.updateQueue=R,R!==null}function wm(a){if(!_e)throw Error("Expected prepareToHydrateHostTextInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var c=a.stateNode,_=a.memoizedProps,T=G(c,_,a);if(T){var R=Ml;if(R!==null)switch(R.tag){case U:{var j=R.stateNode.containerInfo;Xe(j,c,_);break}case W:{var V=R.type,te=R.memoizedProps,oe=R.stateNode;ht(V,te,oe,c,_);break}}}return T}function Lh(a){if(!_e)throw Error("Expected prepareToHydrateHostSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var c=a.memoizedState,_=c!==null?c.dehydrated:null;if(!_)throw Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");$(_,a)}function Sm(a){if(!_e)throw Error("Expected skipPastDehydratedSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var c=a.memoizedState,_=c!==null?c.dehydrated:null;if(!_)throw Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");return De(_)}function Gd(a){for(var c=a.return;c!==null&&c.tag!==W&&c.tag!==U&&c.tag!==pe;)c=c.return;Ml=c}function f1(a){if(!_e||a!==Ml)return!1;if(!ha)return Gd(a),ha=!0,!1;var c=a.type;if(a.tag!==W||c!=="head"&&c!=="body"&&!Ti(c,a.memoizedProps))for(var _=Ga;_;)Wd(a,_),_=Ni(_);return Gd(a),a.tag===pe?Ga=Sm(a):Ga=Ml?Ni(a.stateNode):null,!0}function c1(){!_e||(Ml=null,Ga=null,ha=!1)}var d1=at.ReactCurrentOwner,va=!1,Yd,qs,Hs,Ws,Kd,ma,p1,E2,gc,Xd;Yd={},qs={},Hs={},Ws={},Kd={},ma=!1,p1=!1,E2={},gc={},Xd={};function _o(a,c,_,T){a===null?c.child=Xc(c,null,_,T):c.child=gf(c,a.child,_,T)}function Fh(a,c,_,T){c.child=gf(c,a.child,null,T),c.child=gf(c,null,_,T)}function bh(a,c,_,T,R){if(c.type!==c.elementType){var j=_.propTypes;j&&E(j,T,"prop",qt(_),Rr)}var V=_.render,te=c.ref,oe;return e0(c,R),d1.current=c,Ze("render"),oe=Af(a,c,V,T,te,R),Ei&&c.mode&cr&&c.memoizedState!==null&&(oe=Af(a,c,V,T,te,R)),Ze(null),a!==null&&!va?(v2(a,c,R),ya(a,c,R)):(c.effectTag|=eu,_o(a,c,oe,R),c.child)}function Ph(a,c,_,T,R,j){if(a===null){var V=_.type;if(i0(V)&&_.compare===null&&_.defaultProps===void 0){var te=V;return te=Zu(V),c.tag=le,c.type=te,Zd(c,V),Ih(a,c,te,T,R,j)}{var oe=V.propTypes;oe&&E(oe,T,"prop",qt(V),Rr)}var Ie=Sy(_.type,null,T,null,c.mode,j);return Ie.ref=c.ref,Ie.return=c,c.child=Ie,Ie}{var Ye=_.type,pt=Ye.propTypes;pt&&E(pt,T,"prop",qt(Ye),Rr)}var Nt=a.child;if(R component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.",oe,oe),Yd[oe]=!0)}c.mode&cr&&wl.recordLegacyContextWarning(c,null),d1.current=c,te=Af(null,c,_,R,j,T)}if(c.effectTag|=eu,typeof te=="object"&&te!==null&&typeof te.render=="function"&&te.$$typeof===void 0){{var Ie=qt(_)||"Unknown";qs[Ie]||(Ke(!1,"The <%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.",Ie,Ie,Ie),qs[Ie]=!0)}c.tag=N,m2();var Ye=!1;zi(_)?(Ye=!0,Fi(c)):Ye=!1,c.memoizedState=te.state!==null&&te.state!==void 0?te.state:null;var pt=_.getDerivedStateFromProps;return typeof pt=="function"&&yf(c,_,pt,R),il(c,te),ac(c,_,R,T),Jd(null,c,_,!0,Ye,T)}else return c.tag=L,ni&&_.contextTypes&&Ke(!1,"%s uses the legacy contextTypes API which is no longer supported. Use React.createContext() with React.useContext() instead.",qt(_)||"Unknown"),Ei&&c.mode&cr&&c.memoizedState!==null&&(te=Af(null,c,_,R,j,T)),_o(null,c,te,T),Zd(c,_),c.child}function Zd(a,c){if(c&&c.childContextTypes&&Ke(!1,"%s(...): childContextTypes cannot be defined on a function component.",c.displayName||c.name||"Component"),a.ref!==null){var _="",T=v0();T&&(_+=` - -Check the render method of \``+T+"`.");var R=T||a._debugID||"",j=a._debugSource;j&&(R=j.fileName+":"+j.lineNumber),Kd[R]||(Kd[R]=!0,Kt(!1,"Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?%s",_))}if(Wl&&c.defaultProps!==void 0){var V=qt(c)||"Unknown";Xd[V]||(Ke(!1,"%s: Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.",V),Xd[V]=!0)}if(typeof c.getDerivedStateFromProps=="function"){var te=qt(c)||"Unknown";Ws[te]||(Ke(!1,"%s: Function components do not support getDerivedStateFromProps.",te),Ws[te]=!0)}if(typeof c.contextType=="object"&&c.contextType!==null){var oe=qt(c)||"Unknown";Hs[oe]||(Ke(!1,"%s: Function components do not support contextType.",oe),Hs[oe]=!0)}}var w2={dehydrated:null,retryTime:lt};function $d(a,c,_){return Jc(a,Qc)&&(c===null||c.memoizedState!==null)}function qh(a,c,_){var T=c.mode,R=c.pendingProps;a_(c)&&(c.effectTag|=Hr);var j=xl.current,V=!1,te=(c.effectTag&Hr)!==_i;if(te||$d(j,a,c)?(V=!0,c.effectTag&=~Hr):(a===null||a.memoizedState!==null)&&R.fallback!==void 0&&R.unstable_avoidThisFallback!==!0&&(j=d2(j,Ef)),j=ca(j),Or(c,j),"maxDuration"in R&&(p1||(p1=!0,Kt(!1,"maxDuration has been removed from React. Remove the maxDuration prop."))),a===null){if(R.fallback!==void 0&&(Vd(c),Di)){var oe=c.memoizedState;if(oe!==null){var Ie=oe.dehydrated;if(Ie!==null)return Hh(c,Ie,_)}}if(V){var Ye=R.fallback,pt=Qa(null,T,lt,null);if(pt.return=c,(c.mode&Y)===Sr){var Nt=c.memoizedState,Vt=Nt!==null?c.child.child:c.child;pt.child=Vt;for(var zt=Vt;zt!==null;)zt.return=pt,zt=zt.sibling}var vn=Qa(Ye,T,_,null);return vn.return=c,pt.sibling=vn,c.memoizedState=w2,c.child=pt,vn}else{var xr=R.children;return c.memoizedState=null,c.child=Xc(c,null,xr,_)}}else{var $r=a.memoizedState;if($r!==null){if(Di){var wi=$r.dehydrated;if(wi!==null)if(te){if(c.memoizedState!==null)return c.child=a.child,c.effectTag|=Hr,null;var N0=R.fallback,Vi=Qa(null,T,lt,null);if(Vi.return=c,Vi.child=null,(c.mode&Y)===Sr)for(var it=Vi.child=c.child;it!==null;)it.return=Vi,it=it.sibling;else gf(c,a.child,null,_);if(Zt&&c.mode&Jr){for(var Ot=0,Je=Vi.child;Je!==null;)Ot+=Je.treeBaseDuration,Je=Je.sibling;Vi.treeBaseDuration=Ot}var Bt=Qa(N0,T,_,null);return Bt.return=c,Vi.sibling=Bt,Bt.effectTag|=ai,Vi.childExpirationTime=lt,c.memoizedState=w2,c.child=Vi,Bt}else return Wh(a,c,wi,$r,_)}var Mn=a.child,pn=Mn.sibling;if(V){var Pi=R.fallback,oi=wo(Mn,Mn.pendingProps,lt);if(oi.return=c,(c.mode&Y)===Sr){var qu=c.memoizedState,ar=qu!==null?c.child.child:c.child;if(ar!==Mn.child){oi.child=ar;for(var ou=ar;ou!==null;)ou.return=oi,ou=ou.sibling}}if(Zt&&c.mode&Jr){for(var qr=0,_u=oi.child;_u!==null;)qr+=_u.treeBaseDuration,_u=_u.sibling;oi.treeBaseDuration=qr}var _0=wo(pn,Pi,pn.expirationTime);return _0.return=c,oi.sibling=_0,oi.childExpirationTime=lt,c.memoizedState=w2,c.child=oi,_0}else{var H0=R.children,Cs=Mn.child,Hu=gf(c,Cs,H0,_);return c.memoizedState=null,c.child=Hu}}else{var pl=a.child;if(V){var Ja=R.fallback,jo=Qa(null,T,lt,null);if(jo.return=c,jo.child=pl,pl!==null&&(pl.return=jo),(c.mode&Y)===Sr){var xs=c.memoizedState,X2=xs!==null?c.child.child:c.child;jo.child=X2;for(var Uf=X2;Uf!==null;)Uf.return=jo,Uf=Uf.sibling}if(Zt&&c.mode&Jr){for(var Rc=0,Pl=jo.child;Pl!==null;)Rc+=Pl.treeBaseDuration,Pl=Pl.sibling;jo.treeBaseDuration=Rc}var zo=Qa(Ja,T,_,null);return zo.return=c,jo.sibling=zo,zo.effectTag|=ai,jo.childExpirationTime=lt,c.memoizedState=w2,c.child=jo,zo}else{c.memoizedState=null;var O1=R.children;return c.child=gf(c,pl,O1,_)}}}}function ep(a,c,_){c.memoizedState=null;var T=c.pendingProps,R=T.children;return _o(a,c,R,_),c.child}function Hh(a,c,_){if((a.mode&Y)===Sr)Kt(!1,"Cannot hydrate Suspense in legacy mode. Switch from ReactDOM.hydrate(element, container) to ReactDOM.createBlockingRoot(container, { hydrate: true }).render(element) or remove the Suspense components from the server rendered components."),a.expirationTime=bn;else if(h0(c)){var T=Fl(),R=ms(T);Ln&&x(R),a.expirationTime=R}else a.expirationTime=hi,Ln&&x(hi);return null}function Wh(a,c,_,T,R){if(qd(),(c.mode&Y)===Sr||h0(_))return ep(a,c,R);var j=a.childExpirationTime>=R;if(va||j){if(R. Use lowercase "%s" instead.',a,a.toLowerCase());break}case"forward":case"backward":{Kt(!1,'"%s" is not a valid value for revealOrder on . React uses the -s suffix in the spelling. Use "%ss" instead.',a,a.toLowerCase());break}default:Kt(!1,'"%s" is not a supported revealOrder on . Did you mean "together", "forwards" or "backwards"?',a);break}else Kt(!1,'%s is not a supported value for revealOrder on . Did you mean "together", "forwards" or "backwards"?',a)}function Vh(a,c){a!==void 0&&!gc[a]&&(a!=="collapsed"&&a!=="hidden"?(gc[a]=!0,Kt(!1,'"%s" is not a supported value for tail on . Did you mean "collapsed" or "hidden"?',a)):c!=="forwards"&&c!=="backwards"&&(gc[a]=!0,Kt(!1,' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?',a)))}function v1(a,c){{var _=Array.isArray(a),T=!_&&typeof ur(a)=="function";if(_||T){var R=_?"array":"iterable";return Kt(!1,"A nested %s was passed to row #%s in . Wrap it in an additional SuspenseList to configure its revealOrder: ... {%s} ... ",R,c,R),!1}}return!0}function Mm(a,c){if((c==="forwards"||c==="backwards")&&a!==void 0&&a!==null&&a!==!1)if(Array.isArray(a)){for(var _=0;_. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?',c)}}function np(a,c,_,T,R,j){var V=a.memoizedState;V===null?a.memoizedState={isBackwards:c,rendering:null,last:T,tail:_,tailExpiration:0,tailMode:R,lastEffect:j}:(V.isBackwards=c,V.rendering=null,V.last=T,V.tail=_,V.tailExpiration=0,V.tailMode=R,V.lastEffect=j)}function rp(a,c,_){var T=c.pendingProps,R=T.revealOrder,j=T.tail,V=T.children;km(R),Vh(j,R),Mm(V,R),_o(a,c,V,_);var te=xl.current,oe=Jc(te,Qc);if(oe)te=c2(te,Qc),c.effectTag|=Hr;else{var Ie=a!==null&&(a.effectTag&Hr)!==_i;Ie&&Rm(c,c.child,_),te=ca(te)}if(Or(c,te),(c.mode&Y)===Sr)c.memoizedState=null;else switch(R){case"forwards":{var Ye=Om(c.child),pt;Ye===null?(pt=c.child,c.child=null):(pt=Ye.sibling,Ye.sibling=null),np(c,!1,pt,Ye,j,c.lastEffect);break}case"backwards":{var Nt=null,Vt=c.child;for(c.child=null;Vt!==null;){var zt=Vt.alternate;if(zt!==null&&Zc(zt)===null){c.child=Vt;break}var vn=Vt.sibling;Vt.sibling=Nt,Nt=Vt,Vt=vn}np(c,!0,Nt,null,j,c.lastEffect);break}case"together":{np(c,!1,null,null,void 0,c.lastEffect);break}default:c.memoizedState=null}return c.child}function Nm(a,c,_){za(c,c.stateNode.containerInfo);var T=c.pendingProps;return a===null?c.child=gf(c,null,T,_):_o(a,c,T,_),c.child}function Lm(a,c,_){var T=c.type,R=T._context,j=c.pendingProps,V=c.memoizedProps,te=j.value;{var oe=c.type.propTypes;oe&&E(oe,j,"prop","Context.Provider",Rr)}if(Er(c,te),V!==null){var Ie=V.value,Ye=iu(R,te,Ie);if(Ye===0){if(V.children===j.children&&!na())return ya(a,c,_)}else Tl(c,R,Ye,_)}var pt=j.children;return _o(a,c,pt,_),c.child}var Gh=!1;function Fm(a,c,_){var T=c.type;T._context===void 0?T!==T.Consumer&&(Gh||(Gh=!0,Kt(!1,"Rendering directly is not supported and will be removed in a future major release. Did you mean to render instead?"))):T=T._context;var R=c.pendingProps,j=R.children;typeof j!="function"&&Ke(!1,"A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it."),e0(c,_);var V=He(T,R.unstable_observedBits),te;return d1.current=c,Ze("render"),te=j(V),Ze(null),c.effectTag|=eu,_o(a,c,te,_),c.child}function bm(a,c,_){var T=c.type.impl;if(T.reconcileChildren===!1)return null;var R=c.pendingProps,j=R.children;return _o(a,c,j,_),c.child}function ip(a,c,_){var T=c.pendingProps,R=T.children;return _o(a,c,R,_),c.child}function up(){va=!0}function ya(a,c,_){Ki(c),a!==null&&(c.dependencies=a.dependencies),Zt&&kh(c);var T=c.expirationTime;T!==lt&&G2(T);var R=c.childExpirationTime;return R<_?null:(gh(a,c),c.child)}function m1(a,c,_){{var T=c.return;if(T===null)throw new Error("Cannot swap the root fiber.");if(a.alternate=null,c.alternate=null,_.index=c.index,_.sibling=c.sibling,_.return=c.return,_.ref=c.ref,c===T.child)T.child=_;else{var R=T.child;if(R===null)throw new Error("Expected parent to have a child.");for(;R.sibling!==c;)if(R=R.sibling,R===null)throw new Error("Expected to find the previous sibling.");R.sibling=_}var j=T.lastEffect;return j!==null?(j.nextEffect=a,T.lastEffect=a):T.firstEffect=T.lastEffect=a,a.nextEffect=null,a.effectTag=W0,_.effectTag|=ai,_}}function op(a,c,_){var T=c.expirationTime;if(c._debugNeedsRemount&&a!==null)return m1(a,c,Sy(c.type,c.key,c.pendingProps,c._debugOwner||null,c.mode,c.expirationTime));if(a!==null){var R=a.memoizedProps,j=c.pendingProps;if(R!==j||na()||c.type!==a.type)va=!0;else if(T<_){switch(va=!1,c.tag){case U:zh(c),c1();break;case W:if(dc(c),c.mode&Qr&&_!==hi&&d0(c.type,j))return Ln&&x(hi),c.expirationTime=c.childExpirationTime=hi,null;break;case N:{var V=c.type;zi(V)&&Fi(c);break}case q:za(c,c.stateNode.containerInfo);break;case he:{var te=c.memoizedProps.value;Er(c,te);break}case ze:if(Zt){var oe=c.childExpirationTime>=_;oe&&(c.effectTag|=mr)}break;case pe:{var Ie=c.memoizedState;if(Ie!==null){if(Di&&Ie.dehydrated!==null){Or(c,ca(xl.current)),c.effectTag|=Hr;break}var Ye=c.child,pt=Ye.childExpirationTime;if(pt!==lt&&pt>=_)return qh(a,c,_);Or(c,ca(xl.current));var Nt=ya(a,c,_);return Nt!==null?Nt.sibling:null}else Or(c,ca(xl.current));break}case wt:{var Vt=(a.effectTag&Hr)!==_i,zt=c.childExpirationTime>=_;if(Vt){if(zt)return rp(a,c,_);c.effectTag|=Hr}var vn=c.memoizedState;if(vn!==null&&(vn.rendering=null,vn.tail=null),Or(c,xl.current),zt)break;return null}}return ya(a,c,_)}else va=!1}else va=!1;switch(c.expirationTime=lt,c.tag){case C:return Am(a,c,c.type,_);case Ue:{var xr=c.elementType;return kf(a,c,xr,T,_)}case L:{var $r=c.type,wi=c.pendingProps,N0=c.elementType===$r?wi:bi($r,wi);return Qd(a,c,$r,N0,_)}case N:{var Vi=c.type,it=c.pendingProps,Ot=c.elementType===Vi?it:bi(Vi,it);return jh(a,c,Vi,Ot,_)}case U:return Cm(a,c,_);case W:return xm(a,c,_);case ne:return Of(a,c);case pe:return qh(a,c,_);case q:return Nm(a,c,_);case ge:{var Je=c.type,Bt=c.pendingProps,Mn=c.elementType===Je?Bt:bi(Je,Bt);return bh(a,c,Je,Mn,_)}case m:return Tm(a,c,_);case we:return Bh(a,c,_);case ze:return Uh(a,c,_);case he:return Lm(a,c,_);case Se:return Fm(a,c,_);case Oe:{var pn=c.type,Pi=c.pendingProps,oi=bi(pn,Pi);if(c.type!==c.elementType){var qu=pn.propTypes;qu&&E(qu,oi,"prop",qt(pn),Rr)}return oi=bi(pn.type,oi),Ph(a,c,pn,oi,T,_)}case le:return Ih(a,c,c.type,c.pendingProps,T,_);case Ge:{var ar=c.type,ou=c.pendingProps,qr=c.elementType===ar?ou:bi(ar,ou);return D2(a,c,ar,qr,_)}case wt:return rp(a,c,_);case xt:{if(Ht)return bm(a,c,_);break}case $e:{if(Du)return ip(a,c,_);break}}throw Error("Unknown unit of work tag ("+c.tag+"). This error is likely caused by a bug in React. Please file an issue.")}function Yh(a,c,_,T){return{currentFiber:a,impl:_,instance:null,prevProps:null,props:c,state:T}}function S2(a){return a.tag===pe&&a.memoizedState!==null}function y1(a){return a.child.sibling.child}var Kh={};function lp(a,c,_){if(Du){if(a.tag===W){var T=a.type,R=a.memoizedProps,j=a.stateNode,V=Ro(j);V!==null&&c(T,R||Kh,V)===!0&&_.push(V)}var te=a.child;S2(a)&&(te=y1(a)),te!==null&&sp(te,c,_)}}function Xh(a,c){if(Du){if(a.tag===W){var _=a.type,T=a.memoizedProps,R=a.stateNode,j=Ro(R);if(j!==null&&c(_,T,j)===!0)return j}var V=a.child;if(S2(a)&&(V=y1(a)),V!==null)return Qh(V,c)}return null}function sp(a,c,_){for(var T=a;T!==null;)lp(T,c,_),T=T.sibling}function Qh(a,c){for(var _=a;_!==null;){var T=Xh(_,c);if(T!==null)return T;_=_.sibling}return null}function Jh(a,c,_){if(T2(a,c))_.push(a.stateNode.methods);else{var T=a.child;S2(a)&&(T=y1(a)),T!==null&&ap(T,c,_)}}function ap(a,c,_){for(var T=a;T!==null;)Jh(T,c,_),T=T.sibling}function T2(a,c){return a.tag===$e&&a.type===c&&a.stateNode!==null}function C2(a,c){return{getChildren:function(){var _=c.fiber,T=_.child,R=[];return T!==null&&ap(T,a,R),R.length===0?null:R},getChildrenFromRoot:function(){for(var _=c.fiber,T=_;T!==null;){var R=T.return;if(R===null||(T=R,T.tag===$e&&T.type===a))break}var j=[];return ap(T.child,a,j),j.length===0?null:j},getParent:function(){for(var _=c.fiber.return;_!==null;){if(_.tag===$e&&_.type===a)return _.stateNode.methods;_=_.return}return null},getProps:function(){var _=c.fiber;return _.memoizedProps},queryAllNodes:function(_){var T=c.fiber,R=T.child,j=[];return R!==null&&sp(R,_,j),j.length===0?null:j},queryFirstNode:function(_){var T=c.fiber,R=T.child;return R!==null?Qh(R,_):null},containsNode:function(_){for(var T=or(_);T!==null;){if(T.tag===$e&&T.type===a&&T.stateNode===c)return!0;T=T.return}return!1}}}function z0(a){a.effectTag|=mr}function x2(a){a.effectTag|=To}var ga,Ya,A2,R2;if(P0)ga=function(a,c,_,T){for(var R=c.child;R!==null;){if(R.tag===W||R.tag===ne)Wr(a,R.stateNode);else if(Ht&&R.tag===xt)Wr(a,R.stateNode.instance);else if(R.tag!==q){if(R.child!==null){R.child.return=R,R=R.child;continue}}if(R===c)return;for(;R.sibling===null;){if(R.return===null||R.return===c)return;R=R.return}R.sibling.return=R.return,R=R.sibling}},Ya=function(a){},A2=function(a,c,_,T,R){var j=a.memoizedProps;if(j!==T){var V=c.stateNode,te=ul(),oe=c0(V,_,j,T,R,te);c.updateQueue=oe,oe&&z0(c)}},R2=function(a,c,_,T){_!==T&&z0(c)};else if(X){ga=function(a,c,_,T){for(var R=c.child;R!==null;){e:if(R.tag===W){var j=R.stateNode;if(_&&T){var V=R.memoizedProps,te=R.type;j=Gr(j,te,V,R)}Wr(a,j)}else if(R.tag===ne){var oe=R.stateNode;if(_&&T){var Ie=R.memoizedProps;oe=Yl(oe,Ie,R)}Wr(a,oe)}else if(Ht&&R.tag===xt){var Ye=R.stateNode.instance;if(_&&T){var pt=R.memoizedProps,Nt=R.type;Ye=Gr(Ye,Nt,pt,R)}Wr(a,Ye)}else if(R.tag!==q){if(R.tag===pe){if((R.effectTag&mr)!==_i){var Vt=R.memoizedState!==null;if(Vt){var zt=R.child;if(zt!==null){zt.child!==null&&(zt.child.return=zt,ga(a,zt,!0,Vt));var vn=zt.sibling;if(vn!==null){vn.return=R,R=vn;continue}}}}if(R.child!==null){R.child.return=R,R=R.child;continue}}else if(R.child!==null){R.child.return=R,R=R.child;continue}}if(R=R,R===c)return;for(;R.sibling===null;){if(R.return===null||R.return===c)return;R=R.return}R.sibling.return=R.return,R=R.sibling}};var fp=function(a,c,_,T){for(var R=c.child;R!==null;){e:if(R.tag===W){var j=R.stateNode;if(_&&T){var V=R.memoizedProps,te=R.type;j=Gr(j,te,V,R)}Gn(a,j)}else if(R.tag===ne){var oe=R.stateNode;if(_&&T){var Ie=R.memoizedProps;oe=Yl(oe,Ie,R)}Gn(a,oe)}else if(Ht&&R.tag===xt){var Ye=R.stateNode.instance;if(_&&T){var pt=R.memoizedProps,Nt=R.type;Ye=Gr(Ye,Nt,pt,R)}Gn(a,Ye)}else if(R.tag!==q){if(R.tag===pe){if((R.effectTag&mr)!==_i){var Vt=R.memoizedState!==null;if(Vt){var zt=R.child;if(zt!==null){zt.child!==null&&(zt.child.return=zt,fp(a,zt,!0,Vt));var vn=zt.sibling;if(vn!==null){vn.return=R,R=vn;continue}}}}if(R.child!==null){R.child.return=R,R=R.child;continue}}else if(R.child!==null){R.child.return=R,R=R.child;continue}}if(R=R,R===c)return;for(;R.sibling===null;){if(R.return===null||R.return===c)return;R=R.return}R.sibling.return=R.return,R=R.sibling}};Ya=function(a){var c=a.stateNode,_=a.firstEffect===null;if(!_){var T=c.containerInfo,R=w0(T);fp(R,a,!1,!1),c.pendingChildren=R,z0(a),ic(T,R)}},A2=function(a,c,_,T,R){var j=a.stateNode,V=a.memoizedProps,te=c.firstEffect===null;if(te&&V===T){c.stateNode=j;return}var oe=c.stateNode,Ie=ul(),Ye=null;if(V!==T&&(Ye=c0(oe,_,V,T,R,Ie)),te&&Ye===null){c.stateNode=j;return}var pt=cs(j,Ye,_,V,T,c,te,oe);wu(pt,_,T,R,Ie)&&z0(c),c.stateNode=pt,te?z0(c):ga(pt,c,!1,!1)},R2=function(a,c,_,T){if(_!==T){var R=Jl(),j=ul();c.stateNode=as(T,R,j,c),z0(c)}}}else Ya=function(a){},A2=function(a,c,_,T,R){},R2=function(a,c,_,T){};function O2(a,c){switch(a.tailMode){case"hidden":{for(var _=a.tail,T=null;_!==null;)_.alternate!==null&&(T=_),_=_.sibling;T===null?a.tail=null:T.sibling=null;break}case"collapsed":{for(var R=a.tail,j=null;R!==null;)R.alternate!==null&&(j=R),R=R.sibling;j===null?!c&&a.tail!==null?a.tail.sibling=null:a.tail=null:j.sibling=null;break}}}function Zh(a,c,_){var T=c.pendingProps;switch(c.tag){case C:break;case Ue:break;case le:case L:break;case N:{var R=c.type;zi(R)&&Is(c);break}case U:{no(c),x0(c);var j=c.stateNode;if(j.pendingContext&&(j.context=j.pendingContext,j.pendingContext=null),a===null||a.child===null){var V=f1(c);V&&z0(c)}Ya(c);break}case W:{Od(c);var te=Jl(),oe=c.type;if(a!==null&&c.stateNode!=null){if(A2(a,c,oe,T,te),ci){var Ie=a.memoizedProps.listeners,Ye=T.listeners;Ie!==Ye&&z0(c)}a.ref!==c.ref&&x2(c)}else{if(!T){if(c.stateNode===null)throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");break}var pt=ul(),Nt=f1(c);if(Nt){if(Dm(c,te,pt)&&z0(c),ci){var Vt=T.listeners;Vt!=null&&dn(Vt,c,te)}}else{var zt=ji(oe,T,te,pt,c);if(ga(zt,c,!1,!1),c.stateNode=zt,ci){var vn=T.listeners;vn!=null&&dn(vn,c,te)}wu(zt,oe,T,te,pt)&&z0(c)}c.ref!==null&&x2(c)}break}case ne:{var xr=T;if(a&&c.stateNode!=null){var $r=a.memoizedProps;R2(a,c,$r,xr)}else{if(typeof xr!="string"&&c.stateNode===null)throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");var wi=Jl(),N0=ul(),Vi=f1(c);Vi?wm(c)&&z0(c):c.stateNode=as(xr,wi,N0,c)}break}case ge:break;case pe:{da(c);var it=c.memoizedState;if(Di&&it!==null&&it.dehydrated!==null)if(a===null){var Ot=f1(c);if(!Ot)throw Error("A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.");return Lh(c),Ln&&x(hi),null}else return c1(),(c.effectTag&Hr)===_i&&(c.memoizedState=null),c.effectTag|=mr,null;if((c.effectTag&Hr)!==_i)return c.expirationTime=_,c;var Je=it!==null,Bt=!1;if(a===null)c.memoizedProps.fallback!==void 0&&f1(c);else{var Mn=a.memoizedState;if(Bt=Mn!==null,!Je&&Mn!==null){var pn=a.child.sibling;if(pn!==null){var Pi=c.firstEffect;Pi!==null?(c.firstEffect=pn,pn.nextEffect=Pi):(c.firstEffect=c.lastEffect=pn,pn.nextEffect=null),pn.effectTag=W0}}}if(Je&&!Bt&&(c.mode&Y)!==Sr){var oi=a===null&&c.memoizedProps.unstable_avoidThisFallback!==!0;oi||Jc(xl.current,Ef)?mv():yv()}X&&Je&&(c.effectTag|=mr),P0&&(Je||Bt)&&(c.effectTag|=mr),Ui&&c.updateQueue!==null&&c.memoizedProps.suspenseCallback!=null&&(c.effectTag|=mr);break}case m:break;case we:break;case ze:break;case q:no(c),Ya(c);break;case he:$u(c);break;case Se:break;case Oe:break;case Ge:{var qu=c.type;zi(qu)&&Is(c);break}case wt:{da(c);var ar=c.memoizedState;if(ar===null)break;var ou=(c.effectTag&Hr)!==_i,qr=ar.rendering;if(qr===null)if(ou)O2(ar,!1);else{var _u=gv()&&(a===null||(a.effectTag&Hr)===_i);if(!_u)for(var _0=c.child;_0!==null;){var H0=Zc(_0);if(H0!==null){ou=!0,c.effectTag|=Hr,O2(ar,!1);var Cs=H0.updateQueue;return Cs!==null&&(c.updateQueue=Cs,c.effectTag|=mr),ar.lastEffect===null&&(c.firstEffect=null),c.lastEffect=ar.lastEffect,vm(c,_),Or(c,c2(xl.current,Qc)),c.child}_0=_0.sibling}}else{if(!ou){var Hu=Zc(qr);if(Hu!==null){c.effectTag|=Hr,ou=!0;var pl=Hu.updateQueue;if(pl!==null&&(c.updateQueue=pl,c.effectTag|=mr),O2(ar,!0),ar.tail===null&&ar.tailMode==="hidden"&&!qr.alternate){var Ja=c.lastEffect=ar.lastEffect;return Ja!==null&&(Ja.nextEffect=null),null}}else if(vt()>ar.tailExpiration&&_>hi){c.effectTag|=Hr,ou=!0,O2(ar,!1);var jo=_-1;c.expirationTime=c.childExpirationTime=jo,Ln&&x(jo)}}if(ar.isBackwards)qr.sibling=c.child,c.child=qr;else{var xs=ar.last;xs!==null?xs.sibling=qr:c.child=qr,ar.last=qr}}if(ar.tail!==null){if(ar.tailExpiration===0){var X2=500;ar.tailExpiration=vt()+X2}var Uf=ar.tail;ar.rendering=Uf,ar.tail=Uf.sibling,ar.lastEffect=c.lastEffect,Uf.sibling=null;var Rc=xl.current;return ou?Rc=c2(Rc,Qc):Rc=ca(Rc),Or(c,Rc),Uf}break}case xt:{if(Ht){var Pl=c.type.impl,zo=c.stateNode;if(zo===null){var O1=Pl.getInitialState,m_;O1!==void 0&&(m_=O1(T)),zo=c.stateNode=Yh(c,T,Pl,m_||{});var y_=dt(zo);if(zo.instance=y_,Pl.reconcileChildren===!1)return null;ga(y_,c,!1,!1),Hn(zo)}else{var yE=zo.props;if(zo.prevProps=yE,zo.props=T,zo.currentFiber=c,X){var g_=ea(zo);zo.instance=g_,ga(g_,c,!1,!1)}var gE=Dn(zo);gE&&z0(c)}}break}case $e:{if(Du)if(a===null){var _E=c.type,Ly={fiber:c,methods:null};if(c.stateNode=Ly,Ly.methods=C2(_E,Ly),ci){var __=T.listeners;if(__!=null){var EE=Jl();dn(__,c,EE)}}c.ref!==null&&(x2(c),z0(c))}else{if(ci){var DE=a.memoizedProps.listeners,wE=T.listeners;(DE!==wE||c.ref!==null)&&z0(c)}else c.ref!==null&&z0(c);a.ref!==c.ref&&x2(c)}break}default:throw Error("Unknown unit of work tag ("+c.tag+"). This error is likely caused by a bug in React. Please file an issue.")}return null}function Pm(a,c){switch(a.tag){case N:{var _=a.type;zi(_)&&Is(a);var T=a.effectTag;return T&f0?(a.effectTag=T&~f0|Hr,a):null}case U:{no(a),x0(a);var R=a.effectTag;if((R&Hr)!==_i)throw Error("The root failed to unmount after an error. This is likely a bug in React. Please file an issue.");return a.effectTag=R&~f0|Hr,a}case W:return Od(a),null;case pe:{if(da(a),Di){var j=a.memoizedState;if(j!==null&&j.dehydrated!==null){if(a.alternate===null)throw Error("Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.");c1()}}var V=a.effectTag;return V&f0?(a.effectTag=V&~f0|Hr,a):null}case wt:return da(a),null;case q:return no(a),null;case he:return $u(a),null;default:return null}}function $h(a){switch(a.tag){case N:{var c=a.type.childContextTypes;c!=null&&Is(a);break}case U:{no(a),x0(a);break}case W:{Od(a);break}case q:no(a);break;case pe:da(a);break;case wt:da(a);break;case he:$u(a);break;default:break}}function cp(a,c){return{value:a,source:c,stack:_r(c)}}var dp=function(a,c,_,T,R,j,V,te,oe){var Ie=Array.prototype.slice.call(arguments,3);try{c.apply(_,Ie)}catch(Ye){this.onError(Ye)}};if(typeof window!="undefined"&&typeof window.dispatchEvent=="function"&&typeof document!="undefined"&&typeof document.createEvent=="function"){var pp=document.createElement("react"),Im=function(a,c,_,T,R,j,V,te,oe){if(typeof document=="undefined")throw Error("The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous.");var Ie=document.createEvent("Event"),Ye=!0,pt=window.event,Nt=Object.getOwnPropertyDescriptor(window,"event"),Vt=Array.prototype.slice.call(arguments,3);function zt(){pp.removeEventListener(N0,zt,!1),typeof window.event!="undefined"&&window.hasOwnProperty("event")&&(window.event=pt),c.apply(_,Vt),Ye=!1}var vn,xr=!1,$r=!1;function wi(Vi){if(vn=Vi.error,xr=!0,vn===null&&Vi.colno===0&&Vi.lineno===0&&($r=!0),Vi.defaultPrevented&&vn!=null&&typeof vn=="object")try{vn._suppressLogging=!0}catch(it){}}var N0="react-"+(a||"invokeguardedcallback");window.addEventListener("error",wi),pp.addEventListener(N0,zt,!1),Ie.initEvent(N0,!1,!1),pp.dispatchEvent(Ie),Nt&&Object.defineProperty(window,"event",Nt),Ye&&(xr?$r&&(vn=new Error("A cross-origin error was thrown. React doesn't have access to the actual error object in development. See https://fb.me/react-crossorigin-error for more information.")):vn=new Error(`An error was thrown inside one of your components, but React doesn't know what it was. This is likely due to browser flakiness. React does its best to preserve the "Pause on exceptions" behavior of the DevTools, which requires some DEV-mode only tricks. It's possible that these don't work in your browser. Try triggering the error in production mode, or switching to a modern browser. If you suspect that this is actually an issue with React, please file an issue.`),this.onError(vn)),window.removeEventListener("error",wi)};dp=Im}var Bm=dp,Eo=!1,k2=null,Um={onError:function(a){Eo=!0,k2=a}};function sl(a,c,_,T,R,j,V,te,oe){Eo=!1,k2=null,Bm.apply(Um,arguments)}function Jn(){return Eo}function Vs(){if(Eo){var a=k2;return Eo=!1,k2=null,a}else throw Error("clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.")}function al(a){return!0}function n0(a){var c=al(a);if(c!==!1){var _=a.error;{var T=a.componentName,R=a.componentStack,j=a.errorBoundaryName,V=a.errorBoundaryFound,te=a.willRetry;if(_!=null&&_._suppressLogging){if(V&&te)return;console.error(_)}var oe=T?"The above error occurred in the <"+T+"> component:":"The above error occurred in one of your React components:",Ie;V&&j?te?Ie="React will try to recreate this component tree from scratch "+("using the error boundary you provided, "+j+"."):Ie="This error was initially handled by the error boundary "+j+`. -Recreating the tree from scratch failed so React will unmount the tree.`:Ie=`Consider adding an error boundary to your tree to customize error handling behavior. -Visit https://fb.me/react-error-boundaries to learn more about error boundaries.`;var Ye=""+oe+R+` - -`+(""+Ie);console.error(Ye)}}}var ev=null;ev=new Set;var Gs=typeof WeakSet=="function"?WeakSet:Set;function hp(a,c){var _=c.source,T=c.stack;T===null&&_!==null&&(T=_r(_));var R={componentName:_!==null?qt(_.type):null,componentStack:T!==null?T:"",error:c.value,errorBoundary:null,errorBoundaryName:null,errorBoundaryFound:!1,willRetry:!1};a!==null&&a.tag===N&&(R.errorBoundary=a.stateNode,R.errorBoundaryName=qt(a.type),R.errorBoundaryFound=!0,R.willRetry=!0);try{n0(R)}catch(j){setTimeout(function(){throw j})}}var jm=function(a,c){Oi(a,"componentWillUnmount"),c.props=a.memoizedProps,c.state=a.memoizedState,c.componentWillUnmount(),gi()};function tv(a,c){if(sl(null,jm,null,a,c),Jn()){var _=Vs();Pf(a,_)}}function vp(a){var c=a.ref;if(c!==null)if(typeof c=="function"){if(sl(null,c,null,null),Jn()){var _=Vs();Pf(a,_)}}else c.current=null}function zm(a,c){if(sl(null,c,null),Jn()){var _=Vs();Pf(a,_)}}function mp(a,c){switch(c.tag){case L:case ge:case le:{_c(ym,wf,c);return}case N:{if(c.effectTag&Co&&a!==null){var _=a.memoizedProps,T=a.memoizedState;Oi(c,"getSnapshotBeforeUpdate");var R=c.stateNode;c.type===c.elementType&&!ma&&(R.props!==c.memoizedProps&&Kt(!1,"Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(c.type)||"instance"),R.state!==c.memoizedState&&Kt(!1,"Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(c.type)||"instance"));var j=R.getSnapshotBeforeUpdate(c.elementType===c.type?_:bi(c.type,_),T);{var V=ev;j===void 0&&!V.has(c.type)&&(V.add(c.type),Ke(!1,"%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.",qt(c.type)))}R.__reactInternalSnapshotBeforeUpdate=j,gi()}return}case U:case W:case ne:case q:case Ge:return;default:throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}}function _c(a,c,_){var T=_.updateQueue,R=T!==null?T.lastEffect:null;if(R!==null){var j=R.next,V=j;do{if((V.tag&a)!==wf){var te=V.destroy;V.destroy=void 0,te!==void 0&&te()}if((V.tag&c)!==wf){var oe=V.create;V.destroy=oe();{var Ie=V.destroy;if(Ie!==void 0&&typeof Ie!="function"){var Ye=void 0;Ie===null?Ye=" You returned null. If your effect does not require clean up, return undefined (or nothing).":typeof Ie.then=="function"?Ye=` - -It looks like you wrote useEffect(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately: - -useEffect(() => { - async function fetchData() { - // You can await here - const response = await MyAPI.getData(someId); - // ... - } - fetchData(); -}, [someId]); // Or [] if effect doesn't need props or state - -Learn more about data fetching with Hooks: https://fb.me/react-hooks-data-fetching`:Ye=" You returned: "+Ie,Ke(!1,"An effect function must not return anything besides a function, which is used for clean-up.%s%s",Ye,_r(_))}}}V=V.next}while(V!==j)}}function Ea(a){if((a.effectTag&L0)!==_i)switch(a.tag){case L:case ge:case le:{_c(rr,wf,a),_c(wf,$c,a);break}default:break}}function yp(a,c,_,T){switch(_.tag){case L:case ge:case le:{_c(gm,ol,_);break}case N:{var R=_.stateNode;if(_.effectTag&mr)if(c===null)Oi(_,"componentDidMount"),_.type===_.elementType&&!ma&&(R.props!==_.memoizedProps&&Kt(!1,"Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance"),R.state!==_.memoizedState&&Kt(!1,"Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance")),R.componentDidMount(),gi();else{var j=_.elementType===_.type?c.memoizedProps:bi(_.type,c.memoizedProps),V=c.memoizedState;Oi(_,"componentDidUpdate"),_.type===_.elementType&&!ma&&(R.props!==_.memoizedProps&&Kt(!1,"Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance"),R.state!==_.memoizedState&&Kt(!1,"Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance")),R.componentDidUpdate(j,V,R.__reactInternalSnapshotBeforeUpdate),gi()}var te=_.updateQueue;te!==null&&(_.type===_.elementType&&!ma&&(R.props!==_.memoizedProps&&Kt(!1,"Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance"),R.state!==_.memoizedState&&Kt(!1,"Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance")),vo(_,te,R,T));return}case U:{var oe=_.updateQueue;if(oe!==null){var Ie=null;if(_.child!==null)switch(_.child.tag){case W:Ie=Ro(_.child.stateNode);break;case N:Ie=_.child.stateNode;break}vo(_,oe,Ie,T)}return}case W:{var Ye=_.stateNode;if(c===null&&_.effectTag&mr){var pt=_.type,Nt=_.memoizedProps;Pu(Ye,pt,Nt,_)}return}case ne:return;case q:return;case ze:{if(Zt){var Vt=_.memoizedProps.onRender;typeof Vt=="function"&&(Ln?Vt(_.memoizedProps.id,c===null?"mount":"update",_.actualDuration,_.treeBaseDuration,_.actualStartTime,kl(),a.memoizedInteractions):Vt(_.memoizedProps.id,c===null?"mount":"update",_.actualDuration,_.treeBaseDuration,_.actualStartTime,kl()))}return}case pe:{Nl(a,_);return}case wt:case Ge:case xt:case $e:return;default:throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}}function M2(a,c){if(P0)for(var _=a;;){if(_.tag===W){var T=_.stateNode;c?Oa(T):Zs(_.stateNode,_.memoizedProps)}else if(_.tag===ne){var R=_.stateNode;c?p0(R):K0(R,_.memoizedProps)}else if(_.tag===pe&&_.memoizedState!==null&&_.memoizedState.dehydrated===null){var j=_.child.sibling;j.return=_,_=j;continue}else if(_.child!==null){_.child.return=_,_=_.child;continue}if(_===a)return;for(;_.sibling===null;){if(_.return===null||_.return===a)return;_=_.return}_.sibling.return=_.return,_=_.sibling}}function ku(a){var c=a.ref;if(c!==null){var _=a.stateNode,T;switch(a.tag){case W:T=Ro(_);break;default:T=_}Du&&a.tag===$e&&(T=_.methods),typeof c=="function"?c(T):(c.hasOwnProperty("current")||Ke(!1,"Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().%s",qt(a.type),_r(a)),c.current=T)}}function zu(a){var c=a.ref;c!==null&&(typeof c=="function"?c(null):c.current=null)}function gp(a,c,_){switch(Rn(c),c.tag){case L:case ge:case Oe:case le:{var T=c.updateQueue;if(T!==null){var R=T.lastEffect;if(R!==null){var j=R.next,V=_>Wn?Wn:_;_n(V,function(){var $r=j;do{var wi=$r.destroy;wi!==void 0&&zm(c,wi),$r=$r.next}while($r!==j)})}}break}case N:{vp(c);var te=c.stateNode;typeof te.componentWillUnmount=="function"&&tv(c,te);return}case W:{if(ci){var oe=c.dependencies;if(oe!==null){var Ie=oe.responders;if(Ie!==null){for(var Ye=Array.from(Ie.values()),pt=0,Nt=Ye.length;pt component higher in the tree to provide a loading indicator or placeholder to display.`+_r(_))}Rp(),T=cp(T,_);var Nt=c;do{switch(Nt.tag){case U:{var Vt=T;Nt.effectTag|=f0,Nt.expirationTime=R;var zt=uv(Nt,Vt,R);r2(Nt,zt);return}case N:var vn=T,xr=Nt.type,$r=Nt.stateNode;if((Nt.effectTag&Hr)===_i&&(typeof xr.getDerivedStateFromError=="function"||$r!==null&&typeof $r.componentDidCatch=="function"&&!Lp($r))){Nt.effectTag|=f0,Nt.expirationTime=R;var wi=ov(Nt,vn,R);r2(Nt,wi);return}break;default:break}Nt=Nt.return}while(Nt!==null)}var wa=Math.ceil,Cr=at.ReactCurrentDispatcher,Ep=at.ReactCurrentOwner,fl=at.IsSomeRendererActing,cu=0,E1=1,ki=2,Dp=4,F2=8,Do=16,Ss=32,Mf=0,b2=1,wp=2,D1=3,w1=4,Sp=5,Zn=cu,cl=null,qn=null,q0=lt,k0=Mf,P2=null,Ll=bn,S1=bn,Dc=null,wc=lt,I2=!1,Tp=0,M0=500,fn=null,B2=!1,U2=null,Sc=null,Tc=!1,Cc=null,T1=y0,Cp=lt,Ka=null,Km=50,xc=0,j2=null,sv=50,C1=0,Nf=null,Lf=null,x1=lt;function Fl(){return(Zn&(Do|Ss))!==cu?Ju(vt()):(x1!==lt||(x1=Ju(vt())),x1)}function Ac(){return Ju(vt())}function Ff(a,c,_){var T=c.mode;if((T&Y)===Sr)return bn;var R=Xt();if((T&Qr)===Sr)return R===Ci?bn:Qu;if((Zn&Do)!==cu)return q0;var j;if(_!==null)j=ia(a,_.timeoutMs|0||pf);else switch(R){case Ci:j=bn;break;case Xr:j=La(a);break;case Wn:case Xu:j=ms(a);break;case m0:j=Qi;break;default:throw Error("Expected a valid priority level")}return cl!==null&&j===q0&&(j-=1),j}function Xm(a,c){hy(),gy(a);var _=z2(a,c);if(_===null){my(a);return}Up(a,c),ta();var T=Xt();if(c===bn?(Zn&F2)!==cu&&(Zn&(Do|Ss))===cu?(H(_,c),A1(_)):(Uo(_),H(_,c),Zn===cu&&It()):(Uo(_),H(_,c)),(Zn&Dp)!==cu&&(T===Xr||T===Ci))if(Ka===null)Ka=new Map([[_,c]]);else{var R=Ka.get(_);(R===void 0||R>c)&&Ka.set(_,c)}}var dl=Xm;function z2(a,c){a.expirationTimeR?T:R}function Uo(a){var c=a.lastExpiredTime;if(c!==lt){a.callbackExpirationTime=bn,a.callbackPriority=Ci,a.callbackNode=En(A1.bind(null,a));return}var _=q2(a),T=a.callbackNode;if(_===lt){T!==null&&(a.callbackNode=null,a.callbackExpirationTime=lt,a.callbackPriority=y0);return}var R=Fl(),j=$1(R,_);if(T!==null){var V=a.callbackPriority,te=a.callbackExpirationTime;if(te===_&&V>=j)return;er(T)}a.callbackExpirationTime=_,a.callbackPriority=j;var oe;_===bn?oe=En(A1.bind(null,a)):oo?oe=yn(j,H2.bind(null,a)):oe=yn(j,H2.bind(null,a),{timeout:bo(_)-vt()}),a.callbackNode=oe}function H2(a,c){if(x1=lt,c){var _=Fl();return qp(a,_),Uo(a),null}var T=q2(a);if(T!==lt){var R=a.callbackNode;if((Zn&(Do|Ss))!==cu)throw Error("Should not already be working.");if(Xa(),(a!==cl||T!==q0)&&(bf(a,T),ee(a,T)),qn!==null){var j=Zn;Zn|=Do;var V=pv(a),te=W2(a);ff(qn);do try{oy();break}catch(Ye){dv(a,Ye)}while(!0);if(mt(),Zn=j,hv(V),Ln&&V2(te),k0===b2){var oe=P2;throw Bp(),bf(a,T),Bf(a,T),Uo(a),oe}if(qn!==null)Bp();else{Tv();var Ie=a.finishedWork=a.current.alternate;a.finishedExpirationTime=T,Qm(a,Ie,k0,T)}if(Uo(a),a.callbackNode===R)return H2.bind(null,a)}}return null}function Qm(a,c,_,T){switch(cl=null,_){case Mf:case b2:throw Error("Root did not complete. This is a bug in React.");case wp:{qp(a,T>Qi?Qi:T);break}case D1:{Bf(a,T);var R=a.lastSuspendedTime;T===R&&(a.nextKnownPendingLevel=Op(c)),d();var j=Ll===bn;if(j&&!(Y0&&If.current)){var V=Tp+M0-vt();if(V>10){if(I2){var te=a.lastPingedTime;if(te===lt||te>=T){a.lastPingedTime=T,bf(a,T);break}}var oe=q2(a);if(oe!==lt&&oe!==T)break;if(R!==lt&&R!==T){a.lastPingedTime=R;break}a.timeoutHandle=St(r0.bind(null,a),V);break}}r0(a);break}case w1:{Bf(a,T);var Ie=a.lastSuspendedTime;if(T===Ie&&(a.nextKnownPendingLevel=Op(c)),d(),!(Y0&&If.current)){if(I2){var Ye=a.lastPingedTime;if(Ye===lt||Ye>=T){a.lastPingedTime=T,bf(a,T);break}}var pt=q2(a);if(pt!==lt&&pt!==T)break;if(Ie!==lt&&Ie!==T){a.lastPingedTime=Ie;break}var Nt;if(S1!==bn)Nt=bo(S1)-vt();else if(Ll===bn)Nt=0;else{var Vt=_v(Ll),zt=vt(),vn=bo(T)-zt,xr=zt-Vt;xr<0&&(xr=0),Nt=Pp(xr)-xr,vn10){a.timeoutHandle=St(r0.bind(null,a),Nt);break}}r0(a);break}case Sp:{if(!(Y0&&If.current)&&Ll!==bn&&Dc!==null){var $r=Ip(Ll,T,Dc);if($r>10){Bf(a,T),a.timeoutHandle=St(r0.bind(null,a),$r);break}}r0(a);break}default:throw Error("Unknown root exit status.")}}function A1(a){var c=a.lastExpiredTime,_=c!==lt?c:bn;if(a.finishedExpirationTime===_)r0(a);else{if((Zn&(Do|Ss))!==cu)throw Error("Should not already be working.");if(Xa(),(a!==cl||_!==q0)&&(bf(a,_),ee(a,_)),qn!==null){var T=Zn;Zn|=Do;var R=pv(a),j=W2(a);ff(qn);do try{Ev();break}catch(te){dv(a,te)}while(!0);if(mt(),Zn=T,hv(R),Ln&&V2(j),k0===b2){var V=P2;throw Bp(),bf(a,_),Bf(a,_),Uo(a),V}if(qn!==null)throw Error("Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.");Tv(),a.finishedWork=a.current.alternate,a.finishedExpirationTime=_,Jm(a,k0,_),Uo(a)}}return null}function Jm(a,c,_){cl=null,(c===D1||c===w1)&&d(),r0(a)}function Zm(a,c){qp(a,c),Uo(a),(Zn&(Do|Ss))===cu&&It()}function av(){if((Zn&(E1|Do|Ss))!==cu){(Zn&Do)!==cu&&Kt(!1,"unstable_flushDiscreteUpdates: Cannot flush updates when React is already rendering.");return}ey(),Xa()}function $m(a){return _n(Wn,a)}function fv(a,c,_,T){return _n(Ci,a.bind(null,c,_,T))}function ey(){if(Ka!==null){var a=Ka;Ka=null,a.forEach(function(c,_){qp(_,c),Uo(_)}),It()}}function ty(a,c){var _=Zn;Zn|=E1;try{return a(c)}finally{Zn=_,Zn===cu&&It()}}function ny(a,c){var _=Zn;Zn|=ki;try{return a(c)}finally{Zn=_,Zn===cu&&It()}}function cv(a,c,_,T){var R=Zn;Zn|=Dp;try{return _n(Xr,a.bind(null,c,_,T))}finally{Zn=R,Zn===cu&&It()}}function ry(a,c){var _=Zn;Zn&=~E1,Zn|=F2;try{return a(c)}finally{Zn=_,Zn===cu&&It()}}function xp(a,c){if((Zn&(Do|Ss))!==cu)throw Error("flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering.");var _=Zn;Zn|=E1;try{return _n(Ci,a.bind(null,c))}finally{Zn=_,It()}}function iy(a){var c=Zn;Zn|=E1;try{_n(Ci,a)}finally{Zn=c,Zn===cu&&It()}}function bf(a,c){a.finishedWork=null,a.finishedExpirationTime=lt;var _=a.timeoutHandle;if(_!==Jo&&(a.timeoutHandle=Jo,so(_)),qn!==null)for(var T=qn.return;T!==null;)$h(T),T=T.return;cl=a,qn=wo(a.current,null,c),q0=c,k0=Mf,P2=null,Ll=bn,S1=bn,Dc=null,wc=lt,I2=!1,Ln&&(Lf=null),wl.discardPendingWarnings(),Ys=null}function dv(a,c){do{try{if(mt(),m2(),nt(),qn===null||qn.return===null)return k0=b2,P2=c,null;Zt&&qn.mode&Jr&&a1(qn,!0),lv(a,qn.return,qn,c,q0),qn=Dv(qn)}catch(_){c=_;continue}return}while(!0)}function pv(a){var c=Cr.current;return Cr.current=o1,c===null?o1:c}function hv(a){Cr.current=a}function W2(a){if(Ln){var c=k.__interactionsRef.current;return k.__interactionsRef.current=a.memoizedInteractions,c}return null}function V2(a){Ln&&(k.__interactionsRef.current=a)}function Ap(){Tp=vt()}function vv(a,c){aQi&&(Ll=a),c!==null&&aQi&&(S1=a,Dc=c)}function G2(a){a>wc&&(wc=a)}function mv(){k0===Mf&&(k0=D1)}function yv(){(k0===Mf||k0===D1)&&(k0=w1),wc!==lt&&cl!==null&&(Bf(cl,q0),o_(cl,wc))}function Rp(){k0!==Sp&&(k0=wp)}function gv(){return k0===Mf}function _v(a){var c=bo(a);return c-pf}function uy(a,c){var _=bo(a);return _-(c.timeoutMs|0||pf)}function Ev(){for(;qn!==null;)qn=Y2(qn)}function oy(){for(;qn!==null&&!kn();)qn=Y2(qn)}function Y2(a){var c=a.alternate;Kl(a),_t(a);var _;return Zt&&(a.mode&Jr)!==Sr?(zd(a),_=R1(c,a,q0),a1(a,!0)):_=R1(c,a,q0),nt(),a.memoizedProps=a.pendingProps,_===null&&(_=Dv(a)),Ep.current=null,_}function Dv(a){qn=a;do{var c=qn.alternate,_=qn.return;if((qn.effectTag&F0)===_i){_t(qn);var T=void 0;if(!Zt||(qn.mode&Jr)===Sr?T=Zh(c,qn,q0):(zd(qn),T=Zh(c,qn,q0),a1(qn,!1)),Yr(qn),nt(),ly(qn),T!==null)return T;if(_!==null&&(_.effectTag&F0)===_i){_.firstEffect===null&&(_.firstEffect=qn.firstEffect),qn.lastEffect!==null&&(_.lastEffect!==null&&(_.lastEffect.nextEffect=qn.firstEffect),_.lastEffect=qn.lastEffect);var R=qn.effectTag;R>eu&&(_.lastEffect!==null?_.lastEffect.nextEffect=qn:_.firstEffect=qn,_.lastEffect=qn)}}else{var j=Pm(qn,q0);if(Zt&&(qn.mode&Jr)!==Sr){a1(qn,!1);for(var V=qn.actualDuration,te=qn.child;te!==null;)V+=te.actualDuration,te=te.sibling;qn.actualDuration=V}if(j!==null)return fo(qn),j.effectTag&=Hl,j;Yr(qn),_!==null&&(_.firstEffect=_.lastEffect=null,_.effectTag|=F0)}var oe=qn.sibling;if(oe!==null)return oe;qn=_}while(qn!==null);return k0===Mf&&(k0=Sp),null}function Op(a){var c=a.expirationTime,_=a.childExpirationTime;return c>_?c:_}function ly(a){if(!(q0!==hi&&a.childExpirationTime===hi)){var c=lt;if(Zt&&(a.mode&Jr)!==Sr){for(var _=a.actualDuration,T=a.selfBaseDuration,R=a.alternate===null||a.child!==a.alternate.child,j=a.child;j!==null;){var V=j.expirationTime,te=j.childExpirationTime;V>c&&(c=V),te>c&&(c=te),R&&(_+=j.actualDuration),T+=j.treeBaseDuration,j=j.sibling}a.actualDuration=_,a.treeBaseDuration=T}else for(var oe=a.child;oe!==null;){var Ie=oe.expirationTime,Ye=oe.childExpirationTime;Ie>c&&(c=Ie),Ye>c&&(c=Ye),oe=oe.sibling}a.childExpirationTime=c}}function r0(a){var c=Xt();return _n(Ci,kp.bind(null,a,c)),null}function kp(a,c){do Xa();while(Cc!==null);if(vy(),(Zn&(Do|Ss))!==cu)throw Error("Should not already be working.");var _=a.finishedWork,T=a.finishedExpirationTime;if(_===null)return null;if(a.finishedWork=null,a.finishedExpirationTime=lt,_===a.current)throw Error("Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.");a.callbackNode=null,a.callbackExpirationTime=lt,a.callbackPriority=y0,a.nextKnownPendingLevel=lt,J0();var R=Op(_);iE(a,T,R),a===cl&&(cl=null,qn=null,q0=lt);var j;if(_.effectTag>eu?_.lastEffect!==null?(_.lastEffect.nextEffect=_,j=_.firstEffect):j=_:j=_.firstEffect,j!==null){var V=Zn;Zn|=Ss;var te=W2(a);Ep.current=null,Te(),Bn(a.containerInfo),fn=j;do if(sl(null,sy,null),Jn()){if(fn===null)throw Error("Should be working on an effect.");var oe=Vs();Pf(fn,oe),fn=fn.nextEffect}while(fn!==null);et(),Zt&&Oh(),Ve(),fn=j;do if(sl(null,ay,null,a,c),Jn()){if(fn===null)throw Error("Should be working on an effect.");var Ie=Vs();Pf(fn,Ie),fn=fn.nextEffect}while(fn!==null);Gt(),Ir(a.containerInfo),a.current=_,Yt(),fn=j;do if(sl(null,Mp,null,a,T),Jn()){if(fn===null)throw Error("Should be working on an effect.");var Ye=Vs();Pf(fn,Ye),fn=fn.nextEffect}while(fn!==null);sr(),fn=null,se(),Ln&&V2(te),Zn=V}else a.current=_,Te(),et(),Zt&&Oh(),Ve(),Gt(),Yt(),sr();Z0();var pt=Tc;if(Tc)Tc=!1,Cc=a,Cp=T,T1=c;else for(fn=j;fn!==null;){var Nt=fn.nextEffect;fn.nextEffect=null,fn=Nt}var Vt=a.firstPendingTime;if(Vt!==lt){if(Ln){if(Lf!==null){var zt=Lf;Lf=null;for(var vn=0;vnWn?Wn:T1;return T1=y0,_n(a,Np)}}function Np(){if(Cc===null)return!1;var a=Cc,c=Cp;if(Cc=null,Cp=lt,(Zn&(Do|Ss))!==cu)throw Error("Cannot flush passive effects while already rendering.");var _=Zn;Zn|=Ss;for(var T=W2(a),R=a.current.firstEffect;R!==null;){{if(_t(R),sl(null,Ea,null,R),Jn()){if(R===null)throw Error("Should be working on an effect.");var j=Vs();Pf(R,j)}nt()}var V=R.nextEffect;R.nextEffect=null,R=V}return Ln&&(V2(T),de(a,c)),Zn=_,It(),C1=Cc===null?0:C1+1,!0}function Lp(a){return Sc!==null&&Sc.has(a)}function Fp(a){Sc===null?Sc=new Set([a]):Sc.add(a)}function fy(a){B2||(B2=!0,U2=a)}var cy=fy;function wv(a,c,_){var T=cp(_,c),R=uv(a,T,bn);Ua(a,R);var j=z2(a,bn);j!==null&&(Uo(j),H(j,bn))}function Pf(a,c){if(a.tag===U){wv(a,a,c);return}for(var _=a.return;_!==null;){if(_.tag===U){wv(_,a,c);return}else if(_.tag===N){var T=_.type,R=_.stateNode;if(typeof T.getDerivedStateFromError=="function"||typeof R.componentDidCatch=="function"&&!Lp(R)){var j=cp(c,a),V=ov(_,j,bn);Ua(_,V);var te=z2(_,bn);te!==null&&(Uo(te),H(te,bn));return}}_=_.return}}function bp(a,c,_){var T=a.pingCache;if(T!==null&&T.delete(c),cl===a&&q0===_){k0===w1||k0===D1&&Ll===bn&&vt()-TpKm)throw xc=0,j2=null,Error("Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.");C1>sv&&(C1=0,Kt(!1,"Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render."))}function vy(){wl.flushLegacyContextWarning(),fi&&wl.flushPendingUnsafeLifecycleWarnings()}function Tv(){var a=!0;cf(Nf,a),Nf=null}function Bp(){var a=!1;cf(Nf,a),Nf=null}function Up(a,c){Pr&&cl!==null&&c>q0&&(Nf=a)}var K2=null;function my(a){{var c=a.tag;if(c!==U&&c!==N&&c!==L&&c!==ge&&c!==Oe&&c!==le)return;var _=qt(a.type)||"ReactComponent";if(K2!==null){if(K2.has(_))return;K2.add(_)}else K2=new Set([_]);Ke(!1,"Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in %s.%s",c===N?"the componentWillUnmount method":"a useEffect cleanup function",_r(a))}}var R1;if(G0){var yy=null;R1=function(a,c,_){var T=i_(yy,c);try{return op(a,c,_)}catch(j){if(j!==null&&typeof j=="object"&&typeof j.then=="function")throw j;if(mt(),m2(),$h(c),i_(c,T),Zt&&c.mode&Jr&&zd(c),sl(null,op,null,a,c,_),Jn()){var R=Vs();throw R}else throw j}}}else R1=op;var Cv=!1,xv=!1;function gy(a){if(a.tag===N)switch(Ar){case"getChildContext":if(xv)return;Ke(!1,"setState(...): Cannot call setState() inside getChildContext()"),xv=!0;break;case"render":if(Cv)return;Ke(!1,"Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."),Cv=!0;break}}var If={current:!1};function jp(a){fs===!0&&fl.current===!0&&If.current!==!0&&Ke(!1,`It looks like you're using the wrong act() around your test interactions. -Be sure to use the matching version of act() corresponding to your renderer: - -// for react-dom: -import {act} from 'react-dom/test-utils'; -// ... -act(() => ...); - -// for react-test-renderer: -import TestRenderer from 'react-test-renderer'; -const {act} = TestRenderer; -// ... -act(() => ...);%s`,_r(a))}function Av(a){fs===!0&&(a.mode&cr)!==Sr&&fl.current===!1&&If.current===!1&&Ke(!1,`An update to %s ran an effect, but was not wrapped in act(...). - -When testing, code that causes React state updates should be wrapped into act(...): - -act(() => { - /* fire events that update state */ -}); -/* assert on the output */ - -This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act%s`,qt(a.type),_r(a))}function _y(a){fs===!0&&Zn===cu&&fl.current===!1&&If.current===!1&&Ke(!1,`An update to %s inside a test was not wrapped in act(...). - -When testing, code that causes React state updates should be wrapped into act(...): - -act(() => { - /* fire events that update state */ -}); -/* assert on the output */ - -This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act%s`,qt(a.type),_r(a))}var Ey=_y,zp=!1;function Dy(a){zp===!1&&t.unstable_flushAllWithoutAsserting===void 0&&(a.mode&Y||a.mode&Qr?(zp=!0,Ke(!1,`In Concurrent or Sync modes, the "scheduler" module needs to be mocked to guarantee consistent behaviour across tests and browsers. For example, with jest: -jest.mock('scheduler', () => require('scheduler/unstable_mock')); - -For more info, visit https://fb.me/react-mock-scheduler`)):Yi===!0&&(zp=!0,Ke(!1,`Starting from React v17, the "scheduler" module will need to be mocked to guarantee consistent behaviour across tests and browsers. For example, with jest: -jest.mock('scheduler', () => require('scheduler/unstable_mock')); - -For more info, visit https://fb.me/react-mock-scheduler`)))}var Ys=null;function wy(a){{var c=Xt();if((a.mode&Qr)!==_i&&(c===Xr||c===Ci))for(var _=a;_!==null;){var T=_.alternate;if(T!==null)switch(_.tag){case N:var R=T.updateQueue;if(R!==null)for(var j=R.firstUpdate;j!==null;){var V=j.priority;if(V===Xr||V===Ci){Ys===null?Ys=new Set([qt(_.type)]):Ys.add(qt(_.type));break}j=j.next}break;case L:case ge:case le:if(_.memoizedState!==null&&_.memoizedState.baseUpdate!==null)for(var te=_.memoizedState.baseUpdate;te!==null;){var oe=te.priority;if(oe===Xr||oe===Ci){Ys===null?Ys=new Set([qt(_.type)]):Ys.add(qt(_.type));break}if(te.next===_.memoizedState.baseUpdate)break;te=te.next}break;default:break}_=_.return}}}function d(){if(Ys!==null){var a=[];Ys.forEach(function(c){return a.push(c)}),Ys=null,a.length>0&&Ke(!1,`%s triggered a user-blocking update that suspended. - -The fix is to split the update into multiple parts: a user-blocking update to provide immediate feedback, and another update that triggers the bulk of the changes. - -Refer to the documentation for useTransition to learn how to implement this pattern.`,a.sort().join(", "))}}function v(a,c){return c*1e3+a.interactionThreadID}function x(a){!Ln||(Lf===null?Lf=[a]:Lf.push(a))}function b(a,c,_){if(!!Ln&&_.size>0){var T=a.pendingInteractionMap,R=T.get(c);R!=null?_.forEach(function(te){R.has(te)||te.__count++,R.add(te)}):(T.set(c,new Set(_)),_.forEach(function(te){te.__count++}));var j=k.__subscriberRef.current;if(j!==null){var V=v(a,c);j.onWorkScheduled(_,V)}}}function H(a,c){!Ln||b(a,c,k.__interactionsRef.current)}function ee(a,c){if(!!Ln){var _=new Set;if(a.pendingInteractionMap.forEach(function(j,V){V>=c&&j.forEach(function(te){return _.add(te)})}),a.memoizedInteractions=_,_.size>0){var T=k.__subscriberRef.current;if(T!==null){var R=v(a,c);try{T.onWorkStarted(_,R)}catch(j){yn(Ci,function(){throw j})}}}}}function de(a,c){if(!!Ln){var _=a.firstPendingTime,T;try{if(T=k.__subscriberRef.current,T!==null&&a.memoizedInteractions.size>0){var R=v(a,c);T.onWorkStopped(a.memoizedInteractions,R)}}catch(V){yn(Ci,function(){throw V})}finally{var j=a.pendingInteractionMap;j.forEach(function(V,te){te>_&&(j.delete(te),V.forEach(function(oe){if(oe.__count--,T!==null&&oe.__count===0)try{T.onInteractionScheduledWorkCompleted(oe)}catch(Ie){yn(Ci,function(){throw Ie})}}))})}}}var ye=null,be=null,gt=!1,Dt=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined";function Rt(a){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined")return!1;var c=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(c.isDisabled)return!0;if(!c.supportsFiber)return Ke(!1,"The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://fb.me/react-devtools"),!0;try{var _=c.inject(a);ye=function(T,R){try{var j=(T.current.effectTag&Hr)===Hr;if(Zt){var V=Ac(),te=$1(V,R);c.onCommitFiberRoot(_,T,te,j)}else c.onCommitFiberRoot(_,T,void 0,j)}catch(oe){gt||(gt=!0,Ke(!1,"React DevTools encountered an error: %s",oe))}},be=function(T){try{c.onCommitFiberUnmount(_,T)}catch(R){gt||(gt=!0,Ke(!1,"React DevTools encountered an error: %s",R))}}}catch(T){Ke(!1,"React DevTools encountered an error: %s.",T)}return!0}function rn(a,c){typeof ye=="function"&&ye(a,c)}function Rn(a){typeof be=="function"&&be(a)}var $n;{$n=!1;try{var Nr=Object.preventExtensions({}),ir=new Map([[Nr,null]]),Zr=new Set([Nr]);ir.set(0,0),Zr.add(0)}catch(a){$n=!0}}var ui=1;function bl(a,c,_,T){this.tag=a,this.key=_,this.elementType=null,this.type=null,this.stateNode=null,this.return=null,this.child=null,this.sibling=null,this.index=0,this.ref=null,this.pendingProps=c,this.memoizedProps=null,this.updateQueue=null,this.memoizedState=null,this.dependencies=null,this.mode=T,this.effectTag=_i,this.nextEffect=null,this.firstEffect=null,this.lastEffect=null,this.expirationTime=lt,this.childExpirationTime=lt,this.alternate=null,Zt&&(this.actualDuration=Number.NaN,this.actualStartTime=Number.NaN,this.selfBaseDuration=Number.NaN,this.treeBaseDuration=Number.NaN,this.actualDuration=0,this.actualStartTime=-1,this.selfBaseDuration=0,this.treeBaseDuration=0),Pr&&(this._debugID=ui++,this._debugIsCurrentlyTiming=!1),this._debugSource=null,this._debugOwner=null,this._debugNeedsRemount=!1,this._debugHookTypes=null,!$n&&typeof Object.preventExtensions=="function"&&Object.preventExtensions(this)}var Wi=function(a,c,_,T){return new bl(a,c,_,T)};function uo(a){var c=a.prototype;return!!(c&&c.isReactComponent)}function i0(a){return typeof a=="function"&&!uo(a)&&a.defaultProps===void 0}function Ts(a){if(typeof a=="function")return uo(a)?N:L;if(a!=null){var c=a.$$typeof;if(c===An)return ge;if(c===Wt)return Oe}return C}function wo(a,c,_){var T=a.alternate;T===null?(T=Wi(a.tag,c,a.key,a.mode),T.elementType=a.elementType,T.type=a.type,T.stateNode=a.stateNode,T._debugID=a._debugID,T._debugSource=a._debugSource,T._debugOwner=a._debugOwner,T._debugHookTypes=a._debugHookTypes,T.alternate=a,a.alternate=T):(T.pendingProps=c,T.effectTag=_i,T.nextEffect=null,T.firstEffect=null,T.lastEffect=null,Zt&&(T.actualDuration=0,T.actualStartTime=-1)),T.childExpirationTime=a.childExpirationTime,T.expirationTime=a.expirationTime,T.child=a.child,T.memoizedProps=a.memoizedProps,T.memoizedState=a.memoizedState,T.updateQueue=a.updateQueue;var R=a.dependencies;switch(T.dependencies=R===null?null:{expirationTime:R.expirationTime,firstContext:R.firstContext,responders:R.responders},T.sibling=a.sibling,T.index=a.index,T.ref=a.ref,Zt&&(T.selfBaseDuration=a.selfBaseDuration,T.treeBaseDuration=a.treeBaseDuration),T._debugNeedsRemount=a._debugNeedsRemount,T.tag){case C:case L:case le:T.type=Zu(a.type);break;case N:T.type=U0(a.type);break;case ge:T.type=vf(a.type);break;default:break}return T}function Rv(a,c){a.effectTag&=ai,a.nextEffect=null,a.firstEffect=null,a.lastEffect=null;var _=a.alternate;if(_===null)a.childExpirationTime=lt,a.expirationTime=c,a.child=null,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,Zt&&(a.selfBaseDuration=0,a.treeBaseDuration=0);else{a.childExpirationTime=_.childExpirationTime,a.expirationTime=_.expirationTime,a.child=_.child,a.memoizedProps=_.memoizedProps,a.memoizedState=_.memoizedState,a.updateQueue=_.updateQueue;var T=_.dependencies;a.dependencies=T===null?null:{expirationTime:T.expirationTime,firstContext:T.firstContext,responders:T.responders},Zt&&(a.selfBaseDuration=_.selfBaseDuration,a.treeBaseDuration=_.treeBaseDuration)}return a}function X4(a){var c;return a===R0?c=Qr|Y|cr:a===I0?c=Y|cr:c=Sr,Zt&&Dt&&(c|=Jr),Wi(U,null,null,c)}function Sy(a,c,_,T,R,j){var V,te=C,oe=a;if(typeof a=="function")uo(a)?(te=N,oe=U0(oe)):oe=Zu(oe);else if(typeof a=="string")te=W;else{e:switch(a){case ue:return Qa(_.children,R,j,c);case ln:te=we,R|=Qr|Y|cr;break;case je:te=we,R|=cr;break;case ct:return J4(_,R,j,c);case nr:return Z4(_,R,j,c);case un:return $4(_,R,j,c);default:{if(typeof a=="object"&&a!==null)switch(a.$$typeof){case At:te=he;break e;case en:te=Se;break e;case An:te=ge,oe=vf(oe);break e;case Wt:te=Oe;break e;case vr:te=Ue,oe=null;break e;case w:if(Ht)return r_(a,_,R,j,c);break;case Vn:if(Du)return Q4(a,_,R,j,c)}var Ie="";{(a===void 0||typeof a=="object"&&a!==null&&Object.keys(a).length===0)&&(Ie+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var Ye=T?qt(T.type):null;Ye&&(Ie+=` - -Check the render method of \``+Ye+"`.")}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+(a==null?a:typeof a)+"."+Ie)}}}return V=Wi(te,_,c,R),V.elementType=a,V.type=oe,V.expirationTime=j,V}function Ty(a,c,_){var T=null;T=a._owner;var R=a.type,j=a.key,V=a.props,te=Sy(R,j,V,T,c,_);return te._debugSource=a._source,te._debugOwner=a._owner,te}function Qa(a,c,_,T){var R=Wi(m,a,T,c);return R.expirationTime=_,R}function r_(a,c,_,T,R){var j=Wi(xt,c,R,_);return j.elementType=a,j.type=a,j.expirationTime=T,j}function Q4(a,c,_,T,R){var j=Wi($e,c,R,_);return j.type=a,j.elementType=a,j.expirationTime=T,j}function J4(a,c,_,T){(typeof a.id!="string"||typeof a.onRender!="function")&&Ke(!1,'Profiler must specify an "id" string and "onRender" function as props');var R=Wi(ze,a,T,c|Jr);return R.elementType=ct,R.type=ct,R.expirationTime=_,R}function Z4(a,c,_,T){var R=Wi(pe,a,T,c);return R.type=nr,R.elementType=nr,R.expirationTime=_,R}function $4(a,c,_,T){var R=Wi(wt,a,T,c);return R.type=un,R.elementType=un,R.expirationTime=_,R}function Cy(a,c,_){var T=Wi(ne,a,null,c);return T.expirationTime=_,T}function eE(){var a=Wi(W,null,null,Sr);return a.elementType="DELETED",a.type="DELETED",a}function tE(a){var c=Wi(rt,null,null,Sr);return c.stateNode=a,c}function xy(a,c,_){var T=a.children!==null?a.children:[],R=Wi(q,T,a.key,c);return R.expirationTime=_,R.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},R}function i_(a,c){return a===null&&(a=Wi(C,null,null,Sr)),a.tag=c.tag,a.key=c.key,a.elementType=c.elementType,a.type=c.type,a.stateNode=c.stateNode,a.return=c.return,a.child=c.child,a.sibling=c.sibling,a.index=c.index,a.ref=c.ref,a.pendingProps=c.pendingProps,a.memoizedProps=c.memoizedProps,a.updateQueue=c.updateQueue,a.memoizedState=c.memoizedState,a.dependencies=c.dependencies,a.mode=c.mode,a.effectTag=c.effectTag,a.nextEffect=c.nextEffect,a.firstEffect=c.firstEffect,a.lastEffect=c.lastEffect,a.expirationTime=c.expirationTime,a.childExpirationTime=c.childExpirationTime,a.alternate=c.alternate,Zt&&(a.actualDuration=c.actualDuration,a.actualStartTime=c.actualStartTime,a.selfBaseDuration=c.selfBaseDuration,a.treeBaseDuration=c.treeBaseDuration),a._debugID=c._debugID,a._debugSource=c._debugSource,a._debugOwner=c._debugOwner,a._debugIsCurrentlyTiming=c._debugIsCurrentlyTiming,a._debugNeedsRemount=c._debugNeedsRemount,a._debugHookTypes=c._debugHookTypes,a}function nE(a,c,_){this.tag=c,this.current=null,this.containerInfo=a,this.pendingChildren=null,this.pingCache=null,this.finishedExpirationTime=lt,this.finishedWork=null,this.timeoutHandle=Jo,this.context=null,this.pendingContext=null,this.hydrate=_,this.callbackNode=null,this.callbackPriority=y0,this.firstPendingTime=lt,this.firstSuspendedTime=lt,this.lastSuspendedTime=lt,this.nextKnownPendingLevel=lt,this.lastPingedTime=lt,this.lastExpiredTime=lt,Ln&&(this.interactionThreadID=k.unstable_getThreadID(),this.memoizedInteractions=new Set,this.pendingInteractionMap=new Map),Ui&&(this.hydrationCallbacks=null)}function rE(a,c,_,T){var R=new nE(a,c,_);Ui&&(R.hydrationCallbacks=T);var j=X4(c);return R.current=j,j.stateNode=R,R}function u_(a,c){var _=a.firstSuspendedTime,T=a.lastSuspendedTime;return _!==lt&&_>=c&&T<=c}function Bf(a,c){var _=a.firstSuspendedTime,T=a.lastSuspendedTime;_c||_===lt)&&(a.lastSuspendedTime=c),c<=a.lastPingedTime&&(a.lastPingedTime=lt),c<=a.lastExpiredTime&&(a.lastExpiredTime=lt)}function o_(a,c){var _=a.firstPendingTime;c>_&&(a.firstPendingTime=c);var T=a.firstSuspendedTime;T!==lt&&(c>=T?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=lt:c>=a.lastSuspendedTime&&(a.lastSuspendedTime=c+1),c>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=c))}function iE(a,c,_){a.firstPendingTime=_,c<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=lt:c<=a.firstSuspendedTime&&(a.firstSuspendedTime=c-1),c<=a.lastPingedTime&&(a.lastPingedTime=lt),c<=a.lastExpiredTime&&(a.lastExpiredTime=lt)}function qp(a,c){var _=a.lastExpiredTime;(_===lt||_>c)&&(a.lastExpiredTime=c)}var uE={debugTool:null},Ov=uE,Ay,Ry;Ay=!1,Ry={};function oE(a){if(!a)return Sn;var c=jt(a),_=El(c);if(c.tag===N){var T=c.type;if(zi(T))return A0(c,T,_)}return _}function Oy(a){var c=jt(a);if(c===void 0)throw typeof a.render=="function"?Error("Unable to find node on an unmounted component."):Error("Argument appears to not be a ReactComponent. Keys: "+Object.keys(a));var _=b0(c);return _===null?null:_.stateNode}function lE(a,c){{var _=jt(a);if(_===void 0)throw typeof a.render=="function"?Error("Unable to find node on an unmounted component."):Error("Argument appears to not be a ReactComponent. Keys: "+Object.keys(a));var T=b0(_);if(T===null)return null;if(T.mode&cr){var R=qt(_.type)||"Component";Ry[R]||(Ry[R]=!0,_.mode&cr?Ke(!1,"%s is deprecated in StrictMode. %s was passed an instance of %s which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node%s",c,c,R,_r(T)):Ke(!1,"%s is deprecated in StrictMode. %s was passed an instance of %s which renders StrictMode children. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node%s",c,c,R,_r(T)))}return T.stateNode}return Oy(a)}function sE(a,c,_,T){return rE(a,c,_,T)}function l_(a,c,_,T){var R=c.current,j=Fl();typeof jest!="undefined"&&(Dy(R),jp(R));var V=mo(),te=Ff(j,R,V);Ov.debugTool&&(R.alternate===null?Ov.debugTool.onMountContainer(c):a===null?Ov.debugTool.onUnmountContainer(c):Ov.debugTool.onUpdateContainer(c));var oe=oE(_);c.context===null?c.context=oe:c.pendingContext=oe,Ar==="render"&&Cn!==null&&!Ay&&(Ay=!0,Ke(!1,`Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate. - -Check the render method of %s.`,qt(Cn.type)||"Unknown"));var Ie=gu(te,V);return Ie.payload={element:a},T=T===void 0?null:T,T!==null&&(typeof T!="function"&&Ke(!1,"render(...): Expected the last optional `callback` argument to be a function. Instead received: %s.",T),Ie.callback=T),Ua(R,Ie),dl(R,te),te}function aE(a){var c=a.current;if(!c.child)return null;switch(c.child.tag){case W:return Ro(c.child.stateNode);default:return c.child.stateNode}}function fE(a){switch(a.tag){case U:var c=a.stateNode;c.hydrate&&Zm(c,c.firstPendingTime);break;case pe:xp(function(){return dl(a,bn)});var _=La(Fl());kv(a,_);break}}function s_(a,c){var _=a.memoizedState;_!==null&&_.dehydrated!==null&&_.retryTime=c.length)return T;var R=c[_],j=Array.isArray(a)?a.slice():f({},a);return j[R]=Ny(a[R],c,_+1,T),j},h_=function(a,c,_){return Ny(a,c,0,_)};f_=function(a,c,_,T){for(var R=a.memoizedState;R!==null&&c>0;)R=R.next,c--;if(R!==null){var j=h_(R.memoizedState,_,T);R.memoizedState=j,R.baseState=j,a.memoizedProps=f({},a.memoizedProps),dl(a,bn)}},c_=function(a,c,_){a.pendingProps=h_(a.memoizedProps,c,_),a.alternate&&(a.alternate.pendingProps=a.pendingProps),dl(a,bn)},d_=function(a){dl(a,bn)},p_=function(a){My=a}}function hE(a){var c=a.findFiberByHostInstance,_=at.ReactCurrentDispatcher;return Rt(f({},a,{overrideHookState:f_,overrideProps:c_,setSuspenseHandler:p_,scheduleUpdate:d_,currentDispatcherRef:_,findHostInstanceByFiber:function(T){var R=b0(T);return R===null?null:R.stateNode},findFiberByHostInstance:function(T){return c?c(T):null},findHostInstancesForRefresh:n2,scheduleRefresh:Sl,scheduleRoot:_s,setRefreshHandler:Ia,getCurrentFiber:function(){return Cn}}))}var v_=Object.freeze({createContainer:sE,updateContainer:l_,batchedEventUpdates:ny,batchedUpdates:ty,unbatchedUpdates:ry,deferredUpdates:$m,syncUpdates:fv,discreteUpdates:cv,flushDiscreteUpdates:av,flushControlled:iy,flushSync:xp,flushPassiveEffects:Xa,IsThisRendererActing:If,getPublicRootInstance:aE,attemptSynchronousHydration:fE,attemptUserBlockingHydration:cE,attemptContinuousHydration:ky,attemptHydrationAtCurrentPriority:dE,findHostInstance:Oy,findHostInstanceWithWarning:lE,findHostInstanceWithNoPortals:pE,shouldSuspend:a_,injectIntoDevTools:hE}),vE=v_.default||v_;hg.exports=vE;var mE=hg.exports;return hg.exports=i,mE})});var D9=ce((zne,cw)=>{"use strict";process.env.NODE_ENV==="production"?cw.exports=m9():cw.exports=E9()});var S9=ce((qne,w9)=>{"use strict";var ZK={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};w9.exports=ZK});var A9=ce((Hne,T9)=>{"use strict";var $K=Object.assign||function(i){for(var o=1;o"}}]),i}(),C9=function(){v4(i,null,[{key:"fromJS",value:function(f){var p=f.width,E=f.height;return new i(p,E)}}]);function i(o,f){pw(this,i),this.width=o,this.height=f}return v4(i,[{key:"fromJS",value:function(f){f(this.width,this.height)}},{key:"toString",value:function(){return""}}]),i}(),x9=function(){function i(o,f){pw(this,i),this.unit=o,this.value=f}return v4(i,[{key:"fromJS",value:function(f){f(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case Jf.UNIT_POINT:return String(this.value);case Jf.UNIT_PERCENT:return this.value+"%";case Jf.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),i}();T9.exports=function(i,o){function f(k,L,N){var C=k[L];k[L]=function(){for(var U=arguments.length,q=Array(U),W=0;W1?q-1:0),ne=1;ne1&&arguments[1]!==void 0?arguments[1]:NaN,N=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Jf.DIRECTION_LTR;return k.call(this,L,N,C)}),$K({Config:o.Config,Node:o.Node,Layout:i("Layout",eX),Size:i("Size",C9),Value:i("Value",x9),getInstanceCount:function(){return o.getInstanceCount.apply(o,arguments)}},Jf)}});var R9=ce((exports,module)=>{(function(i,o){typeof define=="function"&&define.amd?define([],function(){return o}):typeof module=="object"&&module.exports?module.exports=o:(i.nbind=i.nbind||{}).init=o})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(i,o){return function(){i&&i.apply(this,arguments);try{Module.ccall("nbind_init")}catch(f){o(f);return}o(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module!="undefined"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof require=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(o,f){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),o=nodePath.normalize(o);var p=nodeFS.readFileSync(o);return f?p:p.toString()},Module.readBinary=function(o){var f=Module.read(o,!0);return f.buffer||(f=new Uint8Array(f)),assert(f.buffer),f},Module.load=function(o){globalEval(read(o))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module!="undefined"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr!="undefined"&&(Module.printErr=printErr),typeof read!="undefined"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(o){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(o));var f=read(o,"binary");return assert(typeof f=="object"),f},typeof scriptArgs!="undefined"?Module.arguments=scriptArgs:typeof arguments!="undefined"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(i,o){quit(i)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(o){var f=new XMLHttpRequest;return f.open("GET",o,!1),f.send(null),f.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(o){var f=new XMLHttpRequest;return f.open("GET",o,!1),f.responseType="arraybuffer",f.send(null),new Uint8Array(f.response)}),Module.readAsync=function(o,f,p){var E=new XMLHttpRequest;E.open("GET",o,!0),E.responseType="arraybuffer",E.onload=function(){E.status==200||E.status==0&&E.response?f(E.response):p()},E.onerror=p,E.send(null)},typeof arguments!="undefined"&&(Module.arguments=arguments),typeof console!="undefined")Module.print||(Module.print=function(o){console.log(o)}),Module.printErr||(Module.printErr=function(o){console.warn(o)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump!="undefined"?function(i){dump(i)}:function(i){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle=="undefined"&&(Module.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function globalEval(i){eval.call(null,i)}!Module.load&&Module.read&&(Module.load=function(o){globalEval(Module.read(o))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(i,o){throw o}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(i){return tempRet0=i,i},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(i){STACKTOP=i},getNativeTypeSize:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(i[i.length-1]==="*")return Runtime.QUANTUM_SIZE;if(i[0]==="i"){var o=parseInt(i.substr(1));return assert(o%8==0),o/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(Runtime.getNativeTypeSize(i),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,o){return o==="double"||o==="i64"?i&7&&(assert((i&7)==4),i+=4):assert((i&3)==0),i},getAlignSize:function(i,o,f){return!f&&(i=="i64"||i=="double")?8:i?Math.min(o||(i?Runtime.getNativeFieldSize(i):0),Runtime.QUANTUM_SIZE):Math.min(o,8)},dynCall:function(i,o,f){return f&&f.length?Module["dynCall_"+i].apply(null,[o].concat(f)):Module["dynCall_"+i].call(null,o)},functionPointers:[],addFunction:function(i){for(var o=0;o>2],f=(o+i+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=f,f>=TOTAL_MEMORY){var p=enlargeMemory();if(!p)return HEAP32[DYNAMICTOP_PTR>>2]=o,0}return o},alignMemory:function(i,o){var f=i=Math.ceil(i/(o||16))*(o||16);return f},makeBigInt:function(i,o,f){var p=f?+(i>>>0)+ +(o>>>0)*4294967296:+(i>>>0)+ +(o|0)*4294967296;return p},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(i,o){i||abort("Assertion failed: "+o)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(i){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(i){var o=Runtime.stackAlloc(i.length);return writeArrayToMemory(i,o),o},stringToC:function(i){var o=0;if(i!=null&&i!==0){var f=(i.length<<2)+1;o=Runtime.stackAlloc(f),stringToUTF8(i,o,f)}return o}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(o,f,p,E,t){var k=getCFunc(o),L=[],N=0;if(E)for(var C=0;C>0]=o;break;case"i8":HEAP8[i>>0]=o;break;case"i16":HEAP16[i>>1]=o;break;case"i32":HEAP32[i>>2]=o;break;case"i64":tempI64=[o>>>0,(tempDouble=o,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[i>>2]=tempI64[0],HEAP32[i+4>>2]=tempI64[1];break;case"float":HEAPF32[i>>2]=o;break;case"double":HEAPF64[i>>3]=o;break;default:abort("invalid type for setValue: "+f)}}Module.setValue=setValue;function getValue(i,o,f){switch(o=o||"i8",o.charAt(o.length-1)==="*"&&(o="i32"),o){case"i1":return HEAP8[i>>0];case"i8":return HEAP8[i>>0];case"i16":return HEAP16[i>>1];case"i32":return HEAP32[i>>2];case"i64":return HEAP32[i>>2];case"float":return HEAPF32[i>>2];case"double":return HEAPF64[i>>3];default:abort("invalid type for setValue: "+o)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(i,o,f,p){var E,t;typeof i=="number"?(E=!0,t=i):(E=!1,t=i.length);var k=typeof o=="string"?o:null,L;if(f==ALLOC_NONE?L=p:L=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][f===void 0?ALLOC_STATIC:f](Math.max(t,k?1:o.length)),E){var p=L,N;for(assert((L&3)==0),N=L+(t&~3);p>2]=0;for(N=L+t;p>0]=0;return L}if(k==="i8")return i.subarray||i.slice?HEAPU8.set(i,L):HEAPU8.set(new Uint8Array(i),L),L;for(var C=0,U,q,W;C>0],f|=p,!(p==0&&!o||(E++,o&&E==o)););o||(o=E);var t="";if(f<128){for(var k=1024,L;o>0;)L=String.fromCharCode.apply(String,HEAPU8.subarray(i,i+Math.min(o,k))),t=t?t+L:L,i+=k,o-=k;return t}return Module.UTF8ToString(i)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(i){for(var o="";;){var f=HEAP8[i++>>0];if(!f)return o;o+=String.fromCharCode(f)}}Module.AsciiToString=AsciiToString;function stringToAscii(i,o){return writeAsciiToMemory(i,o,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(i,o){for(var f=o;i[f];)++f;if(f-o>16&&i.subarray&&UTF8Decoder)return UTF8Decoder.decode(i.subarray(o,f));for(var p,E,t,k,L,N,C="";;){if(p=i[o++],!p)return C;if(!(p&128)){C+=String.fromCharCode(p);continue}if(E=i[o++]&63,(p&224)==192){C+=String.fromCharCode((p&31)<<6|E);continue}if(t=i[o++]&63,(p&240)==224?p=(p&15)<<12|E<<6|t:(k=i[o++]&63,(p&248)==240?p=(p&7)<<18|E<<12|t<<6|k:(L=i[o++]&63,(p&252)==248?p=(p&3)<<24|E<<18|t<<12|k<<6|L:(N=i[o++]&63,p=(p&1)<<30|E<<24|t<<18|k<<12|L<<6|N))),p<65536)C+=String.fromCharCode(p);else{var U=p-65536;C+=String.fromCharCode(55296|U>>10,56320|U&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(i){return UTF8ArrayToString(HEAPU8,i)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(i,o,f,p){if(!(p>0))return 0;for(var E=f,t=f+p-1,k=0;k=55296&&L<=57343&&(L=65536+((L&1023)<<10)|i.charCodeAt(++k)&1023),L<=127){if(f>=t)break;o[f++]=L}else if(L<=2047){if(f+1>=t)break;o[f++]=192|L>>6,o[f++]=128|L&63}else if(L<=65535){if(f+2>=t)break;o[f++]=224|L>>12,o[f++]=128|L>>6&63,o[f++]=128|L&63}else if(L<=2097151){if(f+3>=t)break;o[f++]=240|L>>18,o[f++]=128|L>>12&63,o[f++]=128|L>>6&63,o[f++]=128|L&63}else if(L<=67108863){if(f+4>=t)break;o[f++]=248|L>>24,o[f++]=128|L>>18&63,o[f++]=128|L>>12&63,o[f++]=128|L>>6&63,o[f++]=128|L&63}else{if(f+5>=t)break;o[f++]=252|L>>30,o[f++]=128|L>>24&63,o[f++]=128|L>>18&63,o[f++]=128|L>>12&63,o[f++]=128|L>>6&63,o[f++]=128|L&63}}return o[f]=0,f-E}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(i,o,f){return stringToUTF8Array(i,HEAPU8,o,f)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(i){for(var o=0,f=0;f=55296&&p<=57343&&(p=65536+((p&1023)<<10)|i.charCodeAt(++f)&1023),p<=127?++o:p<=2047?o+=2:p<=65535?o+=3:p<=2097151?o+=4:p<=67108863?o+=5:o+=6}return o}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function demangle(i){var o=Module.___cxa_demangle||Module.__cxa_demangle;if(o){try{var f=i.substr(1),p=lengthBytesUTF8(f)+1,E=_malloc(p);stringToUTF8(f,E,p);var t=_malloc(4),k=o(E,0,0,t);if(getValue(t,"i32")===0&&k)return Pointer_stringify(k)}catch(L){}finally{E&&_free(E),t&&_free(t),k&&_free(k)}return i}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),i}function demangleAll(i){var o=/__Z[\w\d_]+/g;return i.replace(o,function(f){var p=demangle(f);return f===p?f:f+" ["+p+"]"})}function jsStackTrace(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch(o){i=o}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function stackTrace(){var i=jsStackTrace();return Module.extraStackTrace&&(i+=` -`+Module.extraStackTrace()),demangleAll(i)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY0;){var o=i.shift();if(typeof o=="function"){o();continue}var f=o.func;typeof f=="number"?o.arg===void 0?Module.dynCall_v(f):Module.dynCall_vi(f,o.arg):f(o.arg===void 0?null:o.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(i){__ATPRERUN__.unshift(i)}Module.addOnPreRun=addOnPreRun;function addOnInit(i){__ATINIT__.unshift(i)}Module.addOnInit=addOnInit;function addOnPreMain(i){__ATMAIN__.unshift(i)}Module.addOnPreMain=addOnPreMain;function addOnExit(i){__ATEXIT__.unshift(i)}Module.addOnExit=addOnExit;function addOnPostRun(i){__ATPOSTRUN__.unshift(i)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(i,o,f){var p=f>0?f:lengthBytesUTF8(i)+1,E=new Array(p),t=stringToUTF8Array(i,E,0,E.length);return o&&(E.length=t),E}Module.intArrayFromString=intArrayFromString;function intArrayToString(i){for(var o=[],f=0;f255&&(p&=255),o.push(String.fromCharCode(p))}return o.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(i,o,f){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var p,E;f&&(E=o+lengthBytesUTF8(i),p=HEAP8[E]),stringToUTF8(i,o,Infinity),f&&(HEAP8[E]=p)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(i,o){HEAP8.set(i,o)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(i,o,f){for(var p=0;p>0]=i.charCodeAt(p);f||(HEAP8[o>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(o,f){var p=o>>>16,E=o&65535,t=f>>>16,k=f&65535;return E*k+(p*k+E*t<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(i){return froundBuffer[0]=i,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var o=0;o<32;o++)if(i&1<<31-o)return o;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(i){return i<0?Math.ceil(i):Math.floor(i)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(i){return i}function addRunDependency(i){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(i){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var o=dependenciesFulfilled;dependenciesFulfilled=null,o()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(i,o,f,p,E,t,k,L){return _nbind.callbackSignatureList[i].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(i,o,f,p,E,t,k,L){return ASM_CONSTS[i](o,f,p,E,t,k,L)}function _emscripten_asm_const_iiiii(i,o,f,p,E){return ASM_CONSTS[i](o,f,p,E)}function _emscripten_asm_const_iiidddddd(i,o,f,p,E,t,k,L,N){return ASM_CONSTS[i](o,f,p,E,t,k,L,N)}function _emscripten_asm_const_iiididi(i,o,f,p,E,t,k){return ASM_CONSTS[i](o,f,p,E,t,k)}function _emscripten_asm_const_iiii(i,o,f,p){return ASM_CONSTS[i](o,f,p)}function _emscripten_asm_const_iiiid(i,o,f,p,E){return ASM_CONSTS[i](o,f,p,E)}function _emscripten_asm_const_iiiiii(i,o,f,p,E,t){return ASM_CONSTS[i](o,f,p,E,t)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,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,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,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,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,192,127,0,0,0,0,0,0,0,0,255,255,255,255,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,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,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,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,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,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,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,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,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,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,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,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,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,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,148,45,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,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,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,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,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,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,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,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,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,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,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,18,0,0,0,18,18,18,0,0,0,0,0,0,9,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,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,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,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(i,o){__ATEXIT__.unshift({func:i,arg:o})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(i,o,f,p){var E=arguments.length,t=E<3?o:p===null?p=Object.getOwnPropertyDescriptor(o,f):p,k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(i,o,f,p);else for(var L=i.length-1;L>=0;L--)(k=i[L])&&(t=(E<3?k(t):E>3?k(o,f,t):k(o,f))||t);return E>3&&t&&Object.defineProperty(o,f,t),t}function _defineHidden(i){return function(o,f){Object.defineProperty(o,f,{configurable:!1,enumerable:!1,value:i,writable:!0})}}var _nbind={};function __nbind_free_external(i){_nbind.externalList[i].dereference(i)}function __nbind_reference_external(i){_nbind.externalList[i].reference()}function _llvm_stackrestore(i){var o=_llvm_stacksave,f=o.LLVM_SAVEDSTACKS[i];o.LLVM_SAVEDSTACKS.splice(i,1),Runtime.stackRestore(f)}function __nbind_register_pool(i,o,f,p){_nbind.Pool.pageSize=i,_nbind.Pool.usedPtr=o/4,_nbind.Pool.rootPtr=f,_nbind.Pool.pagePtr=p/4,HEAP32[o/4]=16909060,HEAP8[o]==1&&(_nbind.bigEndian=!0),HEAP32[o/4]=0,_nbind.makeTypeKindTbl=(t={},t[1024]=_nbind.PrimitiveType,t[64]=_nbind.Int64Type,t[2048]=_nbind.BindClass,t[3072]=_nbind.BindClassPtr,t[4096]=_nbind.SharedClassPtr,t[5120]=_nbind.ArrayType,t[6144]=_nbind.ArrayType,t[7168]=_nbind.CStringType,t[9216]=_nbind.CallbackType,t[10240]=_nbind.BindType,t),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var E=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});E.proto=Module,_nbind.BindClass.list.push(E);var t}function _emscripten_set_main_loop_timing(i,o){if(Browser.mainLoop.timingMode=i,Browser.mainLoop.timingValue=o,!Browser.mainLoop.func)return 1;if(i==0)Browser.mainLoop.scheduler=function(){var k=Math.max(0,Browser.mainLoop.tickStartTime+o-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,k)},Browser.mainLoop.method="timeout";else if(i==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(i==2){if(!window.setImmediate){let t=function(k){k.source===window&&k.data===p&&(k.stopPropagation(),f.shift()())};var E=t,f=[],p="setimmediate";window.addEventListener("message",t,!0),window.setImmediate=function(L){f.push(L),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(L),window.postMessage({target:p})):window.postMessage(p,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(i,o,f,p,E){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=i,Browser.mainLoop.arg=p;var t;typeof p!="undefined"?t=function(){Module.dynCall_vi(i,p)}:t=function(){Module.dynCall_v(i)};var k=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var N=Date.now(),C=Browser.mainLoop.queue.shift();if(C.func(C.arg),Browser.mainLoop.remainingBlockers){var U=Browser.mainLoop.remainingBlockers,q=U%1==0?U-1:Math.floor(U);C.counted?Browser.mainLoop.remainingBlockers=q:(q=q+.5,Browser.mainLoop.remainingBlockers=(8*U+q)/9)}if(console.log('main loop blocker "'+C.name+'" took '+(Date.now()-N)+" ms"),Browser.mainLoop.updateStatus(),k1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(t),!(k0?_emscripten_set_main_loop_timing(0,1e3/o):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),f)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var i=Browser.mainLoop.timingMode,o=Browser.mainLoop.timingValue,f=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(f,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(i,o),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var i=Module.statusMessage||"Please wait...",o=Browser.mainLoop.remainingBlockers,f=Browser.mainLoop.expectedBlockers;o?o=6;){var rt=le>>Ue-6&63;Ue-=6,Oe+=ze[rt]}return Ue==2?(Oe+=ze[(le&3)<<4],Oe+=pe+pe):Ue==4&&(Oe+=ze[(le&15)<<2],Oe+=pe),Oe}m.src="data:audio/x-"+k.substr(-3)+";base64,"+he(t),U(m)},m.src=ne,Browser.safeSetTimeout(function(){U(m)},1e4)}else return q()},Module.preloadPlugins.push(o);function f(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var p=Module.canvas;p&&(p.requestPointerLock=p.requestPointerLock||p.mozRequestPointerLock||p.webkitRequestPointerLock||p.msRequestPointerLock||function(){},p.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},p.exitPointerLock=p.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),Module.elementPointerLock&&p.addEventListener("click",function(E){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),E.preventDefault())},!1))},createContext:function(i,o,f,p){if(o&&Module.ctx&&i==Module.canvas)return Module.ctx;var E,t;if(o){var k={antialias:!1,alpha:!1};if(p)for(var L in p)k[L]=p[L];t=GL.createContext(i,k),t&&(E=GL.getContext(t).GLctx)}else E=i.getContext("2d");return E?(f&&(o||assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=E,o&&GL.makeContextCurrent(t),Module.useWebGL=o,Browser.moduleContextCreatedCallbacks.forEach(function(N){N()}),Browser.init()),E):null},destroyContext:function(i,o,f){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(i,o,f){Browser.lockPointer=i,Browser.resizeCanvas=o,Browser.vrDevice=f,typeof Browser.lockPointer=="undefined"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas=="undefined"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice=="undefined"&&(Browser.vrDevice=null);var p=Module.canvas;function E(){Browser.isFullscreen=!1;var k=p.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===k?(p.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},p.exitFullscreen=p.exitFullscreen.bind(document),Browser.lockPointer&&p.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(k.parentNode.insertBefore(p,k),k.parentNode.removeChild(k),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(p)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",E,!1),document.addEventListener("mozfullscreenchange",E,!1),document.addEventListener("webkitfullscreenchange",E,!1),document.addEventListener("MSFullscreenChange",E,!1));var t=document.createElement("div");p.parentNode.insertBefore(t,p),t.appendChild(p),t.requestFullscreen=t.requestFullscreen||t.mozRequestFullScreen||t.msRequestFullscreen||(t.webkitRequestFullscreen?function(){t.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(t.webkitRequestFullScreen?function(){t.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),f?t.requestFullscreen({vrDisplay:f}):t.requestFullscreen()},requestFullScreen:function(i,o,f){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(p,E,t){return Browser.requestFullscreen(p,E,t)},Browser.requestFullscreen(i,o,f)},nextRAF:0,fakeRequestAnimationFrame:function(i){var o=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=o+1e3/60;else for(;o+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var f=Math.max(Browser.nextRAF-o,0);setTimeout(i,f)},requestAnimationFrame:function(o){typeof window=="undefined"?Browser.fakeRequestAnimationFrame(o):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(o))},safeCallback:function(i){return function(){if(!ABORT)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var i=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],i.forEach(function(o){o()})}},safeRequestAnimationFrame:function(i){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,o){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))},o)},safeSetInterval:function(i,o){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&i()},o)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var o=0;switch(i.type){case"DOMMouseScroll":o=i.detail;break;case"mousewheel":o=i.wheelDelta;break;case"wheel":o=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return o},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(Browser.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(i),Browser.mouseMovementY=Browser.getMovementY(i)),typeof SDL!="undefined"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var o=Module.canvas.getBoundingClientRect(),f=Module.canvas.width,p=Module.canvas.height,E=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset,t=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var k=i.touch;if(k===void 0)return;var L=k.pageX-(E+o.left),N=k.pageY-(t+o.top);L=L*(f/o.width),N=N*(p/o.height);var C={x:L,y:N};if(i.type==="touchstart")Browser.lastTouches[k.identifier]=C,Browser.touches[k.identifier]=C;else if(i.type==="touchend"||i.type==="touchmove"){var U=Browser.touches[k.identifier];U||(U=C),Browser.lastTouches[k.identifier]=U,Browser.touches[k.identifier]=C}return}var q=i.pageX-(E+o.left),W=i.pageY-(t+o.top);q=q*(f/o.width),W=W*(p/o.height),Browser.mouseMovementX=q-Browser.mouseX,Browser.mouseMovementY=W-Browser.mouseY,Browser.mouseX=q,Browser.mouseY=W}},asyncLoad:function(i,o,f,p){var E=p?"":getUniqueRunDependency("al "+i);Module.readAsync(i,function(t){assert(t,'Loading data file "'+i+'" failed (no arrayBuffer).'),o(new Uint8Array(t)),E&&removeRunDependency(E)},function(t){if(f)f();else throw'Loading data file "'+i+'" failed.'}),E&&addRunDependency(E)},resizeListeners:[],updateResizeListeners:function(){var i=Module.canvas;Browser.resizeListeners.forEach(function(o){o(i.width,i.height)})},setCanvasSize:function(i,o,f){var p=Module.canvas;Browser.updateCanvasDimensions(p,i,o),f||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i&~8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},updateCanvasDimensions:function(i,o,f){o&&f?(i.widthNative=o,i.heightNative=f):(o=i.widthNative,f=i.heightNative);var p=o,E=f;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(p/E>2];return o},getStr:function(){var i=Pointer_stringify(SYSCALLS.get());return i},get64:function(){var i=SYSCALLS.get(),o=SYSCALLS.get();return i>=0?assert(o===0):assert(o===-1),i},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(i,o){SYSCALLS.varargs=o;try{var f=SYSCALLS.getStreamFromFD();return FS.close(f),0}catch(p){return(typeof FS=="undefined"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall54(i,o){SYSCALLS.varargs=o;try{return 0}catch(f){return(typeof FS=="undefined"||!(f instanceof FS.ErrnoError))&&abort(f),-f.errno}}function _typeModule(i){var o=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function f(N,C,U,q,W,ne){if(C==1){var m=q&896;(m==128||m==256||m==384)&&(N="X const")}var we;return ne?we=U.replace("X",N).replace("Y",W):we=N.replace("X",U).replace("Y",W),we.replace(/([*&]) (?=[*&])/g,"$1")}function p(N,C,U,q,W){throw new Error(N+" type "+U.replace("X",C+"?")+(q?" with flag "+q:"")+" in "+W)}function E(N,C,U,q,W,ne,m,we){ne===void 0&&(ne="X"),we===void 0&&(we=1);var Se=U(N);if(Se)return Se;var he=q(N),ge=he.placeholderFlag,ze=o[ge];m&&ze&&(ne=f(m[2],m[0],ne,ze[0],"?",!0));var pe;ge==0&&(pe="Unbound"),ge>=10&&(pe="Corrupt"),we>20&&(pe="Deeply nested"),pe&&p(pe,N,ne,ge,W||"?");var Oe=he.paramList[0],le=E(Oe,C,U,q,W,ne,ze,we+1),Ue,Ge={flags:ze[0],id:N,name:"",paramList:[le]},rt=[],wt="?";switch(he.placeholderFlag){case 1:Ue=le.spec;break;case 2:if((le.flags&15360)==1024&&le.spec.ptrSize==1){Ge.flags=7168;break}case 3:case 6:case 5:Ue=le.spec,(le.flags&15360)!=2048;break;case 8:wt=""+he.paramList[1],Ge.paramList.push(he.paramList[1]);break;case 9:for(var xt=0,$e=he.paramList[1];xt<$e.length;xt++){var ft=$e[xt],Ke=E(ft,C,U,q,W,ne,ze,we+1);rt.push(Ke.name),Ge.paramList.push(Ke)}wt=rt.join(", ");break;default:break}if(Ge.name=f(ze[2],ze[0],le.name,le.flags,wt),Ue){for(var jt=0,$t=Object.keys(Ue);jt<$t.length;jt++){var at=$t[jt];Ge[at]=Ge[at]||Ue[at]}Ge.flags|=Ue.flags}return t(C,Ge)}function t(N,C){var U=C.flags,q=U&896,W=U&15360;return!C.name&&W==1024&&(C.ptrSize==1?C.name=(U&16?"":(U&8?"un":"")+"signed ")+"char":C.name=(U&8?"u":"")+(U&32?"float":"int")+(C.ptrSize*8+"_t")),C.ptrSize==8&&!(U&32)&&(W=64),W==2048&&(q==512||q==640?W=4096:q&&(W=3072)),N(W,C)}var k=function(){function N(C){this.id=C.id,this.name=C.name,this.flags=C.flags,this.spec=C}return N.prototype.toString=function(){return this.name},N}(),L={Type:k,getComplexType:E,makeType:t,structureList:o};return i.output=L,i.output||L}function __nbind_register_type(i,o){var f=_nbind.readAsciiString(o),p={flags:10240,id:i,name:f};_nbind.makeType(_nbind.constructType,p)}function __nbind_register_callback_signature(i,o){var f=_nbind.readTypeIdList(i,o),p=_nbind.callbackSignatureList.length;return _nbind.callbackSignatureList[p]=_nbind.makeJSCaller(f),p}function __extends(i,o){for(var f in o)o.hasOwnProperty(f)&&(i[f]=o[f]);function p(){this.constructor=i}p.prototype=o.prototype,i.prototype=new p}function __nbind_register_class(i,o,f,p,E,t,k){var L=_nbind.readAsciiString(k),N=_nbind.readPolicyList(o),C=HEAPU32.subarray(i/4,i/4+2),U={flags:2048|(N.Value?2:0),id:C[0],name:L},q=_nbind.makeType(_nbind.constructType,U);q.ptrType=_nbind.getComplexType(C[1],_nbind.constructType,_nbind.getType,_nbind.queryType),q.destroy=_nbind.makeMethodCaller(q.ptrType,{boundID:U.id,flags:0,name:"destroy",num:0,ptr:t,title:q.name+".free",typeList:["void","uint32_t","uint32_t"]}),E&&(q.superIdList=Array.prototype.slice.call(HEAPU32.subarray(f/4,f/4+E)),q.upcastList=Array.prototype.slice.call(HEAPU32.subarray(p/4,p/4+E))),Module[q.name]=q.makeBound(N),_nbind.BindClass.list.push(q)}function _removeAccessorPrefix(i){var o=/^[Gg]et_?([A-Z]?([A-Z]?))/;return i.replace(o,function(f,p,E){return E?p:p.toLowerCase()})}function __nbind_register_function(i,o,f,p,E,t,k,L,N,C){var U=_nbind.getType(i),q=_nbind.readPolicyList(o),W=_nbind.readTypeIdList(f,p),ne;if(k==5)ne=[{direct:E,name:"__nbindConstructor",ptr:0,title:U.name+" constructor",typeList:["uint32_t"].concat(W.slice(1))},{direct:t,name:"__nbindValueConstructor",ptr:0,title:U.name+" value constructor",typeList:["void","uint32_t"].concat(W.slice(1))}];else{var m=_nbind.readAsciiString(L),we=(U.name&&U.name+".")+m;(k==3||k==4)&&(m=_removeAccessorPrefix(m)),ne=[{boundID:i,direct:t,name:m,ptr:E,title:we,typeList:W}]}for(var Se=0,he=ne;Se>2]=i),i}function _llvm_stacksave(){var i=_llvm_stacksave;return i.LLVM_SAVEDSTACKS||(i.LLVM_SAVEDSTACKS=[]),i.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),i.LLVM_SAVEDSTACKS.length-1}function ___syscall140(i,o){SYSCALLS.varargs=o;try{var f=SYSCALLS.getStreamFromFD(),p=SYSCALLS.get(),E=SYSCALLS.get(),t=SYSCALLS.get(),k=SYSCALLS.get(),L=E;return FS.llseek(f,L,k),HEAP32[t>>2]=f.position,f.getdents&&L===0&&k===0&&(f.getdents=null),0}catch(N){return(typeof FS=="undefined"||!(N instanceof FS.ErrnoError))&&abort(N),-N.errno}}function ___syscall146(i,o){SYSCALLS.varargs=o;try{var f=SYSCALLS.get(),p=SYSCALLS.get(),E=SYSCALLS.get(),t=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(U,q){var W=___syscall146.buffers[U];assert(W),q===0||q===10?((U===1?Module.print:Module.printErr)(UTF8ArrayToString(W,0)),W.length=0):W.push(q)});for(var k=0;k>2],N=HEAP32[p+(k*8+4)>>2],C=0;Ci.pageSize/2||o>i.pageSize-f){var p=_nbind.typeNameTbl.NBind.proto;return p.lalloc(o)}else return HEAPU32[i.usedPtr]=f+o,i.rootPtr+f},i.lreset=function(o,f){var p=HEAPU32[i.pagePtr];if(p){var E=_nbind.typeNameTbl.NBind.proto;E.lreset(o,f)}else HEAPU32[i.usedPtr]=o},i}();_nbind.Pool=Pool;function constructType(i,o){var f=i==10240?_nbind.makeTypeNameTbl[o.name]||_nbind.BindType:_nbind.makeTypeKindTbl[i],p=new f(o);return typeIdTbl[o.id]=p,_nbind.typeNameTbl[o.name]=p,p}_nbind.constructType=constructType;function getType(i){return typeIdTbl[i]}_nbind.getType=getType;function queryType(i){var o=HEAPU8[i],f=_nbind.structureList[o][1];i/=4,f<0&&(++i,f=HEAPU32[i]+1);var p=Array.prototype.slice.call(HEAPU32.subarray(i+1,i+1+f));return o==9&&(p=[p[0],p.slice(1)]),{paramList:p,placeholderFlag:o}}_nbind.queryType=queryType;function getTypes(i,o){return i.map(function(f){return typeof f=="number"?_nbind.getComplexType(f,constructType,getType,queryType,o):_nbind.typeNameTbl[f]})}_nbind.getTypes=getTypes;function readTypeIdList(i,o){return Array.prototype.slice.call(HEAPU32,i/4,i/4+o)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(i){for(var o=i;HEAPU8[o++];);return String.fromCharCode.apply("",HEAPU8.subarray(i,o-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(i){var o={};if(i)for(;;){var f=HEAPU32[i/4];if(!f)break;o[readAsciiString(f)]=!0,i+=4}return o}_nbind.readPolicyList=readPolicyList;function getDynCall(i,o){var f={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},p=i.map(function(t){return f[t.name]||"i"}).join(""),E=Module["dynCall_"+p];if(!E)throw new Error("dynCall_"+p+" not found for "+o+"("+i.map(function(t){return t.name}).join(", ")+")");return E}_nbind.getDynCall=getDynCall;function addMethod(i,o,f,p){var E=i[o];i.hasOwnProperty(o)&&E?((E.arity||E.arity===0)&&(E=_nbind.makeOverloader(E,E.arity),i[o]=E),E.addMethod(f,p)):(f.arity=p,i[o]=f)}_nbind.addMethod=addMethod;function throwError(i){throw new Error(i)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(i){__extends(o,i);function o(){var f=i!==null&&i.apply(this,arguments)||this;return f.heap=HEAPU32,f.ptrSize=4,f}return o.prototype.needsWireRead=function(f){return!!this.wireRead||!!this.makeWireRead},o.prototype.needsWireWrite=function(f){return!!this.wireWrite||!!this.makeWireWrite},o}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(i){__extends(o,i);function o(f){var p=i.call(this,f)||this,E=f.flags&32?{32:HEAPF32,64:HEAPF64}:f.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return p.heap=E[f.ptrSize*8],p.ptrSize=f.ptrSize,p}return o.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},o.prototype.makeWireWrite=function(f,p){return p&&p.Strict&&function(E){if(typeof E=="number")return E;throw new Error("Type mismatch")}},o}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(i,o){if(i==null){if(o&&o.Nullable)return 0;throw new Error("Type mismatch")}if(o&&o.Strict){if(typeof i!="string")throw new Error("Type mismatch")}else i=i.toString();var f=Module.lengthBytesUTF8(i)+1,p=_nbind.Pool.lalloc(f);return Module.stringToUTF8Array(i,HEAPU8,p,f),p}_nbind.pushCString=pushCString;function popCString(i){return i===0?null:Module.Pointer_stringify(i)}_nbind.popCString=popCString;var CStringType=function(i){__extends(o,i);function o(){var f=i!==null&&i.apply(this,arguments)||this;return f.wireRead=popCString,f.wireWrite=pushCString,f.readResources=[_nbind.resources.pool],f.writeResources=[_nbind.resources.pool],f}return o.prototype.makeWireWrite=function(f,p){return function(E){return pushCString(E,p)}},o}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(i){__extends(o,i);function o(){var f=i!==null&&i.apply(this,arguments)||this;return f.wireRead=function(p){return!!p},f}return o.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},o.prototype.makeWireRead=function(f){return"!!("+f+")"},o.prototype.makeWireWrite=function(f,p){return p&&p.Strict&&function(E){if(typeof E=="boolean")return E;throw new Error("Type mismatch")}||f},o}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function i(){}return i.prototype.persist=function(){this.__nbindState|=1},i}();_nbind.Wrapper=Wrapper;function makeBound(i,o){var f=function(p){__extends(E,p);function E(t,k,L,N){var C=p.call(this)||this;if(!(C instanceof E))return new(Function.prototype.bind.apply(E,Array.prototype.concat.apply([null],arguments)));var U=k,q=L,W=N;if(t!==_nbind.ptrMarker){var ne=C.__nbindConstructor.apply(C,arguments);U=4096|512,W=HEAPU32[ne/4],q=HEAPU32[ne/4+1]}var m={configurable:!0,enumerable:!1,value:null,writable:!1},we={__nbindFlags:U,__nbindPtr:q};W&&(we.__nbindShared=W,_nbind.mark(C));for(var Se=0,he=Object.keys(we);Se>=1;var f=_nbind.valueList[i];return _nbind.valueList[i]=firstFreeValue,firstFreeValue=i,f}else{if(o)return _nbind.popShared(i,o);throw new Error("Invalid value slot "+i)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(i){return typeof i=="number"?i:pushValue(i)*4096+valueBase}function pop64(i){return i=3?k=Buffer.from(t):k=new Buffer(t),k.copy(p)}else getBuffer(p).set(t)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var i=0,o=dirtyList;i>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(i,o,f,p,E,t){try{Module.dynCall_viiiii(i,o,f,p,E,t)}catch(k){if(typeof k!="number"&&k!=="longjmp")throw k;Module.setThrew(1,0)}}function invoke_vif(i,o,f){try{Module.dynCall_vif(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_vid(i,o,f){try{Module.dynCall_vid(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_fiff(i,o,f,p){try{return Module.dynCall_fiff(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_vi(i,o){try{Module.dynCall_vi(i,o)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_vii(i,o,f){try{Module.dynCall_vii(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_ii(i,o){try{return Module.dynCall_ii(i,o)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_viddi(i,o,f,p,E){try{Module.dynCall_viddi(i,o,f,p,E)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_vidd(i,o,f,p){try{Module.dynCall_vidd(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_iiii(i,o,f,p){try{return Module.dynCall_iiii(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_diii(i,o,f,p){try{return Module.dynCall_diii(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_di(i,o){try{return Module.dynCall_di(i,o)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_iid(i,o,f){try{return Module.dynCall_iid(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_iii(i,o,f){try{return Module.dynCall_iii(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_viiddi(i,o,f,p,E,t){try{Module.dynCall_viiddi(i,o,f,p,E,t)}catch(k){if(typeof k!="number"&&k!=="longjmp")throw k;Module.setThrew(1,0)}}function invoke_viiiiii(i,o,f,p,E,t,k){try{Module.dynCall_viiiiii(i,o,f,p,E,t,k)}catch(L){if(typeof L!="number"&&L!=="longjmp")throw L;Module.setThrew(1,0)}}function invoke_dii(i,o,f){try{return Module.dynCall_dii(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_i(i){try{return Module.dynCall_i(i)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_iiiiii(i,o,f,p,E,t){try{return Module.dynCall_iiiiii(i,o,f,p,E,t)}catch(k){if(typeof k!="number"&&k!=="longjmp")throw k;Module.setThrew(1,0)}}function invoke_viiid(i,o,f,p,E){try{Module.dynCall_viiid(i,o,f,p,E)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_viififi(i,o,f,p,E,t,k){try{Module.dynCall_viififi(i,o,f,p,E,t,k)}catch(L){if(typeof L!="number"&&L!=="longjmp")throw L;Module.setThrew(1,0)}}function invoke_viii(i,o,f,p){try{Module.dynCall_viii(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_v(i){try{Module.dynCall_v(i)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viid(i,o,f,p){try{Module.dynCall_viid(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_idd(i,o,f){try{return Module.dynCall_idd(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_viiii(i,o,f,p,E){try{Module.dynCall_viiii(i,o,f,p,E)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:Infinity},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(i,o,f){var p=new i.Int8Array(f),E=new i.Int16Array(f),t=new i.Int32Array(f),k=new i.Uint8Array(f),L=new i.Uint16Array(f),N=new i.Uint32Array(f),C=new i.Float32Array(f),U=new i.Float64Array(f),q=o.DYNAMICTOP_PTR|0,W=o.tempDoublePtr|0,ne=o.ABORT|0,m=o.STACKTOP|0,we=o.STACK_MAX|0,Se=o.cttz_i8|0,he=o.___dso_handle|0,ge=0,ze=0,pe=0,Oe=0,le=i.NaN,Ue=i.Infinity,Ge=0,rt=0,wt=0,xt=0,$e=0,ft=0,Ke=i.Math.floor,jt=i.Math.abs,$t=i.Math.sqrt,at=i.Math.pow,Q=i.Math.cos,ae=i.Math.sin,Ce=i.Math.tan,ue=i.Math.acos,je=i.Math.asin,ct=i.Math.atan,At=i.Math.atan2,en=i.Math.exp,ln=i.Math.log,An=i.Math.ceil,nr=i.Math.imul,un=i.Math.min,Wt=i.Math.max,vr=i.Math.clz32,w=i.Math.fround,Ut=o.abort,Vn=o.assert,fr=o.enlargeMemory,Fr=o.getTotalMemory,ur=o.abortOnCannotGrowMemory,br=o.invoke_viiiii,Kt=o.invoke_vif,vu=o.invoke_vid,a0=o.invoke_fiff,So=o.invoke_vi,Go=o.invoke_vii,Os=o.invoke_ii,Yo=o.invoke_viddi,Ko=o.invoke_vidd,qt=o.invoke_iiii,_i=o.invoke_diii,eu=o.invoke_di,ai=o.invoke_iid,mr=o.invoke_iii,Xo=o.invoke_viiddi,W0=o.invoke_viiiiii,Lu=o.invoke_dii,V0=o.invoke_i,Hr=o.invoke_iiiiii,To=o.invoke_viiid,Co=o.invoke_viififi,L0=o.invoke_viii,tu=o.invoke_v,Si=o.invoke_viid,ks=o.invoke_idd,Hl=o.invoke_viiii,F0=o._emscripten_asm_const_iiiii,f0=o._emscripten_asm_const_iiidddddd,Pr=o._emscripten_asm_const_iiiid,Ei=o.__nbind_reference_external,G0=o._emscripten_asm_const_iiiiiiii,fi=o._removeAccessorPrefix,Zt=o._typeModule,Ln=o.__nbind_register_pool,Di=o.__decorate,ci=o._llvm_stackrestore,Ht=o.___cxa_atexit,Du=o.__extends,Yi=o.__nbind_get_value_object,Y0=o.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,Ui=o._emscripten_set_main_loop_timing,Wl=o.__nbind_register_primitive,xo=o.__nbind_register_type,ni=o._emscripten_memcpy_big,oo=o.__nbind_register_function,Vl=o.___setErrNo,Ao=o.__nbind_register_class,Ms=o.__nbind_finish,Xn=o._abort,Qo=o._nbind_value,lo=o._llvm_stacksave,b0=o.___syscall54,yl=o._defineHidden,Ro=o._emscripten_set_main_loop,Et=o._emscripten_get_now,Pt=o.__nbind_register_callback_signature,Bn=o._emscripten_asm_const_iiiiii,Ir=o.__nbind_free_external,ji=o._emscripten_asm_const_iiii,Wr=o._emscripten_asm_const_iiididi,wu=o.___syscall6,c0=o._atexit,Ti=o.___syscall140,d0=o.___syscall146,as=w(0);let St=w(0);function so(e){e=e|0;var n=0;return n=m,m=m+e|0,m=m+15&-16,n|0}function Jo(){return m|0}function Gl(e){e=e|0,m=e}function Fu(e,n){e=e|0,n=n|0,m=e,we=n}function fs(e,n){e=e|0,n=n|0,ge||(ge=e,ze=n)}function P0(e){e=e|0,ft=e}function X(){return ft|0}function _e(){var e=0,n=0;pr(8104,8,400)|0,pr(8504,408,540)|0,e=9044,n=e+44|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));p[9088]=0,p[9089]=1,t[2273]=0,t[2274]=948,t[2275]=948,Ht(17,8104,he|0)|0}function Ne(e){e=e|0,ic(e+948|0)}function Me(e){return e=w(e),((cr(e)|0)&2147483647)>>>0>2139095040|0}function dt(e,n,r){e=e|0,n=n|0,r=r|0;e:do if(t[e+(n<<3)+4>>2]|0)e=e+(n<<3)|0;else{if((n|2|0)==3?t[e+60>>2]|0:0){e=e+56|0;break}switch(n|0){case 0:case 2:case 4:case 5:{if(t[e+52>>2]|0){e=e+48|0;break e}break}default:}if(t[e+68>>2]|0){e=e+64|0;break}else{e=(n|1|0)==5?948:r;break}}while(0);return e|0}function Hn(e){e=e|0;var n=0;return n=C_(1e3)|0,Dn(e,(n|0)!=0,2456),t[2276]=(t[2276]|0)+1,pr(n|0,8104,1e3)|0,p[e+2>>0]|0&&(t[n+4>>2]=2,t[n+12>>2]=4),t[n+976>>2]=e,n|0}function Dn(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;l=m,m=m+16|0,u=l,n||(t[u>>2]=r,_l(e,5,3197,u)),m=l}function or(){return Hn(956)|0}function mi(e){e=e|0;var n=0;return n=cn(1e3)|0,Su(n,e),Dn(t[e+976>>2]|0,1,2456),t[2276]=(t[2276]|0)+1,t[n+944>>2]=0,n|0}function Su(e,n){e=e|0,n=n|0;var r=0;pr(e|0,n|0,948)|0,na(e+948|0,n+948|0),r=e+960|0,e=n+960|0,n=r+40|0;do t[r>>2]=t[e>>2],r=r+4|0,e=e+4|0;while((r|0)<(n|0))}function bu(e){e=e|0;var n=0,r=0,u=0,l=0;if(n=e+944|0,r=t[n>>2]|0,r|0&&(Pu(r+948|0,e)|0,t[n>>2]=0),r=mu(e)|0,r|0){n=0;do t[(yi(e,n)|0)+944>>2]=0,n=n+1|0;while((n|0)!=(r|0))}r=e+948|0,u=t[r>>2]|0,l=e+952|0,n=t[l>>2]|0,(n|0)!=(u|0)&&(t[l>>2]=n+(~((n+-4-u|0)>>>2)<<2)),Oo(r),x_(e),t[2276]=(t[2276]|0)+-1}function Pu(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0;u=t[e>>2]|0,D=e+4|0,r=t[D>>2]|0,s=r;e:do if((u|0)==(r|0))l=u,h=4;else for(e=u;;){if((t[e>>2]|0)==(n|0)){l=e,h=4;break e}if(e=e+4|0,(e|0)==(r|0)){e=0;break}}while(0);return(h|0)==4&&((l|0)!=(r|0)?(u=l+4|0,e=s-u|0,n=e>>2,n&&(Iy(l|0,u|0,e|0)|0,r=t[D>>2]|0),e=l+(n<<2)|0,(r|0)==(e|0)||(t[D>>2]=r+(~((r+-4-e|0)>>>2)<<2)),e=1):e=0),e|0}function mu(e){return e=e|0,(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2|0}function yi(e,n){e=e|0,n=n|0;var r=0;return r=t[e+948>>2]|0,(t[e+952>>2]|0)-r>>2>>>0>n>>>0?e=t[r+(n<<2)>>2]|0:e=0,e|0}function Oo(e){e=e|0;var n=0,r=0,u=0,l=0;u=m,m=m+32|0,n=u,l=t[e>>2]|0,r=(t[e+4>>2]|0)-l|0,((t[e+8>>2]|0)-l|0)>>>0>r>>>0&&(l=r>>2,Y(n,l,l,e+8|0),Qr(e,n),Jr(n)),m=u}function Tu(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0;M=mu(e)|0;do if(M|0){if((t[(yi(e,0)|0)+944>>2]|0)==(e|0)){if(!(Pu(e+948|0,n)|0))break;pr(n+400|0,8504,540)|0,t[n+944>>2]=0,Gn(e);break}h=t[(t[e+976>>2]|0)+12>>2]|0,D=e+948|0,S=(h|0)==0,r=0,s=0;do u=t[(t[D>>2]|0)+(s<<2)>>2]|0,(u|0)==(n|0)?Gn(e):(l=mi(u)|0,t[(t[D>>2]|0)+(r<<2)>>2]=l,t[l+944>>2]=e,S||$E[h&15](u,l,e,r),r=r+1|0),s=s+1|0;while((s|0)!=(M|0));if(r>>>0>>0){S=e+948|0,D=e+952|0,h=r,r=t[D>>2]|0;do s=(t[S>>2]|0)+(h<<2)|0,u=s+4|0,l=r-u|0,n=l>>2,n&&(Iy(s|0,u|0,l|0)|0,r=t[D>>2]|0),l=r,u=s+(n<<2)|0,(l|0)!=(u|0)&&(r=l+(~((l+-4-u|0)>>>2)<<2)|0,t[D>>2]=r),h=h+1|0;while((h|0)!=(M|0))}}while(0)}function ao(e){e=e|0;var n=0,r=0,u=0,l=0;Iu(e,(mu(e)|0)==0,2491),Iu(e,(t[e+944>>2]|0)==0,2545),n=e+948|0,r=t[n>>2]|0,u=e+952|0,l=t[u>>2]|0,(l|0)!=(r|0)&&(t[u>>2]=l+(~((l+-4-r|0)>>>2)<<2)),Oo(n),n=e+976|0,r=t[n>>2]|0,pr(e|0,8104,1e3)|0,p[r+2>>0]|0&&(t[e+4>>2]=2,t[e+12>>2]=4),t[n>>2]=r}function Iu(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;l=m,m=m+16|0,u=l,n||(t[u>>2]=r,sr(e,5,3197,u)),m=l}function Oa(){return t[2276]|0}function p0(){var e=0;return e=C_(20)|0,Zs((e|0)!=0,2592),t[2277]=(t[2277]|0)+1,t[e>>2]=t[239],t[e+4>>2]=t[240],t[e+8>>2]=t[241],t[e+12>>2]=t[242],t[e+16>>2]=t[243],e|0}function Zs(e,n){e=e|0,n=n|0;var r=0,u=0;u=m,m=m+16|0,r=u,e||(t[r>>2]=n,sr(0,5,3197,r)),m=u}function K0(e){e=e|0,x_(e),t[2277]=(t[2277]|0)+-1}function $s(e,n){e=e|0,n=n|0;var r=0;n?(Iu(e,(mu(e)|0)==0,2629),r=1):(r=0,n=0),t[e+964>>2]=n,t[e+988>>2]=r}function ka(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,s=u+8|0,l=u+4|0,h=u,t[l>>2]=n,Iu(e,(t[n+944>>2]|0)==0,2709),Iu(e,(t[e+964>>2]|0)==0,2763),cs(e),n=e+948|0,t[h>>2]=(t[n>>2]|0)+(r<<2),t[s>>2]=t[h>>2],w0(n,s,l)|0,t[(t[l>>2]|0)+944>>2]=e,Gn(e),m=u}function cs(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;if(r=mu(e)|0,r|0?(t[(yi(e,0)|0)+944>>2]|0)!=(e|0):0){u=t[(t[e+976>>2]|0)+12>>2]|0,l=e+948|0,s=(u|0)==0,n=0;do h=t[(t[l>>2]|0)+(n<<2)>>2]|0,D=mi(h)|0,t[(t[l>>2]|0)+(n<<2)>>2]=D,t[D+944>>2]=e,s||$E[u&15](h,D,e,n),n=n+1|0;while((n|0)!=(r|0))}}function w0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0;Qe=m,m=m+64|0,P=Qe+52|0,D=Qe+48|0,K=Qe+28|0,Pe=Qe+24|0,Ee=Qe+20|0,ve=Qe,u=t[e>>2]|0,s=u,n=u+((t[n>>2]|0)-s>>2<<2)|0,u=e+4|0,l=t[u>>2]|0,h=e+8|0;do if(l>>>0<(t[h>>2]|0)>>>0){if((n|0)==(l|0)){t[n>>2]=t[r>>2],t[u>>2]=(t[u>>2]|0)+4;break}Ur(e,n,l,n+4|0),n>>>0<=r>>>0&&(r=(t[u>>2]|0)>>>0>r>>>0?r+4|0:r),t[n>>2]=t[r>>2]}else{u=(l-s>>2)+1|0,l=x0(e)|0,l>>>0>>0&&li(e),O=t[e>>2]|0,M=(t[h>>2]|0)-O|0,s=M>>1,Y(ve,M>>2>>>0>>1>>>0?s>>>0>>0?u:s:l,n-O>>2,e+8|0),O=ve+8|0,u=t[O>>2]|0,s=ve+12|0,M=t[s>>2]|0,h=M,S=u;do if((u|0)==(M|0)){if(M=ve+4|0,u=t[M>>2]|0,We=t[ve>>2]|0,l=We,u>>>0<=We>>>0){u=h-l>>1,u=(u|0)==0?1:u,Y(K,u,u>>>2,t[ve+16>>2]|0),t[Pe>>2]=t[M>>2],t[Ee>>2]=t[O>>2],t[D>>2]=t[Pe>>2],t[P>>2]=t[Ee>>2],hi(K,D,P),u=t[ve>>2]|0,t[ve>>2]=t[K>>2],t[K>>2]=u,u=K+4|0,We=t[M>>2]|0,t[M>>2]=t[u>>2],t[u>>2]=We,u=K+8|0,We=t[O>>2]|0,t[O>>2]=t[u>>2],t[u>>2]=We,u=K+12|0,We=t[s>>2]|0,t[s>>2]=t[u>>2],t[u>>2]=We,Jr(K),u=t[O>>2]|0;break}s=u,h=((s-l>>2)+1|0)/-2|0,D=u+(h<<2)|0,l=S-s|0,s=l>>2,s&&(Iy(D|0,u|0,l|0)|0,u=t[M>>2]|0),We=D+(s<<2)|0,t[O>>2]=We,t[M>>2]=u+(h<<2),u=We}while(0);t[u>>2]=t[r>>2],t[O>>2]=(t[O>>2]|0)+4,n=lt(e,ve,n)|0,Jr(ve)}while(0);return m=Qe,n|0}function Gn(e){e=e|0;var n=0;do{if(n=e+984|0,p[n>>0]|0)break;p[n>>0]=1,C[e+504>>2]=w(le),e=t[e+944>>2]|0}while((e|0)!=0)}function ic(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),yt(r))}function ri(e){return e=e|0,t[e+944>>2]|0}function Gr(e){e=e|0,Iu(e,(t[e+964>>2]|0)!=0,2832),Gn(e)}function Yl(e){return e=e|0,(p[e+984>>0]|0)!=0|0}function ea(e,n){e=e|0,n=n|0,MI(e,n,400)|0&&(pr(e|0,n|0,400)|0,Gn(e))}function lf(e){e=e|0;var n=St;return n=w(C[e+44>>2]),e=Me(n)|0,w(e?w(0):n)}function Ns(e){e=e|0;var n=St;return n=w(C[e+48>>2]),Me(n)|0&&(n=p[(t[e+976>>2]|0)+2>>0]|0?w(1):w(0)),w(n)}function Ma(e,n){e=e|0,n=n|0,t[e+980>>2]=n}function Ls(e){return e=e|0,t[e+980>>2]|0}function h0(e,n){e=e|0,n=n|0;var r=0;r=e+4|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function Fs(e){return e=e|0,t[e+4>>2]|0}function Ni(e,n){e=e|0,n=n|0;var r=0;r=e+8|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function B(e){return e=e|0,t[e+8>>2]|0}function z(e,n){e=e|0,n=n|0;var r=0;r=e+12|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function G(e){return e=e|0,t[e+12>>2]|0}function $(e,n){e=e|0,n=n|0;var r=0;r=e+16|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function De(e){return e=e|0,t[e+16>>2]|0}function me(e,n){e=e|0,n=n|0;var r=0;r=e+20|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function xe(e){return e=e|0,t[e+20>>2]|0}function Z(e,n){e=e|0,n=n|0;var r=0;r=e+24|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function ke(e){return e=e|0,t[e+24>>2]|0}function Xe(e,n){e=e|0,n=n|0;var r=0;r=e+28|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function ht(e){return e=e|0,t[e+28>>2]|0}function ie(e,n){e=e|0,n=n|0;var r=0;r=e+32|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function qe(e){return e=e|0,t[e+32>>2]|0}function tt(e,n){e=e|0,n=n|0;var r=0;r=e+36|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function Tt(e){return e=e|0,t[e+36>>2]|0}function kt(e,n){e=e|0,n=w(n);var r=0;r=e+40|0,w(C[r>>2])!=n&&(C[r>>2]=n,Gn(e))}function bt(e,n){e=e|0,n=w(n);var r=0;r=e+44|0,w(C[r>>2])!=n&&(C[r>>2]=n,Gn(e))}function on(e,n){e=e|0,n=w(n);var r=0;r=e+48|0,w(C[r>>2])!=n&&(C[r>>2]=n,Gn(e))}function tn(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+52|0,l=e+56|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function Lt(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+52|0,r=e+56|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Me(n)|0,t[r>>2]=u?3:2,Gn(e))}function gn(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+52|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function lr(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=(s^1)&1,l=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function Qn(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=s?0:2,l=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function _r(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+132+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Cn(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=(s^1)&1,l=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function Ar(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=s?0:2,l=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function v0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+60+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Rr(e,n){e=e|0,n=n|0;var r=0;r=e+60+(n<<3)+4|0,(t[r>>2]|0)!=3&&(C[e+60+(n<<3)>>2]=w(le),t[r>>2]=3,Gn(e))}function nt(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=(s^1)&1,l=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function _t(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=s?0:2,l=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function Ze(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+204+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Ft(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=(s^1)&1,l=e+276+(n<<3)|0,n=e+276+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function nn(e,n){return e=e|0,n=n|0,w(C[e+276+(n<<3)>>2])}function sn(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+348|0,l=e+352|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function Yn(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+348|0,r=e+352|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Me(n)|0,t[r>>2]=u?3:2,Gn(e))}function yr(e){e=e|0;var n=0;n=e+352|0,(t[n>>2]|0)!=3&&(C[e+348>>2]=w(le),t[n>>2]=3,Gn(e))}function nu(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+348|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Cu(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+356|0,l=e+360|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function S0(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+356|0,r=e+360|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Me(n)|0,t[r>>2]=u?3:2,Gn(e))}function X0(e){e=e|0;var n=0;n=e+360|0,(t[n>>2]|0)!=3&&(C[e+356>>2]=w(le),t[n>>2]=3,Gn(e))}function xu(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+356|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function di(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+364|0,l=e+368|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function ko(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=s?0:2,u=e+364|0,l=e+368|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function Zo(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+364|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function sf(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+372|0,l=e+376|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function gl(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=s?0:2,u=e+372|0,l=e+376|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function af(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+372|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Mo(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+380|0,l=e+384|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function ds(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=s?0:2,u=e+380|0,l=e+384|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function bs(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+380|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function No(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+388|0,l=e+392|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function Lo(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=s?0:2,u=e+388|0,l=e+392|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function ps(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+388|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Vu(e,n){e=e|0,n=w(n);var r=0;r=e+396|0,w(C[r>>2])!=n&&(C[r>>2]=n,Gn(e))}function yu(e){return e=e|0,w(C[e+396>>2])}function pi(e){return e=e|0,w(C[e+400>>2])}function T0(e){return e=e|0,w(C[e+404>>2])}function Q0(e){return e=e|0,w(C[e+408>>2])}function Fo(e){return e=e|0,w(C[e+412>>2])}function ta(e){return e=e|0,w(C[e+416>>2])}function Kl(e){return e=e|0,w(C[e+420>>2])}function Ki(e,n){switch(e=e|0,n=n|0,Iu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+424+(n<<2)>>2])}function Yr(e,n){switch(e=e|0,n=n|0,Iu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+448+(n<<2)>>2])}function fo(e,n){switch(e=e|0,n=n|0,Iu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+472+(n<<2)>>2])}function Oi(e,n){e=e|0,n=n|0;var r=0,u=St;return r=t[e+4>>2]|0,(r|0)==(t[n+4>>2]|0)?r?(u=w(C[e>>2]),e=w(jt(w(u-w(C[n>>2]))))>2]=0,t[u+4>>2]=0,t[u+8>>2]=0,Y0(u|0,e|0,n|0,0),sr(e,3,(p[u+11>>0]|0)<0?t[u>>2]|0:u,r),eB(u),m=r}function J0(e,n,r,u){e=w(e),n=w(n),r=r|0,u=u|0;var l=St;e=w(e*n),l=w(YE(e,w(1)));do if(gi(l,w(0))|0)e=w(e-l);else{if(e=w(e-l),gi(l,w(1))|0){e=w(e+w(1));break}if(r){e=w(e+w(1));break}u||(l>w(.5)?l=w(1):(u=gi(l,w(.5))|0,l=w(u?1:0)),e=w(e+l))}while(0);return w(e/n)}function Z0(e,n,r,u,l,s,h,D,S,M,O,P,K){e=e|0,n=w(n),r=r|0,u=w(u),l=l|0,s=w(s),h=h|0,D=w(D),S=w(S),M=w(M),O=w(O),P=w(P),K=K|0;var Pe=0,Ee=St,ve=St,Qe=St,We=St,st=St,Re=St;return S>2]),Ee!=w(0)):0)?(Qe=w(J0(n,Ee,0,0)),We=w(J0(u,Ee,0,0)),ve=w(J0(s,Ee,0,0)),Ee=w(J0(D,Ee,0,0))):(ve=s,Qe=n,Ee=D,We=u),(l|0)==(e|0)?Pe=gi(ve,Qe)|0:Pe=0,(h|0)==(r|0)?K=gi(Ee,We)|0:K=0,((Pe?0:(st=w(n-O),!(Te(e,st,S)|0)))?!(et(e,st,l,S)|0):0)?Pe=Ve(e,st,l,s,S)|0:Pe=1,((K?0:(Re=w(u-P),!(Te(r,Re,M)|0)))?!(et(r,Re,h,M)|0):0)?K=Ve(r,Re,h,D,M)|0:K=1,K=Pe&K),K|0}function Te(e,n,r){return e=e|0,n=w(n),r=w(r),(e|0)==1?e=gi(n,r)|0:e=0,e|0}function et(e,n,r,u){return e=e|0,n=w(n),r=r|0,u=w(u),(e|0)==2&(r|0)==0?n>=u?e=1:e=gi(n,u)|0:e=0,e|0}function Ve(e,n,r,u,l){return e=e|0,n=w(n),r=r|0,u=w(u),l=w(l),(e|0)==2&(r|0)==2&u>n?l<=n?e=1:e=gi(n,l)|0:e=0,e|0}function Gt(e,n,r,u,l,s,h,D,S,M,O){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=s|0,h=w(h),D=w(D),S=S|0,M=M|0,O=O|0;var P=0,K=0,Pe=0,Ee=0,ve=St,Qe=St,We=0,st=0,Re=0,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0,Zi=St,ts=St,ns=St,rs=0,Xs=0;On=m,m=m+160|0,mn=On+152|0,Nn=On+120|0,Lr=On+104|0,Re=On+72|0,Ee=On+56|0,Qt=On+8|0,st=On,Fe=(t[2279]|0)+1|0,t[2279]=Fe,hr=e+984|0,((p[hr>>0]|0)!=0?(t[e+512>>2]|0)!=(t[2278]|0):0)?We=4:(t[e+516>>2]|0)==(u|0)?kr=0:We=4,(We|0)==4&&(t[e+520>>2]=0,t[e+924>>2]=-1,t[e+928>>2]=-1,C[e+932>>2]=w(-1),C[e+936>>2]=w(-1),kr=1);e:do if(t[e+964>>2]|0)if(ve=w(Yt(e,2,h)),Qe=w(Yt(e,0,h)),P=e+916|0,ns=w(C[P>>2]),ts=w(C[e+920>>2]),Zi=w(C[e+932>>2]),Z0(l,n,s,r,t[e+924>>2]|0,ns,t[e+928>>2]|0,ts,Zi,w(C[e+936>>2]),ve,Qe,O)|0)We=22;else if(Pe=t[e+520>>2]|0,!Pe)We=21;else for(K=0;;){if(P=e+524+(K*24|0)|0,Zi=w(C[P>>2]),ts=w(C[e+524+(K*24|0)+4>>2]),ns=w(C[e+524+(K*24|0)+16>>2]),Z0(l,n,s,r,t[e+524+(K*24|0)+8>>2]|0,Zi,t[e+524+(K*24|0)+12>>2]|0,ts,ns,w(C[e+524+(K*24|0)+20>>2]),ve,Qe,O)|0){We=22;break e}if(K=K+1|0,K>>>0>=Pe>>>0){We=21;break}}else{if(S){if(P=e+916|0,!(gi(w(C[P>>2]),n)|0)){We=21;break}if(!(gi(w(C[e+920>>2]),r)|0)){We=21;break}if((t[e+924>>2]|0)!=(l|0)){We=21;break}P=(t[e+928>>2]|0)==(s|0)?P:0,We=22;break}if(Pe=t[e+520>>2]|0,!Pe)We=21;else for(K=0;;){if(P=e+524+(K*24|0)|0,((gi(w(C[P>>2]),n)|0?gi(w(C[e+524+(K*24|0)+4>>2]),r)|0:0)?(t[e+524+(K*24|0)+8>>2]|0)==(l|0):0)?(t[e+524+(K*24|0)+12>>2]|0)==(s|0):0){We=22;break e}if(K=K+1|0,K>>>0>=Pe>>>0){We=21;break}}}while(0);do if((We|0)==21)p[11697]|0?(P=0,We=28):(P=0,We=31);else if((We|0)==22){if(K=(p[11697]|0)!=0,!((P|0)!=0&(kr^1)))if(K){We=28;break}else{We=31;break}Ee=P+16|0,t[e+908>>2]=t[Ee>>2],Pe=P+20|0,t[e+912>>2]=t[Pe>>2],(p[11698]|0)==0|K^1||(t[st>>2]=Br(Fe)|0,t[st+4>>2]=Fe,sr(e,4,2972,st),K=t[e+972>>2]|0,K|0&&M1[K&127](e),l=wn(l,S)|0,s=wn(s,S)|0,Xs=+w(C[Ee>>2]),rs=+w(C[Pe>>2]),t[Qt>>2]=l,t[Qt+4>>2]=s,U[Qt+8>>3]=+n,U[Qt+16>>3]=+r,U[Qt+24>>3]=Xs,U[Qt+32>>3]=rs,t[Qt+40>>2]=M,sr(e,4,2989,Qt))}while(0);return(We|0)==28&&(K=Br(Fe)|0,t[Ee>>2]=K,t[Ee+4>>2]=Fe,t[Ee+8>>2]=kr?3047:11699,sr(e,4,3038,Ee),K=t[e+972>>2]|0,K|0&&M1[K&127](e),Qt=wn(l,S)|0,We=wn(s,S)|0,t[Re>>2]=Qt,t[Re+4>>2]=We,U[Re+8>>3]=+n,U[Re+16>>3]=+r,t[Re+24>>2]=M,sr(e,4,3049,Re),We=31),(We|0)==31&&(fu(e,n,r,u,l,s,h,D,S,O),p[11697]|0&&(K=t[2279]|0,Qt=Br(K)|0,t[Lr>>2]=Qt,t[Lr+4>>2]=K,t[Lr+8>>2]=kr?3047:11699,sr(e,4,3083,Lr),K=t[e+972>>2]|0,K|0&&M1[K&127](e),Qt=wn(l,S)|0,Lr=wn(s,S)|0,rs=+w(C[e+908>>2]),Xs=+w(C[e+912>>2]),t[Nn>>2]=Qt,t[Nn+4>>2]=Lr,U[Nn+8>>3]=rs,U[Nn+16>>3]=Xs,t[Nn+24>>2]=M,sr(e,4,3092,Nn)),t[e+516>>2]=u,P||(K=e+520|0,P=t[K>>2]|0,(P|0)==16&&(p[11697]|0&&sr(e,4,3124,mn),t[K>>2]=0,P=0),S?P=e+916|0:(t[K>>2]=P+1,P=e+524+(P*24|0)|0),C[P>>2]=n,C[P+4>>2]=r,t[P+8>>2]=l,t[P+12>>2]=s,t[P+16>>2]=t[e+908>>2],t[P+20>>2]=t[e+912>>2],P=0)),S&&(t[e+416>>2]=t[e+908>>2],t[e+420>>2]=t[e+912>>2],p[e+985>>0]=1,p[hr>>0]=0),t[2279]=(t[2279]|0)+-1,t[e+512>>2]=t[2278],m=On,kr|(P|0)==0|0}function Yt(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return u=w(Li(e,n,r)),w(u+w(A0(e,n,r)))}function sr(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=m,m=m+16|0,l=s,t[l>>2]=u,e?u=t[e+976>>2]|0:u=0,Ps(u,e,n,r,l),m=s}function Br(e){return e=e|0,(e>>>0>60?3201:3201+(60-e)|0)|0}function wn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+32|0,r=l+12|0,u=l,t[r>>2]=t[254],t[r+4>>2]=t[255],t[r+8>>2]=t[256],t[u>>2]=t[257],t[u+4>>2]=t[258],t[u+8>>2]=t[259],(e|0)>2?e=11699:e=t[(n?u:r)+(e<<2)>>2]|0,m=l,e|0}function fu(e,n,r,u,l,s,h,D,S,M){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=s|0,h=w(h),D=w(D),S=S|0,M=M|0;var O=0,P=0,K=0,Pe=0,Ee=St,ve=St,Qe=St,We=St,st=St,Re=St,Fe=St,Qt=0,Lr=0,Nn=0,mn=St,hr=St,kr=0,On=St,Zi=0,ts=0,ns=0,rs=0,Xs=0,$2=0,ed=0,Za=0,td=0,Oc=0,kc=0,nd=0,rd=0,id=0,si=0,$a=0,ud=0,zf=0,od=St,ld=St,Mc=St,Nc=St,qf=St,Il=0,Aa=0,As=0,ef=0,L1=0,F1=St,Lc=St,b1=St,P1=St,Bl=St,vl=St,tf=0,lu=St,I1=St,is=St,Hf=St,us=St,Wf=St,B1=0,U1=0,Vf=St,Ul=St,nf=0,j1=0,z1=0,q1=0,gr=St,Mu=0,ml=0,os=0,jl=0,Tr=0,Fn=0,rf=0,hn=St,H1=0,u0=0;rf=m,m=m+16|0,Il=rf+12|0,Aa=rf+8|0,As=rf+4|0,ef=rf,Iu(e,(l|0)==0|(Me(n)|0)^1,3326),Iu(e,(s|0)==0|(Me(r)|0)^1,3406),ml=El(e,u)|0,t[e+496>>2]=ml,Tr=I0(2,ml)|0,Fn=I0(0,ml)|0,C[e+440>>2]=w(Li(e,Tr,h)),C[e+444>>2]=w(A0(e,Tr,h)),C[e+428>>2]=w(Li(e,Fn,h)),C[e+436>>2]=w(A0(e,Fn,h)),C[e+464>>2]=w(R0(e,Tr)),C[e+468>>2]=w(co(e,Tr)),C[e+452>>2]=w(R0(e,Fn)),C[e+460>>2]=w(co(e,Fn)),C[e+488>>2]=w(Ru(e,Tr,h)),C[e+492>>2]=w(Yu(e,Tr,h)),C[e+476>>2]=w(Ru(e,Fn,h)),C[e+484>>2]=w(Yu(e,Fn,h));do if(t[e+964>>2]|0)Xl(e,n,r,l,s,h,D);else{if(os=e+948|0,jl=(t[e+952>>2]|0)-(t[os>>2]|0)>>2,!jl){hs(e,n,r,l,s,h,D);break}if(S?0:ra(e,n,r,l,s,h,D)|0)break;cs(e),$a=e+508|0,p[$a>>0]=0,Tr=I0(t[e+4>>2]|0,ml)|0,Fn=df(Tr,ml)|0,Mu=Fi(Tr)|0,ud=t[e+8>>2]|0,j1=e+28|0,zf=(t[j1>>2]|0)!=0,us=Mu?h:D,Vf=Mu?D:h,od=w(Ku(e,Tr,h)),ld=w(vs(e,Tr,h)),Ee=w(Ku(e,Fn,h)),Wf=w(wr(e,Tr,h)),Ul=w(wr(e,Fn,h)),Nn=Mu?l:s,nf=Mu?s:l,gr=Mu?Wf:Ul,st=Mu?Ul:Wf,Hf=w(Yt(e,2,h)),We=w(Yt(e,0,h)),ve=w(w(Sn(e+364|0,h))-gr),Qe=w(w(Sn(e+380|0,h))-gr),Re=w(w(Sn(e+372|0,D))-st),Fe=w(w(Sn(e+388|0,D))-st),Mc=Mu?ve:Re,Nc=Mu?Qe:Fe,Hf=w(n-Hf),n=w(Hf-gr),Me(n)|0?gr=n:gr=w(Eu(w(Yp(n,Qe)),ve)),I1=w(r-We),n=w(I1-st),Me(n)|0?is=n:is=w(Eu(w(Yp(n,Fe)),Re)),ve=Mu?gr:is,lu=Mu?is:gr;e:do if((Nn|0)==1)for(u=0,P=0;;){if(O=yi(e,P)|0,!u)(w(Xi(O))>w(0)?w(ru(O))>w(0):0)?u=O:u=0;else if($0(O)|0){Pe=0;break e}if(P=P+1|0,P>>>0>=jl>>>0){Pe=u;break}}else Pe=0;while(0);Qt=Pe+500|0,Lr=Pe+504|0,u=0,O=0,n=w(0),K=0;do{if(P=t[(t[os>>2]|0)+(K<<2)>>2]|0,(t[P+36>>2]|0)==1)Ci(P),p[P+985>>0]=1,p[P+984>>0]=0;else{Vr(P),S&&C0(P,El(P,ml)|0,ve,lu,gr);do if((t[P+24>>2]|0)!=1)if((P|0)==(Pe|0)){t[Qt>>2]=t[2278],C[Lr>>2]=w(0);break}else{Xr(e,P,gr,l,is,gr,is,s,ml,M);break}else O|0&&(t[O+960>>2]=P),t[P+960>>2]=0,O=P,u=(u|0)==0?P:u;while(0);vl=w(C[P+504>>2]),n=w(n+w(vl+w(Yt(P,Tr,gr))))}K=K+1|0}while((K|0)!=(jl|0));for(ns=n>ve,tf=zf&((Nn|0)==2&ns)?1:Nn,Zi=(nf|0)==1,Xs=Zi&(S^1),$2=(tf|0)==1,ed=(tf|0)==2,Za=976+(Tr<<2)|0,td=(nf|2|0)==2,id=Zi&(zf^1),Oc=1040+(Fn<<2)|0,kc=1040+(Tr<<2)|0,nd=976+(Fn<<2)|0,rd=(nf|0)!=1,ns=zf&((Nn|0)!=0&ns),ts=e+976|0,Zi=Zi^1,n=ve,kr=0,rs=0,vl=w(0),qf=w(0);;){e:do if(kr>>>0>>0)for(Lr=t[os>>2]|0,K=0,Fe=w(0),Re=w(0),Qe=w(0),ve=w(0),P=0,O=0,Pe=kr;;){if(Qt=t[Lr+(Pe<<2)>>2]|0,(t[Qt+36>>2]|0)!=1?(t[Qt+940>>2]=rs,(t[Qt+24>>2]|0)!=1):0){if(We=w(Yt(Qt,Tr,gr)),si=t[Za>>2]|0,r=w(Sn(Qt+380+(si<<3)|0,us)),st=w(C[Qt+504>>2]),r=w(Yp(r,st)),r=w(Eu(w(Sn(Qt+364+(si<<3)|0,us)),r)),zf&(K|0)!=0&w(We+w(Re+r))>n){s=K,We=Fe,Nn=Pe;break e}We=w(We+r),r=w(Re+We),We=w(Fe+We),$0(Qt)|0&&(Qe=w(Qe+w(Xi(Qt))),ve=w(ve-w(st*w(ru(Qt))))),O|0&&(t[O+960>>2]=Qt),t[Qt+960>>2]=0,K=K+1|0,O=Qt,P=(P|0)==0?Qt:P}else We=Fe,r=Re;if(Pe=Pe+1|0,Pe>>>0>>0)Fe=We,Re=r;else{s=K,Nn=Pe;break}}else s=0,We=w(0),Qe=w(0),ve=w(0),P=0,Nn=kr;while(0);si=Qe>w(0)&Qew(0)&veNc&((Me(Nc)|0)^1))n=Nc,si=51;else if(p[(t[ts>>2]|0)+3>>0]|0)si=51;else{if(mn!=w(0)?w(Xi(e))!=w(0):0){si=53;break}n=We,si=53}while(0);if((si|0)==51&&(si=0,Me(n)|0?si=53:(hr=w(n-We),On=n)),(si|0)==53&&(si=0,We>2]|0,Pe=hrw(0),Re=w(hr/mn),Qe=w(0),We=w(0),n=w(0),O=P;do r=w(Sn(O+380+(K<<3)|0,us)),ve=w(Sn(O+364+(K<<3)|0,us)),ve=w(Yp(r,w(Eu(ve,w(C[O+504>>2]))))),Pe?(r=w(ve*w(ru(O))),(r!=w(-0)?(hn=w(ve-w(st*r)),F1=w(Wn(O,Tr,hn,On,gr)),hn!=F1):0)&&(Qe=w(Qe-w(F1-ve)),n=w(n+r))):((Qt?(Lc=w(Xi(O)),Lc!=w(0)):0)?(hn=w(ve+w(Re*Lc)),b1=w(Wn(O,Tr,hn,On,gr)),hn!=b1):0)&&(Qe=w(Qe-w(b1-ve)),We=w(We-Lc)),O=t[O+960>>2]|0;while((O|0)!=0);if(n=w(Fe+n),ve=w(hr+Qe),L1)n=w(0);else{st=w(mn+We),Pe=t[Za>>2]|0,Qt=vew(0),st=w(ve/st),n=w(0);do{hn=w(Sn(P+380+(Pe<<3)|0,us)),Qe=w(Sn(P+364+(Pe<<3)|0,us)),Qe=w(Yp(hn,w(Eu(Qe,w(C[P+504>>2]))))),Qt?(hn=w(Qe*w(ru(P))),ve=w(-hn),hn!=w(-0)?(hn=w(Re*ve),ve=w(Wn(P,Tr,w(Qe+(Lr?ve:hn)),On,gr))):ve=Qe):(K?(P1=w(Xi(P)),P1!=w(0)):0)?ve=w(Wn(P,Tr,w(Qe+w(st*P1)),On,gr)):ve=Qe,n=w(n-w(ve-Qe)),We=w(Yt(P,Tr,gr)),r=w(Yt(P,Fn,gr)),ve=w(ve+We),C[Aa>>2]=ve,t[ef>>2]=1,Qe=w(C[P+396>>2]);e:do if(Me(Qe)|0){O=Me(lu)|0;do if(!O){if(ns|(Bu(P,Fn,lu)|0|Zi)||(Xu(e,P)|0)!=4||(t[(m0(P,Fn)|0)+4>>2]|0)==3||(t[(y0(P,Fn)|0)+4>>2]|0)==3)break;C[Il>>2]=lu,t[As>>2]=1;break e}while(0);if(Bu(P,Fn,lu)|0){O=t[P+992+(t[nd>>2]<<2)>>2]|0,hn=w(r+w(Sn(O,lu))),C[Il>>2]=hn,O=rd&(t[O+4>>2]|0)==2,t[As>>2]=((Me(hn)|0|O)^1)&1;break}else{C[Il>>2]=lu,t[As>>2]=O?0:2;break}}else hn=w(ve-We),mn=w(hn/Qe),hn=w(Qe*hn),t[As>>2]=1,C[Il>>2]=w(r+(Mu?mn:hn));while(0);kn(P,Tr,On,gr,ef,Aa),kn(P,Fn,lu,gr,As,Il);do if(Bu(P,Fn,lu)|0?0:(Xu(e,P)|0)==4){if((t[(m0(P,Fn)|0)+4>>2]|0)==3){O=0;break}O=(t[(y0(P,Fn)|0)+4>>2]|0)!=3}else O=0;while(0);hn=w(C[Aa>>2]),mn=w(C[Il>>2]),H1=t[ef>>2]|0,u0=t[As>>2]|0,Gt(P,Mu?hn:mn,Mu?mn:hn,ml,Mu?H1:u0,Mu?u0:H1,gr,is,S&(O^1),3488,M)|0,p[$a>>0]=p[$a>>0]|p[P+508>>0],P=t[P+960>>2]|0}while((P|0)!=0)}}else n=w(0);if(n=w(hr+n),u0=n>0]=u0|k[$a>>0],ed&n>w(0)?(O=t[Za>>2]|0,((t[e+364+(O<<3)+4>>2]|0)!=0?(Bl=w(Sn(e+364+(O<<3)|0,us)),Bl>=w(0)):0)?ve=w(Eu(w(0),w(Bl-w(On-n)))):ve=w(0)):ve=n,Qt=kr>>>0>>0,Qt){Pe=t[os>>2]|0,K=kr,O=0;do P=t[Pe+(K<<2)>>2]|0,t[P+24>>2]|0||(O=((t[(m0(P,Tr)|0)+4>>2]|0)==3&1)+O|0,O=O+((t[(y0(P,Tr)|0)+4>>2]|0)==3&1)|0),K=K+1|0;while((K|0)!=(Nn|0));O?(We=w(0),r=w(0)):si=101}else si=101;e:do if((si|0)==101)switch(si=0,ud|0){case 1:{O=0,We=w(ve*w(.5)),r=w(0);break e}case 2:{O=0,We=ve,r=w(0);break e}case 3:{if(s>>>0<=1){O=0,We=w(0),r=w(0);break e}r=w((s+-1|0)>>>0),O=0,We=w(0),r=w(w(Eu(ve,w(0)))/r);break e}case 5:{r=w(ve/w((s+1|0)>>>0)),O=0,We=r;break e}case 4:{r=w(ve/w(s>>>0)),O=0,We=w(r*w(.5));break e}default:{O=0,We=w(0),r=w(0);break e}}while(0);if(n=w(od+We),Qt){Qe=w(ve/w(O|0)),K=t[os>>2]|0,P=kr,ve=w(0);do{O=t[K+(P<<2)>>2]|0;e:do if((t[O+36>>2]|0)!=1){switch(t[O+24>>2]|0){case 1:{if(se(O,Tr)|0){if(!S)break e;hn=w(re(O,Tr,On)),hn=w(hn+w(R0(e,Tr))),hn=w(hn+w(Li(O,Tr,gr))),C[O+400+(t[kc>>2]<<2)>>2]=hn;break e}break}case 0:if(u0=(t[(m0(O,Tr)|0)+4>>2]|0)==3,hn=w(Qe+n),n=u0?hn:n,S&&(u0=O+400+(t[kc>>2]<<2)|0,C[u0>>2]=w(n+w(C[u0>>2]))),u0=(t[(y0(O,Tr)|0)+4>>2]|0)==3,hn=w(Qe+n),n=u0?hn:n,Xs){hn=w(r+w(Yt(O,Tr,gr))),ve=lu,n=w(n+w(hn+w(C[O+504>>2])));break e}else{n=w(n+w(r+w(Le(O,Tr,gr)))),ve=w(Eu(ve,w(Le(O,Fn,gr))));break e}default:}S&&(hn=w(We+w(R0(e,Tr))),u0=O+400+(t[kc>>2]<<2)|0,C[u0>>2]=w(hn+w(C[u0>>2])))}while(0);P=P+1|0}while((P|0)!=(Nn|0))}else ve=w(0);if(r=w(ld+n),td?We=w(w(Wn(e,Fn,w(Ul+ve),Vf,h))-Ul):We=lu,Qe=w(w(Wn(e,Fn,w(Ul+(id?lu:ve)),Vf,h))-Ul),Qt&S){P=kr;do{K=t[(t[os>>2]|0)+(P<<2)>>2]|0;do if((t[K+36>>2]|0)!=1){if((t[K+24>>2]|0)==1){if(se(K,Fn)|0){if(hn=w(re(K,Fn,lu)),hn=w(hn+w(R0(e,Fn))),hn=w(hn+w(Li(K,Fn,gr))),O=t[Oc>>2]|0,C[K+400+(O<<2)>>2]=hn,!(Me(hn)|0))break}else O=t[Oc>>2]|0;hn=w(R0(e,Fn)),C[K+400+(O<<2)>>2]=w(hn+w(Li(K,Fn,gr)));break}O=Xu(e,K)|0;do if((O|0)==4){if((t[(m0(K,Fn)|0)+4>>2]|0)==3){si=139;break}if((t[(y0(K,Fn)|0)+4>>2]|0)==3){si=139;break}if(Bu(K,Fn,lu)|0){n=Ee;break}H1=t[K+908+(t[Za>>2]<<2)>>2]|0,t[Il>>2]=H1,n=w(C[K+396>>2]),u0=Me(n)|0,ve=(t[W>>2]=H1,w(C[W>>2])),u0?n=Qe:(hr=w(Yt(K,Fn,gr)),hn=w(ve/n),n=w(n*ve),n=w(hr+(Mu?hn:n))),C[Aa>>2]=n,C[Il>>2]=w(w(Yt(K,Tr,gr))+ve),t[As>>2]=1,t[ef>>2]=1,kn(K,Tr,On,gr,As,Il),kn(K,Fn,lu,gr,ef,Aa),n=w(C[Il>>2]),hr=w(C[Aa>>2]),hn=Mu?n:hr,n=Mu?hr:n,u0=((Me(hn)|0)^1)&1,Gt(K,hn,n,ml,u0,((Me(n)|0)^1)&1,gr,is,1,3493,M)|0,n=Ee}else si=139;while(0);e:do if((si|0)==139){si=0,n=w(We-w(Le(K,Fn,gr)));do if((t[(m0(K,Fn)|0)+4>>2]|0)==3){if((t[(y0(K,Fn)|0)+4>>2]|0)!=3)break;n=w(Ee+w(Eu(w(0),w(n*w(.5)))));break e}while(0);if((t[(y0(K,Fn)|0)+4>>2]|0)==3){n=Ee;break}if((t[(m0(K,Fn)|0)+4>>2]|0)==3){n=w(Ee+w(Eu(w(0),n)));break}switch(O|0){case 1:{n=Ee;break e}case 2:{n=w(Ee+w(n*w(.5)));break e}default:{n=w(Ee+n);break e}}}while(0);hn=w(vl+n),u0=K+400+(t[Oc>>2]<<2)|0,C[u0>>2]=w(hn+w(C[u0>>2]))}while(0);P=P+1|0}while((P|0)!=(Nn|0))}if(vl=w(vl+Qe),qf=w(Eu(qf,r)),s=rs+1|0,Nn>>>0>=jl>>>0)break;n=On,kr=Nn,rs=s}do if(S){if(O=s>>>0>1,O?0:!(Ae(e)|0))break;if(!(Me(lu)|0)){n=w(lu-vl);e:do switch(t[e+12>>2]|0){case 3:{Ee=w(Ee+n),Re=w(0);break}case 2:{Ee=w(Ee+w(n*w(.5))),Re=w(0);break}case 4:{lu>vl?Re=w(n/w(s>>>0)):Re=w(0);break}case 7:if(lu>vl){Ee=w(Ee+w(n/w(s<<1>>>0))),Re=w(n/w(s>>>0)),Re=O?Re:w(0);break e}else{Ee=w(Ee+w(n*w(.5))),Re=w(0);break e}case 6:{Re=w(n/w(rs>>>0)),Re=lu>vl&O?Re:w(0);break}default:Re=w(0)}while(0);if(s|0)for(Qt=1040+(Fn<<2)|0,Lr=976+(Fn<<2)|0,Pe=0,P=0;;){e:do if(P>>>0>>0)for(ve=w(0),Qe=w(0),n=w(0),K=P;;){O=t[(t[os>>2]|0)+(K<<2)>>2]|0;do if((t[O+36>>2]|0)!=1?(t[O+24>>2]|0)==0:0){if((t[O+940>>2]|0)!=(Pe|0))break e;if(ot(O,Fn)|0&&(hn=w(C[O+908+(t[Lr>>2]<<2)>>2]),n=w(Eu(n,w(hn+w(Yt(O,Fn,gr)))))),(Xu(e,O)|0)!=5)break;Bl=w(vt(O)),Bl=w(Bl+w(Li(O,0,gr))),hn=w(C[O+912>>2]),hn=w(w(hn+w(Yt(O,0,gr)))-Bl),Bl=w(Eu(Qe,Bl)),hn=w(Eu(ve,hn)),ve=hn,Qe=Bl,n=w(Eu(n,w(Bl+hn)))}while(0);if(O=K+1|0,O>>>0>>0)K=O;else{K=O;break}}else Qe=w(0),n=w(0),K=P;while(0);if(st=w(Re+n),r=Ee,Ee=w(Ee+st),P>>>0>>0){We=w(r+Qe),O=P;do{P=t[(t[os>>2]|0)+(O<<2)>>2]|0;e:do if((t[P+36>>2]|0)!=1?(t[P+24>>2]|0)==0:0)switch(Xu(e,P)|0){case 1:{hn=w(r+w(Li(P,Fn,gr))),C[P+400+(t[Qt>>2]<<2)>>2]=hn;break e}case 3:{hn=w(w(Ee-w(A0(P,Fn,gr)))-w(C[P+908+(t[Lr>>2]<<2)>>2])),C[P+400+(t[Qt>>2]<<2)>>2]=hn;break e}case 2:{hn=w(r+w(w(st-w(C[P+908+(t[Lr>>2]<<2)>>2]))*w(.5))),C[P+400+(t[Qt>>2]<<2)>>2]=hn;break e}case 4:{if(hn=w(r+w(Li(P,Fn,gr))),C[P+400+(t[Qt>>2]<<2)>>2]=hn,Bu(P,Fn,lu)|0||(Mu?(ve=w(C[P+908>>2]),n=w(ve+w(Yt(P,Tr,gr))),Qe=st):(Qe=w(C[P+912>>2]),Qe=w(Qe+w(Yt(P,Fn,gr))),n=st,ve=w(C[P+908>>2])),gi(n,ve)|0?gi(Qe,w(C[P+912>>2]))|0:0))break e;Gt(P,n,Qe,ml,1,1,gr,is,1,3501,M)|0;break e}case 5:{C[P+404>>2]=w(w(We-w(vt(P)))+w(re(P,0,lu)));break e}default:break e}while(0);O=O+1|0}while((O|0)!=(K|0))}if(Pe=Pe+1|0,(Pe|0)==(s|0))break;P=K}}}while(0);if(C[e+908>>2]=w(Wn(e,2,Hf,h,h)),C[e+912>>2]=w(Wn(e,0,I1,D,h)),((tf|0)!=0?(B1=t[e+32>>2]|0,U1=(tf|0)==2,!(U1&(B1|0)!=2)):0)?U1&(B1|0)==2&&(n=w(Wf+On),n=w(Eu(w(Yp(n,w(Xt(e,Tr,qf,us)))),Wf)),si=198):(n=w(Wn(e,Tr,qf,us,h)),si=198),(si|0)==198&&(C[e+908+(t[976+(Tr<<2)>>2]<<2)>>2]=n),((nf|0)!=0?(z1=t[e+32>>2]|0,q1=(nf|0)==2,!(q1&(z1|0)!=2)):0)?q1&(z1|0)==2&&(n=w(Ul+lu),n=w(Eu(w(Yp(n,w(Xt(e,Fn,w(Ul+vl),Vf)))),Ul)),si=204):(n=w(Wn(e,Fn,w(Ul+vl),Vf,h)),si=204),(si|0)==204&&(C[e+908+(t[976+(Fn<<2)>>2]<<2)>>2]=n),S){if((t[j1>>2]|0)==2){P=976+(Fn<<2)|0,K=1040+(Fn<<2)|0,O=0;do Pe=yi(e,O)|0,t[Pe+24>>2]|0||(H1=t[P>>2]|0,hn=w(C[e+908+(H1<<2)>>2]),u0=Pe+400+(t[K>>2]<<2)|0,hn=w(hn-w(C[u0>>2])),C[u0>>2]=w(hn-w(C[Pe+908+(H1<<2)>>2]))),O=O+1|0;while((O|0)!=(jl|0))}if(u|0){O=Mu?tf:l;do xn(e,u,gr,O,is,ml,M),u=t[u+960>>2]|0;while((u|0)!=0)}if(O=(Tr|2|0)==3,P=(Fn|2|0)==3,O|P){u=0;do K=t[(t[os>>2]|0)+(u<<2)>>2]|0,(t[K+36>>2]|0)!=1&&(O&&_n(e,K,Tr),P&&_n(e,K,Fn)),u=u+1|0;while((u|0)!=(jl|0))}}}while(0);m=rf}function Gu(e,n){e=e|0,n=w(n);var r=0;Dn(e,n>=w(0),3147),r=n==w(0),C[e+4>>2]=r?w(0):n}function Kr(e,n,r,u){e=e|0,n=w(n),r=w(r),u=u|0;var l=St,s=St,h=0,D=0,S=0;t[2278]=(t[2278]|0)+1,Vr(e),Bu(e,2,n)|0?(l=w(Sn(t[e+992>>2]|0,n)),S=1,l=w(l+w(Yt(e,2,n)))):(l=w(Sn(e+380|0,n)),l>=w(0)?S=2:(S=((Me(n)|0)^1)&1,l=n)),Bu(e,0,r)|0?(s=w(Sn(t[e+996>>2]|0,r)),D=1,s=w(s+w(Yt(e,0,n)))):(s=w(Sn(e+388|0,r)),s>=w(0)?D=2:(D=((Me(r)|0)^1)&1,s=r)),h=e+976|0,(Gt(e,l,s,u,S,D,n,r,1,3189,t[h>>2]|0)|0?(C0(e,t[e+496>>2]|0,n,r,n),Au(e,w(C[(t[h>>2]|0)+4>>2]),w(0),w(0)),p[11696]|0):0)&&ff(e,7)}function Vr(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;D=m,m=m+32|0,h=D+24|0,s=D+16|0,u=D+8|0,l=D,r=0;do n=e+380+(r<<3)|0,((t[e+380+(r<<3)+4>>2]|0)!=0?(S=n,M=t[S+4>>2]|0,O=u,t[O>>2]=t[S>>2],t[O+4>>2]=M,O=e+364+(r<<3)|0,M=t[O+4>>2]|0,S=l,t[S>>2]=t[O>>2],t[S+4>>2]=M,t[s>>2]=t[u>>2],t[s+4>>2]=t[u+4>>2],t[h>>2]=t[l>>2],t[h+4>>2]=t[l+4>>2],Oi(s,h)|0):0)||(n=e+348+(r<<3)|0),t[e+992+(r<<2)>>2]=n,r=r+1|0;while((r|0)!=2);m=D}function Bu(e,n,r){e=e|0,n=n|0,r=w(r);var u=0;switch(e=t[e+992+(t[976+(n<<2)>>2]<<2)>>2]|0,t[e+4>>2]|0){case 0:case 3:{e=0;break}case 1:{w(C[e>>2])>2])>2]|0){case 2:{n=w(w(w(C[e>>2])*n)/w(100));break}case 1:{n=w(C[e>>2]);break}default:n=w(le)}return w(n)}function C0(e,n,r,u,l){e=e|0,n=n|0,r=w(r),u=w(u),l=w(l);var s=0,h=St;n=t[e+944>>2]|0?n:1,s=I0(t[e+4>>2]|0,n)|0,n=df(s,n)|0,r=w(Sr(e,s,r)),u=w(Sr(e,n,u)),h=w(r+w(Li(e,s,l))),C[e+400+(t[1040+(s<<2)>>2]<<2)>>2]=h,r=w(r+w(A0(e,s,l))),C[e+400+(t[1e3+(s<<2)>>2]<<2)>>2]=r,r=w(u+w(Li(e,n,l))),C[e+400+(t[1040+(n<<2)>>2]<<2)>>2]=r,l=w(u+w(A0(e,n,l))),C[e+400+(t[1e3+(n<<2)>>2]<<2)>>2]=l}function Au(e,n,r,u){e=e|0,n=w(n),r=w(r),u=w(u);var l=0,s=0,h=St,D=St,S=0,M=0,O=St,P=0,K=St,Pe=St,Ee=St,ve=St;if(n!=w(0)&&(l=e+400|0,ve=w(C[l>>2]),s=e+404|0,Ee=w(C[s>>2]),P=e+416|0,Pe=w(C[P>>2]),M=e+420|0,h=w(C[M>>2]),K=w(ve+r),O=w(Ee+u),u=w(K+Pe),D=w(O+h),S=(t[e+988>>2]|0)==1,C[l>>2]=w(J0(ve,n,0,S)),C[s>>2]=w(J0(Ee,n,0,S)),r=w(YE(w(Pe*n),w(1))),gi(r,w(0))|0?s=0:s=(gi(r,w(1))|0)^1,r=w(YE(w(h*n),w(1))),gi(r,w(0))|0?l=0:l=(gi(r,w(1))|0)^1,ve=w(J0(u,n,S&s,S&(s^1))),C[P>>2]=w(ve-w(J0(K,n,0,S))),ve=w(J0(D,n,S&l,S&(l^1))),C[M>>2]=w(ve-w(J0(O,n,0,S))),s=(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2,s|0)){l=0;do Au(yi(e,l)|0,n,K,O),l=l+1|0;while((l|0)!=(s|0))}}function ei(e,n,r,u,l){switch(e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,r|0){case 5:case 0:{e=F8(t[489]|0,u,l)|0;break}default:e=QI(u,l)|0}return e|0}function _l(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;l=m,m=m+16|0,s=l,t[s>>2]=u,Ps(e,0,n,r,s),m=l}function Ps(e,n,r,u,l){if(e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,e=e|0?e:956,tS[t[e+8>>2]&1](e,n,r,u,l)|0,(r|0)==5)Xn();else return}function Uu(e,n,r){e=e|0,n=n|0,r=r|0,p[e+n>>0]=r&1}function na(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(zi(e,u),Is(e,t[n>>2]|0,t[r>>2]|0,u))}function zi(e,n){e=e|0,n=n|0;var r=0;if((x0(e)|0)>>>0>>0&&li(e),n>>>0>1073741823)Xn();else{r=cn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function Is(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(pr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function x0(e){return e=e|0,1073741823}function Li(e,n,r){return e=e|0,n=n|0,r=w(r),(Fi(n)|0?(t[e+96>>2]|0)!=0:0)?e=e+92|0:e=dt(e+60|0,t[1040+(n<<2)>>2]|0,992)|0,w($o(e,r))}function A0(e,n,r){return e=e|0,n=n|0,r=w(r),(Fi(n)|0?(t[e+104>>2]|0)!=0:0)?e=e+100|0:e=dt(e+60|0,t[1e3+(n<<2)>>2]|0,992)|0,w($o(e,r))}function Fi(e){return e=e|0,(e|1|0)==3|0}function $o(e,n){return e=e|0,n=w(n),(t[e+4>>2]|0)==3?n=w(0):n=w(Sn(e,n)),w(n)}function El(e,n){return e=e|0,n=n|0,e=t[e>>2]|0,((e|0)==0?(n|0)>1?n:1:e)|0}function I0(e,n){e=e|0,n=n|0;var r=0;e:do if((n|0)==2){switch(e|0){case 2:{e=3;break e}case 3:break;default:{r=4;break e}}e=2}else r=4;while(0);return e|0}function R0(e,n){e=e|0,n=n|0;var r=St;return((Fi(n)|0?(t[e+312>>2]|0)!=0:0)?(r=w(C[e+308>>2]),r>=w(0)):0)||(r=w(Eu(w(C[(dt(e+276|0,t[1040+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function co(e,n){e=e|0,n=n|0;var r=St;return((Fi(n)|0?(t[e+320>>2]|0)!=0:0)?(r=w(C[e+316>>2]),r>=w(0)):0)||(r=w(Eu(w(C[(dt(e+276|0,t[1e3+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function Ru(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return((Fi(n)|0?(t[e+240>>2]|0)!=0:0)?(u=w(Sn(e+236|0,r)),u>=w(0)):0)||(u=w(Eu(w(Sn(dt(e+204|0,t[1040+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(u)}function Yu(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return((Fi(n)|0?(t[e+248>>2]|0)!=0:0)?(u=w(Sn(e+244|0,r)),u>=w(0)):0)||(u=w(Eu(w(Sn(dt(e+204|0,t[1e3+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(u)}function Xl(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=St,S=St,M=St,O=St,P=St,K=St,Pe=0,Ee=0,ve=0;ve=m,m=m+16|0,Pe=ve,Ee=e+964|0,Iu(e,(t[Ee>>2]|0)!=0,3519),D=w(wr(e,2,n)),S=w(wr(e,0,n)),M=w(Yt(e,2,n)),O=w(Yt(e,0,n)),Me(n)|0?P=n:P=w(Eu(w(0),w(w(n-M)-D))),Me(r)|0?K=r:K=w(Eu(w(0),w(w(r-O)-S))),(u|0)==1&(l|0)==1?(C[e+908>>2]=w(Wn(e,2,w(n-M),s,s)),n=w(Wn(e,0,w(r-O),h,s))):(nS[t[Ee>>2]&1](Pe,e,P,u,K,l),P=w(D+w(C[Pe>>2])),K=w(n-M),C[e+908>>2]=w(Wn(e,2,(u|2|0)==2?P:K,s,s)),K=w(S+w(C[Pe+4>>2])),n=w(r-O),n=w(Wn(e,0,(l|2|0)==2?K:n,h,s))),C[e+912>>2]=n,m=ve}function hs(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=St,S=St,M=St,O=St;M=w(wr(e,2,s)),D=w(wr(e,0,s)),O=w(Yt(e,2,s)),S=w(Yt(e,0,s)),n=w(n-O),C[e+908>>2]=w(Wn(e,2,(u|2|0)==2?M:n,s,s)),r=w(r-S),C[e+912>>2]=w(Wn(e,0,(l|2|0)==2?D:r,h,s))}function ra(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=0,S=St,M=St;return D=(u|0)==2,((n<=w(0)&D?0:!(r<=w(0)&(l|0)==2))?!((u|0)==1&(l|0)==1):0)?e=0:(S=w(Yt(e,0,s)),M=w(Yt(e,2,s)),D=n>2]=w(Wn(e,2,D?w(0):n,s,s)),n=w(r-S),D=r>2]=w(Wn(e,0,D?w(0):n,h,s)),e=1),e|0}function df(e,n){return e=e|0,n=n|0,yn(e)|0?e=I0(2,n)|0:e=0,e|0}function Ku(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(Ru(e,n,r)),w(r+w(R0(e,n)))}function vs(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(Yu(e,n,r)),w(r+w(co(e,n)))}function wr(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return u=w(Ku(e,n,r)),w(u+w(vs(e,n,r)))}function $0(e){return e=e|0,t[e+24>>2]|0?e=0:w(Xi(e))!=w(0)?e=1:e=w(ru(e))!=w(0),e|0}function Xi(e){e=e|0;var n=St;if(t[e+944>>2]|0){if(n=w(C[e+44>>2]),Me(n)|0)return n=w(C[e+40>>2]),e=n>w(0)&((Me(n)|0)^1),w(e?n:w(0))}else n=w(0);return w(n)}function ru(e){e=e|0;var n=St,r=0,u=St;do if(t[e+944>>2]|0){if(n=w(C[e+48>>2]),Me(n)|0){if(r=p[(t[e+976>>2]|0)+2>>0]|0,r<<24>>24==0?(u=w(C[e+40>>2]),u>24?w(1):w(0)}}else n=w(0);while(0);return w(n)}function Ci(e){e=e|0;var n=0,r=0;if(Iv(e+400|0,0,540)|0,p[e+985>>0]=1,cs(e),r=mu(e)|0,r|0){n=e+948|0,e=0;do Ci(t[(t[n>>2]|0)+(e<<2)>>2]|0),e=e+1|0;while((e|0)!=(r|0))}}function Xr(e,n,r,u,l,s,h,D,S,M){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=w(s),h=w(h),D=D|0,S=S|0,M=M|0;var O=0,P=St,K=0,Pe=0,Ee=St,ve=St,Qe=0,We=St,st=0,Re=St,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0,Zi=0,ts=0;Zi=m,m=m+16|0,Lr=Zi+12|0,Nn=Zi+8|0,mn=Zi+4|0,hr=Zi,On=I0(t[e+4>>2]|0,S)|0,Fe=Fi(On)|0,P=w(Sn(En(n)|0,Fe?s:h)),Qt=Bu(n,2,s)|0,kr=Bu(n,0,h)|0;do if(Me(P)|0?0:!(Me(Fe?r:l)|0)){if(O=n+504|0,!(Me(w(C[O>>2]))|0)&&(!(er(t[n+976>>2]|0,0)|0)||(t[n+500>>2]|0)==(t[2278]|0)))break;C[O>>2]=w(Eu(P,w(wr(n,On,s))))}else K=7;while(0);do if((K|0)==7){if(st=Fe^1,!(st|Qt^1)){h=w(Sn(t[n+992>>2]|0,s)),C[n+504>>2]=w(Eu(h,w(wr(n,2,s))));break}if(!(Fe|kr^1)){h=w(Sn(t[n+996>>2]|0,h)),C[n+504>>2]=w(Eu(h,w(wr(n,0,s))));break}C[Lr>>2]=w(le),C[Nn>>2]=w(le),t[mn>>2]=0,t[hr>>2]=0,We=w(Yt(n,2,s)),Re=w(Yt(n,0,s)),Qt?(Ee=w(We+w(Sn(t[n+992>>2]|0,s))),C[Lr>>2]=Ee,t[mn>>2]=1,Pe=1):(Pe=0,Ee=w(le)),kr?(P=w(Re+w(Sn(t[n+996>>2]|0,h))),C[Nn>>2]=P,t[hr>>2]=1,O=1):(O=0,P=w(le)),K=t[e+32>>2]|0,Fe&(K|0)==2?K=2:(Me(Ee)|0?!(Me(r)|0):0)&&(C[Lr>>2]=r,t[mn>>2]=2,Pe=2,Ee=r),(((K|0)==2&st?0:Me(P)|0)?!(Me(l)|0):0)&&(C[Nn>>2]=l,t[hr>>2]=2,O=2,P=l),ve=w(C[n+396>>2]),Qe=Me(ve)|0;do if(Qe)K=Pe;else{if((Pe|0)==1&st){C[Nn>>2]=w(w(Ee-We)/ve),t[hr>>2]=1,O=1,K=1;break}Fe&(O|0)==1?(C[Lr>>2]=w(ve*w(P-Re)),t[mn>>2]=1,O=1,K=1):K=Pe}while(0);ts=Me(r)|0,Pe=(Xu(e,n)|0)!=4,(Fe|Qt|((u|0)!=1|ts)|(Pe|(K|0)==1)?0:(C[Lr>>2]=r,t[mn>>2]=1,!Qe))&&(C[Nn>>2]=w(w(r-We)/ve),t[hr>>2]=1,O=1),(kr|st|((D|0)!=1|(Me(l)|0))|(Pe|(O|0)==1)?0:(C[Nn>>2]=l,t[hr>>2]=1,!Qe))&&(C[Lr>>2]=w(ve*w(l-Re)),t[mn>>2]=1),kn(n,2,s,s,mn,Lr),kn(n,0,h,s,hr,Nn),r=w(C[Lr>>2]),l=w(C[Nn>>2]),Gt(n,r,l,S,t[mn>>2]|0,t[hr>>2]|0,s,h,0,3565,M)|0,h=w(C[n+908+(t[976+(On<<2)>>2]<<2)>>2]),C[n+504>>2]=w(Eu(h,w(wr(n,On,s))))}while(0);t[n+500>>2]=t[2278],m=Zi}function Wn(e,n,r,u,l){return e=e|0,n=n|0,r=w(r),u=w(u),l=w(l),u=w(Xt(e,n,r,u)),w(Eu(u,w(wr(e,n,l))))}function Xu(e,n){return e=e|0,n=n|0,n=n+20|0,n=t[((t[n>>2]|0)==0?e+16|0:n)>>2]|0,((n|0)==5?yn(t[e+4>>2]|0)|0:0)&&(n=1),n|0}function m0(e,n){return e=e|0,n=n|0,(Fi(n)|0?(t[e+96>>2]|0)!=0:0)?n=4:n=t[1040+(n<<2)>>2]|0,e+60+(n<<3)|0}function y0(e,n){return e=e|0,n=n|0,(Fi(n)|0?(t[e+104>>2]|0)!=0:0)?n=5:n=t[1e3+(n<<2)>>2]|0,e+60+(n<<3)|0}function kn(e,n,r,u,l,s){switch(e=e|0,n=n|0,r=w(r),u=w(u),l=l|0,s=s|0,r=w(Sn(e+380+(t[976+(n<<2)>>2]<<3)|0,r)),r=w(r+w(Yt(e,n,u))),t[l>>2]|0){case 2:case 1:{l=Me(r)|0,u=w(C[s>>2]),C[s>>2]=l|u>2]=2,C[s>>2]=r);break}default:}}function se(e,n){return e=e|0,n=n|0,e=e+132|0,(Fi(n)|0?(t[(dt(e,4,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(dt(e,t[1040+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function re(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0;return e=e+132|0,(Fi(n)|0?(u=dt(e,4,948)|0,(t[u+4>>2]|0)!=0):0)?l=4:(u=dt(e,t[1040+(n<<2)>>2]|0,948)|0,t[u+4>>2]|0?l=4:r=w(0)),(l|0)==4&&(r=w(Sn(u,r))),w(r)}function Le(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return u=w(C[e+908+(t[976+(n<<2)>>2]<<2)>>2]),u=w(u+w(Li(e,n,r))),w(u+w(A0(e,n,r)))}function Ae(e){e=e|0;var n=0,r=0,u=0;e:do if(yn(t[e+4>>2]|0)|0)n=0;else if((t[e+16>>2]|0)!=5)if(r=mu(e)|0,!r)n=0;else for(n=0;;){if(u=yi(e,n)|0,(t[u+24>>2]|0)==0?(t[u+20>>2]|0)==5:0){n=1;break e}if(n=n+1|0,n>>>0>=r>>>0){n=0;break}}else n=1;while(0);return n|0}function ot(e,n){e=e|0,n=n|0;var r=St;return r=w(C[e+908+(t[976+(n<<2)>>2]<<2)>>2]),r>=w(0)&((Me(r)|0)^1)|0}function vt(e){e=e|0;var n=St,r=0,u=0,l=0,s=0,h=0,D=0,S=St;if(r=t[e+968>>2]|0,r)S=w(C[e+908>>2]),n=w(C[e+912>>2]),n=w(J8[r&0](e,S,n)),Iu(e,(Me(n)|0)^1,3573);else{s=mu(e)|0;do if(s|0){for(r=0,l=0;;){if(u=yi(e,l)|0,t[u+940>>2]|0){h=8;break}if((t[u+24>>2]|0)!=1)if(D=(Xu(e,u)|0)==5,D){r=u;break}else r=(r|0)==0?u:r;if(l=l+1|0,l>>>0>=s>>>0){h=8;break}}if((h|0)==8&&!r)break;return n=w(vt(r)),w(n+w(C[r+404>>2]))}while(0);n=w(C[e+912>>2])}return w(n)}function Xt(e,n,r,u){e=e|0,n=n|0,r=w(r),u=w(u);var l=St,s=0;return yn(n)|0?(n=1,s=3):Fi(n)|0?(n=0,s=3):(u=w(le),l=w(le)),(s|0)==3&&(l=w(Sn(e+364+(n<<3)|0,u)),u=w(Sn(e+380+(n<<3)|0,u))),s=u=w(0)&((Me(u)|0)^1)),r=s?u:r,s=l>=w(0)&((Me(l)|0)^1)&r>2]|0,s)|0,Ee=df(Qe,s)|0,ve=Fi(Qe)|0,P=w(Yt(n,2,r)),K=w(Yt(n,0,r)),Bu(n,2,r)|0?D=w(P+w(Sn(t[n+992>>2]|0,r))):(se(n,2)|0?It(n,2)|0:0)?(D=w(C[e+908>>2]),S=w(R0(e,2)),S=w(D-w(S+w(co(e,2)))),D=w(re(n,2,r)),D=w(Wn(n,2,w(S-w(D+w(xi(n,2,r)))),r,r))):D=w(le),Bu(n,0,l)|0?S=w(K+w(Sn(t[n+996>>2]|0,l))):(se(n,0)|0?It(n,0)|0:0)?(S=w(C[e+912>>2]),st=w(R0(e,0)),st=w(S-w(st+w(co(e,0)))),S=w(re(n,0,l)),S=w(Wn(n,0,w(st-w(S+w(xi(n,0,l)))),l,r))):S=w(le),M=Me(D)|0,O=Me(S)|0;do if(M^O?(Pe=w(C[n+396>>2]),!(Me(Pe)|0)):0)if(M){D=w(P+w(w(S-K)*Pe));break}else{st=w(K+w(w(D-P)/Pe)),S=O?st:S;break}while(0);O=Me(D)|0,M=Me(S)|0,O|M&&(Re=(O^1)&1,u=r>w(0)&((u|0)!=0&O),D=ve?D:u?r:D,Gt(n,D,S,s,ve?Re:u?2:Re,O&(M^1)&1,D,S,0,3623,h)|0,D=w(C[n+908>>2]),D=w(D+w(Yt(n,2,r))),S=w(C[n+912>>2]),S=w(S+w(Yt(n,0,r)))),Gt(n,D,S,s,1,1,D,S,1,3635,h)|0,(It(n,Qe)|0?!(se(n,Qe)|0):0)?(Re=t[976+(Qe<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(st-w(C[n+908+(Re<<2)>>2])),st=w(st-w(co(e,Qe))),st=w(st-w(A0(n,Qe,r))),st=w(st-w(xi(n,Qe,ve?r:l))),C[n+400+(t[1040+(Qe<<2)>>2]<<2)>>2]=st):We=21;do if((We|0)==21){if(se(n,Qe)|0?0:(t[e+8>>2]|0)==1){Re=t[976+(Qe<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(w(st-w(C[n+908+(Re<<2)>>2]))*w(.5)),C[n+400+(t[1040+(Qe<<2)>>2]<<2)>>2]=st;break}(se(n,Qe)|0?0:(t[e+8>>2]|0)==2)&&(Re=t[976+(Qe<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(st-w(C[n+908+(Re<<2)>>2])),C[n+400+(t[1040+(Qe<<2)>>2]<<2)>>2]=st)}while(0);(It(n,Ee)|0?!(se(n,Ee)|0):0)?(Re=t[976+(Ee<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(st-w(C[n+908+(Re<<2)>>2])),st=w(st-w(co(e,Ee))),st=w(st-w(A0(n,Ee,r))),st=w(st-w(xi(n,Ee,ve?l:r))),C[n+400+(t[1040+(Ee<<2)>>2]<<2)>>2]=st):We=30;do if((We|0)==30?!(se(n,Ee)|0):0){if((Xu(e,n)|0)==2){Re=t[976+(Ee<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(w(st-w(C[n+908+(Re<<2)>>2]))*w(.5)),C[n+400+(t[1040+(Ee<<2)>>2]<<2)>>2]=st;break}Re=(Xu(e,n)|0)==3,Re^(t[e+28>>2]|0)==2&&(Re=t[976+(Ee<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(st-w(C[n+908+(Re<<2)>>2])),C[n+400+(t[1040+(Ee<<2)>>2]<<2)>>2]=st)}while(0)}function _n(e,n,r){e=e|0,n=n|0,r=r|0;var u=St,l=0;l=t[976+(r<<2)>>2]|0,u=w(C[n+908+(l<<2)>>2]),u=w(w(C[e+908+(l<<2)>>2])-u),u=w(u-w(C[n+400+(t[1040+(r<<2)>>2]<<2)>>2])),C[n+400+(t[1e3+(r<<2)>>2]<<2)>>2]=u}function yn(e){return e=e|0,(e|1|0)==1|0}function En(e){e=e|0;var n=St;switch(t[e+56>>2]|0){case 0:case 3:{n=w(C[e+40>>2]),n>w(0)&((Me(n)|0)^1)?e=p[(t[e+976>>2]|0)+2>>0]|0?1056:992:e=1056;break}default:e=e+52|0}return e|0}function er(e,n){return e=e|0,n=n|0,(p[e+n>>0]|0)!=0|0}function It(e,n){return e=e|0,n=n|0,e=e+132|0,(Fi(n)|0?(t[(dt(e,5,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(dt(e,t[1e3+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function xi(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0;return e=e+132|0,(Fi(n)|0?(u=dt(e,5,948)|0,(t[u+4>>2]|0)!=0):0)?l=4:(u=dt(e,t[1e3+(n<<2)>>2]|0,948)|0,t[u+4>>2]|0?l=4:r=w(0)),(l|0)==4&&(r=w(Sn(u,r))),w(r)}function Sr(e,n,r){return e=e|0,n=n|0,r=w(r),se(e,n)|0?r=w(re(e,n,r)):r=w(-w(xi(e,n,r))),w(r)}function cr(e){return e=w(e),C[W>>2]=e,t[W>>2]|0|0}function Y(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)Xn();else{l=cn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function Qr(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Jr(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&yt(e)}function Ur(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;if(h=e+4|0,D=t[h>>2]|0,l=D-u|0,s=l>>2,e=n+(s<<2)|0,e>>>0>>0){u=D;do t[u>>2]=t[e>>2],e=e+4|0,u=(t[h>>2]|0)+4|0,t[h>>2]=u;while(e>>>0>>0)}s|0&&Iy(D+(0-s<<2)|0,n|0,l|0)|0}function lt(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0;return D=n+4|0,S=t[D>>2]|0,l=t[e>>2]|0,h=r,s=h-l|0,u=S+(0-(s>>2)<<2)|0,t[D>>2]=u,(s|0)>0&&pr(u|0,l|0,s|0)|0,l=e+4|0,s=n+8|0,u=(t[l>>2]|0)-h|0,(u|0)>0&&(pr(t[s>>2]|0,r|0,u|0)|0,t[s>>2]=(t[s>>2]|0)+(u>>>2<<2)),h=t[e>>2]|0,t[e>>2]=t[D>>2],t[D>>2]=h,h=t[l>>2]|0,t[l>>2]=t[s>>2],t[s>>2]=h,h=e+8|0,r=n+12|0,e=t[h>>2]|0,t[h>>2]=t[r>>2],t[r>>2]=e,t[n>>2]=t[D>>2],S|0}function hi(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;if(h=t[n>>2]|0,s=t[r>>2]|0,(h|0)!=(s|0)){l=e+8|0,r=((s+-4-h|0)>>>2)+1|0,e=h,u=t[l>>2]|0;do t[u>>2]=t[e>>2],u=(t[l>>2]|0)+4|0,t[l>>2]=u,e=e+4|0;while((e|0)!=(s|0));t[n>>2]=h+(r<<2)}}function Qi(){_e()}function g0(){var e=0;return e=cn(4)|0,bn(e),e|0}function bn(e){e=e|0,t[e>>2]=p0()|0}function Qu(e){e=e|0,e|0&&(eo(e),yt(e))}function eo(e){e=e|0,K0(t[e>>2]|0)}function po(e,n,r){e=e|0,n=n|0,r=r|0,Uu(t[e>>2]|0,n,r)}function Ju(e,n){e=e|0,n=w(n),Gu(t[e>>2]|0,n)}function bo(e,n){return e=e|0,n=n|0,er(t[e>>2]|0,n)|0}function to(){var e=0;return e=cn(8)|0,Na(e,0),e|0}function Na(e,n){e=e|0,n=n|0,n?n=Hn(t[n>>2]|0)|0:n=or()|0,t[e>>2]=n,t[e+4>>2]=0,Ma(n,e)}function pf(e){e=e|0;var n=0;return n=cn(8)|0,Na(n,e),n|0}function uc(e){e=e|0,e|0&&(ms(e),yt(e))}function ms(e){e=e|0;var n=0;bu(t[e>>2]|0),n=e+4|0,e=t[n>>2]|0,t[n>>2]=0,e|0&&(ia(e),yt(e))}function ia(e){e=e|0,B0(e)}function B0(e){e=e|0,e=t[e>>2]|0,e|0&&Ir(e|0)}function oc(e){return e=e|0,Ls(e)|0}function La(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(ia(n),yt(n)),ao(t[e>>2]|0)}function gd(e,n){e=e|0,n=n|0,ea(t[e>>2]|0,t[n>>2]|0)}function $1(e,n){e=e|0,n=n|0,Z(t[e>>2]|0,n)}function e2(e,n,r){e=e|0,n=n|0,r=+r,lr(t[e>>2]|0,n,w(r))}function ho(e,n,r){e=e|0,n=n|0,r=+r,Qn(t[e>>2]|0,n,w(r))}function Uc(e,n){e=e|0,n=n|0,z(t[e>>2]|0,n)}function Dl(e,n){e=e|0,n=n|0,$(t[e>>2]|0,n)}function el(e,n){e=e|0,n=n|0,me(t[e>>2]|0,n)}function _d(e,n){e=e|0,n=n|0,h0(t[e>>2]|0,n)}function Bs(e,n){e=e|0,n=n|0,Xe(t[e>>2]|0,n)}function wl(e,n){e=e|0,n=n|0,Ni(t[e>>2]|0,n)}function t2(e,n,r){e=e|0,n=n|0,r=+r,Cn(t[e>>2]|0,n,w(r))}function Po(e,n,r){e=e|0,n=n|0,r=+r,Ar(t[e>>2]|0,n,w(r))}function Fa(e,n){e=e|0,n=n|0,Rr(t[e>>2]|0,n)}function ba(e,n){e=e|0,n=n|0,ie(t[e>>2]|0,n)}function Pa(e,n){e=e|0,n=n|0,tt(t[e>>2]|0,n)}function ua(e,n){e=e|0,n=+n,kt(t[e>>2]|0,w(n))}function ys(e,n){e=e|0,n=+n,tn(t[e>>2]|0,w(n))}function gs(e,n){e=e|0,n=+n,Lt(t[e>>2]|0,w(n))}function Ql(e,n){e=e|0,n=+n,bt(t[e>>2]|0,w(n))}function Io(e,n){e=e|0,n=+n,on(t[e>>2]|0,w(n))}function hf(e,n){e=e|0,n=+n,sn(t[e>>2]|0,w(n))}function tl(e,n){e=e|0,n=+n,Yn(t[e>>2]|0,w(n))}function ju(e){e=e|0,yr(t[e>>2]|0)}function Ia(e,n){e=e|0,n=+n,Cu(t[e>>2]|0,w(n))}function Zu(e,n){e=e|0,n=+n,S0(t[e>>2]|0,w(n))}function U0(e){e=e|0,X0(t[e>>2]|0)}function vf(e,n){e=e|0,n=+n,di(t[e>>2]|0,w(n))}function jc(e,n){e=e|0,n=+n,ko(t[e>>2]|0,w(n))}function lc(e,n){e=e|0,n=+n,sf(t[e>>2]|0,w(n))}function Sl(e,n){e=e|0,n=+n,gl(t[e>>2]|0,w(n))}function _s(e,n){e=e|0,n=+n,Mo(t[e>>2]|0,w(n))}function oa(e,n){e=e|0,n=+n,ds(t[e>>2]|0,w(n))}function n2(e,n){e=e|0,n=+n,No(t[e>>2]|0,w(n))}function la(e,n){e=e|0,n=+n,Lo(t[e>>2]|0,w(n))}function sc(e,n){e=e|0,n=+n,Vu(t[e>>2]|0,w(n))}function zc(e,n,r){e=e|0,n=n|0,r=+r,Ft(t[e>>2]|0,n,w(r))}function bi(e,n,r){e=e|0,n=n|0,r=+r,nt(t[e>>2]|0,n,w(r))}function g(e,n,r){e=e|0,n=n|0,r=+r,_t(t[e>>2]|0,n,w(r))}function y(e){return e=e|0,ke(t[e>>2]|0)|0}function A(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,_r(l,t[n>>2]|0,r),F(e,l),m=u}function F(e,n){e=e|0,n=n|0,I(e,t[n+4>>2]|0,+w(C[n>>2]))}function I(e,n,r){e=e|0,n=n|0,r=+r,t[e>>2]=n,U[e+8>>3]=r}function J(e){return e=e|0,G(t[e>>2]|0)|0}function fe(e){return e=e|0,De(t[e>>2]|0)|0}function mt(e){return e=e|0,xe(t[e>>2]|0)|0}function Ct(e){return e=e|0,Fs(t[e>>2]|0)|0}function Mt(e){return e=e|0,ht(t[e>>2]|0)|0}function Er(e){return e=e|0,B(t[e>>2]|0)|0}function $u(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,v0(l,t[n>>2]|0,r),F(e,l),m=u}function iu(e){return e=e|0,qe(t[e>>2]|0)|0}function j0(e){return e=e|0,Tt(t[e>>2]|0)|0}function Tl(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,gn(u,t[n>>2]|0),F(e,u),m=r}function e0(e){return e=e|0,+ +w(lf(t[e>>2]|0))}function He(e){return e=e|0,+ +w(Ns(t[e>>2]|0))}function Be(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,nu(u,t[n>>2]|0),F(e,u),m=r}function ut(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,xu(u,t[n>>2]|0),F(e,u),m=r}function Jt(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,Zo(u,t[n>>2]|0),F(e,u),m=r}function jn(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,af(u,t[n>>2]|0),F(e,u),m=r}function ti(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,bs(u,t[n>>2]|0),F(e,u),m=r}function tr(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,ps(u,t[n>>2]|0),F(e,u),m=r}function ii(e){return e=e|0,+ +w(yu(t[e>>2]|0))}function qi(e,n){return e=e|0,n=n|0,+ +w(nn(t[e>>2]|0,n))}function jr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,Ze(l,t[n>>2]|0,r),F(e,l),m=u}function gu(e,n,r){e=e|0,n=n|0,r=r|0,ka(t[e>>2]|0,t[n>>2]|0,r)}function Ba(e,n){e=e|0,n=n|0,Tu(t[e>>2]|0,t[n>>2]|0)}function Ua(e){return e=e|0,mu(t[e>>2]|0)|0}function r2(e){return e=e|0,e=ri(t[e>>2]|0)|0,e?e=oc(e)|0:e=0,e|0}function Ed(e,n){return e=e|0,n=n|0,e=yi(t[e>>2]|0,n)|0,e?e=oc(e)|0:e=0,e|0}function Dd(e,n){e=e|0,n=n|0;var r=0,u=0;u=cn(4)|0,mf(u,n),r=e+4|0,n=t[r>>2]|0,t[r>>2]=u,n|0&&(ia(n),yt(n)),$s(t[e>>2]|0,1)}function mf(e,n){e=e|0,n=n|0,rl(e,n)}function i2(e,n,r,u,l,s){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=s|0;var h=0,D=0;h=m,m=m+16|0,D=h,ch(D,Ls(n)|0,+r,u,+l,s),C[e>>2]=w(+U[D>>3]),C[e+4>>2]=w(+U[D+8>>3]),m=h}function ch(e,n,r,u,l,s){e=e|0,n=n|0,r=+r,u=u|0,l=+l,s=s|0;var h=0,D=0,S=0,M=0,O=0;h=m,m=m+32|0,O=h+8|0,M=h+20|0,S=h,D=h+16|0,U[O>>3]=r,t[M>>2]=u,U[S>>3]=l,t[D>>2]=s,qc(e,t[n+4>>2]|0,O,M,S,D),m=h}function qc(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0;h=m,m=m+16|0,D=h,Ta(D),n=vo(n)|0,dh(e,n,+U[r>>3],t[u>>2]|0,+U[l>>3],t[s>>2]|0),Ca(D),m=h}function vo(e){return e=e|0,t[e>>2]|0}function dh(e,n,r,u,l,s){e=e|0,n=n|0,r=+r,u=u|0,l=+l,s=s|0;var h=0;h=mo(ph()|0)|0,r=+Cl(r),u=u2(u)|0,l=+Cl(l),o2(e,Wr(0,h|0,n|0,+r,u|0,+l,u2(s)|0)|0)}function ph(){var e=0;return p[7608]|0||(Wc(9120),e=7608,t[e>>2]=1,t[e+4>>2]=0),9120}function mo(e){return e=e|0,t[e+8>>2]|0}function Cl(e){return e=+e,+ +ja(e)}function u2(e){return e=e|0,s2(e)|0}function o2(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+32|0,r=l,u=n,u&1?(wd(r,0),Yi(u|0,r|0)|0,Hc(e,r),Mr(r)):(t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]),m=l}function wd(e,n){e=e|0,n=n|0,l2(e,n),t[e+8>>2]=0,p[e+24>>0]=0}function Hc(e,n){e=e|0,n=n|0,n=n+8|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]}function Mr(e){e=e|0,p[e+24>>0]=0}function l2(e,n){e=e|0,n=n|0,t[e>>2]=n}function s2(e){return e=e|0,e|0}function ja(e){return e=+e,+e}function Wc(e){e=e|0,nl(e,Sd()|0,4)}function Sd(){return 1064}function nl(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=Pt(n|0,r+1|0)|0}function rl(e,n){e=e|0,n=n|0,n=t[n>>2]|0,t[e>>2]=n,Ei(n|0)}function hh(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(ia(n),yt(n)),$s(t[e>>2]|0,0)}function yf(e){e=e|0,Gr(t[e>>2]|0)}function Vc(e){return e=e|0,Yl(t[e>>2]|0)|0}function Td(e,n,r,u){e=e|0,n=+n,r=+r,u=u|0,Kr(t[e>>2]|0,w(n),w(r),u)}function vh(e){return e=e|0,+ +w(pi(t[e>>2]|0))}function il(e){return e=e|0,+ +w(Q0(t[e>>2]|0))}function sa(e){return e=e|0,+ +w(T0(t[e>>2]|0))}function Cd(e){return e=e|0,+ +w(Fo(t[e>>2]|0))}function xd(e){return e=e|0,+ +w(ta(t[e>>2]|0))}function ac(e){return e=e|0,+ +w(Kl(t[e>>2]|0))}function mh(e,n){e=e|0,n=n|0,U[e>>3]=+w(pi(t[n>>2]|0)),U[e+8>>3]=+w(Q0(t[n>>2]|0)),U[e+16>>3]=+w(T0(t[n>>2]|0)),U[e+24>>3]=+w(Fo(t[n>>2]|0)),U[e+32>>3]=+w(ta(t[n>>2]|0)),U[e+40>>3]=+w(Kl(t[n>>2]|0))}function Ad(e,n){return e=e|0,n=n|0,+ +w(Ki(t[e>>2]|0,n))}function a2(e,n){return e=e|0,n=n|0,+ +w(Yr(t[e>>2]|0,n))}function Gc(e,n){return e=e|0,n=n|0,+ +w(fo(t[e>>2]|0,n))}function Yc(){return Oa()|0}function Us(){Rd(),aa(),Kc(),fc(),cc(),f2()}function Rd(){bN(11713,4938,1)}function aa(){eN(10448)}function Kc(){bM(10408)}function fc(){iM(10324)}function cc(){yE(10096)}function f2(){yh(9132)}function yh(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0,Re=0,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0,Zi=0,ts=0,ns=0,rs=0,Xs=0,$2=0,ed=0,Za=0,td=0,Oc=0,kc=0,nd=0,rd=0,id=0,si=0,$a=0,ud=0,zf=0,od=0,ld=0,Mc=0,Nc=0,qf=0,Il=0,Aa=0,As=0,ef=0,L1=0,F1=0,Lc=0,b1=0,P1=0,Bl=0,vl=0,tf=0,lu=0,I1=0,is=0,Hf=0,us=0,Wf=0,B1=0,U1=0,Vf=0,Ul=0,nf=0,j1=0,z1=0,q1=0,gr=0,Mu=0,ml=0,os=0,jl=0,Tr=0,Fn=0,rf=0;n=m,m=m+672|0,r=n+656|0,rf=n+648|0,Fn=n+640|0,Tr=n+632|0,jl=n+624|0,os=n+616|0,ml=n+608|0,Mu=n+600|0,gr=n+592|0,q1=n+584|0,z1=n+576|0,j1=n+568|0,nf=n+560|0,Ul=n+552|0,Vf=n+544|0,U1=n+536|0,B1=n+528|0,Wf=n+520|0,us=n+512|0,Hf=n+504|0,is=n+496|0,I1=n+488|0,lu=n+480|0,tf=n+472|0,vl=n+464|0,Bl=n+456|0,P1=n+448|0,b1=n+440|0,Lc=n+432|0,F1=n+424|0,L1=n+416|0,ef=n+408|0,As=n+400|0,Aa=n+392|0,Il=n+384|0,qf=n+376|0,Nc=n+368|0,Mc=n+360|0,ld=n+352|0,od=n+344|0,zf=n+336|0,ud=n+328|0,$a=n+320|0,si=n+312|0,id=n+304|0,rd=n+296|0,nd=n+288|0,kc=n+280|0,Oc=n+272|0,td=n+264|0,Za=n+256|0,ed=n+248|0,$2=n+240|0,Xs=n+232|0,rs=n+224|0,ns=n+216|0,ts=n+208|0,Zi=n+200|0,On=n+192|0,kr=n+184|0,hr=n+176|0,mn=n+168|0,Nn=n+160|0,Lr=n+152|0,Qt=n+144|0,Fe=n+136|0,Re=n+128|0,st=n+120|0,We=n+112|0,Qe=n+104|0,ve=n+96|0,Ee=n+88|0,Pe=n+80|0,K=n+72|0,P=n+64|0,O=n+56|0,M=n+48|0,S=n+40|0,D=n+32|0,h=n+24|0,s=n+16|0,l=n+8|0,u=n,gf(e,3646),Xc(e,3651,2)|0,gh(e,3665,2)|0,vm(e,3682,18)|0,t[rf>>2]=19,t[rf+4>>2]=0,t[r>>2]=t[rf>>2],t[r+4>>2]=t[rf+4>>2],js(e,3690,r)|0,t[Fn>>2]=1,t[Fn+4>>2]=0,t[r>>2]=t[Fn>>2],t[r+4>>2]=t[Fn+4>>2],fa(e,3696,r)|0,t[Tr>>2]=2,t[Tr+4>>2]=0,t[r>>2]=t[Tr>>2],t[r+4>>2]=t[Tr+4>>2],Ji(e,3706,r)|0,t[jl>>2]=1,t[jl+4>>2]=0,t[r>>2]=t[jl>>2],t[r+4>>2]=t[jl+4>>2],O0(e,3722,r)|0,t[os>>2]=2,t[os+4>>2]=0,t[r>>2]=t[os>>2],t[r+4>>2]=t[os+4>>2],O0(e,3734,r)|0,t[ml>>2]=3,t[ml+4>>2]=0,t[r>>2]=t[ml>>2],t[r+4>>2]=t[ml+4>>2],Ji(e,3753,r)|0,t[Mu>>2]=4,t[Mu+4>>2]=0,t[r>>2]=t[Mu>>2],t[r+4>>2]=t[Mu+4>>2],Ji(e,3769,r)|0,t[gr>>2]=5,t[gr+4>>2]=0,t[r>>2]=t[gr>>2],t[r+4>>2]=t[gr+4>>2],Ji(e,3783,r)|0,t[q1>>2]=6,t[q1+4>>2]=0,t[r>>2]=t[q1>>2],t[r+4>>2]=t[q1+4>>2],Ji(e,3796,r)|0,t[z1>>2]=7,t[z1+4>>2]=0,t[r>>2]=t[z1>>2],t[r+4>>2]=t[z1+4>>2],Ji(e,3813,r)|0,t[j1>>2]=8,t[j1+4>>2]=0,t[r>>2]=t[j1>>2],t[r+4>>2]=t[j1+4>>2],Ji(e,3825,r)|0,t[nf>>2]=3,t[nf+4>>2]=0,t[r>>2]=t[nf>>2],t[r+4>>2]=t[nf+4>>2],O0(e,3843,r)|0,t[Ul>>2]=4,t[Ul+4>>2]=0,t[r>>2]=t[Ul>>2],t[r+4>>2]=t[Ul+4>>2],O0(e,3853,r)|0,t[Vf>>2]=9,t[Vf+4>>2]=0,t[r>>2]=t[Vf>>2],t[r+4>>2]=t[Vf+4>>2],Ji(e,3870,r)|0,t[U1>>2]=10,t[U1+4>>2]=0,t[r>>2]=t[U1>>2],t[r+4>>2]=t[U1+4>>2],Ji(e,3884,r)|0,t[B1>>2]=11,t[B1+4>>2]=0,t[r>>2]=t[B1>>2],t[r+4>>2]=t[B1+4>>2],Ji(e,3896,r)|0,t[Wf>>2]=1,t[Wf+4>>2]=0,t[r>>2]=t[Wf>>2],t[r+4>>2]=t[Wf+4>>2],t0(e,3907,r)|0,t[us>>2]=2,t[us+4>>2]=0,t[r>>2]=t[us>>2],t[r+4>>2]=t[us+4>>2],t0(e,3915,r)|0,t[Hf>>2]=3,t[Hf+4>>2]=0,t[r>>2]=t[Hf>>2],t[r+4>>2]=t[Hf+4>>2],t0(e,3928,r)|0,t[is>>2]=4,t[is+4>>2]=0,t[r>>2]=t[is>>2],t[r+4>>2]=t[is+4>>2],t0(e,3948,r)|0,t[I1>>2]=5,t[I1+4>>2]=0,t[r>>2]=t[I1>>2],t[r+4>>2]=t[I1+4>>2],t0(e,3960,r)|0,t[lu>>2]=6,t[lu+4>>2]=0,t[r>>2]=t[lu>>2],t[r+4>>2]=t[lu+4>>2],t0(e,3974,r)|0,t[tf>>2]=7,t[tf+4>>2]=0,t[r>>2]=t[tf>>2],t[r+4>>2]=t[tf+4>>2],t0(e,3983,r)|0,t[vl>>2]=20,t[vl+4>>2]=0,t[r>>2]=t[vl>>2],t[r+4>>2]=t[vl+4>>2],js(e,3999,r)|0,t[Bl>>2]=8,t[Bl+4>>2]=0,t[r>>2]=t[Bl>>2],t[r+4>>2]=t[Bl+4>>2],t0(e,4012,r)|0,t[P1>>2]=9,t[P1+4>>2]=0,t[r>>2]=t[P1>>2],t[r+4>>2]=t[P1+4>>2],t0(e,4022,r)|0,t[b1>>2]=21,t[b1+4>>2]=0,t[r>>2]=t[b1>>2],t[r+4>>2]=t[b1+4>>2],js(e,4039,r)|0,t[Lc>>2]=10,t[Lc+4>>2]=0,t[r>>2]=t[Lc>>2],t[r+4>>2]=t[Lc+4>>2],t0(e,4053,r)|0,t[F1>>2]=11,t[F1+4>>2]=0,t[r>>2]=t[F1>>2],t[r+4>>2]=t[F1+4>>2],t0(e,4065,r)|0,t[L1>>2]=12,t[L1+4>>2]=0,t[r>>2]=t[L1>>2],t[r+4>>2]=t[L1+4>>2],t0(e,4084,r)|0,t[ef>>2]=13,t[ef+4>>2]=0,t[r>>2]=t[ef>>2],t[r+4>>2]=t[ef+4>>2],t0(e,4097,r)|0,t[As>>2]=14,t[As+4>>2]=0,t[r>>2]=t[As>>2],t[r+4>>2]=t[As+4>>2],t0(e,4117,r)|0,t[Aa>>2]=15,t[Aa+4>>2]=0,t[r>>2]=t[Aa>>2],t[r+4>>2]=t[Aa+4>>2],t0(e,4129,r)|0,t[Il>>2]=16,t[Il+4>>2]=0,t[r>>2]=t[Il>>2],t[r+4>>2]=t[Il+4>>2],t0(e,4148,r)|0,t[qf>>2]=17,t[qf+4>>2]=0,t[r>>2]=t[qf>>2],t[r+4>>2]=t[qf+4>>2],t0(e,4161,r)|0,t[Nc>>2]=18,t[Nc+4>>2]=0,t[r>>2]=t[Nc>>2],t[r+4>>2]=t[Nc+4>>2],t0(e,4181,r)|0,t[Mc>>2]=5,t[Mc+4>>2]=0,t[r>>2]=t[Mc>>2],t[r+4>>2]=t[Mc+4>>2],O0(e,4196,r)|0,t[ld>>2]=6,t[ld+4>>2]=0,t[r>>2]=t[ld>>2],t[r+4>>2]=t[ld+4>>2],O0(e,4206,r)|0,t[od>>2]=7,t[od+4>>2]=0,t[r>>2]=t[od>>2],t[r+4>>2]=t[od+4>>2],O0(e,4217,r)|0,t[zf>>2]=3,t[zf+4>>2]=0,t[r>>2]=t[zf>>2],t[r+4>>2]=t[zf+4>>2],Jl(e,4235,r)|0,t[ud>>2]=1,t[ud+4>>2]=0,t[r>>2]=t[ud>>2],t[r+4>>2]=t[ud+4>>2],za(e,4251,r)|0,t[$a>>2]=4,t[$a+4>>2]=0,t[r>>2]=t[$a>>2],t[r+4>>2]=t[$a+4>>2],Jl(e,4263,r)|0,t[si>>2]=5,t[si+4>>2]=0,t[r>>2]=t[si>>2],t[r+4>>2]=t[si+4>>2],Jl(e,4279,r)|0,t[id>>2]=6,t[id+4>>2]=0,t[r>>2]=t[id>>2],t[r+4>>2]=t[id+4>>2],Jl(e,4293,r)|0,t[rd>>2]=7,t[rd+4>>2]=0,t[r>>2]=t[rd>>2],t[r+4>>2]=t[rd+4>>2],Jl(e,4306,r)|0,t[nd>>2]=8,t[nd+4>>2]=0,t[r>>2]=t[nd>>2],t[r+4>>2]=t[nd+4>>2],Jl(e,4323,r)|0,t[kc>>2]=9,t[kc+4>>2]=0,t[r>>2]=t[kc>>2],t[r+4>>2]=t[kc+4>>2],Jl(e,4335,r)|0,t[Oc>>2]=2,t[Oc+4>>2]=0,t[r>>2]=t[Oc>>2],t[r+4>>2]=t[Oc+4>>2],za(e,4353,r)|0,t[td>>2]=12,t[td+4>>2]=0,t[r>>2]=t[td>>2],t[r+4>>2]=t[td+4>>2],no(e,4363,r)|0,t[Za>>2]=1,t[Za+4>>2]=0,t[r>>2]=t[Za>>2],t[r+4>>2]=t[Za+4>>2],ul(e,4376,r)|0,t[ed>>2]=2,t[ed+4>>2]=0,t[r>>2]=t[ed>>2],t[r+4>>2]=t[ed+4>>2],ul(e,4388,r)|0,t[$2>>2]=13,t[$2+4>>2]=0,t[r>>2]=t[$2>>2],t[r+4>>2]=t[$2+4>>2],no(e,4402,r)|0,t[Xs>>2]=14,t[Xs+4>>2]=0,t[r>>2]=t[Xs>>2],t[r+4>>2]=t[Xs+4>>2],no(e,4411,r)|0,t[rs>>2]=15,t[rs+4>>2]=0,t[r>>2]=t[rs>>2],t[r+4>>2]=t[rs+4>>2],no(e,4421,r)|0,t[ns>>2]=16,t[ns+4>>2]=0,t[r>>2]=t[ns>>2],t[r+4>>2]=t[ns+4>>2],no(e,4433,r)|0,t[ts>>2]=17,t[ts+4>>2]=0,t[r>>2]=t[ts>>2],t[r+4>>2]=t[ts+4>>2],no(e,4446,r)|0,t[Zi>>2]=18,t[Zi+4>>2]=0,t[r>>2]=t[Zi>>2],t[r+4>>2]=t[Zi+4>>2],no(e,4458,r)|0,t[On>>2]=3,t[On+4>>2]=0,t[r>>2]=t[On>>2],t[r+4>>2]=t[On+4>>2],ul(e,4471,r)|0,t[kr>>2]=1,t[kr+4>>2]=0,t[r>>2]=t[kr>>2],t[r+4>>2]=t[kr+4>>2],dc(e,4486,r)|0,t[hr>>2]=10,t[hr+4>>2]=0,t[r>>2]=t[hr>>2],t[r+4>>2]=t[hr+4>>2],Jl(e,4496,r)|0,t[mn>>2]=11,t[mn+4>>2]=0,t[r>>2]=t[mn>>2],t[r+4>>2]=t[mn+4>>2],Jl(e,4508,r)|0,t[Nn>>2]=3,t[Nn+4>>2]=0,t[r>>2]=t[Nn>>2],t[r+4>>2]=t[Nn+4>>2],za(e,4519,r)|0,t[Lr>>2]=4,t[Lr+4>>2]=0,t[r>>2]=t[Lr>>2],t[r+4>>2]=t[Lr+4>>2],Od(e,4530,r)|0,t[Qt>>2]=19,t[Qt+4>>2]=0,t[r>>2]=t[Qt>>2],t[r+4>>2]=t[Qt+4>>2],_h(e,4542,r)|0,t[Fe>>2]=12,t[Fe+4>>2]=0,t[r>>2]=t[Fe>>2],t[r+4>>2]=t[Fe+4>>2],_f(e,4554,r)|0,t[Re>>2]=13,t[Re+4>>2]=0,t[r>>2]=t[Re>>2],t[r+4>>2]=t[Re+4>>2],Ef(e,4568,r)|0,t[st>>2]=2,t[st+4>>2]=0,t[r>>2]=t[st>>2],t[r+4>>2]=t[st+4>>2],Qc(e,4578,r)|0,t[We>>2]=20,t[We+4>>2]=0,t[r>>2]=t[We>>2],t[r+4>>2]=t[We+4>>2],xl(e,4587,r)|0,t[Qe>>2]=22,t[Qe+4>>2]=0,t[r>>2]=t[Qe>>2],t[r+4>>2]=t[Qe+4>>2],js(e,4602,r)|0,t[ve>>2]=23,t[ve+4>>2]=0,t[r>>2]=t[ve>>2],t[r+4>>2]=t[ve+4>>2],js(e,4619,r)|0,t[Ee>>2]=14,t[Ee+4>>2]=0,t[r>>2]=t[Ee>>2],t[r+4>>2]=t[Ee+4>>2],Jc(e,4629,r)|0,t[Pe>>2]=1,t[Pe+4>>2]=0,t[r>>2]=t[Pe>>2],t[r+4>>2]=t[Pe+4>>2],ca(e,4637,r)|0,t[K>>2]=4,t[K+4>>2]=0,t[r>>2]=t[K>>2],t[r+4>>2]=t[K+4>>2],ul(e,4653,r)|0,t[P>>2]=5,t[P+4>>2]=0,t[r>>2]=t[P>>2],t[r+4>>2]=t[P+4>>2],ul(e,4669,r)|0,t[O>>2]=6,t[O+4>>2]=0,t[r>>2]=t[O>>2],t[r+4>>2]=t[O+4>>2],ul(e,4686,r)|0,t[M>>2]=7,t[M+4>>2]=0,t[r>>2]=t[M>>2],t[r+4>>2]=t[M+4>>2],ul(e,4701,r)|0,t[S>>2]=8,t[S+4>>2]=0,t[r>>2]=t[S>>2],t[r+4>>2]=t[S+4>>2],ul(e,4719,r)|0,t[D>>2]=9,t[D+4>>2]=0,t[r>>2]=t[D>>2],t[r+4>>2]=t[D+4>>2],ul(e,4736,r)|0,t[h>>2]=21,t[h+4>>2]=0,t[r>>2]=t[h>>2],t[r+4>>2]=t[h+4>>2],c2(e,4754,r)|0,t[s>>2]=2,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],dc(e,4772,r)|0,t[l>>2]=3,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],dc(e,4790,r)|0,t[u>>2]=4,t[u+4>>2]=0,t[r>>2]=t[u>>2],t[r+4>>2]=t[u+4>>2],dc(e,4808,r)|0,m=n}function gf(e,n){e=e|0,n=n|0;var r=0;r=Ja()|0,t[e>>2]=r,jo(r,n),Q2(t[e>>2]|0)}function Xc(e,n,r){return e=e|0,n=n|0,r=r|0,Ot(e,Or(n)|0,r,0),e|0}function gh(e,n,r){return e=e|0,n=n|0,r=r|0,c(e,Or(n)|0,r,0),e|0}function vm(e,n,r){return e=e|0,n=n|0,r=r|0,cE(e,Or(n)|0,r,0),e|0}function js(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],rE(e,n,l),m=u,e|0}function fa(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],bl(e,n,l),m=u,e|0}function Ji(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],d(e,n,l),m=u,e|0}function O0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Tv(e,n,l),m=u,e|0}function t0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],sy(e,n,l),m=u,e|0}function Jl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],W2(e,n,l),m=u,e|0}function za(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],H2(e,n,l),m=u,e|0}function no(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],k0(e,n,l),m=u,e|0}function ul(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Ep(e,n,l),m=u,e|0}function dc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Hm(e,n,l),m=u,e|0}function Od(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],n0(e,n,l),m=u,e|0}function _h(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],x2(e,n,l),m=u,e|0}function _f(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Fm(e,n,l),m=u,e|0}function Ef(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Zd(e,n,l),m=u,e|0}function Qc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],p1(e,n,l),m=u,e|0}function xl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Ga(e,n,l),m=u,e|0}function Jc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Id(e,n,l),m=u,e|0}function ca(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Nd(e,n,l),m=u,e|0}function c2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],d2(e,n,l),m=u,e|0}function d2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],da(e,r,l,1),m=u}function Or(e){return e=e|0,e|0}function da(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=kd()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Zc(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,p2(s,u)|0,u),m=l}function kd(){var e=0,n=0;if(p[7616]|0||(ol(9136),Ht(24,9136,he|0)|0,n=7616,t[n>>2]=1,t[n+4>>2]=0),!(rr(9136)|0)){e=9136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));ol(9136)}return 9136}function Zc(e){return e=e|0,0}function p2(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=kd()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Df(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(wf(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function vi(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0;h=m,m=m+32|0,K=h+24|0,P=h+20|0,S=h+16|0,O=h+12|0,M=h+8|0,D=h+4|0,Pe=h,t[P>>2]=n,t[S>>2]=r,t[O>>2]=u,t[M>>2]=l,t[D>>2]=s,s=e+28|0,t[Pe>>2]=t[s>>2],t[K>>2]=t[Pe>>2],Md(e+24|0,K,P,O,M,S,D)|0,t[s>>2]=t[t[s>>2]>>2],m=h}function Md(e,n,r,u,l,s,h){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,e=mm(n)|0,n=cn(24)|0,h2(n+4|0,t[r>>2]|0,t[u>>2]|0,t[l>>2]|0,t[s>>2]|0,t[h>>2]|0),t[n>>2]=t[e>>2],t[e>>2]=n,n|0}function mm(e){return e=e|0,t[e>>2]|0}function h2(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=u,t[e+12>>2]=l,t[e+16>>2]=s}function dn(e,n){return e=e|0,n=n|0,n|e|0}function Df(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function wf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=ym(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Sf(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Df(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Eh(e,D),gm(D),m=M;return}}function ym(e){return e=e|0,357913941}function Sf(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Eh(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function gm(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function ol(e){e=e|0,Bo(e)}function $c(e){e=e|0,Un(e+24|0)}function rr(e){return e=e|0,t[e>>2]|0}function Un(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Bo(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,3,n,zn()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function dr(){return 9228}function zn(){return 1140}function ll(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=yo(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=pc(n,u)|0,m=r,n|0}function Pn(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=u,t[e+12>>2]=l,t[e+16>>2]=s}function yo(e){return e=e|0,(t[(kd()|0)+24>>2]|0)+(e*12|0)|0}function pc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+48|0,u=l,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),N1[r&31](u,e),u=ro(u)|0,m=l,u|0}function ro(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Ou(qa()|0)|0,u?(Zl(n,u),Tf(r,n),hc(e,r),e=Es(n)|0):e=vc(e)|0,m=l,e|0}function qa(){var e=0;return p[7632]|0||(xf(9184),Ht(25,9184,he|0)|0,e=7632,t[e>>2]=1,t[e+4>>2]=0),9184}function Ou(e){return e=e|0,t[e+36>>2]|0}function Zl(e,n){e=e|0,n=n|0,t[e>>2]=n,t[e+4>>2]=e,t[e+8>>2]=0}function Tf(e,n){e=e|0,n=n|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=0}function hc(e,n){e=e|0,n=n|0,io(n,e,e+8|0,e+16|0,e+24|0,e+32|0,e+40|0)|0}function Es(e){return e=e|0,t[(t[e+4>>2]|0)+8>>2]|0}function vc(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0;S=m,m=m+16|0,r=S+4|0,u=S,l=Sa(8)|0,s=l,h=cn(48)|0,D=h,n=D+48|0;do t[D>>2]=t[e>>2],D=D+4|0,e=e+4|0;while((D|0)<(n|0));return n=s+4|0,t[n>>2]=h,D=cn(8)|0,h=t[n>>2]|0,t[u>>2]=0,t[r>>2]=t[u>>2],Dh(D,h,r),t[l>>2]=D,m=S,s|0}function Dh(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1092,t[r+12>>2]=n,t[e+4>>2]=r}function an(e){e=e|0,Pv(e),yt(e)}function $l(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function go(e){e=e|0,yt(e)}function io(e,n,r,u,l,s,h){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,s=Hi(t[e>>2]|0,n,r,u,l,s,h)|0,h=e+4|0,t[(t[h>>2]|0)+8>>2]=s,t[(t[h>>2]|0)+8>>2]|0}function Hi(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0;var D=0,S=0;return D=m,m=m+16|0,S=D,Ta(S),e=vo(e)|0,h=zr(e,+U[n>>3],+U[r>>3],+U[u>>3],+U[l>>3],+U[s>>3],+U[h>>3])|0,Ca(S),m=D,h|0}function zr(e,n,r,u,l,s,h){e=e|0,n=+n,r=+r,u=+u,l=+l,s=+s,h=+h;var D=0;return D=mo(Cf()|0)|0,n=+Cl(n),r=+Cl(r),u=+Cl(u),l=+Cl(l),s=+Cl(s),f0(0,D|0,e|0,+n,+r,+u,+l,+s,+ +Cl(h))|0}function Cf(){var e=0;return p[7624]|0||(_m(9172),e=7624,t[e>>2]=1,t[e+4>>2]=0),9172}function _m(e){e=e|0,nl(e,Al()|0,6)}function Al(){return 1112}function xf(e){e=e|0,Ha(e)}function Af(e){e=e|0,v2(e+24|0),m2(e+16|0)}function v2(e){e=e|0,e1(e)}function m2(e){e=e|0,mc(e)}function mc(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,yt(r);while((n|0)!=0);t[e>>2]=0}function e1(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,yt(r);while((n|0)!=0);t[e>>2]=0}function Ha(e){e=e|0;var n=0;t[e+16>>2]=0,t[e+20>>2]=0,n=e+24|0,t[n>>2]=0,t[e+28>>2]=n,t[e+36>>2]=0,p[e+40>>0]=0,p[e+41>>0]=0}function Nd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],y2(e,r,l,0),m=u}function y2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=t1()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Rf(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,n1(s,u)|0,u),m=l}function t1(){var e=0,n=0;if(p[7640]|0||(Rl(9232),Ht(26,9232,he|0)|0,n=7640,t[n>>2]=1,t[n+4>>2]=0),!(rr(9232)|0)){e=9232,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Rl(9232)}return 9232}function Rf(e){return e=e|0,0}function n1(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=t1()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Wa(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(r1(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Wa(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function r1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Ld(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,g2(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Wa(s,u,r),t[S>>2]=(t[S>>2]|0)+12,yc(e,D),i1(D),m=M;return}}function Ld(e){return e=e|0,357913941}function g2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function yc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function i1(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Rl(e){e=e|0,Fd(e)}function pa(e){e=e|0,wh(e+24|0)}function wh(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Fd(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,1,n,bd()|0,3),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function bd(){return 1144}function Sh(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+16|0,h=s+8|0,D=s,S=_2(e)|0,e=t[S+4>>2]|0,t[D>>2]=t[S>>2],t[D+4>>2]=e,t[h>>2]=t[D>>2],t[h+4>>2]=t[D+4>>2],Th(n,h,r,u,l),m=s}function _2(e){return e=e|0,(t[(t1()|0)+24>>2]|0)+(e*12|0)|0}function Th(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0;var s=0,h=0,D=0,S=0,M=0;M=m,m=m+16|0,h=M+2|0,D=M+1|0,S=M,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),Ol(h,r),r=+es(h,r),Ol(D,u),u=+es(D,u),Ds(S,l),S=zs(S,l)|0,Z8[s&1](e,r,u,S),m=M}function Ol(e,n){e=e|0,n=+n}function es(e,n){return e=e|0,n=+n,+ +Ch(n)}function Ds(e,n){e=e|0,n=n|0}function zs(e,n){return e=e|0,n=n|0,Pd(n)|0}function Pd(e){return e=e|0,e|0}function Ch(e){return e=+e,+e}function Id(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Bd(e,r,l,1),m=u}function Bd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=u1()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=o1(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,xh(s,u)|0,u),m=l}function u1(){var e=0,n=0;if(p[7648]|0||(l1(9268),Ht(27,9268,he|0)|0,n=7648,t[n>>2]=1,t[n+4>>2]=0),!(rr(9268)|0)){e=9268,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));l1(9268)}return 9268}function o1(e){return e=e|0,0}function xh(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=u1()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Ud(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jd(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Ud(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function jd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=ws(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Va(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Ud(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Ah(e,D),uu(D),m=M;return}}function ws(e){return e=e|0,357913941}function Va(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Ah(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function uu(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function l1(e){e=e|0,kl(e)}function Rh(e){e=e|0,s1(e+24|0)}function s1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function kl(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,4,n,Oh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Oh(){return 1160}function zd(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=kh(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=a1(n,u)|0,m=r,n|0}function kh(e){return e=e|0,(t[(u1()|0)+24>>2]|0)+(e*12|0)|0}function a1(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Ml(Xp[r&31](e)|0)|0}function Ml(e){return e=e|0,e&1|0}function Ga(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ha(e,r,l,0),m=u}function ha(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=qd()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Hd(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Em(s,u)|0,u),m=l}function qd(){var e=0,n=0;if(p[7656]|0||(Lh(9304),Ht(28,9304,he|0)|0,n=7656,t[n>>2]=1,t[n+4>>2]=0),!(rr(9304)|0)){e=9304,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Lh(9304)}return 9304}function Hd(e){return e=e|0,0}function Em(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=qd()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Wd(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Mh(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Wd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Mh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Nh(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Vd(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Wd(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Dm(e,D),wm(D),m=M;return}}function Nh(e){return e=e|0,357913941}function Vd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Dm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function wm(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Lh(e){e=e|0,f1(e)}function Sm(e){e=e|0,Gd(e+24|0)}function Gd(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function f1(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,5,n,c1()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function c1(){return 1164}function d1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=va(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Yd(n,l,r),m=u}function va(e){return e=e|0,(t[(qd()|0)+24>>2]|0)+(e*12|0)|0}function Yd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),qs(l,r),r=Hs(l,r)|0,N1[u&31](e,r),Ws(l),m=s}function qs(e,n){e=e|0,n=n|0,Kd(e,n)}function Hs(e,n){return e=e|0,n=n|0,e|0}function Ws(e){e=e|0,ia(e)}function Kd(e,n){e=e|0,n=n|0,ma(e,n)}function ma(e,n){e=e|0,n=n|0,t[e>>2]=n}function p1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],E2(e,r,l,0),m=u}function E2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=gc()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Xd(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,_o(s,u)|0,u),m=l}function gc(){var e=0,n=0;if(p[7664]|0||(Uh(9340),Ht(29,9340,he|0)|0,n=7664,t[n>>2]=1,t[n+4>>2]=0),!(rr(9340)|0)){e=9340,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Uh(9340)}return 9340}function Xd(e){return e=e|0,0}function _o(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=gc()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Fh(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(bh(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Fh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function bh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Ph(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Ih(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Fh(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Tm(e,D),Bh(D),m=M;return}}function Ph(e){return e=e|0,357913941}function Ih(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Tm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Bh(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Uh(e){e=e|0,jh(e)}function h1(e){e=e|0,Qd(e+24|0)}function Qd(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function jh(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,4,n,Jd()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Jd(){return 1180}function zh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=Cm(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=xm(n,l,r)|0,m=u,r|0}function Cm(e){return e=e|0,(t[(gc()|0)+24>>2]|0)+(e*12|0)|0}function xm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Of(l,r),l=kf(l,r)|0,l=D2(ZE[u&15](e,l)|0)|0,m=s,l|0}function Of(e,n){e=e|0,n=n|0}function kf(e,n){return e=e|0,n=n|0,Am(n)|0}function D2(e){return e=e|0,e|0}function Am(e){return e=e|0,e|0}function Zd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],w2(e,r,l,0),m=u}function w2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=$d()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=qh(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,ep(s,u)|0,u),m=l}function $d(){var e=0,n=0;if(p[7672]|0||(Vh(9376),Ht(30,9376,he|0)|0,n=7672,t[n>>2]=1,t[n+4>>2]=0),!(rr(9376)|0)){e=9376,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Vh(9376)}return 9376}function qh(e){return e=e|0,0}function ep(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=$d()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Hh(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Wh(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Hh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Wh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=tp(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Rm(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Hh(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Om(e,D),km(D),m=M;return}}function tp(e){return e=e|0,357913941}function Rm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Om(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function km(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Vh(e){e=e|0,np(e)}function v1(e){e=e|0,Mm(e+24|0)}function Mm(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function np(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,5,n,rp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function rp(){return 1196}function Nm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=Lm(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=Gh(n,u)|0,m=r,n|0}function Lm(e){return e=e|0,(t[($d()|0)+24>>2]|0)+(e*12|0)|0}function Gh(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),D2(Xp[r&31](e)|0)|0}function Fm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],bm(e,r,l,1),m=u}function bm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=ip()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=up(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,ya(s,u)|0,u),m=l}function ip(){var e=0,n=0;if(p[7680]|0||(lp(9412),Ht(31,9412,he|0)|0,n=7680,t[n>>2]=1,t[n+4>>2]=0),!(rr(9412)|0)){e=9412,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));lp(9412)}return 9412}function up(e){return e=e|0,0}function ya(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=ip()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],m1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(op(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function m1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function op(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Yh(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,S2(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],m1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,y1(e,D),Kh(D),m=M;return}}function Yh(e){return e=e|0,357913941}function S2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function y1(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Kh(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function lp(e){e=e|0,Qh(e)}function Xh(e){e=e|0,sp(e+24|0)}function sp(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Qh(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,6,n,Jh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Jh(){return 1200}function ap(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=T2(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=C2(n,u)|0,m=r,n|0}function T2(e){return e=e|0,(t[(ip()|0)+24>>2]|0)+(e*12|0)|0}function C2(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),z0(Xp[r&31](e)|0)|0}function z0(e){return e=e|0,e|0}function x2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ga(e,r,l,0),m=u}function ga(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Ya()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=A2(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,R2(s,u)|0,u),m=l}function Ya(){var e=0,n=0;if(p[7688]|0||(dp(9448),Ht(32,9448,he|0)|0,n=7688,t[n>>2]=1,t[n+4>>2]=0),!(rr(9448)|0)){e=9448,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));dp(9448)}return 9448}function A2(e){return e=e|0,0}function R2(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Ya()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],fp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(O2(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function fp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function O2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Zh(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Pm(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],fp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,$h(e,D),cp(D),m=M;return}}function Zh(e){return e=e|0,357913941}function Pm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function $h(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function cp(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function dp(e){e=e|0,Bm(e)}function pp(e){e=e|0,Im(e+24|0)}function Im(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Bm(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,6,n,Eo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Eo(){return 1204}function k2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=Um(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],sl(n,l,r),m=u}function Um(e){return e=e|0,(t[(Ya()|0)+24>>2]|0)+(e*12|0)|0}function sl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Jn(l,r),l=Vs(l,r)|0,N1[u&31](e,l),m=s}function Jn(e,n){e=e|0,n=n|0}function Vs(e,n){return e=e|0,n=n|0,al(n)|0}function al(e){return e=e|0,e|0}function n0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ev(e,r,l,0),m=u}function ev(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Gs()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=hp(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,jm(s,u)|0,u),m=l}function Gs(){var e=0,n=0;if(p[7696]|0||(yp(9484),Ht(33,9484,he|0)|0,n=7696,t[n>>2]=1,t[n+4>>2]=0),!(rr(9484)|0)){e=9484,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));yp(9484)}return 9484}function hp(e){return e=e|0,0}function jm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Gs()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],tv(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(vp(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function tv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function vp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=zm(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,mp(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],tv(s,u,r),t[S>>2]=(t[S>>2]|0)+12,_c(e,D),Ea(D),m=M;return}}function zm(e){return e=e|0,357913941}function mp(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function _c(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Ea(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function yp(e){e=e|0,zu(e)}function M2(e){e=e|0,ku(e+24|0)}function ku(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function zu(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,1,n,gp()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gp(){return 1212}function _p(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=nv(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],qm(n,s,r,u),m=l}function nv(e){return e=e|0,(t[(Gs()|0)+24>>2]|0)+(e*12|0)|0}function qm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),Jn(s,r),s=Vs(s,r)|0,Of(h,u),h=kf(h,u)|0,jy[l&15](e,s,h),m=D}function Hm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Wm(e,r,l,1),m=u}function Wm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=N2()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=rv(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Ec(s,u)|0,u),m=l}function N2(){var e=0,n=0;if(p[7704]|0||(iv(9520),Ht(34,9520,he|0)|0,n=7704,t[n>>2]=1,t[n+4>>2]=0),!(rr(9520)|0)){e=9520,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));iv(9520)}return 9520}function rv(e){return e=e|0,0}function Ec(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=N2()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],g1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Vm(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function g1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Vm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=L2(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,_1(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],g1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Nl(e,D),Da(D),m=M;return}}function L2(e){return e=e|0,357913941}function _1(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Nl(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Da(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function iv(e){e=e|0,ov(e)}function Gm(e){e=e|0,uv(e+24|0)}function uv(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function ov(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,1,n,Ym()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Ym(){return 1224}function lv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;return l=m,m=m+16|0,s=l+8|0,h=l,D=wa(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],u=+Cr(n,s,r),m=l,+u}function wa(e){return e=e|0,(t[(N2()|0)+24>>2]|0)+(e*12|0)|0}function Cr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ds(l,r),l=zs(l,r)|0,h=+ja(+eS[u&7](e,l)),m=s,+h}function Ep(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],fl(e,r,l,1),m=u}function fl(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=cu()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=E1(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,ki(s,u)|0,u),m=l}function cu(){var e=0,n=0;if(p[7712]|0||(wp(9556),Ht(35,9556,he|0)|0,n=7712,t[n>>2]=1,t[n+4>>2]=0),!(rr(9556)|0)){e=9556,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));wp(9556)}return 9556}function E1(e){return e=e|0,0}function ki(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=cu()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Dp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(F2(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Dp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function F2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Do(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Ss(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Dp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Mf(e,D),b2(D),m=M;return}}function Do(e){return e=e|0,357913941}function Ss(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Mf(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function b2(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function wp(e){e=e|0,Sp(e)}function D1(e){e=e|0,w1(e+24|0)}function w1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Sp(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,5,n,Zn()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Zn(){return 1232}function cl(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=qn(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=+q0(n,l),m=u,+r}function qn(e){return e=e|0,(t[(cu()|0)+24>>2]|0)+(e*12|0)|0}function q0(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),+ +ja(+$8[r&15](e))}function k0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],P2(e,r,l,1),m=u}function P2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Ll()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=S1(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Dc(s,u)|0,u),m=l}function Ll(){var e=0,n=0;if(p[7720]|0||(U2(9592),Ht(36,9592,he|0)|0,n=7720,t[n>>2]=1,t[n+4>>2]=0),!(rr(9592)|0)){e=9592,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));U2(9592)}return 9592}function S1(e){return e=e|0,0}function Dc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Ll()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],wc(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(I2(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function wc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function I2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Tp(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,M0(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],wc(s,u,r),t[S>>2]=(t[S>>2]|0)+12,fn(e,D),B2(D),m=M;return}}function Tp(e){return e=e|0,357913941}function M0(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function fn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function B2(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function U2(e){e=e|0,Cc(e)}function Sc(e){e=e|0,Tc(e+24|0)}function Tc(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Cc(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,7,n,T1()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function T1(){return 1276}function Cp(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=Ka(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=Km(n,u)|0,m=r,n|0}function Ka(e){return e=e|0,(t[(Ll()|0)+24>>2]|0)+(e*12|0)|0}function Km(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+16|0,u=l,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),N1[r&31](u,e),u=xc(u)|0,m=l,u|0}function xc(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Ou(j2()|0)|0,u?(Zl(n,u),Tf(r,n),sv(e,r),e=Es(n)|0):e=C1(e)|0,m=l,e|0}function j2(){var e=0;return p[7736]|0||(Uo(9640),Ht(25,9640,he|0)|0,e=7736,t[e>>2]=1,t[e+4>>2]=0),9640}function sv(e,n){e=e|0,n=n|0,Ac(n,e,e+8|0)|0}function C1(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Sa(8)|0,n=u,D=cn(16)|0,t[D>>2]=t[e>>2],t[D+4>>2]=t[e+4>>2],t[D+8>>2]=t[e+8>>2],t[D+12>>2]=t[e+12>>2],s=n+4|0,t[s>>2]=D,e=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],Nf(e,s,l),t[u>>2]=e,m=r,n|0}function Nf(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1244,t[r+12>>2]=n,t[e+4>>2]=r}function Lf(e){e=e|0,Pv(e),yt(e)}function x1(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function Fl(e){e=e|0,yt(e)}function Ac(e,n,r){return e=e|0,n=n|0,r=r|0,n=Ff(t[e>>2]|0,n,r)|0,r=e+4|0,t[(t[r>>2]|0)+8>>2]=n,t[(t[r>>2]|0)+8>>2]|0}function Ff(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;return u=m,m=m+16|0,l=u,Ta(l),e=vo(e)|0,r=Xm(e,t[n>>2]|0,+U[r>>3])|0,Ca(l),m=u,r|0}function Xm(e,n,r){e=e|0,n=n|0,r=+r;var u=0;return u=mo(dl()|0)|0,n=u2(n)|0,Pr(0,u|0,e|0,n|0,+ +Cl(r))|0}function dl(){var e=0;return p[7728]|0||(z2(9628),e=7728,t[e>>2]=1,t[e+4>>2]=0),9628}function z2(e){e=e|0,nl(e,q2()|0,2)}function q2(){return 1264}function Uo(e){e=e|0,Ha(e)}function H2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Qm(e,r,l,1),m=u}function Qm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=A1()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Jm(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Zm(s,u)|0,u),m=l}function A1(){var e=0,n=0;if(p[7744]|0||(cv(9684),Ht(37,9684,he|0)|0,n=7744,t[n>>2]=1,t[n+4>>2]=0),!(rr(9684)|0)){e=9684,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));cv(9684)}return 9684}function Jm(e){return e=e|0,0}function Zm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=A1()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],av(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):($m(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function av(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function $m(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=fv(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,ey(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],av(s,u,r),t[S>>2]=(t[S>>2]|0)+12,ty(e,D),ny(D),m=M;return}}function fv(e){return e=e|0,357913941}function ey(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function ty(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function ny(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function cv(e){e=e|0,iy(e)}function ry(e){e=e|0,xp(e+24|0)}function xp(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function iy(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,5,n,bf()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function bf(){return 1280}function dv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=pv(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=hv(n,l,r)|0,m=u,r|0}function pv(e){return e=e|0,(t[(A1()|0)+24>>2]|0)+(e*12|0)|0}function hv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return h=m,m=m+32|0,l=h,s=h+16|0,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ds(s,r),s=zs(s,r)|0,jy[u&15](l,e,s),s=xc(l)|0,m=h,s|0}function W2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],V2(e,r,l,1),m=u}function V2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Ap()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=vv(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,G2(s,u)|0,u),m=l}function Ap(){var e=0,n=0;if(p[7752]|0||(Ev(9720),Ht(38,9720,he|0)|0,n=7752,t[n>>2]=1,t[n+4>>2]=0),!(rr(9720)|0)){e=9720,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ev(9720)}return 9720}function vv(e){return e=e|0,0}function G2(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Ap()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],mv(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(yv(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function mv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function yv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Rp(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,gv(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],mv(s,u,r),t[S>>2]=(t[S>>2]|0)+12,_v(e,D),uy(D),m=M;return}}function Rp(e){return e=e|0,357913941}function gv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function _v(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function uy(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Ev(e){e=e|0,Dv(e)}function oy(e){e=e|0,Y2(e+24|0)}function Y2(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Dv(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,8,n,Op()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Op(){return 1288}function ly(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=r0(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=kp(n,u)|0,m=r,n|0}function r0(e){return e=e|0,(t[(Ap()|0)+24>>2]|0)+(e*12|0)|0}function kp(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),s2(Xp[r&31](e)|0)|0}function sy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ay(e,r,l,0),m=u}function ay(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Mp()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Xa(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Np(s,u)|0,u),m=l}function Mp(){var e=0,n=0;if(p[7760]|0||(bp(9756),Ht(39,9756,he|0)|0,n=7760,t[n>>2]=1,t[n+4>>2]=0),!(rr(9756)|0)){e=9756,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));bp(9756)}return 9756}function Xa(e){return e=e|0,0}function Np(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Mp()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Lp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Fp(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Lp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Fp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=fy(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,cy(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Lp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,wv(e,D),Pf(D),m=M;return}}function fy(e){return e=e|0,357913941}function cy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function wv(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Pf(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function bp(e){e=e|0,py(e)}function Sv(e){e=e|0,dy(e+24|0)}function dy(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function py(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,8,n,Pp()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Pp(){return 1292}function Ip(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=hy(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],vy(n,l,r),m=u}function hy(e){return e=e|0,(t[(Mp()|0)+24>>2]|0)+(e*12|0)|0}function vy(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ol(l,r),r=+es(l,r),Q8[u&31](e,r),m=s}function Tv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Bp(e,r,l,0),m=u}function Bp(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Up()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=K2(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,my(s,u)|0,u),m=l}function Up(){var e=0,n=0;if(p[7768]|0||(jp(9792),Ht(40,9792,he|0)|0,n=7768,t[n>>2]=1,t[n+4>>2]=0),!(rr(9792)|0)){e=9792,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));jp(9792)}return 9792}function K2(e){return e=e|0,0}function my(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Up()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],R1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(yy(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function R1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function yy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Cv(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,xv(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],R1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,gy(e,D),If(D),m=M;return}}function Cv(e){return e=e|0,357913941}function xv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function gy(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function If(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function jp(e){e=e|0,Ey(e)}function Av(e){e=e|0,_y(e+24|0)}function _y(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Ey(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,1,n,zp()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zp(){return 1300}function Dy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=Ys(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],wy(n,s,r,u),m=l}function Ys(e){return e=e|0,(t[(Up()|0)+24>>2]|0)+(e*12|0)|0}function wy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),Ds(s,r),s=zs(s,r)|0,Ol(h,u),u=+es(h,u),iS[l&15](e,s,u),m=D}function d(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],v(e,r,l,0),m=u}function v(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=x()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=b(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,H(s,u)|0,u),m=l}function x(){var e=0,n=0;if(p[7776]|0||(Rt(9828),Ht(41,9828,he|0)|0,n=7776,t[n>>2]=1,t[n+4>>2]=0),!(rr(9828)|0)){e=9828,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Rt(9828)}return 9828}function b(e){return e=e|0,0}function H(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=x()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],ee(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(de(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function ee(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function de(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=ye(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,be(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],ee(s,u,r),t[S>>2]=(t[S>>2]|0)+12,gt(e,D),Dt(D),m=M;return}}function ye(e){return e=e|0,357913941}function be(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function gt(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Dt(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Rt(e){e=e|0,$n(e)}function rn(e){e=e|0,Rn(e+24|0)}function Rn(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function $n(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,7,n,Nr()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Nr(){return 1312}function ir(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=Zr(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ui(n,l,r),m=u}function Zr(e){return e=e|0,(t[(x()|0)+24>>2]|0)+(e*12|0)|0}function ui(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ds(l,r),l=zs(l,r)|0,N1[u&31](e,l),m=s}function bl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Wi(e,r,l,0),m=u}function Wi(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=uo()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=i0(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Ts(s,u)|0,u),m=l}function uo(){var e=0,n=0;if(p[7784]|0||(r_(9864),Ht(42,9864,he|0)|0,n=7784,t[n>>2]=1,t[n+4>>2]=0),!(rr(9864)|0)){e=9864,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));r_(9864)}return 9864}function i0(e){return e=e|0,0}function Ts(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=uo()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],wo(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Rv(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function wo(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Rv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=X4(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Sy(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],wo(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Ty(e,D),Qa(D),m=M;return}}function X4(e){return e=e|0,357913941}function Sy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Ty(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Qa(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function r_(e){e=e|0,Z4(e)}function Q4(e){e=e|0,J4(e+24|0)}function J4(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Z4(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,8,n,$4()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function $4(){return 1320}function Cy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=eE(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],tE(n,l,r),m=u}function eE(e){return e=e|0,(t[(uo()|0)+24>>2]|0)+(e*12|0)|0}function tE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xy(l,r),l=i_(l,r)|0,N1[u&31](e,l),m=s}function xy(e,n){e=e|0,n=n|0}function i_(e,n){return e=e|0,n=n|0,nE(n)|0}function nE(e){return e=e|0,e|0}function rE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],u_(e,r,l,0),m=u}function u_(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Bf()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=o_(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,iE(s,u)|0,u),m=l}function Bf(){var e=0,n=0;if(p[7792]|0||(Oy(9900),Ht(43,9900,he|0)|0,n=7792,t[n>>2]=1,t[n+4>>2]=0),!(rr(9900)|0)){e=9900,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Oy(9900)}return 9900}function o_(e){return e=e|0,0}function iE(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Bf()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],qp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(uE(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function qp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function uE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Ov(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Ay(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],qp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Ry(e,D),oE(D),m=M;return}}function Ov(e){return e=e|0,357913941}function Ay(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Ry(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function oE(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Oy(e){e=e|0,l_(e)}function lE(e){e=e|0,sE(e+24|0)}function sE(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function l_(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,22,n,aE()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function aE(){return 1344}function fE(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;r=m,m=m+16|0,u=r+8|0,l=r,s=s_(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],kv(n,u),m=r}function s_(e){return e=e|0,(t[(Bf()|0)+24>>2]|0)+(e*12|0)|0}function kv(e,n){e=e|0,n=n|0;var r=0;r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),M1[r&127](e)}function cE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=ky()|0,e=dE(r)|0,vi(s,n,l,e,pE(r,u)|0,u)}function ky(){var e=0,n=0;if(p[7800]|0||(Ny(9936),Ht(44,9936,he|0)|0,n=7800,t[n>>2]=1,t[n+4>>2]=0),!(rr(9936)|0)){e=9936,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ny(9936)}return 9936}function dE(e){return e=e|0,e|0}function pE(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=ky()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(My(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(a_(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function My(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function a_(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=f_(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,c_(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,My(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,d_(e,l),p_(l),m=D;return}}function f_(e){return e=e|0,536870911}function c_(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function d_(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function p_(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function Ny(e){e=e|0,v_(e)}function h_(e){e=e|0,hE(e+24|0)}function hE(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function v_(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,23,n,Eo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function vE(e,n){e=e|0,n=n|0,a(t[(mE(e)|0)>>2]|0,n)}function mE(e){return e=e|0,(t[(ky()|0)+24>>2]|0)+(e<<3)|0}function a(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,Jn(u,n),n=Vs(u,n)|0,M1[e&127](n),m=r}function c(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=_()|0,e=T(r)|0,vi(s,n,l,e,R(r,u)|0,u)}function _(){var e=0,n=0;if(p[7808]|0||(pt(9972),Ht(45,9972,he|0)|0,n=7808,t[n>>2]=1,t[n+4>>2]=0),!(rr(9972)|0)){e=9972,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));pt(9972)}return 9972}function T(e){return e=e|0,e|0}function R(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=_()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(j(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(V(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function j(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function V(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=te(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,oe(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,j(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Ie(e,l),Ye(l),m=D;return}}function te(e){return e=e|0,536870911}function oe(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Ie(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Ye(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function pt(e){e=e|0,zt(e)}function Nt(e){e=e|0,Vt(e+24|0)}function Vt(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function zt(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,9,n,vn()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function vn(){return 1348}function xr(e,n){return e=e|0,n=n|0,wi(t[($r(e)|0)>>2]|0,n)|0}function $r(e){return e=e|0,(t[(_()|0)+24>>2]|0)+(e<<3)|0}function wi(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,N0(u,n),n=Vi(u,n)|0,n=D2(Xp[e&31](n)|0)|0,m=r,n|0}function N0(e,n){e=e|0,n=n|0}function Vi(e,n){return e=e|0,n=n|0,it(n)|0}function it(e){return e=e|0,e|0}function Ot(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=Je()|0,e=Bt(r)|0,vi(s,n,l,e,Mn(r,u)|0,u)}function Je(){var e=0,n=0;if(p[7816]|0||(qr(10008),Ht(46,10008,he|0)|0,n=7816,t[n>>2]=1,t[n+4>>2]=0),!(rr(10008)|0)){e=10008,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));qr(10008)}return 10008}function Bt(e){return e=e|0,e|0}function Mn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=Je()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(pn(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Pi(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function pn(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Pi(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=oi(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,qu(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,pn(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,ar(e,l),ou(l),m=D;return}}function oi(e){return e=e|0,536870911}function qu(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function ar(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function ou(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function qr(e){e=e|0,H0(e)}function _u(e){e=e|0,_0(e+24|0)}function _0(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function H0(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,15,n,rp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Cs(e){return e=e|0,pl(t[(Hu(e)|0)>>2]|0)|0}function Hu(e){return e=e|0,(t[(Je()|0)+24>>2]|0)+(e<<3)|0}function pl(e){return e=e|0,D2(N_[e&7]()|0)|0}function Ja(){var e=0;return p[7832]|0||(y_(10052),Ht(25,10052,he|0)|0,e=7832,t[e>>2]=1,t[e+4>>2]=0),10052}function jo(e,n){e=e|0,n=n|0,t[e>>2]=xs()|0,t[e+4>>2]=X2()|0,t[e+12>>2]=n,t[e+8>>2]=Uf()|0,t[e+32>>2]=2}function xs(){return 11709}function X2(){return 1188}function Uf(){return O1()|0}function Rc(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(zo(r),yt(r)):n|0&&(ms(n),yt(n))}function Pl(e,n){return e=e|0,n=n|0,n&e|0}function zo(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function O1(){var e=0;return p[7824]|0||(t[2511]=m_()|0,t[2512]=0,e=7824,t[e>>2]=1,t[e+4>>2]=0),10044}function m_(){return 0}function y_(e){e=e|0,Ha(e)}function yE(e){e=e|0;var n=0,r=0,u=0,l=0,s=0;n=m,m=m+32|0,r=n+24|0,s=n+16|0,l=n+8|0,u=n,g_(e,4827),gE(e,4834,3)|0,_E(e,3682,47)|0,t[s>>2]=9,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],Ly(e,4841,r)|0,t[l>>2]=1,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],__(e,4871,r)|0,t[u>>2]=10,t[u+4>>2]=0,t[r>>2]=t[u>>2],t[r+4>>2]=t[u+4>>2],EE(e,4891,r)|0,m=n}function g_(e,n){e=e|0,n=n|0;var r=0;r=Qk()|0,t[e>>2]=r,Jk(r,n),Q2(t[e>>2]|0)}function gE(e,n,r){return e=e|0,n=n|0,r=r|0,Fk(e,Or(n)|0,r,0),e|0}function _E(e,n,r){return e=e|0,n=n|0,r=r|0,_k(e,Or(n)|0,r,0),e|0}function Ly(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ek(e,n,l),m=u,e|0}function __(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],bO(e,n,l),m=u,e|0}function EE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],DE(e,n,l),m=u,e|0}function DE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],wE(e,r,l,1),m=u}function wE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=SE()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=DO(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,wO(s,u)|0,u),m=l}function SE(){var e=0,n=0;if(p[7840]|0||(L3(10100),Ht(48,10100,he|0)|0,n=7840,t[n>>2]=1,t[n+4>>2]=0),!(rr(10100)|0)){e=10100,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));L3(10100)}return 10100}function DO(e){return e=e|0,0}function wO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=SE()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],N3(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(SO(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function N3(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function SO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=TO(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,CO(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],N3(s,u,r),t[S>>2]=(t[S>>2]|0)+12,xO(e,D),AO(D),m=M;return}}function TO(e){return e=e|0,357913941}function CO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function xO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function AO(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function L3(e){e=e|0,kO(e)}function RO(e){e=e|0,OO(e+24|0)}function OO(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function kO(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,6,n,MO()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function MO(){return 1364}function NO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=LO(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=FO(n,l,r)|0,m=u,r|0}function LO(e){return e=e|0,(t[(SE()|0)+24>>2]|0)+(e*12|0)|0}function FO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ds(l,r),l=zs(l,r)|0,l=Ml(ZE[u&15](e,l)|0)|0,m=s,l|0}function bO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],PO(e,r,l,0),m=u}function PO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=TE()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=IO(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,BO(s,u)|0,u),m=l}function TE(){var e=0,n=0;if(p[7848]|0||(b3(10136),Ht(49,10136,he|0)|0,n=7848,t[n>>2]=1,t[n+4>>2]=0),!(rr(10136)|0)){e=10136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));b3(10136)}return 10136}function IO(e){return e=e|0,0}function BO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=TE()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],F3(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(UO(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function F3(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function UO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=jO(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,zO(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],F3(s,u,r),t[S>>2]=(t[S>>2]|0)+12,qO(e,D),HO(D),m=M;return}}function jO(e){return e=e|0,357913941}function zO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function qO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function HO(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function b3(e){e=e|0,GO(e)}function WO(e){e=e|0,VO(e+24|0)}function VO(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function GO(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,9,n,YO()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function YO(){return 1372}function KO(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=XO(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],QO(n,l,r),m=u}function XO(e){return e=e|0,(t[(TE()|0)+24>>2]|0)+(e*12|0)|0}function QO(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=St;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),JO(l,r),h=w(ZO(l,r)),X8[u&1](e,h),m=s}function JO(e,n){e=e|0,n=+n}function ZO(e,n){return e=e|0,n=+n,w($O(n))}function $O(e){return e=+e,w(e)}function ek(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],tk(e,r,l,0),m=u}function tk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=CE()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=nk(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,rk(s,u)|0,u),m=l}function CE(){var e=0,n=0;if(p[7856]|0||(I3(10172),Ht(50,10172,he|0)|0,n=7856,t[n>>2]=1,t[n+4>>2]=0),!(rr(10172)|0)){e=10172,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));I3(10172)}return 10172}function nk(e){return e=e|0,0}function rk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=CE()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],P3(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(ik(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function P3(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function ik(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=uk(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,ok(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],P3(s,u,r),t[S>>2]=(t[S>>2]|0)+12,lk(e,D),sk(D),m=M;return}}function uk(e){return e=e|0,357913941}function ok(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function lk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function sk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function I3(e){e=e|0,ck(e)}function ak(e){e=e|0,fk(e+24|0)}function fk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function ck(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,3,n,dk()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function dk(){return 1380}function pk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=hk(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],vk(n,s,r,u),m=l}function hk(e){return e=e|0,(t[(CE()|0)+24>>2]|0)+(e*12|0)|0}function vk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),Ds(s,r),s=zs(s,r)|0,mk(h,u),h=yk(h,u)|0,jy[l&15](e,s,h),m=D}function mk(e,n){e=e|0,n=n|0}function yk(e,n){return e=e|0,n=n|0,gk(n)|0}function gk(e){return e=e|0,(e|0)!=0|0}function _k(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=xE()|0,e=Ek(r)|0,vi(s,n,l,e,Dk(r,u)|0,u)}function xE(){var e=0,n=0;if(p[7864]|0||(U3(10208),Ht(51,10208,he|0)|0,n=7864,t[n>>2]=1,t[n+4>>2]=0),!(rr(10208)|0)){e=10208,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));U3(10208)}return 10208}function Ek(e){return e=e|0,e|0}function Dk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=xE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(B3(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(wk(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function B3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function wk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Sk(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,Tk(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,B3(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Ck(e,l),xk(l),m=D;return}}function Sk(e){return e=e|0,536870911}function Tk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Ck(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function xk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function U3(e){e=e|0,Ok(e)}function Ak(e){e=e|0,Rk(e+24|0)}function Rk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function Ok(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,24,n,kk()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function kk(){return 1392}function Mk(e,n){e=e|0,n=n|0,Lk(t[(Nk(e)|0)>>2]|0,n)}function Nk(e){return e=e|0,(t[(xE()|0)+24>>2]|0)+(e<<3)|0}function Lk(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,N0(u,n),n=Vi(u,n)|0,M1[e&127](n),m=r}function Fk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=AE()|0,e=bk(r)|0,vi(s,n,l,e,Pk(r,u)|0,u)}function AE(){var e=0,n=0;if(p[7872]|0||(z3(10244),Ht(52,10244,he|0)|0,n=7872,t[n>>2]=1,t[n+4>>2]=0),!(rr(10244)|0)){e=10244,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));z3(10244)}return 10244}function bk(e){return e=e|0,e|0}function Pk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=AE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(j3(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Ik(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function j3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Ik(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Bk(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,Uk(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,j3(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,jk(e,l),zk(l),m=D;return}}function Bk(e){return e=e|0,536870911}function Uk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function jk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function zk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function z3(e){e=e|0,Wk(e)}function qk(e){e=e|0,Hk(e+24|0)}function Hk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function Wk(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,16,n,Vk()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Vk(){return 1400}function Gk(e){return e=e|0,Kk(t[(Yk(e)|0)>>2]|0)|0}function Yk(e){return e=e|0,(t[(AE()|0)+24>>2]|0)+(e<<3)|0}function Kk(e){return e=e|0,Xk(N_[e&7]()|0)|0}function Xk(e){return e=e|0,e|0}function Qk(){var e=0;return p[7880]|0||(rM(10280),Ht(25,10280,he|0)|0,e=7880,t[e>>2]=1,t[e+4>>2]=0),10280}function Jk(e,n){e=e|0,n=n|0,t[e>>2]=Zk()|0,t[e+4>>2]=$k()|0,t[e+12>>2]=n,t[e+8>>2]=eM()|0,t[e+32>>2]=4}function Zk(){return 11711}function $k(){return 1356}function eM(){return O1()|0}function tM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(nM(r),yt(r)):n|0&&(eo(n),yt(n))}function nM(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function rM(e){e=e|0,Ha(e)}function iM(e){e=e|0,uM(e,4920),oM(e)|0,lM(e)|0}function uM(e,n){e=e|0,n=n|0;var r=0;r=j2()|0,t[e>>2]=r,RM(r,n),Q2(t[e>>2]|0)}function oM(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,gM()|0),e|0}function lM(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,sM()|0),e|0}function sM(){var e=0;return p[7888]|0||(q3(10328),Ht(53,10328,he|0)|0,e=7888,t[e>>2]=1,t[e+4>>2]=0),rr(10328)|0||q3(10328),10328}function Hp(e,n){e=e|0,n=n|0,vi(e,0,n,0,0,0)}function q3(e){e=e|0,cM(e),Wp(e,10)}function aM(e){e=e|0,fM(e+24|0)}function fM(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function cM(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,1,n,vM()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function dM(e,n,r){e=e|0,n=n|0,r=+r,pM(e,n,r)}function Wp(e,n){e=e|0,n=n|0,t[e+20>>2]=n}function pM(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,s=u+8|0,D=u+13|0,l=u,h=u+12|0,Ds(D,n),t[s>>2]=zs(D,n)|0,Ol(h,r),U[l>>3]=+es(h,r),hM(e,s,l),m=u}function hM(e,n,r){e=e|0,n=n|0,r=r|0,I(e+8|0,t[n>>2]|0,+U[r>>3]),p[e+24>>0]=1}function vM(){return 1404}function mM(e,n){return e=e|0,n=+n,yM(e,n)|0}function yM(e,n){e=e|0,n=+n;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+16|0,s=u+4|0,h=u+8|0,D=u,l=Sa(8)|0,r=l,S=cn(16)|0,Ds(s,e),e=zs(s,e)|0,Ol(h,n),I(S,e,+es(h,n)),h=r+4|0,t[h>>2]=S,e=cn(8)|0,h=t[h>>2]|0,t[D>>2]=0,t[s>>2]=t[D>>2],Nf(e,h,s),t[l>>2]=e,m=u,r|0}function gM(){var e=0;return p[7896]|0||(H3(10364),Ht(54,10364,he|0)|0,e=7896,t[e>>2]=1,t[e+4>>2]=0),rr(10364)|0||H3(10364),10364}function H3(e){e=e|0,DM(e),Wp(e,55)}function _M(e){e=e|0,EM(e+24|0)}function EM(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function DM(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,4,n,CM()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function wM(e){e=e|0,SM(e)}function SM(e){e=e|0,TM(e)}function TM(e){e=e|0,W3(e+8|0),p[e+24>>0]=1}function W3(e){e=e|0,t[e>>2]=0,U[e+8>>3]=0}function CM(){return 1424}function xM(){return AM()|0}function AM(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Sa(8)|0,e=r,u=cn(16)|0,W3(u),s=e+4|0,t[s>>2]=u,u=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],Nf(u,s,l),t[r>>2]=u,m=n,e|0}function RM(e,n){e=e|0,n=n|0,t[e>>2]=OM()|0,t[e+4>>2]=kM()|0,t[e+12>>2]=n,t[e+8>>2]=MM()|0,t[e+32>>2]=5}function OM(){return 11710}function kM(){return 1416}function MM(){return E_()|0}function NM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(LM(r),yt(r)):n|0&&yt(n)}function LM(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function E_(){var e=0;return p[7904]|0||(t[2600]=FM()|0,t[2601]=0,e=7904,t[e>>2]=1,t[e+4>>2]=0),10400}function FM(){return t[357]|0}function bM(e){e=e|0,PM(e,4926),IM(e)|0}function PM(e,n){e=e|0,n=n|0;var r=0;r=qa()|0,t[e>>2]=r,KM(r,n),Q2(t[e>>2]|0)}function IM(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,BM()|0),e|0}function BM(){var e=0;return p[7912]|0||(V3(10412),Ht(56,10412,he|0)|0,e=7912,t[e>>2]=1,t[e+4>>2]=0),rr(10412)|0||V3(10412),10412}function V3(e){e=e|0,zM(e),Wp(e,57)}function UM(e){e=e|0,jM(e+24|0)}function jM(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function zM(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,5,n,VM()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function qM(e){e=e|0,HM(e)}function HM(e){e=e|0,WM(e)}function WM(e){e=e|0;var n=0,r=0;n=e+8|0,r=n+48|0;do t[n>>2]=0,n=n+4|0;while((n|0)<(r|0));p[e+56>>0]=1}function VM(){return 1432}function GM(){return YM()|0}function YM(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0,D=0;h=m,m=m+16|0,e=h+4|0,n=h,r=Sa(8)|0,u=r,l=cn(48)|0,s=l,D=s+48|0;do t[s>>2]=0,s=s+4|0;while((s|0)<(D|0));return s=u+4|0,t[s>>2]=l,D=cn(8)|0,s=t[s>>2]|0,t[n>>2]=0,t[e>>2]=t[n>>2],Dh(D,s,e),t[r>>2]=D,m=h,u|0}function KM(e,n){e=e|0,n=n|0,t[e>>2]=XM()|0,t[e+4>>2]=QM()|0,t[e+12>>2]=n,t[e+8>>2]=JM()|0,t[e+32>>2]=6}function XM(){return 11704}function QM(){return 1436}function JM(){return E_()|0}function ZM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&($M(r),yt(r)):n|0&&yt(n)}function $M(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function eN(e){e=e|0,tN(e,4933),nN(e)|0,rN(e)|0}function tN(e,n){e=e|0,n=n|0;var r=0;r=AN()|0,t[e>>2]=r,RN(r,n),Q2(t[e>>2]|0)}function nN(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,yN()|0),e|0}function rN(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,iN()|0),e|0}function iN(){var e=0;return p[7920]|0||(G3(10452),Ht(58,10452,he|0)|0,e=7920,t[e>>2]=1,t[e+4>>2]=0),rr(10452)|0||G3(10452),10452}function G3(e){e=e|0,lN(e),Wp(e,1)}function uN(e){e=e|0,oN(e+24|0)}function oN(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function lN(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,1,n,cN()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function sN(e,n,r){e=e|0,n=+n,r=+r,aN(e,n,r)}function aN(e,n,r){e=e|0,n=+n,r=+r;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,s=u+8|0,D=u+17|0,l=u,h=u+16|0,Ol(D,n),U[s>>3]=+es(D,n),Ol(h,r),U[l>>3]=+es(h,r),fN(e,s,l),m=u}function fN(e,n,r){e=e|0,n=n|0,r=r|0,Y3(e+8|0,+U[n>>3],+U[r>>3]),p[e+24>>0]=1}function Y3(e,n,r){e=e|0,n=+n,r=+r,U[e>>3]=n,U[e+8>>3]=r}function cN(){return 1472}function dN(e,n){return e=+e,n=+n,pN(e,n)|0}function pN(e,n){e=+e,n=+n;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+16|0,h=u+4|0,D=u+8|0,S=u,l=Sa(8)|0,r=l,s=cn(16)|0,Ol(h,e),e=+es(h,e),Ol(D,n),Y3(s,e,+es(D,n)),D=r+4|0,t[D>>2]=s,s=cn(8)|0,D=t[D>>2]|0,t[S>>2]=0,t[h>>2]=t[S>>2],K3(s,D,h),t[l>>2]=s,m=u,r|0}function K3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1452,t[r+12>>2]=n,t[e+4>>2]=r}function hN(e){e=e|0,Pv(e),yt(e)}function vN(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function mN(e){e=e|0,yt(e)}function yN(){var e=0;return p[7928]|0||(X3(10488),Ht(59,10488,he|0)|0,e=7928,t[e>>2]=1,t[e+4>>2]=0),rr(10488)|0||X3(10488),10488}function X3(e){e=e|0,EN(e),Wp(e,60)}function gN(e){e=e|0,_N(e+24|0)}function _N(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function EN(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,6,n,TN()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function DN(e){e=e|0,wN(e)}function wN(e){e=e|0,SN(e)}function SN(e){e=e|0,Q3(e+8|0),p[e+24>>0]=1}function Q3(e){e=e|0,t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,t[e+12>>2]=0}function TN(){return 1492}function CN(){return xN()|0}function xN(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Sa(8)|0,e=r,u=cn(16)|0,Q3(u),s=e+4|0,t[s>>2]=u,u=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],K3(u,s,l),t[r>>2]=u,m=n,e|0}function AN(){var e=0;return p[7936]|0||(FN(10524),Ht(25,10524,he|0)|0,e=7936,t[e>>2]=1,t[e+4>>2]=0),10524}function RN(e,n){e=e|0,n=n|0,t[e>>2]=ON()|0,t[e+4>>2]=kN()|0,t[e+12>>2]=n,t[e+8>>2]=MN()|0,t[e+32>>2]=7}function ON(){return 11700}function kN(){return 1484}function MN(){return E_()|0}function NN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(LN(r),yt(r)):n|0&&yt(n)}function LN(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function FN(e){e=e|0,Ha(e)}function bN(e,n,r){e=e|0,n=n|0,r=r|0,e=Or(n)|0,n=PN(r)|0,r=IN(r,0)|0,pL(e,n,r,RE()|0,0)}function PN(e){return e=e|0,e|0}function IN(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=RE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(Z3(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(WN(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function RE(){var e=0,n=0;if(p[7944]|0||(J3(10568),Ht(61,10568,he|0)|0,n=7944,t[n>>2]=1,t[n+4>>2]=0),!(rr(10568)|0)){e=10568,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));J3(10568)}return 10568}function J3(e){e=e|0,jN(e)}function BN(e){e=e|0,UN(e+24|0)}function UN(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function jN(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,17,n,Jh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zN(e){return e=e|0,HN(t[(qN(e)|0)>>2]|0)|0}function qN(e){return e=e|0,(t[(RE()|0)+24>>2]|0)+(e<<3)|0}function HN(e){return e=e|0,z0(N_[e&7]()|0)|0}function Z3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function WN(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=VN(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,GN(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,Z3(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,YN(e,l),KN(l),m=D;return}}function VN(e){return e=e|0,536870911}function GN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function YN(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function KN(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function XN(){QN()}function QN(){JN(10604)}function JN(e){e=e|0,ZN(e,4955)}function ZN(e,n){e=e|0,n=n|0;var r=0;r=$N()|0,t[e>>2]=r,eL(r,n),Q2(t[e>>2]|0)}function $N(){var e=0;return p[7952]|0||(aL(10612),Ht(25,10612,he|0)|0,e=7952,t[e>>2]=1,t[e+4>>2]=0),10612}function eL(e,n){e=e|0,n=n|0,t[e>>2]=iL()|0,t[e+4>>2]=uL()|0,t[e+12>>2]=n,t[e+8>>2]=oL()|0,t[e+32>>2]=8}function Q2(e){e=e|0;var n=0,r=0;n=m,m=m+16|0,r=n,Mv()|0,t[r>>2]=e,tL(10608,r),m=n}function Mv(){return p[11714]|0||(t[2652]=0,Ht(62,10608,he|0)|0,p[11714]=1),10608}function tL(e,n){e=e|0,n=n|0;var r=0;r=cn(8)|0,t[r+4>>2]=t[n>>2],t[r>>2]=t[e>>2],t[e>>2]=r}function nL(e){e=e|0,rL(e)}function rL(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,yt(r);while((n|0)!=0);t[e>>2]=0}function iL(){return 11715}function uL(){return 1496}function oL(){return O1()|0}function lL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(sL(r),yt(r)):n|0&&yt(n)}function sL(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function aL(e){e=e|0,Ha(e)}function fL(e,n){e=e|0,n=n|0;var r=0,u=0;Mv()|0,r=t[2652]|0;e:do if(r|0){for(;u=t[r+4>>2]|0,!(u|0?(L8(OE(u)|0,e)|0)==0:0);)if(r=t[r>>2]|0,!r)break e;cL(u,n)}while(0)}function OE(e){return e=e|0,t[e+12>>2]|0}function cL(e,n){e=e|0,n=n|0;var r=0;e=e+36|0,r=t[e>>2]|0,r|0&&(ia(r),yt(r)),r=cn(4)|0,mf(r,n),t[e>>2]=r}function kE(){return p[11716]|0||(t[2664]=0,Ht(63,10656,he|0)|0,p[11716]=1),10656}function $3(){var e=0;return p[11717]|0?e=t[2665]|0:(dL(),t[2665]=1504,p[11717]=1,e=1504),e|0}function dL(){p[11740]|0||(p[11718]=dn(dn(8,0)|0,0)|0,p[11719]=dn(dn(0,0)|0,0)|0,p[11720]=dn(dn(0,16)|0,0)|0,p[11721]=dn(dn(8,0)|0,0)|0,p[11722]=dn(dn(0,0)|0,0)|0,p[11723]=dn(dn(8,0)|0,0)|0,p[11724]=dn(dn(0,0)|0,0)|0,p[11725]=dn(dn(8,0)|0,0)|0,p[11726]=dn(dn(0,0)|0,0)|0,p[11727]=dn(dn(8,0)|0,0)|0,p[11728]=dn(dn(0,0)|0,0)|0,p[11729]=dn(dn(0,0)|0,32)|0,p[11730]=dn(dn(0,0)|0,32)|0,p[11740]=1)}function e8(){return 1572}function pL(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0,O=0;s=m,m=m+32|0,O=s+16|0,M=s+12|0,S=s+8|0,D=s+4|0,h=s,t[O>>2]=e,t[M>>2]=n,t[S>>2]=r,t[D>>2]=u,t[h>>2]=l,kE()|0,hL(10656,O,M,S,D,h),m=s}function hL(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0;h=cn(24)|0,h2(h+4|0,t[n>>2]|0,t[r>>2]|0,t[u>>2]|0,t[l>>2]|0,t[s>>2]|0),t[h>>2]=t[e>>2],t[e>>2]=h}function t8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0;if(st=m,m=m+32|0,Ee=st+20|0,ve=st+8|0,Qe=st+4|0,We=st,n=t[n>>2]|0,n|0){Pe=Ee+4|0,S=Ee+8|0,M=ve+4|0,O=ve+8|0,P=ve+8|0,K=Ee+8|0;do{if(h=n+4|0,D=ME(h)|0,D|0){if(l=Fy(D)|0,t[Ee>>2]=0,t[Pe>>2]=0,t[S>>2]=0,u=(by(D)|0)+1|0,vL(Ee,u),u|0)for(;u=u+-1|0,jf(ve,t[l>>2]|0),s=t[Pe>>2]|0,s>>>0<(t[K>>2]|0)>>>0?(t[s>>2]=t[ve>>2],t[Pe>>2]=(t[Pe>>2]|0)+4):NE(Ee,ve),u;)l=l+4|0;u=Py(D)|0,t[ve>>2]=0,t[M>>2]=0,t[O>>2]=0;e:do if(t[u>>2]|0)for(l=0,s=0;;){if((l|0)==(s|0)?mL(ve,u):(t[l>>2]=t[u>>2],t[M>>2]=(t[M>>2]|0)+4),u=u+4|0,!(t[u>>2]|0))break e;l=t[M>>2]|0,s=t[P>>2]|0}while(0);t[Qe>>2]=D_(h)|0,t[We>>2]=rr(D)|0,yL(r,e,Qe,We,Ee,ve),LE(ve),k1(Ee)}n=t[n>>2]|0}while((n|0)!=0)}m=st}function ME(e){return e=e|0,t[e+12>>2]|0}function Fy(e){return e=e|0,t[e+12>>2]|0}function by(e){return e=e|0,t[e+16>>2]|0}function vL(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+32|0,r=l,u=t[e>>2]|0,(t[e+8>>2]|0)-u>>2>>>0>>0&&(a8(r,n,(t[e+4>>2]|0)-u>>2,e+8|0),f8(e,r),c8(r)),m=l}function NE(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0;if(h=m,m=m+32|0,r=h,u=e+4|0,l=((t[u>>2]|0)-(t[e>>2]|0)>>2)+1|0,s=s8(e)|0,s>>>0>>0)li(e);else{D=t[e>>2]|0,M=(t[e+8>>2]|0)-D|0,S=M>>1,a8(r,M>>2>>>0>>1>>>0?S>>>0>>0?l:S:s,(t[u>>2]|0)-D>>2,e+8|0),s=r+8|0,t[t[s>>2]>>2]=t[n>>2],t[s>>2]=(t[s>>2]|0)+4,f8(e,r),c8(r),m=h;return}}function Py(e){return e=e|0,t[e+8>>2]|0}function mL(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0;if(h=m,m=m+32|0,r=h,u=e+4|0,l=((t[u>>2]|0)-(t[e>>2]|0)>>2)+1|0,s=l8(e)|0,s>>>0>>0)li(e);else{D=t[e>>2]|0,M=(t[e+8>>2]|0)-D|0,S=M>>1,PL(r,M>>2>>>0>>1>>>0?S>>>0>>0?l:S:s,(t[u>>2]|0)-D>>2,e+8|0),s=r+8|0,t[t[s>>2]>>2]=t[n>>2],t[s>>2]=(t[s>>2]|0)+4,IL(e,r),BL(r),m=h;return}}function D_(e){return e=e|0,t[e>>2]|0}function yL(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,gL(e,n,r,u,l,s)}function LE(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),yt(r))}function k1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),yt(r))}function gL(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0;h=m,m=m+48|0,O=h+40|0,D=h+32|0,P=h+24|0,S=h+12|0,M=h,Ta(D),e=vo(e)|0,t[P>>2]=t[n>>2],r=t[r>>2]|0,u=t[u>>2]|0,FE(S,l),_L(M,s),t[O>>2]=t[P>>2],EL(e,O,r,u,S,M),LE(M),k1(S),Ca(D),m=h}function FE(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(FL(e,u),bL(e,t[n>>2]|0,t[r>>2]|0,u))}function _L(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(NL(e,u),LL(e,t[n>>2]|0,t[r>>2]|0,u))}function EL(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0;h=m,m=m+32|0,O=h+28|0,P=h+24|0,D=h+12|0,S=h,M=mo(DL()|0)|0,t[P>>2]=t[n>>2],t[O>>2]=t[P>>2],n=Vp(O)|0,r=n8(r)|0,u=bE(u)|0,t[D>>2]=t[l>>2],O=l+4|0,t[D+4>>2]=t[O>>2],P=l+8|0,t[D+8>>2]=t[P>>2],t[P>>2]=0,t[O>>2]=0,t[l>>2]=0,l=PE(D)|0,t[S>>2]=t[s>>2],O=s+4|0,t[S+4>>2]=t[O>>2],P=s+8|0,t[S+8>>2]=t[P>>2],t[P>>2]=0,t[O>>2]=0,t[s>>2]=0,G0(0,M|0,e|0,n|0,r|0,u|0,l|0,wL(S)|0)|0,LE(S),k1(D),m=h}function DL(){var e=0;return p[7968]|0||(kL(10708),e=7968,t[e>>2]=1,t[e+4>>2]=0),10708}function Vp(e){return e=e|0,i8(e)|0}function n8(e){return e=e|0,r8(e)|0}function bE(e){return e=e|0,z0(e)|0}function PE(e){return e=e|0,TL(e)|0}function wL(e){return e=e|0,SL(e)|0}function SL(e){e=e|0;var n=0,r=0,u=0;if(u=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=u>>2,u=Sa(u+4|0)|0,t[u>>2]=r,r|0){n=0;do t[u+4+(n<<2)>>2]=r8(t[(t[e>>2]|0)+(n<<2)>>2]|0)|0,n=n+1|0;while((n|0)!=(r|0))}return u|0}function r8(e){return e=e|0,e|0}function TL(e){e=e|0;var n=0,r=0,u=0;if(u=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=u>>2,u=Sa(u+4|0)|0,t[u>>2]=r,r|0){n=0;do t[u+4+(n<<2)>>2]=i8((t[e>>2]|0)+(n<<2)|0)|0,n=n+1|0;while((n|0)!=(r|0))}return u|0}function i8(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Ou(u8()|0)|0,u?(Zl(n,u),Tf(r,n),lI(e,r),e=Es(n)|0):e=CL(e)|0,m=l,e|0}function u8(){var e=0;return p[7960]|0||(OL(10664),Ht(25,10664,he|0)|0,e=7960,t[e>>2]=1,t[e+4>>2]=0),10664}function CL(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Sa(8)|0,n=u,D=cn(4)|0,t[D>>2]=t[e>>2],s=n+4|0,t[s>>2]=D,e=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],o8(e,s,l),t[u>>2]=e,m=r,n|0}function o8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1656,t[r+12>>2]=n,t[e+4>>2]=r}function xL(e){e=e|0,Pv(e),yt(e)}function AL(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function RL(e){e=e|0,yt(e)}function OL(e){e=e|0,Ha(e)}function kL(e){e=e|0,nl(e,ML()|0,5)}function ML(){return 1676}function NL(e,n){e=e|0,n=n|0;var r=0;if((l8(e)|0)>>>0>>0&&li(e),n>>>0>1073741823)Xn();else{r=cn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function LL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(pr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function l8(e){return e=e|0,1073741823}function FL(e,n){e=e|0,n=n|0;var r=0;if((s8(e)|0)>>>0>>0&&li(e),n>>>0>1073741823)Xn();else{r=cn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function bL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(pr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function s8(e){return e=e|0,1073741823}function PL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)Xn();else{l=cn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function IL(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function BL(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&yt(e)}function a8(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)Xn();else{l=cn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function f8(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function c8(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&yt(e)}function UL(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0;if(ve=m,m=m+32|0,O=ve+20|0,P=ve+12|0,M=ve+16|0,K=ve+4|0,Pe=ve,Ee=ve+8|0,D=$3()|0,s=t[D>>2]|0,h=t[s>>2]|0,h|0)for(S=t[D+8>>2]|0,D=t[D+4>>2]|0;jf(O,h),jL(e,O,D,S),s=s+4|0,h=t[s>>2]|0,h;)S=S+1|0,D=D+1|0;if(s=e8()|0,h=t[s>>2]|0,h|0)do jf(O,h),t[P>>2]=t[s+4>>2],zL(n,O,P),s=s+8|0,h=t[s>>2]|0;while((h|0)!=0);if(s=t[(Mv()|0)>>2]|0,s|0)do n=t[s+4>>2]|0,jf(O,t[(Nv(n)|0)>>2]|0),t[P>>2]=OE(n)|0,qL(r,O,P),s=t[s>>2]|0;while((s|0)!=0);if(jf(M,0),s=kE()|0,t[O>>2]=t[M>>2],t8(O,s,l),s=t[(Mv()|0)>>2]|0,s|0){e=O+4|0,n=O+8|0,r=O+8|0;do{if(S=t[s+4>>2]|0,jf(P,t[(Nv(S)|0)>>2]|0),HL(K,d8(S)|0),h=t[K>>2]|0,h|0){t[O>>2]=0,t[e>>2]=0,t[n>>2]=0;do jf(Pe,t[(Nv(t[h+4>>2]|0)|0)>>2]|0),D=t[e>>2]|0,D>>>0<(t[r>>2]|0)>>>0?(t[D>>2]=t[Pe>>2],t[e>>2]=(t[e>>2]|0)+4):NE(O,Pe),h=t[h>>2]|0;while((h|0)!=0);WL(u,P,O),k1(O)}t[Ee>>2]=t[P>>2],M=p8(S)|0,t[O>>2]=t[Ee>>2],t8(O,M,l),m2(K),s=t[s>>2]|0}while((s|0)!=0)}m=ve}function jL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,rF(e,n,r,u)}function zL(e,n,r){e=e|0,n=n|0,r=r|0,nF(e,n,r)}function Nv(e){return e=e|0,e|0}function qL(e,n,r){e=e|0,n=n|0,r=r|0,ZL(e,n,r)}function d8(e){return e=e|0,e+16|0}function HL(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;if(s=m,m=m+16|0,l=s+8|0,r=s,t[e>>2]=0,u=t[n>>2]|0,t[l>>2]=u,t[r>>2]=e,r=JL(r)|0,u|0){if(u=cn(12)|0,h=(h8(l)|0)+4|0,e=t[h+4>>2]|0,n=u+4|0,t[n>>2]=t[h>>2],t[n+4>>2]=e,n=t[t[l>>2]>>2]|0,t[l>>2]=n,!n)e=u;else for(n=u;e=cn(12)|0,S=(h8(l)|0)+4|0,D=t[S+4>>2]|0,h=e+4|0,t[h>>2]=t[S>>2],t[h+4>>2]=D,t[n>>2]=e,h=t[t[l>>2]>>2]|0,t[l>>2]=h,h;)n=e;t[e>>2]=t[r>>2],t[r>>2]=u}m=s}function WL(e,n,r){e=e|0,n=n|0,r=r|0,VL(e,n,r)}function p8(e){return e=e|0,e+24|0}function VL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,h=u+24|0,l=u+16|0,D=u+12|0,s=u,Ta(l),e=vo(e)|0,t[D>>2]=t[n>>2],FE(s,r),t[h>>2]=t[D>>2],YL(e,h,s),k1(s),Ca(l),m=u}function YL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,h=u+16|0,D=u+12|0,l=u,s=mo(KL()|0)|0,t[D>>2]=t[n>>2],t[h>>2]=t[D>>2],n=Vp(h)|0,t[l>>2]=t[r>>2],h=r+4|0,t[l+4>>2]=t[h>>2],D=r+8|0,t[l+8>>2]=t[D>>2],t[D>>2]=0,t[h>>2]=0,t[r>>2]=0,F0(0,s|0,e|0,n|0,PE(l)|0)|0,k1(l),m=u}function KL(){var e=0;return p[7976]|0||(XL(10720),e=7976,t[e>>2]=1,t[e+4>>2]=0),10720}function XL(e){e=e|0,nl(e,QL()|0,2)}function QL(){return 1732}function JL(e){return e=e|0,t[e>>2]|0}function h8(e){return e=e|0,t[e>>2]|0}function ZL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+32|0,s=u+16|0,l=u+8|0,h=u,Ta(l),e=vo(e)|0,t[h>>2]=t[n>>2],r=t[r>>2]|0,t[s>>2]=t[h>>2],v8(e,s,r),Ca(l),m=u}function v8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,s=u+4|0,h=u,l=mo($L()|0)|0,t[h>>2]=t[n>>2],t[s>>2]=t[h>>2],n=Vp(s)|0,F0(0,l|0,e|0,n|0,n8(r)|0)|0,m=u}function $L(){var e=0;return p[7984]|0||(eF(10732),e=7984,t[e>>2]=1,t[e+4>>2]=0),10732}function eF(e){e=e|0,nl(e,tF()|0,2)}function tF(){return 1744}function nF(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+32|0,s=u+16|0,l=u+8|0,h=u,Ta(l),e=vo(e)|0,t[h>>2]=t[n>>2],r=t[r>>2]|0,t[s>>2]=t[h>>2],v8(e,s,r),Ca(l),m=u}function rF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+32|0,h=l+16|0,s=l+8|0,D=l,Ta(s),e=vo(e)|0,t[D>>2]=t[n>>2],r=p[r>>0]|0,u=p[u>>0]|0,t[h>>2]=t[D>>2],iF(e,h,r,u),Ca(s),m=l}function iF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,h=l+4|0,D=l,s=mo(uF()|0)|0,t[D>>2]=t[n>>2],t[h>>2]=t[D>>2],n=Vp(h)|0,r=Lv(r)|0,Bn(0,s|0,e|0,n|0,r|0,Lv(u)|0)|0,m=l}function uF(){var e=0;return p[7992]|0||(lF(10744),e=7992,t[e>>2]=1,t[e+4>>2]=0),10744}function Lv(e){return e=e|0,oF(e)|0}function oF(e){return e=e|0,e&255|0}function lF(e){e=e|0,nl(e,sF()|0,3)}function sF(){return 1756}function aF(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;switch(K=m,m=m+32|0,D=K+8|0,S=K+4|0,M=K+20|0,O=K,ma(e,0),u=oI(n)|0,t[D>>2]=0,P=D+4|0,t[P>>2]=0,t[D+8>>2]=0,u<<24>>24){case 0:{p[M>>0]=0,fF(S,r,M),w_(e,S)|0,B0(S);break}case 8:{P=qE(n)|0,p[M>>0]=8,jf(O,t[P+4>>2]|0),cF(S,r,M,O,P+8|0),w_(e,S)|0,B0(S);break}case 9:{if(s=qE(n)|0,n=t[s+4>>2]|0,n|0)for(h=D+8|0,l=s+12|0;n=n+-1|0,jf(S,t[l>>2]|0),u=t[P>>2]|0,u>>>0<(t[h>>2]|0)>>>0?(t[u>>2]=t[S>>2],t[P>>2]=(t[P>>2]|0)+4):NE(D,S),n;)l=l+4|0;p[M>>0]=9,jf(O,t[s+8>>2]|0),dF(S,r,M,O,D),w_(e,S)|0,B0(S);break}default:P=qE(n)|0,p[M>>0]=u,jf(O,t[P+4>>2]|0),pF(S,r,M,O),w_(e,S)|0,B0(S)}k1(D),m=K}function fF(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,Ta(l),n=vo(n)|0,xF(e,n,p[r>>0]|0),Ca(l),m=u}function w_(e,n){e=e|0,n=n|0;var r=0;return r=t[e>>2]|0,r|0&&Ir(r|0),t[e>>2]=t[n>>2],t[n>>2]=0,e|0}function cF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+32|0,D=s+16|0,h=s+8|0,S=s,Ta(h),n=vo(n)|0,r=p[r>>0]|0,t[S>>2]=t[u>>2],l=t[l>>2]|0,t[D>>2]=t[S>>2],wF(e,n,r,D,l),Ca(h),m=s}function dF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0;s=m,m=m+32|0,S=s+24|0,h=s+16|0,M=s+12|0,D=s,Ta(h),n=vo(n)|0,r=p[r>>0]|0,t[M>>2]=t[u>>2],FE(D,l),t[S>>2]=t[M>>2],gF(e,n,r,S,D),k1(D),Ca(h),m=s}function pF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+32|0,h=l+16|0,s=l+8|0,D=l,Ta(s),n=vo(n)|0,r=p[r>>0]|0,t[D>>2]=t[u>>2],t[h>>2]=t[D>>2],hF(e,n,r,h),Ca(s),m=l}function hF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+4|0,D=l,h=mo(vF()|0)|0,r=Lv(r)|0,t[D>>2]=t[u>>2],t[s>>2]=t[D>>2],S_(e,F0(0,h|0,n|0,r|0,Vp(s)|0)|0),m=l}function vF(){var e=0;return p[8e3]|0||(mF(10756),e=8e3,t[e>>2]=1,t[e+4>>2]=0),10756}function S_(e,n){e=e|0,n=n|0,ma(e,n)}function mF(e){e=e|0,nl(e,yF()|0,2)}function yF(){return 1772}function gF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0;s=m,m=m+32|0,S=s+16|0,M=s+12|0,h=s,D=mo(_F()|0)|0,r=Lv(r)|0,t[M>>2]=t[u>>2],t[S>>2]=t[M>>2],u=Vp(S)|0,t[h>>2]=t[l>>2],S=l+4|0,t[h+4>>2]=t[S>>2],M=l+8|0,t[h+8>>2]=t[M>>2],t[M>>2]=0,t[S>>2]=0,t[l>>2]=0,S_(e,Bn(0,D|0,n|0,r|0,u|0,PE(h)|0)|0),k1(h),m=s}function _F(){var e=0;return p[8008]|0||(EF(10768),e=8008,t[e>>2]=1,t[e+4>>2]=0),10768}function EF(e){e=e|0,nl(e,DF()|0,3)}function DF(){return 1784}function wF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+16|0,D=s+4|0,S=s,h=mo(SF()|0)|0,r=Lv(r)|0,t[S>>2]=t[u>>2],t[D>>2]=t[S>>2],u=Vp(D)|0,S_(e,Bn(0,h|0,n|0,r|0,u|0,bE(l)|0)|0),m=s}function SF(){var e=0;return p[8016]|0||(TF(10780),e=8016,t[e>>2]=1,t[e+4>>2]=0),10780}function TF(e){e=e|0,nl(e,CF()|0,3)}function CF(){return 1800}function xF(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=mo(AF()|0)|0,S_(e,ji(0,u|0,n|0,Lv(r)|0)|0)}function AF(){var e=0;return p[8024]|0||(RF(10792),e=8024,t[e>>2]=1,t[e+4>>2]=0),10792}function RF(e){e=e|0,nl(e,OF()|0,1)}function OF(){return 1816}function kF(){MF(),NF(),LF()}function MF(){t[2702]=H8(65536)|0}function NF(){$F(10856)}function LF(){FF(10816)}function FF(e){e=e|0,bF(e,5044),PF(e)|0}function bF(e,n){e=e|0,n=n|0;var r=0;r=u8()|0,t[e>>2]=r,YF(r,n),Q2(t[e>>2]|0)}function PF(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,IF()|0),e|0}function IF(){var e=0;return p[8032]|0||(m8(10820),Ht(64,10820,he|0)|0,e=8032,t[e>>2]=1,t[e+4>>2]=0),rr(10820)|0||m8(10820),10820}function m8(e){e=e|0,jF(e),Wp(e,25)}function BF(e){e=e|0,UF(e+24|0)}function UF(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function jF(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,18,n,WF()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zF(e,n){e=e|0,n=n|0,qF(e,n)}function qF(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;r=m,m=m+16|0,u=r,l=r+4|0,Of(l,n),t[u>>2]=kf(l,n)|0,HF(e,u),m=r}function HF(e,n){e=e|0,n=n|0,y8(e+4|0,t[n>>2]|0),p[e+8>>0]=1}function y8(e,n){e=e|0,n=n|0,t[e>>2]=n}function WF(){return 1824}function VF(e){return e=e|0,GF(e)|0}function GF(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Sa(8)|0,n=u,D=cn(4)|0,Of(l,e),y8(D,kf(l,e)|0),s=n+4|0,t[s>>2]=D,e=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],o8(e,s,l),t[u>>2]=e,m=r,n|0}function Sa(e){e=e|0;var n=0,r=0;return e=e+7&-8,(e>>>0<=32768?(n=t[2701]|0,e>>>0<=(65536-n|0)>>>0):0)?(r=(t[2702]|0)+n|0,t[2701]=n+e,e=r):(e=H8(e+8|0)|0,t[e>>2]=t[2703],t[2703]=e,e=e+8|0),e|0}function YF(e,n){e=e|0,n=n|0,t[e>>2]=KF()|0,t[e+4>>2]=XF()|0,t[e+12>>2]=n,t[e+8>>2]=QF()|0,t[e+32>>2]=9}function KF(){return 11744}function XF(){return 1832}function QF(){return E_()|0}function JF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(ZF(r),yt(r)):n|0&&yt(n)}function ZF(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function $F(e){e=e|0,eb(e,5052),tb(e)|0,nb(e,5058,26)|0,rb(e,5069,1)|0,ib(e,5077,10)|0,ub(e,5087,19)|0,ob(e,5094,27)|0}function eb(e,n){e=e|0,n=n|0;var r=0;r=ZP()|0,t[e>>2]=r,$P(r,n),Q2(t[e>>2]|0)}function tb(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,BP()|0),e|0}function nb(e,n,r){return e=e|0,n=n|0,r=r|0,EP(e,Or(n)|0,r,0),e|0}function rb(e,n,r){return e=e|0,n=n|0,r=r|0,uP(e,Or(n)|0,r,0),e|0}function ib(e,n,r){return e=e|0,n=n|0,r=r|0,Ib(e,Or(n)|0,r,0),e|0}function ub(e,n,r){return e=e|0,n=n|0,r=r|0,wb(e,Or(n)|0,r,0),e|0}function g8(e,n){e=e|0,n=n|0;var r=0,u=0;e:for(;;){for(r=t[2703]|0;;){if((r|0)==(n|0))break e;if(u=t[r>>2]|0,t[2703]=u,!r)r=u;else break}yt(r)}t[2701]=e}function ob(e,n,r){return e=e|0,n=n|0,r=r|0,lb(e,Or(n)|0,r,0),e|0}function lb(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=IE()|0,e=sb(r)|0,vi(s,n,l,e,ab(r,u)|0,u)}function IE(){var e=0,n=0;if(p[8040]|0||(E8(10860),Ht(65,10860,he|0)|0,n=8040,t[n>>2]=1,t[n+4>>2]=0),!(rr(10860)|0)){e=10860,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));E8(10860)}return 10860}function sb(e){return e=e|0,e|0}function ab(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=IE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(_8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(fb(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function _8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function fb(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=cb(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,db(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,_8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,pb(e,l),hb(l),m=D;return}}function cb(e){return e=e|0,536870911}function db(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function pb(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function hb(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function E8(e){e=e|0,yb(e)}function vb(e){e=e|0,mb(e+24|0)}function mb(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function yb(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,11,n,gb()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gb(){return 1840}function _b(e,n,r){e=e|0,n=n|0,r=r|0,Db(t[(Eb(e)|0)>>2]|0,n,r)}function Eb(e){return e=e|0,(t[(IE()|0)+24>>2]|0)+(e<<3)|0}function Db(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;u=m,m=m+16|0,s=u+1|0,l=u,Of(s,n),n=kf(s,n)|0,Of(l,r),r=kf(l,r)|0,N1[e&31](n,r),m=u}function wb(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=BE()|0,e=Sb(r)|0,vi(s,n,l,e,Tb(r,u)|0,u)}function BE(){var e=0,n=0;if(p[8048]|0||(w8(10896),Ht(66,10896,he|0)|0,n=8048,t[n>>2]=1,t[n+4>>2]=0),!(rr(10896)|0)){e=10896,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));w8(10896)}return 10896}function Sb(e){return e=e|0,e|0}function Tb(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=BE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(D8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Cb(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function D8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Cb(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=xb(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,Ab(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,D8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Rb(e,l),Ob(l),m=D;return}}function xb(e){return e=e|0,536870911}function Ab(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Rb(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Ob(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function w8(e){e=e|0,Nb(e)}function kb(e){e=e|0,Mb(e+24|0)}function Mb(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function Nb(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,11,n,Lb()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Lb(){return 1852}function Fb(e,n){return e=e|0,n=n|0,Pb(t[(bb(e)|0)>>2]|0,n)|0}function bb(e){return e=e|0,(t[(BE()|0)+24>>2]|0)+(e<<3)|0}function Pb(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,Of(u,n),n=kf(u,n)|0,n=z0(Xp[e&31](n)|0)|0,m=r,n|0}function Ib(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=UE()|0,e=Bb(r)|0,vi(s,n,l,e,Ub(r,u)|0,u)}function UE(){var e=0,n=0;if(p[8056]|0||(T8(10932),Ht(67,10932,he|0)|0,n=8056,t[n>>2]=1,t[n+4>>2]=0),!(rr(10932)|0)){e=10932,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));T8(10932)}return 10932}function Bb(e){return e=e|0,e|0}function Ub(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=UE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(S8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(jb(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function S8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function jb(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=zb(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,qb(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,S8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Hb(e,l),Wb(l),m=D;return}}function zb(e){return e=e|0,536870911}function qb(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Hb(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Wb(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function T8(e){e=e|0,Yb(e)}function Vb(e){e=e|0,Gb(e+24|0)}function Gb(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function Yb(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,7,n,Kb()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Kb(){return 1860}function Xb(e,n,r){return e=e|0,n=n|0,r=r|0,Jb(t[(Qb(e)|0)>>2]|0,n,r)|0}function Qb(e){return e=e|0,(t[(UE()|0)+24>>2]|0)+(e<<3)|0}function Jb(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+32|0,h=u+12|0,s=u+8|0,D=u,S=u+16|0,l=u+4|0,Zb(S,n),$b(D,S,n),qs(l,r),r=Hs(l,r)|0,t[h>>2]=t[D>>2],jy[e&15](s,h,r),r=eP(s)|0,B0(s),Ws(l),m=u,r|0}function Zb(e,n){e=e|0,n=n|0}function $b(e,n,r){e=e|0,n=n|0,r=r|0,tP(e,r)}function eP(e){return e=e|0,vo(e)|0}function tP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+16|0,r=l,u=n,u&1?(nP(r,0),Yi(u|0,r|0)|0,rP(e,r),iP(r)):t[e>>2]=t[n>>2],m=l}function nP(e,n){e=e|0,n=n|0,l2(e,n),t[e+4>>2]=0,p[e+8>>0]=0}function rP(e,n){e=e|0,n=n|0,t[e>>2]=t[n+4>>2]}function iP(e){e=e|0,p[e+8>>0]=0}function uP(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=jE()|0,e=oP(r)|0,vi(s,n,l,e,lP(r,u)|0,u)}function jE(){var e=0,n=0;if(p[8064]|0||(x8(10968),Ht(68,10968,he|0)|0,n=8064,t[n>>2]=1,t[n+4>>2]=0),!(rr(10968)|0)){e=10968,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));x8(10968)}return 10968}function oP(e){return e=e|0,e|0}function lP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=jE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(C8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(sP(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function C8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function sP(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=aP(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,fP(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,C8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,cP(e,l),dP(l),m=D;return}}function aP(e){return e=e|0,536870911}function fP(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function cP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function dP(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function x8(e){e=e|0,vP(e)}function pP(e){e=e|0,hP(e+24|0)}function hP(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function vP(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,1,n,mP()|0,5),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function mP(){return 1872}function yP(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,_P(t[(gP(e)|0)>>2]|0,n,r,u,l,s)}function gP(e){return e=e|0,(t[(jE()|0)+24>>2]|0)+(e<<3)|0}function _P(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0;h=m,m=m+32|0,D=h+16|0,S=h+12|0,M=h+8|0,O=h+4|0,P=h,qs(D,n),n=Hs(D,n)|0,qs(S,r),r=Hs(S,r)|0,qs(M,u),u=Hs(M,u)|0,qs(O,l),l=Hs(O,l)|0,qs(P,s),s=Hs(P,s)|0,K8[e&1](n,r,u,l,s),Ws(P),Ws(O),Ws(M),Ws(S),Ws(D),m=h}function EP(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=zE()|0,e=DP(r)|0,vi(s,n,l,e,wP(r,u)|0,u)}function zE(){var e=0,n=0;if(p[8072]|0||(R8(11004),Ht(69,11004,he|0)|0,n=8072,t[n>>2]=1,t[n+4>>2]=0),!(rr(11004)|0)){e=11004,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));R8(11004)}return 11004}function DP(e){return e=e|0,e|0}function wP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=zE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(A8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(SP(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function A8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function SP(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=TP(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,CP(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,A8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,xP(e,l),AP(l),m=D;return}}function TP(e){return e=e|0,536870911}function CP(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function xP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function AP(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function R8(e){e=e|0,kP(e)}function RP(e){e=e|0,OP(e+24|0)}function OP(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function kP(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,12,n,MP()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function MP(){return 1896}function NP(e,n,r){e=e|0,n=n|0,r=r|0,FP(t[(LP(e)|0)>>2]|0,n,r)}function LP(e){return e=e|0,(t[(zE()|0)+24>>2]|0)+(e<<3)|0}function FP(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;u=m,m=m+16|0,s=u+4|0,l=u,bP(s,n),n=PP(s,n)|0,qs(l,r),r=Hs(l,r)|0,N1[e&31](n,r),Ws(l),m=u}function bP(e,n){e=e|0,n=n|0}function PP(e,n){return e=e|0,n=n|0,IP(n)|0}function IP(e){return e=e|0,e|0}function BP(){var e=0;return p[8080]|0||(O8(11040),Ht(70,11040,he|0)|0,e=8080,t[e>>2]=1,t[e+4>>2]=0),rr(11040)|0||O8(11040),11040}function O8(e){e=e|0,zP(e),Wp(e,71)}function UP(e){e=e|0,jP(e+24|0)}function jP(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function zP(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,7,n,VP()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function qP(e){e=e|0,HP(e)}function HP(e){e=e|0,WP(e)}function WP(e){e=e|0,p[e+8>>0]=1}function VP(){return 1936}function GP(){return YP()|0}function YP(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Sa(8)|0,e=r,s=e+4|0,t[s>>2]=cn(1)|0,u=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],KP(u,s,l),t[r>>2]=u,m=n,e|0}function KP(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1916,t[r+12>>2]=n,t[e+4>>2]=r}function XP(e){e=e|0,Pv(e),yt(e)}function QP(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function JP(e){e=e|0,yt(e)}function ZP(){var e=0;return p[8088]|0||(uI(11076),Ht(25,11076,he|0)|0,e=8088,t[e>>2]=1,t[e+4>>2]=0),11076}function $P(e,n){e=e|0,n=n|0,t[e>>2]=eI()|0,t[e+4>>2]=tI()|0,t[e+12>>2]=n,t[e+8>>2]=nI()|0,t[e+32>>2]=10}function eI(){return 11745}function tI(){return 1940}function nI(){return O1()|0}function rI(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(iI(r),yt(r)):n|0&&yt(n)}function iI(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function uI(e){e=e|0,Ha(e)}function jf(e,n){e=e|0,n=n|0,t[e>>2]=n}function qE(e){return e=e|0,t[e>>2]|0}function oI(e){return e=e|0,p[t[e>>2]>>0]|0}function lI(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,t[u>>2]=t[e>>2],sI(n,u)|0,m=r}function sI(e,n){e=e|0,n=n|0;var r=0;return r=aI(t[e>>2]|0,n)|0,n=e+4|0,t[(t[n>>2]|0)+8>>2]=r,t[(t[n>>2]|0)+8>>2]|0}function aI(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,Ta(u),e=vo(e)|0,n=fI(e,t[n>>2]|0)|0,Ca(u),m=r,n|0}function Ta(e){e=e|0,t[e>>2]=t[2701],t[e+4>>2]=t[2703]}function fI(e,n){e=e|0,n=n|0;var r=0;return r=mo(cI()|0)|0,ji(0,r|0,e|0,bE(n)|0)|0}function Ca(e){e=e|0,g8(t[e>>2]|0,t[e+4>>2]|0)}function cI(){var e=0;return p[8096]|0||(dI(11120),e=8096,t[e>>2]=1,t[e+4>>2]=0),11120}function dI(e){e=e|0,nl(e,pI()|0,1)}function pI(){return 1948}function hI(){vI()}function vI(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0;if(Ee=m,m=m+16|0,O=Ee+4|0,P=Ee,Ln(65536,10804,t[2702]|0,10812),r=$3()|0,n=t[r>>2]|0,e=t[n>>2]|0,e|0)for(u=t[r+8>>2]|0,r=t[r+4>>2]|0;Wl(e|0,k[r>>0]|0|0,p[u>>0]|0),n=n+4|0,e=t[n>>2]|0,e;)u=u+1|0,r=r+1|0;if(e=e8()|0,n=t[e>>2]|0,n|0)do xo(n|0,t[e+4>>2]|0),e=e+8|0,n=t[e>>2]|0;while((n|0)!=0);xo(mI()|0,5167),M=Mv()|0,e=t[M>>2]|0;e:do if(e|0){do yI(t[e+4>>2]|0),e=t[e>>2]|0;while((e|0)!=0);if(e=t[M>>2]|0,e|0){S=M;do{for(;l=e,e=t[e>>2]|0,l=t[l+4>>2]|0,!!(gI(l)|0);)if(t[P>>2]=S,t[O>>2]=t[P>>2],_I(M,O)|0,!e)break e;if(EI(l),S=t[S>>2]|0,n=k8(l)|0,s=lo()|0,h=m,m=m+((1*(n<<2)|0)+15&-16)|0,D=m,m=m+((1*(n<<2)|0)+15&-16)|0,n=t[(d8(l)|0)>>2]|0,n|0)for(r=h,u=D;t[r>>2]=t[(Nv(t[n+4>>2]|0)|0)>>2],t[u>>2]=t[n+8>>2],n=t[n>>2]|0,n;)r=r+4|0,u=u+4|0;ve=Nv(l)|0,n=DI(l)|0,r=k8(l)|0,u=wI(l)|0,Ao(ve|0,n|0,h|0,D|0,r|0,u|0,OE(l)|0),ci(s|0)}while((e|0)!=0)}}while(0);if(e=t[(kE()|0)>>2]|0,e|0)do ve=e+4|0,M=ME(ve)|0,l=Py(M)|0,s=Fy(M)|0,h=(by(M)|0)+1|0,D=T_(M)|0,S=M8(ve)|0,M=rr(M)|0,O=D_(ve)|0,P=HE(ve)|0,oo(0,l|0,s|0,h|0,D|0,S|0,M|0,O|0,P|0,WE(ve)|0),e=t[e>>2]|0;while((e|0)!=0);e=t[(Mv()|0)>>2]|0;e:do if(e|0){t:for(;;){if(n=t[e+4>>2]|0,n|0?(K=t[(Nv(n)|0)>>2]|0,Pe=t[(p8(n)|0)>>2]|0,Pe|0):0){r=Pe;do{n=r+4|0,u=ME(n)|0;n:do if(u|0)switch(rr(u)|0){case 0:break t;case 4:case 3:case 2:{D=Py(u)|0,S=Fy(u)|0,M=(by(u)|0)+1|0,O=T_(u)|0,P=rr(u)|0,ve=D_(n)|0,oo(K|0,D|0,S|0,M|0,O|0,0,P|0,ve|0,HE(n)|0,WE(n)|0);break n}case 1:{h=Py(u)|0,D=Fy(u)|0,S=(by(u)|0)+1|0,M=T_(u)|0,O=M8(n)|0,P=rr(u)|0,ve=D_(n)|0,oo(K|0,h|0,D|0,S|0,M|0,O|0,P|0,ve|0,HE(n)|0,WE(n)|0);break n}case 5:{M=Py(u)|0,O=Fy(u)|0,P=(by(u)|0)+1|0,ve=T_(u)|0,oo(K|0,M|0,O|0,P|0,ve|0,SI(u)|0,rr(u)|0,0,0,0);break n}default:break n}while(0);r=t[r>>2]|0}while((r|0)!=0)}if(e=t[e>>2]|0,!e)break e}Xn()}while(0);Ms(),m=Ee}function mI(){return 11703}function yI(e){e=e|0,p[e+40>>0]=0}function gI(e){return e=e|0,(p[e+40>>0]|0)!=0|0}function _I(e,n){return e=e|0,n=n|0,n=TI(n)|0,e=t[n>>2]|0,t[n>>2]=t[e>>2],yt(e),t[n>>2]|0}function EI(e){e=e|0,p[e+40>>0]=1}function k8(e){return e=e|0,t[e+20>>2]|0}function DI(e){return e=e|0,t[e+8>>2]|0}function wI(e){return e=e|0,t[e+32>>2]|0}function T_(e){return e=e|0,t[e+4>>2]|0}function M8(e){return e=e|0,t[e+4>>2]|0}function HE(e){return e=e|0,t[e+8>>2]|0}function WE(e){return e=e|0,t[e+16>>2]|0}function SI(e){return e=e|0,t[e+20>>2]|0}function TI(e){return e=e|0,t[e>>2]|0}function C_(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0,Re=0,Fe=0,Qt=0;Qt=m,m=m+16|0,K=Qt;do if(e>>>0<245){if(M=e>>>0<11?16:e+11&-8,e=M>>>3,P=t[2783]|0,r=P>>>e,r&3|0)return n=(r&1^1)+e|0,e=11172+(n<<1<<2)|0,r=e+8|0,u=t[r>>2]|0,l=u+8|0,s=t[l>>2]|0,(e|0)==(s|0)?t[2783]=P&~(1<>2]=e,t[r>>2]=s),Fe=n<<3,t[u+4>>2]=Fe|3,Fe=u+Fe+4|0,t[Fe>>2]=t[Fe>>2]|1,Fe=l,m=Qt,Fe|0;if(O=t[2785]|0,M>>>0>O>>>0){if(r|0)return n=2<>>12&16,n=n>>>h,r=n>>>5&8,n=n>>>r,l=n>>>2&4,n=n>>>l,e=n>>>1&2,n=n>>>e,u=n>>>1&1,u=(r|h|l|e|u)+(n>>>u)|0,n=11172+(u<<1<<2)|0,e=n+8|0,l=t[e>>2]|0,h=l+8|0,r=t[h>>2]|0,(n|0)==(r|0)?(e=P&~(1<>2]=n,t[e>>2]=r,e=P),s=(u<<3)-M|0,t[l+4>>2]=M|3,u=l+M|0,t[u+4>>2]=s|1,t[u+s>>2]=s,O|0&&(l=t[2788]|0,n=O>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=l,t[n+12>>2]=l,t[l+8>>2]=n,t[l+12>>2]=r),t[2785]=s,t[2788]=u,Fe=h,m=Qt,Fe|0;if(D=t[2784]|0,D){if(r=(D&0-D)+-1|0,h=r>>>12&16,r=r>>>h,s=r>>>5&8,r=r>>>s,S=r>>>2&4,r=r>>>S,u=r>>>1&2,r=r>>>u,e=r>>>1&1,e=t[11436+((s|h|S|u|e)+(r>>>e)<<2)>>2]|0,r=(t[e+4>>2]&-8)-M|0,u=t[e+16+(((t[e+16>>2]|0)==0&1)<<2)>>2]|0,!u)S=e,s=r;else{do h=(t[u+4>>2]&-8)-M|0,S=h>>>0>>0,r=S?h:r,e=S?u:e,u=t[u+16+(((t[u+16>>2]|0)==0&1)<<2)>>2]|0;while((u|0)!=0);S=e,s=r}if(h=S+M|0,S>>>0>>0){l=t[S+24>>2]|0,n=t[S+12>>2]|0;do if((n|0)==(S|0)){if(e=S+20|0,n=t[e>>2]|0,!n&&(e=S+16|0,n=t[e>>2]|0,!n)){r=0;break}for(;;){if(r=n+20|0,u=t[r>>2]|0,u|0){n=u,e=r;continue}if(r=n+16|0,u=t[r>>2]|0,u)n=u,e=r;else break}t[e>>2]=0,r=n}else r=t[S+8>>2]|0,t[r+12>>2]=n,t[n+8>>2]=r,r=n;while(0);do if(l|0){if(n=t[S+28>>2]|0,e=11436+(n<<2)|0,(S|0)==(t[e>>2]|0)){if(t[e>>2]=r,!r){t[2784]=D&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=l,n=t[S+16>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),n=t[S+20>>2]|0,n|0&&(t[r+20>>2]=n,t[n+24>>2]=r)}while(0);return s>>>0<16?(Fe=s+M|0,t[S+4>>2]=Fe|3,Fe=S+Fe+4|0,t[Fe>>2]=t[Fe>>2]|1):(t[S+4>>2]=M|3,t[h+4>>2]=s|1,t[h+s>>2]=s,O|0&&(u=t[2788]|0,n=O>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=P|n,n=r,e=r+8|0),t[e>>2]=u,t[n+12>>2]=u,t[u+8>>2]=n,t[u+12>>2]=r),t[2785]=s,t[2788]=h),Fe=S+8|0,m=Qt,Fe|0}else P=M}else P=M}else P=M}else if(e>>>0<=4294967231)if(e=e+11|0,M=e&-8,S=t[2784]|0,S){u=0-M|0,e=e>>>8,e?M>>>0>16777215?D=31:(P=(e+1048320|0)>>>16&8,Re=e<>>16&4,Re=Re<>>16&2,D=14-(O|P|D)+(Re<>>15)|0,D=M>>>(D+7|0)&1|D<<1):D=0,r=t[11436+(D<<2)>>2]|0;e:do if(!r)r=0,e=0,Re=57;else for(e=0,h=M<<((D|0)==31?0:25-(D>>>1)|0),s=0;;){if(l=(t[r+4>>2]&-8)-M|0,l>>>0>>0)if(l)e=r,u=l;else{e=r,u=0,l=r,Re=61;break e}if(l=t[r+20>>2]|0,r=t[r+16+(h>>>31<<2)>>2]|0,s=(l|0)==0|(l|0)==(r|0)?s:l,l=(r|0)==0,l){r=s,Re=57;break}else h=h<<((l^1)&1)}while(0);if((Re|0)==57){if((r|0)==0&(e|0)==0){if(e=2<>>12&16,P=P>>>h,s=P>>>5&8,P=P>>>s,D=P>>>2&4,P=P>>>D,O=P>>>1&2,P=P>>>O,r=P>>>1&1,e=0,r=t[11436+((s|h|D|O|r)+(P>>>r)<<2)>>2]|0}r?(l=r,Re=61):(D=e,h=u)}if((Re|0)==61)for(;;)if(Re=0,r=(t[l+4>>2]&-8)-M|0,P=r>>>0>>0,r=P?r:u,e=P?l:e,l=t[l+16+(((t[l+16>>2]|0)==0&1)<<2)>>2]|0,l)u=r,Re=61;else{D=e,h=r;break}if((D|0)!=0?h>>>0<((t[2785]|0)-M|0)>>>0:0){if(s=D+M|0,D>>>0>=s>>>0)return Fe=0,m=Qt,Fe|0;l=t[D+24>>2]|0,n=t[D+12>>2]|0;do if((n|0)==(D|0)){if(e=D+20|0,n=t[e>>2]|0,!n&&(e=D+16|0,n=t[e>>2]|0,!n)){n=0;break}for(;;){if(r=n+20|0,u=t[r>>2]|0,u|0){n=u,e=r;continue}if(r=n+16|0,u=t[r>>2]|0,u)n=u,e=r;else break}t[e>>2]=0}else Fe=t[D+8>>2]|0,t[Fe+12>>2]=n,t[n+8>>2]=Fe;while(0);do if(l){if(e=t[D+28>>2]|0,r=11436+(e<<2)|0,(D|0)==(t[r>>2]|0)){if(t[r>>2]=n,!n){u=S&~(1<>2]|0)!=(D|0)&1)<<2)>>2]=n,!n){u=S;break}t[n+24>>2]=l,e=t[D+16>>2]|0,e|0&&(t[n+16>>2]=e,t[e+24>>2]=n),e=t[D+20>>2]|0,e&&(t[n+20>>2]=e,t[e+24>>2]=n),u=S}else u=S;while(0);do if(h>>>0>=16){if(t[D+4>>2]=M|3,t[s+4>>2]=h|1,t[s+h>>2]=h,n=h>>>3,h>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=s,t[n+12>>2]=s,t[s+8>>2]=n,t[s+12>>2]=r;break}if(n=h>>>8,n?h>>>0>16777215?n=31:(Re=(n+1048320|0)>>>16&8,Fe=n<>>16&4,Fe=Fe<>>16&2,n=14-(st|Re|n)+(Fe<>>15)|0,n=h>>>(n+7|0)&1|n<<1):n=0,r=11436+(n<<2)|0,t[s+28>>2]=n,e=s+16|0,t[e+4>>2]=0,t[e>>2]=0,e=1<>2]=s,t[s+24>>2]=r,t[s+12>>2]=s,t[s+8>>2]=s;break}for(e=h<<((n|0)==31?0:25-(n>>>1)|0),r=t[r>>2]|0;;){if((t[r+4>>2]&-8|0)==(h|0)){Re=97;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Re=96;break}}if((Re|0)==96){t[u>>2]=s,t[s+24>>2]=r,t[s+12>>2]=s,t[s+8>>2]=s;break}else if((Re|0)==97){Re=r+8|0,Fe=t[Re>>2]|0,t[Fe+12>>2]=s,t[Re>>2]=s,t[s+8>>2]=Fe,t[s+12>>2]=r,t[s+24>>2]=0;break}}else Fe=h+M|0,t[D+4>>2]=Fe|3,Fe=D+Fe+4|0,t[Fe>>2]=t[Fe>>2]|1;while(0);return Fe=D+8|0,m=Qt,Fe|0}else P=M}else P=M;else P=-1;while(0);if(r=t[2785]|0,r>>>0>=P>>>0)return n=r-P|0,e=t[2788]|0,n>>>0>15?(Fe=e+P|0,t[2788]=Fe,t[2785]=n,t[Fe+4>>2]=n|1,t[Fe+n>>2]=n,t[e+4>>2]=P|3):(t[2785]=0,t[2788]=0,t[e+4>>2]=r|3,Fe=e+r+4|0,t[Fe>>2]=t[Fe>>2]|1),Fe=e+8|0,m=Qt,Fe|0;if(h=t[2786]|0,h>>>0>P>>>0)return st=h-P|0,t[2786]=st,Fe=t[2789]|0,Re=Fe+P|0,t[2789]=Re,t[Re+4>>2]=st|1,t[Fe+4>>2]=P|3,Fe=Fe+8|0,m=Qt,Fe|0;if(t[2901]|0?e=t[2903]|0:(t[2903]=4096,t[2902]=4096,t[2904]=-1,t[2905]=-1,t[2906]=0,t[2894]=0,e=K&-16^1431655768,t[K>>2]=e,t[2901]=e,e=4096),D=P+48|0,S=P+47|0,s=e+S|0,l=0-e|0,M=s&l,M>>>0<=P>>>0||(e=t[2893]|0,e|0?(O=t[2891]|0,K=O+M|0,K>>>0<=O>>>0|K>>>0>e>>>0):0))return Fe=0,m=Qt,Fe|0;e:do if(t[2894]&4)n=0,Re=133;else{r=t[2789]|0;t:do if(r){for(u=11580;e=t[u>>2]|0,!(e>>>0<=r>>>0?(ve=u+4|0,(e+(t[ve>>2]|0)|0)>>>0>r>>>0):0);)if(e=t[u+8>>2]|0,e)u=e;else{Re=118;break t}if(n=s-h&l,n>>>0<2147483647)if(e=Z2(n|0)|0,(e|0)==((t[u>>2]|0)+(t[ve>>2]|0)|0)){if((e|0)!=(-1|0)){h=n,s=e,Re=135;break e}}else u=e,Re=126;else n=0}else Re=118;while(0);do if((Re|0)==118)if(r=Z2(0)|0,(r|0)!=(-1|0)?(n=r,Pe=t[2902]|0,Ee=Pe+-1|0,n=((Ee&n|0)==0?0:(Ee+n&0-Pe)-n|0)+M|0,Pe=t[2891]|0,Ee=n+Pe|0,n>>>0>P>>>0&n>>>0<2147483647):0){if(ve=t[2893]|0,ve|0?Ee>>>0<=Pe>>>0|Ee>>>0>ve>>>0:0){n=0;break}if(e=Z2(n|0)|0,(e|0)==(r|0)){h=n,s=r,Re=135;break e}else u=e,Re=126}else n=0;while(0);do if((Re|0)==126){if(r=0-n|0,!(D>>>0>n>>>0&(n>>>0<2147483647&(u|0)!=(-1|0))))if((u|0)==(-1|0)){n=0;break}else{h=n,s=u,Re=135;break e}if(e=t[2903]|0,e=S-n+e&0-e,e>>>0>=2147483647){h=n,s=u,Re=135;break e}if((Z2(e|0)|0)==(-1|0)){Z2(r|0)|0,n=0;break}else{h=e+n|0,s=u,Re=135;break e}}while(0);t[2894]=t[2894]|4,Re=133}while(0);if((((Re|0)==133?M>>>0<2147483647:0)?(st=Z2(M|0)|0,ve=Z2(0)|0,Qe=ve-st|0,We=Qe>>>0>(P+40|0)>>>0,!((st|0)==(-1|0)|We^1|st>>>0>>0&((st|0)!=(-1|0)&(ve|0)!=(-1|0))^1)):0)&&(h=We?Qe:n,s=st,Re=135),(Re|0)==135){n=(t[2891]|0)+h|0,t[2891]=n,n>>>0>(t[2892]|0)>>>0&&(t[2892]=n),S=t[2789]|0;do if(S){for(n=11580;;){if(e=t[n>>2]|0,r=n+4|0,u=t[r>>2]|0,(s|0)==(e+u|0)){Re=145;break}if(l=t[n+8>>2]|0,l)n=l;else break}if(((Re|0)==145?(t[n+12>>2]&8|0)==0:0)?S>>>0>>0&S>>>0>=e>>>0:0){t[r>>2]=u+h,Fe=S+8|0,Fe=(Fe&7|0)==0?0:0-Fe&7,Re=S+Fe|0,Fe=(t[2786]|0)+(h-Fe)|0,t[2789]=Re,t[2786]=Fe,t[Re+4>>2]=Fe|1,t[Re+Fe+4>>2]=40,t[2790]=t[2905];break}for(s>>>0<(t[2787]|0)>>>0&&(t[2787]=s),r=s+h|0,n=11580;;){if((t[n>>2]|0)==(r|0)){Re=153;break}if(e=t[n+8>>2]|0,e)n=e;else break}if((Re|0)==153?(t[n+12>>2]&8|0)==0:0){t[n>>2]=s,O=n+4|0,t[O>>2]=(t[O>>2]|0)+h,O=s+8|0,O=s+((O&7|0)==0?0:0-O&7)|0,n=r+8|0,n=r+((n&7|0)==0?0:0-n&7)|0,M=O+P|0,D=n-O-P|0,t[O+4>>2]=P|3;do if((n|0)!=(S|0)){if((n|0)==(t[2788]|0)){Fe=(t[2785]|0)+D|0,t[2785]=Fe,t[2788]=M,t[M+4>>2]=Fe|1,t[M+Fe>>2]=Fe;break}if(e=t[n+4>>2]|0,(e&3|0)==1){h=e&-8,u=e>>>3;e:do if(e>>>0<256)if(e=t[n+8>>2]|0,r=t[n+12>>2]|0,(r|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=r,t[r+8>>2]=e;break}else{s=t[n+24>>2]|0,e=t[n+12>>2]|0;do if((e|0)==(n|0)){if(u=n+16|0,r=u+4|0,e=t[r>>2]|0,!e)if(e=t[u>>2]|0,e)r=u;else{e=0;break}for(;;){if(u=e+20|0,l=t[u>>2]|0,l|0){e=l,r=u;continue}if(u=e+16|0,l=t[u>>2]|0,l)e=l,r=u;else break}t[r>>2]=0}else Fe=t[n+8>>2]|0,t[Fe+12>>2]=e,t[e+8>>2]=Fe;while(0);if(!s)break;r=t[n+28>>2]|0,u=11436+(r<<2)|0;do if((n|0)!=(t[u>>2]|0)){if(t[s+16+(((t[s+16>>2]|0)!=(n|0)&1)<<2)>>2]=e,!e)break e}else{if(t[u>>2]=e,e|0)break;t[2784]=t[2784]&~(1<>2]=s,r=n+16|0,u=t[r>>2]|0,u|0&&(t[e+16>>2]=u,t[u+24>>2]=e),r=t[r+4>>2]|0,!r)break;t[e+20>>2]=r,t[r+24>>2]=e}while(0);n=n+h|0,l=h+D|0}else l=D;if(n=n+4|0,t[n>>2]=t[n>>2]&-2,t[M+4>>2]=l|1,t[M+l>>2]=l,n=l>>>3,l>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=M,t[n+12>>2]=M,t[M+8>>2]=n,t[M+12>>2]=r;break}n=l>>>8;do if(!n)n=0;else{if(l>>>0>16777215){n=31;break}Re=(n+1048320|0)>>>16&8,Fe=n<>>16&4,Fe=Fe<>>16&2,n=14-(st|Re|n)+(Fe<>>15)|0,n=l>>>(n+7|0)&1|n<<1}while(0);if(u=11436+(n<<2)|0,t[M+28>>2]=n,e=M+16|0,t[e+4>>2]=0,t[e>>2]=0,e=t[2784]|0,r=1<>2]=M,t[M+24>>2]=u,t[M+12>>2]=M,t[M+8>>2]=M;break}for(e=l<<((n|0)==31?0:25-(n>>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){Re=194;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Re=193;break}}if((Re|0)==193){t[u>>2]=M,t[M+24>>2]=r,t[M+12>>2]=M,t[M+8>>2]=M;break}else if((Re|0)==194){Re=r+8|0,Fe=t[Re>>2]|0,t[Fe+12>>2]=M,t[Re>>2]=M,t[M+8>>2]=Fe,t[M+12>>2]=r,t[M+24>>2]=0;break}}else Fe=(t[2786]|0)+D|0,t[2786]=Fe,t[2789]=M,t[M+4>>2]=Fe|1;while(0);return Fe=O+8|0,m=Qt,Fe|0}for(n=11580;e=t[n>>2]|0,!(e>>>0<=S>>>0?(Fe=e+(t[n+4>>2]|0)|0,Fe>>>0>S>>>0):0);)n=t[n+8>>2]|0;l=Fe+-47|0,e=l+8|0,e=l+((e&7|0)==0?0:0-e&7)|0,l=S+16|0,e=e>>>0>>0?S:e,n=e+8|0,r=s+8|0,r=(r&7|0)==0?0:0-r&7,Re=s+r|0,r=h+-40-r|0,t[2789]=Re,t[2786]=r,t[Re+4>>2]=r|1,t[Re+r+4>>2]=40,t[2790]=t[2905],r=e+4|0,t[r>>2]=27,t[n>>2]=t[2895],t[n+4>>2]=t[2896],t[n+8>>2]=t[2897],t[n+12>>2]=t[2898],t[2895]=s,t[2896]=h,t[2898]=0,t[2897]=n,n=e+24|0;do Re=n,n=n+4|0,t[n>>2]=7;while((Re+8|0)>>>0>>0);if((e|0)!=(S|0)){if(s=e-S|0,t[r>>2]=t[r>>2]&-2,t[S+4>>2]=s|1,t[e>>2]=s,n=s>>>3,s>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=S,t[n+12>>2]=S,t[S+8>>2]=n,t[S+12>>2]=r;break}if(n=s>>>8,n?s>>>0>16777215?r=31:(Re=(n+1048320|0)>>>16&8,Fe=n<>>16&4,Fe=Fe<>>16&2,r=14-(st|Re|r)+(Fe<>>15)|0,r=s>>>(r+7|0)&1|r<<1):r=0,u=11436+(r<<2)|0,t[S+28>>2]=r,t[S+20>>2]=0,t[l>>2]=0,n=t[2784]|0,e=1<>2]=S,t[S+24>>2]=u,t[S+12>>2]=S,t[S+8>>2]=S;break}for(e=s<<((r|0)==31?0:25-(r>>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){Re=216;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Re=215;break}}if((Re|0)==215){t[u>>2]=S,t[S+24>>2]=r,t[S+12>>2]=S,t[S+8>>2]=S;break}else if((Re|0)==216){Re=r+8|0,Fe=t[Re>>2]|0,t[Fe+12>>2]=S,t[Re>>2]=S,t[S+8>>2]=Fe,t[S+12>>2]=r,t[S+24>>2]=0;break}}}else{Fe=t[2787]|0,(Fe|0)==0|s>>>0>>0&&(t[2787]=s),t[2895]=s,t[2896]=h,t[2898]=0,t[2792]=t[2901],t[2791]=-1,n=0;do Fe=11172+(n<<1<<2)|0,t[Fe+12>>2]=Fe,t[Fe+8>>2]=Fe,n=n+1|0;while((n|0)!=32);Fe=s+8|0,Fe=(Fe&7|0)==0?0:0-Fe&7,Re=s+Fe|0,Fe=h+-40-Fe|0,t[2789]=Re,t[2786]=Fe,t[Re+4>>2]=Fe|1,t[Re+Fe+4>>2]=40,t[2790]=t[2905]}while(0);if(n=t[2786]|0,n>>>0>P>>>0)return st=n-P|0,t[2786]=st,Fe=t[2789]|0,Re=Fe+P|0,t[2789]=Re,t[Re+4>>2]=st|1,t[Fe+4>>2]=P|3,Fe=Fe+8|0,m=Qt,Fe|0}return t[(Fv()|0)>>2]=12,Fe=0,m=Qt,Fe|0}function x_(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0;if(!!e){r=e+-8|0,l=t[2787]|0,e=t[e+-4>>2]|0,n=e&-8,S=r+n|0;do if(e&1)D=r,h=r;else{if(u=t[r>>2]|0,!(e&3)||(h=r+(0-u)|0,s=u+n|0,h>>>0>>0))return;if((h|0)==(t[2788]|0)){if(e=S+4|0,n=t[e>>2]|0,(n&3|0)!=3){D=h,n=s;break}t[2785]=s,t[e>>2]=n&-2,t[h+4>>2]=s|1,t[h+s>>2]=s;return}if(r=u>>>3,u>>>0<256)if(e=t[h+8>>2]|0,n=t[h+12>>2]|0,(n|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=n,t[n+8>>2]=e,D=h,n=s;break}l=t[h+24>>2]|0,e=t[h+12>>2]|0;do if((e|0)==(h|0)){if(r=h+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{e=0;break}for(;;){if(r=e+20|0,u=t[r>>2]|0,u|0){e=u,n=r;continue}if(r=e+16|0,u=t[r>>2]|0,u)e=u,n=r;else break}t[n>>2]=0}else D=t[h+8>>2]|0,t[D+12>>2]=e,t[e+8>>2]=D;while(0);if(l){if(n=t[h+28>>2]|0,r=11436+(n<<2)|0,(h|0)==(t[r>>2]|0)){if(t[r>>2]=e,!e){t[2784]=t[2784]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=e,!e){D=h,n=s;break}t[e+24>>2]=l,n=h+16|0,r=t[n>>2]|0,r|0&&(t[e+16>>2]=r,t[r+24>>2]=e),n=t[n+4>>2]|0,n?(t[e+20>>2]=n,t[n+24>>2]=e,D=h,n=s):(D=h,n=s)}else D=h,n=s}while(0);if(!(h>>>0>=S>>>0)&&(e=S+4|0,u=t[e>>2]|0,!!(u&1))){if(u&2)t[e>>2]=u&-2,t[D+4>>2]=n|1,t[h+n>>2]=n,l=n;else{if(e=t[2788]|0,(S|0)==(t[2789]|0)){if(S=(t[2786]|0)+n|0,t[2786]=S,t[2789]=D,t[D+4>>2]=S|1,(D|0)!=(e|0))return;t[2788]=0,t[2785]=0;return}if((S|0)==(e|0)){S=(t[2785]|0)+n|0,t[2785]=S,t[2788]=h,t[D+4>>2]=S|1,t[h+S>>2]=S;return}l=(u&-8)+n|0,r=u>>>3;do if(u>>>0<256)if(n=t[S+8>>2]|0,e=t[S+12>>2]|0,(e|0)==(n|0)){t[2783]=t[2783]&~(1<>2]=e,t[e+8>>2]=n;break}else{s=t[S+24>>2]|0,e=t[S+12>>2]|0;do if((e|0)==(S|0)){if(r=S+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{r=0;break}for(;;){if(r=e+20|0,u=t[r>>2]|0,u|0){e=u,n=r;continue}if(r=e+16|0,u=t[r>>2]|0,u)e=u,n=r;else break}t[n>>2]=0,r=e}else r=t[S+8>>2]|0,t[r+12>>2]=e,t[e+8>>2]=r,r=e;while(0);if(s|0){if(e=t[S+28>>2]|0,n=11436+(e<<2)|0,(S|0)==(t[n>>2]|0)){if(t[n>>2]=r,!r){t[2784]=t[2784]&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=s,e=S+16|0,n=t[e>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),e=t[e+4>>2]|0,e|0&&(t[r+20>>2]=e,t[e+24>>2]=r)}}while(0);if(t[D+4>>2]=l|1,t[h+l>>2]=l,(D|0)==(t[2788]|0)){t[2785]=l;return}}if(e=l>>>3,l>>>0<256){r=11172+(e<<1<<2)|0,n=t[2783]|0,e=1<>2]|0):(t[2783]=n|e,e=r,n=r+8|0),t[n>>2]=D,t[e+12>>2]=D,t[D+8>>2]=e,t[D+12>>2]=r;return}e=l>>>8,e?l>>>0>16777215?e=31:(h=(e+1048320|0)>>>16&8,S=e<>>16&4,S=S<>>16&2,e=14-(s|h|e)+(S<>>15)|0,e=l>>>(e+7|0)&1|e<<1):e=0,u=11436+(e<<2)|0,t[D+28>>2]=e,t[D+20>>2]=0,t[D+16>>2]=0,n=t[2784]|0,r=1<>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){e=73;break}if(u=r+16+(n>>>31<<2)|0,e=t[u>>2]|0,e)n=n<<1,r=e;else{e=72;break}}if((e|0)==72){t[u>>2]=D,t[D+24>>2]=r,t[D+12>>2]=D,t[D+8>>2]=D;break}else if((e|0)==73){h=r+8|0,S=t[h>>2]|0,t[S+12>>2]=D,t[h>>2]=D,t[D+8>>2]=S,t[D+12>>2]=r,t[D+24>>2]=0;break}}else t[2784]=n|r,t[u>>2]=D,t[D+24>>2]=u,t[D+12>>2]=D,t[D+8>>2]=D;while(0);if(S=(t[2791]|0)+-1|0,t[2791]=S,!S)e=11588;else return;for(;e=t[e>>2]|0,e;)e=e+8|0;t[2791]=-1}}}function CI(){return 11628}function xI(e){e=e|0;var n=0,r=0;return n=m,m=m+16|0,r=n,t[r>>2]=OI(t[e+60>>2]|0)|0,e=A_(wu(6,r|0)|0)|0,m=n,e|0}function N8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0;P=m,m=m+48|0,M=P+16|0,s=P,l=P+32|0,D=e+28|0,u=t[D>>2]|0,t[l>>2]=u,S=e+20|0,u=(t[S>>2]|0)-u|0,t[l+4>>2]=u,t[l+8>>2]=n,t[l+12>>2]=r,u=u+r|0,h=e+60|0,t[s>>2]=t[h>>2],t[s+4>>2]=l,t[s+8>>2]=2,s=A_(d0(146,s|0)|0)|0;e:do if((u|0)!=(s|0)){for(n=2;!((s|0)<0);)if(u=u-s|0,Pe=t[l+4>>2]|0,K=s>>>0>Pe>>>0,l=K?l+8|0:l,n=(K<<31>>31)+n|0,Pe=s-(K?Pe:0)|0,t[l>>2]=(t[l>>2]|0)+Pe,K=l+4|0,t[K>>2]=(t[K>>2]|0)-Pe,t[M>>2]=t[h>>2],t[M+4>>2]=l,t[M+8>>2]=n,s=A_(d0(146,M|0)|0)|0,(u|0)==(s|0)){O=3;break e}t[e+16>>2]=0,t[D>>2]=0,t[S>>2]=0,t[e>>2]=t[e>>2]|32,(n|0)==2?r=0:r=r-(t[l+4>>2]|0)|0}else O=3;while(0);return(O|0)==3&&(Pe=t[e+44>>2]|0,t[e+16>>2]=Pe+(t[e+48>>2]|0),t[D>>2]=Pe,t[S>>2]=Pe),m=P,r|0}function AI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return l=m,m=m+32|0,s=l,u=l+20|0,t[s>>2]=t[e+60>>2],t[s+4>>2]=0,t[s+8>>2]=n,t[s+12>>2]=u,t[s+16>>2]=r,(A_(Ti(140,s|0)|0)|0)<0?(t[u>>2]=-1,e=-1):e=t[u>>2]|0,m=l,e|0}function A_(e){return e=e|0,e>>>0>4294963200&&(t[(Fv()|0)>>2]=0-e,e=-1),e|0}function Fv(){return(RI()|0)+64|0}function RI(){return VE()|0}function VE(){return 2084}function OI(e){return e=e|0,e|0}function kI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;return l=m,m=m+32|0,u=l,t[e+36>>2]=1,((t[e>>2]&64|0)==0?(t[u>>2]=t[e+60>>2],t[u+4>>2]=21523,t[u+8>>2]=l+16,b0(54,u|0)|0):0)&&(p[e+75>>0]=-1),u=N8(e,n,r)|0,m=l,u|0}function L8(e,n){e=e|0,n=n|0;var r=0,u=0;if(r=p[e>>0]|0,u=p[n>>0]|0,r<<24>>24==0?1:r<<24>>24!=u<<24>>24)e=u;else{do e=e+1|0,n=n+1|0,r=p[e>>0]|0,u=p[n>>0]|0;while(!(r<<24>>24==0?1:r<<24>>24!=u<<24>>24));e=u}return(r&255)-(e&255)|0}function MI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;e:do if(!r)e=0;else{for(;u=p[e>>0]|0,l=p[n>>0]|0,u<<24>>24==l<<24>>24;)if(r=r+-1|0,r)e=e+1|0,n=n+1|0;else{e=0;break e}e=(u&255)-(l&255)|0}while(0);return e|0}function F8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0;ve=m,m=m+224|0,O=ve+120|0,P=ve+80|0,Pe=ve,Ee=ve+136|0,u=P,l=u+40|0;do t[u>>2]=0,u=u+4|0;while((u|0)<(l|0));return t[O>>2]=t[r>>2],(GE(0,n,O,Pe,P)|0)<0?r=-1:((t[e+76>>2]|0)>-1?K=NI(e)|0:K=0,r=t[e>>2]|0,M=r&32,(p[e+74>>0]|0)<1&&(t[e>>2]=r&-33),u=e+48|0,t[u>>2]|0?r=GE(e,n,O,Pe,P)|0:(l=e+44|0,s=t[l>>2]|0,t[l>>2]=Ee,h=e+28|0,t[h>>2]=Ee,D=e+20|0,t[D>>2]=Ee,t[u>>2]=80,S=e+16|0,t[S>>2]=Ee+80,r=GE(e,n,O,Pe,P)|0,s&&(M_[t[e+36>>2]&7](e,0,0)|0,r=(t[D>>2]|0)==0?-1:r,t[l>>2]=s,t[u>>2]=0,t[S>>2]=0,t[h>>2]=0,t[D>>2]=0)),u=t[e>>2]|0,t[e>>2]=u|M,K|0&&LI(e),r=(u&32|0)==0?r:-1),m=ve,r|0}function GE(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0,Re=0,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0;On=m,m=m+64|0,Nn=On+16|0,mn=On,Qt=On+24|0,hr=On+8|0,kr=On+20|0,t[Nn>>2]=n,st=(e|0)!=0,Re=Qt+40|0,Fe=Re,Qt=Qt+39|0,Lr=hr+4|0,h=0,s=0,O=0;e:for(;;){do if((s|0)>-1)if((h|0)>(2147483647-s|0)){t[(Fv()|0)>>2]=75,s=-1;break}else{s=h+s|0;break}while(0);if(h=p[n>>0]|0,h<<24>>24)D=n;else{We=87;break}t:for(;;){switch(h<<24>>24){case 37:{h=D,We=9;break t}case 0:{h=D;break t}default:}Qe=D+1|0,t[Nn>>2]=Qe,h=p[Qe>>0]|0,D=Qe}t:do if((We|0)==9)for(;;){if(We=0,(p[D+1>>0]|0)!=37)break t;if(h=h+1|0,D=D+2|0,t[Nn>>2]=D,(p[D>>0]|0)==37)We=9;else break}while(0);if(h=h-n|0,st&&qo(e,n,h),h|0){n=D;continue}S=D+1|0,h=(p[S>>0]|0)+-48|0,h>>>0<10?(Qe=(p[D+2>>0]|0)==36,ve=Qe?h:-1,O=Qe?1:O,S=Qe?D+3|0:S):ve=-1,t[Nn>>2]=S,h=p[S>>0]|0,D=(h<<24>>24)+-32|0;t:do if(D>>>0<32)for(M=0,P=h;;){if(h=1<>2]=S,h=p[S>>0]|0,D=(h<<24>>24)+-32|0,D>>>0>=32)break;P=h}else M=0;while(0);if(h<<24>>24==42){if(D=S+1|0,h=(p[D>>0]|0)+-48|0,h>>>0<10?(p[S+2>>0]|0)==36:0)t[l+(h<<2)>>2]=10,h=t[u+((p[D>>0]|0)+-48<<3)>>2]|0,O=1,S=S+3|0;else{if(O|0){s=-1;break}st?(O=(t[r>>2]|0)+(4-1)&~(4-1),h=t[O>>2]|0,t[r>>2]=O+4,O=0,S=D):(h=0,O=0,S=D)}t[Nn>>2]=S,Qe=(h|0)<0,h=Qe?0-h|0:h,M=Qe?M|8192:M}else{if(h=b8(Nn)|0,(h|0)<0){s=-1;break}S=t[Nn>>2]|0}do if((p[S>>0]|0)==46){if((p[S+1>>0]|0)!=42){t[Nn>>2]=S+1,D=b8(Nn)|0,S=t[Nn>>2]|0;break}if(P=S+2|0,D=(p[P>>0]|0)+-48|0,D>>>0<10?(p[S+3>>0]|0)==36:0){t[l+(D<<2)>>2]=10,D=t[u+((p[P>>0]|0)+-48<<3)>>2]|0,S=S+4|0,t[Nn>>2]=S;break}if(O|0){s=-1;break e}st?(Qe=(t[r>>2]|0)+(4-1)&~(4-1),D=t[Qe>>2]|0,t[r>>2]=Qe+4):D=0,t[Nn>>2]=P,S=P}else D=-1;while(0);for(Ee=0;;){if(((p[S>>0]|0)+-65|0)>>>0>57){s=-1;break e}if(Qe=S+1|0,t[Nn>>2]=Qe,P=p[(p[S>>0]|0)+-65+(5178+(Ee*58|0))>>0]|0,K=P&255,(K+-1|0)>>>0<8)Ee=K,S=Qe;else break}if(!(P<<24>>24)){s=-1;break}Pe=(ve|0)>-1;do if(P<<24>>24==19)if(Pe){s=-1;break e}else We=49;else{if(Pe){t[l+(ve<<2)>>2]=K,Pe=u+(ve<<3)|0,ve=t[Pe+4>>2]|0,We=mn,t[We>>2]=t[Pe>>2],t[We+4>>2]=ve,We=49;break}if(!st){s=0;break e}P8(mn,K,r)}while(0);if((We|0)==49?(We=0,!st):0){h=0,n=Qe;continue}S=p[S>>0]|0,S=(Ee|0)!=0&(S&15|0)==3?S&-33:S,Pe=M&-65537,ve=(M&8192|0)==0?M:Pe;t:do switch(S|0){case 110:switch((Ee&255)<<24>>24){case 0:{t[t[mn>>2]>>2]=s,h=0,n=Qe;continue e}case 1:{t[t[mn>>2]>>2]=s,h=0,n=Qe;continue e}case 2:{h=t[mn>>2]|0,t[h>>2]=s,t[h+4>>2]=((s|0)<0)<<31>>31,h=0,n=Qe;continue e}case 3:{E[t[mn>>2]>>1]=s,h=0,n=Qe;continue e}case 4:{p[t[mn>>2]>>0]=s,h=0,n=Qe;continue e}case 6:{t[t[mn>>2]>>2]=s,h=0,n=Qe;continue e}case 7:{h=t[mn>>2]|0,t[h>>2]=s,t[h+4>>2]=((s|0)<0)<<31>>31,h=0,n=Qe;continue e}default:{h=0,n=Qe;continue e}}case 112:{S=120,D=D>>>0>8?D:8,n=ve|8,We=61;break}case 88:case 120:{n=ve,We=61;break}case 111:{S=mn,n=t[S>>2]|0,S=t[S+4>>2]|0,K=bI(n,S,Re)|0,Pe=Fe-K|0,M=0,P=5642,D=(ve&8|0)==0|(D|0)>(Pe|0)?D:Pe+1|0,Pe=ve,We=67;break}case 105:case 100:if(S=mn,n=t[S>>2]|0,S=t[S+4>>2]|0,(S|0)<0){n=R_(0,0,n|0,S|0)|0,S=ft,M=mn,t[M>>2]=n,t[M+4>>2]=S,M=1,P=5642,We=66;break t}else{M=(ve&2049|0)!=0&1,P=(ve&2048|0)==0?(ve&1|0)==0?5642:5644:5643,We=66;break t}case 117:{S=mn,M=0,P=5642,n=t[S>>2]|0,S=t[S+4>>2]|0,We=66;break}case 99:{p[Qt>>0]=t[mn>>2],n=Qt,M=0,P=5642,K=Re,S=1,D=Pe;break}case 109:{S=PI(t[(Fv()|0)>>2]|0)|0,We=71;break}case 115:{S=t[mn>>2]|0,S=S|0?S:5652,We=71;break}case 67:{t[hr>>2]=t[mn>>2],t[Lr>>2]=0,t[mn>>2]=hr,K=-1,S=hr,We=75;break}case 83:{n=t[mn>>2]|0,D?(K=D,S=n,We=75):(hl(e,32,h,0,ve),n=0,We=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{h=BI(e,+U[mn>>3],h,D,ve,S)|0,n=Qe;continue e}default:M=0,P=5642,K=Re,S=D,D=ve}while(0);t:do if((We|0)==61)ve=mn,Ee=t[ve>>2]|0,ve=t[ve+4>>2]|0,K=FI(Ee,ve,Re,S&32)|0,P=(n&8|0)==0|(Ee|0)==0&(ve|0)==0,M=P?0:2,P=P?5642:5642+(S>>4)|0,Pe=n,n=Ee,S=ve,We=67;else if((We|0)==66)K=bv(n,S,Re)|0,Pe=ve,We=67;else if((We|0)==71)We=0,ve=II(S,0,D)|0,Ee=(ve|0)==0,n=S,M=0,P=5642,K=Ee?S+D|0:ve,S=Ee?D:ve-S|0,D=Pe;else if((We|0)==75){for(We=0,P=S,n=0,D=0;M=t[P>>2]|0,!(!M||(D=I8(kr,M)|0,(D|0)<0|D>>>0>(K-n|0)>>>0));)if(n=D+n|0,K>>>0>n>>>0)P=P+4|0;else break;if((D|0)<0){s=-1;break e}if(hl(e,32,h,n,ve),!n)n=0,We=84;else for(M=0;;){if(D=t[S>>2]|0,!D){We=84;break t}if(D=I8(kr,D)|0,M=D+M|0,(M|0)>(n|0)){We=84;break t}if(qo(e,kr,D),M>>>0>=n>>>0){We=84;break}else S=S+4|0}}while(0);if((We|0)==67)We=0,S=(n|0)!=0|(S|0)!=0,ve=(D|0)!=0|S,S=((S^1)&1)+(Fe-K)|0,n=ve?K:Re,K=Re,S=ve?(D|0)>(S|0)?D:S:D,D=(D|0)>-1?Pe&-65537:Pe;else if((We|0)==84){We=0,hl(e,32,h,n,ve^8192),h=(h|0)>(n|0)?h:n,n=Qe;continue}Ee=K-n|0,Pe=(S|0)<(Ee|0)?Ee:S,ve=Pe+M|0,h=(h|0)<(ve|0)?ve:h,hl(e,32,h,ve,D),qo(e,P,M),hl(e,48,h,ve,D^65536),hl(e,48,Pe,Ee,0),qo(e,n,Ee),hl(e,32,h,ve,D^8192),n=Qe}e:do if((We|0)==87&&!e)if(!O)s=0;else{for(s=1;n=t[l+(s<<2)>>2]|0,!!n;)if(P8(u+(s<<3)|0,n,r),s=s+1|0,(s|0)>=10){s=1;break e}for(;;){if(t[l+(s<<2)>>2]|0){s=-1;break e}if(s=s+1|0,(s|0)>=10){s=1;break}}}while(0);return m=On,s|0}function NI(e){return e=e|0,0}function LI(e){e=e|0}function qo(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]&32||YI(n,r,e)|0}function b8(e){e=e|0;var n=0,r=0,u=0;if(r=t[e>>2]|0,u=(p[r>>0]|0)+-48|0,u>>>0<10){n=0;do n=u+(n*10|0)|0,r=r+1|0,t[e>>2]=r,u=(p[r>>0]|0)+-48|0;while(u>>>0<10)}else n=0;return n|0}function P8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;e:do if(n>>>0<=20)do switch(n|0){case 9:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,t[e>>2]=n;break e}case 10:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,u=e,t[u>>2]=n,t[u+4>>2]=((n|0)<0)<<31>>31;break e}case 11:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,u=e,t[u>>2]=n,t[u+4>>2]=0;break e}case 12:{u=(t[r>>2]|0)+(8-1)&~(8-1),n=u,l=t[n>>2]|0,n=t[n+4>>2]|0,t[r>>2]=u+8,u=e,t[u>>2]=l,t[u+4>>2]=n;break e}case 13:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,u=(u&65535)<<16>>16,l=e,t[l>>2]=u,t[l+4>>2]=((u|0)<0)<<31>>31;break e}case 14:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,l=e,t[l>>2]=u&65535,t[l+4>>2]=0;break e}case 15:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,u=(u&255)<<24>>24,l=e,t[l>>2]=u,t[l+4>>2]=((u|0)<0)<<31>>31;break e}case 16:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,l=e,t[l>>2]=u&255,t[l+4>>2]=0;break e}case 17:{l=(t[r>>2]|0)+(8-1)&~(8-1),s=+U[l>>3],t[r>>2]=l+8,U[e>>3]=s;break e}case 18:{l=(t[r>>2]|0)+(8-1)&~(8-1),s=+U[l>>3],t[r>>2]=l+8,U[e>>3]=s;break e}default:break e}while(0);while(0)}function FI(e,n,r,u){if(e=e|0,n=n|0,r=r|0,u=u|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,p[r>>0]=k[5694+(e&15)>>0]|0|u,e=O_(e|0,n|0,4)|0,n=ft;while(!((e|0)==0&(n|0)==0));return r|0}function bI(e,n,r){if(e=e|0,n=n|0,r=r|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,p[r>>0]=e&7|48,e=O_(e|0,n|0,3)|0,n=ft;while(!((e|0)==0&(n|0)==0));return r|0}function bv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;if(n>>>0>0|(n|0)==0&e>>>0>4294967295){for(;u=QE(e|0,n|0,10,0)|0,r=r+-1|0,p[r>>0]=u&255|48,u=e,e=XE(e|0,n|0,10,0)|0,n>>>0>9|(n|0)==9&u>>>0>4294967295;)n=ft;n=e}else n=e;if(n)for(;r=r+-1|0,p[r>>0]=(n>>>0)%10|0|48,!(n>>>0<10);)n=(n>>>0)/10|0;return r|0}function PI(e){return e=e|0,HI(e,t[(qI()|0)+188>>2]|0)|0}function II(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;s=n&255,u=(r|0)!=0;e:do if(u&(e&3|0)!=0)for(l=n&255;;){if((p[e>>0]|0)==l<<24>>24){h=6;break e}if(e=e+1|0,r=r+-1|0,u=(r|0)!=0,!(u&(e&3|0)!=0)){h=5;break}}else h=5;while(0);(h|0)==5&&(u?h=6:r=0);e:do if((h|0)==6&&(l=n&255,(p[e>>0]|0)!=l<<24>>24)){u=nr(s,16843009)|0;t:do if(r>>>0>3){for(;s=t[e>>2]^u,!((s&-2139062144^-2139062144)&s+-16843009|0);)if(e=e+4|0,r=r+-4|0,r>>>0<=3){h=11;break t}}else h=11;while(0);if((h|0)==11&&!r){r=0;break}for(;;){if((p[e>>0]|0)==l<<24>>24)break e;if(e=e+1|0,r=r+-1|0,!r){r=0;break}}}while(0);return(r|0?e:0)|0}function hl(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0;if(h=m,m=m+256|0,s=h,(r|0)>(u|0)&(l&73728|0)==0){if(l=r-u|0,Iv(s|0,n|0,(l>>>0<256?l:256)|0)|0,l>>>0>255){n=r-u|0;do qo(e,s,256),l=l+-256|0;while(l>>>0>255);l=n&255}qo(e,s,l)}m=h}function I8(e,n){return e=e|0,n=n|0,e?e=jI(e,n,0)|0:e=0,e|0}function BI(e,n,r,u,l,s){e=e|0,n=+n,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0,Re=0,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0,Zi=0;Zi=m,m=m+560|0,S=Zi+8|0,Qe=Zi,On=Zi+524|0,kr=On,M=Zi+512|0,t[Qe>>2]=0,hr=M+12|0,B8(n)|0,(ft|0)<0?(n=-n,Nn=1,Lr=5659):(Nn=(l&2049|0)!=0&1,Lr=(l&2048|0)==0?(l&1|0)==0?5660:5665:5662),B8(n)|0,mn=ft&2146435072;do if(mn>>>0<2146435072|(mn|0)==2146435072&0<0){if(Pe=+UI(n,Qe)*2,h=Pe!=0,h&&(t[Qe>>2]=(t[Qe>>2]|0)+-1),st=s|32,(st|0)==97){Ee=s&32,K=(Ee|0)==0?Lr:Lr+9|0,P=Nn|2,h=12-u|0;do if(u>>>0>11|(h|0)==0)n=Pe;else{n=8;do h=h+-1|0,n=n*16;while((h|0)!=0);if((p[K>>0]|0)==45){n=-(n+(-Pe-n));break}else{n=Pe+n-n;break}}while(0);D=t[Qe>>2]|0,h=(D|0)<0?0-D|0:D,h=bv(h,((h|0)<0)<<31>>31,hr)|0,(h|0)==(hr|0)&&(h=M+11|0,p[h>>0]=48),p[h+-1>>0]=(D>>31&2)+43,O=h+-2|0,p[O>>0]=s+15,M=(u|0)<1,S=(l&8|0)==0,h=On;do mn=~~n,D=h+1|0,p[h>>0]=k[5694+mn>>0]|Ee,n=(n-+(mn|0))*16,((D-kr|0)==1?!(S&(M&n==0)):0)?(p[D>>0]=46,h=h+2|0):h=D;while(n!=0);mn=h-kr|0,kr=hr-O|0,hr=(u|0)!=0&(mn+-2|0)<(u|0)?u+2|0:mn,h=kr+P+hr|0,hl(e,32,r,h,l),qo(e,K,P),hl(e,48,r,h,l^65536),qo(e,On,mn),hl(e,48,hr-mn|0,0,0),qo(e,O,kr),hl(e,32,r,h,l^8192);break}D=(u|0)<0?6:u,h?(h=(t[Qe>>2]|0)+-28|0,t[Qe>>2]=h,n=Pe*268435456):(n=Pe,h=t[Qe>>2]|0),mn=(h|0)<0?S:S+288|0,S=mn;do Fe=~~n>>>0,t[S>>2]=Fe,S=S+4|0,n=(n-+(Fe>>>0))*1e9;while(n!=0);if((h|0)>0)for(M=mn,P=S;;){if(O=(h|0)<29?h:29,h=P+-4|0,h>>>0>=M>>>0){S=0;do Re=W8(t[h>>2]|0,0,O|0)|0,Re=KE(Re|0,ft|0,S|0,0)|0,Fe=ft,We=QE(Re|0,Fe|0,1e9,0)|0,t[h>>2]=We,S=XE(Re|0,Fe|0,1e9,0)|0,h=h+-4|0;while(h>>>0>=M>>>0);S&&(M=M+-4|0,t[M>>2]=S)}for(S=P;!(S>>>0<=M>>>0);)if(h=S+-4|0,!(t[h>>2]|0))S=h;else break;if(h=(t[Qe>>2]|0)-O|0,t[Qe>>2]=h,(h|0)>0)P=S;else break}else M=mn;if((h|0)<0){u=((D+25|0)/9|0)+1|0,ve=(st|0)==102;do{if(Ee=0-h|0,Ee=(Ee|0)<9?Ee:9,M>>>0>>0){O=(1<>>Ee,K=0,h=M;do Fe=t[h>>2]|0,t[h>>2]=(Fe>>>Ee)+K,K=nr(Fe&O,P)|0,h=h+4|0;while(h>>>0>>0);h=(t[M>>2]|0)==0?M+4|0:M,K?(t[S>>2]=K,M=h,h=S+4|0):(M=h,h=S)}else M=(t[M>>2]|0)==0?M+4|0:M,h=S;S=ve?mn:M,S=(h-S>>2|0)>(u|0)?S+(u<<2)|0:h,h=(t[Qe>>2]|0)+Ee|0,t[Qe>>2]=h}while((h|0)<0);h=M,u=S}else h=M,u=S;if(Fe=mn,h>>>0>>0){if(S=(Fe-h>>2)*9|0,O=t[h>>2]|0,O>>>0>=10){M=10;do M=M*10|0,S=S+1|0;while(O>>>0>=M>>>0)}}else S=0;if(ve=(st|0)==103,We=(D|0)!=0,M=D-((st|0)!=102?S:0)+((We&ve)<<31>>31)|0,(M|0)<(((u-Fe>>2)*9|0)+-9|0)){if(M=M+9216|0,Ee=mn+4+(((M|0)/9|0)+-1024<<2)|0,M=((M|0)%9|0)+1|0,(M|0)<9){O=10;do O=O*10|0,M=M+1|0;while((M|0)!=9)}else O=10;if(P=t[Ee>>2]|0,K=(P>>>0)%(O>>>0)|0,M=(Ee+4|0)==(u|0),M&(K|0)==0)M=Ee;else if(Pe=(((P>>>0)/(O>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,Re=(O|0)/2|0,n=K>>>0>>0?.5:M&(K|0)==(Re|0)?1:1.5,Nn&&(Re=(p[Lr>>0]|0)==45,n=Re?-n:n,Pe=Re?-Pe:Pe),M=P-K|0,t[Ee>>2]=M,Pe+n!=Pe){if(Re=M+O|0,t[Ee>>2]=Re,Re>>>0>999999999)for(S=Ee;M=S+-4|0,t[S>>2]=0,M>>>0>>0&&(h=h+-4|0,t[h>>2]=0),Re=(t[M>>2]|0)+1|0,t[M>>2]=Re,Re>>>0>999999999;)S=M;else M=Ee;if(S=(Fe-h>>2)*9|0,P=t[h>>2]|0,P>>>0>=10){O=10;do O=O*10|0,S=S+1|0;while(P>>>0>=O>>>0)}}else M=Ee;M=M+4|0,M=u>>>0>M>>>0?M:u,Re=h}else M=u,Re=h;for(st=M;;){if(st>>>0<=Re>>>0){Qe=0;break}if(h=st+-4|0,!(t[h>>2]|0))st=h;else{Qe=1;break}}u=0-S|0;do if(ve)if(h=((We^1)&1)+D|0,(h|0)>(S|0)&(S|0)>-5?(O=s+-1|0,D=h+-1-S|0):(O=s+-2|0,D=h+-1|0),h=l&8,h)Ee=h;else{if(Qe?(Qt=t[st+-4>>2]|0,(Qt|0)!=0):0)if((Qt>>>0)%10|0)M=0;else{M=0,h=10;do h=h*10|0,M=M+1|0;while(!((Qt>>>0)%(h>>>0)|0|0))}else M=9;if(h=((st-Fe>>2)*9|0)+-9|0,(O|32|0)==102){Ee=h-M|0,Ee=(Ee|0)>0?Ee:0,D=(D|0)<(Ee|0)?D:Ee,Ee=0;break}else{Ee=h+S-M|0,Ee=(Ee|0)>0?Ee:0,D=(D|0)<(Ee|0)?D:Ee,Ee=0;break}}else O=s,Ee=l&8;while(0);if(ve=D|Ee,P=(ve|0)!=0&1,K=(O|32|0)==102,K)We=0,h=(S|0)>0?S:0;else{if(h=(S|0)<0?u:S,h=bv(h,((h|0)<0)<<31>>31,hr)|0,M=hr,(M-h|0)<2)do h=h+-1|0,p[h>>0]=48;while((M-h|0)<2);p[h+-1>>0]=(S>>31&2)+43,h=h+-2|0,p[h>>0]=O,We=h,h=M-h|0}if(h=Nn+1+D+P+h|0,hl(e,32,r,h,l),qo(e,Lr,Nn),hl(e,48,r,h,l^65536),K){O=Re>>>0>mn>>>0?mn:Re,Ee=On+9|0,P=Ee,K=On+8|0,M=O;do{if(S=bv(t[M>>2]|0,0,Ee)|0,(M|0)==(O|0))(S|0)==(Ee|0)&&(p[K>>0]=48,S=K);else if(S>>>0>On>>>0){Iv(On|0,48,S-kr|0)|0;do S=S+-1|0;while(S>>>0>On>>>0)}qo(e,S,P-S|0),M=M+4|0}while(M>>>0<=mn>>>0);if(ve|0&&qo(e,5710,1),M>>>0>>0&(D|0)>0)for(;;){if(S=bv(t[M>>2]|0,0,Ee)|0,S>>>0>On>>>0){Iv(On|0,48,S-kr|0)|0;do S=S+-1|0;while(S>>>0>On>>>0)}if(qo(e,S,(D|0)<9?D:9),M=M+4|0,S=D+-9|0,M>>>0>>0&(D|0)>9)D=S;else{D=S;break}}hl(e,48,D+9|0,9,0)}else{if(ve=Qe?st:Re+4|0,(D|0)>-1){Qe=On+9|0,Ee=(Ee|0)==0,u=Qe,P=0-kr|0,K=On+8|0,O=Re;do{S=bv(t[O>>2]|0,0,Qe)|0,(S|0)==(Qe|0)&&(p[K>>0]=48,S=K);do if((O|0)==(Re|0)){if(M=S+1|0,qo(e,S,1),Ee&(D|0)<1){S=M;break}qo(e,5710,1),S=M}else{if(S>>>0<=On>>>0)break;Iv(On|0,48,S+P|0)|0;do S=S+-1|0;while(S>>>0>On>>>0)}while(0);kr=u-S|0,qo(e,S,(D|0)>(kr|0)?kr:D),D=D-kr|0,O=O+4|0}while(O>>>0>>0&(D|0)>-1)}hl(e,48,D+18|0,18,0),qo(e,We,hr-We|0)}hl(e,32,r,h,l^8192)}else On=(s&32|0)!=0,h=Nn+3|0,hl(e,32,r,h,l&-65537),qo(e,Lr,Nn),qo(e,n!=n|!1?On?5686:5690:On?5678:5682,3),hl(e,32,r,h,l^8192);while(0);return m=Zi,((h|0)<(r|0)?r:h)|0}function B8(e){e=+e;var n=0;return U[W>>3]=e,n=t[W>>2]|0,ft=t[W+4>>2]|0,n|0}function UI(e,n){return e=+e,n=n|0,+ +U8(e,n)}function U8(e,n){e=+e,n=n|0;var r=0,u=0,l=0;switch(U[W>>3]=e,r=t[W>>2]|0,u=t[W+4>>2]|0,l=O_(r|0,u|0,52)|0,l&2047){case 0:{e!=0?(e=+U8(e*18446744073709552e3,n),r=(t[n>>2]|0)+-64|0):r=0,t[n>>2]=r;break}case 2047:break;default:t[n>>2]=(l&2047)+-1022,t[W>>2]=r,t[W+4>>2]=u&-2146435073|1071644672,e=+U[W>>3]}return+e}function jI(e,n,r){e=e|0,n=n|0,r=r|0;do if(e){if(n>>>0<128){p[e>>0]=n,e=1;break}if(!(t[t[(zI()|0)+188>>2]>>2]|0))if((n&-128|0)==57216){p[e>>0]=n,e=1;break}else{t[(Fv()|0)>>2]=84,e=-1;break}if(n>>>0<2048){p[e>>0]=n>>>6|192,p[e+1>>0]=n&63|128,e=2;break}if(n>>>0<55296|(n&-8192|0)==57344){p[e>>0]=n>>>12|224,p[e+1>>0]=n>>>6&63|128,p[e+2>>0]=n&63|128,e=3;break}if((n+-65536|0)>>>0<1048576){p[e>>0]=n>>>18|240,p[e+1>>0]=n>>>12&63|128,p[e+2>>0]=n>>>6&63|128,p[e+3>>0]=n&63|128,e=4;break}else{t[(Fv()|0)>>2]=84,e=-1;break}}else e=1;while(0);return e|0}function zI(){return VE()|0}function qI(){return VE()|0}function HI(e,n){e=e|0,n=n|0;var r=0,u=0;for(u=0;;){if((k[5712+u>>0]|0)==(e|0)){e=2;break}if(r=u+1|0,(r|0)==87){r=5800,u=87,e=5;break}else u=r}if((e|0)==2&&(u?(r=5800,e=5):r=5800),(e|0)==5)for(;;){do e=r,r=r+1|0;while((p[e>>0]|0)!=0);if(u=u+-1|0,u)e=5;else break}return WI(r,t[n+20>>2]|0)|0}function WI(e,n){return e=e|0,n=n|0,VI(e,n)|0}function VI(e,n){return e=e|0,n=n|0,n?n=GI(t[n>>2]|0,t[n+4>>2]|0,e)|0:n=0,(n|0?n:e)|0}function GI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;K=(t[e>>2]|0)+1794895138|0,s=Gp(t[e+8>>2]|0,K)|0,u=Gp(t[e+12>>2]|0,K)|0,l=Gp(t[e+16>>2]|0,K)|0;e:do if((s>>>0>>2>>>0?(P=n-(s<<2)|0,u>>>0

>>0&l>>>0

>>0):0)?((l|u)&3|0)==0:0){for(P=u>>>2,O=l>>>2,M=0;;){if(D=s>>>1,S=M+D|0,h=S<<1,l=h+P|0,u=Gp(t[e+(l<<2)>>2]|0,K)|0,l=Gp(t[e+(l+1<<2)>>2]|0,K)|0,!(l>>>0>>0&u>>>0<(n-l|0)>>>0)){u=0;break e}if(p[e+(l+u)>>0]|0){u=0;break e}if(u=L8(r,e+l|0)|0,!u)break;if(u=(u|0)<0,(s|0)==1){u=0;break e}else M=u?M:S,s=u?D:s-D|0}u=h+O|0,l=Gp(t[e+(u<<2)>>2]|0,K)|0,u=Gp(t[e+(u+1<<2)>>2]|0,K)|0,u>>>0>>0&l>>>0<(n-u|0)>>>0?u=(p[e+(u+l)>>0]|0)==0?e+u|0:0:u=0}else u=0;while(0);return u|0}function Gp(e,n){e=e|0,n=n|0;var r=0;return r=Y8(e|0)|0,((n|0)==0?e:r)|0}function YI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=r+16|0,l=t[u>>2]|0,l?s=5:KI(r)|0?u=0:(l=t[u>>2]|0,s=5);e:do if((s|0)==5){if(D=r+20|0,h=t[D>>2]|0,u=h,(l-h|0)>>>0>>0){u=M_[t[r+36>>2]&7](r,e,n)|0;break}t:do if((p[r+75>>0]|0)>-1){for(h=n;;){if(!h){s=0,l=e;break t}if(l=h+-1|0,(p[e+l>>0]|0)==10)break;h=l}if(u=M_[t[r+36>>2]&7](r,e,h)|0,u>>>0>>0)break e;s=h,l=e+h|0,n=n-h|0,u=t[D>>2]|0}else s=0,l=e;while(0);pr(u|0,l|0,n|0)|0,t[D>>2]=(t[D>>2]|0)+n,u=s+n|0}while(0);return u|0}function KI(e){e=e|0;var n=0,r=0;return n=e+74|0,r=p[n>>0]|0,p[n>>0]=r+255|r,n=t[e>>2]|0,n&8?(t[e>>2]=n|32,e=-1):(t[e+8>>2]=0,t[e+4>>2]=0,r=t[e+44>>2]|0,t[e+28>>2]=r,t[e+20>>2]=r,t[e+16>>2]=r+(t[e+48>>2]|0),e=0),e|0}function Eu(e,n){e=w(e),n=w(n);var r=0,u=0;r=j8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(u=j8(n)|0,(u&2147483647)>>>0<=2139095040)if((u^r|0)<0){e=(r|0)<0?n:e;break}else{e=e>2]=e,t[W>>2]|0|0}function Yp(e,n){e=w(e),n=w(n);var r=0,u=0;r=z8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(u=z8(n)|0,(u&2147483647)>>>0<=2139095040)if((u^r|0)<0){e=(r|0)<0?e:n;break}else{e=e>2]=e,t[W>>2]|0|0}function YE(e,n){e=w(e),n=w(n);var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0;s=(C[W>>2]=e,t[W>>2]|0),D=(C[W>>2]=n,t[W>>2]|0),r=s>>>23&255,h=D>>>23&255,S=s&-2147483648,l=D<<1;e:do if((l|0)!=0?!((r|0)==255|((XI(n)|0)&2147483647)>>>0>2139095040):0){if(u=s<<1,u>>>0<=l>>>0)return n=w(e*w(0)),w((u|0)==(l|0)?n:e);if(r)u=s&8388607|8388608;else{if(r=s<<9,(r|0)>-1){u=r,r=0;do r=r+-1|0,u=u<<1;while((u|0)>-1)}else r=0;u=s<<1-r}if(h)D=D&8388607|8388608;else{if(s=D<<9,(s|0)>-1){l=0;do l=l+-1|0,s=s<<1;while((s|0)>-1)}else l=0;h=l,D=D<<1-l}l=u-D|0,s=(l|0)>-1;t:do if((r|0)>(h|0)){for(;;){if(s)if(l)u=l;else break;if(u=u<<1,r=r+-1|0,l=u-D|0,s=(l|0)>-1,(r|0)<=(h|0))break t}n=w(e*w(0));break e}while(0);if(s)if(l)u=l;else{n=w(e*w(0));break}if(u>>>0<8388608)do u=u<<1,r=r+-1|0;while(u>>>0<8388608);(r|0)>0?r=u+-8388608|r<<23:r=u>>>(1-r|0),n=(t[W>>2]=r|S,w(C[W>>2]))}else M=3;while(0);return(M|0)==3&&(n=w(e*n),n=w(n/n)),w(n)}function XI(e){return e=w(e),C[W>>2]=e,t[W>>2]|0|0}function QI(e,n){return e=e|0,n=n|0,F8(t[582]|0,e,n)|0}function li(e){e=e|0,Xn()}function Pv(e){e=e|0}function JI(e,n){return e=e|0,n=n|0,0}function ZI(e){return e=e|0,(q8(e+4|0)|0)==-1?(M1[t[(t[e>>2]|0)+8>>2]&127](e),e=1):e=0,e|0}function q8(e){e=e|0;var n=0;return n=t[e>>2]|0,t[e>>2]=n+-1,n+-1|0}function J2(e){e=e|0,ZI(e)|0&&$I(e)}function $I(e){e=e|0;var n=0;n=e+8|0,((t[n>>2]|0)!=0?(q8(n)|0)!=-1:0)||M1[t[(t[e>>2]|0)+16>>2]&127](e)}function cn(e){e=e|0;var n=0;for(n=(e|0)==0?1:e;e=C_(n)|0,!(e|0);){if(e=tB()|0,!e){e=0;break}rS[e&0]()}return e|0}function H8(e){return e=e|0,cn(e)|0}function yt(e){e=e|0,x_(e)}function eB(e){e=e|0,(p[e+11>>0]|0)<0&&yt(t[e>>2]|0)}function tB(){var e=0;return e=t[2923]|0,t[2923]=e+0,e|0}function nB(){}function R_(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,u=n-u-(r>>>0>e>>>0|0)>>>0,ft=u,e-r>>>0|0|0}function KE(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,r=e+r>>>0,ft=n+u+(r>>>0>>0|0)>>>0,r|0|0}function Iv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;if(s=e+r|0,n=n&255,(r|0)>=67){for(;e&3;)p[e>>0]=n,e=e+1|0;for(u=s&-4|0,l=u-64|0,h=n|n<<8|n<<16|n<<24;(e|0)<=(l|0);)t[e>>2]=h,t[e+4>>2]=h,t[e+8>>2]=h,t[e+12>>2]=h,t[e+16>>2]=h,t[e+20>>2]=h,t[e+24>>2]=h,t[e+28>>2]=h,t[e+32>>2]=h,t[e+36>>2]=h,t[e+40>>2]=h,t[e+44>>2]=h,t[e+48>>2]=h,t[e+52>>2]=h,t[e+56>>2]=h,t[e+60>>2]=h,e=e+64|0;for(;(e|0)<(u|0);)t[e>>2]=h,e=e+4|0}for(;(e|0)<(s|0);)p[e>>0]=n,e=e+1|0;return s-r|0}function W8(e,n,r){return e=e|0,n=n|0,r=r|0,(r|0)<32?(ft=n<>>32-r,e<>>r,e>>>r|(n&(1<>>r-32|0)}function pr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;if((r|0)>=8192)return ni(e|0,n|0,r|0)|0;if(s=e|0,l=e+r|0,(e&3)==(n&3)){for(;e&3;){if(!r)return s|0;p[e>>0]=p[n>>0]|0,e=e+1|0,n=n+1|0,r=r-1|0}for(r=l&-4|0,u=r-64|0;(e|0)<=(u|0);)t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2],t[e+16>>2]=t[n+16>>2],t[e+20>>2]=t[n+20>>2],t[e+24>>2]=t[n+24>>2],t[e+28>>2]=t[n+28>>2],t[e+32>>2]=t[n+32>>2],t[e+36>>2]=t[n+36>>2],t[e+40>>2]=t[n+40>>2],t[e+44>>2]=t[n+44>>2],t[e+48>>2]=t[n+48>>2],t[e+52>>2]=t[n+52>>2],t[e+56>>2]=t[n+56>>2],t[e+60>>2]=t[n+60>>2],e=e+64|0,n=n+64|0;for(;(e|0)<(r|0);)t[e>>2]=t[n>>2],e=e+4|0,n=n+4|0}else for(r=l-4|0;(e|0)<(r|0);)p[e>>0]=p[n>>0]|0,p[e+1>>0]=p[n+1>>0]|0,p[e+2>>0]=p[n+2>>0]|0,p[e+3>>0]=p[n+3>>0]|0,e=e+4|0,n=n+4|0;for(;(e|0)<(l|0);)p[e>>0]=p[n>>0]|0,e=e+1|0,n=n+1|0;return s|0}function V8(e){e=e|0;var n=0;return n=p[Se+(e&255)>>0]|0,(n|0)<8?n|0:(n=p[Se+(e>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=p[Se+(e>>16&255)>>0]|0,(n|0)<8?n+16|0:(p[Se+(e>>>24)>>0]|0)+24|0))}function G8(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0;if(O=e,S=n,M=S,h=r,K=u,D=K,!M)return s=(l|0)!=0,D?s?(t[l>>2]=e|0,t[l+4>>2]=n&0,K=0,l=0,ft=K,l|0):(K=0,l=0,ft=K,l|0):(s&&(t[l>>2]=(O>>>0)%(h>>>0),t[l+4>>2]=0),K=0,l=(O>>>0)/(h>>>0)>>>0,ft=K,l|0);s=(D|0)==0;do if(h){if(!s){if(s=(vr(D|0)|0)-(vr(M|0)|0)|0,s>>>0<=31){P=s+1|0,D=31-s|0,n=s-31>>31,h=P,e=O>>>(P>>>0)&n|M<>>(P>>>0)&n,s=0,D=O<>2]=e|0,t[l+4>>2]=S|n&0,K=0,l=0,ft=K,l|0):(K=0,l=0,ft=K,l|0)}if(s=h-1|0,s&h|0){D=(vr(h|0)|0)+33-(vr(M|0)|0)|0,Ee=64-D|0,P=32-D|0,S=P>>31,Pe=D-32|0,n=Pe>>31,h=D,e=P-1>>31&M>>>(Pe>>>0)|(M<>>(D>>>0))&n,n=n&M>>>(D>>>0),s=O<>>(Pe>>>0))&S|O<>31;break}return l|0&&(t[l>>2]=s&O,t[l+4>>2]=0),(h|0)==1?(Pe=S|n&0,Ee=e|0|0,ft=Pe,Ee|0):(Ee=V8(h|0)|0,Pe=M>>>(Ee>>>0)|0,Ee=M<<32-Ee|O>>>(Ee>>>0)|0,ft=Pe,Ee|0)}else{if(s)return l|0&&(t[l>>2]=(M>>>0)%(h>>>0),t[l+4>>2]=0),Pe=0,Ee=(M>>>0)/(h>>>0)>>>0,ft=Pe,Ee|0;if(!O)return l|0&&(t[l>>2]=0,t[l+4>>2]=(M>>>0)%(D>>>0)),Pe=0,Ee=(M>>>0)/(D>>>0)>>>0,ft=Pe,Ee|0;if(s=D-1|0,!(s&D))return l|0&&(t[l>>2]=e|0,t[l+4>>2]=s&M|n&0),Pe=0,Ee=M>>>((V8(D|0)|0)>>>0),ft=Pe,Ee|0;if(s=(vr(D|0)|0)-(vr(M|0)|0)|0,s>>>0<=30){n=s+1|0,D=31-s|0,h=n,e=M<>>(n>>>0),n=M>>>(n>>>0),s=0,D=O<>2]=e|0,t[l+4>>2]=S|n&0,Pe=0,Ee=0,ft=Pe,Ee|0):(Pe=0,Ee=0,ft=Pe,Ee|0)}while(0);if(!h)M=D,S=0,D=0;else{P=r|0|0,O=K|u&0,M=KE(P|0,O|0,-1,-1)|0,r=ft,S=D,D=0;do u=S,S=s>>>31|S<<1,s=D|s<<1,u=e<<1|u>>>31|0,K=e>>>31|n<<1|0,R_(M|0,r|0,u|0,K|0)|0,Ee=ft,Pe=Ee>>31|((Ee|0)<0?-1:0)<<1,D=Pe&1,e=R_(u|0,K|0,Pe&P|0,(((Ee|0)<0?-1:0)>>31|((Ee|0)<0?-1:0)<<1)&O|0)|0,n=ft,h=h-1|0;while((h|0)!=0);M=S,S=0}return h=0,l|0&&(t[l>>2]=e,t[l+4>>2]=n),Pe=(s|0)>>>31|(M|h)<<1|(h<<1|s>>>31)&0|S,Ee=(s<<1|0>>>31)&-2|D,ft=Pe,Ee|0}function XE(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,G8(e,n,r,u,0)|0}function Z2(e){e=e|0;var n=0,r=0;return r=e+15&-16|0,n=t[q>>2]|0,e=n+r|0,(r|0)>0&(e|0)<(n|0)|(e|0)<0?(ur()|0,Vl(12),-1):(t[q>>2]=e,((e|0)>(Fr()|0)?(fr()|0)==0:0)?(t[q>>2]=n,Vl(12),-1):n|0)}function Iy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;if((n|0)<(e|0)&(e|0)<(n+r|0)){for(u=e,n=n+r|0,e=e+r|0;(r|0)>0;)e=e-1|0,n=n-1|0,r=r-1|0,p[e>>0]=p[n>>0]|0;e=u}else pr(e,n,r)|0;return e|0}function QE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;return s=m,m=m+16|0,l=s|0,G8(e,n,r,u,l)|0,m=s,ft=t[l+4>>2]|0,t[l>>2]|0|0}function Y8(e){return e=e|0,(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function rB(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,K8[e&1](n|0,r|0,u|0,l|0,s|0)}function iB(e,n,r){e=e|0,n=n|0,r=w(r),X8[e&1](n|0,w(r))}function uB(e,n,r){e=e|0,n=n|0,r=+r,Q8[e&31](n|0,+r)}function oB(e,n,r,u){return e=e|0,n=n|0,r=w(r),u=w(u),w(J8[e&0](n|0,w(r),w(u)))}function lB(e,n){e=e|0,n=n|0,M1[e&127](n|0)}function sB(e,n,r){e=e|0,n=n|0,r=r|0,N1[e&31](n|0,r|0)}function aB(e,n){return e=e|0,n=n|0,Xp[e&31](n|0)|0}function fB(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0,Z8[e&1](n|0,+r,+u,l|0)}function cB(e,n,r,u){e=e|0,n=n|0,r=+r,u=+u,VB[e&1](n|0,+r,+u)}function dB(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,M_[e&7](n|0,r|0,u|0)|0}function pB(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,+GB[e&1](n|0,r|0,u|0)}function hB(e,n){return e=e|0,n=n|0,+$8[e&15](n|0)}function vB(e,n,r){return e=e|0,n=n|0,r=+r,YB[e&1](n|0,+r)|0}function mB(e,n,r){return e=e|0,n=n|0,r=r|0,ZE[e&15](n|0,r|0)|0}function yB(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=+u,l=+l,s=s|0,KB[e&1](n|0,r|0,+u,+l,s|0)}function gB(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,XB[e&1](n|0,r|0,u|0,l|0,s|0,h|0)}function _B(e,n,r){return e=e|0,n=n|0,r=r|0,+eS[e&7](n|0,r|0)}function EB(e){return e=e|0,N_[e&7]()|0}function DB(e,n,r,u,l,s){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,tS[e&1](n|0,r|0,u|0,l|0,s|0)|0}function wB(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=+l,QB[e&1](n|0,r|0,u|0,+l)}function SB(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=w(u),l=l|0,s=w(s),h=h|0,nS[e&1](n|0,r|0,w(u),l|0,w(s),h|0)}function TB(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,jy[e&15](n|0,r|0,u|0)}function CB(e){e=e|0,rS[e&0]()}function xB(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u,iS[e&15](n|0,r|0,+u)}function AB(e,n,r){return e=e|0,n=+n,r=+r,JB[e&1](+n,+r)|0}function RB(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,$E[e&15](n|0,r|0,u|0,l|0)}function OB(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,Ut(0)}function kB(e,n){e=e|0,n=w(n),Ut(1)}function Ks(e,n){e=e|0,n=+n,Ut(2)}function MB(e,n,r){return e=e|0,n=w(n),r=w(r),Ut(3),St}function Kn(e){e=e|0,Ut(4)}function By(e,n){e=e|0,n=n|0,Ut(5)}function xa(e){return e=e|0,Ut(6),0}function NB(e,n,r,u){e=e|0,n=+n,r=+r,u=u|0,Ut(7)}function LB(e,n,r){e=e|0,n=+n,r=+r,Ut(8)}function FB(e,n,r){return e=e|0,n=n|0,r=r|0,Ut(9),0}function bB(e,n,r){return e=e|0,n=n|0,r=r|0,Ut(10),0}function Kp(e){return e=e|0,Ut(11),0}function PB(e,n){return e=e|0,n=+n,Ut(12),0}function Uy(e,n){return e=e|0,n=n|0,Ut(13),0}function IB(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0,Ut(14)}function BB(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,Ut(15)}function JE(e,n){return e=e|0,n=n|0,Ut(16),0}function UB(){return Ut(17),0}function jB(e,n,r,u,l){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,Ut(18),0}function zB(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u,Ut(19)}function qB(e,n,r,u,l,s){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=s|0,Ut(20)}function k_(e,n,r){e=e|0,n=n|0,r=r|0,Ut(21)}function HB(){Ut(22)}function Bv(e,n,r){e=e|0,n=n|0,r=+r,Ut(23)}function WB(e,n){return e=+e,n=+n,Ut(24),0}function Uv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,Ut(25)}var K8=[OB,UL],X8=[kB,Ju],Q8=[Ks,ua,ys,gs,Ql,Io,hf,tl,Ia,Zu,vf,jc,lc,Sl,_s,oa,n2,la,sc,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks],J8=[MB],M1=[Kn,Pv,an,$l,go,Lf,x1,Fl,hN,vN,mN,xL,AL,RL,XP,QP,JP,Ne,uc,La,ju,U0,hh,yf,$c,Af,pa,Rh,Sm,h1,v1,Xh,pp,M2,Gm,D1,Sc,ry,oy,Sv,Av,rn,Q4,lE,h_,Nt,_u,Qu,RO,WO,ak,Ak,qk,aM,_M,wM,UM,qM,uN,gN,DN,BN,nL,v2,BF,vb,kb,Vb,pP,RP,UP,qP,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn],N1=[By,gd,$1,Uc,Dl,el,_d,Bs,wl,Fa,ba,Pa,Tl,Be,ut,Jt,jn,ti,tr,Ba,Dd,mh,fE,vE,Mk,zF,fL,g8,By,By,By,By],Xp=[xa,xI,pf,y,J,fe,mt,Ct,Mt,Er,iu,j0,Ua,r2,Vc,Cs,Gk,zN,VF,Sa,xa,xa,xa,xa,xa,xa,xa,xa,xa,xa,xa,xa],Z8=[NB,Td],VB=[LB,sN],M_=[FB,N8,AI,kI,zh,dv,NO,Xb],GB=[bB,lv],$8=[Kp,e0,He,ii,vh,il,sa,Cd,xd,ac,Kp,Kp,Kp,Kp,Kp,Kp],YB=[PB,mM],ZE=[Uy,JI,Ed,ll,zd,Nm,ap,Cp,ly,xr,bo,Fb,Uy,Uy,Uy,Uy],KB=[IB,Sh],XB=[BB,yP],eS=[JE,qi,Ad,a2,Gc,cl,JE,JE],N_=[UB,Yc,to,g0,xM,GM,CN,GP],tS=[jB,ei],QB=[zB,Dy],nS=[qB,i2],jy=[k_,A,$u,jr,gu,d1,k2,ir,Cy,po,aF,_b,NP,k_,k_,k_],rS=[HB],iS=[Bv,e2,ho,t2,Po,zc,bi,g,Ip,KO,dM,Bv,Bv,Bv,Bv,Bv],JB=[WB,dN],$E=[Uv,_p,Rc,pk,tM,NM,ZM,NN,lL,JF,rI,Uv,Uv,Uv,Uv,Uv];return{_llvm_bswap_i32:Y8,dynCall_idd:AB,dynCall_i:EB,_i64Subtract:R_,___udivdi3:XE,dynCall_vif:iB,setThrew:fs,dynCall_viii:TB,_bitshift64Lshr:O_,_bitshift64Shl:W8,dynCall_vi:lB,dynCall_viiddi:yB,dynCall_diii:pB,dynCall_iii:mB,_memset:Iv,_sbrk:Z2,_memcpy:pr,__GLOBAL__sub_I_Yoga_cpp:Qi,dynCall_vii:sB,___uremdi3:QE,dynCall_vid:uB,stackAlloc:so,_nbind_init:hI,getTempRet0:X,dynCall_di:hB,dynCall_iid:vB,setTempRet0:P0,_i64Add:KE,dynCall_fiff:oB,dynCall_iiii:dB,_emscripten_get_global_libc:CI,dynCall_viid:xB,dynCall_viiid:wB,dynCall_viififi:SB,dynCall_ii:aB,__GLOBAL__sub_I_Binding_cc:kF,dynCall_viiii:RB,dynCall_iiiiii:DB,stackSave:Jo,dynCall_viiiii:rB,__GLOBAL__sub_I_nbind_cc:Us,dynCall_vidd:cB,_free:x_,runPostSets:nB,dynCall_viiiiii:gB,establishStackSpace:Fu,_memmove:Iy,stackRestore:Gl,_malloc:C_,__GLOBAL__sub_I_common_cc:XN,dynCall_viddi:fB,dynCall_dii:_B,dynCall_v:CB}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function i(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=i)},Module.callMain=Module.callMain=function(o){o=o||[],ensureInitRuntime();var f=o.length+1;function p(){for(var N=0;N<4-1;N++)E.push(0)}var E=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];p();for(var t=0;t0||(preRun(),runDependencies>0)||Module.calledRun)return;function o(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(i),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),o()},1)):o()}Module.run=Module.run=run;function exit(i,o){o&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=i,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(i)),ENVIRONMENT_IS_NODE&&process.exit(i),Module.quit(i,new ExitStatus(i)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(i){Module.onAbort&&Module.onAbort(i),i!==void 0?(Module.print(i),Module.printErr(i),i=JSON.stringify(i)):i="",ABORT=!0,EXITSTATUS=1;var o=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,f="abort("+i+") at "+stackTrace()+o;throw abortDecorators&&abortDecorators.forEach(function(p){f=p(f,i)}),f}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var eh=ce((Wne,O9)=>{"use strict";var tX=A9(),nX=R9(),hw=!1,vw=null;nX({},function(i,o){if(!hw){if(hw=!0,i)throw i;vw=o}});if(!hw)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");O9.exports=tX(vw.bind,vw.lib)});var M9=ce((Vne,k9)=>{"use strict";k9.exports=({onlyFirst:i=!1}={})=>{let o=["[\\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(o,i?void 0:"g")}});var mw=ce((Gne,N9)=>{"use strict";var rX=M9();N9.exports=i=>typeof i=="string"?i.replace(rX(),""):i});var gw=ce((Yne,yw)=>{"use strict";var L9=i=>Number.isNaN(i)?!1:i>=4352&&(i<=4447||i===9001||i===9002||11904<=i&&i<=12871&&i!==12351||12880<=i&&i<=19903||19968<=i&&i<=42182||43360<=i&&i<=43388||44032<=i&&i<=55203||63744<=i&&i<=64255||65040<=i&&i<=65049||65072<=i&&i<=65131||65281<=i&&i<=65376||65504<=i&&i<=65510||110592<=i&&i<=110593||127488<=i&&i<=127569||131072<=i&&i<=262141);yw.exports=L9;yw.exports.default=L9});var b9=ce((Kne,F9)=>{"use strict";F9.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var m4=ce((Xne,_w)=>{"use strict";var iX=mw(),uX=gw(),oX=b9(),P9=i=>{if(i=i.replace(oX()," "),typeof i!="string"||i.length===0)return 0;i=iX(i);let o=0;for(let f=0;f=127&&p<=159||p>=768&&p<=879||(p>65535&&f++,o+=uX(p)?2:1)}return o};_w.exports=P9;_w.exports.default=P9});var Dw=ce((Qne,Ew)=>{"use strict";var lX=m4(),I9=i=>{let o=0;for(let f of i.split(` -`))o=Math.max(o,lX(f));return o};Ew.exports=I9;Ew.exports.default=I9});var B9=ce(vg=>{"use strict";var sX=vg&&vg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(vg,"__esModule",{value:!0});var aX=sX(Dw()),ww={};vg.default=i=>{if(i.length===0)return{width:0,height:0};if(ww[i])return ww[i];let o=aX.default(i),f=i.split(` -`).length;return ww[i]={width:o,height:f},{width:o,height:f}}});var U9=ce(mg=>{"use strict";var fX=mg&&mg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(mg,"__esModule",{value:!0});var Ii=fX(eh()),cX=(i,o)=>{"position"in o&&i.setPositionType(o.position==="absolute"?Ii.default.POSITION_TYPE_ABSOLUTE:Ii.default.POSITION_TYPE_RELATIVE)},dX=(i,o)=>{"marginLeft"in o&&i.setMargin(Ii.default.EDGE_START,o.marginLeft||0),"marginRight"in o&&i.setMargin(Ii.default.EDGE_END,o.marginRight||0),"marginTop"in o&&i.setMargin(Ii.default.EDGE_TOP,o.marginTop||0),"marginBottom"in o&&i.setMargin(Ii.default.EDGE_BOTTOM,o.marginBottom||0)},pX=(i,o)=>{"paddingLeft"in o&&i.setPadding(Ii.default.EDGE_LEFT,o.paddingLeft||0),"paddingRight"in o&&i.setPadding(Ii.default.EDGE_RIGHT,o.paddingRight||0),"paddingTop"in o&&i.setPadding(Ii.default.EDGE_TOP,o.paddingTop||0),"paddingBottom"in o&&i.setPadding(Ii.default.EDGE_BOTTOM,o.paddingBottom||0)},hX=(i,o)=>{var f;"flexGrow"in o&&i.setFlexGrow((f=o.flexGrow)!==null&&f!==void 0?f:0),"flexShrink"in o&&i.setFlexShrink(typeof o.flexShrink=="number"?o.flexShrink:1),"flexDirection"in o&&(o.flexDirection==="row"&&i.setFlexDirection(Ii.default.FLEX_DIRECTION_ROW),o.flexDirection==="row-reverse"&&i.setFlexDirection(Ii.default.FLEX_DIRECTION_ROW_REVERSE),o.flexDirection==="column"&&i.setFlexDirection(Ii.default.FLEX_DIRECTION_COLUMN),o.flexDirection==="column-reverse"&&i.setFlexDirection(Ii.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in o&&(typeof o.flexBasis=="number"?i.setFlexBasis(o.flexBasis):typeof o.flexBasis=="string"?i.setFlexBasisPercent(Number.parseInt(o.flexBasis,10)):i.setFlexBasis(NaN)),"alignItems"in o&&((o.alignItems==="stretch"||!o.alignItems)&&i.setAlignItems(Ii.default.ALIGN_STRETCH),o.alignItems==="flex-start"&&i.setAlignItems(Ii.default.ALIGN_FLEX_START),o.alignItems==="center"&&i.setAlignItems(Ii.default.ALIGN_CENTER),o.alignItems==="flex-end"&&i.setAlignItems(Ii.default.ALIGN_FLEX_END)),"alignSelf"in o&&((o.alignSelf==="auto"||!o.alignSelf)&&i.setAlignSelf(Ii.default.ALIGN_AUTO),o.alignSelf==="flex-start"&&i.setAlignSelf(Ii.default.ALIGN_FLEX_START),o.alignSelf==="center"&&i.setAlignSelf(Ii.default.ALIGN_CENTER),o.alignSelf==="flex-end"&&i.setAlignSelf(Ii.default.ALIGN_FLEX_END)),"justifyContent"in o&&((o.justifyContent==="flex-start"||!o.justifyContent)&&i.setJustifyContent(Ii.default.JUSTIFY_FLEX_START),o.justifyContent==="center"&&i.setJustifyContent(Ii.default.JUSTIFY_CENTER),o.justifyContent==="flex-end"&&i.setJustifyContent(Ii.default.JUSTIFY_FLEX_END),o.justifyContent==="space-between"&&i.setJustifyContent(Ii.default.JUSTIFY_SPACE_BETWEEN),o.justifyContent==="space-around"&&i.setJustifyContent(Ii.default.JUSTIFY_SPACE_AROUND))},vX=(i,o)=>{var f,p;"width"in o&&(typeof o.width=="number"?i.setWidth(o.width):typeof o.width=="string"?i.setWidthPercent(Number.parseInt(o.width,10)):i.setWidthAuto()),"height"in o&&(typeof o.height=="number"?i.setHeight(o.height):typeof o.height=="string"?i.setHeightPercent(Number.parseInt(o.height,10)):i.setHeightAuto()),"minWidth"in o&&(typeof o.minWidth=="string"?i.setMinWidthPercent(Number.parseInt(o.minWidth,10)):i.setMinWidth((f=o.minWidth)!==null&&f!==void 0?f:0)),"minHeight"in o&&(typeof o.minHeight=="string"?i.setMinHeightPercent(Number.parseInt(o.minHeight,10)):i.setMinHeight((p=o.minHeight)!==null&&p!==void 0?p:0))},mX=(i,o)=>{"display"in o&&i.setDisplay(o.display==="flex"?Ii.default.DISPLAY_FLEX:Ii.default.DISPLAY_NONE)},yX=(i,o)=>{if("borderStyle"in o){let f=typeof o.borderStyle=="string"?1:0;i.setBorder(Ii.default.EDGE_TOP,f),i.setBorder(Ii.default.EDGE_BOTTOM,f),i.setBorder(Ii.default.EDGE_LEFT,f),i.setBorder(Ii.default.EDGE_RIGHT,f)}};mg.default=(i,o={})=>{cX(i,o),dX(i,o),pX(i,o),hX(i,o),vX(i,o),mX(i,o),yX(i,o)}});var z9=ce(($ne,j9)=>{"use strict";j9.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Sw=ce((ere,q9)=>{var yg=z9(),H9={};for(let i of Object.keys(yg))H9[yg[i]]=i;var In={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};q9.exports=In;for(let i of Object.keys(In)){if(!("channels"in In[i]))throw new Error("missing channels property: "+i);if(!("labels"in In[i]))throw new Error("missing channel labels property: "+i);if(In[i].labels.length!==In[i].channels)throw new Error("channel and label counts mismatch: "+i);let{channels:o,labels:f}=In[i];delete In[i].channels,delete In[i].labels,Object.defineProperty(In[i],"channels",{value:o}),Object.defineProperty(In[i],"labels",{value:f})}In.rgb.hsl=function(i){let o=i[0]/255,f=i[1]/255,p=i[2]/255,E=Math.min(o,f,p),t=Math.max(o,f,p),k=t-E,L,N;t===E?L=0:o===t?L=(f-p)/k:f===t?L=2+(p-o)/k:p===t&&(L=4+(o-f)/k),L=Math.min(L*60,360),L<0&&(L+=360);let C=(E+t)/2;return t===E?N=0:C<=.5?N=k/(t+E):N=k/(2-t-E),[L,N*100,C*100]};In.rgb.hsv=function(i){let o,f,p,E,t,k=i[0]/255,L=i[1]/255,N=i[2]/255,C=Math.max(k,L,N),U=C-Math.min(k,L,N),q=function(W){return(C-W)/6/U+1/2};return U===0?(E=0,t=0):(t=U/C,o=q(k),f=q(L),p=q(N),k===C?E=p-f:L===C?E=1/3+o-p:N===C&&(E=2/3+f-o),E<0?E+=1:E>1&&(E-=1)),[E*360,t*100,C*100]};In.rgb.hwb=function(i){let o=i[0],f=i[1],p=i[2],E=In.rgb.hsl(i)[0],t=1/255*Math.min(o,Math.min(f,p));return p=1-1/255*Math.max(o,Math.max(f,p)),[E,t*100,p*100]};In.rgb.cmyk=function(i){let o=i[0]/255,f=i[1]/255,p=i[2]/255,E=Math.min(1-o,1-f,1-p),t=(1-o-E)/(1-E)||0,k=(1-f-E)/(1-E)||0,L=(1-p-E)/(1-E)||0;return[t*100,k*100,L*100,E*100]};function gX(i,o){return(i[0]-o[0])**2+(i[1]-o[1])**2+(i[2]-o[2])**2}In.rgb.keyword=function(i){let o=H9[i];if(o)return o;let f=Infinity,p;for(let E of Object.keys(yg)){let t=yg[E],k=gX(i,t);k.04045?((o+.055)/1.055)**2.4:o/12.92,f=f>.04045?((f+.055)/1.055)**2.4:f/12.92,p=p>.04045?((p+.055)/1.055)**2.4:p/12.92;let E=o*.4124+f*.3576+p*.1805,t=o*.2126+f*.7152+p*.0722,k=o*.0193+f*.1192+p*.9505;return[E*100,t*100,k*100]};In.rgb.lab=function(i){let o=In.rgb.xyz(i),f=o[0],p=o[1],E=o[2];f/=95.047,p/=100,E/=108.883,f=f>.008856?f**(1/3):7.787*f+16/116,p=p>.008856?p**(1/3):7.787*p+16/116,E=E>.008856?E**(1/3):7.787*E+16/116;let t=116*p-16,k=500*(f-p),L=200*(p-E);return[t,k,L]};In.hsl.rgb=function(i){let o=i[0]/360,f=i[1]/100,p=i[2]/100,E,t,k;if(f===0)return k=p*255,[k,k,k];p<.5?E=p*(1+f):E=p+f-p*f;let L=2*p-E,N=[0,0,0];for(let C=0;C<3;C++)t=o+1/3*-(C-1),t<0&&t++,t>1&&t--,6*t<1?k=L+(E-L)*6*t:2*t<1?k=E:3*t<2?k=L+(E-L)*(2/3-t)*6:k=L,N[C]=k*255;return N};In.hsl.hsv=function(i){let o=i[0],f=i[1]/100,p=i[2]/100,E=f,t=Math.max(p,.01);p*=2,f*=p<=1?p:2-p,E*=t<=1?t:2-t;let k=(p+f)/2,L=p===0?2*E/(t+E):2*f/(p+f);return[o,L*100,k*100]};In.hsv.rgb=function(i){let o=i[0]/60,f=i[1]/100,p=i[2]/100,E=Math.floor(o)%6,t=o-Math.floor(o),k=255*p*(1-f),L=255*p*(1-f*t),N=255*p*(1-f*(1-t));switch(p*=255,E){case 0:return[p,N,k];case 1:return[L,p,k];case 2:return[k,p,N];case 3:return[k,L,p];case 4:return[N,k,p];case 5:return[p,k,L]}};In.hsv.hsl=function(i){let o=i[0],f=i[1]/100,p=i[2]/100,E=Math.max(p,.01),t,k;k=(2-f)*p;let L=(2-f)*E;return t=f*E,t/=L<=1?L:2-L,t=t||0,k/=2,[o,t*100,k*100]};In.hwb.rgb=function(i){let o=i[0]/360,f=i[1]/100,p=i[2]/100,E=f+p,t;E>1&&(f/=E,p/=E);let k=Math.floor(6*o),L=1-p;t=6*o-k,(k&1)!=0&&(t=1-t);let N=f+t*(L-f),C,U,q;switch(k){default:case 6:case 0:C=L,U=N,q=f;break;case 1:C=N,U=L,q=f;break;case 2:C=f,U=L,q=N;break;case 3:C=f,U=N,q=L;break;case 4:C=N,U=f,q=L;break;case 5:C=L,U=f,q=N;break}return[C*255,U*255,q*255]};In.cmyk.rgb=function(i){let o=i[0]/100,f=i[1]/100,p=i[2]/100,E=i[3]/100,t=1-Math.min(1,o*(1-E)+E),k=1-Math.min(1,f*(1-E)+E),L=1-Math.min(1,p*(1-E)+E);return[t*255,k*255,L*255]};In.xyz.rgb=function(i){let o=i[0]/100,f=i[1]/100,p=i[2]/100,E,t,k;return E=o*3.2406+f*-1.5372+p*-.4986,t=o*-.9689+f*1.8758+p*.0415,k=o*.0557+f*-.204+p*1.057,E=E>.0031308?1.055*E**(1/2.4)-.055:E*12.92,t=t>.0031308?1.055*t**(1/2.4)-.055:t*12.92,k=k>.0031308?1.055*k**(1/2.4)-.055:k*12.92,E=Math.min(Math.max(0,E),1),t=Math.min(Math.max(0,t),1),k=Math.min(Math.max(0,k),1),[E*255,t*255,k*255]};In.xyz.lab=function(i){let o=i[0],f=i[1],p=i[2];o/=95.047,f/=100,p/=108.883,o=o>.008856?o**(1/3):7.787*o+16/116,f=f>.008856?f**(1/3):7.787*f+16/116,p=p>.008856?p**(1/3):7.787*p+16/116;let E=116*f-16,t=500*(o-f),k=200*(f-p);return[E,t,k]};In.lab.xyz=function(i){let o=i[0],f=i[1],p=i[2],E,t,k;t=(o+16)/116,E=f/500+t,k=t-p/200;let L=t**3,N=E**3,C=k**3;return t=L>.008856?L:(t-16/116)/7.787,E=N>.008856?N:(E-16/116)/7.787,k=C>.008856?C:(k-16/116)/7.787,E*=95.047,t*=100,k*=108.883,[E,t,k]};In.lab.lch=function(i){let o=i[0],f=i[1],p=i[2],E;E=Math.atan2(p,f)*360/2/Math.PI,E<0&&(E+=360);let k=Math.sqrt(f*f+p*p);return[o,k,E]};In.lch.lab=function(i){let o=i[0],f=i[1],E=i[2]/360*2*Math.PI,t=f*Math.cos(E),k=f*Math.sin(E);return[o,t,k]};In.rgb.ansi16=function(i,o=null){let[f,p,E]=i,t=o===null?In.rgb.hsv(i)[2]:o;if(t=Math.round(t/50),t===0)return 30;let k=30+(Math.round(E/255)<<2|Math.round(p/255)<<1|Math.round(f/255));return t===2&&(k+=60),k};In.hsv.ansi16=function(i){return In.rgb.ansi16(In.hsv.rgb(i),i[2])};In.rgb.ansi256=function(i){let o=i[0],f=i[1],p=i[2];return o===f&&f===p?o<8?16:o>248?231:Math.round((o-8)/247*24)+232:16+36*Math.round(o/255*5)+6*Math.round(f/255*5)+Math.round(p/255*5)};In.ansi16.rgb=function(i){let o=i%10;if(o===0||o===7)return i>50&&(o+=3.5),o=o/10.5*255,[o,o,o];let f=(~~(i>50)+1)*.5,p=(o&1)*f*255,E=(o>>1&1)*f*255,t=(o>>2&1)*f*255;return[p,E,t]};In.ansi256.rgb=function(i){if(i>=232){let t=(i-232)*10+8;return[t,t,t]}i-=16;let o,f=Math.floor(i/36)/5*255,p=Math.floor((o=i%36)/6)/5*255,E=o%6/5*255;return[f,p,E]};In.rgb.hex=function(i){let f=(((Math.round(i[0])&255)<<16)+((Math.round(i[1])&255)<<8)+(Math.round(i[2])&255)).toString(16).toUpperCase();return"000000".substring(f.length)+f};In.hex.rgb=function(i){let o=i.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!o)return[0,0,0];let f=o[0];o[0].length===3&&(f=f.split("").map(L=>L+L).join(""));let p=parseInt(f,16),E=p>>16&255,t=p>>8&255,k=p&255;return[E,t,k]};In.rgb.hcg=function(i){let o=i[0]/255,f=i[1]/255,p=i[2]/255,E=Math.max(Math.max(o,f),p),t=Math.min(Math.min(o,f),p),k=E-t,L,N;return k<1?L=t/(1-k):L=0,k<=0?N=0:E===o?N=(f-p)/k%6:E===f?N=2+(p-o)/k:N=4+(o-f)/k,N/=6,N%=1,[N*360,k*100,L*100]};In.hsl.hcg=function(i){let o=i[1]/100,f=i[2]/100,p=f<.5?2*o*f:2*o*(1-f),E=0;return p<1&&(E=(f-.5*p)/(1-p)),[i[0],p*100,E*100]};In.hsv.hcg=function(i){let o=i[1]/100,f=i[2]/100,p=o*f,E=0;return p<1&&(E=(f-p)/(1-p)),[i[0],p*100,E*100]};In.hcg.rgb=function(i){let o=i[0]/360,f=i[1]/100,p=i[2]/100;if(f===0)return[p*255,p*255,p*255];let E=[0,0,0],t=o%1*6,k=t%1,L=1-k,N=0;switch(Math.floor(t)){case 0:E[0]=1,E[1]=k,E[2]=0;break;case 1:E[0]=L,E[1]=1,E[2]=0;break;case 2:E[0]=0,E[1]=1,E[2]=k;break;case 3:E[0]=0,E[1]=L,E[2]=1;break;case 4:E[0]=k,E[1]=0,E[2]=1;break;default:E[0]=1,E[1]=0,E[2]=L}return N=(1-f)*p,[(f*E[0]+N)*255,(f*E[1]+N)*255,(f*E[2]+N)*255]};In.hcg.hsv=function(i){let o=i[1]/100,f=i[2]/100,p=o+f*(1-o),E=0;return p>0&&(E=o/p),[i[0],E*100,p*100]};In.hcg.hsl=function(i){let o=i[1]/100,p=i[2]/100*(1-o)+.5*o,E=0;return p>0&&p<.5?E=o/(2*p):p>=.5&&p<1&&(E=o/(2*(1-p))),[i[0],E*100,p*100]};In.hcg.hwb=function(i){let o=i[1]/100,f=i[2]/100,p=o+f*(1-o);return[i[0],(p-o)*100,(1-p)*100]};In.hwb.hcg=function(i){let o=i[1]/100,f=i[2]/100,p=1-f,E=p-o,t=0;return E<1&&(t=(p-E)/(1-E)),[i[0],E*100,t*100]};In.apple.rgb=function(i){return[i[0]/65535*255,i[1]/65535*255,i[2]/65535*255]};In.rgb.apple=function(i){return[i[0]/255*65535,i[1]/255*65535,i[2]/255*65535]};In.gray.rgb=function(i){return[i[0]/100*255,i[0]/100*255,i[0]/100*255]};In.gray.hsl=function(i){return[0,0,i[0]]};In.gray.hsv=In.gray.hsl;In.gray.hwb=function(i){return[0,100,i[0]]};In.gray.cmyk=function(i){return[0,0,0,i[0]]};In.gray.lab=function(i){return[i[0],0,0]};In.gray.hex=function(i){let o=Math.round(i[0]/100*255)&255,p=((o<<16)+(o<<8)+o).toString(16).toUpperCase();return"000000".substring(p.length)+p};In.rgb.gray=function(i){return[(i[0]+i[1]+i[2])/3/255*100]}});var V9=ce((tre,W9)=>{var y4=Sw();function _X(){let i={},o=Object.keys(y4);for(let f=o.length,p=0;p{var Tw=Sw(),SX=V9(),sm={},TX=Object.keys(Tw);function CX(i){let o=function(...f){let p=f[0];return p==null?p:(p.length>1&&(f=p),i(f))};return"conversion"in i&&(o.conversion=i.conversion),o}function xX(i){let o=function(...f){let p=f[0];if(p==null)return p;p.length>1&&(f=p);let E=i(f);if(typeof E=="object")for(let t=E.length,k=0;k{sm[i]={},Object.defineProperty(sm[i],"channels",{value:Tw[i].channels}),Object.defineProperty(sm[i],"labels",{value:Tw[i].labels});let o=SX(i);Object.keys(o).forEach(p=>{let E=o[p];sm[i][p]=xX(E),sm[i][p].raw=CX(E)})});G9.exports=sm});var _4=ce((rre,K9)=>{"use strict";var X9=(i,o)=>(...f)=>`[${i(...f)+o}m`,Q9=(i,o)=>(...f)=>{let p=i(...f);return`[${38+o};5;${p}m`},J9=(i,o)=>(...f)=>{let p=i(...f);return`[${38+o};2;${p[0]};${p[1]};${p[2]}m`},g4=i=>i,Z9=(i,o,f)=>[i,o,f],am=(i,o,f)=>{Object.defineProperty(i,o,{get:()=>{let p=f();return Object.defineProperty(i,o,{value:p,enumerable:!0,configurable:!0}),p},enumerable:!0,configurable:!0})},Cw,fm=(i,o,f,p)=>{Cw===void 0&&(Cw=Y9());let E=p?10:0,t={};for(let[k,L]of Object.entries(Cw)){let N=k==="ansi16"?"ansi":k;k===o?t[N]=i(f,E):typeof L=="object"&&(t[N]=i(L[o],E))}return t};function AX(){let i=new Map,o={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],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]}};o.color.gray=o.color.blackBright,o.bgColor.bgGray=o.bgColor.bgBlackBright,o.color.grey=o.color.blackBright,o.bgColor.bgGrey=o.bgColor.bgBlackBright;for(let[f,p]of Object.entries(o)){for(let[E,t]of Object.entries(p))o[E]={open:`[${t[0]}m`,close:`[${t[1]}m`},p[E]=o[E],i.set(t[0],t[1]);Object.defineProperty(o,f,{value:p,enumerable:!1})}return Object.defineProperty(o,"codes",{value:i,enumerable:!1}),o.color.close="",o.bgColor.close="",am(o.color,"ansi",()=>fm(X9,"ansi16",g4,!1)),am(o.color,"ansi256",()=>fm(Q9,"ansi256",g4,!1)),am(o.color,"ansi16m",()=>fm(J9,"rgb",Z9,!1)),am(o.bgColor,"ansi",()=>fm(X9,"ansi16",g4,!0)),am(o.bgColor,"ansi256",()=>fm(Q9,"ansi256",g4,!0)),am(o.bgColor,"ansi16m",()=>fm(J9,"rgb",Z9,!0)),o}Object.defineProperty(K9,"exports",{enumerable:!0,get:AX})});var tA=ce((ire,$9)=>{"use strict";var gg=m4(),RX=mw(),OX=_4(),xw=new Set(["","\x9B"]),kX=39,eA=i=>`${xw.values().next().value}[${i}m`,MX=i=>i.split(" ").map(o=>gg(o)),Aw=(i,o,f)=>{let p=[...o],E=!1,t=gg(RX(i[i.length-1]));for(let[k,L]of p.entries()){let N=gg(L);if(t+N<=f?i[i.length-1]+=L:(i.push(L),t=0),xw.has(L))E=!0;else if(E&&L==="m"){E=!1;continue}E||(t+=N,t===f&&k0&&i.length>1&&(i[i.length-2]+=i.pop())},NX=i=>{let o=i.split(" "),f=o.length;for(;f>0&&!(gg(o[f-1])>0);)f--;return f===o.length?i:o.slice(0,f).join(" ")+o.slice(f).join("")},LX=(i,o,f={})=>{if(f.trim!==!1&&i.trim()==="")return"";let p="",E="",t,k=MX(i),L=[""];for(let[N,C]of i.split(" ").entries()){f.trim!==!1&&(L[L.length-1]=L[L.length-1].trimLeft());let U=gg(L[L.length-1]);if(N!==0&&(U>=o&&(f.wordWrap===!1||f.trim===!1)&&(L.push(""),U=0),(U>0||f.trim===!1)&&(L[L.length-1]+=" ",U++)),f.hard&&k[N]>o){let q=o-U,W=1+Math.floor((k[N]-q-1)/o);Math.floor((k[N]-1)/o)o&&U>0&&k[N]>0){if(f.wordWrap===!1&&Uo&&f.wordWrap===!1){Aw(L,C,o);continue}L[L.length-1]+=C}f.trim!==!1&&(L=L.map(NX)),p=L.join(` -`);for(let[N,C]of[...p].entries()){if(E+=C,xw.has(C)){let q=parseFloat(/\d[^m]*/.exec(p.slice(N,N+4)));t=q===kX?null:q}let U=OX.codes.get(Number(t));t&&U&&(p[N+1]===` -`?E+=eA(U):C===` -`&&(E+=eA(t)))}return E};$9.exports=(i,o,f)=>String(i).normalize().replace(/\r\n/g,` -`).split(` -`).map(p=>LX(p,o,f)).join(` -`)});var iA=ce((ure,nA)=>{"use strict";var rA="[\uD800-\uDBFF][\uDC00-\uDFFF]",FX=i=>i&&i.exact?new RegExp(`^${rA}$`):new RegExp(rA,"g");nA.exports=FX});var Rw=ce((ore,uA)=>{"use strict";var bX=gw(),PX=iA(),oA=_4(),lA=["","\x9B"],E4=i=>`${lA[0]}[${i}m`,sA=(i,o,f)=>{let p=[];i=[...i];for(let E of i){let t=E;E.match(";")&&(E=E.split(";")[0][0]+"0");let k=oA.codes.get(parseInt(E,10));if(k){let L=i.indexOf(k.toString());L>=0?i.splice(L,1):p.push(E4(o?k:t))}else if(o){p.push(E4(0));break}else p.push(E4(t))}if(o&&(p=p.filter((E,t)=>p.indexOf(E)===t),f!==void 0)){let E=E4(oA.codes.get(parseInt(f,10)));p=p.reduce((t,k)=>k===E?[k,...t]:[...t,k],[])}return p.join("")};uA.exports=(i,o,f)=>{let p=[...i.normalize()],E=[];f=typeof f=="number"?f:p.length;let t=!1,k,L=0,N="";for(let[C,U]of p.entries()){let q=!1;if(lA.includes(U)){let W=/\d[^m]*/.exec(i.slice(C,C+18));k=W&&W.length>0?W[0]:void 0,Lo&&L<=f)N+=U;else if(L===o&&!t&&k!==void 0)N=sA(E);else if(L>=f){N+=sA(E,!0,k);break}}return N}});var fA=ce((lre,aA)=>{"use strict";var pd=Rw(),IX=m4();function D4(i,o,f){if(i.charAt(o)===" ")return o;for(let p=1;p<=3;p++)if(f){if(i.charAt(o+p)===" ")return o+p}else if(i.charAt(o-p)===" ")return o-p;return o}aA.exports=(i,o,f)=>{f=E0({position:"end",preferTruncationOnSpace:!1},f);let{position:p,space:E,preferTruncationOnSpace:t}=f,k="\u2026",L=1;if(typeof i!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof i}`);if(typeof o!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof o}`);if(o<1)return"";if(o===1)return k;let N=IX(i);if(N<=o)return i;if(p==="start"){if(t){let C=D4(i,N-o+1,!0);return k+pd(i,C,N).trim()}return E===!0&&(k+=" ",L=2),k+pd(i,N-o+L,N)}if(p==="middle"){E===!0&&(k=" "+k+" ",L=3);let C=Math.floor(o/2);if(t){let U=D4(i,C),q=D4(i,N-(o-C)+1,!0);return pd(i,0,U)+k+pd(i,q,N).trim()}return pd(i,0,C)+k+pd(i,N-(o-C)+L,N)}if(p==="end"){if(t){let C=D4(i,o-1);return pd(i,0,C)+k}return E===!0&&(k=" "+k,L=2),pd(i,0,o-L)+k}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${p}`)}});var kw=ce(_g=>{"use strict";var cA=_g&&_g.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(_g,"__esModule",{value:!0});var BX=cA(tA()),UX=cA(fA()),Ow={};_g.default=(i,o,f)=>{let p=i+String(o)+String(f);if(Ow[p])return Ow[p];let E=i;if(f==="wrap"&&(E=BX.default(i,o,{trim:!1,hard:!0})),f.startsWith("truncate")){let t="end";f==="truncate-middle"&&(t="middle"),f==="truncate-start"&&(t="start"),E=UX.default(i,o,{position:t})}return Ow[p]=E,E}});var Nw=ce(Mw=>{"use strict";Object.defineProperty(Mw,"__esModule",{value:!0});var dA=i=>{let o="";if(i.childNodes.length>0)for(let f of i.childNodes){let p="";f.nodeName==="#text"?p=f.nodeValue:((f.nodeName==="ink-text"||f.nodeName==="ink-virtual-text")&&(p=dA(f)),p.length>0&&typeof f.internal_transform=="function"&&(p=f.internal_transform(p))),o+=p}return o};Mw.default=dA});var Lw=ce(l0=>{"use strict";var Eg=l0&&l0.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(l0,"__esModule",{value:!0});l0.setTextNodeValue=l0.createTextNode=l0.setStyle=l0.setAttribute=l0.removeChildNode=l0.insertBeforeNode=l0.appendChildNode=l0.createNode=l0.TEXT_NAME=void 0;var jX=Eg(eh()),pA=Eg(B9()),zX=Eg(U9()),qX=Eg(kw()),HX=Eg(Nw());l0.TEXT_NAME="#text";l0.createNode=i=>{var o;let f={nodeName:i,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:i==="ink-virtual-text"?void 0:jX.default.Node.create()};return i==="ink-text"&&((o=f.yogaNode)===null||o===void 0||o.setMeasureFunc(WX.bind(null,f))),f};l0.appendChildNode=(i,o)=>{var f;o.parentNode&&l0.removeChildNode(o.parentNode,o),o.parentNode=i,i.childNodes.push(o),o.yogaNode&&((f=i.yogaNode)===null||f===void 0||f.insertChild(o.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&w4(i)};l0.insertBeforeNode=(i,o,f)=>{var p,E;o.parentNode&&l0.removeChildNode(o.parentNode,o),o.parentNode=i;let t=i.childNodes.indexOf(f);if(t>=0){i.childNodes.splice(t,0,o),o.yogaNode&&((p=i.yogaNode)===null||p===void 0||p.insertChild(o.yogaNode,t));return}i.childNodes.push(o),o.yogaNode&&((E=i.yogaNode)===null||E===void 0||E.insertChild(o.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&w4(i)};l0.removeChildNode=(i,o)=>{var f,p;o.yogaNode&&((p=(f=o.parentNode)===null||f===void 0?void 0:f.yogaNode)===null||p===void 0||p.removeChild(o.yogaNode)),o.parentNode=null;let E=i.childNodes.indexOf(o);E>=0&&i.childNodes.splice(E,1),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&w4(i)};l0.setAttribute=(i,o,f)=>{i.attributes[o]=f};l0.setStyle=(i,o)=>{i.style=o,i.yogaNode&&zX.default(i.yogaNode,o)};l0.createTextNode=i=>{let o={nodeName:"#text",nodeValue:i,yogaNode:void 0,parentNode:null,style:{}};return l0.setTextNodeValue(o,i),o};var WX=function(i,o){var f,p;let E=i.nodeName==="#text"?i.nodeValue:HX.default(i),t=pA.default(E);if(t.width<=o||t.width>=1&&o>0&&o<1)return t;let k=(p=(f=i.style)===null||f===void 0?void 0:f.textWrap)!==null&&p!==void 0?p:"wrap",L=qX.default(E,o,k);return pA.default(L)},hA=i=>{var o;if(!(!i||!i.parentNode))return(o=i.yogaNode)!==null&&o!==void 0?o:hA(i.parentNode)},w4=i=>{let o=hA(i);o==null||o.markDirty()};l0.setTextNodeValue=(i,o)=>{typeof o!="string"&&(o=String(o)),i.nodeValue=o,w4(i)}});var th=ce((cre,vA)=>{"use strict";vA.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}});var Dg=ce((dre,Fw)=>{"use strict";var{EMPTY_BUFFER:VX}=th();function mA(i,o){if(i.length===0)return VX;if(i.length===1)return i[0];let f=Buffer.allocUnsafe(o),p=0;for(let E=0;E{"use strict";var DA=Symbol("kDone"),bw=Symbol("kRun"),wA=class{constructor(o){this[DA]=()=>{this.pending--,this[bw]()},this.concurrency=o||Infinity,this.jobs=[],this.pending=0}add(o){this.jobs.push(o),this[bw]()}[bw](){if(this.pending!==this.concurrency&&this.jobs.length){let o=this.jobs.shift();this.pending++,o(this[DA])}}};EA.exports=wA});var Tg=ce((hre,TA)=>{"use strict";var wg=require("zlib"),CA=Dg(),GX=SA(),{kStatusCode:xA,NOOP:YX}=th(),KX=Buffer.from([0,0,255,255]),T4=Symbol("permessage-deflate"),G1=Symbol("total-length"),Sg=Symbol("callback"),hd=Symbol("buffers"),Pw=Symbol("error"),C4,AA=class{constructor(o,f,p){if(this._maxPayload=p|0,this._options=o||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!f,this._deflate=null,this._inflate=null,this.params=null,!C4){let E=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;C4=new GX(E)}}static get extensionName(){return"permessage-deflate"}offer(){let o={};return this._options.serverNoContextTakeover&&(o.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(o.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(o.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?o.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(o.client_max_window_bits=!0),o}accept(o){return o=this.normalizeParams(o),this.params=this._isServer?this.acceptAsServer(o):this.acceptAsClient(o),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let o=this._deflate[Sg];this._deflate.close(),this._deflate=null,o&&o(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(o){let f=this._options,p=o.find(E=>!(f.serverNoContextTakeover===!1&&E.server_no_context_takeover||E.server_max_window_bits&&(f.serverMaxWindowBits===!1||typeof f.serverMaxWindowBits=="number"&&f.serverMaxWindowBits>E.server_max_window_bits)||typeof f.clientMaxWindowBits=="number"&&!E.client_max_window_bits));if(!p)throw new Error("None of the extension offers can be accepted");return f.serverNoContextTakeover&&(p.server_no_context_takeover=!0),f.clientNoContextTakeover&&(p.client_no_context_takeover=!0),typeof f.serverMaxWindowBits=="number"&&(p.server_max_window_bits=f.serverMaxWindowBits),typeof f.clientMaxWindowBits=="number"?p.client_max_window_bits=f.clientMaxWindowBits:(p.client_max_window_bits===!0||f.clientMaxWindowBits===!1)&&delete p.client_max_window_bits,p}acceptAsClient(o){let f=o[0];if(this._options.clientNoContextTakeover===!1&&f.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!f.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(f.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&f.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return f}normalizeParams(o){return o.forEach(f=>{Object.keys(f).forEach(p=>{let E=f[p];if(E.length>1)throw new Error(`Parameter "${p}" must have only a single value`);if(E=E[0],p==="client_max_window_bits"){if(E!==!0){let t=+E;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${p}": ${E}`);E=t}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${p}": ${E}`)}else if(p==="server_max_window_bits"){let t=+E;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${p}": ${E}`);E=t}else if(p==="client_no_context_takeover"||p==="server_no_context_takeover"){if(E!==!0)throw new TypeError(`Invalid value for parameter "${p}": ${E}`)}else throw new Error(`Unknown parameter "${p}"`);f[p]=E})}),o}decompress(o,f,p){C4.add(E=>{this._decompress(o,f,(t,k)=>{E(),p(t,k)})})}compress(o,f,p){C4.add(E=>{this._compress(o,f,(t,k)=>{E(),p(t,k)})})}_decompress(o,f,p){let E=this._isServer?"client":"server";if(!this._inflate){let t=`${E}_max_window_bits`,k=typeof this.params[t]!="number"?wg.Z_DEFAULT_WINDOWBITS:this.params[t];this._inflate=wg.createInflateRaw(Gf(E0({},this._options.zlibInflateOptions),{windowBits:k})),this._inflate[T4]=this,this._inflate[G1]=0,this._inflate[hd]=[],this._inflate.on("error",QX),this._inflate.on("data",RA)}this._inflate[Sg]=p,this._inflate.write(o),f&&this._inflate.write(KX),this._inflate.flush(()=>{let t=this._inflate[Pw];if(t){this._inflate.close(),this._inflate=null,p(t);return}let k=CA.concat(this._inflate[hd],this._inflate[G1]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[G1]=0,this._inflate[hd]=[],f&&this.params[`${E}_no_context_takeover`]&&this._inflate.reset()),p(null,k)})}_compress(o,f,p){let E=this._isServer?"server":"client";if(!this._deflate){let t=`${E}_max_window_bits`,k=typeof this.params[t]!="number"?wg.Z_DEFAULT_WINDOWBITS:this.params[t];this._deflate=wg.createDeflateRaw(Gf(E0({},this._options.zlibDeflateOptions),{windowBits:k})),this._deflate[G1]=0,this._deflate[hd]=[],this._deflate.on("error",YX),this._deflate.on("data",XX)}this._deflate[Sg]=p,this._deflate.write(o),this._deflate.flush(wg.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let t=CA.concat(this._deflate[hd],this._deflate[G1]);f&&(t=t.slice(0,t.length-4)),this._deflate[Sg]=null,this._deflate[G1]=0,this._deflate[hd]=[],f&&this.params[`${E}_no_context_takeover`]&&this._deflate.reset(),p(null,t)})}};TA.exports=AA;function XX(i){this[hd].push(i),this[G1]+=i.length}function RA(i){if(this[G1]+=i.length,this[T4]._maxPayload<1||this[G1]<=this[T4]._maxPayload){this[hd].push(i);return}this[Pw]=new RangeError("Max payload size exceeded"),this[Pw][xA]=1009,this.removeListener("data",RA),this.reset()}function QX(i){this[T4]._inflate=null,i[xA]=1007,this[Sg](i)}});var Bw=ce((vre,Iw)=>{"use strict";function OA(i){return i>=1e3&&i<=1014&&i!==1004&&i!==1005&&i!==1006||i>=3e3&&i<=4999}function kA(i){let o=i.length,f=0;for(;f=o||(i[f+1]&192)!=128||(i[f+2]&192)!=128||i[f]===224&&(i[f+1]&224)==128||i[f]===237&&(i[f+1]&224)==160)return!1;f+=3}else if((i[f]&248)==240){if(f+3>=o||(i[f+1]&192)!=128||(i[f+2]&192)!=128||(i[f+3]&192)!=128||i[f]===240&&(i[f+1]&240)==128||i[f]===244&&i[f+1]>143||i[f]>244)return!1;f+=4}else return!1;return!0}try{let i=require("utf-8-validate");typeof i=="object"&&(i=i.Validation.isValidUTF8),Iw.exports={isValidStatusCode:OA,isValidUTF8(o){return o.length<150?kA(o):i(o)}}}catch(i){Iw.exports={isValidStatusCode:OA,isValidUTF8:kA}}});var zw=ce((mre,MA)=>{"use strict";var{Writable:JX}=require("stream"),NA=Tg(),{BINARY_TYPES:ZX,EMPTY_BUFFER:$X,kStatusCode:eQ,kWebSocket:tQ}=th(),{concat:Uw,toArrayBuffer:nQ,unmask:rQ}=Dg(),{isValidStatusCode:iQ,isValidUTF8:LA}=Bw(),Cg=0,FA=1,bA=2,PA=3,jw=4,uQ=5,IA=class extends JX{constructor(o,f,p,E){super();this._binaryType=o||ZX[0],this[tQ]=void 0,this._extensions=f||{},this._isServer=!!p,this._maxPayload=E|0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=Cg,this._loop=!1}_write(o,f,p){if(this._opcode===8&&this._state==Cg)return p();this._bufferedBytes+=o.length,this._buffers.push(o),this.startLoop(p)}consume(o){if(this._bufferedBytes-=o,o===this._buffers[0].length)return this._buffers.shift();if(o=p.length?f.set(this._buffers.shift(),E):(f.set(new Uint8Array(p.buffer,p.byteOffset,o),E),this._buffers[0]=p.slice(o)),o-=p.length}while(o>0);return f}startLoop(o){let f;this._loop=!0;do switch(this._state){case Cg:f=this.getInfo();break;case FA:f=this.getPayloadLength16();break;case bA:f=this.getPayloadLength64();break;case PA:this.getMask();break;case jw:f=this.getData(o);break;default:this._loop=!1;return}while(this._loop);o(f)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let o=this.consume(2);if((o[0]&48)!=0)return this._loop=!1,Ho(RangeError,"RSV2 and RSV3 must be clear",!0,1002);let f=(o[0]&64)==64;if(f&&!this._extensions[NA.extensionName])return this._loop=!1,Ho(RangeError,"RSV1 must be clear",!0,1002);if(this._fin=(o[0]&128)==128,this._opcode=o[0]&15,this._payloadLength=o[1]&127,this._opcode===0){if(f)return this._loop=!1,Ho(RangeError,"RSV1 must be clear",!0,1002);if(!this._fragmented)return this._loop=!1,Ho(RangeError,"invalid opcode 0",!0,1002);this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented)return this._loop=!1,Ho(RangeError,`invalid opcode ${this._opcode}`,!0,1002);this._compressed=f}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,Ho(RangeError,"FIN must be set",!0,1002);if(f)return this._loop=!1,Ho(RangeError,"RSV1 must be clear",!0,1002);if(this._payloadLength>125)return this._loop=!1,Ho(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002)}else return this._loop=!1,Ho(RangeError,`invalid opcode ${this._opcode}`,!0,1002);if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(o[1]&128)==128,this._isServer){if(!this._masked)return this._loop=!1,Ho(RangeError,"MASK must be set",!0,1002)}else if(this._masked)return this._loop=!1,Ho(RangeError,"MASK must be clear",!0,1002);if(this._payloadLength===126)this._state=FA;else if(this._payloadLength===127)this._state=bA;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=!1;return}return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=!1;return}let o=this.consume(8),f=o.readUInt32BE(0);return f>Math.pow(2,53-32)-1?(this._loop=!1,Ho(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009)):(this._payloadLength=f*Math.pow(2,32)+o.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,Ho(RangeError,"Max payload size exceeded",!1,1009);this._masked?this._state=PA:this._state=jw}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=jw}getData(o){let f=$X;if(this._payloadLength){if(this._bufferedBytes7)return this.controlMessage(f);if(this._compressed){this._state=uQ,this.decompress(f,o);return}return f.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(f)),this.dataMessage()}decompress(o,f){this._extensions[NA.extensionName].decompress(o,this._fin,(E,t)=>{if(E)return f(E);if(t.length){if(this._messageLength+=t.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return f(Ho(RangeError,"Max payload size exceeded",!1,1009));this._fragments.push(t)}let k=this.dataMessage();if(k)return f(k);this.startLoop(f)})}dataMessage(){if(this._fin){let o=this._messageLength,f=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let p;this._binaryType==="nodebuffer"?p=Uw(f,o):this._binaryType==="arraybuffer"?p=nQ(Uw(f,o)):p=f,this.emit("message",p)}else{let p=Uw(f,o);if(!LA(p))return this._loop=!1,Ho(Error,"invalid UTF-8 sequence",!0,1007);this.emit("message",p.toString())}}this._state=Cg}controlMessage(o){if(this._opcode===8)if(this._loop=!1,o.length===0)this.emit("conclude",1005,""),this.end();else{if(o.length===1)return Ho(RangeError,"invalid payload length 1",!0,1002);{let f=o.readUInt16BE(0);if(!iQ(f))return Ho(RangeError,`invalid status code ${f}`,!0,1002);let p=o.slice(2);if(!LA(p))return Ho(Error,"invalid UTF-8 sequence",!0,1007);this.emit("conclude",f,p.toString()),this.end()}}else this._opcode===9?this.emit("ping",o):this.emit("pong",o);this._state=Cg}};MA.exports=IA;function Ho(i,o,f,p){let E=new i(f?`Invalid WebSocket frame: ${o}`:o);return Error.captureStackTrace(E,Ho),E[eQ]=p,E}});var qw=ce((yre,BA)=>{"use strict";var{randomFillSync:oQ}=require("crypto"),UA=Tg(),{EMPTY_BUFFER:lQ}=th(),{isValidStatusCode:sQ}=Bw(),{mask:jA,toBuffer:Y1}=Dg(),nh=Buffer.alloc(4),K1=class{constructor(o,f){this._extensions=f||{},this._socket=o,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(o,f){let p=f.mask&&f.readOnly,E=f.mask?6:2,t=o.length;o.length>=65536?(E+=8,t=127):o.length>125&&(E+=2,t=126);let k=Buffer.allocUnsafe(p?o.length+E:E);return k[0]=f.fin?f.opcode|128:f.opcode,f.rsv1&&(k[0]|=64),k[1]=t,t===126?k.writeUInt16BE(o.length,2):t===127&&(k.writeUInt32BE(0,2),k.writeUInt32BE(o.length,6)),f.mask?(oQ(nh,0,4),k[1]|=128,k[E-4]=nh[0],k[E-3]=nh[1],k[E-2]=nh[2],k[E-1]=nh[3],p?(jA(o,nh,k,E,o.length),[k]):(jA(o,nh,o,0,o.length),[k,o])):[k,o]}close(o,f,p,E){let t;if(o===void 0)t=lQ;else{if(typeof o!="number"||!sQ(o))throw new TypeError("First argument must be a valid error code number");if(f===void 0||f==="")t=Buffer.allocUnsafe(2),t.writeUInt16BE(o,0);else{let k=Buffer.byteLength(f);if(k>123)throw new RangeError("The message must not be greater than 123 bytes");t=Buffer.allocUnsafe(2+k),t.writeUInt16BE(o,0),t.write(f,2)}}this._deflating?this.enqueue([this.doClose,t,p,E]):this.doClose(t,p,E)}doClose(o,f,p){this.sendFrame(K1.frame(o,{fin:!0,rsv1:!1,opcode:8,mask:f,readOnly:!1}),p)}ping(o,f,p){let E=Y1(o);if(E.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,E,f,Y1.readOnly,p]):this.doPing(E,f,Y1.readOnly,p)}doPing(o,f,p,E){this.sendFrame(K1.frame(o,{fin:!0,rsv1:!1,opcode:9,mask:f,readOnly:p}),E)}pong(o,f,p){let E=Y1(o);if(E.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,E,f,Y1.readOnly,p]):this.doPong(E,f,Y1.readOnly,p)}doPong(o,f,p,E){this.sendFrame(K1.frame(o,{fin:!0,rsv1:!1,opcode:10,mask:f,readOnly:p}),E)}send(o,f,p){let E=Y1(o),t=this._extensions[UA.extensionName],k=f.binary?2:1,L=f.compress;if(this._firstFragment?(this._firstFragment=!1,L&&t&&(L=E.length>=t._threshold),this._compress=L):(L=!1,k=0),f.fin&&(this._firstFragment=!0),t){let N={fin:f.fin,rsv1:L,opcode:k,mask:f.mask,readOnly:Y1.readOnly};this._deflating?this.enqueue([this.dispatch,E,this._compress,N,p]):this.dispatch(E,this._compress,N,p)}else this.sendFrame(K1.frame(E,{fin:f.fin,rsv1:!1,opcode:k,mask:f.mask,readOnly:Y1.readOnly}),p)}dispatch(o,f,p,E){if(!f){this.sendFrame(K1.frame(o,p),E);return}let t=this._extensions[UA.extensionName];this._bufferedBytes+=o.length,this._deflating=!0,t.compress(o,p.fin,(k,L)=>{if(this._socket.destroyed){let N=new Error("The socket was closed while data was being compressed");typeof E=="function"&&E(N);for(let C=0;C{"use strict";var xg=class{constructor(o,f){this.target=f,this.type=o}},qA=class extends xg{constructor(o,f){super("message",f);this.data=o}},HA=class extends xg{constructor(o,f,p){super("close",p);this.wasClean=p._closeFrameReceived&&p._closeFrameSent,this.reason=f,this.code=o}},WA=class extends xg{constructor(o){super("open",o)}},VA=class extends xg{constructor(o,f){super("error",f);this.message=o.message,this.error=o}},aQ={addEventListener(i,o,f){if(typeof o!="function")return;function p(N){o.call(this,new qA(N,this))}function E(N,C){o.call(this,new HA(N,C,this))}function t(N){o.call(this,new VA(N,this))}function k(){o.call(this,new WA(this))}let L=f&&f.once?"once":"on";i==="message"?(p._listener=o,this[L](i,p)):i==="close"?(E._listener=o,this[L](i,E)):i==="error"?(t._listener=o,this[L](i,t)):i==="open"?(k._listener=o,this[L](i,k)):this[L](i,o)},removeEventListener(i,o){let f=this.listeners(i);for(let p=0;p{"use strict";var Ag=[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,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Pc(i,o,f){i[o]===void 0?i[o]=[f]:i[o].push(f)}function fQ(i){let o=Object.create(null);if(i===void 0||i==="")return o;let f=Object.create(null),p=!1,E=!1,t=!1,k,L,N=-1,C=-1,U=0;for(;U{let f=i[o];return Array.isArray(f)||(f=[f]),f.map(p=>[o].concat(Object.keys(p).map(E=>{let t=p[E];return Array.isArray(t)||(t=[t]),t.map(k=>k===!0?E:`${E}=${k}`).join("; ")})).join("; ")).join(", ")}).join(", ")}YA.exports={format:cQ,parse:fQ}});var Kw=ce((Ere,KA)=>{"use strict";var dQ=require("events"),pQ=require("https"),hQ=require("http"),XA=require("net"),vQ=require("tls"),{randomBytes:mQ,createHash:yQ}=require("crypto"),{URL:Ww}=require("url"),vd=Tg(),gQ=zw(),_Q=qw(),{BINARY_TYPES:QA,EMPTY_BUFFER:Vw,GUID:EQ,kStatusCode:DQ,kWebSocket:Qs,NOOP:JA}=th(),{addEventListener:wQ,removeEventListener:SQ}=GA(),{format:TQ,parse:CQ}=Hw(),{toBuffer:xQ}=Dg(),ZA=["CONNECTING","OPEN","CLOSING","CLOSED"],Gw=[8,13],AQ=30*1e3,Bi=class extends dQ{constructor(o,f,p){super();this._binaryType=QA[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=Bi.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,o!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(f)?f=f.join(", "):typeof f=="object"&&f!==null&&(p=f,f=void 0),$A(this,o,f,p)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(o){!QA.includes(o)||(this._binaryType=o,this._receiver&&(this._receiver._binaryType=o))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(o,f,p){let E=new gQ(this.binaryType,this._extensions,this._isServer,p);this._sender=new _Q(o,this._extensions),this._receiver=E,this._socket=o,E[Qs]=this,o[Qs]=this,E.on("conclude",RQ),E.on("drain",OQ),E.on("error",kQ),E.on("message",MQ),E.on("ping",NQ),E.on("pong",LQ),o.setTimeout(0),o.setNoDelay(),f.length>0&&o.unshift(f),o.on("close",eR),o.on("data",x4),o.on("end",tR),o.on("error",nR),this._readyState=Bi.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=Bi.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[vd.extensionName]&&this._extensions[vd.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=Bi.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(o,f){if(this.readyState!==Bi.CLOSED){if(this.readyState===Bi.CONNECTING){let p="WebSocket was closed before the connection was established";return X1(this,this._req,p)}if(this.readyState===Bi.CLOSING){this._closeFrameSent&&this._closeFrameReceived&&this._socket.end();return}this._readyState=Bi.CLOSING,this._sender.close(o,f,!this._isServer,p=>{p||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),AQ)}}ping(o,f,p){if(this.readyState===Bi.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof o=="function"?(p=o,o=f=void 0):typeof f=="function"&&(p=f,f=void 0),typeof o=="number"&&(o=o.toString()),this.readyState!==Bi.OPEN){Yw(this,o,p);return}f===void 0&&(f=!this._isServer),this._sender.ping(o||Vw,f,p)}pong(o,f,p){if(this.readyState===Bi.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof o=="function"?(p=o,o=f=void 0):typeof f=="function"&&(p=f,f=void 0),typeof o=="number"&&(o=o.toString()),this.readyState!==Bi.OPEN){Yw(this,o,p);return}f===void 0&&(f=!this._isServer),this._sender.pong(o||Vw,f,p)}send(o,f,p){if(this.readyState===Bi.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof f=="function"&&(p=f,f={}),typeof o=="number"&&(o=o.toString()),this.readyState!==Bi.OPEN){Yw(this,o,p);return}let E=E0({binary:typeof o!="string",mask:!this._isServer,compress:!0,fin:!0},f);this._extensions[vd.extensionName]||(E.compress=!1),this._sender.send(o||Vw,E,p)}terminate(){if(this.readyState!==Bi.CLOSED){if(this.readyState===Bi.CONNECTING){let o="WebSocket was closed before the connection was established";return X1(this,this._req,o)}this._socket&&(this._readyState=Bi.CLOSING,this._socket.destroy())}}};ZA.forEach((i,o)=>{let f={enumerable:!0,value:o};Object.defineProperty(Bi.prototype,i,f),Object.defineProperty(Bi,i,f)});["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach(i=>{Object.defineProperty(Bi.prototype,i,{enumerable:!0})});["open","error","close","message"].forEach(i=>{Object.defineProperty(Bi.prototype,`on${i}`,{configurable:!0,enumerable:!0,get(){let o=this.listeners(i);for(let f=0;f{X1(i,W,"Opening handshake has timed out")}),W.on("error",ne=>{W===null||W.aborted||(W=i._req=null,i._readyState=Bi.CLOSING,i.emit("error",ne),i.emitClose())}),W.on("response",ne=>{let m=ne.headers.location,we=ne.statusCode;if(m&&E.followRedirects&&we>=300&&we<400){if(++i._redirects>E.maxRedirects){X1(i,W,"Maximum redirects exceeded");return}W.abort();let Se=new Ww(m,o);$A(i,Se,f,p)}else i.emit("unexpected-response",W,ne)||X1(i,W,`Unexpected server response: ${ne.statusCode}`)}),W.on("upgrade",(ne,m,we)=>{if(i.emit("upgrade",ne),i.readyState!==Bi.CONNECTING)return;W=i._req=null;let Se=yQ("sha1").update(C+EQ).digest("base64");if(ne.headers["sec-websocket-accept"]!==Se){X1(i,m,"Invalid Sec-WebSocket-Accept header");return}let he=ne.headers["sec-websocket-protocol"],ge=(f||"").split(/, */),ze;if(!f&&he?ze="Server sent a subprotocol but none was requested":f&&!he?ze="Server sent no subprotocol":he&&!ge.includes(he)&&(ze="Server sent an invalid subprotocol"),ze){X1(i,m,ze);return}if(he&&(i._protocol=he),q)try{let pe=CQ(ne.headers["sec-websocket-extensions"]);pe[vd.extensionName]&&(q.accept(pe[vd.extensionName]),i._extensions[vd.extensionName]=q)}catch(pe){X1(i,m,"Invalid Sec-WebSocket-Extensions header");return}i.setSocket(m,we,E.maxPayload)})}function FQ(i){return i.path=i.socketPath,XA.connect(i)}function bQ(i){return i.path=void 0,!i.servername&&i.servername!==""&&(i.servername=XA.isIP(i.host)?"":i.host),vQ.connect(i)}function X1(i,o,f){i._readyState=Bi.CLOSING;let p=new Error(f);Error.captureStackTrace(p,X1),o.setHeader?(o.abort(),o.socket&&!o.socket.destroyed&&o.socket.destroy(),o.once("abort",i.emitClose.bind(i)),i.emit("error",p)):(o.destroy(p),o.once("error",i.emit.bind(i,"error")),o.once("close",i.emitClose.bind(i)))}function Yw(i,o,f){if(o){let p=xQ(o).length;i._socket?i._sender._bufferedBytes+=p:i._bufferedAmount+=p}if(f){let p=new Error(`WebSocket is not open: readyState ${i.readyState} (${ZA[i.readyState]})`);f(p)}}function RQ(i,o){let f=this[Qs];f._socket.removeListener("data",x4),f._socket.resume(),f._closeFrameReceived=!0,f._closeMessage=o,f._closeCode=i,i===1005?f.close():f.close(i,o)}function OQ(){this[Qs]._socket.resume()}function kQ(i){let o=this[Qs];o._socket.removeListener("data",x4),o._readyState=Bi.CLOSING,o._closeCode=i[DQ],o.emit("error",i),o._socket.destroy()}function rR(){this[Qs].emitClose()}function MQ(i){this[Qs].emit("message",i)}function NQ(i){let o=this[Qs];o.pong(i,!o._isServer,JA),o.emit("ping",i)}function LQ(i){this[Qs].emit("pong",i)}function eR(){let i=this[Qs];this.removeListener("close",eR),this.removeListener("end",tR),i._readyState=Bi.CLOSING,i._socket.read(),i._receiver.end(),this.removeListener("data",x4),this[Qs]=void 0,clearTimeout(i._closeTimer),i._receiver._writableState.finished||i._receiver._writableState.errorEmitted?i.emitClose():(i._receiver.on("error",rR),i._receiver.on("finish",rR))}function x4(i){this[Qs]._receiver.write(i)||this.pause()}function tR(){let i=this[Qs];i._readyState=Bi.CLOSING,i._receiver.end(),this.end()}function nR(){let i=this[Qs];this.removeListener("error",nR),this.on("error",JA),i&&(i._readyState=Bi.CLOSING,this.destroy())}});var lR=ce((Dre,iR)=>{"use strict";var{Duplex:PQ}=require("stream");function uR(i){i.emit("close")}function IQ(){!this.destroyed&&this._writableState.finished&&this.destroy()}function oR(i){this.removeListener("error",oR),this.destroy(),this.listenerCount("error")===0&&this.emit("error",i)}function BQ(i,o){let f=!0;function p(){f&&i._socket.resume()}i.readyState===i.CONNECTING?i.once("open",function(){i._receiver.removeAllListeners("drain"),i._receiver.on("drain",p)}):(i._receiver.removeAllListeners("drain"),i._receiver.on("drain",p));let E=new PQ(Gf(E0({},o),{autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1}));return i.on("message",function(k){E.push(k)||(f=!1,i._socket.pause())}),i.once("error",function(k){E.destroyed||E.destroy(k)}),i.once("close",function(){E.destroyed||E.push(null)}),E._destroy=function(t,k){if(i.readyState===i.CLOSED){k(t),process.nextTick(uR,E);return}let L=!1;i.once("error",function(C){L=!0,k(C)}),i.once("close",function(){L||k(t),process.nextTick(uR,E)}),i.terminate()},E._final=function(t){if(i.readyState===i.CONNECTING){i.once("open",function(){E._final(t)});return}i._socket!==null&&(i._socket._writableState.finished?(t(),E._readableState.endEmitted&&E.destroy()):(i._socket.once("finish",function(){t()}),i.close()))},E._read=function(){i.readyState===i.OPEN&&!f&&(f=!0,i._receiver._writableState.needDrain||i._socket.resume())},E._write=function(t,k,L){if(i.readyState===i.CONNECTING){i.once("open",function(){E._write(t,k,L)});return}i.send(t,L)},E.on("end",IQ),E.on("error",oR),E}iR.exports=BQ});var fR=ce((wre,sR)=>{"use strict";var UQ=require("events"),{createHash:jQ}=require("crypto"),{createServer:zQ,STATUS_CODES:Xw}=require("http"),rh=Tg(),qQ=Kw(),{format:HQ,parse:WQ}=Hw(),{GUID:VQ,kWebSocket:GQ}=th(),YQ=/^[+/0-9A-Za-z]{22}==$/,aR=class extends UQ{constructor(o,f){super();if(o=E0({maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null},o),o.port==null&&!o.server&&!o.noServer)throw new TypeError('One of the "port", "server", or "noServer" options must be specified');if(o.port!=null?(this._server=zQ((p,E)=>{let t=Xw[426];E.writeHead(426,{"Content-Length":t.length,"Content-Type":"text/plain"}),E.end(t)}),this._server.listen(o.port,o.host,o.backlog,f)):o.server&&(this._server=o.server),this._server){let p=this.emit.bind(this,"connection");this._removeListeners=KQ(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(E,t,k)=>{this.handleUpgrade(E,t,k,p)}})}o.perMessageDeflate===!0&&(o.perMessageDeflate={}),o.clientTracking&&(this.clients=new Set),this.options=o}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(o){if(o&&this.once("close",o),this.clients)for(let p of this.clients)p.terminate();let f=this._server;if(f&&(this._removeListeners(),this._removeListeners=this._server=null,this.options.port!=null)){f.close(()=>this.emit("close"));return}process.nextTick(XQ,this)}shouldHandle(o){if(this.options.path){let f=o.url.indexOf("?");if((f!==-1?o.url.slice(0,f):o.url)!==this.options.path)return!1}return!0}handleUpgrade(o,f,p,E){f.on("error",Qw);let t=o.headers["sec-websocket-key"]!==void 0?o.headers["sec-websocket-key"].trim():!1,k=+o.headers["sec-websocket-version"],L={};if(o.method!=="GET"||o.headers.upgrade.toLowerCase()!=="websocket"||!t||!YQ.test(t)||k!==8&&k!==13||!this.shouldHandle(o))return A4(f,400);if(this.options.perMessageDeflate){let N=new rh(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let C=WQ(o.headers["sec-websocket-extensions"]);C[rh.extensionName]&&(N.accept(C[rh.extensionName]),L[rh.extensionName]=N)}catch(C){return A4(f,400)}}if(this.options.verifyClient){let N={origin:o.headers[`${k===8?"sec-websocket-origin":"origin"}`],secure:!!(o.socket.authorized||o.socket.encrypted),req:o};if(this.options.verifyClient.length===2){this.options.verifyClient(N,(C,U,q,W)=>{if(!C)return A4(f,U||401,q,W);this.completeUpgrade(t,L,o,f,p,E)});return}if(!this.options.verifyClient(N))return A4(f,401)}this.completeUpgrade(t,L,o,f,p,E)}completeUpgrade(o,f,p,E,t,k){if(!E.readable||!E.writable)return E.destroy();if(E[GQ])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");let L=jQ("sha1").update(o+VQ).digest("base64"),N=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${L}`],C=new qQ(null),U=p.headers["sec-websocket-protocol"];if(U&&(U=U.split(",").map(QQ),this.options.handleProtocols?U=this.options.handleProtocols(U,p):U=U[0],U&&(N.push(`Sec-WebSocket-Protocol: ${U}`),C._protocol=U)),f[rh.extensionName]){let q=f[rh.extensionName].params,W=HQ({[rh.extensionName]:[q]});N.push(`Sec-WebSocket-Extensions: ${W}`),C._extensions=f}this.emit("headers",N,p),E.write(N.concat(`\r -`).join(`\r -`)),E.removeListener("error",Qw),C.setSocket(E,t,this.options.maxPayload),this.clients&&(this.clients.add(C),C.on("close",()=>this.clients.delete(C))),k(C,p)}};sR.exports=aR;function KQ(i,o){for(let f of Object.keys(o))i.on(f,o[f]);return function(){for(let p of Object.keys(o))i.removeListener(p,o[p])}}function XQ(i){i.emit("close")}function Qw(){this.destroy()}function A4(i,o,f,p){i.writable&&(f=f||Xw[o],p=E0({Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(f)},p),i.write(`HTTP/1.1 ${o} ${Xw[o]}\r -`+Object.keys(p).map(E=>`${E}: ${p[E]}`).join(`\r -`)+`\r -\r -`+f)),i.removeListener("error",Qw),i.destroy()}function QQ(i){return i.trim()}});var dR=ce((Sre,cR)=>{"use strict";var Rg=Kw();Rg.createWebSocketStream=lR();Rg.Server=fR();Rg.Receiver=zw();Rg.Sender=qw();cR.exports=Rg});var pR=ce(R4=>{"use strict";var JQ=R4&&R4.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(R4,"__esModule",{value:!0});var ZQ=JQ(dR()),Og=global;Og.WebSocket||(Og.WebSocket=ZQ.default);Og.window||(Og.window=global);Og.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}]});var hR=ce((O4,Jw)=>{(function(i,o){typeof O4=="object"&&typeof Jw=="object"?Jw.exports=o():typeof define=="function"&&define.amd?define([],o):typeof O4=="object"?O4.ReactDevToolsBackend=o():i.ReactDevToolsBackend=o()})(window,function(){return function(i){var o={};function f(p){if(o[p])return o[p].exports;var E=o[p]={i:p,l:!1,exports:{}};return i[p].call(E.exports,E,E.exports,f),E.l=!0,E.exports}return f.m=i,f.c=o,f.d=function(p,E,t){f.o(p,E)||Object.defineProperty(p,E,{enumerable:!0,get:t})},f.r=function(p){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(p,"__esModule",{value:!0})},f.t=function(p,E){if(1&E&&(p=f(p)),8&E||4&E&&typeof p=="object"&&p&&p.__esModule)return p;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:p}),2&E&&typeof p!="string")for(var k in p)f.d(t,k,function(L){return p[L]}.bind(null,k));return t},f.n=function(p){var E=p&&p.__esModule?function(){return p.default}:function(){return p};return f.d(E,"a",E),E},f.o=function(p,E){return Object.prototype.hasOwnProperty.call(p,E)},f.p="",f(f.s=20)}([function(i,o,f){"use strict";i.exports=f(12)},function(i,o,f){"use strict";var p=Object.getOwnPropertySymbols,E=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable;function k(L){if(L==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(L)}i.exports=function(){try{if(!Object.assign)return!1;var L=new String("abc");if(L[5]="de",Object.getOwnPropertyNames(L)[0]==="5")return!1;for(var N={},C=0;C<10;C++)N["_"+String.fromCharCode(C)]=C;if(Object.getOwnPropertyNames(N).map(function(q){return N[q]}).join("")!=="0123456789")return!1;var U={};return"abcdefghijklmnopqrst".split("").forEach(function(q){U[q]=q}),Object.keys(Object.assign({},U)).join("")==="abcdefghijklmnopqrst"}catch(q){return!1}}()?Object.assign:function(L,N){for(var C,U,q=k(L),W=1;W=le||en<0||$t&&At-Ke>=wt}function ue(){var At=Se();if(Ce(At))return je(At);$e=setTimeout(ue,function(en){var ln=le-(en-ft);return $t?we(ln,wt-(en-Ke)):ln}(At))}function je(At){return $e=void 0,at&&Ge?Q(At):(Ge=rt=void 0,xt)}function ct(){var At=Se(),en=Ce(At);if(Ge=arguments,rt=this,ft=At,en){if($e===void 0)return ae(ft);if($t)return $e=setTimeout(ue,le),Q(ft)}return $e===void 0&&($e=setTimeout(ue,le)),xt}return le=pe(le)||0,ge(Ue)&&(jt=!!Ue.leading,wt=($t="maxWait"in Ue)?m(pe(Ue.maxWait)||0,le):wt,at="trailing"in Ue?!!Ue.trailing:at),ct.cancel=function(){$e!==void 0&&clearTimeout($e),Ke=0,Ge=ft=rt=$e=void 0},ct.flush=function(){return $e===void 0?xt:je(Se())},ct}function ge(Oe){var le=E(Oe);return!!Oe&&(le=="object"||le=="function")}function ze(Oe){return E(Oe)=="symbol"||function(le){return!!le&&E(le)=="object"}(Oe)&&ne.call(Oe)=="[object Symbol]"}function pe(Oe){if(typeof Oe=="number")return Oe;if(ze(Oe))return NaN;if(ge(Oe)){var le=typeof Oe.valueOf=="function"?Oe.valueOf():Oe;Oe=ge(le)?le+"":le}if(typeof Oe!="string")return Oe===0?Oe:+Oe;Oe=Oe.replace(t,"");var Ue=L.test(Oe);return Ue||N.test(Oe)?C(Oe.slice(2),Ue?2:8):k.test(Oe)?NaN:+Oe}i.exports=function(Oe,le,Ue){var Ge=!0,rt=!0;if(typeof Oe!="function")throw new TypeError("Expected a function");return ge(Ue)&&(Ge="leading"in Ue?!!Ue.leading:Ge,rt="trailing"in Ue?!!Ue.trailing:rt),he(Oe,le,{leading:Ge,maxWait:le,trailing:rt})}}).call(this,f(4))},function(i,o,f){(function(p){function E(Q){return(E=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ae){return typeof ae}:function(ae){return ae&&typeof Symbol=="function"&&ae.constructor===Symbol&&ae!==Symbol.prototype?"symbol":typeof ae})(Q)}var t;o=i.exports=m,t=(p===void 0?"undefined":E(p))==="object"&&p.env&&p.env.NODE_DEBUG&&/\bsemver\b/i.test(p.env.NODE_DEBUG)?function(){var Q=Array.prototype.slice.call(arguments,0);Q.unshift("SEMVER"),console.log.apply(console,Q)}:function(){},o.SEMVER_SPEC_VERSION="2.0.0";var k=Number.MAX_SAFE_INTEGER||9007199254740991,L=o.re=[],N=o.src=[],C=o.tokens={},U=0;function q(Q){C[Q]=U++}q("NUMERICIDENTIFIER"),N[C.NUMERICIDENTIFIER]="0|[1-9]\\d*",q("NUMERICIDENTIFIERLOOSE"),N[C.NUMERICIDENTIFIERLOOSE]="[0-9]+",q("NONNUMERICIDENTIFIER"),N[C.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",q("MAINVERSION"),N[C.MAINVERSION]="("+N[C.NUMERICIDENTIFIER]+")\\.("+N[C.NUMERICIDENTIFIER]+")\\.("+N[C.NUMERICIDENTIFIER]+")",q("MAINVERSIONLOOSE"),N[C.MAINVERSIONLOOSE]="("+N[C.NUMERICIDENTIFIERLOOSE]+")\\.("+N[C.NUMERICIDENTIFIERLOOSE]+")\\.("+N[C.NUMERICIDENTIFIERLOOSE]+")",q("PRERELEASEIDENTIFIER"),N[C.PRERELEASEIDENTIFIER]="(?:"+N[C.NUMERICIDENTIFIER]+"|"+N[C.NONNUMERICIDENTIFIER]+")",q("PRERELEASEIDENTIFIERLOOSE"),N[C.PRERELEASEIDENTIFIERLOOSE]="(?:"+N[C.NUMERICIDENTIFIERLOOSE]+"|"+N[C.NONNUMERICIDENTIFIER]+")",q("PRERELEASE"),N[C.PRERELEASE]="(?:-("+N[C.PRERELEASEIDENTIFIER]+"(?:\\."+N[C.PRERELEASEIDENTIFIER]+")*))",q("PRERELEASELOOSE"),N[C.PRERELEASELOOSE]="(?:-?("+N[C.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+N[C.PRERELEASEIDENTIFIERLOOSE]+")*))",q("BUILDIDENTIFIER"),N[C.BUILDIDENTIFIER]="[0-9A-Za-z-]+",q("BUILD"),N[C.BUILD]="(?:\\+("+N[C.BUILDIDENTIFIER]+"(?:\\."+N[C.BUILDIDENTIFIER]+")*))",q("FULL"),q("FULLPLAIN"),N[C.FULLPLAIN]="v?"+N[C.MAINVERSION]+N[C.PRERELEASE]+"?"+N[C.BUILD]+"?",N[C.FULL]="^"+N[C.FULLPLAIN]+"$",q("LOOSEPLAIN"),N[C.LOOSEPLAIN]="[v=\\s]*"+N[C.MAINVERSIONLOOSE]+N[C.PRERELEASELOOSE]+"?"+N[C.BUILD]+"?",q("LOOSE"),N[C.LOOSE]="^"+N[C.LOOSEPLAIN]+"$",q("GTLT"),N[C.GTLT]="((?:<|>)?=?)",q("XRANGEIDENTIFIERLOOSE"),N[C.XRANGEIDENTIFIERLOOSE]=N[C.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",q("XRANGEIDENTIFIER"),N[C.XRANGEIDENTIFIER]=N[C.NUMERICIDENTIFIER]+"|x|X|\\*",q("XRANGEPLAIN"),N[C.XRANGEPLAIN]="[v=\\s]*("+N[C.XRANGEIDENTIFIER]+")(?:\\.("+N[C.XRANGEIDENTIFIER]+")(?:\\.("+N[C.XRANGEIDENTIFIER]+")(?:"+N[C.PRERELEASE]+")?"+N[C.BUILD]+"?)?)?",q("XRANGEPLAINLOOSE"),N[C.XRANGEPLAINLOOSE]="[v=\\s]*("+N[C.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+N[C.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+N[C.XRANGEIDENTIFIERLOOSE]+")(?:"+N[C.PRERELEASELOOSE]+")?"+N[C.BUILD]+"?)?)?",q("XRANGE"),N[C.XRANGE]="^"+N[C.GTLT]+"\\s*"+N[C.XRANGEPLAIN]+"$",q("XRANGELOOSE"),N[C.XRANGELOOSE]="^"+N[C.GTLT]+"\\s*"+N[C.XRANGEPLAINLOOSE]+"$",q("COERCE"),N[C.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",q("COERCERTL"),L[C.COERCERTL]=new RegExp(N[C.COERCE],"g"),q("LONETILDE"),N[C.LONETILDE]="(?:~>?)",q("TILDETRIM"),N[C.TILDETRIM]="(\\s*)"+N[C.LONETILDE]+"\\s+",L[C.TILDETRIM]=new RegExp(N[C.TILDETRIM],"g"),q("TILDE"),N[C.TILDE]="^"+N[C.LONETILDE]+N[C.XRANGEPLAIN]+"$",q("TILDELOOSE"),N[C.TILDELOOSE]="^"+N[C.LONETILDE]+N[C.XRANGEPLAINLOOSE]+"$",q("LONECARET"),N[C.LONECARET]="(?:\\^)",q("CARETTRIM"),N[C.CARETTRIM]="(\\s*)"+N[C.LONECARET]+"\\s+",L[C.CARETTRIM]=new RegExp(N[C.CARETTRIM],"g"),q("CARET"),N[C.CARET]="^"+N[C.LONECARET]+N[C.XRANGEPLAIN]+"$",q("CARETLOOSE"),N[C.CARETLOOSE]="^"+N[C.LONECARET]+N[C.XRANGEPLAINLOOSE]+"$",q("COMPARATORLOOSE"),N[C.COMPARATORLOOSE]="^"+N[C.GTLT]+"\\s*("+N[C.LOOSEPLAIN]+")$|^$",q("COMPARATOR"),N[C.COMPARATOR]="^"+N[C.GTLT]+"\\s*("+N[C.FULLPLAIN]+")$|^$",q("COMPARATORTRIM"),N[C.COMPARATORTRIM]="(\\s*)"+N[C.GTLT]+"\\s*("+N[C.LOOSEPLAIN]+"|"+N[C.XRANGEPLAIN]+")",L[C.COMPARATORTRIM]=new RegExp(N[C.COMPARATORTRIM],"g"),q("HYPHENRANGE"),N[C.HYPHENRANGE]="^\\s*("+N[C.XRANGEPLAIN]+")\\s+-\\s+("+N[C.XRANGEPLAIN]+")\\s*$",q("HYPHENRANGELOOSE"),N[C.HYPHENRANGELOOSE]="^\\s*("+N[C.XRANGEPLAINLOOSE]+")\\s+-\\s+("+N[C.XRANGEPLAINLOOSE]+")\\s*$",q("STAR"),N[C.STAR]="(<|>)?=?\\s*\\*";for(var W=0;W256||!(ae.loose?L[C.LOOSE]:L[C.FULL]).test(Q))return null;try{return new m(Q,ae)}catch(Ce){return null}}function m(Q,ae){if(ae&&E(ae)==="object"||(ae={loose:!!ae,includePrerelease:!1}),Q instanceof m){if(Q.loose===ae.loose)return Q;Q=Q.version}else if(typeof Q!="string")throw new TypeError("Invalid Version: "+Q);if(Q.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof m))return new m(Q,ae);t("SemVer",Q,ae),this.options=ae,this.loose=!!ae.loose;var Ce=Q.trim().match(ae.loose?L[C.LOOSE]:L[C.FULL]);if(!Ce)throw new TypeError("Invalid Version: "+Q);if(this.raw=Q,this.major=+Ce[1],this.minor=+Ce[2],this.patch=+Ce[3],this.major>k||this.major<0)throw new TypeError("Invalid major version");if(this.minor>k||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>k||this.patch<0)throw new TypeError("Invalid patch version");Ce[4]?this.prerelease=Ce[4].split(".").map(function(ue){if(/^[0-9]+$/.test(ue)){var je=+ue;if(je>=0&&je=0;)typeof this.prerelease[Ce]=="number"&&(this.prerelease[Ce]++,Ce=-2);Ce===-1&&this.prerelease.push(0)}ae&&(this.prerelease[0]===ae?isNaN(this.prerelease[1])&&(this.prerelease=[ae,0]):this.prerelease=[ae,0]);break;default:throw new Error("invalid increment argument: "+Q)}return this.format(),this.raw=this.version,this},o.inc=function(Q,ae,Ce,ue){typeof Ce=="string"&&(ue=Ce,Ce=void 0);try{return new m(Q,Ce).inc(ae,ue).version}catch(je){return null}},o.diff=function(Q,ae){if(pe(Q,ae))return null;var Ce=ne(Q),ue=ne(ae),je="";if(Ce.prerelease.length||ue.prerelease.length){je="pre";var ct="prerelease"}for(var At in Ce)if((At==="major"||At==="minor"||At==="patch")&&Ce[At]!==ue[At])return je+At;return ct},o.compareIdentifiers=Se;var we=/^[0-9]+$/;function Se(Q,ae){var Ce=we.test(Q),ue=we.test(ae);return Ce&&ue&&(Q=+Q,ae=+ae),Q===ae?0:Ce&&!ue?-1:ue&&!Ce?1:Q0}function ze(Q,ae,Ce){return he(Q,ae,Ce)<0}function pe(Q,ae,Ce){return he(Q,ae,Ce)===0}function Oe(Q,ae,Ce){return he(Q,ae,Ce)!==0}function le(Q,ae,Ce){return he(Q,ae,Ce)>=0}function Ue(Q,ae,Ce){return he(Q,ae,Ce)<=0}function Ge(Q,ae,Ce,ue){switch(ae){case"===":return E(Q)==="object"&&(Q=Q.version),E(Ce)==="object"&&(Ce=Ce.version),Q===Ce;case"!==":return E(Q)==="object"&&(Q=Q.version),E(Ce)==="object"&&(Ce=Ce.version),Q!==Ce;case"":case"=":case"==":return pe(Q,Ce,ue);case"!=":return Oe(Q,Ce,ue);case">":return ge(Q,Ce,ue);case">=":return le(Q,Ce,ue);case"<":return ze(Q,Ce,ue);case"<=":return Ue(Q,Ce,ue);default:throw new TypeError("Invalid operator: "+ae)}}function rt(Q,ae){if(ae&&E(ae)==="object"||(ae={loose:!!ae,includePrerelease:!1}),Q instanceof rt){if(Q.loose===!!ae.loose)return Q;Q=Q.value}if(!(this instanceof rt))return new rt(Q,ae);t("comparator",Q,ae),this.options=ae,this.loose=!!ae.loose,this.parse(Q),this.semver===wt?this.value="":this.value=this.operator+this.semver.version,t("comp",this)}o.rcompareIdentifiers=function(Q,ae){return Se(ae,Q)},o.major=function(Q,ae){return new m(Q,ae).major},o.minor=function(Q,ae){return new m(Q,ae).minor},o.patch=function(Q,ae){return new m(Q,ae).patch},o.compare=he,o.compareLoose=function(Q,ae){return he(Q,ae,!0)},o.compareBuild=function(Q,ae,Ce){var ue=new m(Q,Ce),je=new m(ae,Ce);return ue.compare(je)||ue.compareBuild(je)},o.rcompare=function(Q,ae,Ce){return he(ae,Q,Ce)},o.sort=function(Q,ae){return Q.sort(function(Ce,ue){return o.compareBuild(Ce,ue,ae)})},o.rsort=function(Q,ae){return Q.sort(function(Ce,ue){return o.compareBuild(ue,Ce,ae)})},o.gt=ge,o.lt=ze,o.eq=pe,o.neq=Oe,o.gte=le,o.lte=Ue,o.cmp=Ge,o.Comparator=rt;var wt={};function xt(Q,ae){if(ae&&E(ae)==="object"||(ae={loose:!!ae,includePrerelease:!1}),Q instanceof xt)return Q.loose===!!ae.loose&&Q.includePrerelease===!!ae.includePrerelease?Q:new xt(Q.raw,ae);if(Q instanceof rt)return new xt(Q.value,ae);if(!(this instanceof xt))return new xt(Q,ae);if(this.options=ae,this.loose=!!ae.loose,this.includePrerelease=!!ae.includePrerelease,this.raw=Q,this.set=Q.split(/\s*\|\|\s*/).map(function(Ce){return this.parseRange(Ce.trim())},this).filter(function(Ce){return Ce.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+Q);this.format()}function $e(Q,ae){for(var Ce=!0,ue=Q.slice(),je=ue.pop();Ce&&ue.length;)Ce=ue.every(function(ct){return je.intersects(ct,ae)}),je=ue.pop();return Ce}function ft(Q){return!Q||Q.toLowerCase()==="x"||Q==="*"}function Ke(Q,ae,Ce,ue,je,ct,At,en,ln,An,nr,un,Wt){return((ae=ft(Ce)?"":ft(ue)?">="+Ce+".0.0":ft(je)?">="+Ce+"."+ue+".0":">="+ae)+" "+(en=ft(ln)?"":ft(An)?"<"+(+ln+1)+".0.0":ft(nr)?"<"+ln+"."+(+An+1)+".0":un?"<="+ln+"."+An+"."+nr+"-"+un:"<="+en)).trim()}function jt(Q,ae,Ce){for(var ue=0;ue0){var je=Q[ue].semver;if(je.major===ae.major&&je.minor===ae.minor&&je.patch===ae.patch)return!0}return!1}return!0}function $t(Q,ae,Ce){try{ae=new xt(ae,Ce)}catch(ue){return!1}return ae.test(Q)}function at(Q,ae,Ce,ue){var je,ct,At,en,ln;switch(Q=new m(Q,ue),ae=new xt(ae,ue),Ce){case">":je=ge,ct=Ue,At=ze,en=">",ln=">=";break;case"<":je=ze,ct=le,At=ge,en="<",ln="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if($t(Q,ae,ue))return!1;for(var An=0;An=0.0.0")),un=un||vr,Wt=Wt||vr,je(vr.semver,un.semver,ue)?un=vr:At(vr.semver,Wt.semver,ue)&&(Wt=vr)}),un.operator===en||un.operator===ln||(!Wt.operator||Wt.operator===en)&&ct(Q,Wt.semver)||Wt.operator===ln&&At(Q,Wt.semver))return!1}return!0}rt.prototype.parse=function(Q){var ae=this.options.loose?L[C.COMPARATORLOOSE]:L[C.COMPARATOR],Ce=Q.match(ae);if(!Ce)throw new TypeError("Invalid comparator: "+Q);this.operator=Ce[1]!==void 0?Ce[1]:"",this.operator==="="&&(this.operator=""),Ce[2]?this.semver=new m(Ce[2],this.options.loose):this.semver=wt},rt.prototype.toString=function(){return this.value},rt.prototype.test=function(Q){if(t("Comparator.test",Q,this.options.loose),this.semver===wt||Q===wt)return!0;if(typeof Q=="string")try{Q=new m(Q,this.options)}catch(ae){return!1}return Ge(Q,this.operator,this.semver,this.options)},rt.prototype.intersects=function(Q,ae){if(!(Q instanceof rt))throw new TypeError("a Comparator is required");var Ce;if(ae&&E(ae)==="object"||(ae={loose:!!ae,includePrerelease:!1}),this.operator==="")return this.value===""||(Ce=new xt(Q.value,ae),$t(this.value,Ce,ae));if(Q.operator==="")return Q.value===""||(Ce=new xt(this.value,ae),$t(Q.semver,Ce,ae));var ue=!(this.operator!==">="&&this.operator!==">"||Q.operator!==">="&&Q.operator!==">"),je=!(this.operator!=="<="&&this.operator!=="<"||Q.operator!=="<="&&Q.operator!=="<"),ct=this.semver.version===Q.semver.version,At=!(this.operator!==">="&&this.operator!=="<="||Q.operator!==">="&&Q.operator!=="<="),en=Ge(this.semver,"<",Q.semver,ae)&&(this.operator===">="||this.operator===">")&&(Q.operator==="<="||Q.operator==="<"),ln=Ge(this.semver,">",Q.semver,ae)&&(this.operator==="<="||this.operator==="<")&&(Q.operator===">="||Q.operator===">");return ue||je||ct&&At||en||ln},o.Range=xt,xt.prototype.format=function(){return this.range=this.set.map(function(Q){return Q.join(" ").trim()}).join("||").trim(),this.range},xt.prototype.toString=function(){return this.range},xt.prototype.parseRange=function(Q){var ae=this.options.loose;Q=Q.trim();var Ce=ae?L[C.HYPHENRANGELOOSE]:L[C.HYPHENRANGE];Q=Q.replace(Ce,Ke),t("hyphen replace",Q),Q=Q.replace(L[C.COMPARATORTRIM],"$1$2$3"),t("comparator trim",Q,L[C.COMPARATORTRIM]),Q=(Q=(Q=Q.replace(L[C.TILDETRIM],"$1~")).replace(L[C.CARETTRIM],"$1^")).split(/\s+/).join(" ");var ue=ae?L[C.COMPARATORLOOSE]:L[C.COMPARATOR],je=Q.split(" ").map(function(ct){return function(At,en){return t("comp",At,en),At=function(ln,An){return ln.trim().split(/\s+/).map(function(nr){return function(un,Wt){t("caret",un,Wt);var vr=Wt.loose?L[C.CARETLOOSE]:L[C.CARET];return un.replace(vr,function(w,Ut,Vn,fr,Fr){var ur;return t("caret",un,w,Ut,Vn,fr,Fr),ft(Ut)?ur="":ft(Vn)?ur=">="+Ut+".0.0 <"+(+Ut+1)+".0.0":ft(fr)?ur=Ut==="0"?">="+Ut+"."+Vn+".0 <"+Ut+"."+(+Vn+1)+".0":">="+Ut+"."+Vn+".0 <"+(+Ut+1)+".0.0":Fr?(t("replaceCaret pr",Fr),ur=Ut==="0"?Vn==="0"?">="+Ut+"."+Vn+"."+fr+"-"+Fr+" <"+Ut+"."+Vn+"."+(+fr+1):">="+Ut+"."+Vn+"."+fr+"-"+Fr+" <"+Ut+"."+(+Vn+1)+".0":">="+Ut+"."+Vn+"."+fr+"-"+Fr+" <"+(+Ut+1)+".0.0"):(t("no pr"),ur=Ut==="0"?Vn==="0"?">="+Ut+"."+Vn+"."+fr+" <"+Ut+"."+Vn+"."+(+fr+1):">="+Ut+"."+Vn+"."+fr+" <"+Ut+"."+(+Vn+1)+".0":">="+Ut+"."+Vn+"."+fr+" <"+(+Ut+1)+".0.0"),t("caret return",ur),ur})}(nr,An)}).join(" ")}(At,en),t("caret",At),At=function(ln,An){return ln.trim().split(/\s+/).map(function(nr){return function(un,Wt){var vr=Wt.loose?L[C.TILDELOOSE]:L[C.TILDE];return un.replace(vr,function(w,Ut,Vn,fr,Fr){var ur;return t("tilde",un,w,Ut,Vn,fr,Fr),ft(Ut)?ur="":ft(Vn)?ur=">="+Ut+".0.0 <"+(+Ut+1)+".0.0":ft(fr)?ur=">="+Ut+"."+Vn+".0 <"+Ut+"."+(+Vn+1)+".0":Fr?(t("replaceTilde pr",Fr),ur=">="+Ut+"."+Vn+"."+fr+"-"+Fr+" <"+Ut+"."+(+Vn+1)+".0"):ur=">="+Ut+"."+Vn+"."+fr+" <"+Ut+"."+(+Vn+1)+".0",t("tilde return",ur),ur})}(nr,An)}).join(" ")}(At,en),t("tildes",At),At=function(ln,An){return t("replaceXRanges",ln,An),ln.split(/\s+/).map(function(nr){return function(un,Wt){un=un.trim();var vr=Wt.loose?L[C.XRANGELOOSE]:L[C.XRANGE];return un.replace(vr,function(w,Ut,Vn,fr,Fr,ur){t("xRange",un,w,Ut,Vn,fr,Fr,ur);var br=ft(Vn),Kt=br||ft(fr),vu=Kt||ft(Fr),a0=vu;return Ut==="="&&a0&&(Ut=""),ur=Wt.includePrerelease?"-0":"",br?w=Ut===">"||Ut==="<"?"<0.0.0-0":"*":Ut&&a0?(Kt&&(fr=0),Fr=0,Ut===">"?(Ut=">=",Kt?(Vn=+Vn+1,fr=0,Fr=0):(fr=+fr+1,Fr=0)):Ut==="<="&&(Ut="<",Kt?Vn=+Vn+1:fr=+fr+1),w=Ut+Vn+"."+fr+"."+Fr+ur):Kt?w=">="+Vn+".0.0"+ur+" <"+(+Vn+1)+".0.0"+ur:vu&&(w=">="+Vn+"."+fr+".0"+ur+" <"+Vn+"."+(+fr+1)+".0"+ur),t("xRange return",w),w})}(nr,An)}).join(" ")}(At,en),t("xrange",At),At=function(ln,An){return t("replaceStars",ln,An),ln.trim().replace(L[C.STAR],"")}(At,en),t("stars",At),At}(ct,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(je=je.filter(function(ct){return!!ct.match(ue)})),je=je.map(function(ct){return new rt(ct,this.options)},this)},xt.prototype.intersects=function(Q,ae){if(!(Q instanceof xt))throw new TypeError("a Range is required");return this.set.some(function(Ce){return $e(Ce,ae)&&Q.set.some(function(ue){return $e(ue,ae)&&Ce.every(function(je){return ue.every(function(ct){return je.intersects(ct,ae)})})})})},o.toComparators=function(Q,ae){return new xt(Q,ae).set.map(function(Ce){return Ce.map(function(ue){return ue.value}).join(" ").trim().split(" ")})},xt.prototype.test=function(Q){if(!Q)return!1;if(typeof Q=="string")try{Q=new m(Q,this.options)}catch(Ce){return!1}for(var ae=0;ae":ct.prerelease.length===0?ct.patch++:ct.prerelease.push(0),ct.raw=ct.format();case"":case">=":Ce&&!ge(Ce,ct)||(Ce=ct);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+je.operator)}});return Ce&&Q.test(Ce)?Ce:null},o.validRange=function(Q,ae){try{return new xt(Q,ae).range||"*"}catch(Ce){return null}},o.ltr=function(Q,ae,Ce){return at(Q,ae,"<",Ce)},o.gtr=function(Q,ae,Ce){return at(Q,ae,">",Ce)},o.outside=at,o.prerelease=function(Q,ae){var Ce=ne(Q,ae);return Ce&&Ce.prerelease.length?Ce.prerelease:null},o.intersects=function(Q,ae,Ce){return Q=new xt(Q,Ce),ae=new xt(ae,Ce),Q.intersects(ae)},o.coerce=function(Q,ae){if(Q instanceof m)return Q;if(typeof Q=="number"&&(Q=String(Q)),typeof Q!="string")return null;var Ce=null;if((ae=ae||{}).rtl){for(var ue;(ue=L[C.COERCERTL].exec(Q))&&(!Ce||Ce.index+Ce[0].length!==Q.length);)Ce&&ue.index+ue[0].length===Ce.index+Ce[0].length||(Ce=ue),L[C.COERCERTL].lastIndex=ue.index+ue[1].length+ue[2].length;L[C.COERCERTL].lastIndex=-1}else Ce=Q.match(L[C.COERCE]);return Ce===null?null:ne(Ce[2]+"."+(Ce[3]||"0")+"."+(Ce[4]||"0"),ae)}}).call(this,f(5))},function(i,o){function f(E){return(f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(E)}var p;p=function(){return this}();try{p=p||new Function("return this")()}catch(E){(typeof window=="undefined"?"undefined":f(window))==="object"&&(p=window)}i.exports=p},function(i,o){var f,p,E=i.exports={};function t(){throw new Error("setTimeout has not been defined")}function k(){throw new Error("clearTimeout has not been defined")}function L(Se){if(f===setTimeout)return setTimeout(Se,0);if((f===t||!f)&&setTimeout)return f=setTimeout,setTimeout(Se,0);try{return f(Se,0)}catch(he){try{return f.call(null,Se,0)}catch(ge){return f.call(this,Se,0)}}}(function(){try{f=typeof setTimeout=="function"?setTimeout:t}catch(Se){f=t}try{p=typeof clearTimeout=="function"?clearTimeout:k}catch(Se){p=k}})();var N,C=[],U=!1,q=-1;function W(){U&&N&&(U=!1,N.length?C=N.concat(C):q=-1,C.length&&ne())}function ne(){if(!U){var Se=L(W);U=!0;for(var he=C.length;he;){for(N=C,C=[];++q1)for(var ge=1;gethis[k])return Oe(this,this[m].get($e)),!1;var at=this[m].get($e).value;return this[q]&&(this[W]||this[q]($e,at.value)),at.now=jt,at.maxAge=Ke,at.value=ft,this[L]+=$t-at.length,at.length=$t,this.get($e),pe(this),!0}var Q=new le($e,ft,$t,jt,Ke);return Q.length>this[k]?(this[q]&&this[q]($e,ft),!1):(this[L]+=Q.length,this[ne].unshift(Q),this[m].set($e,this[ne].head),pe(this),!0)}},{key:"has",value:function($e){if(!this[m].has($e))return!1;var ft=this[m].get($e).value;return!ze(this,ft)}},{key:"get",value:function($e){return ge(this,$e,!0)}},{key:"peek",value:function($e){return ge(this,$e,!1)}},{key:"pop",value:function(){var $e=this[ne].tail;return $e?(Oe(this,$e),$e.value):null}},{key:"del",value:function($e){Oe(this,this[m].get($e))}},{key:"load",value:function($e){this.reset();for(var ft=Date.now(),Ke=$e.length-1;Ke>=0;Ke--){var jt=$e[Ke],$t=jt.e||0;if($t===0)this.set(jt.k,jt.v);else{var at=$t-ft;at>0&&this.set(jt.k,jt.v,at)}}}},{key:"prune",value:function(){var $e=this;this[m].forEach(function(ft,Ke){return ge($e,Ke,!1)})}},{key:"max",set:function($e){if(typeof $e!="number"||$e<0)throw new TypeError("max must be a non-negative number");this[k]=$e||1/0,pe(this)},get:function(){return this[k]}},{key:"allowStale",set:function($e){this[C]=!!$e},get:function(){return this[C]}},{key:"maxAge",set:function($e){if(typeof $e!="number")throw new TypeError("maxAge must be a non-negative number");this[U]=$e,pe(this)},get:function(){return this[U]}},{key:"lengthCalculator",set:function($e){var ft=this;typeof $e!="function"&&($e=Se),$e!==this[N]&&(this[N]=$e,this[L]=0,this[ne].forEach(function(Ke){Ke.length=ft[N](Ke.value,Ke.key),ft[L]+=Ke.length})),pe(this)},get:function(){return this[N]}},{key:"length",get:function(){return this[L]}},{key:"itemCount",get:function(){return this[ne].length}}])&&E(rt.prototype,wt),xt&&E(rt,xt),Ge}(),ge=function(Ge,rt,wt){var xt=Ge[m].get(rt);if(xt){var $e=xt.value;if(ze(Ge,$e)){if(Oe(Ge,xt),!Ge[C])return}else wt&&(Ge[we]&&(xt.value.now=Date.now()),Ge[ne].unshiftNode(xt));return $e.value}},ze=function(Ge,rt){if(!rt||!rt.maxAge&&!Ge[U])return!1;var wt=Date.now()-rt.now;return rt.maxAge?wt>rt.maxAge:Ge[U]&&wt>Ge[U]},pe=function(Ge){if(Ge[L]>Ge[k])for(var rt=Ge[ne].tail;Ge[L]>Ge[k]&&rt!==null;){var wt=rt.prev;Oe(Ge,rt),rt=wt}},Oe=function(Ge,rt){if(rt){var wt=rt.value;Ge[q]&&Ge[q](wt.key,wt.value),Ge[L]-=wt.length,Ge[m].delete(wt.key),Ge[ne].removeNode(rt)}},le=function Ge(rt,wt,xt,$e,ft){p(this,Ge),this.key=rt,this.value=wt,this.length=xt,this.now=$e,this.maxAge=ft||0},Ue=function(Ge,rt,wt,xt){var $e=wt.value;ze(Ge,$e)&&(Oe(Ge,wt),Ge[C]||($e=void 0)),$e&&rt.call(xt,$e.value,$e.key,Ge)};i.exports=he},function(i,o,f){(function(p){function E(t){return(E=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k})(t)}i.exports=function(){if(typeof document=="undefined"||!document.addEventListener)return null;var t,k,L,N={};return N.copy=function(){var C=!1,U=null,q=!1;function W(){C=!1,U=null,q&&window.getSelection().removeAllRanges(),q=!1}return document.addEventListener("copy",function(ne){if(C){for(var m in U)ne.clipboardData.setData(m,U[m]);ne.preventDefault()}}),function(ne){return new Promise(function(m,we){C=!0,typeof ne=="string"?U={"text/plain":ne}:ne instanceof Node?U={"text/html":new XMLSerializer().serializeToString(ne)}:ne instanceof Object?U=ne:we("Invalid data type. Must be string, DOM node, or an object mapping MIME types to strings."),function Se(he){try{if(document.execCommand("copy"))W(),m();else{if(he)throw W(),new Error("Unable to copy. Perhaps it's not available in your browser?");(function(){var ge=document.getSelection();if(!document.queryCommandEnabled("copy")&&ge.isCollapsed){var ze=document.createRange();ze.selectNodeContents(document.body),ge.removeAllRanges(),ge.addRange(ze),q=!0}})(),Se(!0)}}catch(ge){W(),we(ge)}}(!1)})}}(),N.paste=(L=!1,document.addEventListener("paste",function(C){if(L){L=!1,C.preventDefault();var U=t;t=null,U(C.clipboardData.getData(k))}}),function(C){return new Promise(function(U,q){L=!0,t=U,k=C||"text/plain";try{document.execCommand("paste")||(L=!1,q(new Error("Unable to paste. Pasting only works in Internet Explorer at the moment.")))}catch(W){L=!1,q(new Error(W))}})}),typeof ClipboardEvent=="undefined"&&window.clipboardData!==void 0&&window.clipboardData.setData!==void 0&&(function(C){function U(pe,Oe){return function(){pe.apply(Oe,arguments)}}function q(pe){if(E(this)!="object")throw new TypeError("Promises must be constructed via new");if(typeof pe!="function")throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],he(pe,U(ne,this),U(m,this))}function W(pe){var Oe=this;return this._state===null?void this._deferreds.push(pe):void ge(function(){var le=Oe._state?pe.onFulfilled:pe.onRejected;if(le!==null){var Ue;try{Ue=le(Oe._value)}catch(Ge){return void pe.reject(Ge)}pe.resolve(Ue)}else(Oe._state?pe.resolve:pe.reject)(Oe._value)})}function ne(pe){try{if(pe===this)throw new TypeError("A promise cannot be resolved with itself.");if(pe&&(E(pe)=="object"||typeof pe=="function")){var Oe=pe.then;if(typeof Oe=="function")return void he(U(Oe,pe),U(ne,this),U(m,this))}this._state=!0,this._value=pe,we.call(this)}catch(le){m.call(this,le)}}function m(pe){this._state=!1,this._value=pe,we.call(this)}function we(){for(var pe=0,Oe=this._deferreds.length;Oe>pe;pe++)W.call(this,this._deferreds[pe]);this._deferreds=null}function Se(pe,Oe,le,Ue){this.onFulfilled=typeof pe=="function"?pe:null,this.onRejected=typeof Oe=="function"?Oe:null,this.resolve=le,this.reject=Ue}function he(pe,Oe,le){var Ue=!1;try{pe(function(Ge){Ue||(Ue=!0,Oe(Ge))},function(Ge){Ue||(Ue=!0,le(Ge))})}catch(Ge){if(Ue)return;Ue=!0,le(Ge)}}var ge=q.immediateFn||typeof p=="function"&&p||function(pe){setTimeout(pe,1)},ze=Array.isArray||function(pe){return Object.prototype.toString.call(pe)==="[object Array]"};q.prototype.catch=function(pe){return this.then(null,pe)},q.prototype.then=function(pe,Oe){var le=this;return new q(function(Ue,Ge){W.call(le,new Se(pe,Oe,Ue,Ge))})},q.all=function(){var pe=Array.prototype.slice.call(arguments.length===1&&ze(arguments[0])?arguments[0]:arguments);return new q(function(Oe,le){function Ue(wt,xt){try{if(xt&&(E(xt)=="object"||typeof xt=="function")){var $e=xt.then;if(typeof $e=="function")return void $e.call(xt,function(ft){Ue(wt,ft)},le)}pe[wt]=xt,--Ge==0&&Oe(pe)}catch(ft){le(ft)}}if(pe.length===0)return Oe([]);for(var Ge=pe.length,rt=0;rtUe;Ue++)pe[Ue].then(Oe,le)})},i.exports?i.exports=q:C.Promise||(C.Promise=q)}(this),N.copy=function(C){return new Promise(function(U,q){if(typeof C!="string"&&!("text/plain"in C))throw new Error("You must provide a text/plain type.");var W=typeof C=="string"?C:C["text/plain"];window.clipboardData.setData("Text",W)?U():q(new Error("Copying was rejected."))})},N.paste=function(){return new Promise(function(C,U){var q=window.clipboardData.getData("Text");q?C(q):U(new Error("Pasting was rejected."))})}),N}()}).call(this,f(13).setImmediate)},function(i,o,f){"use strict";i.exports=f(15)},function(i,o,f){"use strict";f.r(o),o.default=`:root { - /** - * IMPORTANT: When new theme variables are added below\u2013 also add them to SettingsContext updateThemeVariables() - */ - - /* Light theme */ - --light-color-attribute-name: #ef6632; - --light-color-attribute-name-not-editable: #23272f; - --light-color-attribute-name-inverted: rgba(255, 255, 255, 0.7); - --light-color-attribute-value: #1a1aa6; - --light-color-attribute-value-inverted: #ffffff; - --light-color-attribute-editable-value: #1a1aa6; - --light-color-background: #ffffff; - --light-color-background-hover: rgba(0, 136, 250, 0.1); - --light-color-background-inactive: #e5e5e5; - --light-color-background-invalid: #fff0f0; - --light-color-background-selected: #0088fa; - --light-color-button-background: #ffffff; - --light-color-button-background-focus: #ededed; - --light-color-button: #5f6673; - --light-color-button-disabled: #cfd1d5; - --light-color-button-active: #0088fa; - --light-color-button-focus: #23272f; - --light-color-button-hover: #23272f; - --light-color-border: #eeeeee; - --light-color-commit-did-not-render-fill: #cfd1d5; - --light-color-commit-did-not-render-fill-text: #000000; - --light-color-commit-did-not-render-pattern: #cfd1d5; - --light-color-commit-did-not-render-pattern-text: #333333; - --light-color-commit-gradient-0: #37afa9; - --light-color-commit-gradient-1: #63b19e; - --light-color-commit-gradient-2: #80b393; - --light-color-commit-gradient-3: #97b488; - --light-color-commit-gradient-4: #abb67d; - --light-color-commit-gradient-5: #beb771; - --light-color-commit-gradient-6: #cfb965; - --light-color-commit-gradient-7: #dfba57; - --light-color-commit-gradient-8: #efbb49; - --light-color-commit-gradient-9: #febc38; - --light-color-commit-gradient-text: #000000; - --light-color-component-name: #6a51b2; - --light-color-component-name-inverted: #ffffff; - --light-color-component-badge-background: rgba(0, 0, 0, 0.1); - --light-color-component-badge-background-inverted: rgba(255, 255, 255, 0.25); - --light-color-component-badge-count: #777d88; - --light-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7); - --light-color-context-background: rgba(0,0,0,.9); - --light-color-context-background-hover: rgba(255, 255, 255, 0.1); - --light-color-context-background-selected: #178fb9; - --light-color-context-border: #3d424a; - --light-color-context-text: #ffffff; - --light-color-context-text-selected: #ffffff; - --light-color-dim: #777d88; - --light-color-dimmer: #cfd1d5; - --light-color-dimmest: #eff0f1; - --light-color-error-background: hsl(0, 100%, 97%); - --light-color-error-border: hsl(0, 100%, 92%); - --light-color-error-text: #ff0000; - --light-color-expand-collapse-toggle: #777d88; - --light-color-link: #0000ff; - --light-color-modal-background: rgba(255, 255, 255, 0.75); - --light-color-record-active: #fc3a4b; - --light-color-record-hover: #3578e5; - --light-color-record-inactive: #0088fa; - --light-color-scroll-thumb: #c2c2c2; - --light-color-scroll-track: #fafafa; - --light-color-search-match: yellow; - --light-color-search-match-current: #f7923b; - --light-color-selected-tree-highlight-active: rgba(0, 136, 250, 0.1); - --light-color-selected-tree-highlight-inactive: rgba(0, 0, 0, 0.05); - --light-color-shadow: rgba(0, 0, 0, 0.25); - --light-color-tab-selected-border: #0088fa; - --light-color-text: #000000; - --light-color-text-invalid: #ff0000; - --light-color-text-selected: #ffffff; - --light-color-toggle-background-invalid: #fc3a4b; - --light-color-toggle-background-on: #0088fa; - --light-color-toggle-background-off: #cfd1d5; - --light-color-toggle-text: #ffffff; - --light-color-tooltip-background: rgba(0, 0, 0, 0.9); - --light-color-tooltip-text: #ffffff; - - /* Dark theme */ - --dark-color-attribute-name: #9d87d2; - --dark-color-attribute-name-not-editable: #ededed; - --dark-color-attribute-name-inverted: #282828; - --dark-color-attribute-value: #cedae0; - --dark-color-attribute-value-inverted: #ffffff; - --dark-color-attribute-editable-value: yellow; - --dark-color-background: #282c34; - --dark-color-background-hover: rgba(255, 255, 255, 0.1); - --dark-color-background-inactive: #3d424a; - --dark-color-background-invalid: #5c0000; - --dark-color-background-selected: #178fb9; - --dark-color-button-background: #282c34; - --dark-color-button-background-focus: #3d424a; - --dark-color-button: #afb3b9; - --dark-color-button-active: #61dafb; - --dark-color-button-disabled: #4f5766; - --dark-color-button-focus: #a2e9fc; - --dark-color-button-hover: #ededed; - --dark-color-border: #3d424a; - --dark-color-commit-did-not-render-fill: #777d88; - --dark-color-commit-did-not-render-fill-text: #000000; - --dark-color-commit-did-not-render-pattern: #666c77; - --dark-color-commit-did-not-render-pattern-text: #ffffff; - --dark-color-commit-gradient-0: #37afa9; - --dark-color-commit-gradient-1: #63b19e; - --dark-color-commit-gradient-2: #80b393; - --dark-color-commit-gradient-3: #97b488; - --dark-color-commit-gradient-4: #abb67d; - --dark-color-commit-gradient-5: #beb771; - --dark-color-commit-gradient-6: #cfb965; - --dark-color-commit-gradient-7: #dfba57; - --dark-color-commit-gradient-8: #efbb49; - --dark-color-commit-gradient-9: #febc38; - --dark-color-commit-gradient-text: #000000; - --dark-color-component-name: #61dafb; - --dark-color-component-name-inverted: #282828; - --dark-color-component-badge-background: rgba(255, 255, 255, 0.25); - --dark-color-component-badge-background-inverted: rgba(0, 0, 0, 0.25); - --dark-color-component-badge-count: #8f949d; - --dark-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7); - --dark-color-context-background: rgba(255,255,255,.9); - --dark-color-context-background-hover: rgba(0, 136, 250, 0.1); - --dark-color-context-background-selected: #0088fa; - --dark-color-context-border: #eeeeee; - --dark-color-context-text: #000000; - --dark-color-context-text-selected: #ffffff; - --dark-color-dim: #8f949d; - --dark-color-dimmer: #777d88; - --dark-color-dimmest: #4f5766; - --dark-color-error-background: #200; - --dark-color-error-border: #900; - --dark-color-error-text: #f55; - --dark-color-expand-collapse-toggle: #8f949d; - --dark-color-link: #61dafb; - --dark-color-modal-background: rgba(0, 0, 0, 0.75); - --dark-color-record-active: #fc3a4b; - --dark-color-record-hover: #a2e9fc; - --dark-color-record-inactive: #61dafb; - --dark-color-scroll-thumb: #afb3b9; - --dark-color-scroll-track: #313640; - --dark-color-search-match: yellow; - --dark-color-search-match-current: #f7923b; - --dark-color-selected-tree-highlight-active: rgba(23, 143, 185, 0.15); - --dark-color-selected-tree-highlight-inactive: rgba(255, 255, 255, 0.05); - --dark-color-shadow: rgba(0, 0, 0, 0.5); - --dark-color-tab-selected-border: #178fb9; - --dark-color-text: #ffffff; - --dark-color-text-invalid: #ff8080; - --dark-color-text-selected: #ffffff; - --dark-color-toggle-background-invalid: #fc3a4b; - --dark-color-toggle-background-on: #178fb9; - --dark-color-toggle-background-off: #777d88; - --dark-color-toggle-text: #ffffff; - --dark-color-tooltip-background: rgba(255, 255, 255, 0.9); - --dark-color-tooltip-text: #000000; - - /* Font smoothing */ - --light-font-smoothing: auto; - --dark-font-smoothing: antialiased; - --font-smoothing: auto; - - /* Compact density */ - --compact-font-size-monospace-small: 9px; - --compact-font-size-monospace-normal: 11px; - --compact-font-size-monospace-large: 15px; - --compact-font-size-sans-small: 10px; - --compact-font-size-sans-normal: 12px; - --compact-font-size-sans-large: 14px; - --compact-line-height-data: 18px; - --compact-root-font-size: 16px; - - /* Comfortable density */ - --comfortable-font-size-monospace-small: 10px; - --comfortable-font-size-monospace-normal: 13px; - --comfortable-font-size-monospace-large: 17px; - --comfortable-font-size-sans-small: 12px; - --comfortable-font-size-sans-normal: 14px; - --comfortable-font-size-sans-large: 16px; - --comfortable-line-height-data: 22px; - --comfortable-root-font-size: 20px; - - /* GitHub.com system fonts */ - --font-family-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, - Courier, monospace; - --font-family-sans: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, - Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; - - /* Constant values shared between JS and CSS */ - --interaction-commit-size: 10px; - --interaction-label-width: 200px; -} -`},function(i,o,f){"use strict";function p(N){var C=this;if(C instanceof p||(C=new p),C.tail=null,C.head=null,C.length=0,N&&typeof N.forEach=="function")N.forEach(function(W){C.push(W)});else if(arguments.length>0)for(var U=0,q=arguments.length;U1)U=C;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");q=this.head.next,U=this.head.value}for(var W=0;q!==null;W++)U=N(U,q.value,W),q=q.next;return U},p.prototype.reduceReverse=function(N,C){var U,q=this.tail;if(arguments.length>1)U=C;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");q=this.tail.prev,U=this.tail.value}for(var W=this.length-1;q!==null;W--)U=N(U,q.value,W),q=q.prev;return U},p.prototype.toArray=function(){for(var N=new Array(this.length),C=0,U=this.head;U!==null;C++)N[C]=U.value,U=U.next;return N},p.prototype.toArrayReverse=function(){for(var N=new Array(this.length),C=0,U=this.tail;U!==null;C++)N[C]=U.value,U=U.prev;return N},p.prototype.slice=function(N,C){(C=C||this.length)<0&&(C+=this.length),(N=N||0)<0&&(N+=this.length);var U=new p;if(Cthis.length&&(C=this.length);for(var q=0,W=this.head;W!==null&&qthis.length&&(C=this.length);for(var q=this.length,W=this.tail;W!==null&&q>C;q--)W=W.prev;for(;W!==null&&q>N;q--,W=W.prev)U.push(W.value);return U},p.prototype.splice=function(N,C){N>this.length&&(N=this.length-1),N<0&&(N=this.length+N);for(var U=0,q=this.head;q!==null&&U=0&&(L._idleTimeoutId=setTimeout(function(){L._onTimeout&&L._onTimeout()},N))},f(14),o.setImmediate=typeof self!="undefined"&&self.setImmediate||p!==void 0&&p.setImmediate||this&&this.setImmediate,o.clearImmediate=typeof self!="undefined"&&self.clearImmediate||p!==void 0&&p.clearImmediate||this&&this.clearImmediate}).call(this,f(4))},function(i,o,f){(function(p,E){(function(t,k){"use strict";if(!t.setImmediate){var L,N,C,U,q,W=1,ne={},m=!1,we=t.document,Se=Object.getPrototypeOf&&Object.getPrototypeOf(t);Se=Se&&Se.setTimeout?Se:t,{}.toString.call(t.process)==="[object process]"?L=function(ze){E.nextTick(function(){ge(ze)})}:function(){if(t.postMessage&&!t.importScripts){var ze=!0,pe=t.onmessage;return t.onmessage=function(){ze=!1},t.postMessage("","*"),t.onmessage=pe,ze}}()?(U="setImmediate$"+Math.random()+"$",q=function(ze){ze.source===t&&typeof ze.data=="string"&&ze.data.indexOf(U)===0&&ge(+ze.data.slice(U.length))},t.addEventListener?t.addEventListener("message",q,!1):t.attachEvent("onmessage",q),L=function(ze){t.postMessage(U+ze,"*")}):t.MessageChannel?((C=new MessageChannel).port1.onmessage=function(ze){ge(ze.data)},L=function(ze){C.port2.postMessage(ze)}):we&&"onreadystatechange"in we.createElement("script")?(N=we.documentElement,L=function(ze){var pe=we.createElement("script");pe.onreadystatechange=function(){ge(ze),pe.onreadystatechange=null,N.removeChild(pe),pe=null},N.appendChild(pe)}):L=function(ze){setTimeout(ge,0,ze)},Se.setImmediate=function(ze){typeof ze!="function"&&(ze=new Function(""+ze));for(var pe=new Array(arguments.length-1),Oe=0;Oeae;ae++)if((Q=he(at,jt,ae))!==-1){Se=ae,jt=Q;break e}jt=-1}}e:{if(at=$t,(Q=W().get(Ke.primitive))!==void 0){for(ae=0;aejt-at?null:$t.slice(at,jt-1))!==null){if(jt=0,rt!==null){for(;jt<$t.length&&jtjt;rt--)wt=$e.pop()}for(rt=$t.length-jt-1;1<=rt;rt--)jt=[],wt.push({id:null,isStateEditable:!1,name:ze($t[rt-1].functionName),value:void 0,subHooks:jt}),$e.push(wt),wt=jt;rt=$t}jt=($t=Ke.primitive)==="Context"||$t==="DebugValue"?null:xt++,wt.push({id:jt,isStateEditable:$t==="Reducer"||$t==="State",name:$t,value:Ke.value,subHooks:[]})}return function Ce(ue,je){for(var ct=[],At=0;At-1&&(ne=ne.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,""));var m=ne.replace(/^\s+/,"").replace(/\(eval code/g,"("),we=m.match(/ (\((.+):(\d+):(\d+)\)$)/),Se=(m=we?m.replace(we[0],""):m).split(/\s+/).slice(1),he=this.extractLocation(we?we[1]:Se.pop()),ge=Se.join(" ")||void 0,ze=["eval",""].indexOf(he[0])>-1?void 0:he[0];return new N({functionName:ge,fileName:ze,lineNumber:he[1],columnNumber:he[2],source:ne})},this)},parseFFOrSafari:function(W){return W.stack.split(` -`).filter(function(ne){return!ne.match(q)},this).map(function(ne){if(ne.indexOf(" > eval")>-1&&(ne=ne.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),ne.indexOf("@")===-1&&ne.indexOf(":")===-1)return new N({functionName:ne});var m=/((.*".+"[^@]*)?[^@]*)(?:@)/,we=ne.match(m),Se=we&&we[1]?we[1]:void 0,he=this.extractLocation(ne.replace(m,""));return new N({functionName:Se,fileName:he[0],lineNumber:he[1],columnNumber:he[2],source:ne})},this)},parseOpera:function(W){return!W.stacktrace||W.message.indexOf(` -`)>-1&&W.message.split(` -`).length>W.stacktrace.split(` -`).length?this.parseOpera9(W):W.stack?this.parseOpera11(W):this.parseOpera10(W)},parseOpera9:function(W){for(var ne=/Line (\d+).*script (?:in )?(\S+)/i,m=W.message.split(` -`),we=[],Se=2,he=m.length;Se/,"$2").replace(/\([^)]*\)/g,"")||void 0;he.match(/\(([^)]*)\)/)&&(m=he.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var ze=m===void 0||m==="[arguments not available]"?void 0:m.split(",");return new N({functionName:ge,args:ze,fileName:Se[0],lineNumber:Se[1],columnNumber:Se[2],source:ne})},this)}}})=="function"?p.apply(o,E):p)===void 0||(i.exports=t)})()},function(i,o,f){var p,E,t;(function(k,L){"use strict";E=[],(t=typeof(p=function(){function N(ge){return ge.charAt(0).toUpperCase()+ge.substring(1)}function C(ge){return function(){return this[ge]}}var U=["isConstructor","isEval","isNative","isToplevel"],q=["columnNumber","lineNumber"],W=["fileName","functionName","source"],ne=U.concat(q,W,["args"]);function m(ge){if(ge)for(var ze=0;ze1?xe-1:0),ke=1;ke=0&&xe.splice(Z,1)}}}])&&p(z.prototype,G),$&&p(z,$),B}(),t=f(2),k=f.n(t);try{var L=f(9).default,N=function(B){var z=new RegExp("".concat(B,": ([0-9]+)")),G=L.match(z);return parseInt(G[1],10)};N("comfortable-line-height-data"),N("compact-line-height-data")}catch(B){}function C(B){try{return sessionStorage.getItem(B)}catch(z){return null}}function U(B){try{sessionStorage.removeItem(B)}catch(z){}}function q(B,z){try{return sessionStorage.setItem(B,z)}catch(G){}}var W=function(B,z){return B===z},ne=f(1),m=f.n(ne);function we(B){return B.ownerDocument?B.ownerDocument.defaultView:null}function Se(B){var z=we(B);return z?z.frameElement:null}function he(B){var z=pe(B);return ge([B.getBoundingClientRect(),{top:z.borderTop,left:z.borderLeft,bottom:z.borderBottom,right:z.borderRight,width:0,height:0}])}function ge(B){return B.reduce(function(z,G){return z==null?G:{top:z.top+G.top,left:z.left+G.left,width:z.width,height:z.height,bottom:z.bottom+G.bottom,right:z.right+G.right}})}function ze(B,z){var G=Se(B);if(G&&G!==z){for(var $=[B.getBoundingClientRect()],De=G,me=!1;De;){var xe=he(De);if($.push(xe),De=Se(De),me)break;De&&we(De)===z&&(me=!0)}return ge($)}return B.getBoundingClientRect()}function pe(B){var z=window.getComputedStyle(B);return{borderLeft:parseInt(z.borderLeftWidth,10),borderRight:parseInt(z.borderRightWidth,10),borderTop:parseInt(z.borderTopWidth,10),borderBottom:parseInt(z.borderBottomWidth,10),marginLeft:parseInt(z.marginLeft,10),marginRight:parseInt(z.marginRight,10),marginTop:parseInt(z.marginTop,10),marginBottom:parseInt(z.marginBottom,10),paddingLeft:parseInt(z.paddingLeft,10),paddingRight:parseInt(z.paddingRight,10),paddingTop:parseInt(z.paddingTop,10),paddingBottom:parseInt(z.paddingBottom,10)}}function Oe(B,z){var G;if(typeof Symbol=="undefined"||B[Symbol.iterator]==null){if(Array.isArray(B)||(G=function(ke,Xe){if(!!ke){if(typeof ke=="string")return le(ke,Xe);var ht=Object.prototype.toString.call(ke).slice(8,-1);if(ht==="Object"&&ke.constructor&&(ht=ke.constructor.name),ht==="Map"||ht==="Set")return Array.from(ke);if(ht==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ht))return le(ke,Xe)}}(B))||z&&B&&typeof B.length=="number"){G&&(B=G);var $=0,De=function(){};return{s:De,n:function(){return $>=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:De}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var me,xe=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return xe=ke.done,ke},e:function(ke){Z=!0,me=ke},f:function(){try{xe||G.return==null||G.return()}finally{if(Z)throw me}}}}function le(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);Gxe.left+xe.width&&(ie=xe.left+xe.width-ht-5),{style:{top:ke+="px",left:ie+="px"}}}(z,G,{width:$.width,height:$.height});m()(this.tip.style,De.style)}}]),B}(),$e=function(){function B(){Ue(this,B);var z=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.window=z;var G=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.tipBoundsWindow=G;var $=z.document;this.container=$.createElement("div"),this.container.style.zIndex="10000000",this.tip=new xt($,this.container),this.rects=[],$.body.appendChild(this.container)}return rt(B,[{key:"remove",value:function(){this.tip.remove(),this.rects.forEach(function(z){z.remove()}),this.rects.length=0,this.container.parentNode&&this.container.parentNode.removeChild(this.container)}},{key:"inspect",value:function(z,G){for(var $=this,De=z.filter(function(Tt){return Tt.nodeType===Node.ELEMENT_NODE});this.rects.length>De.length;)this.rects.pop().remove();if(De.length!==0){for(;this.rects.length1&&arguments[1]!==void 0?arguments[1]:W,tt=void 0,Tt=[],kt=void 0,bt=!1,on=function(Lt,gn){return qe(Lt,Tt[gn])},tn=function(){for(var Lt=arguments.length,gn=Array(Lt),lr=0;lr5&&arguments[5]!==void 0?arguments[5]:0,Z=Co(B);switch(Z){case"html_element":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B.tagName,type:Z};case"function":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:typeof B.name!="function"&&B.name?B.name:"function",type:Z};case"string":return B.length<=500?B:B.slice(0,500)+"...";case"bigint":case"symbol":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B.toString(),type:Z};case"react_element":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:L0(B)||"Unknown",type:Z};case"array_buffer":case"data_view":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:Z==="data_view"?"DataView":"ArrayBuffer",size:B.byteLength,type:Z};case"array":return me=De($),xe>=2&&!me?a0(Z,!0,B,z,$):B.map(function(ht,ie){return So(ht,z,G,$.concat([ie]),De,me?1:xe+1)});case"html_all_collection":case"typed_array":case"iterator":if(me=De($),xe>=2&&!me)return a0(Z,!0,B,z,$);var ke={unserializable:!0,type:Z,readonly:!0,size:Z==="typed_array"?B.length:void 0,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B.constructor&&B.constructor.name!=="Object"?B.constructor.name:""};return Kt(B[Symbol.iterator])&&Array.from(B).forEach(function(ht,ie){return ke[ie]=So(ht,z,G,$.concat([ie]),De,me?1:xe+1)}),G.push($),ke;case"opaque_iterator":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B[Symbol.toStringTag],type:Z};case"date":case"regexp":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B.toString(),type:Z};case"object":if(me=De($),xe>=2&&!me)return a0(Z,!0,B,z,$);var Xe={};return eu(B).forEach(function(ht){var ie=ht.toString();Xe[ie]=So(B[ht],z,G,$.concat([ie]),De,me?1:xe+1)}),Xe;case"infinity":case"nan":case"undefined":return z.push($),{type:Z};default:return B}}function Go(B){return(Go=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function Os(B){return function(z){if(Array.isArray(z))return Yo(z)}(B)||function(z){if(typeof Symbol!="undefined"&&Symbol.iterator in Object(z))return Array.from(z)}(B)||function(z,G){if(!!z){if(typeof z=="string")return Yo(z,G);var $=Object.prototype.toString.call(z).slice(8,-1);if($==="Object"&&z.constructor&&($=z.constructor.name),$==="Map"||$==="Set")return Array.from(z);if($==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test($))return Yo(z,G)}}(B)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Yo(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);Gz.toString()?1:z.toString()>B.toString()?-1:0}function eu(B){for(var z=[],G=B,$=function(){var De=[].concat(Os(Object.keys(G)),Os(Object.getOwnPropertySymbols(G))),me=Object.getOwnPropertyDescriptors(G);De.forEach(function(xe){me[xe].enumerable&&z.push(xe)}),G=Object.getPrototypeOf(G)};G!=null;)$();return z}function ai(B){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Anonymous",G=Ko.get(B);if(G!=null)return G;var $=z;return typeof B.displayName=="string"?$=B.displayName:typeof B.name=="string"&&B.name!==""&&($=B.name),Ko.set(B,$),$}var mr=0;function Xo(){return++mr}function W0(B){var z=qt.get(B);if(z!==void 0)return z;for(var G=new Array(B.length),$=0;$1&&arguments[1]!==void 0?arguments[1]:50;return B.length>z?B.substr(0,z)+"\u2026":B}function Si(B,z){if(B!=null&&hasOwnProperty.call(B,vu.type))return z?B[vu.preview_long]:B[vu.preview_short];switch(Co(B)){case"html_element":return"<".concat(tu(B.tagName.toLowerCase())," />");case"function":return tu("\u0192 ".concat(typeof B.name=="function"?"":B.name,"() {}"));case"string":return'"'.concat(B,'"');case"bigint":return tu(B.toString()+"n");case"regexp":case"symbol":return tu(B.toString());case"react_element":return"<".concat(tu(L0(B)||"Unknown")," />");case"array_buffer":return"ArrayBuffer(".concat(B.byteLength,")");case"data_view":return"DataView(".concat(B.buffer.byteLength,")");case"array":if(z){for(var G="",$=0;$0&&(G+=", "),!((G+=Si(B[$],!1)).length>50));$++);return"[".concat(tu(G),"]")}var De=hasOwnProperty.call(B,vu.size)?B[vu.size]:B.length;return"Array(".concat(De,")");case"typed_array":var me="".concat(B.constructor.name,"(").concat(B.length,")");if(z){for(var xe="",Z=0;Z0&&(xe+=", "),!((xe+=B[Z]).length>50));Z++);return"".concat(me," [").concat(tu(xe),"]")}return me;case"iterator":var ke=B.constructor.name;if(z){for(var Xe=Array.from(B),ht="",ie=0;ie0&&(ht+=", "),Array.isArray(qe)){var tt=Si(qe[0],!0),Tt=Si(qe[1],!1);ht+="".concat(tt," => ").concat(Tt)}else ht+=Si(qe,!1);if(ht.length>50)break}return"".concat(ke,"(").concat(B.size,") {").concat(tu(ht),"}")}return"".concat(ke,"(").concat(B.size,")");case"opaque_iterator":return B[Symbol.toStringTag];case"date":return B.toString();case"object":if(z){for(var kt=eu(B).sort(_i),bt="",on=0;on0&&(bt+=", "),(bt+="".concat(tn.toString(),": ").concat(Si(B[tn],!1))).length>50)break}return"{".concat(tu(bt),"}")}return"{\u2026}";case"boolean":case"number":case"infinity":case"nan":case"null":case"undefined":return B;default:try{return tu(""+B)}catch(Lt){return"unserializable"}}}var ks=f(7);function Hl(B){return(Hl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function F0(B,z){var G=Object.keys(B);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(B);z&&($=$.filter(function(De){return Object.getOwnPropertyDescriptor(B,De).enumerable})),G.push.apply(G,$)}return G}function f0(B){for(var z=1;z2&&arguments[2]!==void 0?arguments[2]:[];if(B!==null){var $=[],De=[],me=So(B,$,De,G,z);return{data:me,cleaned:$,unserializable:De}}return null}function G0(B){var z,G,$=(z=B,G=new Set,JSON.stringify(z,function(xe,Z){if(Hl(Z)==="object"&&Z!==null){if(G.has(Z))return;G.add(Z)}return typeof Z=="bigint"?Z.toString()+"n":Z})),De=$===void 0?"undefined":$,me=window.__REACT_DEVTOOLS_GLOBAL_HOOK__.clipboardCopyText;typeof me=="function"?me(De).catch(function(xe){}):Object(ks.copy)(De)}function fi(B,z){var G=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,$=z[G],De=Array.isArray(B)?B.slice():f0({},B);return G+1===z.length?Array.isArray(De)?De.splice($,1):delete De[$]:De[$]=fi(B[$],z,G+1),De}function Zt(B,z,G){var $=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,De=z[$],me=Array.isArray(B)?B.slice():f0({},B);if($+1===z.length){var xe=G[$];me[xe]=me[De],Array.isArray(me)?me.splice(De,1):delete me[De]}else me[De]=Zt(B[De],z,G,$+1);return me}function Ln(B,z,G){var $=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if($>=z.length)return G;var De=z[$],me=Array.isArray(B)?B.slice():f0({},B);return me[De]=Ln(B[De],z,G,$+1),me}var Di=f(8);function ci(B,z){var G=Object.keys(B);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(B);z&&($=$.filter(function(De){return Object.getOwnPropertyDescriptor(B,De).enumerable})),G.push.apply(G,$)}return G}function Ht(B){for(var z=1;z=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:De}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var me,xe=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return xe=ke.done,ke},e:function(ke){Z=!0,me=ke},f:function(){try{xe||G.return==null||G.return()}finally{if(Z)throw me}}}}function Wl(B,z){if(B){if(typeof B=="string")return xo(B,z);var G=Object.prototype.toString.call(B).slice(8,-1);return G==="Object"&&B.constructor&&(G=B.constructor.name),G==="Map"||G==="Set"?Array.from(B):G==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(G)?xo(B,z):void 0}}function xo(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);G0){var vt=me(se);if(vt!=null){var Xt,xn=Ui(Mo);try{for(xn.s();!(Xt=xn.n()).done;)if(Xt.value.test(vt))return!0}catch(er){xn.e(er)}finally{xn.f()}}}if(re!=null&&ds.size>0){var _n,yn=re.fileName,En=Ui(ds);try{for(En.s();!(_n=En.n()).done;)if(_n.value.test(yn))return!0}catch(er){En.e(er)}finally{En.f()}}return!1}function yu(se){var re=se.type;switch(se.tag){case Tt:case _r:return 1;case tt:case Cn:return 5;case tn:return 6;case Lt:return 11;case lr:return 7;case gn:case Qn:case on:return 9;case Ar:case Rr:return 8;case nt:return 12;case _t:return 13;default:switch(xe(re)){case 60111:case"Symbol(react.concurrent_mode)":case"Symbol(react.async_mode)":return 9;case 60109:case"Symbol(react.provider)":return 2;case 60110:case"Symbol(react.context)":return 2;case 60108:case"Symbol(react.strict_mode)":return 9;case 60114:case"Symbol(react.profiler)":return 10;default:return 9}}}function pi(se){if(Fo.has(se))return se;var re=se.alternate;return re!=null&&Fo.has(re)?re:(Fo.add(se),se)}window.__REACT_DEVTOOLS_COMPONENT_FILTERS__!=null?ps(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__):ps([{type:1,value:7,isEnabled:!0}]);var T0=new Map,Q0=new Map,Fo=new Set,ta=new Map,Kl=new Map,Ki=-1;function Yr(se){if(!T0.has(se)){var re=Xo();T0.set(se,re),Q0.set(re,se)}return T0.get(se)}function fo(se){switch(yu(se)){case 1:if(I0!==null){var re=Yr(pi(se)),Le=gi(se);Le!==null&&I0.set(re,Le)}}}var Oi={};function gi(se){switch(yu(se)){case 1:var re=se.stateNode,Le=Oi,Ae=Oi;return re!=null&&(re.constructor&&re.constructor.contextType!=null?Ae=re.context:(Le=re.context)&&Object.keys(Le).length===0&&(Le=Oi)),[Le,Ae];default:return null}}function ff(se){switch(yu(se)){case 1:if(I0!==null){var re=Yr(pi(se)),Le=I0.has(re)?I0.get(re):null,Ae=gi(se);if(Le==null||Ae==null)return null;var ot=Y0(Le,2),vt=ot[0],Xt=ot[1],xn=Y0(Ae,2),_n=xn[0],yn=xn[1];if(_n!==Oi)return J0(vt,_n);if(yn!==Oi)return Xt!==yn}}return null}function cf(se,re){if(se==null||re==null)return!1;if(re.hasOwnProperty("baseState")&&re.hasOwnProperty("memoizedState")&&re.hasOwnProperty("next")&&re.hasOwnProperty("queue"))for(;re!==null;){if(re.memoizedState!==se.memoizedState)return!0;re=re.next,se=se.next}return!1}function J0(se,re){if(se==null||re==null||re.hasOwnProperty("baseState")&&re.hasOwnProperty("memoizedState")&&re.hasOwnProperty("next")&&re.hasOwnProperty("queue"))return null;var Le,Ae=[],ot=Ui(new Set([].concat(Yi(Object.keys(se)),Yi(Object.keys(re)))));try{for(ot.s();!(Le=ot.n()).done;){var vt=Le.value;se[vt]!==re[vt]&&Ae.push(vt)}}catch(Xt){ot.e(Xt)}finally{ot.f()}return Ae}function Z0(se,re){switch(re.tag){case Tt:case tt:case kt:case Ar:case Rr:return(oo(re)&ie)===ie;default:return se.memoizedProps!==re.memoizedProps||se.memoizedState!==re.memoizedState||se.ref!==re.ref}}var Te=[],et=[],Ve=[],Gt=[],Yt=new Map,sr=0,Br=null;function wn(se){Te.push(se)}function fu(se){if(Te.length!==0||et.length!==0||Ve.length!==0||Br!==null||Ru){var re=et.length+Ve.length+(Br===null?0:1),Le=new Array(3+sr+(re>0?2+re:0)+Te.length),Ae=0;if(Le[Ae++]=z,Le[Ae++]=Ki,Le[Ae++]=sr,Yt.forEach(function(xn,_n){Le[Ae++]=_n.length;for(var yn=W0(_n),En=0;En0){Le[Ae++]=2,Le[Ae++]=re;for(var ot=et.length-1;ot>=0;ot--)Le[Ae++]=et[ot];for(var vt=0;vt0?se.forEach(function(re){B.emit("operations",re)}):(wr!==null&&(ru=!0),B.getFiberRoots(z).forEach(function(re){Xu(Ki=Yr(pi(re.current)),re.current),Ru&&re.memoizedInteractions!=null&&($o={changeDescriptions:Xl?new Map:null,durations:[],commitTime:Vl()-Yu,interactions:Array.from(re.memoizedInteractions).map(function(Le){return Ht(Ht({},Le),{},{timestamp:Le.timestamp-Yu})}),maxActualDuration:0,priorityLevel:null}),Vr(re.current,null,!1,!1),fu(),Ki=-1}))},getBestMatchForTrackedPath:function(){if(wr===null||$0===null)return null;for(var se=$0;se!==null&&Vu(se);)se=se.return;return se===null?null:{id:Yr(pi(se)),isFullMatch:Xi===wr.length-1}},getDisplayNameForFiberID:function(se){var re=Q0.get(se);return re!=null?me(re):null},getFiberIDForNative:function(se){var re=arguments.length>1&&arguments[1]!==void 0&&arguments[1],Le=G.findFiberByHostInstance(se);if(Le!=null){if(re)for(;Le!==null&&Vu(Le);)Le=Le.return;return Yr(pi(Le))}return null},getInstanceAndStyle:function(se){var re=null,Le=null,Ae=Uu(se);return Ae!==null&&(re=Ae.stateNode,Ae.memoizedProps!==null&&(Le=Ae.memoizedProps.style)),{instance:re,style:Le}},getOwnersList:function(se){var re=Uu(se);if(re==null)return null;var Le=re._debugOwner,Ae=[{displayName:me(re)||"Anonymous",id:se,type:yu(re)}];if(Le)for(var ot=Le;ot!==null;)Ae.unshift({displayName:me(ot)||"Anonymous",id:Yr(pi(ot)),type:yu(ot)}),ot=ot._debugOwner||null;return Ae},getPathForElement:function(se){var re=Q0.get(se);if(re==null)return null;for(var Le=[];re!==null;)Le.push(y0(re)),re=re.return;return Le.reverse(),Le},getProfilingData:function(){var se=[];if(hs===null)throw Error("getProfilingData() called before any profiling data was recorded");return hs.forEach(function(re,Le){var Ae=[],ot=[],vt=new Map,Xt=new Map,xn=El!==null&&El.get(Le)||"Unknown";R0!=null&&R0.forEach(function(_n,yn){co!=null&&co.get(yn)===Le&&ot.push([yn,_n])}),re.forEach(function(_n,yn){var En=_n.changeDescriptions,er=_n.durations,It=_n.interactions,xi=_n.maxActualDuration,Sr=_n.priorityLevel,cr=_n.commitTime,Y=[];It.forEach(function(hi){vt.has(hi.id)||vt.set(hi.id,hi),Y.push(hi.id);var Qi=Xt.get(hi.id);Qi!=null?Qi.push(yn):Xt.set(hi.id,[yn])});for(var Qr=[],Jr=[],Ur=0;Ur1?Wn.set(En,er-1):Wn.delete(En),Xr.delete(_n)}(Ki),Kr(Le,!1))}else Xu(Ki,Le),Vr(Le,null,!1,!1);if(Ru&&ot){var xn=hs.get(Ki);xn!=null?xn.push($o):hs.set(Ki,[$o])}fu(),No&&B.emit("traceUpdates",Lo),Ki=-1},handleCommitFiberUnmount:function(se){Kr(se,!1)},inspectElement:function(se,re){if(Li(se)){if(re!=null){A0(re);var Le=null;return re[0]==="hooks"&&(Le="hooks"),{id:se,type:"hydrated-path",path:re,value:Ei(Lu(zi,re),Fi(null,Le),re)}}return{id:se,type:"no-change"}}if(Is=!1,zi!==null&&zi.id===se||(x0={}),(zi=na(se))===null)return{id:se,type:"not-found"};re!=null&&A0(re),function(ot){var vt=ot.hooks,Xt=ot.id,xn=ot.props,_n=Q0.get(Xt);if(_n!=null){var yn=_n.elementType,En=_n.stateNode,er=_n.tag,It=_n.type;switch(er){case Tt:case _r:case Cn:$.$r=En;break;case tt:$.$r={hooks:vt,props:xn,type:It};break;case tn:$.$r={props:xn,type:It.render};break;case Ar:case Rr:$.$r={props:xn,type:yn!=null&&yn.type!=null?yn.type:It};break;default:$.$r=null}}else console.warn('Could not find Fiber with id "'.concat(Xt,'"'))}(zi);var Ae=Ht({},zi);return Ae.context=Ei(Ae.context,Fi("context",null)),Ae.hooks=Ei(Ae.hooks,Fi("hooks","hooks")),Ae.props=Ei(Ae.props,Fi("props",null)),Ae.state=Ei(Ae.state,Fi("state",null)),{id:se,type:"full-data",value:Ae}},logElementToConsole:function(se){var re=Li(se)?zi:na(se);if(re!==null){var Le=typeof console.groupCollapsed=="function";Le&&console.groupCollapsed("[Click to expand] %c<".concat(re.displayName||"Component"," />"),"color: var(--dom-tag-name-color); font-weight: normal;"),re.props!==null&&console.log("Props:",re.props),re.state!==null&&console.log("State:",re.state),re.hooks!==null&&console.log("Hooks:",re.hooks);var Ae=_l(se);Ae!==null&&console.log("Nodes:",Ae),re.source!==null&&console.log("Location:",re.source),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),Le&&console.groupEnd()}else console.warn('Could not find Fiber with id "'.concat(se,'"'))},prepareViewAttributeSource:function(se,re){Li(se)&&(window.$attribute=Lu(zi,re))},prepareViewElementSource:function(se){var re=Q0.get(se);if(re!=null){var Le=re.elementType,Ae=re.tag,ot=re.type;switch(Ae){case Tt:case _r:case Cn:case tt:$.$type=ot;break;case tn:$.$type=ot.render;break;case Ar:case Rr:$.$type=Le!=null&&Le.type!=null?Le.type:ot;break;default:$.$type=null}}else console.warn('Could not find Fiber with id "'.concat(se,'"'))},overrideSuspense:function(se,re){if(typeof ko!="function"||typeof Zo!="function")throw new Error("Expected overrideSuspense() to not get called for earlier React versions.");re?(Ku.add(se),Ku.size===1&&ko(vs)):(Ku.delete(se),Ku.size===0&&ko(df));var Le=Q0.get(se);Le!=null&&Zo(Le)},overrideValueAtPath:function(se,re,Le,Ae,ot){var vt=Uu(re);if(vt!==null){var Xt=vt.stateNode;switch(se){case"context":switch(Ae=Ae.slice(1),vt.tag){case Tt:Ae.length===0?Xt.context=ot:To(Xt.context,Ae,ot),Xt.forceUpdate()}break;case"hooks":typeof nu=="function"&&nu(vt,Le,Ae,ot);break;case"props":switch(vt.tag){case Tt:vt.pendingProps=Ln(Xt.props,Ae,ot),Xt.forceUpdate();break;default:typeof X0=="function"&&X0(vt,Ae,ot)}break;case"state":switch(vt.tag){case Tt:To(Xt.state,Ae,ot),Xt.forceUpdate()}}}},renamePath:function(se,re,Le,Ae,ot){var vt=Uu(re);if(vt!==null){var Xt=vt.stateNode;switch(se){case"context":switch(Ae=Ae.slice(1),ot=ot.slice(1),vt.tag){case Tt:Ae.length===0||Hr(Xt.context,Ae,ot),Xt.forceUpdate()}break;case"hooks":typeof S0=="function"&&S0(vt,Le,Ae,ot);break;case"props":Xt===null?typeof di=="function"&&di(vt,Ae,ot):(vt.pendingProps=Zt(Xt.props,Ae,ot),Xt.forceUpdate());break;case"state":Hr(Xt.state,Ae,ot),Xt.forceUpdate()}}},renderer:G,setTraceUpdatesEnabled:function(se){No=se},setTrackedPath:Ci,startProfiling:ra,stopProfiling:function(){Ru=!1,Xl=!1},storeAsGlobal:function(se,re,Le){if(Li(se)){var Ae=Lu(zi,re),ot="$reactTemp".concat(Le);window[ot]=Ae,console.log(ot),console.log(Ae)}},updateComponentFilters:function(se){if(Ru)throw Error("Cannot modify filter preferences while profiling");B.getFiberRoots(z).forEach(function(re){Ki=Yr(pi(re.current)),Bu(re.current),Kr(re.current,!1),Ki=-1}),ps(se),Wn.clear(),B.getFiberRoots(z).forEach(function(re){Xu(Ki=Yr(pi(re.current)),re.current),Vr(re.current,null,!1,!1),fu(re),Ki=-1})}}}var Xn;function Qo(B){return(Qo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function lo(B,z,G){if(Xn===void 0)try{throw Error()}catch(De){var $=De.stack.trim().match(/\n( *(at )?)/);Xn=$&&$[1]||""}return` -`+Xn+B}var b0=!1;function yl(B,z,G){if(!B||b0)return"";var $,De=Error.prepareStackTrace;Error.prepareStackTrace=void 0,b0=!0;var me=G.current;G.current=null;try{if(z){var xe=function(){throw Error()};if(Object.defineProperty(xe.prototype,"props",{set:function(){throw Error()}}),(typeof Reflect=="undefined"?"undefined":Qo(Reflect))==="object"&&Reflect.construct){try{Reflect.construct(xe,[])}catch(qe){$=qe}Reflect.construct(B,[],xe)}else{try{xe.call()}catch(qe){$=qe}B.call(xe.prototype)}}else{try{throw Error()}catch(qe){$=qe}B()}}catch(qe){if(qe&&$&&typeof qe.stack=="string"){for(var Z=qe.stack.split(` -`),ke=$.stack.split(` -`),Xe=Z.length-1,ht=ke.length-1;Xe>=1&&ht>=0&&Z[Xe]!==ke[ht];)ht--;for(;Xe>=1&&ht>=0;Xe--,ht--)if(Z[Xe]!==ke[ht]){if(Xe!==1||ht!==1)do if(Xe--,--ht<0||Z[Xe]!==ke[ht])return` -`+Z[Xe].replace(" at new "," at ");while(Xe>=1&&ht>=0);break}}}finally{b0=!1,Error.prepareStackTrace=De,G.current=me}var ie=B?B.displayName||B.name:"";return ie?lo(ie):""}function Ro(B,z,G,$){return yl(B,!1,$)}function Et(B,z,G){var $=B.HostComponent,De=B.LazyComponent,me=B.SuspenseComponent,xe=B.SuspenseListComponent,Z=B.FunctionComponent,ke=B.IndeterminateComponent,Xe=B.SimpleMemoComponent,ht=B.ForwardRef,ie=B.Block,qe=B.ClassComponent;switch(z.tag){case $:return lo(z.type);case De:return lo("Lazy");case me:return lo("Suspense");case xe:return lo("SuspenseList");case Z:case ke:case Xe:return Ro(z.type,0,0,G);case ht:return Ro(z.type.render,0,0,G);case ie:return Ro(z.type._render,0,0,G);case qe:return function(tt,Tt,kt,bt){return yl(tt,!0,bt)}(z.type,0,0,G);default:return""}}function Pt(B,z,G){try{var $="",De=z;do $+=Et(B,De,G),De=De.return;while(De);return $}catch(me){return` -Error generating stack: `+me.message+` -`+me.stack}}function Bn(B,z){var G;if(typeof Symbol=="undefined"||B[Symbol.iterator]==null){if(Array.isArray(B)||(G=function(ke,Xe){if(!!ke){if(typeof ke=="string")return Ir(ke,Xe);var ht=Object.prototype.toString.call(ke).slice(8,-1);if(ht==="Object"&&ke.constructor&&(ht=ke.constructor.name),ht==="Map"||ht==="Set")return Array.from(ke);if(ht==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ht))return Ir(ke,Xe)}}(B))||z&&B&&typeof B.length=="number"){G&&(B=G);var $=0,De=function(){};return{s:De,n:function(){return $>=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:De}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var me,xe=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return xe=ke.done,ke},e:function(ke){Z=!0,me=ke},f:function(){try{xe||G.return==null||G.return()}finally{if(Z)throw me}}}}function Ir(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);G0?Xe[Xe.length-1]:null,qe=ie!==null&&(Wr.test(ie)||wu.test(ie));if(!qe){var tt,Tt=Bn(c0.values());try{for(Tt.s();!(tt=Tt.n()).done;){var kt=tt.value,bt=kt.currentDispatcherRef,on=kt.getCurrentFiber,tn=kt.workTagMap,Lt=on();if(Lt!=null){var gn=Pt(tn,Lt,bt);gn!==""&&Xe.push(gn);break}}}catch(lr){Tt.e(lr)}finally{Tt.f()}}}catch(lr){}me.apply(void 0,Xe)};xe.__REACT_DEVTOOLS_ORIGINAL_METHOD__=me,Ti[De]=xe}catch(Z){}})}}function Fu(B){return(Fu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function fs(B,z){for(var G=0;GB.length)&&(z=B.length);for(var G=0,$=new Array(z);G1?Z-1:0),Xe=1;Xe0?ie[ie.length-1]:0),ie.push(nn),Z.set(Ze,Xe(Ft._topLevelWrapper));try{var sn=nt.apply(this,_t);return ie.pop(),sn}catch(yr){throw ie=[],yr}finally{if(ie.length===0){var Yn=Z.get(Ze);if(Yn===void 0)throw new Error("Expected to find root ID.");lr(Yn)}}},performUpdateIfNecessary:function(nt,_t){var Ze=_t[0];if(w0(Ze)===9)return nt.apply(this,_t);var Ft=Xe(Ze);ie.push(Ft);var nn=Gn(Ze);try{var sn=nt.apply(this,_t),Yn=Gn(Ze);return ht(nn,Yn)||Tt(Ze,Ft,Yn),ie.pop(),sn}catch(nu){throw ie=[],nu}finally{if(ie.length===0){var yr=Z.get(Ze);if(yr===void 0)throw new Error("Expected to find root ID.");lr(yr)}}},receiveComponent:function(nt,_t){var Ze=_t[0];if(w0(Ze)===9)return nt.apply(this,_t);var Ft=Xe(Ze);ie.push(Ft);var nn=Gn(Ze);try{var sn=nt.apply(this,_t),Yn=Gn(Ze);return ht(nn,Yn)||Tt(Ze,Ft,Yn),ie.pop(),sn}catch(nu){throw ie=[],nu}finally{if(ie.length===0){var yr=Z.get(Ze);if(yr===void 0)throw new Error("Expected to find root ID.");lr(yr)}}},unmountComponent:function(nt,_t){var Ze=_t[0];if(w0(Ze)===9)return nt.apply(this,_t);var Ft=Xe(Ze);ie.push(Ft);try{var nn=nt.apply(this,_t);return ie.pop(),function(Yn,yr){tn.push(yr),me.delete(yr)}(0,Ft),nn}catch(Yn){throw ie=[],Yn}finally{if(ie.length===0){var sn=Z.get(Ze);if(sn===void 0)throw new Error("Expected to find root ID.");lr(sn)}}}}));var bt=[],on=new Map,tn=[],Lt=0,gn=null;function lr(nt){if(bt.length!==0||tn.length!==0||gn!==null){var _t=tn.length+(gn===null?0:1),Ze=new Array(3+Lt+(_t>0?2+_t:0)+bt.length),Ft=0;if(Ze[Ft++]=z,Ze[Ft++]=nt,Ze[Ft++]=Lt,on.forEach(function(Yn,yr){Ze[Ft++]=yr.length;for(var nu=W0(yr),Cu=0;Cu0){Ze[Ft++]=2,Ze[Ft++]=_t;for(var nn=0;nn"),"color: var(--dom-tag-name-color); font-weight: normal;"),_t.props!==null&&console.log("Props:",_t.props),_t.state!==null&&console.log("State:",_t.state),_t.context!==null&&console.log("Context:",_t.context);var Ft=De(nt);Ft!==null&&console.log("Node:",Ft),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),Ze&&console.groupEnd()}else console.warn('Could not find element with id "'.concat(nt,'"'))},overrideSuspense:function(){throw new Error("overrideSuspense not supported by this renderer")},overrideValueAtPath:function(nt,_t,Ze,Ft,nn){var sn=me.get(_t);if(sn!=null){var Yn=sn._instance;if(Yn!=null)switch(nt){case"context":To(Yn.context,Ft,nn),p0(Yn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var yr=sn._currentElement;sn._currentElement=K0(K0({},yr),{},{props:Ln(yr.props,Ft,nn)}),p0(Yn);break;case"state":To(Yn.state,Ft,nn),p0(Yn)}}},renamePath:function(nt,_t,Ze,Ft,nn){var sn=me.get(_t);if(sn!=null){var Yn=sn._instance;if(Yn!=null)switch(nt){case"context":Hr(Yn.context,Ft,nn),p0(Yn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var yr=sn._currentElement;sn._currentElement=K0(K0({},yr),{},{props:Zt(yr.props,Ft,nn)}),p0(Yn);break;case"state":Hr(Yn.state,Ft,nn),p0(Yn)}}},prepareViewAttributeSource:function(nt,_t){var Ze=Rr(nt);Ze!==null&&(window.$attribute=Lu(Ze,_t))},prepareViewElementSource:function(nt){var _t=me.get(nt);if(_t!=null){var Ze=_t._currentElement;Ze!=null?$.$type=Ze.type:console.warn('Could not find element with id "'.concat(nt,'"'))}else console.warn('Could not find instance with id "'.concat(nt,'"'))},renderer:G,setTraceUpdatesEnabled:function(nt){},setTrackedPath:function(nt){},startProfiling:function(){},stopProfiling:function(){},storeAsGlobal:function(nt,_t,Ze){var Ft=Rr(nt);if(Ft!==null){var nn=Lu(Ft,_t),sn="$reactTemp".concat(Ze);window[sn]=nn,console.log(sn),console.log(nn)}},updateComponentFilters:function(nt){}}}function ri(B,z){var G=!1,$={bottom:0,left:0,right:0,top:0},De=z[B];if(De!=null){for(var me=0,xe=Object.keys($);me0?"development":"production";var bt=Function.prototype.toString;if(kt.Mount&&kt.Mount._renderNewRootComponent){var on=bt.call(kt.Mount._renderNewRootComponent);return on.indexOf("function")!==0?"production":on.indexOf("storedMeasure")!==-1?"development":on.indexOf("should be a pure function")!==-1?on.indexOf("NODE_ENV")!==-1||on.indexOf("development")!==-1||on.indexOf("true")!==-1?"development":on.indexOf("nextElement")!==-1||on.indexOf("nextComponent")!==-1?"unminified":"development":on.indexOf("nextElement")!==-1||on.indexOf("nextComponent")!==-1?"unminified":"outdated"}}catch(tn){}return"production"}(ke);try{var ie=window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__!==!1,qe=window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__===!0;(ie||qe)&&(so(ke),Gl({appendComponentStack:ie,breakOnConsoleErrors:qe}))}catch(kt){}var tt=B.__REACT_DEVTOOLS_ATTACH__;if(typeof tt=="function"){var Tt=tt(Z,Xe,ke,B);Z.rendererInterfaces.set(Xe,Tt)}return Z.emit("renderer",{id:Xe,renderer:ke,reactBuildType:ht}),Xe},on:function(ke,Xe){me[ke]||(me[ke]=[]),me[ke].push(Xe)},off:function(ke,Xe){if(me[ke]){var ht=me[ke].indexOf(Xe);ht!==-1&&me[ke].splice(ht,1),me[ke].length||delete me[ke]}},sub:function(ke,Xe){return Z.on(ke,Xe),function(){return Z.off(ke,Xe)}},supportsFiber:!0,checkDCE:function(ke){try{Function.prototype.toString.call(ke).indexOf("^_^")>-1&&(G=!0,setTimeout(function(){throw new Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")}))}catch(Xe){}},onCommitFiberUnmount:function(ke,Xe){var ht=De.get(ke);ht!=null&&ht.handleCommitFiberUnmount(Xe)},onCommitFiberRoot:function(ke,Xe,ht){var ie=Z.getFiberRoots(ke),qe=Xe.current,tt=ie.has(Xe),Tt=qe.memoizedState==null||qe.memoizedState.element==null;tt||Tt?tt&&Tt&&ie.delete(Xe):ie.add(Xe);var kt=De.get(ke);kt!=null&&kt.handleCommitFiberRoot(Xe,ht)}};Object.defineProperty(B,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!1,enumerable:!1,get:function(){return Z}})})(window);var h0=window.__REACT_DEVTOOLS_GLOBAL_HOOK__,Fs=[{type:1,value:7,isEnabled:!0}];function Ni(B){if(h0!=null){var z=B||{},G=z.host,$=G===void 0?"localhost":G,De=z.nativeStyleEditorValidAttributes,me=z.useHttps,xe=me!==void 0&&me,Z=z.port,ke=Z===void 0?8097:Z,Xe=z.websocket,ht=z.resolveRNStyle,ie=ht===void 0?null:ht,qe=z.isAppActive,tt=xe?"wss":"ws",Tt=null;if((qe===void 0?function(){return!0}:qe)()){var kt=null,bt=[],on=tt+"://"+$+":"+ke,tn=Xe||new window.WebSocket(on);tn.onclose=function(){kt!==null&&kt.emit("shutdown"),Lt()},tn.onerror=function(){Lt()},tn.onmessage=function(gn){var lr;try{if(typeof gn.data!="string")throw Error();lr=JSON.parse(gn.data)}catch(Qn){return void console.error("[React DevTools] Failed to parse JSON: "+gn.data)}bt.forEach(function(Qn){try{Qn(lr)}catch(_r){throw console.log("[React DevTools] Error calling listener",lr),console.log("error:",_r),_r}})},tn.onopen=function(){(kt=new ao({listen:function(Cn){return bt.push(Cn),function(){var Ar=bt.indexOf(Cn);Ar>=0&&bt.splice(Ar,1)}},send:function(Cn,Ar,v0){tn.readyState===tn.OPEN?tn.send(JSON.stringify({event:Cn,payload:Ar})):(kt!==null&&kt.shutdown(),Lt())}})).addListener("inspectElement",function(Cn){var Ar=Cn.id,v0=Cn.rendererID,Rr=gn.rendererInterfaces[v0];if(Rr!=null){var nt=Rr.findNativeNodesForFiberID(Ar);nt!=null&&nt[0]!=null&&gn.emit("showNativeHighlight",nt[0])}}),kt.addListener("updateComponentFilters",function(Cn){Fs=Cn}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null&&kt.send("overrideComponentFilters",Fs);var gn=new Hn(kt);if(gn.addListener("shutdown",function(){h0.emit("shutdown")}),function(Cn,Ar,v0){if(Cn==null)return function(){};var Rr=[Cn.sub("renderer-attached",function(Ze){var Ft=Ze.id,nn=(Ze.renderer,Ze.rendererInterface);Ar.setRendererInterface(Ft,nn),nn.flushInitialOperations()}),Cn.sub("unsupported-renderer-version",function(Ze){Ar.onUnsupportedRenderer(Ze)}),Cn.sub("operations",Ar.onHookOperations),Cn.sub("traceUpdates",Ar.onTraceUpdates)],nt=function(Ze,Ft){var nn=Cn.rendererInterfaces.get(Ze);nn==null&&(typeof Ft.findFiberByHostInstance=="function"?nn=Ms(Cn,Ze,Ft,v0):Ft.ComponentTree&&(nn=ic(Cn,Ze,Ft,v0)),nn!=null&&Cn.rendererInterfaces.set(Ze,nn)),nn!=null?Cn.emit("renderer-attached",{id:Ze,renderer:Ft,rendererInterface:nn}):Cn.emit("unsupported-renderer-version",Ze)};Cn.renderers.forEach(function(Ze,Ft){nt(Ft,Ze)}),Rr.push(Cn.sub("renderer",function(Ze){var Ft=Ze.id,nn=Ze.renderer;nt(Ft,nn)})),Cn.emit("react-devtools",Ar),Cn.reactDevtoolsAgent=Ar;var _t=function(){Rr.forEach(function(Ze){return Ze()}),Cn.rendererInterfaces.forEach(function(Ze){Ze.cleanup()}),Cn.reactDevtoolsAgent=null};Ar.addListener("shutdown",_t),Rr.push(function(){Ar.removeListener("shutdown",_t)})}(h0,gn,window),ie!=null||h0.resolveRNStyle!=null)ea(kt,gn,ie||h0.resolveRNStyle,De||h0.nativeStyleEditorValidAttributes||null);else{var lr,Qn,_r=function(){kt!==null&&ea(kt,gn,lr,Qn)};h0.hasOwnProperty("resolveRNStyle")||Object.defineProperty(h0,"resolveRNStyle",{enumerable:!1,get:function(){return lr},set:function(Cn){lr=Cn,_r()}}),h0.hasOwnProperty("nativeStyleEditorValidAttributes")||Object.defineProperty(h0,"nativeStyleEditorValidAttributes",{enumerable:!1,get:function(){return Qn},set:function(Cn){Qn=Cn,_r()}})}}}else Lt()}function Lt(){Tt===null&&(Tt=setTimeout(function(){return Ni(B)},2e3))}}}])})});var mR=ce(vR=>{"use strict";Object.defineProperty(vR,"__esModule",{value:!0});pR();var $Q=hR();$Q.connectToDevTools()});var DR=ce(kg=>{"use strict";var yR=kg&&kg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(kg,"__esModule",{value:!0});var gR=h4(),eJ=yR(D9()),_R=yR(eh()),ss=Lw();process.env.DEV==="true"&&mR();var ER=i=>{i==null||i.unsetMeasureFunc(),i==null||i.freeRecursive()};kg.default=eJ.default({schedulePassiveEffects:gR.unstable_scheduleCallback,cancelPassiveEffects:gR.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:i=>{if(i.isStaticDirty){i.isStaticDirty=!1,typeof i.onImmediateRender=="function"&&i.onImmediateRender();return}typeof i.onRender=="function"&&i.onRender()},getChildHostContext:(i,o)=>{let f=i.isInsideText,p=o==="ink-text"||o==="ink-virtual-text";return f===p?i:{isInsideText:p}},shouldSetTextContent:()=>!1,createInstance:(i,o,f,p)=>{if(p.isInsideText&&i==="ink-box")throw new Error(" can\u2019t be nested inside component");let E=i==="ink-text"&&p.isInsideText?"ink-virtual-text":i,t=ss.createNode(E);for(let[k,L]of Object.entries(o))k!=="children"&&(k==="style"?ss.setStyle(t,L):k==="internal_transform"?t.internal_transform=L:k==="internal_static"?t.internal_static=!0:ss.setAttribute(t,k,L));return t},createTextInstance:(i,o,f)=>{if(!f.isInsideText)throw new Error(`Text string "${i}" must be rendered inside component`);return ss.createTextNode(i)},resetTextContent:()=>{},hideTextInstance:i=>{ss.setTextNodeValue(i,"")},unhideTextInstance:(i,o)=>{ss.setTextNodeValue(i,o)},getPublicInstance:i=>i,hideInstance:i=>{var o;(o=i.yogaNode)===null||o===void 0||o.setDisplay(_R.default.DISPLAY_NONE)},unhideInstance:i=>{var o;(o=i.yogaNode)===null||o===void 0||o.setDisplay(_R.default.DISPLAY_FLEX)},appendInitialChild:ss.appendChildNode,appendChild:ss.appendChildNode,insertBefore:ss.insertBeforeNode,finalizeInitialChildren:(i,o,f,p)=>(i.internal_static&&(p.isStaticDirty=!0,p.staticNode=i),!1),supportsMutation:!0,appendChildToContainer:ss.appendChildNode,insertInContainerBefore:ss.insertBeforeNode,removeChildFromContainer:(i,o)=>{ss.removeChildNode(i,o),ER(o.yogaNode)},prepareUpdate:(i,o,f,p,E)=>{i.internal_static&&(E.isStaticDirty=!0);let t={},k=Object.keys(p);for(let L of k)if(p[L]!==f[L]){if(L==="style"&&typeof p.style=="object"&&typeof f.style=="object"){let C=p.style,U=f.style,q=Object.keys(C);for(let W of q){if(W==="borderStyle"||W==="borderColor"){if(typeof t.style!="object"){let ne={};t.style=ne}t.style.borderStyle=C.borderStyle,t.style.borderColor=C.borderColor}if(C[W]!==U[W]){if(typeof t.style!="object"){let ne={};t.style=ne}t.style[W]=C[W]}}continue}t[L]=p[L]}return t},commitUpdate:(i,o)=>{for(let[f,p]of Object.entries(o))f!=="children"&&(f==="style"?ss.setStyle(i,p):f==="internal_transform"?i.internal_transform=p:f==="internal_static"?i.internal_static=!0:ss.setAttribute(i,f,p))},commitTextUpdate:(i,o,f)=>{ss.setTextNodeValue(i,f)},removeChild:(i,o)=>{ss.removeChildNode(i,o),ER(o.yogaNode)}})});var SR=ce((Are,wR)=>{"use strict";wR.exports=(i,o=1,f)=>{if(f=E0({indent:" ",includeEmptyLines:!1},f),typeof i!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof i}\``);if(typeof o!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof o}\``);if(typeof f.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof f.indent}\``);if(o===0)return i;let p=f.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return i.replace(p,f.indent.repeat(o))}});var TR=ce(Mg=>{"use strict";var tJ=Mg&&Mg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Mg,"__esModule",{value:!0});var k4=tJ(eh());Mg.default=i=>i.getComputedWidth()-i.getComputedPadding(k4.default.EDGE_LEFT)-i.getComputedPadding(k4.default.EDGE_RIGHT)-i.getComputedBorder(k4.default.EDGE_LEFT)-i.getComputedBorder(k4.default.EDGE_RIGHT)});var xR=ce((Ore,CR)=>{CR.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var RR=ce((kre,Zw)=>{"use strict";var AR=xR();Zw.exports=AR;Zw.exports.default=AR});var kR=ce((Mre,OR)=>{"use strict";OR.exports=(i,o=process.argv)=>{let f=i.startsWith("-")?"":i.length===1?"-":"--",p=o.indexOf(f+i),E=o.indexOf("--");return p!==-1&&(E===-1||p{"use strict";var nJ=require("os"),NR=require("tty"),of=kR(),{env:Wo}=process,md;of("no-color")||of("no-colors")||of("color=false")||of("color=never")?md=0:(of("color")||of("colors")||of("color=true")||of("color=always"))&&(md=1);"FORCE_COLOR"in Wo&&(Wo.FORCE_COLOR==="true"?md=1:Wo.FORCE_COLOR==="false"?md=0:md=Wo.FORCE_COLOR.length===0?1:Math.min(parseInt(Wo.FORCE_COLOR,10),3));function $w(i){return i===0?!1:{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3}}function e3(i,o){if(md===0)return 0;if(of("color=16m")||of("color=full")||of("color=truecolor"))return 3;if(of("color=256"))return 2;if(i&&!o&&md===void 0)return 0;let f=md||0;if(Wo.TERM==="dumb")return f;if(process.platform==="win32"){let p=nJ.release().split(".");return Number(p[0])>=10&&Number(p[2])>=10586?Number(p[2])>=14931?3:2:1}if("CI"in Wo)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(p=>p in Wo)||Wo.CI_NAME==="codeship"?1:f;if("TEAMCITY_VERSION"in Wo)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Wo.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in Wo)return 1;if(Wo.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Wo){let p=parseInt((Wo.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Wo.TERM_PROGRAM){case"iTerm.app":return p>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Wo.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Wo.TERM)||"COLORTERM"in Wo?1:f}function rJ(i){let o=e3(i,i&&i.isTTY);return $w(o)}MR.exports={supportsColor:rJ,stdout:$w(e3(!0,NR.isatty(1))),stderr:$w(e3(!0,NR.isatty(2)))}});var bR=ce((Lre,FR)=>{"use strict";var iJ=(i,o,f)=>{let p=i.indexOf(o);if(p===-1)return i;let E=o.length,t=0,k="";do k+=i.substr(t,p-t)+o+f,t=p+E,p=i.indexOf(o,t);while(p!==-1);return k+=i.substr(t),k},uJ=(i,o,f,p)=>{let E=0,t="";do{let k=i[p-1]==="\r";t+=i.substr(E,(k?p-1:p)-E)+o+(k?`\r -`:` -`)+f,E=p+1,p=i.indexOf(` -`,E)}while(p!==-1);return t+=i.substr(E),t};FR.exports={stringReplaceAll:iJ,stringEncaseCRLFWithFirstIndex:uJ}});var jR=ce((Fre,PR)=>{"use strict";var oJ=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,IR=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,lJ=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,sJ=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,aJ=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function BR(i){let o=i[0]==="u",f=i[1]==="{";return o&&!f&&i.length===5||i[0]==="x"&&i.length===3?String.fromCharCode(parseInt(i.slice(1),16)):o&&f?String.fromCodePoint(parseInt(i.slice(2,-1),16)):aJ.get(i)||i}function fJ(i,o){let f=[],p=o.trim().split(/\s*,\s*/g),E;for(let t of p){let k=Number(t);if(!Number.isNaN(k))f.push(k);else if(E=t.match(lJ))f.push(E[2].replace(sJ,(L,N,C)=>N?BR(N):C));else throw new Error(`Invalid Chalk template style argument: ${t} (in style '${i}')`)}return f}function cJ(i){IR.lastIndex=0;let o=[],f;for(;(f=IR.exec(i))!==null;){let p=f[1];if(f[2]){let E=fJ(p,f[2]);o.push([p].concat(E))}else o.push([p])}return o}function UR(i,o){let f={};for(let E of o)for(let t of E.styles)f[t[0]]=E.inverse?null:t.slice(1);let p=i;for(let[E,t]of Object.entries(f))if(!!Array.isArray(t)){if(!(E in p))throw new Error(`Unknown Chalk style: ${E}`);p=t.length>0?p[E](...t):p[E]}return p}PR.exports=(i,o)=>{let f=[],p=[],E=[];if(o.replace(oJ,(t,k,L,N,C,U)=>{if(k)E.push(BR(k));else if(N){let q=E.join("");E=[],p.push(f.length===0?q:UR(i,f)(q)),f.push({inverse:L,styles:cJ(N)})}else if(C){if(f.length===0)throw new Error("Found extraneous } in Chalk template literal");p.push(UR(i,f)(E.join(""))),E=[],f.pop()}else E.push(U)}),p.push(E.join("")),f.length>0){let t=`Chalk template literal is missing ${f.length} closing bracket${f.length===1?"":"s"} (\`}\`)`;throw new Error(t)}return p.join("")}});var u3=ce((bre,zR)=>{"use strict";var Ng=_4(),{stdout:t3,stderr:n3}=LR(),{stringReplaceAll:dJ,stringEncaseCRLFWithFirstIndex:pJ}=bR(),{isArray:M4}=Array,qR=["ansi","ansi","ansi256","ansi16m"],cm=Object.create(null),hJ=(i,o={})=>{if(o.level&&!(Number.isInteger(o.level)&&o.level>=0&&o.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let f=t3?t3.level:0;i.level=o.level===void 0?f:o.level},HR=class{constructor(o){return WR(o)}},WR=i=>{let o={};return hJ(o,i),o.template=(...f)=>VR(o.template,...f),Object.setPrototypeOf(o,N4.prototype),Object.setPrototypeOf(o.template,o),o.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},o.template.Instance=HR,o.template};function N4(i){return WR(i)}for(let[i,o]of Object.entries(Ng))cm[i]={get(){let f=L4(this,r3(o.open,o.close,this._styler),this._isEmpty);return Object.defineProperty(this,i,{value:f}),f}};cm.visible={get(){let i=L4(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:i}),i}};var GR=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let i of GR)cm[i]={get(){let{level:o}=this;return function(...f){let p=r3(Ng.color[qR[o]][i](...f),Ng.color.close,this._styler);return L4(this,p,this._isEmpty)}}};for(let i of GR){let o="bg"+i[0].toUpperCase()+i.slice(1);cm[o]={get(){let{level:f}=this;return function(...p){let E=r3(Ng.bgColor[qR[f]][i](...p),Ng.bgColor.close,this._styler);return L4(this,E,this._isEmpty)}}}}var vJ=Object.defineProperties(()=>{},Gf(E0({},cm),{level:{enumerable:!0,get(){return this._generator.level},set(i){this._generator.level=i}}})),r3=(i,o,f)=>{let p,E;return f===void 0?(p=i,E=o):(p=f.openAll+i,E=o+f.closeAll),{open:i,close:o,openAll:p,closeAll:E,parent:f}},L4=(i,o,f)=>{let p=(...E)=>M4(E[0])&&M4(E[0].raw)?YR(p,VR(p,...E)):YR(p,E.length===1?""+E[0]:E.join(" "));return Object.setPrototypeOf(p,vJ),p._generator=i,p._styler=o,p._isEmpty=f,p},YR=(i,o)=>{if(i.level<=0||!o)return i._isEmpty?"":o;let f=i._styler;if(f===void 0)return o;let{openAll:p,closeAll:E}=f;if(o.indexOf("")!==-1)for(;f!==void 0;)o=dJ(o,f.close,f.open),f=f.parent;let t=o.indexOf(` -`);return t!==-1&&(o=pJ(o,E,p,t)),p+o+E},i3,VR=(i,...o)=>{let[f]=o;if(!M4(f)||!M4(f.raw))return o.join(" ");let p=o.slice(1),E=[f.raw[0]];for(let t=1;t{"use strict";var mJ=Lg&&Lg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Lg,"__esModule",{value:!0});var Fg=mJ(u3()),yJ=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,gJ=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,b4=(i,o)=>o==="foreground"?i:"bg"+i[0].toUpperCase()+i.slice(1);Lg.default=(i,o,f)=>{if(!o)return i;if(o in Fg.default){let E=b4(o,f);return Fg.default[E](i)}if(o.startsWith("#")){let E=b4("hex",f);return Fg.default[E](o)(i)}if(o.startsWith("ansi")){let E=gJ.exec(o);if(!E)return i;let t=b4(E[1],f),k=Number(E[2]);return Fg.default[t](k)(i)}if(o.startsWith("rgb")||o.startsWith("hsl")||o.startsWith("hsv")||o.startsWith("hwb")){let E=yJ.exec(o);if(!E)return i;let t=b4(E[1],f),k=Number(E[2]),L=Number(E[3]),N=Number(E[4]);return Fg.default[t](k,L,N)(i)}return i}});var XR=ce(bg=>{"use strict";var KR=bg&&bg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(bg,"__esModule",{value:!0});var _J=KR(RR()),l3=KR(o3());bg.default=(i,o,f,p)=>{if(typeof f.style.borderStyle=="string"){let E=f.yogaNode.getComputedWidth(),t=f.yogaNode.getComputedHeight(),k=f.style.borderColor,L=_J.default[f.style.borderStyle],N=l3.default(L.topLeft+L.horizontal.repeat(E-2)+L.topRight,k,"foreground"),C=(l3.default(L.vertical,k,"foreground")+` -`).repeat(t-2),U=l3.default(L.bottomLeft+L.horizontal.repeat(E-2)+L.bottomRight,k,"foreground");p.write(i,o,N,{transformers:[]}),p.write(i,o+1,C,{transformers:[]}),p.write(i+E-1,o+1,C,{transformers:[]}),p.write(i,o+t-1,U,{transformers:[]})}}});var JR=ce(Pg=>{"use strict";var ih=Pg&&Pg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Pg,"__esModule",{value:!0});var EJ=ih(eh()),DJ=ih(Dw()),wJ=ih(SR()),SJ=ih(kw()),TJ=ih(TR()),CJ=ih(Nw()),xJ=ih(XR()),AJ=(i,o)=>{var f;let p=(f=i.childNodes[0])===null||f===void 0?void 0:f.yogaNode;if(p){let E=p.getComputedLeft(),t=p.getComputedTop();o=` -`.repeat(t)+wJ.default(o,E)}return o},QR=(i,o,f)=>{var p;let{offsetX:E=0,offsetY:t=0,transformers:k=[],skipStaticElements:L}=f;if(L&&i.internal_static)return;let{yogaNode:N}=i;if(N){if(N.getDisplay()===EJ.default.DISPLAY_NONE)return;let C=E+N.getComputedLeft(),U=t+N.getComputedTop(),q=k;if(typeof i.internal_transform=="function"&&(q=[i.internal_transform,...k]),i.nodeName==="ink-text"){let W=CJ.default(i);if(W.length>0){let ne=DJ.default(W),m=TJ.default(N);if(ne>m){let we=(p=i.style.textWrap)!==null&&p!==void 0?p:"wrap";W=SJ.default(W,m,we)}W=AJ(i,W),o.write(C,U,W,{transformers:q})}return}if(i.nodeName==="ink-box"&&xJ.default(C,U,i,o),i.nodeName==="ink-root"||i.nodeName==="ink-box")for(let W of i.childNodes)QR(W,o,{offsetX:C,offsetY:U,transformers:q,skipStaticElements:L})}};Pg.default=QR});var $R=ce((Ure,ZR)=>{"use strict";ZR.exports=i=>{i=Object.assign({onlyFirst:!1},i);let o=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(o,i.onlyFirst?void 0:"g")}});var t7=ce((jre,s3)=>{"use strict";var RJ=$R(),e7=i=>typeof i=="string"?i.replace(RJ(),""):i;s3.exports=e7;s3.exports.default=e7});var i7=ce((zre,n7)=>{"use strict";var r7="[\uD800-\uDBFF][\uDC00-\uDFFF]";n7.exports=i=>i&&i.exact?new RegExp(`^${r7}$`):new RegExp(r7,"g")});var o7=ce((qre,a3)=>{"use strict";var OJ=t7(),kJ=i7(),u7=i=>OJ(i).replace(kJ()," ").length;a3.exports=u7;a3.exports.default=u7});var f7=ce(Ig=>{"use strict";var l7=Ig&&Ig.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Ig,"__esModule",{value:!0});var s7=l7(Rw()),MJ=l7(o7()),a7=class{constructor(o){this.writes=[];let{width:f,height:p}=o;this.width=f,this.height=p}write(o,f,p,E){let{transformers:t}=E;!p||this.writes.push({x:o,y:f,text:p,transformers:t})}get(){let o=[];for(let p=0;pp.trimRight()).join(` -`),height:o.length}}};Ig.default=a7});var p7=ce(Bg=>{"use strict";var f3=Bg&&Bg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Bg,"__esModule",{value:!0});var NJ=f3(eh()),c7=f3(JR()),d7=f3(f7());Bg.default=(i,o)=>{var f;if(i.yogaNode.setWidth(o),i.yogaNode){i.yogaNode.calculateLayout(void 0,void 0,NJ.default.DIRECTION_LTR);let p=new d7.default({width:i.yogaNode.getComputedWidth(),height:i.yogaNode.getComputedHeight()});c7.default(i,p,{skipStaticElements:!0});let E;((f=i.staticNode)===null||f===void 0?void 0:f.yogaNode)&&(E=new d7.default({width:i.staticNode.yogaNode.getComputedWidth(),height:i.staticNode.yogaNode.getComputedHeight()}),c7.default(i.staticNode,E,{skipStaticElements:!1}));let{output:t,height:k}=p.get();return{output:t,outputHeight:k,staticOutput:E?`${E.get().output} -`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var y7=ce((Vre,h7)=>{"use strict";var v7=require("stream"),m7=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],c3={},LJ=i=>{let o=new v7.PassThrough,f=new v7.PassThrough;o.write=E=>i("stdout",E),f.write=E=>i("stderr",E);let p=new console.Console(o,f);for(let E of m7)c3[E]=console[E],console[E]=p[E];return()=>{for(let E of m7)console[E]=c3[E];c3={}}};h7.exports=LJ});var p3=ce(d3=>{"use strict";Object.defineProperty(d3,"__esModule",{value:!0});d3.default=new WeakMap});var v3=ce(h3=>{"use strict";Object.defineProperty(h3,"__esModule",{value:!0});var FJ=su(),g7=FJ.createContext({exit:()=>{}});g7.displayName="InternalAppContext";h3.default=g7});var y3=ce(m3=>{"use strict";Object.defineProperty(m3,"__esModule",{value:!0});var bJ=su(),_7=bJ.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});_7.displayName="InternalStdinContext";m3.default=_7});var _3=ce(g3=>{"use strict";Object.defineProperty(g3,"__esModule",{value:!0});var PJ=su(),E7=PJ.createContext({stdout:void 0,write:()=>{}});E7.displayName="InternalStdoutContext";g3.default=E7});var D3=ce(E3=>{"use strict";Object.defineProperty(E3,"__esModule",{value:!0});var IJ=su(),D7=IJ.createContext({stderr:void 0,write:()=>{}});D7.displayName="InternalStderrContext";E3.default=D7});var P4=ce(w3=>{"use strict";Object.defineProperty(w3,"__esModule",{value:!0});var BJ=su(),w7=BJ.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});w7.displayName="InternalFocusContext";w3.default=w7});var T7=ce((Zre,S7)=>{"use strict";var UJ=/[|\\{}()[\]^$+*?.-]/g;S7.exports=i=>{if(typeof i!="string")throw new TypeError("Expected a string");return i.replace(UJ,"\\$&")}});var R7=ce(($re,C7)=>{"use strict";var jJ=T7(),x7=[].concat(require("module").builtinModules,"bootstrap_node","node").map(i=>new RegExp(`(?:\\(${i}\\.js:\\d+:\\d+\\)$|^\\s*at ${i}\\.js:\\d+:\\d+$)`));x7.push(/\(internal\/[^:]+:\d+:\d+\)$/,/\s*at internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var I4=class{constructor(o){o=E0({ignoredPackages:[]},o),"internals"in o||(o.internals=I4.nodeInternals()),"cwd"in o||(o.cwd=process.cwd()),this._cwd=o.cwd.replace(/\\/g,"/"),this._internals=[].concat(o.internals,zJ(o.ignoredPackages)),this._wrapCallSite=o.wrapCallSite||!1}static nodeInternals(){return[...x7]}clean(o,f=0){f=" ".repeat(f),Array.isArray(o)||(o=o.split(` -`)),!/^\s*at /.test(o[0])&&/^\s*at /.test(o[1])&&(o=o.slice(1));let p=!1,E=null,t=[];return o.forEach(k=>{if(k=k.replace(/\\/g,"/"),this._internals.some(N=>N.test(k)))return;let L=/^\s*at /.test(k);p?k=k.trimEnd().replace(/^(\s+)at /,"$1"):(k=k.trim(),L&&(k=k.slice(3))),k=k.replace(`${this._cwd}/`,""),k&&(L?(E&&(t.push(E),E=null),t.push(k)):(p=!0,E=k))}),t.map(k=>`${f}${k} -`).join("")}captureString(o,f=this.captureString){typeof o=="function"&&(f=o,o=Infinity);let{stackTraceLimit:p}=Error;o&&(Error.stackTraceLimit=o);let E={};Error.captureStackTrace(E,f);let{stack:t}=E;return Error.stackTraceLimit=p,this.clean(t)}capture(o,f=this.capture){typeof o=="function"&&(f=o,o=Infinity);let{prepareStackTrace:p,stackTraceLimit:E}=Error;Error.prepareStackTrace=(L,N)=>this._wrapCallSite?N.map(this._wrapCallSite):N,o&&(Error.stackTraceLimit=o);let t={};Error.captureStackTrace(t,f);let{stack:k}=t;return Object.assign(Error,{prepareStackTrace:p,stackTraceLimit:E}),k}at(o=this.at){let[f]=this.capture(1,o);if(!f)return{};let p={line:f.getLineNumber(),column:f.getColumnNumber()};A7(p,f.getFileName(),this._cwd),f.isConstructor()&&(p.constructor=!0),f.isEval()&&(p.evalOrigin=f.getEvalOrigin()),f.isNative()&&(p.native=!0);let E;try{E=f.getTypeName()}catch(L){}E&&E!=="Object"&&E!=="[object Object]"&&(p.type=E);let t=f.getFunctionName();t&&(p.function=t);let k=f.getMethodName();return k&&t!==k&&(p.method=k),p}parseLine(o){let f=o&&o.match(qJ);if(!f)return null;let p=f[1]==="new",E=f[2],t=f[3],k=f[4],L=Number(f[5]),N=Number(f[6]),C=f[7],U=f[8],q=f[9],W=f[10]==="native",ne=f[11]===")",m,we={};if(U&&(we.line=Number(U)),q&&(we.column=Number(q)),ne&&C){let Se=0;for(let he=C.length-1;he>0;he--)if(C.charAt(he)===")")Se++;else if(C.charAt(he)==="("&&C.charAt(he-1)===" "&&(Se--,Se===-1&&C.charAt(he-1)===" ")){let ge=C.slice(0,he-1);C=C.slice(he+1),E+=` (${ge}`;break}}if(E){let Se=E.match(HJ);Se&&(E=Se[1],m=Se[2])}return A7(we,C,this._cwd),p&&(we.constructor=!0),t&&(we.evalOrigin=t,we.evalLine=L,we.evalColumn=N,we.evalFile=k&&k.replace(/\\/g,"/")),W&&(we.native=!0),E&&(we.function=E),m&&E!==m&&(we.method=m),we}};function A7(i,o,f){o&&(o=o.replace(/\\/g,"/"),o.startsWith(`${f}/`)&&(o=o.slice(f.length+1)),i.file=o)}function zJ(i){if(i.length===0)return[];let o=i.map(f=>jJ(f));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${o.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var qJ=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),HJ=/^(.*?) \[as (.*?)\]$/;C7.exports=I4});var k7=ce((eie,O7)=>{"use strict";O7.exports=(i,o)=>i.replace(/^\t+/gm,f=>" ".repeat(f.length*(o||2)))});var N7=ce((tie,M7)=>{"use strict";var WJ=k7(),VJ=(i,o)=>{let f=[],p=i-o,E=i+o;for(let t=p;t<=E;t++)f.push(t);return f};M7.exports=(i,o,f)=>{if(typeof i!="string")throw new TypeError("Source code is missing.");if(!o||o<1)throw new TypeError("Line number must start from `1`.");if(i=WJ(i).split(/\r?\n/),!(o>i.length))return f=E0({around:3},f),VJ(o,f.around).filter(p=>i[p-1]!==void 0).map(p=>({line:p,value:i[p-1]}))}});var B4=ce(Zf=>{"use strict";var GJ=Zf&&Zf.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),YJ=Zf&&Zf.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),KJ=Zf&&Zf.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&GJ(o,i,f);return YJ(o,i),o},XJ=Zf&&Zf.__rest||function(i,o){var f={};for(var p in i)Object.prototype.hasOwnProperty.call(i,p)&&o.indexOf(p)<0&&(f[p]=i[p]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var E=0,p=Object.getOwnPropertySymbols(i);E{var{children:f}=i,p=XJ(i,["children"]);let E=Object.assign(Object.assign({},p),{marginLeft:p.marginLeft||p.marginX||p.margin||0,marginRight:p.marginRight||p.marginX||p.margin||0,marginTop:p.marginTop||p.marginY||p.margin||0,marginBottom:p.marginBottom||p.marginY||p.margin||0,paddingLeft:p.paddingLeft||p.paddingX||p.padding||0,paddingRight:p.paddingRight||p.paddingX||p.padding||0,paddingTop:p.paddingTop||p.paddingY||p.padding||0,paddingBottom:p.paddingBottom||p.paddingY||p.padding||0});return L7.default.createElement("ink-box",{ref:o,style:E},f)});S3.displayName="Box";S3.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};Zf.default=S3});var x3=ce(Ug=>{"use strict";var T3=Ug&&Ug.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Ug,"__esModule",{value:!0});var QJ=T3(su()),dm=T3(u3()),F7=T3(o3()),C3=({color:i,backgroundColor:o,dimColor:f,bold:p,italic:E,underline:t,strikethrough:k,inverse:L,wrap:N,children:C})=>{if(C==null)return null;let U=q=>(f&&(q=dm.default.dim(q)),i&&(q=F7.default(q,i,"foreground")),o&&(q=F7.default(q,o,"background")),p&&(q=dm.default.bold(q)),E&&(q=dm.default.italic(q)),t&&(q=dm.default.underline(q)),k&&(q=dm.default.strikethrough(q)),L&&(q=dm.default.inverse(q)),q);return QJ.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:N},internal_transform:U},C)};C3.displayName="Text";C3.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};Ug.default=C3});var B7=ce($f=>{"use strict";var JJ=$f&&$f.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),ZJ=$f&&$f.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),$J=$f&&$f.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&JJ(o,i,f);return ZJ(o,i),o},jg=$f&&$f.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty($f,"__esModule",{value:!0});var b7=$J(require("fs")),Vo=jg(su()),P7=jg(R7()),eZ=jg(N7()),Q1=jg(B4()),Ic=jg(x3()),I7=new P7.default({cwd:process.cwd(),internals:P7.default.nodeInternals()}),tZ=({error:i})=>{let o=i.stack?i.stack.split(` -`).slice(1):void 0,f=o?I7.parseLine(o[0]):void 0,p,E=0;if((f==null?void 0:f.file)&&(f==null?void 0:f.line)&&b7.existsSync(f.file)){let t=b7.readFileSync(f.file,"utf8");if(p=eZ.default(t,f.line),p)for(let{line:k}of p)E=Math.max(E,String(k).length)}return Vo.default.createElement(Q1.default,{flexDirection:"column",padding:1},Vo.default.createElement(Q1.default,null,Vo.default.createElement(Ic.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),Vo.default.createElement(Ic.default,null," ",i.message)),f&&Vo.default.createElement(Q1.default,{marginTop:1},Vo.default.createElement(Ic.default,{dimColor:!0},f.file,":",f.line,":",f.column)),f&&p&&Vo.default.createElement(Q1.default,{marginTop:1,flexDirection:"column"},p.map(({line:t,value:k})=>Vo.default.createElement(Q1.default,{key:t},Vo.default.createElement(Q1.default,{width:E+1},Vo.default.createElement(Ic.default,{dimColor:t!==f.line,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0},String(t).padStart(E," "),":")),Vo.default.createElement(Ic.default,{key:t,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0}," "+k)))),i.stack&&Vo.default.createElement(Q1.default,{marginTop:1,flexDirection:"column"},i.stack.split(` -`).slice(1).map(t=>{let k=I7.parseLine(t);return k?Vo.default.createElement(Q1.default,{key:t},Vo.default.createElement(Ic.default,{dimColor:!0},"- "),Vo.default.createElement(Ic.default,{dimColor:!0,bold:!0},k.function),Vo.default.createElement(Ic.default,{dimColor:!0,color:"gray"}," ","(",k.file,":",k.line,":",k.column,")")):Vo.default.createElement(Q1.default,{key:t},Vo.default.createElement(Ic.default,{dimColor:!0},"- "),Vo.default.createElement(Ic.default,{dimColor:!0,bold:!0},t))})))};$f.default=tZ});var j7=ce(ec=>{"use strict";var nZ=ec&&ec.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),rZ=ec&&ec.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),iZ=ec&&ec.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&nZ(o,i,f);return rZ(o,i),o},uh=ec&&ec.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ec,"__esModule",{value:!0});var oh=iZ(su()),U7=uh(ZD()),uZ=uh(v3()),oZ=uh(y3()),lZ=uh(_3()),sZ=uh(D3()),aZ=uh(P4()),fZ=uh(B7()),cZ=" ",dZ="",pZ="",A3=class extends oh.PureComponent{constructor(){super(...arguments);this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=o=>{let{stdin:f}=this.props;if(!this.isRawModeSupported())throw f===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. -Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. -Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(f.setEncoding("utf8"),o){this.rawModeEnabledCount===0&&(f.addListener("data",this.handleInput),f.resume(),f.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount==0&&(f.setRawMode(!1),f.removeListener("data",this.handleInput),f.pause())},this.handleInput=o=>{o===""&&this.props.exitOnCtrlC&&this.handleExit(),o===pZ&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(o===cZ&&this.focusNext(),o===dZ&&this.focusPrevious())},this.handleExit=o=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(o)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(o=>{let f=o.focusables[0].id;return{activeFocusId:this.findNextFocusable(o)||f}})},this.focusPrevious=()=>{this.setState(o=>{let f=o.focusables[o.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(o)||f}})},this.addFocusable=(o,{autoFocus:f})=>{this.setState(p=>{let E=p.activeFocusId;return!E&&f&&(E=o),{activeFocusId:E,focusables:[...p.focusables,{id:o,isActive:!0}]}})},this.removeFocusable=o=>{this.setState(f=>({activeFocusId:f.activeFocusId===o?void 0:f.activeFocusId,focusables:f.focusables.filter(p=>p.id!==o)}))},this.activateFocusable=o=>{this.setState(f=>({focusables:f.focusables.map(p=>p.id!==o?p:{id:o,isActive:!0})}))},this.deactivateFocusable=o=>{this.setState(f=>({activeFocusId:f.activeFocusId===o?void 0:f.activeFocusId,focusables:f.focusables.map(p=>p.id!==o?p:{id:o,isActive:!1})}))},this.findNextFocusable=o=>{let f=o.focusables.findIndex(p=>p.id===o.activeFocusId);for(let p=f+1;p{let f=o.focusables.findIndex(p=>p.id===o.activeFocusId);for(let p=f-1;p>=0;p--)if(o.focusables[p].isActive)return o.focusables[p].id}}static getDerivedStateFromError(o){return{error:o}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return oh.default.createElement(uZ.default.Provider,{value:{exit:this.handleExit}},oh.default.createElement(oZ.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},oh.default.createElement(lZ.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},oh.default.createElement(sZ.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},oh.default.createElement(aZ.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?oh.default.createElement(fZ.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){U7.default.hide(this.props.stdout)}componentWillUnmount(){U7.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(o){this.handleExit(o)}};ec.default=A3;A3.displayName="InternalApp"});var W7=ce(tc=>{"use strict";var hZ=tc&&tc.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),vZ=tc&&tc.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),mZ=tc&&tc.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&hZ(o,i,f);return vZ(o,i),o},nc=tc&&tc.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(tc,"__esModule",{value:!0});var yZ=nc(su()),z7=B5(),gZ=nc(Z5()),_Z=nc(GD()),EZ=nc(u9()),DZ=nc(l9()),U4=nc(DR()),wZ=nc(p7()),SZ=nc(JD()),TZ=nc(y7()),CZ=mZ(Lw()),xZ=nc(p3()),AZ=nc(j7()),pm=process.env.CI==="false"?!1:EZ.default,q7=()=>{},H7=class{constructor(o){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:f,outputHeight:p,staticOutput:E}=wZ.default(this.rootNode,this.options.stdout.columns||80),t=E&&E!==` -`;if(this.options.debug){t&&(this.fullStaticOutput+=E),this.options.stdout.write(this.fullStaticOutput+f);return}if(pm){t&&this.options.stdout.write(E),this.lastOutput=f;return}if(t&&(this.fullStaticOutput+=E),p>=this.options.stdout.rows){this.options.stdout.write(_Z.default.clearTerminal+this.fullStaticOutput+f),this.lastOutput=f;return}t&&(this.log.clear(),this.options.stdout.write(E),this.log(f)),!t&&f!==this.lastOutput&&this.throttledLog(f),this.lastOutput=f},DZ.default(this),this.options=o,this.rootNode=CZ.createNode("ink-root"),this.rootNode.onRender=o.debug?this.onRender:z7.throttle(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=gZ.default.create(o.stdout),this.throttledLog=o.debug?this.log:z7.throttle(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=U4.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=SZ.default(this.unmount,{alwaysLast:!1}),process.env.DEV==="true"&&U4.default.injectIntoDevTools({bundleType:0,version:"16.13.1",rendererPackageName:"ink"}),o.patchConsole&&this.patchConsole(),pm||(o.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{o.stdout.off("resize",this.onRender)})}render(o){let f=yZ.default.createElement(AZ.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},o);U4.default.updateContainer(f,this.container,null,q7)}writeToStdout(o){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(o+this.fullStaticOutput+this.lastOutput);return}if(pm){this.options.stdout.write(o);return}this.log.clear(),this.options.stdout.write(o),this.log(this.lastOutput)}}writeToStderr(o){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(o),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(pm){this.options.stderr.write(o);return}this.log.clear(),this.options.stderr.write(o),this.log(this.lastOutput)}}unmount(o){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),pm?this.options.stdout.write(this.lastOutput+` -`):this.options.debug||this.log.done(),this.isUnmounted=!0,U4.default.updateContainer(null,this.container,null,q7),xZ.default.delete(this.options.stdout),o instanceof Error?this.rejectExitPromise(o):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((o,f)=>{this.resolveExitPromise=o,this.rejectExitPromise=f})),this.exitPromise}clear(){!pm&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=TZ.default((o,f)=>{o==="stdout"&&this.writeToStdout(f),o==="stderr"&&(f.startsWith("The above error occurred")||this.writeToStderr(f))}))}};tc.default=H7});var G7=ce(zg=>{"use strict";var V7=zg&&zg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(zg,"__esModule",{value:!0});var RZ=V7(W7()),j4=V7(p3()),OZ=require("stream"),NZ=(i,o)=>{let f=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},kZ(o)),p=MZ(f.stdout,()=>new RZ.default(f));return p.render(i),{rerender:p.render,unmount:()=>p.unmount(),waitUntilExit:p.waitUntilExit,cleanup:()=>j4.default.delete(f.stdout),clear:p.clear}};zg.default=NZ;var kZ=(i={})=>i instanceof OZ.Stream?{stdout:i,stdin:process.stdin}:i,MZ=(i,o)=>{let f;return j4.default.has(i)?f=j4.default.get(i):(f=o(),j4.default.set(i,f)),f}});var K7=ce(J1=>{"use strict";var LZ=J1&&J1.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),FZ=J1&&J1.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),bZ=J1&&J1.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&LZ(o,i,f);return FZ(o,i),o};Object.defineProperty(J1,"__esModule",{value:!0});var qg=bZ(su()),Y7=i=>{let{items:o,children:f,style:p}=i,[E,t]=qg.useState(0),k=qg.useMemo(()=>o.slice(E),[o,E]);qg.useLayoutEffect(()=>{t(o.length)},[o.length]);let L=k.map((C,U)=>f(C,E+U)),N=qg.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},p),[p]);return qg.default.createElement("ink-box",{internal_static:!0,style:N},L)};Y7.displayName="Static";J1.default=Y7});var Q7=ce(Hg=>{"use strict";var PZ=Hg&&Hg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Hg,"__esModule",{value:!0});var IZ=PZ(su()),X7=({children:i,transform:o})=>i==null?null:IZ.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:o},i);X7.displayName="Transform";Hg.default=X7});var Z7=ce(Wg=>{"use strict";var BZ=Wg&&Wg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Wg,"__esModule",{value:!0});var UZ=BZ(su()),J7=({count:i=1})=>UZ.default.createElement("ink-text",null,` -`.repeat(i));J7.displayName="Newline";Wg.default=J7});var tO=ce(Vg=>{"use strict";var $7=Vg&&Vg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Vg,"__esModule",{value:!0});var jZ=$7(su()),zZ=$7(B4()),eO=()=>jZ.default.createElement(zZ.default,{flexGrow:1});eO.displayName="Spacer";Vg.default=eO});var z4=ce(Gg=>{"use strict";var qZ=Gg&&Gg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Gg,"__esModule",{value:!0});var HZ=su(),WZ=qZ(y3()),VZ=()=>HZ.useContext(WZ.default);Gg.default=VZ});var rO=ce(Yg=>{"use strict";var GZ=Yg&&Yg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Yg,"__esModule",{value:!0});var nO=su(),YZ=GZ(z4()),KZ=(i,o={})=>{let{stdin:f,setRawMode:p,internal_exitOnCtrlC:E}=YZ.default();nO.useEffect(()=>{if(o.isActive!==!1)return p(!0),()=>{p(!1)}},[o.isActive,p]),nO.useEffect(()=>{if(o.isActive===!1)return;let t=k=>{let L=String(k),N={upArrow:L==="",downArrow:L==="",leftArrow:L==="",rightArrow:L==="",pageDown:L==="[6~",pageUp:L==="[5~",return:L==="\r",escape:L==="",ctrl:!1,shift:!1,tab:L===" "||L==="",backspace:L==="\b",delete:L==="\x7F"||L==="[3~",meta:!1};L<=""&&!N.return&&(L=String.fromCharCode(L.charCodeAt(0)+"a".charCodeAt(0)-1),N.ctrl=!0),L.startsWith("")&&(L=L.slice(1),N.meta=!0);let C=L>="A"&&L<="Z",U=L>="\u0410"&&L<="\u042F";L.length===1&&(C||U)&&(N.shift=!0),N.tab&&L==="[Z"&&(N.shift=!0),(N.tab||N.backspace||N.delete)&&(L=""),(!(L==="c"&&N.ctrl)||!E)&&i(L,N)};return f==null||f.on("data",t),()=>{f==null||f.off("data",t)}},[o.isActive,f,E,i])};Yg.default=KZ});var iO=ce(Kg=>{"use strict";var XZ=Kg&&Kg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Kg,"__esModule",{value:!0});var QZ=su(),JZ=XZ(v3()),ZZ=()=>QZ.useContext(JZ.default);Kg.default=ZZ});var uO=ce(Xg=>{"use strict";var $Z=Xg&&Xg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Xg,"__esModule",{value:!0});var e$=su(),t$=$Z(_3()),n$=()=>e$.useContext(t$.default);Xg.default=n$});var oO=ce(Qg=>{"use strict";var r$=Qg&&Qg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Qg,"__esModule",{value:!0});var i$=su(),u$=r$(D3()),o$=()=>i$.useContext(u$.default);Qg.default=o$});var sO=ce(Jg=>{"use strict";var lO=Jg&&Jg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Jg,"__esModule",{value:!0});var Zg=su(),l$=lO(P4()),s$=lO(z4()),a$=({isActive:i=!0,autoFocus:o=!1}={})=>{let{isRawModeSupported:f,setRawMode:p}=s$.default(),{activeId:E,add:t,remove:k,activate:L,deactivate:N}=Zg.useContext(l$.default),C=Zg.useMemo(()=>Math.random().toString().slice(2,7),[]);return Zg.useEffect(()=>(t(C,{autoFocus:o}),()=>{k(C)}),[C,o]),Zg.useEffect(()=>{i?L(C):N(C)},[i,C]),Zg.useEffect(()=>{if(!(!f||!i))return p(!0),()=>{p(!1)}},[i]),{isFocused:Boolean(C)&&E===C}};Jg.default=a$});var aO=ce($g=>{"use strict";var f$=$g&&$g.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty($g,"__esModule",{value:!0});var c$=su(),d$=f$(P4()),p$=()=>{let i=c$.useContext(d$.default);return{enableFocus:i.enableFocus,disableFocus:i.disableFocus,focusNext:i.focusNext,focusPrevious:i.focusPrevious}};$g.default=p$});var fO=ce(R3=>{"use strict";Object.defineProperty(R3,"__esModule",{value:!0});R3.default=i=>{var o,f,p,E;return{width:(f=(o=i.yogaNode)===null||o===void 0?void 0:o.getComputedWidth())!==null&&f!==void 0?f:0,height:(E=(p=i.yogaNode)===null||p===void 0?void 0:p.getComputedHeight())!==null&&E!==void 0?E:0}}});var lh=ce(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});var h$=G7();Object.defineProperty(ql,"render",{enumerable:!0,get:function(){return h$.default}});var v$=B4();Object.defineProperty(ql,"Box",{enumerable:!0,get:function(){return v$.default}});var m$=x3();Object.defineProperty(ql,"Text",{enumerable:!0,get:function(){return m$.default}});var y$=K7();Object.defineProperty(ql,"Static",{enumerable:!0,get:function(){return y$.default}});var g$=Q7();Object.defineProperty(ql,"Transform",{enumerable:!0,get:function(){return g$.default}});var _$=Z7();Object.defineProperty(ql,"Newline",{enumerable:!0,get:function(){return _$.default}});var E$=tO();Object.defineProperty(ql,"Spacer",{enumerable:!0,get:function(){return E$.default}});var D$=rO();Object.defineProperty(ql,"useInput",{enumerable:!0,get:function(){return D$.default}});var w$=iO();Object.defineProperty(ql,"useApp",{enumerable:!0,get:function(){return w$.default}});var S$=z4();Object.defineProperty(ql,"useStdin",{enumerable:!0,get:function(){return S$.default}});var T$=uO();Object.defineProperty(ql,"useStdout",{enumerable:!0,get:function(){return T$.default}});var C$=oO();Object.defineProperty(ql,"useStderr",{enumerable:!0,get:function(){return C$.default}});var x$=sO();Object.defineProperty(ql,"useFocus",{enumerable:!0,get:function(){return x$.default}});var A$=aO();Object.defineProperty(ql,"useFocusManager",{enumerable:!0,get:function(){return A$.default}});var R$=fO();Object.defineProperty(ql,"measureElement",{enumerable:!0,get:function(){return R$.default}})});var k$={};sS(k$,{default:()=>N$,versionUtils:()=>RD});var M3=Mi(require("@yarnpkg/core"));var X_=Mi(require("@yarnpkg/cli")),em=Mi(require("@yarnpkg/core")),Q_=Mi(require("@yarnpkg/core")),cd=Mi(require("clipanion"));var RD={};sS(RD,{Decision:()=>Nu,applyPrerelease:()=>v5,applyReleases:()=>ND,applyStrategy:()=>Y_,clearVersionFiles:()=>OD,fetchBase:()=>pK,fetchChangedFiles:()=>vK,fetchRoot:()=>hK,getUndecidedDependentWorkspaces:()=>Zy,getUndecidedWorkspaces:()=>K_,openVersionFile:()=>$v,requireMoreDecisions:()=>yK,resolveVersionFiles:()=>Jy,suggestStrategy:()=>MD,updateVersionFiles:()=>kD,validateReleaseDecision:()=>Zv});var Gi=Mi(require("@yarnpkg/core")),D0=Mi(require("@yarnpkg/fslib")),W1=Mi(require("@yarnpkg/parsers")),Zp=Mi(require("@yarnpkg/plugin-git")),Jv=Mi(require("clipanion")),h5=Mi(p5()),Fc=Mi(require("semver")),pK=Zp.gitUtils.fetchBase,hK=Zp.gitUtils.fetchRoot,vK=Zp.gitUtils.fetchChangedFiles,mK=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,Nu;(function(k){k.UNDECIDED="undecided",k.DECLINE="decline",k.MAJOR="major",k.MINOR="minor",k.PATCH="patch",k.PRERELEASE="prerelease"})(Nu||(Nu={}));function Zv(i){let o=Fc.default.valid(i);return o||Gi.miscUtils.validateEnum((0,h5.default)(Nu,"UNDECIDED"),i)}async function Jy(i,{prerelease:o=null}={}){var t;let f=new Map,p=i.configuration.get("deferredVersionFolder");if(!D0.xfs.existsSync(p))return new Map;let E=await D0.xfs.readdirPromise(p);for(let k of E){if(!k.endsWith(".yml"))continue;let L=D0.ppath.join(p,k),N=await D0.xfs.readFilePromise(L,"utf8"),C=(0,W1.parseSyml)(N);for(let[U,q]of Object.entries(C.releases||{})){if(q===Nu.DECLINE)continue;let W=Gi.structUtils.parseIdent(U),ne=i.tryWorkspaceByIdent(W);if(ne===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${D0.ppath.basename(L)} references ${U})`);if(ne.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${Gi.structUtils.prettyLocator(i.configuration,ne.anchoredLocator)})`);let m=(t=ne.manifest.raw.stableVersion)!=null?t:ne.manifest.version,we=f.get(ne),Se=Y_(m,Zv(q));if(Se===null)throw new Error(`Assertion failed: Expected ${m} to support being bumped via strategy ${q}`);let he=typeof we!="undefined"?Fc.default.gt(Se,we)?Se:we:Se;f.set(ne,he)}}return o&&(f=new Map([...f].map(([k,L])=>[k,v5(L,{current:k.manifest.version,prerelease:o})]))),f}async function OD(i){let o=i.configuration.get("deferredVersionFolder");!D0.xfs.existsSync(o)||await D0.xfs.removePromise(o)}async function kD(i){let o=i.configuration.get("deferredVersionFolder");if(!D0.xfs.existsSync(o))return;let f=await D0.xfs.readdirPromise(o);for(let p of f){if(!p.endsWith(".yml"))continue;let E=D0.ppath.join(o,p),t=await D0.xfs.readFilePromise(E,"utf8"),k=(0,W1.parseSyml)(t),L=k==null?void 0:k.releases;if(!!L){for(let N of Object.keys(L)){let C=Gi.structUtils.parseLocator(N);i.tryWorkspaceByLocator(C)===null&&delete k.releases[N]}await D0.xfs.changeFilePromise(E,(0,W1.stringifySyml)(new W1.stringifySyml.PreserveOrdering(k)))}}}async function $v(i,{allowEmpty:o=!1}={}){let f=i.configuration;if(f.projectCwd===null)throw new Jv.UsageError("This command can only be run from within a Yarn project");let p=await Zp.gitUtils.fetchRoot(f.projectCwd),E=p!==null?await Zp.gitUtils.fetchBase(p,{baseRefs:f.get("changesetBaseRefs")}):null,t=p!==null?await Zp.gitUtils.fetchChangedFiles(p,{base:E.hash,project:i}):[],k=f.get("deferredVersionFolder"),L=t.filter(ne=>D0.ppath.contains(k,ne)!==null);if(L.length>1)throw new Jv.UsageError(`Your current branch contains multiple versioning files; this isn't supported: -- ${L.map(ne=>D0.npath.fromPortablePath(ne)).join(` -- `)}`);let N=new Set(Gi.miscUtils.mapAndFilter(t,ne=>{let m=i.tryWorkspaceByFilePath(ne);return m===null?Gi.miscUtils.mapAndFilter.skip:m}));if(L.length===0&&N.size===0&&!o)return null;let C=L.length===1?L[0]:D0.ppath.join(k,`${Gi.hashUtils.makeHash(Math.random().toString()).slice(0,8)}.yml`),U=D0.xfs.existsSync(C)?await D0.xfs.readFilePromise(C,"utf8"):"{}",q=(0,W1.parseSyml)(U),W=new Map;for(let ne of q.declined||[]){let m=Gi.structUtils.parseIdent(ne),we=i.getWorkspaceByIdent(m);W.set(we,Nu.DECLINE)}for(let[ne,m]of Object.entries(q.releases||{})){let we=Gi.structUtils.parseIdent(ne),Se=i.getWorkspaceByIdent(we);W.set(Se,Zv(m))}return{project:i,root:p,baseHash:E!==null?E.hash:null,baseTitle:E!==null?E.title:null,changedFiles:new Set(t),changedWorkspaces:N,releaseRoots:new Set([...N].filter(ne=>ne.manifest.version!==null)),releases:W,async saveAll(){let ne={},m=[],we=[];for(let Se of i.workspaces){if(Se.manifest.version===null)continue;let he=Gi.structUtils.stringifyIdent(Se.locator),ge=W.get(Se);ge===Nu.DECLINE?m.push(he):typeof ge!="undefined"?ne[he]=Zv(ge):N.has(Se)&&we.push(he)}await D0.xfs.mkdirPromise(D0.ppath.dirname(C),{recursive:!0}),await D0.xfs.changeFilePromise(C,(0,W1.stringifySyml)(new W1.stringifySyml.PreserveOrdering({releases:Object.keys(ne).length>0?ne:void 0,declined:m.length>0?m:void 0,undecided:we.length>0?we:void 0})))}}}function yK(i){return K_(i).size>0||Zy(i).length>0}function K_(i){let o=new Set;for(let f of i.changedWorkspaces)f.manifest.version!==null&&(i.releases.has(f)||o.add(f));return o}function Zy(i,{include:o=new Set}={}){let f=[],p=new Map(Gi.miscUtils.mapAndFilter([...i.releases],([t,k])=>k===Nu.DECLINE?Gi.miscUtils.mapAndFilter.skip:[t.anchoredLocator.locatorHash,t])),E=new Map(Gi.miscUtils.mapAndFilter([...i.releases],([t,k])=>k!==Nu.DECLINE?Gi.miscUtils.mapAndFilter.skip:[t.anchoredLocator.locatorHash,t]));for(let t of i.project.workspaces)if(!(!o.has(t)&&(E.has(t.anchoredLocator.locatorHash)||p.has(t.anchoredLocator.locatorHash)))&&t.manifest.version!==null)for(let k of Gi.Manifest.hardDependencies)for(let L of t.manifest.getForScope(k).values()){let N=i.project.tryWorkspaceByDescriptor(L);N!==null&&p.has(N.anchoredLocator.locatorHash)&&f.push([t,N])}return f}function MD(i,o){let f=Fc.default.clean(o);for(let p of Object.values(Nu))if(p!==Nu.UNDECIDED&&p!==Nu.DECLINE&&Fc.default.inc(i,p)===f)return p;return null}function Y_(i,o){if(Fc.default.valid(o))return o;if(i===null)throw new Jv.UsageError(`Cannot apply the release strategy "${o}" unless the workspace already has a valid version`);if(!Fc.default.valid(i))throw new Jv.UsageError(`Cannot apply the release strategy "${o}" on a non-semver version (${i})`);let f=Fc.default.inc(i,o);if(f===null)throw new Jv.UsageError(`Cannot apply the release strategy "${o}" on the specified version (${i})`);return f}function ND(i,o,{report:f}){let p=new Map;for(let E of i.workspaces)for(let t of Gi.Manifest.allDependencies)for(let k of E.manifest[t].values()){let L=i.tryWorkspaceByDescriptor(k);if(L===null||!o.has(L))continue;Gi.miscUtils.getArrayWithDefault(p,L).push([E,t,k.identHash])}for(let[E,t]of o){let k=E.manifest.version;E.manifest.version=t,Fc.default.prerelease(t)===null?delete E.manifest.raw.stableVersion:E.manifest.raw.stableVersion||(E.manifest.raw.stableVersion=k);let L=E.manifest.name!==null?Gi.structUtils.stringifyIdent(E.manifest.name):null;f.reportInfo(Gi.MessageName.UNNAMED,`${Gi.structUtils.prettyLocator(i.configuration,E.anchoredLocator)}: Bumped to ${t}`),f.reportJson({cwd:D0.npath.fromPortablePath(E.cwd),ident:L,oldVersion:k,newVersion:t});let N=p.get(E);if(typeof N!="undefined")for(let[C,U,q]of N){let W=C.manifest[U].get(q);if(typeof W=="undefined")throw new Error("Assertion failed: The dependency should have existed");let ne=W.range,m=!1;if(ne.startsWith(Gi.WorkspaceResolver.protocol)&&(ne=ne.slice(Gi.WorkspaceResolver.protocol.length),m=!0,ne===E.relativeCwd))continue;let we=ne.match(mK);if(!we){f.reportWarning(Gi.MessageName.UNNAMED,`Couldn't auto-upgrade range ${ne} (in ${Gi.structUtils.prettyLocator(i.configuration,C.anchoredLocator)})`);continue}let Se=`${we[1]}${t}`;m&&(Se=`${Gi.WorkspaceResolver.protocol}${Se}`);let he=Gi.structUtils.makeDescriptor(W,Se);C.manifest[U].set(q,he)}}}var gK=new Map([["%n",{extract:i=>i.length>=1?[i[0],i.slice(1)]:null,generate:(i=0)=>`${i+1}`}]]);function v5(i,{current:o,prerelease:f}){let p=new Fc.default.SemVer(o),E=p.prerelease.slice(),t=[];p.prerelease=[],p.format()!==i&&(E.length=0);let k=!0,L=f.split(/\./g);for(let N of L){let C=gK.get(N);if(typeof C=="undefined")t.push(N),E[0]===N?E.shift():k=!1;else{let U=k?C.extract(E):null;U!==null&&typeof U[0]=="number"?(t.push(C.generate(U[0])),E=U[1]):(t.push(C.generate()),k=!1)}}return p.prerelease&&(p.prerelease=[]),`${i}-${t.join(".")}`}var $y=class extends X_.BaseCommand{constructor(){super(...arguments);this.all=cd.Option.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=cd.Option.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=cd.Option.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.recursive=cd.Option.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=cd.Option.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let o=await em.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:p}=await Q_.Project.find(o,this.context.cwd),E=await em.Cache.find(o);if(!p)throw new X_.WorkspaceRequiredError(f.cwd,this.context.cwd);return await f.restoreInstallState({restoreResolutions:!1}),(await Q_.StreamReport.start({configuration:o,json:this.json,stdout:this.context.stdout},async k=>{let L=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,N=await Jy(f,{prerelease:L}),C=new Map;if(this.all)C=N;else{let U=this.recursive?p.getRecursiveWorkspaceDependencies():[p];for(let q of U){let W=N.get(q);typeof W!="undefined"&&C.set(q,W)}}if(C.size===0){let U=N.size>0?" Did you want to add --all?":"";k.reportWarning(em.MessageName.UNNAMED,`The current workspace doesn't seem to require a version bump.${U}`);return}ND(f,C,{report:k}),this.dryRun||(L||(this.all?await OD(f):await kD(f)),k.reportSeparator(),await f.install({cache:E,report:k}))})).exitCode()}};$y.paths=[["version","apply"]],$y.usage=cd.Command.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:` - This command will apply the deferred version changes and remove their definitions from the repository. - - Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%d\`) will be used on all new versions and the version definitions will be kept as-is. - - By default only the current workspace will be bumped, but you can configure this behavior by using one of: - - - \`--recursive\` to also apply the version bump on its dependencies - - \`--all\` to apply the version bump on all packages in the repository - - Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump. - `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]});var m5=$y;var e_=Mi(require("@yarnpkg/cli")),s0=Mi(require("@yarnpkg/core")),rc=Mi(require("@yarnpkg/fslib"));var cO=Mi(lh()),sh=Mi(su()),dO=(0,sh.memo)(({active:i})=>{let o=(0,sh.useMemo)(()=>i?"\u25C9":"\u25EF",[i]),f=(0,sh.useMemo)(()=>i?"green":"yellow",[i]);return sh.default.createElement(cO.Text,{color:f},o)});var yd=Mi(lh()),Js=Mi(su());var pO=Mi(lh()),q4=Mi(su());function hm({active:i},o,f){let{stdin:p}=(0,pO.useStdin)(),E=(0,q4.useCallback)((t,k)=>o(t,k),f);(0,q4.useEffect)(()=>{if(!(!i||!p))return p.on("keypress",E),()=>{p.off("keypress",E)}},[i,E,p])}var ah;(function(f){f.BEFORE="before",f.AFTER="after"})(ah||(ah={}));var hO=function({active:i},o,f){hm({active:i},(p,E)=>{E.name==="tab"&&(E.shift?o(ah.BEFORE):o(ah.AFTER))},f)};var H4=function(i,o,{active:f,minus:p,plus:E,set:t,loop:k=!0}){hm({active:f},(L,N)=>{let C=o.indexOf(i);switch(N.name){case p:{let U=C-1;if(k){t(o[(o.length+U)%o.length]);return}if(U<0)return;t(o[U])}break;case E:{let U=C+1;if(k){t(o[U%o.length]);return}if(U>=o.length)return;t(o[U])}break}},[o,i,E,t,k])};var O3=({active:i=!0,children:o=[],radius:f=10,size:p=1,loop:E=!0,onFocusRequest:t,willReachEnd:k})=>{let L=Se=>{if(Se.key===null)throw new Error("Expected all children to have a key");return Se.key},N=Js.default.Children.map(o,Se=>L(Se)),C=N[0],[U,q]=(0,Js.useState)(C),W=N.indexOf(U);(0,Js.useEffect)(()=>{N.includes(U)||q(C)},[o]),(0,Js.useEffect)(()=>{k&&W>=N.length-2&&k()},[W]),hO({active:i&&!!t},Se=>{t==null||t(Se)},[t]),H4(U,N,{active:i,minus:"up",plus:"down",set:q,loop:E});let ne=W-f,m=W+f;m>N.length&&(ne-=m-N.length,m=N.length),ne<0&&(m+=-ne,ne=0),m>=N.length&&(m=N.length-1);let we=[];for(let Se=ne;Se<=m;++Se){let he=N[Se],ge=i&&he===U;we.push(Js.default.createElement(yd.Box,{key:he,height:p},Js.default.createElement(yd.Box,{marginLeft:1,marginRight:1},Js.default.createElement(yd.Text,null,ge?Js.default.createElement(yd.Text,{color:"cyan",bold:!0},">"):" ")),Js.default.createElement(yd.Box,null,Js.default.cloneElement(o[Se],{active:ge}))))}return Js.default.createElement(yd.Box,{flexDirection:"column",width:"100%"},we)};var W4=Mi(lh()),k3=Mi(su());var vO=Mi(lh()),Z1=Mi(su()),mO=Mi(require("readline")),O$=Z1.default.createContext(null),yO=({children:i})=>{let{stdin:o,setRawMode:f}=(0,vO.useStdin)();(0,Z1.useEffect)(()=>{f&&f(!0),o&&(0,mO.emitKeypressEvents)(o)},[o,f]);let[p,E]=(0,Z1.useState)(new Map),t=(0,Z1.useMemo)(()=>({getAll:()=>p,get:k=>p.get(k),set:(k,L)=>E(new Map([...p,[k,L]]))}),[p,E]);return Z1.default.createElement(O$.Provider,{value:t,children:i})};async function gO(i,o,{stdin:f,stdout:p,stderr:E}={}){let t,k=N=>{let{exit:C}=(0,W4.useApp)();hm({active:!0},(U,q)=>{q.name==="return"&&(t=N,C())},[C,N])},{waitUntilExit:L}=(0,W4.render)(k3.default.createElement(yO,null,k3.default.createElement(i,Gf(E0({},o),{useSubmit:k}))),{stdin:f,stdout:p,stderr:E});return await L(),t}var fh=Mi(require("clipanion")),Dr=Mi(lh()),Tn=Mi(su()),V4=Mi(require("semver"));var t_=class extends e_.BaseCommand{constructor(){super(...arguments);this.interactive=fh.Option.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){let o=await s0.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:p}=await s0.Project.find(o,this.context.cwd);if(!p)throw new e_.WorkspaceRequiredError(f.cwd,this.context.cwd);await f.restoreInstallState();let E=await $v(f);if(E===null||E.releaseRoots.size===0)return 0;if(E.root===null)throw new fh.UsageError("This command can only be run on Git repositories");let t=()=>Tn.default.createElement(Dr.Box,{flexDirection:"row",paddingBottom:1},Tn.default.createElement(Dr.Box,{flexDirection:"column",width:60},Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,null,"Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},""),"/",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to select workspaces.")),Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,null,"Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},""),"/",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to select release strategies."))),Tn.default.createElement(Dr.Box,{flexDirection:"column"},Tn.default.createElement(Dr.Box,{marginLeft:1},Tn.default.createElement(Dr.Text,null,"Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to save.")),Tn.default.createElement(Dr.Box,{marginLeft:1},Tn.default.createElement(Dr.Text,null,"Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),k=({workspace:W,active:ne,decision:m,setDecision:we})=>{var ze;let Se=(ze=W.manifest.raw.stableVersion)!=null?ze:W.manifest.version;if(Se===null)throw new Error(`Assertion failed: The version should have been set (${s0.structUtils.prettyLocator(o,W.anchoredLocator)})`);if(V4.default.prerelease(Se)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${Se})`);let he=[Nu.UNDECIDED,Nu.DECLINE,Nu.PATCH,Nu.MINOR,Nu.MAJOR];H4(m,he,{active:ne,minus:"left",plus:"right",set:we});let ge=m===Nu.UNDECIDED?Tn.default.createElement(Dr.Text,{color:"yellow"},Se):m===Nu.DECLINE?Tn.default.createElement(Dr.Text,{color:"green"},Se):Tn.default.createElement(Dr.Text,null,Tn.default.createElement(Dr.Text,{color:"magenta"},Se)," \u2192 ",Tn.default.createElement(Dr.Text,{color:"green"},V4.default.valid(m)?m:V4.default.inc(Se,m)));return Tn.default.createElement(Dr.Box,{flexDirection:"column"},Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,null,s0.structUtils.prettyLocator(o,W.anchoredLocator)," - ",ge)),Tn.default.createElement(Dr.Box,null,he.map(pe=>Tn.default.createElement(Dr.Box,{key:pe,paddingLeft:2},Tn.default.createElement(Dr.Text,null,Tn.default.createElement(dO,{active:pe===m})," ",pe)))))},L=W=>{let ne=new Set(E.releaseRoots),m=new Map([...W].filter(([we])=>ne.has(we)));for(;;){let we=Zy({project:E.project,releases:m}),Se=!1;if(we.length>0){for(let[he]of we)if(!ne.has(he)){ne.add(he),Se=!0;let ge=W.get(he);typeof ge!="undefined"&&m.set(he,ge)}}if(!Se)break}return{relevantWorkspaces:ne,relevantReleases:m}},N=()=>{let[W,ne]=(0,Tn.useState)(()=>new Map(E.releases)),m=(0,Tn.useCallback)((we,Se)=>{let he=new Map(W);Se!==Nu.UNDECIDED?he.set(we,Se):he.delete(we);let{relevantReleases:ge}=L(he);ne(ge)},[W,ne]);return[W,m]},C=({workspaces:W,releases:ne})=>{let m=[];m.push(`${W.size} total`);let we=0,Se=0;for(let he of W){let ge=ne.get(he);typeof ge=="undefined"?Se+=1:ge!==Nu.DECLINE&&(we+=1)}return m.push(`${we} release${we===1?"":"s"}`),m.push(`${Se} remaining`),Tn.default.createElement(Dr.Text,{color:"yellow"},m.join(", "))},q=await gO(({useSubmit:W})=>{let[ne,m]=N();W(ne);let{relevantWorkspaces:we}=L(ne),Se=new Set([...we].filter(pe=>!E.releaseRoots.has(pe))),[he,ge]=(0,Tn.useState)(0),ze=(0,Tn.useCallback)(pe=>{switch(pe){case ah.BEFORE:ge(he-1);break;case ah.AFTER:ge(he+1);break}},[he,ge]);return Tn.default.createElement(Dr.Box,{flexDirection:"column"},Tn.default.createElement(t,null),Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,{wrap:"wrap"},"The following files have been modified in your local checkout.")),Tn.default.createElement(Dr.Box,{flexDirection:"column",marginTop:1,paddingLeft:2},[...E.changedFiles].map(pe=>Tn.default.createElement(Dr.Box,{key:pe},Tn.default.createElement(Dr.Text,null,Tn.default.createElement(Dr.Text,{color:"grey"},rc.npath.fromPortablePath(E.root)),rc.npath.sep,rc.npath.relative(rc.npath.fromPortablePath(E.root),rc.npath.fromPortablePath(pe)))))),E.releaseRoots.size>0&&Tn.default.createElement(Tn.default.Fragment,null,Tn.default.createElement(Dr.Box,{marginTop:1},Tn.default.createElement(Dr.Text,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),Se.size>3?Tn.default.createElement(Dr.Box,{marginTop:1},Tn.default.createElement(C,{workspaces:E.releaseRoots,releases:ne})):null,Tn.default.createElement(Dr.Box,{marginTop:1,flexDirection:"column"},Tn.default.createElement(O3,{active:he%2==0,radius:1,size:2,onFocusRequest:ze},[...E.releaseRoots].map(pe=>Tn.default.createElement(k,{key:pe.cwd,workspace:pe,decision:ne.get(pe)||Nu.UNDECIDED,setDecision:Oe=>m(pe,Oe)}))))),Se.size>0?Tn.default.createElement(Tn.default.Fragment,null,Tn.default.createElement(Dr.Box,{marginTop:1},Tn.default.createElement(Dr.Text,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,null,"(Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to move the focus between the workspace groups.)")),Se.size>5?Tn.default.createElement(Dr.Box,{marginTop:1},Tn.default.createElement(C,{workspaces:Se,releases:ne})):null,Tn.default.createElement(Dr.Box,{marginTop:1,flexDirection:"column"},Tn.default.createElement(O3,{active:he%2==1,radius:2,size:2,onFocusRequest:ze},[...Se].map(pe=>Tn.default.createElement(k,{key:pe.cwd,workspace:pe,decision:ne.get(pe)||Nu.UNDECIDED,setDecision:Oe=>m(pe,Oe)}))))):null)},{versionFile:E},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof q=="undefined")return 1;E.releases.clear();for(let[W,ne]of q)E.releases.set(W,ne);await E.saveAll()}async executeStandard(){let o=await s0.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:p}=await s0.Project.find(o,this.context.cwd);if(!p)throw new e_.WorkspaceRequiredError(f.cwd,this.context.cwd);return await f.restoreInstallState(),(await s0.StreamReport.start({configuration:o,stdout:this.context.stdout},async t=>{let k=await $v(f);if(k===null||k.releaseRoots.size===0)return;if(k.root===null)throw new fh.UsageError("This command can only be run on Git repositories");if(t.reportInfo(s0.MessageName.UNNAMED,`Your PR was started right after ${s0.formatUtils.pretty(o,k.baseHash.slice(0,7),"yellow")} ${s0.formatUtils.pretty(o,k.baseTitle,"magenta")}`),k.changedFiles.size>0){t.reportInfo(s0.MessageName.UNNAMED,"You have changed the following files since then:"),t.reportSeparator();for(let q of k.changedFiles)t.reportInfo(null,`${s0.formatUtils.pretty(o,rc.npath.fromPortablePath(k.root),"gray")}${rc.npath.sep}${rc.npath.relative(rc.npath.fromPortablePath(k.root),rc.npath.fromPortablePath(q))}`)}let L=!1,N=!1,C=K_(k);if(C.size>0){L||t.reportSeparator();for(let q of C)t.reportError(s0.MessageName.UNNAMED,`${s0.structUtils.prettyLocator(o,q.anchoredLocator)} has been modified but doesn't have a release strategy attached`);L=!0}let U=Zy(k);for(let[q,W]of U)N||t.reportSeparator(),t.reportError(s0.MessageName.UNNAMED,`${s0.structUtils.prettyLocator(o,q.anchoredLocator)} doesn't have a release strategy attached, but depends on ${s0.structUtils.prettyWorkspace(o,W)} which is planned for release.`),N=!0;(L||N)&&(t.reportSeparator(),t.reportInfo(s0.MessageName.UNNAMED,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),t.reportInfo(s0.MessageName.UNNAMED,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};t_.paths=[["version","check"]],t_.usage=fh.Command.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]});var _O=t_;var G4=Mi(require("@yarnpkg/cli")),Y4=Mi(require("@yarnpkg/core")),Bc=Mi(require("clipanion")),K4=Mi(require("semver"));var n_=class extends G4.BaseCommand{constructor(){super(...arguments);this.deferred=Bc.Option.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=Bc.Option.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=Bc.Option.String()}async execute(){let o=await Y4.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:p}=await Y4.Project.find(o,this.context.cwd);if(!p)throw new G4.WorkspaceRequiredError(f.cwd,this.context.cwd);let E=o.get("preferDeferredVersions");this.deferred&&(E=!0),this.immediate&&(E=!1);let t=K4.default.valid(this.strategy),k=this.strategy===Nu.DECLINE,L;if(t)if(p.manifest.version!==null){let C=MD(p.manifest.version,this.strategy);C!==null?L=C:L=this.strategy}else L=this.strategy;else{let C=p.manifest.version;if(!k){if(C===null)throw new Bc.UsageError("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof C!="string"||!K4.default.valid(C))throw new Bc.UsageError(`Can't bump the version (${C}) if it's not valid semver`)}L=Zv(this.strategy)}if(!E){let U=(await Jy(f)).get(p);if(typeof U!="undefined"&&L!==Nu.DECLINE){let q=Y_(p.manifest.version,L);if(K4.default.lt(q,U))throw new Bc.UsageError(`Can't bump the version to one that would be lower than the current deferred one (${U})`)}}let N=await $v(f,{allowEmpty:!0});return N.releases.set(p,L),await N.saveAll(),E?0:await this.cli.run(["version","apply"])}};n_.paths=[["version"]],n_.usage=Bc.Command.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]});var EO=n_;var M$={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:M3.SettingsType.ABSOLUTE_PATH,default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:M3.SettingsType.BOOLEAN,default:!1}},commands:[m5,_O,EO]},N$=M$;return k$;})(); -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ -/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ -/** @license React v0.0.0-experimental-51a3aa6af - * react-debug-tools.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.0.0-experimental-51a3aa6af - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.0.0-experimental-51a3aa6af - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.18.0 - * scheduler-tracing.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.18.0 - * scheduler-tracing.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.18.0 - * scheduler.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.18.0 - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.24.0 - * react-reconciler.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.24.0 - * react-reconciler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v16.13.1 - * react.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v16.13.1 - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -return plugin; -} -}; diff --git a/.yarnrc.yml b/.yarnrc.yml index 66ca5b8273..aae00fefcc 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -13,7 +13,5 @@ plugins: spec: "@yarnpkg/plugin-workspace-tools" - path: .yarn/plugins/@yarnpkg/plugin-constraints.cjs spec: "@yarnpkg/plugin-constraints" - - path: .yarn/plugins/@yarnpkg/plugin-version.cjs - spec: "@yarnpkg/plugin-version" yarnPath: .yarn/releases/yarn-3.2.1.cjs From 427185991cf2ac97281fb7f8a824f72c62bfabbf Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 13 Oct 2022 16:21:36 -0600 Subject: [PATCH 059/115] Add a release.config.json for action-publish-release to read --- release.config.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 release.config.json diff --git a/release.config.json b/release.config.json new file mode 100644 index 0000000000..9a672ef126 --- /dev/null +++ b/release.config.json @@ -0,0 +1,3 @@ +{ + "versioningStrategy": "independent" +} From 0b7becf86c8b24372c04663abab16220567bee45 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 13 Oct 2022 16:50:45 -0600 Subject: [PATCH 060/115] Bring back isomorphic-fetch type stub --- types/isomorphic-fetch.d.ts | 1 + 1 file changed, 1 insertion(+) create mode 100644 types/isomorphic-fetch.d.ts diff --git a/types/isomorphic-fetch.d.ts b/types/isomorphic-fetch.d.ts new file mode 100644 index 0000000000..702932253d --- /dev/null +++ b/types/isomorphic-fetch.d.ts @@ -0,0 +1 @@ +declare module 'isomorphic-fetch'; From dd828dd25f87626bbd06855b71ef7b8e01c14c73 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 13 Oct 2022 17:07:37 -0600 Subject: [PATCH 061/115] Don't need this --- packages/transaction-controller/src/TransactionController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/transaction-controller/src/TransactionController.ts b/packages/transaction-controller/src/TransactionController.ts index a8fc279edd..6eb78b908a 100644 --- a/packages/transaction-controller/src/TransactionController.ts +++ b/packages/transaction-controller/src/TransactionController.ts @@ -1012,7 +1012,7 @@ export class TransactionController extends BaseController< // a custom network then return the eth_estimateGas value. const gasBN = gasHex === undefined ? hexToBN('0x0') : hexToBN(gasHex); const maxGasBN = gasLimitBN.muln(0.9); - const paddedGasBN = gasBN?.muln(1.5); + const paddedGasBN = gasBN.muln(1.5); /* istanbul ignore next */ if (gasBN.gt(maxGasBN) || isCustomNetwork) { return { gas: addHexPrefix(gasHex), gasPrice, estimateGasError }; From b567f438bc2bc3eb38912f5328d995d3040edc0d Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 13 Oct 2022 17:07:46 -0600 Subject: [PATCH 062/115] Tweak ordering to make diff easier to read --- .../src/AssetsContractController.test.ts | 2 +- .../assets-controllers/src/AssetsContractController.ts | 2 +- packages/assets-controllers/src/CurrencyRateController.ts | 8 +++----- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/assets-controllers/src/AssetsContractController.test.ts b/packages/assets-controllers/src/AssetsContractController.test.ts index 697029412b..cd5a035d94 100644 --- a/packages/assets-controllers/src/AssetsContractController.test.ts +++ b/packages/assets-controllers/src/AssetsContractController.test.ts @@ -1,11 +1,11 @@ import HttpProvider from 'ethjs-provider-http'; import { IPFS_DEFAULT_GATEWAY_URL } from '@metamask/controller-utils'; -import { ControllerMessenger } from '@metamask/base-controller'; import { PreferencesController } from '@metamask/preferences-controller'; import { NetworkController, NetworkControllerMessenger, } from '@metamask/network-controller'; +import { ControllerMessenger } from '@metamask/base-controller'; import { AssetsContractController, MISSING_PROVIDER_ERROR, diff --git a/packages/assets-controllers/src/AssetsContractController.ts b/packages/assets-controllers/src/AssetsContractController.ts index 0a6f9a9fe1..dcf1504c29 100644 --- a/packages/assets-controllers/src/AssetsContractController.ts +++ b/packages/assets-controllers/src/AssetsContractController.ts @@ -9,10 +9,10 @@ import { import type { PreferencesState } from '@metamask/preferences-controller'; import { IPFS_DEFAULT_GATEWAY_URL } from '@metamask/controller-utils'; import { NetworkState } from '@metamask/network-controller'; +import { SupportedTokenDetectionNetworks } from './assetsUtil'; import { ERC721Standard } from './Standards/NftStandards/ERC721/ERC721Standard'; import { ERC1155Standard } from './Standards/NftStandards/ERC1155/ERC1155Standard'; import { ERC20Standard } from './Standards/ERC20Standard'; -import { SupportedTokenDetectionNetworks } from './assetsUtil'; /** * Check if token detection is enabled for certain networks diff --git a/packages/assets-controllers/src/CurrencyRateController.ts b/packages/assets-controllers/src/CurrencyRateController.ts index 790474b3b6..269c6d2523 100644 --- a/packages/assets-controllers/src/CurrencyRateController.ts +++ b/packages/assets-controllers/src/CurrencyRateController.ts @@ -1,14 +1,12 @@ import { Mutex } from 'async-mutex'; import type { Patch } from 'immer'; +import { BaseControllerV2 } from '@metamask/base-controller'; import { - BaseControllerV2, - RestrictedControllerMessenger, -} from '@metamask/base-controller'; -import { + safelyExecute, TESTNET_TICKER_SYMBOLS, FALL_BACK_VS_CURRENCY, - safelyExecute, } from '@metamask/controller-utils'; +import type { RestrictedControllerMessenger } from '@metamask/base-controller'; import { fetchExchangeRate as defaultFetchExchangeRate } from './crypto-compare'; /** From 65961a60537ae5ddfef0b5d543b077e746d84d68 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 09:46:48 -0600 Subject: [PATCH 063/115] Add back some of the release steps to the README --- README.md | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ba653bdfb6..6f4eadcf59 100644 --- a/README.md +++ b/README.md @@ -44,8 +44,27 @@ Run `yarn lint` to lint all files and show possible violations, or run `yarn lin ### Release & Publishing -When you are ready to release one or more packages within this monorepo, use the `create-release-branch` tool. This will automate the task of bumping versions and updating changelogs across the monorepo, then create a new branch for you to share as a pull request. You can learn more about how to use this tool by reading through its [documentation][create-release-branch-docs]. +This project follows a unique release process. The [`create-release-branch`](https://github.com/MetaMask/create-release-branch) tool and [`action-publish-release`](https://github.com/MetaMask/action-publish-release) GitHub action are used to automate the release process; see those repositories for more information about how they work. -This monorepo is following an **independent** versioning strategy: each package has its own version and may be changed without needing to change any other package's version. +1. To begin the release process, run `create-release-branch`, specifying the packages you want to release. This tool will bump versions and update changelogs across the monorepo automatically, then create a new branch for you. -[create-release-branch-docs]: https://github.com/MetaMask/create-release-branch/blob/main/docs/usage-monorepo-independent.md +2. Once you have a new release branch, review the set of package changelogs that the tool has updated. For each changelog, update it to move each change entry into the appropriate change category ([see here](https://keepachangelog.com/en/1.0.0/#types) for the full list of change categories and the correct ordering), and edit them to be more easily understood by users of the package. + + - Generally any changes that don't affect consumers of the package (e.g. lockfile changes or development environment changes) are omitted. Exceptions may be made for changes that might be of interest despite not having an effect upon the published package (e.g. major test improvements, security improvements, improved documentation, etc.). + - Try to explain each change in terms that users of the package would understand (e.g. avoid referencing internal variables/concepts). + - Consolidate related changes into one change entry if it makes it easier to explain. + - Run `yarn auto-changelog validate --rc` to check that the changelog is correctly formatted. + +3. Review and QA the release. + + - If changes are made to the base branch, the release branch will need to be updated with these changes and review/QA will need to restart again. As such, it's probably best to avoid merging other PRs into the base branch while review is underway. + +4. Squash & Merge the release. + + - This should trigger the [`action-publish-release`](https://github.com/MetaMask/action-publish-release) workflow to tag the final release commit and publish the release on GitHub. + +5. Publish the release on npm. + + - Wait for the `publish-release` GitHub Action workflow to finish. This should trigger a second job (`publish-npm`), which will wait for a run approval by the [`npm publishers`](https://github.com/orgs/MetaMask/teams/npm-publishers) team. + - Approve the `publish-npm` job (or ask somebody on the npm publishers team to approve it for you). + - Once the `publish-npm` job has finished, check npm to verify that it has been published. From 32286dd11c7736a40fd4b002ac7e6e24ab592e0f Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 09:50:16 -0600 Subject: [PATCH 064/115] Forgot about this file in a previous change --- packages/assets-controllers/src/CurrencyRateController.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/assets-controllers/src/CurrencyRateController.ts b/packages/assets-controllers/src/CurrencyRateController.ts index 269c6d2523..790474b3b6 100644 --- a/packages/assets-controllers/src/CurrencyRateController.ts +++ b/packages/assets-controllers/src/CurrencyRateController.ts @@ -1,12 +1,14 @@ import { Mutex } from 'async-mutex'; import type { Patch } from 'immer'; -import { BaseControllerV2 } from '@metamask/base-controller'; import { - safelyExecute, + BaseControllerV2, + RestrictedControllerMessenger, +} from '@metamask/base-controller'; +import { TESTNET_TICKER_SYMBOLS, FALL_BACK_VS_CURRENCY, + safelyExecute, } from '@metamask/controller-utils'; -import type { RestrictedControllerMessenger } from '@metamask/base-controller'; import { fetchExchangeRate as defaultFetchExchangeRate } from './crypto-compare'; /** From 8a2819e208976731a58a6e71cd5ad6d4f5dda271 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 09:50:56 -0600 Subject: [PATCH 065/115] Remove jest-it-up, simplify 'test' and 'test:watch' scripts --- packages/address-book-controller/package.json | 5 +- packages/announcement-controller/package.json | 5 +- packages/approval-controller/package.json | 5 +- packages/assets-controllers/package.json | 5 +- packages/base-controller/package.json | 5 +- packages/composable-controller/package.json | 5 +- packages/controller-utils/package.json | 5 +- packages/ens-controller/package.json | 5 +- packages/gas-fee-controller/package.json | 5 +- packages/keyring-controller/package.json | 5 +- packages/message-manager/package.json | 5 +- packages/network-controller/package.json | 5 +- packages/notification-controller/package.json | 5 +- packages/permission-controller/package.json | 5 +- packages/phishing-controller/package.json | 5 +- packages/preferences-controller/package.json | 5 +- packages/rate-limit-controller/package.json | 5 +- .../subject-metadata-controller/package.json | 5 +- packages/transaction-controller/package.json | 5 +- scripts/test-watch.sh | 3 - scripts/test.sh | 3 - yarn.lock | 109 +----------------- 22 files changed, 40 insertions(+), 170 deletions(-) delete mode 100755 scripts/test-watch.sh delete mode 100755 scripts/test.sh diff --git a/packages/address-book-controller/package.json b/packages/address-book-controller/package.json index 93b2fa50d8..8b7dbc227e 100644 --- a/packages/address-book-controller/package.json +++ b/packages/address-book-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -35,7 +35,6 @@ "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", "typedoc-plugin-missing-exports": "^0.22.6", diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index dedf321302..404966ffdf 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~" @@ -34,7 +34,6 @@ "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", "typedoc-plugin-missing-exports": "^0.22.6", diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index b26f972189..adb8b27f3a 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -37,7 +37,6 @@ "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "sinon": "^9.2.4", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index e1e55997b2..57c1f76881 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@ethersproject/abi": "^5.7.0", @@ -55,7 +55,6 @@ "deepmerge": "^4.2.2", "ethjs-provider-http": "^0.1.6", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "nock": "^13.0.7", "sinon": "^9.2.4", "ts-jest": "^26.5.2", diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index 9a1b64990b..e1865fd1ee 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "immer": "^9.0.6" @@ -35,7 +35,6 @@ "@types/sinon": "^9.0.10", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "sinon": "^9.2.4", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 0a939f7bc6..0f6503e65e 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "devDependencies": { "@metamask/address-book-controller": "workspace:~", @@ -39,7 +39,6 @@ "deepmerge": "^4.2.2", "immer": "^9.0.6", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "sinon": "^9.2.4", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 7f5417eb30..4de49e517d 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -41,7 +41,6 @@ "abort-controller": "^3.0.0", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "nock": "^13.0.7", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", diff --git a/packages/ens-controller/package.json b/packages/ens-controller/package.json index 5433ebcd33..ccf4da8516 100644 --- a/packages/ens-controller/package.json +++ b/packages/ens-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -35,7 +35,6 @@ "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", "typedoc-plugin-missing-exports": "^0.22.6", diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 3828d5e3ec..dc986e56f0 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -43,7 +43,6 @@ "@types/jest-when": "^2.7.3", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "jest-when": "^3.4.2", "nock": "^13.0.7", "sinon": "^9.2.4", diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 3c59cfaf85..bb8fc33f56 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@keystonehq/metamask-airgapped-keyring": "^0.6.1", @@ -46,7 +46,6 @@ "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "sinon": "^9.2.4", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 1b316e4b24..33f9470c0a 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -40,7 +40,6 @@ "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", "typedoc-plugin-missing-exports": "^0.22.6", diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 1474181928..d8748392b6 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -40,7 +40,6 @@ "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "sinon": "^9.2.4", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index c8744fff83..f972640d36 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -37,7 +37,6 @@ "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", "typedoc-plugin-missing-exports": "^0.22.6", diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 15058767b7..3c509f1f94 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@metamask/approval-controller": "workspace:~", @@ -43,7 +43,6 @@ "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", "typedoc-plugin-missing-exports": "^0.22.6", diff --git a/packages/phishing-controller/package.json b/packages/phishing-controller/package.json index 6c5f3c89dc..6e20ab51ad 100644 --- a/packages/phishing-controller/package.json +++ b/packages/phishing-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -39,7 +39,6 @@ "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "nock": "^13.0.7", "sinon": "^9.2.4", "ts-jest": "^26.5.2", diff --git a/packages/preferences-controller/package.json b/packages/preferences-controller/package.json index e9422ee1ba..d0cd9b7632 100644 --- a/packages/preferences-controller/package.json +++ b/packages/preferences-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -35,7 +35,6 @@ "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", "typedoc-plugin-missing-exports": "^0.22.6", diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index 7923f1c5f4..ea974175ed 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -36,7 +36,6 @@ "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", "typedoc-plugin-missing-exports": "^0.22.6", diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index 555947239b..e2750048ad 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", @@ -37,7 +37,6 @@ "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", "typedoc-plugin-missing-exports": "^0.22.6", diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 6b01ef91e5..0486045376 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -23,8 +23,8 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh", "doc": "../../scripts/doc.sh", - "test": "../../scripts/test.sh", - "test:watch": "../../scripts/test-watch.sh" + "test": "jest", + "test:watch": "jest --watch" }, "dependencies": { "@ethereumjs/common": "^2.6.4", @@ -47,7 +47,6 @@ "ethjs-provider-http": "^0.1.6", "isomorphic-fetch": "^3.0.0", "jest": "^26.4.2", - "jest-it-up": "^2.0.2", "sinon": "^9.2.4", "ts-jest": "^26.5.2", "typedoc": "^0.22.15", diff --git a/scripts/test-watch.sh b/scripts/test-watch.sh deleted file mode 100755 index 7320baa122..0000000000 --- a/scripts/test-watch.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -jest --watch diff --git a/scripts/test.sh b/scripts/test.sh deleted file mode 100755 index aa36d12c0b..0000000000 --- a/scripts/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -jest "$@" && jest-it-up diff --git a/yarn.lock b/yarn.lock index d14b23aeb7..a7a4b8637a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -847,44 +847,6 @@ __metadata: languageName: node linkType: hard -"@inquirer/confirm@npm:^0.0.14-alpha.0": - version: 0.0.14-alpha.0 - resolution: "@inquirer/confirm@npm:0.0.14-alpha.0" - dependencies: - "@inquirer/core": ^0.0.15-alpha.0 - "@inquirer/input": ^0.0.15-alpha.0 - chalk: ^4.1.1 - checksum: 84daf47030318e0adf6eeef85388e341f6f68c0c06c0d1d329cb6185f6d21abf74c3124102bf62f4f42145c8dc9193d719209e3759987a1bdbcfb88139b9936c - languageName: node - linkType: hard - -"@inquirer/core@npm:^0.0.15-alpha.0": - version: 0.0.15-alpha.0 - resolution: "@inquirer/core@npm:0.0.15-alpha.0" - dependencies: - ansi-escapes: ^4.2.1 - chalk: ^4.1.1 - cli-spinners: ^2.6.0 - cli-width: ^3.0.0 - lodash: ^4.17.21 - mute-stream: ^0.0.8 - run-async: ^2.3.0 - string-width: ^4.1.0 - strip-ansi: ^6.0.0 - checksum: 26a94a8db80e57f926c889b5730c6c9a0f18d6bf1e6dbfb68eaa6bcda33550db66118ce6afd9e91130ea2e4da42b6d7236b94c16fbab931ed04b4f442b9a5c78 - languageName: node - linkType: hard - -"@inquirer/input@npm:^0.0.15-alpha.0": - version: 0.0.15-alpha.0 - resolution: "@inquirer/input@npm:0.0.15-alpha.0" - dependencies: - "@inquirer/core": ^0.0.15-alpha.0 - chalk: ^4.1.1 - checksum: c294b2fa100e2955e271b1b0590b5f360c65c560d653f39554cd381f145fdf13be9ea2c3c069d39a71f84fc3c8ba20d9d78a0b210f8cb5533d138567029e28ee - languageName: node - linkType: hard - "@istanbuljs/load-nyc-config@npm:^1.0.0": version: 1.1.0 resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" @@ -1281,7 +1243,6 @@ __metadata: "@types/jest": ^26.0.22 deepmerge: ^4.2.2 jest: ^26.4.2 - jest-it-up: ^2.0.2 ts-jest: ^26.5.2 typedoc: ^0.22.15 typedoc-plugin-missing-exports: ^0.22.6 @@ -1298,7 +1259,6 @@ __metadata: "@types/jest": ^26.0.22 deepmerge: ^4.2.2 jest: ^26.4.2 - jest-it-up: ^2.0.2 ts-jest: ^26.5.2 typedoc: ^0.22.15 typedoc-plugin-missing-exports: ^0.22.6 @@ -1317,7 +1277,6 @@ __metadata: eth-rpc-errors: ^4.0.0 immer: ^9.0.6 jest: ^26.4.2 - jest-it-up: ^2.0.2 nanoid: ^3.1.31 sinon: ^9.2.4 ts-jest: ^26.5.2 @@ -1353,7 +1312,6 @@ __metadata: ethjs-provider-http: ^0.1.6 immer: ^9.0.6 jest: ^26.4.2 - jest-it-up: ^2.0.2 multiformats: ^9.5.2 nock: ^13.0.7 single-call-balance-checker-abi: ^1.0.0 @@ -1391,7 +1349,6 @@ __metadata: deepmerge: ^4.2.2 immer: ^9.0.6 jest: ^26.4.2 - jest-it-up: ^2.0.2 sinon: ^9.2.4 ts-jest: ^26.5.2 typedoc: ^0.22.15 @@ -1428,7 +1385,6 @@ __metadata: deepmerge: ^4.2.2 immer: ^9.0.6 jest: ^26.4.2 - jest-it-up: ^2.0.2 sinon: ^9.2.4 ts-jest: ^26.5.2 typedoc: ^0.22.15 @@ -1460,7 +1416,6 @@ __metadata: fast-deep-equal: ^3.1.3 isomorphic-fetch: ^3.0.0 jest: ^26.4.2 - jest-it-up: ^2.0.2 nock: ^13.0.7 ts-jest: ^26.5.2 typedoc: ^0.22.15 @@ -1507,7 +1462,6 @@ __metadata: "@types/jest": ^26.0.22 deepmerge: ^4.2.2 jest: ^26.4.2 - jest-it-up: ^2.0.2 ts-jest: ^26.5.2 typedoc: ^0.22.15 typedoc-plugin-missing-exports: ^0.22.6 @@ -1607,7 +1561,6 @@ __metadata: ethjs-unit: ^0.1.6 immer: ^9.0.6 jest: ^26.4.2 - jest-it-up: ^2.0.2 jest-when: ^3.4.2 nock: ^13.0.7 sinon: ^9.2.4 @@ -1640,7 +1593,6 @@ __metadata: ethereumjs-util: ^7.1.4 ethereumjs-wallet: ^1.0.1 jest: ^26.4.2 - jest-it-up: ^2.0.2 sinon: ^9.2.4 ts-jest: ^26.5.2 typedoc: ^0.22.15 @@ -1663,7 +1615,6 @@ __metadata: eth-sig-util: ^3.0.0 ethereumjs-util: ^7.1.4 jest: ^26.4.2 - jest-it-up: ^2.0.2 jsonschema: ^1.2.4 ts-jest: ^26.5.2 typedoc: ^0.22.15 @@ -1694,7 +1645,6 @@ __metadata: eth-query: ^2.1.2 immer: ^9.0.6 jest: ^26.4.2 - jest-it-up: ^2.0.2 sinon: ^9.2.4 ts-jest: ^26.5.2 typedoc: ^0.22.15 @@ -1715,7 +1665,6 @@ __metadata: deepmerge: ^4.2.2 immer: ^9.0.6 jest: ^26.4.2 - jest-it-up: ^2.0.2 nanoid: ^3.1.31 ts-jest: ^26.5.2 typedoc: ^0.22.15 @@ -1750,7 +1699,6 @@ __metadata: eth-rpc-errors: ^4.0.0 immer: ^9.0.6 jest: ^26.4.2 - jest-it-up: ^2.0.2 json-rpc-engine: ^6.1.0 nanoid: ^3.1.31 ts-jest: ^26.5.2 @@ -1773,7 +1721,6 @@ __metadata: eth-phishing-detect: ^1.2.0 isomorphic-fetch: ^3.0.0 jest: ^26.4.2 - jest-it-up: ^2.0.2 nock: ^13.0.7 punycode: ^2.1.1 sinon: ^9.2.4 @@ -1794,7 +1741,6 @@ __metadata: "@types/jest": ^26.0.22 deepmerge: ^4.2.2 jest: ^26.4.2 - jest-it-up: ^2.0.2 ts-jest: ^26.5.2 typedoc: ^0.22.15 typedoc-plugin-missing-exports: ^0.22.6 @@ -1813,7 +1759,6 @@ __metadata: eth-rpc-errors: ^4.0.0 immer: ^9.0.6 jest: ^26.4.2 - jest-it-up: ^2.0.2 ts-jest: ^26.5.2 typedoc: ^0.22.15 typedoc-plugin-missing-exports: ^0.22.6 @@ -1840,7 +1785,6 @@ __metadata: deepmerge: ^4.2.2 immer: ^9.0.6 jest: ^26.4.2 - jest-it-up: ^2.0.2 ts-jest: ^26.5.2 typedoc: ^0.22.15 typedoc-plugin-missing-exports: ^0.22.6 @@ -1869,7 +1813,6 @@ __metadata: ethjs-provider-http: ^0.1.6 isomorphic-fetch: ^3.0.0 jest: ^26.4.2 - jest-it-up: ^2.0.2 sinon: ^9.2.4 ts-jest: ^26.5.2 typedoc: ^0.22.15 @@ -2606,7 +2549,7 @@ __metadata: languageName: node linkType: hard -"ansi-colors@npm:^4.1.0, ansi-colors@npm:^4.1.1": +"ansi-colors@npm:^4.1.1": version: 4.1.3 resolution: "ansi-colors@npm:4.1.3" checksum: a9c2ec842038a1fabc7db9ece7d3177e2fe1c5dc6f0c51ecfbf5f39911427b89c00b5dc6b8bd95f82a26e9b16aaae2e83d45f060e98070ce4d1333038edceb0e @@ -3447,7 +3390,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.1.1": +"chalk@npm:^4.0.0": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -3530,20 +3473,6 @@ __metadata: languageName: node linkType: hard -"cli-spinners@npm:^2.6.0": - version: 2.7.0 - resolution: "cli-spinners@npm:2.7.0" - checksum: a9afaf73f58d1f951fb23742f503631b3cf513f43f4c7acb1b640100eb76bfa16efbcd1994d149ffc6603a6d75dd3d4a516a76f125f90dce437de9b16fd0ee6f - languageName: node - linkType: hard - -"cli-width@npm:^3.0.0": - version: 3.0.0 - resolution: "cli-width@npm:3.0.0" - checksum: 4c94af3769367a70e11ed69aa6095f1c600c0ff510f3921ab4045af961820d57c0233acfa8b6396037391f31b4c397e1f614d234294f979ff61430a6c166c3f6 - languageName: node - linkType: hard - "cliui@npm:^6.0.0": version: 6.0.0 resolution: "cliui@npm:6.0.0" @@ -3654,13 +3583,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^9.0.0": - version: 9.4.0 - resolution: "commander@npm:9.4.0" - checksum: a322de584a6ccd1ea83c24f6a660e52d16ffbe2613fcfbb8d2cc68bc9dec637492456d754fe8bb5b039ad843ed8e04fb0b107e581a75f62cde9e1a0ab1546e09 - languageName: node - linkType: hard - "comment-parser@npm:1.2.4": version: 1.2.4 resolution: "comment-parser@npm:1.2.4" @@ -6883,19 +6805,6 @@ __metadata: languageName: node linkType: hard -"jest-it-up@npm:^2.0.2": - version: 2.0.2 - resolution: "jest-it-up@npm:2.0.2" - dependencies: - "@inquirer/confirm": ^0.0.14-alpha.0 - ansi-colors: ^4.1.0 - commander: ^9.0.0 - bin: - jest-it-up: bin/jest-it-up - checksum: 1482d8b9862331b6cc7d858fd1c05d95fb1bc2adbc37e243c20e6e10f259fecf600d3b1023dadf11acadb158ea171677f8f375969e058dff46002be81a49079b - languageName: node - linkType: hard - "jest-jasmine2@npm:^26.6.3": version: 26.6.3 resolution: "jest-jasmine2@npm:26.6.3" @@ -8059,13 +7968,6 @@ __metadata: languageName: node linkType: hard -"mute-stream@npm:^0.0.8": - version: 0.0.8 - resolution: "mute-stream@npm:0.0.8" - checksum: ff48d251fc3f827e5b1206cda0ffdaec885e56057ee86a3155e1951bc940fd5f33531774b1cc8414d7668c10a8907f863f6561875ee6e8768931a62121a531a1 - languageName: node - linkType: hard - "nanoid@npm:^3.1.31": version: 3.3.4 resolution: "nanoid@npm:3.3.4" @@ -9275,13 +9177,6 @@ __metadata: languageName: node linkType: hard -"run-async@npm:^2.3.0": - version: 2.4.1 - resolution: "run-async@npm:2.4.1" - checksum: a2c88aa15df176f091a2878eb840e68d0bdee319d8d97bbb89112223259cebecb94bc0defd735662b83c2f7a30bed8cddb7d1674eb48ae7322dc602b22d03797 - languageName: node - linkType: hard - "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" From 4be5e3a1d505b179c1bb157867611c387457ff97 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 09:51:35 -0600 Subject: [PATCH 066/115] Restore previous changes to yarn.lock --- yarn.lock | 5136 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 3050 insertions(+), 2086 deletions(-) diff --git a/yarn.lock b/yarn.lock index a7a4b8637a..aff034a3f9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,16 +5,6 @@ __metadata: version: 6 cacheKey: 8 -"@ampproject/remapping@npm:^2.1.0": - version: 2.2.0 - resolution: "@ampproject/remapping@npm:2.2.0" - dependencies: - "@jridgewell/gen-mapping": ^0.1.0 - "@jridgewell/trace-mapping": ^0.3.9 - checksum: d74d170d06468913921d72430259424b7e4c826b5a7d39ff839a29d547efb97dc577caa8ba3fb5cf023624e9af9d09651afc3d4112a45e2050328abc9b3a2292 - languageName: node - linkType: hard - "@apocentre/alias-sampling@npm:^0.5.3": version: 0.5.3 resolution: "@apocentre/alias-sampling@npm:0.5.3" @@ -31,211 +21,277 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/code-frame@npm:7.18.6" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/code-frame@npm:7.5.5" + dependencies: + "@babel/highlight": ^7.0.0 + checksum: b4cb24f103ac96451c02efad3c9118533ff4c4e105f2153870d715af0715633ac6c269d7b9473b0c491fc2a7ef02efd6a0817a173896aef6d7279b61139dec22 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/code-frame@npm:7.10.4" dependencies: - "@babel/highlight": ^7.18.6 - checksum: 195e2be3172d7684bf95cff69ae3b7a15a9841ea9d27d3c843662d50cdd7d6470fd9c8e64be84d031117e4a4083486effba39f9aef6bbb2c89f7f21bcfba33ba + "@babel/highlight": ^7.10.4 + checksum: feb4543c8a509fe30f0f6e8d7aa84f82b41148b963b826cd330e34986f649a85cb63b2f13dd4effdf434ac555d16f14940b8ea5f4433297c2f5ff85486ded019 languageName: node linkType: hard -"@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.19.3": - version: 7.19.3 - resolution: "@babel/compat-data@npm:7.19.3" - checksum: e6014cdb31f3e893a1bde6dd3ae05c8f946778318fa337b18b546ace6f9c9f7a5033fd9447070ebc8e820fa9fc7e0a30d4e354989e091900305a876b44346c8f +"@babel/code-frame@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/code-frame@npm:7.8.3" + dependencies: + "@babel/highlight": ^7.8.3 + checksum: 5f3172b0c8d5db625fb88c9f6ab909cb164645152176dfa14c927c19c0774c41fa9ba494cb19cb5d152a414bd6732c41eae708f9f635e02a4ed0889ac239fe4c languageName: node linkType: hard -"@babel/core@npm:^7.1.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.7.5": - version: 7.19.3 - resolution: "@babel/core@npm:7.19.3" +"@babel/core@npm:^7.1.0": + version: 7.5.5 + resolution: "@babel/core@npm:7.5.5" dependencies: - "@ampproject/remapping": ^2.1.0 - "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.19.3 - "@babel/helper-compilation-targets": ^7.19.3 - "@babel/helper-module-transforms": ^7.19.0 - "@babel/helpers": ^7.19.0 - "@babel/parser": ^7.19.3 - "@babel/template": ^7.18.10 - "@babel/traverse": ^7.19.3 - "@babel/types": ^7.19.3 + "@babel/code-frame": ^7.5.5 + "@babel/generator": ^7.5.5 + "@babel/helpers": ^7.5.5 + "@babel/parser": ^7.5.5 + "@babel/template": ^7.4.4 + "@babel/traverse": ^7.5.5 + "@babel/types": ^7.5.5 + convert-source-map: ^1.1.0 + debug: ^4.1.0 + json5: ^2.1.0 + lodash: ^4.17.13 + resolve: ^1.3.2 + semver: ^5.4.1 + source-map: ^0.5.0 + checksum: e0765a716787a4b707f62f90e70a4b7c312c22544650b6e6c24f0cf3d80cd6b3e7257e1f9cca900dc615839a00d1b345fce86bcbf22342c6400be8e5e234c7e1 + languageName: node + linkType: hard + +"@babel/core@npm:^7.7.5": + version: 7.8.7 + resolution: "@babel/core@npm:7.8.7" + dependencies: + "@babel/code-frame": ^7.8.3 + "@babel/generator": ^7.8.7 + "@babel/helpers": ^7.8.4 + "@babel/parser": ^7.8.7 + "@babel/template": ^7.8.6 + "@babel/traverse": ^7.8.6 + "@babel/types": ^7.8.7 convert-source-map: ^1.7.0 debug: ^4.1.0 - gensync: ^1.0.0-beta.2 - json5: ^2.2.1 - semver: ^6.3.0 - checksum: dd883311209ad5a2c65b227daeb7247d90a382c50f4c6ad60c5ee40927eb39c34f0690d93b775c0427794261b72fa8f9296589a2dbda0782366a9f1c6de00c08 + gensync: ^1.0.0-beta.1 + json5: ^2.1.0 + lodash: ^4.17.13 + resolve: ^1.3.2 + semver: ^5.4.1 + source-map: ^0.5.0 + checksum: 403431de9b2548da77152eaeded2dc2d86d11cbc228676ff0014e413f11ddbf120b7251b0b42b5cfc71d91ccd5cda0c7eeb72b766bf775c38859ace2ad117a5a languageName: node linkType: hard -"@babel/generator@npm:^7.19.3": - version: 7.19.3 - resolution: "@babel/generator@npm:7.19.3" +"@babel/generator@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/generator@npm:7.5.5" dependencies: - "@babel/types": ^7.19.3 - "@jridgewell/gen-mapping": ^0.3.2 + "@babel/types": ^7.5.5 jsesc: ^2.5.1 - checksum: b1585e398f6c37f442a2fdac964a326b348fbc8fb99a6aaf4f72bbe993adb0ca792bc0a9c65e59930b2a2e55eb5aa3aab360ceb678d3d40692eb0cda2b7b6aa6 + lodash: ^4.17.13 + source-map: ^0.5.0 + trim-right: ^1.0.1 + checksum: efe56ad62976dc948d1649fa8d43b3abf27f711d5635df98ab695ed440bbc07367fa45590673a2e996759bfb710ca70f11331eda8590f455e66057da3825dc22 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.19.3": - version: 7.19.3 - resolution: "@babel/helper-compilation-targets@npm:7.19.3" +"@babel/generator@npm:^7.8.6, @babel/generator@npm:^7.8.7": + version: 7.8.8 + resolution: "@babel/generator@npm:7.8.8" dependencies: - "@babel/compat-data": ^7.19.3 - "@babel/helper-validator-option": ^7.18.6 - browserslist: ^4.21.3 - semver: ^6.3.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: aafcb4490c98cddb3255fff98bfbdb881b4def85a1935fd9b1f9b1f0f8b502696839f6b387fb508ca991ea72ba82ce6913bab99f21df4ce80bda2b79e91a09f5 + "@babel/types": ^7.8.7 + jsesc: ^2.5.1 + lodash: ^4.17.13 + source-map: ^0.5.0 + checksum: c9a989da2c134cc969cb22debb6d4c98edbe44662101b4bc465fea3c748079ae784d629969c62bf9b9ee1e6f5c7f694c4d84cf773e1e7a3ff6e10e925d3ac920 languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.3.3": - version: 0.3.3 - resolution: "@babel/helper-define-polyfill-provider@npm:0.3.3" +"@babel/helper-function-name@npm:^7.1.0": + version: 7.1.0 + resolution: "@babel/helper-function-name@npm:7.1.0" dependencies: - "@babel/helper-compilation-targets": ^7.17.7 - "@babel/helper-plugin-utils": ^7.16.7 - debug: ^4.1.1 - lodash.debounce: ^4.0.8 - resolve: ^1.14.2 - semver: ^6.1.2 - peerDependencies: - "@babel/core": ^7.4.0-0 - checksum: 8e3fe75513302e34f6d92bd67b53890e8545e6c5bca8fe757b9979f09d68d7e259f6daea90dc9e01e332c4f8781bda31c5fe551c82a277f9bc0bec007aed497c + "@babel/helper-get-function-arity": ^7.0.0 + "@babel/template": ^7.1.0 + "@babel/types": ^7.0.0 + checksum: 8d39aa4b9834d831609e709573b45c1c6dbc91a9d0f82cbbd05b6770f8eb14d6cd5562221e1319c7ec1b2636679e3bfc69e8900f0f6535d44c7ebfc886ab3fdb languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/helper-environment-visitor@npm:7.18.9" - checksum: b25101f6162ddca2d12da73942c08ad203d7668e06663df685634a8fde54a98bc015f6f62938e8554457a592a024108d45b8f3e651fd6dcdb877275b73cc4420 +"@babel/helper-function-name@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-function-name@npm:7.8.3" + dependencies: + "@babel/helper-get-function-arity": ^7.8.3 + "@babel/template": ^7.8.3 + "@babel/types": ^7.8.3 + checksum: 894aacdc06dae92900a35c3b2b6fc92be3476fa366b9e2f75cc34c21f80c9b3d49532604851c8b385d6e06b3c421d41c295ac260256659600893cb71020f49c4 languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/helper-function-name@npm:7.19.0" +"@babel/helper-get-function-arity@npm:^7.0.0": + version: 7.0.0 + resolution: "@babel/helper-get-function-arity@npm:7.0.0" dependencies: - "@babel/template": ^7.18.10 - "@babel/types": ^7.19.0 - checksum: eac1f5db428ba546270c2b8d750c24eb528b8fcfe50c81de2e0bdebf0e20f24bec688d4331533b782e4a907fad435244621ca2193cfcf80a86731299840e0f6e + "@babel/types": ^7.0.0 + checksum: 52444ebf7545780ef2915d8255702e728dcf370edda83f0d0d76bc750c12aafaebcb3a3c032e9054e50e45b3c2f07e774d846a35f17f6e73075cb4cfd9a17a36 languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-hoist-variables@npm:7.18.6" +"@babel/helper-get-function-arity@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-get-function-arity@npm:7.8.3" dependencies: - "@babel/types": ^7.18.6 - checksum: fd9c35bb435fda802bf9ff7b6f2df06308a21277c6dec2120a35b09f9de68f68a33972e2c15505c1a1a04b36ec64c9ace97d4a9e26d6097b76b4396b7c5fa20f + "@babel/types": ^7.8.3 + checksum: f36d939bc565576f47c546ee636a37d0597ebdde30182db974cf47b27d4ee3a72a53233e45bdb57dac306ff5b03a2083d9d2fa8291d95d93bfe4f6213a6901e2 languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-module-imports@npm:7.18.6" +"@babel/helper-module-imports@npm:^7.0.0": + version: 7.0.0 + resolution: "@babel/helper-module-imports@npm:7.0.0" dependencies: - "@babel/types": ^7.18.6 - checksum: f393f8a3b3304b1b7a288a38c10989de754f01d29caf62ce7c4e5835daf0a27b81f3ac687d9d2780d39685aae7b55267324b512150e7b2be967b0c493b6a1def + "@babel/types": ^7.0.0 + checksum: 560fcc6388fa29122afe1c42606a1e3bf553845eef9c4cf13f9871df4104c30153688f34ba174d50dc061c641728253b3fcf8530216e09457e72f6c399e44317 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/helper-module-transforms@npm:7.19.0" - dependencies: - "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-module-imports": ^7.18.6 - "@babel/helper-simple-access": ^7.18.6 - "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/helper-validator-identifier": ^7.18.6 - "@babel/template": ^7.18.10 - "@babel/traverse": ^7.19.0 - "@babel/types": ^7.19.0 - checksum: 4483276c66f56cf3b5b063634092ad9438c2593725de5c143ba277dda82f1501e6d73b311c1b28036f181dbe36eaeff29f24726cde37a599d4e735af294e5359 +"@babel/helper-plugin-utils@npm:^7.0.0": + version: 7.0.0 + resolution: "@babel/helper-plugin-utils@npm:7.0.0" + checksum: 896d74329d5362faf667d13e6351e93ec7e265a9560e6927f0d71a069abb49e44c1f9c1e04a003c46c550d8366e45ea7229a61ca5ba5e9059f54f15ed72c3952 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.19.0 - resolution: "@babel/helper-plugin-utils@npm:7.19.0" - checksum: eedc996c633c8c207921c26ec2989eae0976336ecd9b9f1ac526498f52b5d136f7cd03c32b6fdf8d46a426f907c142de28592f383c42e5fba1e904cbffa05345 +"@babel/helper-plugin-utils@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helper-plugin-utils@npm:7.10.4" + checksum: 639ed8fc462b97a83226cee6bb081b1d77e7f73e8b033d2592ed107ee41d96601e321e5ea53a33e47469c7f1146b250a3dcda5ab873c7de162ab62120c341a41 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.8.0": + version: 7.8.3 + resolution: "@babel/helper-plugin-utils@npm:7.8.3" + checksum: c81ed4d3c5670c28921b1598ff97f676d8ee848afb8dc643be095bd1b289e7ee5ea9a3bb15c0dcf6ce9b30a53ef71ec4863a678734be3cfef69fed430516882a languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-simple-access@npm:7.18.6" +"@babel/helper-split-export-declaration@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/helper-split-export-declaration@npm:7.4.4" dependencies: - "@babel/types": ^7.18.6 - checksum: 37cd36eef199e0517845763c1e6ff6ea5e7876d6d707a6f59c9267c547a50aa0e84260ba9285d49acfaf2cfa0a74a772d92967f32ac1024c961517d40b6c16a5 + "@babel/types": ^7.4.4 + checksum: e06706ce971aef04ff044ef899a1884270d0bbc7978dea87a0a6b02fe2b6ef8eb81e062b412bf2c51fdf8b11ee651dc3fd3f58ff10c8b98063627fca6fedce09 languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-split-export-declaration@npm:7.18.6" +"@babel/helper-split-export-declaration@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-split-export-declaration@npm:7.8.3" dependencies: - "@babel/types": ^7.18.6 - checksum: c6d3dede53878f6be1d869e03e9ffbbb36f4897c7cc1527dc96c56d127d834ffe4520a6f7e467f5b6f3c2843ea0e81a7819d66ae02f707f6ac057f3d57943a2b + "@babel/types": ^7.8.3 + checksum: a8b5ce6d309002ef85f1514346f3929653c7319f40d98b7d56014a26b7c8b7517cabca12007c71bda513d0f1a0b7548afe9646ee269cbad2b7e7e43455fa0eef + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helper-validator-identifier@npm:7.10.4" + checksum: 3cbfdff0efea8f3bca050cfe408a156604293d3313c7279c8c02d916a0b3ef82617f28f7729877a94c0e8e922d4b7623c4f0a108ae2853bf762d933e101a5f8c languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.18.10": - version: 7.18.10 - resolution: "@babel/helper-string-parser@npm:7.18.10" - checksum: d554a4393365b624916b5c00a4cc21c990c6617e7f3fe30be7d9731f107f12c33229a7a3db9d829bfa110d2eb9f04790745d421640e3bd245bb412dc0ea123c1 +"@babel/helpers@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/helpers@npm:7.5.5" + dependencies: + "@babel/template": ^7.4.4 + "@babel/traverse": ^7.5.5 + "@babel/types": ^7.5.5 + checksum: 6db426b254d97e75018b8bc1e5e31840e15b3e5eff4adbaec838b5360bf23507375a0ffd3ecd8a28ef0c3de825b0cde85f3880be9d23c1ffcfadbc1571a13ba4 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1": - version: 7.19.1 - resolution: "@babel/helper-validator-identifier@npm:7.19.1" - checksum: 0eca5e86a729162af569b46c6c41a63e18b43dbe09fda1d2a3c8924f7d617116af39cac5e4cd5d431bb760b4dca3c0970e0c444789b1db42bcf1fa41fbad0a3a +"@babel/helpers@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/helpers@npm:7.8.4" + dependencies: + "@babel/template": ^7.8.3 + "@babel/traverse": ^7.8.4 + "@babel/types": ^7.8.3 + checksum: 9deb8d3af09d49970b599ff64dfb834846e34f612ef2effc06d3ad643c7c6f3011b0b98d1a57f8ef572dbd6ffe32a2a6a1e378d3d891057fdaae3e8c06e0ee40 languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-validator-option@npm:7.18.6" - checksum: f9cc6eb7cc5d759c5abf006402180f8d5e4251e9198197428a97e05d65eb2f8ae5a0ce73b1dfd2d35af41d0eb780627a64edf98a4e71f064eeeacef8de58f2cf +"@babel/highlight@npm:^7.0.0": + version: 7.5.0 + resolution: "@babel/highlight@npm:7.5.0" + dependencies: + chalk: ^2.0.0 + esutils: ^2.0.2 + js-tokens: ^4.0.0 + checksum: 607ad0ae98515b948c92be206aaade063b08d76131714df21ac74202ef354ac3534488ee18ac01458a7ff19721beec73c016e04813243c52dcf32521e063fc56 languageName: node linkType: hard -"@babel/helpers@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/helpers@npm:7.19.0" +"@babel/highlight@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/highlight@npm:7.10.4" dependencies: - "@babel/template": ^7.18.10 - "@babel/traverse": ^7.19.0 - "@babel/types": ^7.19.0 - checksum: e50e78e0dbb0435075fa3f85021a6bcae529589800bca0292721afd7f7c874bea54508d6dc57eca16e5b8224f8142c6b0e32e3b0140029dc09865da747da4623 + "@babel/helper-validator-identifier": ^7.10.4 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: 6fab4679162562907942acc3647bc8c405b955f3bef7c654ef160491d0801ebdc12651c2051144dc0e22b69044fe3059d630151d5d7fb84b10ed4093da707707 languageName: node linkType: hard -"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/highlight@npm:7.18.6" +"@babel/highlight@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/highlight@npm:7.8.3" dependencies: - "@babel/helper-validator-identifier": ^7.18.6 chalk: ^2.0.0 + esutils: ^2.0.2 js-tokens: ^4.0.0 - checksum: 92d8ee61549de5ff5120e945e774728e5ccd57fd3b2ed6eace020ec744823d4a98e242be1453d21764a30a14769ecd62170fba28539b211799bbaf232bbb2789 + checksum: 25e5d54b6c3ef83891af01988e50bf17dc785739c48cf66456c5c274203c39ab68c95b387018fc1b37c8feb199c1f489dae266ee44e45e36fd8a30e21e2822fa + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.4.4, @babel/parser@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/parser@npm:7.5.5" + bin: + parser: ./bin/babel-parser.js + checksum: a534d085baaef6b8971274affbcb35a5652cb7b7439058f42822031a726c10f6a77b8e59ceed1940485f7d08b9bb6e7e8970d5283ab2ec6c7cc6f6b394306e2f + languageName: node + linkType: hard + +"@babel/parser@npm:^7.10.4": + version: 7.11.5 + resolution: "@babel/parser@npm:7.11.5" + bin: + parser: ./bin/babel-parser.js + checksum: 3cd9834e0e072114974b214473002b40792c3f19779a39d63dd832d99a48762b9ab158762f45547f2cc8f0fbdac2727a07d1f005f175b14c1af3ec6cd9916d3d languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.19.3": - version: 7.19.3 - resolution: "@babel/parser@npm:7.19.3" +"@babel/parser@npm:^7.7.5, @babel/parser@npm:^7.8.6, @babel/parser@npm:^7.8.7": + version: 7.8.8 + resolution: "@babel/parser@npm:7.8.8" bin: parser: ./bin/babel-parser.js - checksum: 854f1390328a8cea5d95ed2a8655a8976cdb41e72393845df0f86088dc777817a5e015a1a61739d312accccf1a22358fb70707a013d25596251cceba2c8985ee + checksum: c5c7fbbdf8df83ff2c3efe874a584ca1622a2df8e591054f97002038033532e4633cd561acc27c3c9ac1fa8cdd3c239579670b556c801d41a9ec96fd30ac388f languageName: node linkType: hard @@ -262,13 +318,13 @@ __metadata: linkType: hard "@babel/plugin-syntax-class-properties@npm:^7.8.3": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" + version: 7.10.4 + resolution: "@babel/plugin-syntax-class-properties@npm:7.10.4" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.10.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 24f34b196d6342f28d4bad303612d7ff566ab0a013ce89e775d98d6f832969462e7235f3e7eaf17678a533d4be0ba45d3ae34ab4e5a9dcbda5d98d49e5efa2fc + checksum: 454db1392c5415abf0681a619e71c667df94f7c7587767016b804c4b84180ed4fc00cefcae677850fa356c991085ab61ae524c4d4bab95445cb4aa0a3af96017 languageName: node linkType: hard @@ -360,79 +416,126 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.8.3": - version: 7.14.5 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" +"@babel/plugin-transform-runtime@npm:^7.5.5": + version: 7.6.2 + resolution: "@babel/plugin-transform-runtime@npm:7.6.2" dependencies: - "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-module-imports": ^7.0.0 + "@babel/helper-plugin-utils": ^7.0.0 + resolve: ^1.8.1 + semver: ^5.5.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bbd1a56b095be7820029b209677b194db9b1d26691fe999856462e66b25b281f031f3dfd91b1619e9dcf95bebe336211833b854d0fb8780d618e35667c2d0d7e + checksum: f8040ae8d7e476eb5830f68abc34dab4ce2c09fba360701ac72d681b8567f76fe059b3f456a06b912e56194ed420b59d1bcd8d0e37514156d79d6eb8be72f30b languageName: node linkType: hard -"@babel/plugin-transform-runtime@npm:^7.5.5": - version: 7.19.1 - resolution: "@babel/plugin-transform-runtime@npm:7.19.1" - dependencies: - "@babel/helper-module-imports": ^7.18.6 - "@babel/helper-plugin-utils": ^7.19.0 - babel-plugin-polyfill-corejs2: ^0.3.3 - babel-plugin-polyfill-corejs3: ^0.6.0 - babel-plugin-polyfill-regenerator: ^0.4.1 - semver: ^6.3.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d9f693003a546b380a7322087490a51e8c6cd47b44e654f5030f96088cf7888b6c746d6335f723581154aaceed4ef0877acfa642f054ce3beb6ba9bb970987f4 +"@babel/runtime@npm:^7.5.5": + version: 7.6.3 + resolution: "@babel/runtime@npm:7.6.3" + dependencies: + regenerator-runtime: ^0.13.2 + checksum: a5d802cc9d895d976a292a467bf4c8ec11c7194a166d90b9143fd8a37767f05d0ca173174d134ba0e722b15312cad2b387e7243e133b1b2d29c184dd0f15a3fd languageName: node linkType: hard -"@babel/runtime@npm:^7.5.5": - version: 7.19.0 - resolution: "@babel/runtime@npm:7.19.0" +"@babel/template@npm:^7.1.0, @babel/template@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/template@npm:7.4.4" + dependencies: + "@babel/code-frame": ^7.0.0 + "@babel/parser": ^7.4.4 + "@babel/types": ^7.4.4 + checksum: c9e9665de0fbb1831a672737a1317a4d546f6dbfc77816431a3248ca8d87c7f0deb17276a7cfac2392c31933be72112fc39d588e360e41f0881e7681092b0ec1 + languageName: node + linkType: hard + +"@babel/template@npm:^7.3.3": + version: 7.10.4 + resolution: "@babel/template@npm:7.10.4" + dependencies: + "@babel/code-frame": ^7.10.4 + "@babel/parser": ^7.10.4 + "@babel/types": ^7.10.4 + checksum: 174a1fbfa19ed68141c9a047ff02972ebd3e8c7a98a00ffa79d4958d0f31bcfe17766987c2064d7fae851a277e1c499a05a527df346b3821d9aa9f730979cea9 + languageName: node + linkType: hard + +"@babel/template@npm:^7.7.4, @babel/template@npm:^7.8.3, @babel/template@npm:^7.8.6": + version: 7.8.6 + resolution: "@babel/template@npm:7.8.6" dependencies: - regenerator-runtime: ^0.13.4 - checksum: fa69c351bb05e1db3ceb9a02fdcf620c234180af68cdda02152d3561015f6d55277265d3109815992f96d910f3db709458cae4f8df1c3def66f32e0867d82294 + "@babel/code-frame": ^7.8.3 + "@babel/parser": ^7.8.6 + "@babel/types": ^7.8.6 + checksum: 1c27003567f77a10a5350aad61b630532de4b3ab250fbab052e9f43cef18ab253f2bbea7618a6f6d7c3a59f28e24c8f575847951fddd2fac50ca265722b8cc74 languageName: node linkType: hard -"@babel/template@npm:^7.18.10, @babel/template@npm:^7.3.3": - version: 7.18.10 - resolution: "@babel/template@npm:7.18.10" +"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/traverse@npm:7.5.5" dependencies: - "@babel/code-frame": ^7.18.6 - "@babel/parser": ^7.18.10 - "@babel/types": ^7.18.10 - checksum: 93a6aa094af5f355a72bd55f67fa1828a046c70e46f01b1606e6118fa1802b6df535ca06be83cc5a5e834022be95c7b714f0a268b5f20af984465a71e28f1473 + "@babel/code-frame": ^7.5.5 + "@babel/generator": ^7.5.5 + "@babel/helper-function-name": ^7.1.0 + "@babel/helper-split-export-declaration": ^7.4.4 + "@babel/parser": ^7.5.5 + "@babel/types": ^7.5.5 + debug: ^4.1.0 + globals: ^11.1.0 + lodash: ^4.17.13 + checksum: 099dc9740f74646fd67e10747e70ea0d4674ed8acff6b605ac592ae2f20af086f0b5b3efc0e5a7afe23093e2db9dd5d5fa59371c9aab9cdcf95b494415e221f3 languageName: node linkType: hard -"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.19.0, @babel/traverse@npm:^7.19.3": - version: 7.19.3 - resolution: "@babel/traverse@npm:7.19.3" +"@babel/traverse@npm:^7.7.4, @babel/traverse@npm:^7.8.4, @babel/traverse@npm:^7.8.6": + version: 7.8.6 + resolution: "@babel/traverse@npm:7.8.6" dependencies: - "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.19.3 - "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-function-name": ^7.19.0 - "@babel/helper-hoist-variables": ^7.18.6 - "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/parser": ^7.19.3 - "@babel/types": ^7.19.3 + "@babel/code-frame": ^7.8.3 + "@babel/generator": ^7.8.6 + "@babel/helper-function-name": ^7.8.3 + "@babel/helper-split-export-declaration": ^7.8.3 + "@babel/parser": ^7.8.6 + "@babel/types": ^7.8.6 debug: ^4.1.0 globals: ^11.1.0 - checksum: ef16c98fca7f2c347febd06737c13230ea103d619a0d6c142445bc8eff6359d2fce026f27dece02b4838f614cda8a9330bc4a576ccc6cd0ce21844d1d0205769 + lodash: ^4.17.13 + checksum: 1f21937a9d3768fc56571771529ba7942c9f33a1376799dec1a607ca1af92e953b7ff23bfca026cee2a505459247f292ddd15349bfd12bdb7ac94746cb9a979b + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/types@npm:7.5.5" + dependencies: + esutils: ^2.0.2 + lodash: ^4.17.13 + to-fast-properties: ^2.0.0 + checksum: 76d832bac201834b18d3fe61db220d796283ae3595d51d65c45516b1e44bb318d9906a9adaf4eebbf6400510828a70a821d8b0c9971bdb44408df041f09b4443 + languageName: node + linkType: hard + +"@babel/types@npm:^7.10.4, @babel/types@npm:^7.3.3": + version: 7.11.5 + resolution: "@babel/types@npm:7.11.5" + dependencies: + "@babel/helper-validator-identifier": ^7.10.4 + lodash: ^4.17.19 + to-fast-properties: ^2.0.0 + checksum: de2c1302f7c459d5786e8e3775c9162c07db86b4abac73368d4dfaea876bd4284241793b1f096685f74baab17b34f6c00d4a7ff03fb1bbea4d9fc46c9cae4b33 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.6, @babel/types@npm:^7.19.0, @babel/types@npm:^7.19.3, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.8.3": - version: 7.19.3 - resolution: "@babel/types@npm:7.19.3" +"@babel/types@npm:^7.8.3, @babel/types@npm:^7.8.6, @babel/types@npm:^7.8.7": + version: 7.8.7 + resolution: "@babel/types@npm:7.8.7" dependencies: - "@babel/helper-string-parser": ^7.18.10 - "@babel/helper-validator-identifier": ^7.19.1 + esutils: ^2.0.2 + lodash: ^4.17.13 to-fast-properties: ^2.0.0 - checksum: 34a5b3db3b99a1a80ec2a784c2bb0e48769a38f1526dc377a5753a3ac5e5704663c405a393117ecc7a9df9da07b01625be7c4c3fee43ae46aba23b0c40928d77 + checksum: f9520e5fdd7ad2805e34e4972370bfbb67309e271068aad9c7fb428320dc58f239306c5b0a7143ba51d92ee3a51f5f73902edb976d445c076245ad916201e701 languageName: node linkType: hard @@ -444,14 +547,14 @@ __metadata: linkType: hard "@cnakazawa/watch@npm:^1.0.3": - version: 1.0.4 - resolution: "@cnakazawa/watch@npm:1.0.4" + version: 1.0.3 + resolution: "@cnakazawa/watch@npm:1.0.3" dependencies: exec-sh: ^0.3.2 minimist: ^1.2.0 bin: - watch: cli.js - checksum: 88f395ca0af2f3c0665b8ce7bb29e83647ec5d141e8735712aeeee4117081555436712966b6957aa1c461f6f826a4d23b0034e379c443a10e919f81c8748bf29 + watch: ./cli.js + checksum: c11ca927d9e625ffa67d3d49b5a9a97d32ef82611abffdc645a41dd3b985a07c1d82c4a3dcc707fa193ef58494ccd21f3eb02fb22db3ce366654ccc364080864 languageName: node linkType: hard @@ -466,20 +569,30 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^0.4.3": - version: 0.4.3 - resolution: "@eslint/eslintrc@npm:0.4.3" +"@eslint/eslintrc@npm:^0.4.0": + version: 0.4.0 + resolution: "@eslint/eslintrc@npm:0.4.0" dependencies: ajv: ^6.12.4 debug: ^4.1.1 espree: ^7.3.0 - globals: ^13.9.0 + globals: ^12.1.0 ignore: ^4.0.6 import-fresh: ^3.2.1 js-yaml: ^3.13.1 minimatch: ^3.0.4 strip-json-comments: ^3.1.1 - checksum: 03a7704150b868c318aab6a94d87a33d30dc2ec579d27374575014f06237ba1370ae11178db772f985ef680d469dc237e7b16a1c5d8edaaeb8c3733e7a95a6d3 + checksum: c4e7a5021bfdd293aff47b1993a66aee3d7a71a6b13bc8036028c71aa08bdac232c8683f5bb55090d0f260ecf81f4159e1a28554c8ad242a372ee89583dc75af + languageName: node + linkType: hard + +"@ethereumjs/common@npm:^2.4.0": + version: 2.4.0 + resolution: "@ethereumjs/common@npm:2.4.0" + dependencies: + crc-32: ^1.2.0 + ethereumjs-util: ^7.1.0 + checksum: 46af3714500f24fe9586f0a65571fb9510c828699674106428f288fd0cfad667c1188f071f288184891d165edf0ed3f95440e00f062dacfcac9d871b709b5fd3 languageName: node linkType: hard @@ -512,7 +625,17 @@ __metadata: languageName: node linkType: hard -"@ethereumjs/tx@npm:^3.3.0, @ethereumjs/tx@npm:^3.5.2": +"@ethereumjs/tx@npm:^3.3.0": + version: 3.3.0 + resolution: "@ethereumjs/tx@npm:3.3.0" + dependencies: + "@ethereumjs/common": ^2.4.0 + ethereumjs-util: ^7.1.0 + checksum: f0720d4c7ccb670c50f61a3c26bf87181f3fddd4fe7f6c93753cca7c1442497719842ffb293db776c8c9a8c7107f18cb03eda3625d53cc5dda1bab736ff2a166 + languageName: node + linkType: hard + +"@ethereumjs/tx@npm:^3.5.2": version: 3.5.2 resolution: "@ethereumjs/tx@npm:3.5.2" dependencies: @@ -691,11 +814,11 @@ __metadata: linkType: hard "@ethersproject/networks@npm:^5.7.0": - version: 5.7.1 - resolution: "@ethersproject/networks@npm:5.7.1" + version: 5.7.0 + resolution: "@ethersproject/networks@npm:5.7.0" dependencies: "@ethersproject/logger": ^5.7.0 - checksum: 0339f312304c17d9a0adce550edb825d4d2c8c9468c1634c44172c67a9ed256f594da62c4cda5c3837a0f28b7fabc03aca9b492f68ff1fdad337ee861b27bd5d + checksum: 4f4d77e7c59e79cfcba616315a5d0e634a7653acbd11bb06a0028f4bd009b19f9a31556148a1e38f7308f55d1a1d170eb9f065290de9f9cf104b34e91cc348b8 languageName: node linkType: hard @@ -709,8 +832,8 @@ __metadata: linkType: hard "@ethersproject/providers@npm:^5.7.0": - version: 5.7.1 - resolution: "@ethersproject/providers@npm:5.7.1" + version: 5.7.0 + resolution: "@ethersproject/providers@npm:5.7.0" dependencies: "@ethersproject/abstract-provider": ^5.7.0 "@ethersproject/abstract-signer": ^5.7.0 @@ -732,7 +855,7 @@ __metadata: "@ethersproject/web": ^5.7.0 bech32: 1.1.4 ws: 7.4.6 - checksum: 673745e967e7215b46b7d3024f5ee02be975d6cf66b605f87a0e5beaa349d6d30c987165f98eceddaf7996f64a1ec414f0715f25fc3458aead6eea4c4820c399 + checksum: a6f80cea838424ceb367ff8e0f004f9fd6b43a87505da9d6aef33eb2bbc77cdb03ab51709ae83b7aa07d038fadf00634e08d8683fe6ae8b17b9351e3b30b26cb languageName: node linkType: hard @@ -810,15 +933,15 @@ __metadata: linkType: hard "@ethersproject/web@npm:^5.7.0": - version: 5.7.1 - resolution: "@ethersproject/web@npm:5.7.1" + version: 5.7.0 + resolution: "@ethersproject/web@npm:5.7.0" dependencies: "@ethersproject/base64": ^5.7.0 "@ethersproject/bytes": ^5.7.0 "@ethersproject/logger": ^5.7.0 "@ethersproject/properties": ^5.7.0 "@ethersproject/strings": ^5.7.0 - checksum: 7028c47103f82fd2e2c197ce0eecfacaa9180ffeec7de7845b1f4f9b19d84081b7a48227aaddde05a4aaa526af574a9a0ce01cc0fc75e3e371f84b38b5b16b2b + checksum: 9d4ca82f8b1295bbc1c59d58cb351641802d2f70f4b7d523fc726f51b0615296da6d6585dee5749b4d5e4a6a9af6d6650d46fe562d5b04f43a0af5c7f7f4a77e languageName: node linkType: hard @@ -829,149 +952,121 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.5.0": - version: 0.5.0 - resolution: "@humanwhocodes/config-array@npm:0.5.0" - dependencies: - "@humanwhocodes/object-schema": ^1.2.0 - debug: ^4.1.1 - minimatch: ^3.0.4 - checksum: 44ee6a9f05d93dd9d5935a006b17572328ba9caff8002442f601736cbda79c580cc0f5a49ce9eb88fbacc5c3a6b62098357c2e95326cd17bb9f1a6c61d6e95e7 - languageName: node - linkType: hard - -"@humanwhocodes/object-schema@npm:^1.2.0": - version: 1.2.1 - resolution: "@humanwhocodes/object-schema@npm:1.2.1" - checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 - languageName: node - linkType: hard - "@istanbuljs/load-nyc-config@npm:^1.0.0": - version: 1.1.0 - resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" + version: 1.0.0 + resolution: "@istanbuljs/load-nyc-config@npm:1.0.0" dependencies: 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 - checksum: d578da5e2e804d5c93228450a1380e1a3c691de4953acc162f387b717258512a3e07b83510a936d9fab03eac90817473917e24f5d16297af3867f59328d58568 + checksum: 6671bd5029a30c1215106d12f870a67a0f6d58f1e038173c84e0006f22f6e724eeee9e5ca8ae1bcb3e741d8ec4fd4390fdf92092c66302a3db189e16446c9cfc languageName: node linkType: hard "@istanbuljs/schema@npm:^0.1.2": - version: 0.1.3 - resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: 5282759d961d61350f33d9118d16bcaed914ebf8061a52f4fa474b2cb08720c9c81d165e13b82f2e5a8a212cc5af482f0c6fc1ac27b9e067e5394c9a6ed186c9 + version: 0.1.2 + resolution: "@istanbuljs/schema@npm:0.1.2" + checksum: 5ce9facf2f0e3f4a93e56853cdfd78456e22d2c210c677530046e9c634ddc323dd62423ac711cd3554b5be06052c87fb8e0c266aa9010726940654c357290e78 languageName: node linkType: hard -"@jest/console@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/console@npm:26.6.2" +"@jest/console@npm:^26.3.0": + version: 26.3.0 + resolution: "@jest/console@npm:26.3.0" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^26.3.0 "@types/node": "*" chalk: ^4.0.0 - jest-message-util: ^26.6.2 - jest-util: ^26.6.2 + jest-message-util: ^26.3.0 + jest-util: ^26.3.0 slash: ^3.0.0 - checksum: 69a9ca6ba357d7634fd537e3b87c64369865ffb59f57fe6661223088bd62273d0c1d660fefce3625a427f42a37d32590f6b291e1295ea6d6b7cb31ddae36a737 + checksum: 82a310dbc4d4969841c09a5b40f89060d3448650c27901293082f1174b5942f091ca2c62488803c5702ff2f18e50ada6903dd37037faab58dc7810fa8bde0df1 languageName: node linkType: hard -"@jest/core@npm:^26.6.3": - version: 26.6.3 - resolution: "@jest/core@npm:26.6.3" +"@jest/core@npm:^26.4.2": + version: 26.4.2 + resolution: "@jest/core@npm:26.4.2" dependencies: - "@jest/console": ^26.6.2 - "@jest/reporters": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/transform": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/console": ^26.3.0 + "@jest/reporters": ^26.4.1 + "@jest/test-result": ^26.3.0 + "@jest/transform": ^26.3.0 + "@jest/types": ^26.3.0 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 exit: ^0.1.2 graceful-fs: ^4.2.4 - jest-changed-files: ^26.6.2 - jest-config: ^26.6.3 - jest-haste-map: ^26.6.2 - jest-message-util: ^26.6.2 + jest-changed-files: ^26.3.0 + jest-config: ^26.4.2 + jest-haste-map: ^26.3.0 + jest-message-util: ^26.3.0 jest-regex-util: ^26.0.0 - jest-resolve: ^26.6.2 - jest-resolve-dependencies: ^26.6.3 - jest-runner: ^26.6.3 - jest-runtime: ^26.6.3 - jest-snapshot: ^26.6.2 - jest-util: ^26.6.2 - jest-validate: ^26.6.2 - jest-watcher: ^26.6.2 + jest-resolve: ^26.4.0 + jest-resolve-dependencies: ^26.4.2 + jest-runner: ^26.4.2 + jest-runtime: ^26.4.2 + jest-snapshot: ^26.4.2 + jest-util: ^26.3.0 + jest-validate: ^26.4.2 + jest-watcher: ^26.3.0 micromatch: ^4.0.2 p-each-series: ^2.1.0 rimraf: ^3.0.0 slash: ^3.0.0 strip-ansi: ^6.0.0 - checksum: f52b26ffe9b923ed67b3ff30e170b3a434d4263990f78d96cd43acbd0aa8ad36aecad2f1822f376da3a80228714fd6b7f7acd51744133cfcd2780ba0e3da537b + checksum: cdf83ea49ba262aa499df06465a6decebaf7abb3a9a10c1261dd6f9332f74ffc70d179ac0f0732597e15b3d3a5cb38aa8fdc7eeb29f9e87abb47b6412f3f7be2 languageName: node linkType: hard -"@jest/environment@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/environment@npm:26.6.2" +"@jest/environment@npm:^26.3.0": + version: 26.3.0 + resolution: "@jest/environment@npm:26.3.0" dependencies: - "@jest/fake-timers": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/fake-timers": ^26.3.0 + "@jest/types": ^26.3.0 "@types/node": "*" - jest-mock: ^26.6.2 - checksum: 7748081b2a758161785aff161780b05084dccaff908c8ed82c04f7da5d5e5439e77b5eb667306d5c4e1422653c7a67ed2955f26704f48c65c404195e1e21780a - languageName: node - linkType: hard - -"@jest/expect-utils@npm:^29.0.3": - version: 29.0.3 - resolution: "@jest/expect-utils@npm:29.0.3" - dependencies: - jest-get-type: ^29.0.0 - checksum: af6fa6e0b9cdf42f5778ff0b70c2049ec768598f720ea473773e0c0bebd2416a32ecbede94cfdc95572a021eda5302a9295a5c416ad5ce155c4ec277c40129da + jest-mock: ^26.3.0 + checksum: 11ccf49449c91c1e33f33e0b8466bc68b7f86fbb03c05f019d7b75ef972eaa7c5e703ed0a073621d2fc3f0902ea176f4ba19cbbf4e830004fda521b5858680d1 languageName: node linkType: hard -"@jest/fake-timers@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/fake-timers@npm:26.6.2" +"@jest/fake-timers@npm:^26.3.0": + version: 26.3.0 + resolution: "@jest/fake-timers@npm:26.3.0" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^26.3.0 "@sinonjs/fake-timers": ^6.0.1 "@types/node": "*" - jest-message-util: ^26.6.2 - jest-mock: ^26.6.2 - jest-util: ^26.6.2 - checksum: c732658fac4014a424e6629495296c3b2e8697787518df34c74539ec139625e7141ad792b8a4d3c8392b47954ad01be9846b7c57cc8c631490969e7cafa84e6a + jest-message-util: ^26.3.0 + jest-mock: ^26.3.0 + jest-util: ^26.3.0 + checksum: 56872e9883fb7aabff49ce9ec9fb5f4d9fbfe93976d889c7c9d4d712ed45f294c5b36054149f194534a7fe9386eeafef83a2d43fa976c8c335ecc7b494cb1a38 languageName: node linkType: hard -"@jest/globals@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/globals@npm:26.6.2" +"@jest/globals@npm:^26.4.2": + version: 26.4.2 + resolution: "@jest/globals@npm:26.4.2" dependencies: - "@jest/environment": ^26.6.2 - "@jest/types": ^26.6.2 - expect: ^26.6.2 - checksum: 49b28d0cc7e99898eeaf23e6899e3c9ee25a2a4831caa3eb930ec1722de2e92a0e8a6a6f649438fdd20ff0c0d5e522dd78cb719466a57f011a88d60419b903c5 + "@jest/environment": ^26.3.0 + "@jest/types": ^26.3.0 + expect: ^26.4.2 + checksum: 896e59e89c4de39409f21339501313d9d945c178869d2514ee58e0c423a5af54f6b84feb5814210a4af3b4b205b8ad3ab4f0d40d5e82669817bcdee27dcb0e02 languageName: node linkType: hard -"@jest/reporters@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/reporters@npm:26.6.2" +"@jest/reporters@npm:^26.4.1": + version: 26.4.1 + resolution: "@jest/reporters@npm:26.4.1" dependencies: "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/transform": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/console": ^26.3.0 + "@jest/test-result": ^26.3.0 + "@jest/transform": ^26.3.0 + "@jest/types": ^26.3.0 chalk: ^4.0.0 collect-v8-coverage: ^1.0.0 exit: ^0.1.2 @@ -982,167 +1077,130 @@ __metadata: istanbul-lib-report: ^3.0.0 istanbul-lib-source-maps: ^4.0.0 istanbul-reports: ^3.0.2 - jest-haste-map: ^26.6.2 - jest-resolve: ^26.6.2 - jest-util: ^26.6.2 - jest-worker: ^26.6.2 + jest-haste-map: ^26.3.0 + jest-resolve: ^26.4.0 + jest-util: ^26.3.0 + jest-worker: ^26.3.0 node-notifier: ^8.0.0 slash: ^3.0.0 source-map: ^0.6.0 string-length: ^4.0.1 terminal-link: ^2.0.0 - v8-to-istanbul: ^7.0.0 + v8-to-istanbul: ^5.0.1 dependenciesMeta: node-notifier: optional: true - checksum: 53c7a697c562becb7682a9a6248ea553013bf7048c08ddce5bf9fb53b975fc9f799ca163f7494e0be6c4d3cf181c8bc392976268da52b7de8ce4470b971ed84e - languageName: node - linkType: hard - -"@jest/schemas@npm:^29.0.0": - version: 29.0.0 - resolution: "@jest/schemas@npm:29.0.0" - dependencies: - "@sinclair/typebox": ^0.24.1 - checksum: 41355c78f09eb1097e57a3c5d0ca11c9099e235e01ea5fa4e3953562a79a6a9296c1d300f1ba50ca75236048829e056b00685cd2f1ff8285e56fd2ce01249acb + checksum: 5d89ab3040cbf9a915ca3237d7af19bf049486b053452f5a7fb78cdf619e330f67143ada0c76cc67b3a24959a67717c76a56a3e87ac5a1b30c70f4f1d826239e languageName: node linkType: hard -"@jest/source-map@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/source-map@npm:26.6.2" +"@jest/source-map@npm:^26.3.0": + version: 26.3.0 + resolution: "@jest/source-map@npm:26.3.0" dependencies: callsites: ^3.0.0 graceful-fs: ^4.2.4 source-map: ^0.6.0 - checksum: b171cef442738887dda85527ab78229996db5946c6435ddb56d442c2851889ba493729a9de73100f1a31b9a31a91207b55bc75656ae7df9843d65078b925385e + checksum: 77a4cdfc2f988785f595b63b10426895dbde9a92fd7c6210a2a86d95b8f6c6f76bb80d4648d476212231e8a641c0bb0f641b99fa57abec7e393037dea6571945 languageName: node linkType: hard -"@jest/test-result@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/test-result@npm:26.6.2" +"@jest/test-result@npm:^26.3.0": + version: 26.3.0 + resolution: "@jest/test-result@npm:26.3.0" dependencies: - "@jest/console": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/console": ^26.3.0 + "@jest/types": ^26.3.0 "@types/istanbul-lib-coverage": ^2.0.0 collect-v8-coverage: ^1.0.0 - checksum: dcb6175825231e9377e43546aed4edd6acc22f1788d5f099bbba36bb55b9115a92f760e88426c076bcdeff5a50d8f697327a920db0cd1fb339781fc3713fa8c7 + checksum: 3c1d25e790c53e9b960c02cf416737ed37df8c11d8d0d5fa394920e6b35d132ccaac1a80aa01eec69e4e14fe7596a86b8fffb7036347c79338862849b320dd68 languageName: node linkType: hard -"@jest/test-sequencer@npm:^26.6.3": - version: 26.6.3 - resolution: "@jest/test-sequencer@npm:26.6.3" +"@jest/test-sequencer@npm:^26.4.2": + version: 26.4.2 + resolution: "@jest/test-sequencer@npm:26.4.2" dependencies: - "@jest/test-result": ^26.6.2 + "@jest/test-result": ^26.3.0 graceful-fs: ^4.2.4 - jest-haste-map: ^26.6.2 - jest-runner: ^26.6.3 - jest-runtime: ^26.6.3 - checksum: a3450b3d7057f74da1828bb7b3658f228a7c049dc4082c5c49b8bafbd8f69d102a8a99007b7ed5d43464712f7823f53fe3564fda17787f178c219cccf329a461 + jest-haste-map: ^26.3.0 + jest-runner: ^26.4.2 + jest-runtime: ^26.4.2 + checksum: 7812413d741d1711aef80cd9efb8ba6ffebd5e5697201769a8f41c695be78c081363c601f7840aaecb40751f74dcae68919fc5812563314887092e311aba0f46 languageName: node linkType: hard -"@jest/transform@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/transform@npm:26.6.2" +"@jest/transform@npm:^26.3.0": + version: 26.3.0 + resolution: "@jest/transform@npm:26.3.0" dependencies: "@babel/core": ^7.1.0 - "@jest/types": ^26.6.2 + "@jest/types": ^26.3.0 babel-plugin-istanbul: ^6.0.0 chalk: ^4.0.0 convert-source-map: ^1.4.0 fast-json-stable-stringify: ^2.0.0 graceful-fs: ^4.2.4 - jest-haste-map: ^26.6.2 + jest-haste-map: ^26.3.0 jest-regex-util: ^26.0.0 - jest-util: ^26.6.2 + jest-util: ^26.3.0 micromatch: ^4.0.2 pirates: ^4.0.1 slash: ^3.0.0 source-map: ^0.6.1 write-file-atomic: ^3.0.0 - checksum: 31667b925a2f3b310d854495da0ab67be8f5da24df76ecfc51162e75f1140aed5d18069ba190cb5e0c7e492b04272c8c79076ddf5bbcff530ee80a16a02c4545 + checksum: 620bcf18d4322c806d27f137a35871ac363ab8ac0c66c214f8311ac0378b2498bd4a37870c683fe71ab8444370e7303f1ff0d12c767a40377af295958c3d9e92 languageName: node linkType: hard -"@jest/types@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/types@npm:26.6.2" +"@jest/types@npm:^25.5.0": + version: 25.5.0 + resolution: "@jest/types@npm:25.5.0" dependencies: "@types/istanbul-lib-coverage": ^2.0.0 - "@types/istanbul-reports": ^3.0.0 - "@types/node": "*" + "@types/istanbul-reports": ^1.1.1 "@types/yargs": ^15.0.0 - chalk: ^4.0.0 - checksum: a0bd3d2f22f26ddb23f41fddf6e6a30bf4fab2ce79ec1cb6ce6fdfaf90a72e00f4c71da91ec61e13db3b10c41de22cf49d07c57ff2b59171d64b29f909c1d8d6 + chalk: ^3.0.0 + checksum: 785b67521a2c54f290ad4b53f49fec6b14fa25828bf26a838f7bbe08dd42122f27f71a620ea9a33286346786e9b120dd370abf589e6ef8c5fde9dc56906880b1 languageName: node linkType: hard -"@jest/types@npm:^29.0.3": - version: 29.0.3 - resolution: "@jest/types@npm:29.0.3" +"@jest/types@npm:^26.3.0": + version: 26.3.0 + resolution: "@jest/types@npm:26.3.0" dependencies: - "@jest/schemas": ^29.0.0 "@types/istanbul-lib-coverage": ^2.0.0 "@types/istanbul-reports": ^3.0.0 "@types/node": "*" - "@types/yargs": ^17.0.8 + "@types/yargs": ^15.0.0 chalk: ^4.0.0 - checksum: 3bd33e64d87a5421b860396ac7f7b9b8d5abbf0f300f4379bb20c8e3a6169fbbd078933ce0649827cd63e23330c4effeb6b222fa94e8dd0df638dfff6c1fed41 - languageName: node - linkType: hard - -"@jridgewell/gen-mapping@npm:^0.1.0": - version: 0.1.1 - resolution: "@jridgewell/gen-mapping@npm:0.1.1" - dependencies: - "@jridgewell/set-array": ^1.0.0 - "@jridgewell/sourcemap-codec": ^1.4.10 - checksum: 3bcc21fe786de6ffbf35c399a174faab05eb23ce6a03e8769569de28abbf4facc2db36a9ddb0150545ae23a8d35a7cf7237b2aa9e9356a7c626fb4698287d5cc + checksum: 832fcb106870b095a33e93afc130ef4359a5a024317e00101f9ca934fe9c667b8ac6bc350260c8758f519feedc1370277f0169da11153739552dfd30775b474a languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.2": - version: 0.3.2 - resolution: "@jridgewell/gen-mapping@npm:0.3.2" +"@jest/types@npm:^26.6.2": + version: 26.6.2 + resolution: "@jest/types@npm:26.6.2" dependencies: - "@jridgewell/set-array": ^1.0.1 - "@jridgewell/sourcemap-codec": ^1.4.10 - "@jridgewell/trace-mapping": ^0.3.9 - checksum: 1832707a1c476afebe4d0fbbd4b9434fdb51a4c3e009ab1e9938648e21b7a97049fa6009393bdf05cab7504108413441df26d8a3c12193996e65493a4efb6882 - languageName: node - linkType: hard - -"@jridgewell/resolve-uri@npm:^3.0.3": - version: 3.1.0 - resolution: "@jridgewell/resolve-uri@npm:3.1.0" - checksum: b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267 - languageName: node - linkType: hard - -"@jridgewell/set-array@npm:^1.0.0, @jridgewell/set-array@npm:^1.0.1": - version: 1.1.2 - resolution: "@jridgewell/set-array@npm:1.1.2" - checksum: 69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.4.14 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" - checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^15.0.0 + chalk: ^4.0.0 + checksum: a0bd3d2f22f26ddb23f41fddf6e6a30bf4fab2ce79ec1cb6ce6fdfaf90a72e00f4c71da91ec61e13db3b10c41de22cf49d07c57ff2b59171d64b29f909c1d8d6 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.15 - resolution: "@jridgewell/trace-mapping@npm:0.3.15" +"@jest/types@npm:^27.2.5": + version: 27.2.5 + resolution: "@jest/types@npm:27.2.5" dependencies: - "@jridgewell/resolve-uri": ^3.0.3 - "@jridgewell/sourcemap-codec": ^1.4.10 - checksum: 38917e9c2b014d469a9f51c016ed506acbe44dd16ec2f6f99b553ebf3764d22abadbf992f2367b6d2b3511f3eae8ed3a8963f6c1030093fda23efd35ecab2bae + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^16.0.0 + chalk: ^4.0.0 + checksum: 322603c24354a5333b5b7a670464422a46e0244a5a96a35552a7018eb4ac2e84c3b7657336b0ea6aa114963f9b6d0da8b8f6f963cb044fea9e7bc04d464b0ab1 languageName: node linkType: hard @@ -1173,25 +1231,25 @@ __metadata: linkType: hard "@keystonehq/bc-ur-registry-eth@npm:^0.9.0": - version: 0.9.1 - resolution: "@keystonehq/bc-ur-registry-eth@npm:0.9.1" + version: 0.9.0 + resolution: "@keystonehq/bc-ur-registry-eth@npm:0.9.0" dependencies: "@keystonehq/bc-ur-registry": ^0.5.0-alpha.5 ethereumjs-util: ^7.0.8 hdkey: ^2.0.1 uuid: ^8.3.2 - checksum: 7fe8db26767a466e31cb3e48c0943823fae85c83b0390d130bec82ec4e7cd0a39eb72f33a0efb45bbe51541f4d758087e2009ee105ac35b43b0fc8826ec99d40 + checksum: 9f232b9c34aa7fa9cb2100037310d23409bcc645f2474e87b882f712aa1fd2dfbb8eab77e74cd780a5afb7d94087a90cebf56c70b5964770dbbd4f7bd451ec4e languageName: node linkType: hard "@keystonehq/bc-ur-registry@npm:^0.5.0-alpha.5": - version: 0.5.0 - resolution: "@keystonehq/bc-ur-registry@npm:0.5.0" + version: 0.5.0-alpha.5 + resolution: "@keystonehq/bc-ur-registry@npm:0.5.0-alpha.5" dependencies: "@ngraveio/bc-ur": ^1.1.5 base58check: ^2.0.0 tslib: ^2.3.0 - checksum: 4cec96e10cf682f059fa9c644286d49ed3d7b90b5225fcdb3582d96f3066e6cc15c310e018be49013d1221ef21bf737c4216a2f376ccfe84936eccfe216ab5e9 + checksum: 9d0a028db36494f5d28281ed67fc17c191c4b9e72ee5088f79ed5a874cc0d958018aeafa4dc9997e10425afa5b59f0e75e8760297056d9b756837ac7b69460aa languageName: node linkType: hard @@ -1209,27 +1267,25 @@ __metadata: languageName: node linkType: hard -"@lavamoat/aa@npm:^3.0.0": - version: 3.1.0 - resolution: "@lavamoat/aa@npm:3.1.0" +"@lavamoat/aa@npm:^2.0.1": + version: 2.0.1 + resolution: "@lavamoat/aa@npm:2.0.1" dependencies: resolve: ^1.20.0 - bin: - lavamoat-ls: src/cli.js - checksum: ac7224ffc0ee548dec527f8a84f8bc653ac0972aede80b77dddf67a312aa15984a3ac59330c0117fb6b277f94b8dd89265d311d54f86cbb62654e6e1640a7039 + checksum: e1e5643a15375ee2c7c3c5742385176f4a7fcceefc39d145f66360515c32f74de26efafc49642190323e712312f4a116abd73e4e279628ede89fb85270f2ff30 languageName: node linkType: hard "@lavamoat/allow-scripts@npm:^2.0.2": - version: 2.0.3 - resolution: "@lavamoat/allow-scripts@npm:2.0.3" + version: 2.0.2 + resolution: "@lavamoat/allow-scripts@npm:2.0.2" dependencies: - "@lavamoat/aa": ^3.0.0 + "@lavamoat/aa": ^2.0.1 "@npmcli/run-script": ^1.8.1 yargs: ^16.2.0 bin: allow-scripts: src/cli.js - checksum: 5ad1fc90e8d7ed04ba6c28865042cc0fd01743d0b7da1502aef11d5fa37dd41896ab67652a73dc0ce01d914af9a3c6dd1e84a21bd4e5c7d922b0d14f9ce48faa + checksum: 3b0c12fc8697fd4999542b9c02e3ae21200085425dc05200c6fcbba7a1b9aa594ffe4b0036d02a5720e257ee258bd5b726f1131c8943fe0b4104f59e40d56336 languageName: node linkType: hard @@ -1326,8 +1382,8 @@ __metadata: linkType: soft "@metamask/auto-changelog@npm:^2.6.0": - version: 2.6.1 - resolution: "@metamask/auto-changelog@npm:2.6.1" + version: 2.6.0 + resolution: "@metamask/auto-changelog@npm:2.6.0" dependencies: diff: ^5.0.0 execa: ^5.1.1 @@ -1335,7 +1391,7 @@ __metadata: yargs: ^17.0.1 bin: auto-changelog: dist/cli.js - checksum: 6ae84de492e4aec710ff2dd793f258b7cc3aba3fdeb416c0d3ab55a156da61b4ccd3272e9a6608f32b71695dc42b527a380ce62566e387240665556c8da26de3 + checksum: f01ae6a1aef85c277b155a0b0bbfb1d8f4d17a3e93888e7c60780e1fd5f7b2a1730b3ba3247487a91fb4beb9ddfb0fe9d3ba61f4b84391dc5bde2d4607c575c8 languageName: node linkType: hard @@ -1394,9 +1450,9 @@ __metadata: linkType: soft "@metamask/contract-metadata@npm:^1.35.0": - version: 1.36.0 - resolution: "@metamask/contract-metadata@npm:1.36.0" - checksum: 6b1bc0927536a7ed235f896dcb0dabbce1f7853eef5e58efdd6cc8294c2ef10dd0c46572d20df9df31563fb466a0a162101169d9e1595dd931c7eabb9fa5a7e9 + version: 1.35.0 + resolution: "@metamask/contract-metadata@npm:1.35.0" + checksum: d2bbb8bff2e2ebd4104512dbf4b2900fffd1f03125673b0d3ac58dac0e3b324402fec7170229dfdb601635d6d7074e0755f139149b3dc8640ee4703c17eb2383 languageName: node linkType: hard @@ -1858,57 +1914,57 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" +"@nodelib/fs.scandir@npm:2.1.3": + version: 2.1.3 + resolution: "@nodelib/fs.scandir@npm:2.1.3" dependencies: - "@nodelib/fs.stat": 2.0.5 + "@nodelib/fs.stat": 2.0.3 run-parallel: ^1.1.9 - checksum: a970d595bd23c66c880e0ef1817791432dbb7acbb8d44b7e7d0e7a22f4521260d4a83f7f9fd61d44fda4610105577f8f58a60718105fb38352baed612fd79e59 + checksum: 0054efbba1385629886fe017d99f7045cb8300d6de1923f7a37e05e480c853abbedaff90f6a6b88fd0d406e1cd1e97fb60bd4e059b44468b174f46bef2e21dd1 languageName: node linkType: hard -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0 +"@nodelib/fs.stat@npm:2.0.3, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.3 + resolution: "@nodelib/fs.stat@npm:2.0.3" + checksum: d3612efceea83fb0bec4e64967888ff0c3e5fbbae96121bc526bbbe5529f32fc6f8a785b550f397d20f09c84dc1e5a6c8e9fd7f9b8b62387a8f80f680be8430e languageName: node linkType: hard "@nodelib/fs.walk@npm:^1.2.3": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" + version: 1.2.4 + resolution: "@nodelib/fs.walk@npm:1.2.4" dependencies: - "@nodelib/fs.scandir": 2.1.5 + "@nodelib/fs.scandir": 2.1.3 fastq: ^1.6.0 - checksum: 190c643f156d8f8f277bf2a6078af1ffde1fd43f498f187c2db24d35b4b4b5785c02c7dc52e356497b9a1b65b13edc996de08de0b961c32844364da02986dc53 + checksum: a971d1dcc1cf593e25651738e915be201053b63775c39c1ee221d2adee6316503ad6043136ceda0e099724875f2d72ea04b3b57c0e3a20b7f280bd3e951ae2e4 languageName: node linkType: hard "@npmcli/fs@npm:^2.1.0": - version: 2.1.2 - resolution: "@npmcli/fs@npm:2.1.2" + version: 2.1.0 + resolution: "@npmcli/fs@npm:2.1.0" dependencies: "@gar/promisify": ^1.1.3 semver: ^7.3.5 - checksum: 405074965e72d4c9d728931b64d2d38e6ea12066d4fad651ac253d175e413c06fe4350970c783db0d749181da8fe49c42d3880bd1cbc12cd68e3a7964d820225 + checksum: 6ec6d678af6da49f9dac50cd882d7f661934dd278972ffbaacde40d9eaa2871292d634000a0cca9510f6fc29855fbd4af433e1adbff90a524ec3eaf140f1219b languageName: node linkType: hard "@npmcli/move-file@npm:^2.0.0": - version: 2.0.1 - resolution: "@npmcli/move-file@npm:2.0.1" + version: 2.0.0 + resolution: "@npmcli/move-file@npm:2.0.0" dependencies: mkdirp: ^1.0.4 rimraf: ^3.0.2 - checksum: 52dc02259d98da517fae4cb3a0a3850227bdae4939dda1980b788a7670636ca2b4a01b58df03dd5f65c1e3cb70c50fa8ce5762b582b3f499ec30ee5ce1fd9380 + checksum: 1388777b507b0c592d53f41b9d182e1a8de7763bc625fc07999b8edbc22325f074e5b3ec90af79c89d6987fdb2325bc66d59f483258543c14a43661621f841b0 languageName: node linkType: hard "@npmcli/node-gyp@npm:^1.0.2": - version: 1.0.3 - resolution: "@npmcli/node-gyp@npm:1.0.3" - checksum: 496d5eef2e90e34bb07e96adbcbbce3dba5370ae87e8c46ff5b28570848f35470c8e008b8f69e50863632783e0a9190e6f55b2e4b049c537142821153942d26a + version: 1.0.2 + resolution: "@npmcli/node-gyp@npm:1.0.2" + checksum: ee4b0706862404189ed40abf19760d9f1a45dcf2ad823b6fbc37f69709ae2fefb57e4ee27cb541111f08c304c46f885cc0479f4fe842af107148f4650cc5ad5e languageName: node linkType: hard @@ -1922,14 +1978,15 @@ __metadata: linkType: hard "@npmcli/run-script@npm:^1.8.1": - version: 1.8.6 - resolution: "@npmcli/run-script@npm:1.8.6" + version: 1.8.5 + resolution: "@npmcli/run-script@npm:1.8.5" dependencies: "@npmcli/node-gyp": ^1.0.2 "@npmcli/promise-spawn": ^1.3.2 + infer-owner: ^1.0.4 node-gyp: ^7.1.0 read-package-json-fast: ^2.0.1 - checksum: 41924e7925452ac8e78d78bef5d65b3d58f86eea4481a453e11e3a9099504bfbfcf1f65d7f75d92170b846fa347d05424e58e617fb9c17b3efd87db599a0f46e + checksum: 734f7d4bec07d723276e0351d180a83735313823685c5c79b1f56e32d77622e1bd0c5cd0fbeca9649f1e559212a4ccc8e450b1f3d6dea9cadabb442f1f13bfe8 languageName: node linkType: hard @@ -1961,19 +2018,21 @@ __metadata: languageName: node linkType: hard -"@sinclair/typebox@npm:^0.24.1": - version: 0.24.43 - resolution: "@sinclair/typebox@npm:0.24.43" - checksum: 138fa1f2430a8890b21313b176d7d4d52daaddea363a66a3ba7e599fc158f0e9ff7796ae220e181d71a95e5af016830c04f4b69ca701c74161c3711836980eb8 +"@sinonjs/commons@npm:^1.6.0, @sinonjs/commons@npm:^1.8.1": + version: 1.8.2 + resolution: "@sinonjs/commons@npm:1.8.2" + dependencies: + type-detect: 4.0.8 + checksum: 67aa47d4a19e688da5c291286786635625356d6dc379d86f255c8425b9da3dfd26d07cfef82aad755ad51bd1a889bde07abd1e1592f9f5b3e29013045738e344 languageName: node linkType: hard -"@sinonjs/commons@npm:^1.6.0, @sinonjs/commons@npm:^1.7.0, @sinonjs/commons@npm:^1.8.1": - version: 1.8.3 - resolution: "@sinonjs/commons@npm:1.8.3" +"@sinonjs/commons@npm:^1.7.0": + version: 1.7.1 + resolution: "@sinonjs/commons@npm:1.7.1" dependencies: type-detect: 4.0.8 - checksum: 6159726db5ce6bf9f2297f8427f7ca5b3dff45b31e5cee23496f1fa6ef0bb4eab878b23fb2c5e6446381f6a66aba4968ef2fc255c1180d753d4b8c271636a2e5 + checksum: 50b17ab7a6672201e2a884f5956b951ccfb586eb2623208e6d939955ec97889b2437f80a0a4ab73c8e2fb90900f76591e7446c6a7107315a03682e02973bf6cd languageName: node linkType: hard @@ -1998,16 +2057,9 @@ __metadata: linkType: hard "@sinonjs/text-encoding@npm:^0.7.1": - version: 0.7.2 - resolution: "@sinonjs/text-encoding@npm:0.7.2" - checksum: fe690002a32ba06906cf87e2e8fe84d1590294586f2a7fd180a65355b53660c155c3273d8011a5f2b77209b819aa7306678ae6e4aea0df014bd7ffd4bbbcf1ab - languageName: node - linkType: hard - -"@tootallnate/once@npm:1": - version: 1.1.2 - resolution: "@tootallnate/once@npm:1.1.2" - checksum: e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9 + version: 0.7.1 + resolution: "@sinonjs/text-encoding@npm:0.7.1" + checksum: 130de0bb568c5f8a611ec21d1a4e3f80ab0c5ec333010f49cfc1adc5cba6d8808699c8a587a46b0f0b016a1f4c1389bc96141e773e8460fcbb441875b2e91ba7 languageName: node linkType: hard @@ -2019,52 +2071,52 @@ __metadata: linkType: hard "@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.7": - version: 7.1.19 - resolution: "@types/babel__core@npm:7.1.19" + version: 7.1.9 + resolution: "@types/babel__core@npm:7.1.9" dependencies: "@babel/parser": ^7.1.0 "@babel/types": ^7.0.0 "@types/babel__generator": "*" "@types/babel__template": "*" "@types/babel__traverse": "*" - checksum: 8c9fa87a1c2224cbec251683a58bebb0d74c497118034166aaa0491a4e2627998a6621fc71f8a60ffd27d9c0c52097defedf7637adc6618d0331c15adb302338 + checksum: d92c530efc3e50147f7956fc2aa49162508d2c5abffea7818051dfa9a9c9bc263b7d3da7d6fa826669ff8c68d733bbaced2dfdd486282b8bd013ccc3a0a3b7f6 languageName: node linkType: hard "@types/babel__generator@npm:*": - version: 7.6.4 - resolution: "@types/babel__generator@npm:7.6.4" + version: 7.0.2 + resolution: "@types/babel__generator@npm:7.0.2" dependencies: "@babel/types": ^7.0.0 - checksum: 20effbbb5f8a3a0211e95959d06ae70c097fb6191011b73b38fe86deebefad8e09ee014605e0fd3cdaedc73d158be555866810e9166e1f09e4cfd880b874dcb0 + checksum: b68118ea2d0e8c478b1cfb5662b6a15c954c0763d8672e95b2ea8a0eacedf2a659e9bebf9f288c8a7550d40fd7b1519434385db2d67dc7797ee8605d3370b128 languageName: node linkType: hard "@types/babel__template@npm:*": - version: 7.4.1 - resolution: "@types/babel__template@npm:7.4.1" + version: 7.0.2 + resolution: "@types/babel__template@npm:7.0.2" dependencies: "@babel/parser": ^7.1.0 "@babel/types": ^7.0.0 - checksum: 649fe8b42c2876be1fd28c6ed9b276f78152d5904ec290b6c861d9ef324206e0a5c242e8305c421ac52ecf6358fa7e32ab7a692f55370484825c1df29b1596ee + checksum: ce04f0ab702d7d4c753c09e08db3e61e5fc69375ea70f5c991110511b7286124070ca70e260e8074614f8a339424de7e387c08033eaf0a9f5c81a93e350965a8 languageName: node linkType: hard -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.4, @types/babel__traverse@npm:^7.0.6": - version: 7.18.2 - resolution: "@types/babel__traverse@npm:7.18.2" +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": + version: 7.0.7 + resolution: "@types/babel__traverse@npm:7.0.7" dependencies: "@babel/types": ^7.3.0 - checksum: 05972775e21cf07753b3bec725bf76f5a9804f99f660d323040746e3c8a4fe1b4ef6df17d7a80c4e2e335382cc72c62fc5a7079af836871ff9cbf0c21804e6d9 + checksum: 0e2745066663e5a26fef4b1cead879a67a80457f98819ba099519978bfbb9ebb2a0c1532730b2924014e0d4718fce955777fb3bed063b8d78d67fa09f6793b7a languageName: node linkType: hard -"@types/bn.js@npm:*, @types/bn.js@npm:^5.1.0": - version: 5.1.1 - resolution: "@types/bn.js@npm:5.1.1" +"@types/bn.js@npm:*": + version: 4.11.5 + resolution: "@types/bn.js@npm:4.11.5" dependencies: "@types/node": "*" - checksum: e50ed2dd3abe997e047caf90e0352c71e54fc388679735217978b4ceb7e336e51477791b715f49fd77195ac26dd296c7bad08a3be9750e235f9b2e1edb1b51c2 + checksum: 27bd6fef3cc2e11c4f0e63bb967c1e1ebcb19144b68de51f5a1a411d2ab8187d193248a8bd970908cc29af7be16f53e9e4cd92267828caaa8f98c44a74183f30 languageName: node linkType: hard @@ -2077,6 +2129,22 @@ __metadata: languageName: node linkType: hard +"@types/bn.js@npm:^5.1.0": + version: 5.1.0 + resolution: "@types/bn.js@npm:5.1.0" + dependencies: + "@types/node": "*" + checksum: 1dc1cbbd7a1e8bf3614752e9602f558762a901031f499f3055828b5e3e2bba16e5b88c27b3c4152ad795248fbe4086c731a5c4b0f29bb243f1875beeeabee59c + languageName: node + linkType: hard + +"@types/color-name@npm:^1.1.1": + version: 1.1.1 + resolution: "@types/color-name@npm:1.1.1" + checksum: b71fcad728cc68abcba1d405742134410c8f8eb3c2ef18113b047afca158ad23a4f2c229bcf71a38f4a818dead375c45b20db121d0e69259c2d81e97a740daa6 + languageName: node + linkType: hard + "@types/deep-freeze-strict@npm:^1.1.0": version: 1.1.0 resolution: "@types/deep-freeze-strict@npm:1.1.0" @@ -2085,75 +2153,102 @@ __metadata: linkType: hard "@types/glob@npm:^7.1.1": - version: 7.2.0 - resolution: "@types/glob@npm:7.2.0" + version: 7.1.4 + resolution: "@types/glob@npm:7.1.4" dependencies: "@types/minimatch": "*" "@types/node": "*" - checksum: 6ae717fedfdfdad25f3d5a568323926c64f52ef35897bcac8aca8e19bc50c0bd84630bbd063e5d52078b2137d8e7d3c26eabebd1a2f03ff350fff8a91e79fc19 + checksum: 6911a956448f5eddea1e4371f814bf92072e8ceedba83de6ce2a6745938a6f0327376e1c0072fa0d7b3b73d84e255aafda53c1dff148225cfe542a8cc5d54b02 languageName: node linkType: hard "@types/graceful-fs@npm:^4.1.2": - version: 4.1.5 - resolution: "@types/graceful-fs@npm:4.1.5" + version: 4.1.3 + resolution: "@types/graceful-fs@npm:4.1.3" dependencies: "@types/node": "*" - checksum: d076bb61f45d0fc42dee496ef8b1c2f8742e15d5e47e90e20d0243386e426c04d4efd408a48875ab432f7960b4ce3414db20ed0fbbfc7bcc89d84e574f6e045a + checksum: f13a1b177e44ceafd430f1d5f63b7e7fd2a430c47d5dd1a20d10b88c1c5cdb033d96d539a084de79663b8735f72d31e8aa574f10daa622b1df16285f6a057383 languageName: node linkType: hard "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.4 - resolution: "@types/istanbul-lib-coverage@npm:2.0.4" - checksum: a25d7589ee65c94d31464c16b72a9dc81dfa0bea9d3e105ae03882d616e2a0712a9c101a599ec482d297c3591e16336962878cb3eb1a0a62d5b76d277a890ce7 + version: 2.0.1 + resolution: "@types/istanbul-lib-coverage@npm:2.0.1" + checksum: eb8abb8b56fb8f645c46c482c5a438d78fc44ce2eb82a47491d552eba94fc3d81bc404996f220921c16df3eb6126ec01890f4acaebd0f71249b37e110eacdd3a languageName: node linkType: hard "@types/istanbul-lib-report@npm:*": - version: 3.0.0 - resolution: "@types/istanbul-lib-report@npm:3.0.0" + version: 1.1.1 + resolution: "@types/istanbul-lib-report@npm:1.1.1" dependencies: "@types/istanbul-lib-coverage": "*" - checksum: 656398b62dc288e1b5226f8880af98087233cdb90100655c989a09f3052b5775bf98ba58a16c5ae642fb66c61aba402e07a9f2bff1d1569e3b306026c59f3f36 + checksum: 56c995ede09cb2638e2d35d90d9455d6c046d4225fcfe2c547f42e5282474c3bfa1f083139f61d66740e29037d0428e54102784ef8417d6076aebc4be889af3c languageName: node linkType: hard -"@types/istanbul-reports@npm:^3.0.0": - version: 3.0.1 - resolution: "@types/istanbul-reports@npm:3.0.1" +"@types/istanbul-reports@npm:^1.1.1": + version: 1.1.1 + resolution: "@types/istanbul-reports@npm:1.1.1" dependencies: + "@types/istanbul-lib-coverage": "*" "@types/istanbul-lib-report": "*" - checksum: f1ad54bc68f37f60b30c7915886b92f86b847033e597f9b34f2415acdbe5ed742fa559a0a40050d74cdba3b6a63c342cac1f3a64dba5b68b66a6941f4abd7903 + checksum: 06f41b4a681cec2c78f892e5400d43a2f3074b6308031d88788105f418d2a50ce054c750c8282079dedf2dfc17cf703dad908a9ef620409a988d308eccf2261c languageName: node linkType: hard -"@types/jest-when@npm:^2.7.3": - version: 2.7.4 - resolution: "@types/jest-when@npm:2.7.4" - dependencies: +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.0 + resolution: "@types/istanbul-reports@npm:3.0.0" + dependencies: + "@types/istanbul-lib-report": "*" + checksum: 286a18cff19c4dac4321b9ea406a3560faf577fb2a4df5abf9d577fa81ba831c9baa7d40d03f1daf7fe613d468546b731c00b844b72fad9834c583311a35bb7b + languageName: node + linkType: hard + +"@types/jest-when@npm:^2.7.3": + version: 2.7.3 + resolution: "@types/jest-when@npm:2.7.3" + dependencies: "@types/jest": "*" - checksum: fea5f5c9b882ee5191ef47dfbbe71ce7935d4ede7ac12c2bf7dbceead3da066930aa492fc534f8b53ef6694f30313b5669b87cb45e36ddbece42c6ff27b01364 + checksum: 0e01156250a6d8791d94bab1c9c5dab685a60edac47aa8769c50ea8440d97631f5397bd838c4c14175e56617b61d1ad59fc138e3c302560bb1eb69ede710a215 languageName: node linkType: hard "@types/jest@npm:*": - version: 29.0.3 - resolution: "@types/jest@npm:29.0.3" + version: 27.0.2 + resolution: "@types/jest@npm:27.0.2" + dependencies: + jest-diff: ^27.0.0 + pretty-format: ^27.0.0 + checksum: 814ad5f5d2f277849f47e52906da4b745758e555630fc8cb46a071bde648eefeffb1b35710c530a8cea7fc4ea7c1d813812c120484bf7902ab6c5e473cdd49c9 + languageName: node + linkType: hard + +"@types/jest@npm:26.x": + version: 26.0.13 + resolution: "@types/jest@npm:26.0.13" dependencies: - expect: ^29.0.0 - pretty-format: ^29.0.0 - checksum: 14a8ec1954540ec59f4072c3c4dbc6b5d5ff616556c98671aca26606bdf9d49616a3f269f3e488c80cd481ee19880351575c1f6895827628818e193600c121e0 + jest-diff: ^25.2.1 + pretty-format: ^25.2.1 + checksum: bf0c3538f8426d1affe7347ea9100e28d62819dc6bb09ef81acf1c6bc929bcb195ea0d6e66490358751ed670442d5a471561dd07dc7bee6b65dfe70c0574b3ba languageName: node linkType: hard "@types/jest@npm:^26.0.22": - version: 26.0.24 - resolution: "@types/jest@npm:26.0.24" + version: 26.0.22 + resolution: "@types/jest@npm:26.0.22" dependencies: jest-diff: ^26.0.0 pretty-format: ^26.0.0 - checksum: ae39675412f08d884926254e9b12bfd2b5a4e4d204c94d3148cb942174a474930d0c60540133c968f22241d4712b7940c96cbc883096eb326a4d5b206fb78bd0 + checksum: 8dee3e6778db4c1d4b89f6ecdaa7264fd24b445e567db3eef0efe271b724523827585547baa24f8bedcc8a431e4dffd63555996599f2556ba637e67bae7578cc + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.3": + version: 7.0.6 + resolution: "@types/json-schema@npm:7.0.6" + checksum: 3b1e5e049b065a41d2bc1f0c16e01dac5a4a1276bbe8b413657298f574d64a955d3b10bec9e7796fde0927f307e6fedbac1cf4da3604593c431899eea3ad0756 languageName: node linkType: hard @@ -2172,16 +2267,16 @@ __metadata: linkType: hard "@types/minimatch@npm:*": - version: 5.1.2 - resolution: "@types/minimatch@npm:5.1.2" - checksum: 0391a282860c7cb6fe262c12b99564732401bdaa5e395bee9ca323c312c1a0f45efbf34dce974682036e857db59a5c9b1da522f3d6055aeead7097264c8705a8 + version: 3.0.5 + resolution: "@types/minimatch@npm:3.0.5" + checksum: c41d136f67231c3131cf1d4ca0b06687f4a322918a3a5adddc87ce90ed9dbd175a3610adee36b106ae68c0b92c637c35e02b58c8a56c424f71d30993ea220b92 languageName: node linkType: hard "@types/node@npm:*": - version: 18.7.23 - resolution: "@types/node@npm:18.7.23" - checksum: 2c8df0830d8345e5cd1ca17feb9cf43fa667aae749888e0a068c5c1b35eaedd2f9b24ed987a0758078395edf7a03681e5e0b7790a518ff7afe1ff6d8459f7b4a + version: 10.14.15 + resolution: "@types/node@npm:10.14.15" + checksum: e49fa92f1e1f0e3a1c6cb1c2ce0fc7718123132dde04de62a4affcec79bb8ae7f65652bbc2641e30d53a48218cad277cf8cce478cf4410e2927ffe27d6c5299d languageName: node linkType: hard @@ -2193,9 +2288,9 @@ __metadata: linkType: hard "@types/normalize-package-data@npm:^2.4.0": - version: 2.4.1 - resolution: "@types/normalize-package-data@npm:2.4.1" - checksum: e87bccbf11f95035c89a132b52b79ce69a1e3652fe55962363063c9c0dae0fe2477ebc585e03a9652adc6f381d24ba5589cc5e51849df4ced3d3e004a7d40ed5 + version: 2.4.0 + resolution: "@types/normalize-package-data@npm:2.4.0" + checksum: fd22ba86a186a033dbe173840fd2ad091032be6d48163198869d058821acca7373d9f39cfd0caf42f3b92bc737723814fe1b4e9e90eacaa913836610aa197d3b languageName: node linkType: hard @@ -2209,9 +2304,9 @@ __metadata: linkType: hard "@types/prettier@npm:^2.0.0": - version: 2.7.1 - resolution: "@types/prettier@npm:2.7.1" - checksum: 5e3f58e229d6c73b5f5cae2e8f96c1c4a5b5805f83459e17a045ba8e96152b1d38e86b63e3172fb159dac923388699660862b75b2d37e54220805f0e691e26f1 + version: 2.1.0 + resolution: "@types/prettier@npm:2.1.0" + checksum: 8124dddff52f29926ac376bdf1758dfa0ddea54c264c8e99ff3d101f5b3cf0bb465dc0f447c8648739cee887ac1653f653c935f183b7e0d6fb1d947fab7bda93 languageName: node linkType: hard @@ -2223,41 +2318,41 @@ __metadata: linkType: hard "@types/secp256k1@npm:^4.0.1": - version: 4.0.3 - resolution: "@types/secp256k1@npm:4.0.3" + version: 4.0.1 + resolution: "@types/secp256k1@npm:4.0.1" dependencies: "@types/node": "*" - checksum: 1bd10b9afa724084b655dc81b7b315def3d2d0e272014ef16009fa76e17537411c07c0695fdea412bc7b36d2a02687f5fea33522d55b8ef29eda42992f812913 + checksum: f89b71360e3fe5a02f649746832fc7af4c5c5b8f85897a2e74d5df40f2e02e4c3b8cca5c7c9b92282870bf03724ce142f817d5d07f5acf2f1c5769ab7403e65a languageName: node linkType: hard "@types/sinon@npm:^9.0.10": - version: 9.0.11 - resolution: "@types/sinon@npm:9.0.11" + version: 9.0.10 + resolution: "@types/sinon@npm:9.0.10" dependencies: "@types/sinonjs__fake-timers": "*" - checksum: 2074490973012283ec9ccb9f607fa12f36c78d8801f63ec437d3e8351dae161a018836cc02e8b039118ec9fb7680331594716ed0858075a11d381edd27faa75c + checksum: d0fb5db239af2292e8d107ac349861e0d01784d09d86732e90113752beddd0258fff7a993194767b8b5944882654a7cf594d83bb881fc0a60858167667f34923 languageName: node linkType: hard "@types/sinonjs__fake-timers@npm:*": - version: 8.1.2 - resolution: "@types/sinonjs__fake-timers@npm:8.1.2" - checksum: bbc73a5ab6c0ec974929392f3d6e1e8db4ebad97ec506d785301e1c3d8a4f98a35b1aa95b97035daef02886fd8efd7788a2fa3ced2ec7105988bfd8dce61eedd + version: 6.0.2 + resolution: "@types/sinonjs__fake-timers@npm:6.0.2" + checksum: fe62eec9cffa05aa159a036f671c8ba4117c6abe186d574c92e573117075825a756c56a4fe955bd874b77f6054fa25c1420eb22619312c43412f75f3d95f885f languageName: node linkType: hard -"@types/stack-utils@npm:^2.0.0": - version: 2.0.1 - resolution: "@types/stack-utils@npm:2.0.1" - checksum: 205fdbe3326b7046d7eaf5e494d8084f2659086a266f3f9cf00bccc549c8e36e407f88168ad4383c8b07099957ad669f75f2532ed4bc70be2b037330f7bae019 +"@types/stack-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "@types/stack-utils@npm:1.0.1" + checksum: 9dc052b575acfeca3f165fb19d87b7b2989d54ed7d64a7eeb0b7587bc5795ef1f2c2b1511a44dcf0831ef35b8ce3486f97fcbfdd50c01f68aa297de31502c9d9 languageName: node linkType: hard "@types/underscore@npm:*": - version: 1.11.4 - resolution: "@types/underscore@npm:1.11.4" - checksum: db9f8486bc851b732259e51f42d62aad1ae2158be5724612dc125ece5f5d61c51447f9dea28284c2a0f79cb95e788d01cb5ce97709880019213e69fab0dd1696 + version: 1.9.2 + resolution: "@types/underscore@npm:1.9.2" + checksum: 7f1f6053d1bc61f5ada7b321690451409d4a5685660907e943bb8b9143fbb3b2f612c103d7cdd849884659ecc03b75b632c82d951dba3ff4600fac708636ff62 languageName: node linkType: hard @@ -2269,37 +2364,37 @@ __metadata: linkType: hard "@types/web3@npm:^1.0.6": - version: 1.0.20 - resolution: "@types/web3@npm:1.0.20" + version: 1.0.19 + resolution: "@types/web3@npm:1.0.19" dependencies: "@types/bn.js": "*" "@types/underscore": "*" - checksum: d0c8e101650baf12d054ed978164a653359fc68ccf06783d7fc9bf3d65dcbad2c52a87b22b07ecd7814860e1d318dfb462b8ec2ad317660d1bbd9954b050e7b7 + checksum: 25a78e80052cca8abe5edf15c0ae92854d00d1bec15283486a2535ab673345b0be090e39cc9a86822be17ddd812fa76cbfd869be21bb944d2faaf2922e2a836a languageName: node linkType: hard "@types/yargs-parser@npm:*": - version: 21.0.0 - resolution: "@types/yargs-parser@npm:21.0.0" - checksum: b2f4c8d12ac18a567440379909127cf2cec393daffb73f246d0a25df36ea983b93b7e9e824251f959e9f928cbc7c1aab6728d0a0ff15d6145f66cec2be67d9a2 + version: 13.0.0 + resolution: "@types/yargs-parser@npm:13.0.0" + checksum: 22e2ed1e6d4821a24349fa4ac537e1ee823f3dbfc37e3792d6be7bc1ccafddd8c95e2a1cfa93d6e1f533b8716276b3b5dd8bcd83b90233e1c5434a63c35ae519 languageName: node linkType: hard "@types/yargs@npm:^15.0.0": - version: 15.0.14 - resolution: "@types/yargs@npm:15.0.14" + version: 15.0.4 + resolution: "@types/yargs@npm:15.0.4" dependencies: "@types/yargs-parser": "*" - checksum: 8e358aeb8f0c3758e59e2b8fcfdee5627ab2fe3d92f50f380503d966c7f33287be3322155516a50d27727fde1ad3878f48f60cd6648439126d4b0bbb1a1153ed + checksum: 8daf7a70316d79e95fba9774930e42009d6b8fa7b89851e66d625f0eb00abf3b7208d032392fae4a8350a037946eed3f27acb09266a67816fe4b918b7fa53316 languageName: node linkType: hard -"@types/yargs@npm:^17.0.8": - version: 17.0.13 - resolution: "@types/yargs@npm:17.0.13" +"@types/yargs@npm:^16.0.0": + version: 16.0.4 + resolution: "@types/yargs@npm:16.0.4" dependencies: "@types/yargs-parser": "*" - checksum: 0ab269abc2da2223cf0a8c16d578850fbe327d40fb85724b5c3f9f6cf38d03656ef699518c05d4df3bc337339ec6d0aad7df01682a9dca4783ad1ccc7336cf12 + checksum: caa21d2c957592fe2184a8368c8cbe5a82a6c2e2f2893722e489f842dc5963293d2f3120bc06fe3933d60a3a0d1e2eb269649fd6b1947fe1820f8841ba611dd9 languageName: node linkType: hard @@ -2325,7 +2420,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/experimental-utils@npm:4.33.0, @typescript-eslint/experimental-utils@npm:^4.0.1": +"@typescript-eslint/experimental-utils@npm:4.33.0": version: 4.33.0 resolution: "@typescript-eslint/experimental-utils@npm:4.33.0" dependencies: @@ -2341,6 +2436,22 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/experimental-utils@npm:^4.0.1": + version: 4.15.2 + resolution: "@typescript-eslint/experimental-utils@npm:4.15.2" + dependencies: + "@types/json-schema": ^7.0.3 + "@typescript-eslint/scope-manager": 4.15.2 + "@typescript-eslint/types": 4.15.2 + "@typescript-eslint/typescript-estree": 4.15.2 + eslint-scope: ^5.0.0 + eslint-utils: ^2.0.0 + peerDependencies: + eslint: "*" + checksum: 55496b02a3ebb845c693acb0df68cbc27f604d8e2931924e2c6c28635393d6166cc6de0f639aaab3b5776f0a3a729cb24775033a6f9c39e316b57af2101fe875 + languageName: node + linkType: hard + "@typescript-eslint/parser@npm:^4.33.0": version: 4.33.0 resolution: "@typescript-eslint/parser@npm:4.33.0" @@ -2358,6 +2469,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:4.15.2": + version: 4.15.2 + resolution: "@typescript-eslint/scope-manager@npm:4.15.2" + dependencies: + "@typescript-eslint/types": 4.15.2 + "@typescript-eslint/visitor-keys": 4.15.2 + checksum: eaf6a81a5a89aaf411020bda09efa4a4eee182d551853ad060f8d88ae096db0c23ea0f6804a553ef67fec6187661479e5c2c012bbc3c5174f858dfe60af5d293 + languageName: node + linkType: hard + "@typescript-eslint/scope-manager@npm:4.33.0": version: 4.33.0 resolution: "@typescript-eslint/scope-manager@npm:4.33.0" @@ -2368,6 +2489,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:4.15.2": + version: 4.15.2 + resolution: "@typescript-eslint/types@npm:4.15.2" + checksum: 011ba819fa8ba7a24e8bba490a484396485cea4831ee391090b101553aab096fadb3b4f466a741738f28d0788e340adb1179540248d34b24539f6ff97617a165 + languageName: node + linkType: hard + "@typescript-eslint/types@npm:4.33.0": version: 4.33.0 resolution: "@typescript-eslint/types@npm:4.33.0" @@ -2375,6 +2503,24 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:4.15.2": + version: 4.15.2 + resolution: "@typescript-eslint/typescript-estree@npm:4.15.2" + dependencies: + "@typescript-eslint/types": 4.15.2 + "@typescript-eslint/visitor-keys": 4.15.2 + debug: ^4.1.1 + globby: ^11.0.1 + is-glob: ^4.0.1 + semver: ^7.3.2 + tsutils: ^3.17.1 + peerDependenciesMeta: + typescript: + optional: true + checksum: f80b60f7b244460ac135fc54f3ae403fb8938c23246fe50b92431290c8713a7a582322e0d57d903674abee73fa5f9b0231cf9216d261d98047951fdc6768192f + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:4.33.0": version: 4.33.0 resolution: "@typescript-eslint/typescript-estree@npm:4.33.0" @@ -2393,6 +2539,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:4.15.2": + version: 4.15.2 + resolution: "@typescript-eslint/visitor-keys@npm:4.15.2" + dependencies: + "@typescript-eslint/types": 4.15.2 + eslint-visitor-keys: ^2.0.0 + checksum: 0d7932978cfa688b5ac3edc4fdc38bf3e6571dfb5c923e40295eee58e5fef072b72ed4f6f9c654a803007adbbf2298e89eff1c1f4a25fb494af9a4c93444879d + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:4.33.0": version: 4.33.0 resolution: "@typescript-eslint/visitor-keys@npm:4.33.0" @@ -2403,10 +2559,10 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.3, abab@npm:^2.0.5": - version: 2.0.6 - resolution: "abab@npm:2.0.6" - checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e +"abab@npm:^2.0.3": + version: 2.0.4 + resolution: "abab@npm:2.0.4" + checksum: 2aab16527f1ff727ab416ab0d9b62d5fd79341b972fcd2408253bec2b83585295dae8e4228f2a564da0bee9ad6c82d6aaa14f4d9988d0dfa6eabdaba362765c0 languageName: node linkType: hard @@ -2455,11 +2611,11 @@ __metadata: linkType: hard "acorn-jsx@npm:^5.3.1": - version: 5.3.2 - resolution: "acorn-jsx@npm:5.3.2" + version: 5.3.1 + resolution: "acorn-jsx@npm:5.3.1" peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: c3d3b2a89c9a056b205b69530a37b972b404ee46ec8e5b341666f9513d3163e2a4f214a71f4dfc7370f5a9c07472d2fd1c11c91c3f03d093e37637d95da98950 + checksum: daf441a9d7b59c0ea1f7fe2934c48aca604a007455129ce35fa62ec3d4c8363e2efc2d4da636d18ce0049979260ba07d8b42bc002ae95182916d2c90901529c2 languageName: node linkType: hard @@ -2470,25 +2626,25 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.1.1, acorn@npm:^7.4.0": - version: 7.4.1 - resolution: "acorn@npm:7.4.1" +"acorn@npm:^7.1.1": + version: 7.4.0 + resolution: "acorn@npm:7.4.0" bin: acorn: bin/acorn - checksum: 1860f23c2107c910c6177b7b7be71be350db9e1080d814493fae143ae37605189504152d1ba8743ba3178d0b37269ce1ffc42b101547fdc1827078f82671e407 + checksum: 1cbf7cae01f8fdc9ee2c65294b7f0a741a67760b22fee4ea3bbbffd0102fc76b07cd7437494221df7f7e51e75fdff3dae4bf11763d29e310e779fc61d3378ad5 languageName: node linkType: hard -"acorn@npm:^8.2.4": - version: 8.8.0 - resolution: "acorn@npm:8.8.0" +"acorn@npm:^7.4.0": + version: 7.4.1 + resolution: "acorn@npm:7.4.1" bin: acorn: bin/acorn - checksum: 7270ca82b242eafe5687a11fea6e088c960af712683756abf0791b68855ea9cace3057bd5e998ffcef50c944810c1e0ca1da526d02b32110e13c722aa959afdc + checksum: 1860f23c2107c910c6177b7b7be71be350db9e1080d814493fae143ae37605189504152d1ba8743ba3178d0b37269ce1ffc42b101547fdc1827078f82671e407 languageName: node linkType: hard -"aes-js@npm:^3.1.2": +"aes-js@npm:^3.1.1": version: 3.1.2 resolution: "aes-js@npm:3.1.2" checksum: 062154d50b1e433cc8c3b8ca7879f3a6375d5e79c2a507b2b6c4ec920b4cd851bf2afa7f65c98761a9da89c0ab618cbe6529e8e9a1c71f93290b53128fb8f712 @@ -2525,7 +2681,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.10.0, ajv@npm:^6.12.3, ajv@npm:^6.12.4": +"ajv@npm:^6.10.0, ajv@npm:^6.12.4, ajv@npm:^6.5.5": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -2537,31 +2693,31 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.1": - version: 8.11.0 - resolution: "ajv@npm:8.11.0" +"ajv@npm:^7.0.2": + version: 7.1.0 + resolution: "ajv@npm:7.1.0" dependencies: fast-deep-equal: ^3.1.1 json-schema-traverse: ^1.0.0 require-from-string: ^2.0.2 uri-js: ^4.2.2 - checksum: 5e0ff226806763be73e93dd7805b634f6f5921e3e90ca04acdf8db81eed9d8d3f0d4c5f1213047f45ebbf8047ffe0c840fa1ef2ec42c3a644899f69aa72b5bef + checksum: 2d91e6cf152e24f1ac0f27e2cfd6fbd2a8c64bd5ae8985d47e5a8211080ba88f0b1278201c43c42b5af3094b69a823c62226c6c96fde8a93f9c532106fa8003b languageName: node linkType: hard "ansi-colors@npm:^4.1.1": - version: 4.1.3 - resolution: "ansi-colors@npm:4.1.3" - checksum: a9c2ec842038a1fabc7db9ece7d3177e2fe1c5dc6f0c51ecfbf5f39911427b89c00b5dc6b8bd95f82a26e9b16aaae2e83d45f060e98070ce4d1333038edceb0e + version: 4.1.1 + resolution: "ansi-colors@npm:4.1.1" + checksum: 138d04a51076cb085da0a7e2d000c5c0bb09f6e772ed5c65c53cb118d37f6c5f1637506d7155fb5f330f0abcf6f12fa2e489ac3f8cdab9da393bf1bb4f9a32b0 languageName: node linkType: hard "ansi-escapes@npm:^4.2.1": - version: 4.3.2 - resolution: "ansi-escapes@npm:4.3.2" + version: 4.3.1 + resolution: "ansi-escapes@npm:4.3.1" dependencies: - type-fest: ^0.21.3 - checksum: 93111c42189c0a6bed9cdb4d7f2829548e943827ee8479c74d6e0b22ee127b2a21d3f8b5ca57723b8ef78ce011fbfc2784350eb2bde3ccfccf2f575fa8489815 + type-fest: ^0.11.0 + checksum: c4962c1791cc4e29efb9976680bad7b23f322ca039e588406680fffc8b6bc6e223721193eb481dab076309d9a7371bbfc4e835efe5fe267e3395ffa047da239d languageName: node linkType: hard @@ -2572,7 +2728,21 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^5.0.0, ansi-regex@npm:^5.0.1": +"ansi-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "ansi-regex@npm:3.0.0" + checksum: 2ad11c416f81c39f5c65eafc88cf1d71aa91d76a2f766e75e457c2a3c43e8a003aadbf2966b61c497aa6a6940a36412486c975b3270cdfc3f413b69826189ec3 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.0": + version: 5.0.0 + resolution: "ansi-regex@npm:5.0.0" + checksum: b1bb4e992a5d96327bb4f72eaba9f8047f1d808d273ad19d399e266bfcc7fb19a4d1a127a32f7bc61fe46f1a94a4d04ec4c424e3fbe184929aa866323d8ed4ce + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b @@ -2589,11 +2759,12 @@ __metadata: linkType: hard "ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" + version: 4.2.1 + resolution: "ansi-styles@npm:4.2.1" dependencies: + "@types/color-name": ^1.1.1 color-convert: ^2.0.1 - checksum: 513b44c3b2105dd14cc42a19271e80f386466c4be574bccf60b627432f9198571ebf4ab1e4c3ba17347658f4ee1711c163d574248c0c1cdc2d5917a0ad582ec4 + checksum: 7c74dbc7ec912b9e45dacbfaa7e2513bea6aa24d5357a0cd3255e7f83ecfc62e1454c77ab150a8df60de700c83c17fbbf040e7c204b4b6fc7aa250c8afcb865f languageName: node linkType: hard @@ -2615,12 +2786,12 @@ __metadata: linkType: hard "anymatch@npm:^3.0.3": - version: 3.1.2 - resolution: "anymatch@npm:3.1.2" + version: 3.1.1 + resolution: "anymatch@npm:3.1.1" dependencies: normalize-path: ^3.0.0 picomatch: ^2.0.4 - checksum: 985163db2292fac9e5a1e072bf99f1b5baccf196e4de25a0b0b81865ebddeb3b3eb4480734ef0a2ac8c002845396b91aa89121f5b84f93981a4658164a9ec6e9 + checksum: c951385862bf114807d594bdffccb769bd7219ddc14f24fc135cde075ad2477a97991567b8bb5032d4f279f96897f0c2af6468a350a6c674ac0a5ee3b62a26d6 languageName: node linkType: hard @@ -2639,22 +2810,22 @@ __metadata: linkType: hard "are-we-there-yet@npm:^3.0.0": - version: 3.0.1 - resolution: "are-we-there-yet@npm:3.0.1" + version: 3.0.0 + resolution: "are-we-there-yet@npm:3.0.0" dependencies: delegates: ^1.0.0 readable-stream: ^3.6.0 - checksum: 52590c24860fa7173bedeb69a4c05fb573473e860197f618b9a28432ee4379049336727ae3a1f9c4cb083114601c1140cee578376164d0e651217a9843f9fe83 + checksum: 348edfdd931b0b50868b55402c01c3f64df1d4c229ab6f063539a5025fd6c5f5bb8a0cab409bbed8d75d34762d22aa91b7c20b4204eb8177063158d9ba792981 languageName: node linkType: hard "are-we-there-yet@npm:~1.1.2": - version: 1.1.7 - resolution: "are-we-there-yet@npm:1.1.7" + version: 1.1.5 + resolution: "are-we-there-yet@npm:1.1.5" dependencies: delegates: ^1.0.0 readable-stream: ^2.0.6 - checksum: 70d251719c969b2745bfe5ddf3ebaefa846a636e90a6d5212573676af5d6670e15457761d4725731e19cbebdce42c4ab0cbedf23ab047f2a08274985aa10a3c7 + checksum: 9a746b1dbce4122f44002b0c39fbba5b2c6f52c00e88b6ccba6fc68652323f8a1355a20e8ab94846995626d8de3bf67669a3b4a037dff0885db14607168f2b15 languageName: node linkType: hard @@ -2688,16 +2859,14 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.4": - version: 3.1.5 - resolution: "array-includes@npm:3.1.5" +"array-includes@npm:^3.1.1": + version: 3.1.1 + resolution: "array-includes@npm:3.1.1" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.19.5 - get-intrinsic: ^1.1.1 - is-string: ^1.0.7 - checksum: f6f24d834179604656b7bec3e047251d5cc87e9e87fab7c175c61af48e80e75acd296017abcde21fb52292ab6a2a449ab2ee37213ee48c8709f004d75983f9c5 + define-properties: ^1.1.3 + es-abstract: ^1.17.0 + is-string: ^1.0.5 + checksum: e6d35d400c156a7242eb7fdeac5a64fe2d2c96613c55daea015d828691d8f26c2bd1b34f9786728fb3b00f2d0211374ecf2e1c5f8a56beb434bf8b2a9725235f languageName: node linkType: hard @@ -2715,24 +2884,22 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.2.5": - version: 1.3.0 - resolution: "array.prototype.flat@npm:1.3.0" +"array.prototype.flat@npm:^1.2.3": + version: 1.2.3 + resolution: "array.prototype.flat@npm:1.2.3" dependencies: - call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.19.2 - es-shim-unscopables: ^1.0.0 - checksum: 2a652b3e8dc0bebb6117e42a5ab5738af0203a14c27341d7bb2431467bdb4b348e2c5dc555dfcda8af0a5e4075c400b85311ded73861c87290a71a17c3e0a257 + es-abstract: ^1.17.0-next.1 + checksum: ba4cf6e53871902a09fa7f56ff097e836f18d59de0219fe271e3d1a895a7ea98a62fa946cbdae95e73b774991206a32a26822227d081bd2cc5c771b95f851753 languageName: node linkType: hard "asn1@npm:~0.2.3": - version: 0.2.6 - resolution: "asn1@npm:0.2.6" + version: 0.2.4 + resolution: "asn1@npm:0.2.4" dependencies: safer-buffer: ~2.1.0 - checksum: 39f2ae343b03c15ad4f238ba561e626602a3de8d94ae536c46a4a93e69578826305366dc09fbb9b56aec39b4982a463682f259c38e59f6fa380cd72cd61e493d + checksum: aa5d6f77b1e0597df53824c68cfe82d1d89ce41cb3520148611f025fbb3101b2d25dd6a40ad34e4fac10f6b19ed5e8628cd4b7d212261e80e83f02b39ee5663c languageName: node linkType: hard @@ -2802,11 +2969,11 @@ __metadata: linkType: hard "async@npm:^2.0.1, async@npm:^2.1.2, async@npm:^2.4.0, async@npm:^2.5.0": - version: 2.6.4 - resolution: "async@npm:2.6.4" + version: 2.6.3 + resolution: "async@npm:2.6.3" dependencies: lodash: ^4.17.14 - checksum: a52083fb32e1ebe1d63e5c5624038bb30be68ff07a6c8d7dfe35e47c93fc144bd8652cbec869e0ac07d57dde387aa5f1386be3559cdee799cb1f789678d88e19 + checksum: 5e5561ff8fca807e88738533d620488ac03a5c43fce6c937451f7e35f943d33ad06c24af3f681a48cca3d2b0002b3118faff0a128dc89438a9bf0226f712c499 languageName: node linkType: hard @@ -2817,7 +2984,7 @@ __metadata: languageName: node linkType: hard -"atob@npm:^2.1.2": +"atob@npm:^2.1.1": version: 2.1.2 resolution: "atob@npm:2.1.2" bin: @@ -2841,94 +3008,58 @@ __metadata: linkType: hard "aws4@npm:^1.8.0": - version: 1.11.0 - resolution: "aws4@npm:1.11.0" - checksum: 5a00d045fd0385926d20ebebcfba5ec79d4482fe706f63c27b324d489a04c68edb0db99ed991e19eda09cb8c97dc2452059a34d97545cebf591d7a2b5a10999f + version: 1.8.0 + resolution: "aws4@npm:1.8.0" + checksum: 3314f3607f2b79028500e8eb98e1ba30a4fa6e2c5bedb7c471ad8ace444899f30cea32de31ec86ab4a1e34b65d523482c51a9895c6fc229c3bf75e50b68afeae languageName: node linkType: hard -"babel-jest@npm:^26.6.3": - version: 26.6.3 - resolution: "babel-jest@npm:26.6.3" +"babel-jest@npm:^26.3.0": + version: 26.3.0 + resolution: "babel-jest@npm:26.3.0" dependencies: - "@jest/transform": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/transform": ^26.3.0 + "@jest/types": ^26.3.0 "@types/babel__core": ^7.1.7 babel-plugin-istanbul: ^6.0.0 - babel-preset-jest: ^26.6.2 + babel-preset-jest: ^26.3.0 chalk: ^4.0.0 graceful-fs: ^4.2.4 slash: ^3.0.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 5917233f0d381e719e195b69b81e46da90293432d10288d79f8f59b8f3f9ac030e14701f3d9f90893fb739481df1d132446f1b983d841e65e2623775db100897 + checksum: c3dcf868f30699976d160d83fa2600fdd08e52fcb2754a08b0b9fba2cfdfc1de90290c0fb7270d74fe0d1115334ce421e448b7d902abbdc915db86d6bad55d5c languageName: node linkType: hard "babel-plugin-istanbul@npm:^6.0.0": - version: 6.1.1 - resolution: "babel-plugin-istanbul@npm:6.1.1" + version: 6.0.0 + resolution: "babel-plugin-istanbul@npm:6.0.0" 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 + istanbul-lib-instrument: ^4.0.0 test-exclude: ^6.0.0 - checksum: cb4fd95738219f232f0aece1116628cccff16db891713c4ccb501cddbbf9272951a5df81f2f2658dfdf4b3e7b236a9d5cbcf04d5d8c07dd5077297339598061a + checksum: bc586cf088ec471a98a474ef0e9361ace61947da2a3e54162f1e1ab712a1a81a88007639e8aff7db2fc8678ae7c671e696e6edd6ccf72db8e6af86f0628d5a08 languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^26.6.2": - version: 26.6.2 - resolution: "babel-plugin-jest-hoist@npm:26.6.2" +"babel-plugin-jest-hoist@npm:^26.2.0": + version: 26.2.0 + resolution: "babel-plugin-jest-hoist@npm:26.2.0" dependencies: "@babel/template": ^7.3.3 "@babel/types": ^7.3.3 "@types/babel__core": ^7.0.0 "@types/babel__traverse": ^7.0.6 - checksum: abe3732fdf20f96e91cbf788a54d776b30bd7a6054cb002a744d7071c656813e26e77a780dc2a6f6b197472897e220836cd907bda3fadb9d0481126bfd6c3783 - languageName: node - linkType: hard - -"babel-plugin-polyfill-corejs2@npm:^0.3.3": - version: 0.3.3 - resolution: "babel-plugin-polyfill-corejs2@npm:0.3.3" - dependencies: - "@babel/compat-data": ^7.17.7 - "@babel/helper-define-polyfill-provider": ^0.3.3 - semver: ^6.1.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 7db3044993f3dddb3cc3d407bc82e640964a3bfe22de05d90e1f8f7a5cb71460011ab136d3c03c6c1ba428359ebf635688cd6205e28d0469bba221985f5c6179 - languageName: node - linkType: hard - -"babel-plugin-polyfill-corejs3@npm:^0.6.0": - version: 0.6.0 - resolution: "babel-plugin-polyfill-corejs3@npm:0.6.0" - dependencies: - "@babel/helper-define-polyfill-provider": ^0.3.3 - core-js-compat: ^3.25.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 470bb8c59f7c0912bd77fe1b5a2e72f349b3f65bbdee1d60d6eb7e1f4a085c6f24b2dd5ab4ac6c2df6444a96b070ef6790eccc9edb6a2668c60d33133bfb62c6 - languageName: node - linkType: hard - -"babel-plugin-polyfill-regenerator@npm:^0.4.1": - version: 0.4.1 - resolution: "babel-plugin-polyfill-regenerator@npm:0.4.1" - dependencies: - "@babel/helper-define-polyfill-provider": ^0.3.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ab0355efbad17d29492503230387679dfb780b63b25408990d2e4cf421012dae61d6199ddc309f4d2409ce4e9d3002d187702700dd8f4f8770ebbba651ed066c + checksum: 14bc8a0b746fc3c1234a81fee092bc426d1d59284c3189554ca8057969eda10f6ea4590a66c6ab98cbc87c9f68f6049feec3bd8705a3a6cd1e9ca5a57de56584 languageName: node linkType: hard -"babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.0.1 - resolution: "babel-preset-current-node-syntax@npm:1.0.1" +"babel-preset-current-node-syntax@npm:^0.1.3": + version: 0.1.3 + resolution: "babel-preset-current-node-syntax@npm:0.1.3" dependencies: "@babel/plugin-syntax-async-generators": ^7.8.4 "@babel/plugin-syntax-bigint": ^7.8.3 @@ -2941,22 +3072,21 @@ __metadata: "@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 - checksum: d118c2742498c5492c095bc8541f4076b253e705b5f1ad9a2e7d302d81a84866f0070346662355c8e25fc02caa28dc2da8d69bcd67794a0d60c4d6fab6913cc8 + checksum: 4ae16e45c2a3db05fcfe47b3d0803d8f7d799dd11de8a76bde36b39dacf86179fa9fea1cf19eb960243a9d8a73d1c4792e234883dfa9e4a7e0592d32c2e6c658 languageName: node linkType: hard -"babel-preset-jest@npm:^26.6.2": - version: 26.6.2 - resolution: "babel-preset-jest@npm:26.6.2" +"babel-preset-jest@npm:^26.3.0": + version: 26.3.0 + resolution: "babel-preset-jest@npm:26.3.0" dependencies: - babel-plugin-jest-hoist: ^26.6.2 - babel-preset-current-node-syntax: ^1.0.0 + babel-plugin-jest-hoist: ^26.2.0 + babel-preset-current-node-syntax: ^0.1.3 peerDependencies: "@babel/core": ^7.0.0 - checksum: 1d9bef3a7ac6751a09d29ceb84be8b1998abd210fafa12223689c744db4f2a63ab90cba7986a71f3154d9aceda9dbeca563178731d21cbaf793b4096ed3a4d01 + checksum: 57bb106dcecfd3487fd558b28ab30d52269c98fea3db80c5324a20e26021dae4cac78f7e0b02c25aba21f06a9cac9efbb48037ae467dce9b26defd51c5dfa9e2 languageName: node linkType: hard @@ -2994,11 +3124,11 @@ __metadata: linkType: hard "base-x@npm:^3.0.2": - version: 3.0.9 - resolution: "base-x@npm:3.0.9" + version: 3.0.8 + resolution: "base-x@npm:3.0.8" dependencies: safe-buffer: ^5.0.1 - checksum: 957101d6fd09e1903e846fd8f69fd7e5e3e50254383e61ab667c725866bec54e5ece5ba49ce385128ae48f9ec93a26567d1d5ebb91f4d56ef4a9cc0d5a5481e8 + checksum: 92b95493e636999d6505d9c5abfa049fce1bdde9327f733c5984e712cdb98482d2d45410e4ac1d04e5a004545e46898674f405db04c9555ba3e35fc00b150bf4 languageName: node linkType: hard @@ -3011,6 +3141,13 @@ __metadata: languageName: node linkType: hard +"base64-js@npm:^1.0.2": + version: 1.3.1 + resolution: "base64-js@npm:1.3.1" + checksum: 957b9ced0ea1b39588a117193f801b045a5fb2d6f1b9943dd304bcad46e5681bf837fe092105692b11653658e8443764139d6b11d3c4037093b96e8db4e1dbb2 + languageName: node + linkType: hard + "base64-js@npm:^1.3.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" @@ -3057,16 +3194,34 @@ __metadata: linkType: hard "bignumber.js@npm:^9.0.1": - version: 9.1.0 - resolution: "bignumber.js@npm:9.1.0" - checksum: 52ec2bb5a3874d7dc1a1018f28f8f7aff4683515ffd09d6c2d93191343c76567ae0ee32cc45149d53afb2b904bc62ed471a307b35764beea7e9db78e56bef6c6 + version: 9.0.2 + resolution: "bignumber.js@npm:9.0.2" + checksum: 8637b71d0a99104b20413c47578953970006fec6b4df796b9dcfd9835ea9c402ea0e727eba9a5ca9f9a393c1d88b6168c5bbe0887598b708d4f8b4870ad62e1f + languageName: node + linkType: hard + +"bindings@npm:^1.2.1, bindings@npm:^1.5.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: 1.0.0 + checksum: 65b6b48095717c2e6105a021a7da4ea435aa8d3d3cd085cb9e85bcb6e5773cf318c4745c3f7c504412855940b585bdf9b918236612a1c7a7942491de176f1ae7 + languageName: node + linkType: hard + +"bip66@npm:^1.1.5": + version: 1.1.5 + resolution: "bip66@npm:1.1.5" + dependencies: + safe-buffer: ^5.0.1 + checksum: 956cff6e51d7206571ef8ce875bc5fa61b5c181589790b9155799b7edcae4b20dbb3eed43b188ff3eec27cdbe98e0b7e0ec9f1cb2e4f5370c119028b248ad859 languageName: node linkType: hard "blakejs@npm:^1.1.0": - version: 1.2.1 - resolution: "blakejs@npm:1.2.1" - checksum: d699ba116cfa21d0b01d12014a03e484dd76d483133e6dc9eb415aa70a119f08beb3bcefb8c71840106a00b542cba77383f8be60cd1f0d4589cb8afb922eefbe + version: 1.1.0 + resolution: "blakejs@npm:1.1.0" + checksum: 69df62aee27e30ff2af8d709dd4676e037f2e92ded09b0d1a8187d1a69edaf05f4e63f3f473a0e44576e517196e54193641eec345bcc505c8a221940ec491141 languageName: node linkType: hard @@ -3077,14 +3232,28 @@ __metadata: languageName: node linkType: hard -"bn.js@npm:^4.11.0, bn.js@npm:^4.11.8, bn.js@npm:^4.11.9": +"bn.js@npm:^4.10.0, bn.js@npm:^4.11.0, bn.js@npm:^4.11.1, bn.js@npm:^4.11.8, bn.js@npm:^4.11.9, bn.js@npm:^4.8.0": version: 4.12.0 resolution: "bn.js@npm:4.12.0" checksum: 39afb4f15f4ea537b55eaf1446c896af28ac948fdcf47171961475724d1bb65118cca49fa6e3d67706e4790955ec0e74de584e45c8f1ef89f46c812bee5b5a12 languageName: node linkType: hard -"bn.js@npm:^5.1.2, bn.js@npm:^5.2.0, bn.js@npm:^5.2.1": +"bn.js@npm:^5.1.2": + version: 5.1.3 + resolution: "bn.js@npm:5.1.3" + checksum: 6a51cf48699e4b01d5afcec842e406052c358c9644da79d620a9a79e532908732e63849ee6e7b4680967bf866dcb22ae9da18ee1695448846957ba3421f0a2a3 + languageName: node + linkType: hard + +"bn.js@npm:^5.2.0": + version: 5.2.0 + resolution: "bn.js@npm:5.2.0" + checksum: 6117170393200f68b35a061ecbf55d01dd989302e7b3c798a3012354fa638d124f0b2f79e63f77be5556be80322a09c40339eda6413ba7468524c0b6d4b4cb7a + languageName: node + linkType: hard + +"bn.js@npm:^5.2.1": version: 5.2.1 resolution: "bn.js@npm:5.2.1" checksum: 3dd8c8d38055fedfa95c1d5fc3c99f8dd547b36287b37768db0abab3c239711f88ff58d18d155dd8ad902b0b0cee973747b7ae20ea12a09473272b0201c9edd3 @@ -3128,7 +3297,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.2": +"braces@npm:^3.0.1": version: 3.0.2 resolution: "braces@npm:3.0.2" dependencies: @@ -3160,7 +3329,7 @@ __metadata: languageName: node linkType: hard -"browserify-aes@npm:^1.2.0": +"browserify-aes@npm:^1.0.6, browserify-aes@npm:^1.2.0": version: 1.2.0 resolution: "browserify-aes@npm:1.2.0" dependencies: @@ -3174,6 +3343,16 @@ __metadata: languageName: node linkType: hard +"browserify-sha3@npm:^0.0.4": + version: 0.0.4 + resolution: "browserify-sha3@npm:0.0.4" + dependencies: + js-sha3: ^0.6.1 + safe-buffer: ^5.1.1 + checksum: 08541e18dab5f2ec48d90257e36ceaafe5d3caaed0f0dc8ba05aa4a21db68305e8acb58e4116162bb279f427b3dca1ea112eb835dff2182640c9597e06d34251 + languageName: node + linkType: hard + "browserify-unibabel@npm:^3.0.0": version: 3.0.0 resolution: "browserify-unibabel@npm:3.0.0" @@ -3181,20 +3360,6 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.21.3, browserslist@npm:^4.21.4": - version: 4.21.4 - resolution: "browserslist@npm:4.21.4" - dependencies: - caniuse-lite: ^1.0.30001400 - electron-to-chromium: ^1.4.251 - node-releases: ^2.0.6 - update-browserslist-db: ^1.0.9 - bin: - browserslist: cli.js - checksum: 4af3793704dbb4615bcd29059ab472344dc7961c8680aa6c4bb84f05340e14038d06a5aead58724eae69455b8fade8b8c69f1638016e87e5578969d74c078b79 - languageName: node - linkType: hard - "bs-logger@npm:0.x": version: 0.2.6 resolution: "bs-logger@npm:0.2.6" @@ -3233,12 +3398,12 @@ __metadata: languageName: node linkType: hard -"bser@npm:2.1.1": - version: 2.1.1 - resolution: "bser@npm:2.1.1" +"bser@npm:^2.0.0": + version: 2.1.0 + resolution: "bser@npm:2.1.0" dependencies: node-int64: ^0.4.0 - checksum: 9ba4dc58ce86300c862bffc3ae91f00b2a03b01ee07f3564beeeaf82aa243b8b03ba53f123b0b842c190d4399b94697970c8e7cf7b1ea44b61aa28c3526a4449 + checksum: e9fd82be9177b0f6c96bb63691161d16bc35254bb613cf3c1f75e9cb630fe7f479578a9d003a9d30e07e7218d3f9676deb23d52fe7cc6074d1e61feeca1a70bf languageName: node linkType: hard @@ -3252,9 +3417,9 @@ __metadata: linkType: hard "buffer-from@npm:1.x, buffer-from@npm:^1.0.0": - version: 1.1.2 - resolution: "buffer-from@npm:1.1.2" - checksum: 0448524a562b37d4d7ed9efd91685a5b77a50672c556ea254ac9a6d30e3403a517d8981f10e565db24e8339413b43c97ca2951f10e399c6125a0d8911f5679bb + version: 1.1.1 + resolution: "buffer-from@npm:1.1.1" + checksum: ccc53b69736008bff764497367c4d24879ba7122bc619ee499ff47eef3a5b885ca496e87272e7ebffa0bec3804c83f84041c616f6e3318f40624e27c1d80f045 languageName: node linkType: hard @@ -3275,9 +3440,19 @@ __metadata: languageName: node linkType: hard +"buffer@npm:^5.2.1": + version: 5.4.0 + resolution: "buffer@npm:5.4.0" + dependencies: + base64-js: ^1.0.2 + ieee754: ^1.1.4 + checksum: ca8b2b7dce2dccd049182cf886772b09c9b4b52f3557557513c6130c721c10fe4c8dea08bbaca1ad8a10a69055266526d601be47d77103ca70959f668cf02b0d + languageName: node + linkType: hard + "cacache@npm:^16.1.0": - version: 16.1.3 - resolution: "cacache@npm:16.1.3" + version: 16.1.1 + resolution: "cacache@npm:16.1.1" dependencies: "@npmcli/fs": ^2.1.0 "@npmcli/move-file": ^2.0.0 @@ -3296,8 +3471,8 @@ __metadata: rimraf: ^3.0.2 ssri: ^9.0.0 tar: ^6.1.11 - unique-filename: ^2.0.0 - checksum: d91409e6e57d7d9a3a25e5dcc589c84e75b178ae8ea7de05cbf6b783f77a5fae938f6e8fda6f5257ed70000be27a681e1e44829251bfffe4c10216002f8f14e6 + unique-filename: ^1.1.1 + checksum: 488524617008b793f0249b0c4ea2c330c710ca997921376e15650cc2415a8054491ae2dee9f01382c2015602c0641f3f977faf2fa7361aa33d2637dcfb03907a languageName: node linkType: hard @@ -3343,16 +3518,9 @@ __metadata: linkType: hard "camelcase@npm:^6.0.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.30001400": - version: 1.0.30001412 - resolution: "caniuse-lite@npm:1.0.30001412" - checksum: 7f5f476355f25a9841c30785c11df5225e2e7613f3334573e8da5490f195ac897a525fe4b514fa926b7be7e7937f15743e466bbc3a3272e848fb7ace7432ae02 + version: 6.0.0 + resolution: "camelcase@npm:6.0.0" + checksum: 28f42db097786fb9edb4a80af6cfa67331a9120e00323aaac925f0520797e79eaef9fd771c62b0403468bfd596e528e426863176ae8bb992d086dc991deabebb languageName: node linkType: hard @@ -3390,13 +3558,23 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^3.0.0": + version: 3.0.0 + resolution: "chalk@npm:3.0.0" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 8e3ddf3981c4da405ddbd7d9c8d91944ddf6e33d6837756979f7840a29272a69a5189ecae0ff84006750d6d1e92368d413335eab4db5476db6e6703a1d1e0505 + languageName: node + linkType: hard + "chalk@npm:^4.0.0": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" + version: 4.1.0 + resolution: "chalk@npm:4.1.0" dependencies: ansi-styles: ^4.1.0 supports-color: ^7.1.0 - checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc + checksum: 5561c7b4c063badee3e16d04bce50bd033e1be1bf4c6948639275683ffa7a1993c44639b43c22b1c505f0f813a24b1889037eb182546b48946f9fe7cdd0e7d13 languageName: node linkType: hard @@ -3430,13 +3608,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.2.0": - version: 3.4.0 - resolution: "ci-info@npm:3.4.0" - checksum: 7f660730170a6ce248e173b670587a0c583e31526d21afcd21f77c811c1aaeb8926999081542d1f30e12cce1df582d4c88709fa45f44c00498b46bdf21d4d21a - languageName: node - linkType: hard - "cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": version: 1.0.4 resolution: "cipher-base@npm:1.0.4" @@ -3447,13 +3618,6 @@ __metadata: languageName: node linkType: hard -"cjs-module-lexer@npm:^0.6.0": - version: 0.6.0 - resolution: "cjs-module-lexer@npm:0.6.0" - checksum: 445b039607efd74561d7db8d0867031c8b6a69f25e83fdd861b0fa1fbc11f12de057ba1db80637f3c9016774354092af5325eebb90505d65ccc5389cae09d1fd - languageName: node - linkType: hard - "class-utils@npm:^0.3.5": version: 0.3.6 resolution: "class-utils@npm:0.3.6" @@ -3517,9 +3681,9 @@ __metadata: linkType: hard "collect-v8-coverage@npm:^1.0.0": - version: 1.0.1 - resolution: "collect-v8-coverage@npm:1.0.1" - checksum: 4efe0a1fccd517b65478a2364b33dadd0a43fc92a56f59aaece9b6186fe5177b2de471253587de7c91516f07c7268c2f6770b6cbcffc0e0ece353b766ec87e55 + version: 1.0.0 + resolution: "collect-v8-coverage@npm:1.0.0" + checksum: 99d6059eb0e04bf792e27824d43d1139ede28914b7f55ddedd9c43594926221579fa6925ecc7e2f47dec14f5199e5ea3afbfc1da9a32ad542f859022d57f9d80 languageName: node linkType: hard @@ -3574,7 +3738,7 @@ __metadata: languageName: node linkType: hard -"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6": +"combined-stream@npm:^1.0.6, combined-stream@npm:~1.0.6": version: 1.0.8 resolution: "combined-stream@npm:1.0.8" dependencies: @@ -3611,19 +3775,35 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": - version: 1.8.0 - resolution: "convert-source-map@npm:1.8.0" +"contains-path@npm:^0.1.0": + version: 0.1.0 + resolution: "contains-path@npm:0.1.0" + checksum: 94ecfd944e0bc51be8d3fc596dcd17d705bd4c8a1a627952a3a8c5924bac01c7ea19034cf40b4b4f89e576cdead130a7e5fd38f5f7f07ef67b4b261d875871e3 + languageName: node + linkType: hard + +"convert-source-map@npm:^1.1.0, convert-source-map@npm:^1.4.0": + version: 1.6.0 + resolution: "convert-source-map@npm:1.6.0" + dependencies: + safe-buffer: ~5.1.1 + checksum: c4af323f4d79b53234f187014804fb35abc09b3a8e8bd332ce49d3054f46599bee7c5cadc069e4800f480788f63f09377a20e96806cf42b4bf9673a2096daf57 + languageName: node + linkType: hard + +"convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": + version: 1.7.0 + resolution: "convert-source-map@npm:1.7.0" dependencies: safe-buffer: ~5.1.1 - checksum: 985d974a2d33e1a2543ada51c93e1ba2f73eaed608dc39f229afc78f71dcc4c8b7d7c684aa647e3c6a3a204027444d69e53e169ce94e8d1fa8d7dee80c9c8fed + checksum: bcd2e3ea7d37f96b85a6e362c8a89402ccc73757256e3ee53aa2c22fe915adb854c66b1f81111be815a3a6a6ce3c58e8001858e883c9d5b4fe08a853fa865967 languageName: node linkType: hard "cookiejar@npm:^2.1.1": - version: 2.1.3 - resolution: "cookiejar@npm:2.1.3" - checksum: 88259983ebc52ceb23cdacfa48762b6a518a57872eff1c7ed01d214fff5cf492e2660d7d5c04700a28f1787a76811df39e8639f8e17670b3cf94ecd86e161f07 + version: 2.1.2 + resolution: "cookiejar@npm:2.1.2" + checksum: 706cad1a56db51dfb13c1fef73dab8e7fabcfdfbe5d58d463139b4af1482603291832053cc85564bc998a05784956a6cf0ac667414a0a8d7765c65ed3ed42f3e languageName: node linkType: hard @@ -3634,15 +3814,6 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.25.1": - version: 3.25.3 - resolution: "core-js-compat@npm:3.25.3" - dependencies: - browserslist: ^4.21.4 - checksum: f35f4f706695e542bf8bb35cff9b5865105a8c5c012409d703852ad7c9c43ace2371ec8b56d9f6629760dbb4a49529553e57eca5308522cbeedb44b97be8a2db - languageName: node - linkType: hard - "core-js@npm:^2.4.0": version: 2.6.12 resolution: "core-js@npm:2.6.12" @@ -3650,26 +3821,22 @@ __metadata: languageName: node linkType: hard -"core-util-is@npm:1.0.2": +"core-util-is@npm:1.0.2, core-util-is@npm:~1.0.0": version: 1.0.2 resolution: "core-util-is@npm:1.0.2" checksum: 7a4c925b497a2c91421e25bf76d6d8190f0b2359a9200dbeed136e63b2931d6294d3b1893eda378883ed363cd950f44a12a401384c609839ea616befb7927dab languageName: node linkType: hard -"core-util-is@npm:~1.0.0": - version: 1.0.3 - resolution: "core-util-is@npm:1.0.3" - checksum: 9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99 - languageName: node - linkType: hard - "crc-32@npm:^1.2.0": - version: 1.2.2 - resolution: "crc-32@npm:1.2.2" + version: 1.2.0 + resolution: "crc-32@npm:1.2.0" + dependencies: + exit-on-epipe: ~1.0.1 + printj: ~1.1.0 bin: - crc32: bin/crc32.njs - checksum: ad2d0ad0cbd465b75dcaeeff0600f8195b686816ab5f3ba4c6e052a07f728c3e70df2e3ca9fd3d4484dc4ba70586e161ca5a2334ec8bf5a41bf022a6103ff243 + crc32: ./bin/crc32.njs + checksum: 7bcde8bea262f6629ac3c70e20bdfa3d058dc77091705ce8620513f76f19b41fc273ddd65a716eef9b4e33fbb61ff7f9b266653d214319aef27e4223789c6b9e languageName: node linkType: hard @@ -3709,6 +3876,16 @@ __metadata: languageName: node linkType: hard +"cross-fetch@npm:^2.1.0": + version: 2.2.6 + resolution: "cross-fetch@npm:2.2.6" + dependencies: + node-fetch: ^2.6.7 + whatwg-fetch: ^2.0.4 + checksum: df9c6728b314ff96022dca468a3d2a05b4546cd318d82a7e1f1445e7160472d39029bccbe5f20d319b8ba3793930592b0b956244aef6a87a133fbcfed85fc8ca + languageName: node + linkType: hard + "cross-spawn@npm:^6.0.0": version: 6.0.5 resolution: "cross-spawn@npm:6.0.5" @@ -3734,9 +3911,9 @@ __metadata: linkType: hard "crypto-js@npm:^3.1.4": - version: 3.3.0 - resolution: "crypto-js@npm:3.3.0" - checksum: 193923143a4784b2f974366068d96fe8280168fd3fef2bfea9551a5c3e32096f5a8fa49ff4eeb5bd0b9716d325618d38cfbe6125e359a4ef488fbca93e600824 + version: 3.1.8 + resolution: "crypto-js@npm:3.1.8" + checksum: 9c827948c55877a058a5b15fe0581319c339debb3308aff5adb35fe15782c83e11daf159aa8518963755efc1390c5769bf667fa30834a7095123618ea3cedbed languageName: node linkType: hard @@ -3754,7 +3931,7 @@ __metadata: languageName: node linkType: hard -"cssstyle@npm:^2.3.0": +"cssstyle@npm:^2.2.0": version: 2.3.0 resolution: "cssstyle@npm:2.3.0" dependencies: @@ -3783,7 +3960,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.3.3": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -3804,12 +3981,24 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" +"debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1": + version: 4.1.1 + resolution: "debug@npm:4.1.1" dependencies: ms: ^2.1.1 - checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c + checksum: 1e681f5cce94ba10f8dde74b20b42e4d8cf0d2a6700f4c165bb3bb6885565ef5ca5885bf07e704974a835f2415ff095a63164f539988a1f07e8a69fe8b1d65ad + languageName: node + linkType: hard + +"debug@npm:^4.3.2": + version: 4.3.2 + resolution: "debug@npm:4.3.2" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 820ea160e267e23c953c9ed87e7ad93494d8cda2f7349af5e7e3bb236d23707ee3022f477d5a7d2ee86ef2bf7d60aa9ab22d1f58080d7deb9dccd073585e1e43 languageName: node linkType: hard @@ -3820,10 +4009,10 @@ __metadata: languageName: node linkType: hard -"decimal.js@npm:^10.2.1": - version: 10.4.1 - resolution: "decimal.js@npm:10.4.1" - checksum: 5da6dc74af5b73d954741b24d404ef6da07841794d9e51412a2708ec384dd7b4bced3365fb178f4cd119b7ef45f0b34344014a4dc0494c8374c5e746df3cb410 +"decimal.js@npm:^10.2.0": + version: 10.2.0 + resolution: "decimal.js@npm:10.2.0" + checksum: 4844fc8f8214a4a4a589317533af40a5ec42e6d3abf29f9d6692d09038f29eb0242d9389e406fcd977e783e457b046925fd077c673742407bb4412525e9fd615 languageName: node linkType: hard @@ -3842,9 +4031,9 @@ __metadata: linkType: hard "deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804 + version: 0.1.3 + resolution: "deep-is@npm:0.1.3" + checksum: c15b04c3848a89880c94e25b077c19b47d9a30dd99048e70e5f95d943e7b246bee1da0c1376b56b01bc045be2cae7d9b1c856e68e47e9805634327de7c6cb6d5 languageName: node linkType: hard @@ -3864,13 +4053,12 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": - version: 1.1.4 - resolution: "define-properties@npm:1.1.4" +"define-properties@npm:^1.1.2, define-properties@npm:^1.1.3": + version: 1.1.3 + resolution: "define-properties@npm:1.1.3" dependencies: - has-property-descriptors: ^1.0.0 - object-keys: ^1.1.1 - checksum: ce0aef3f9eb193562b5cfb79b2d2c86b6a109dfc9fdcb5f45d680631a1a908c06824ddcdb72b7573b54e26ace07f0a23420aaba0d5c627b34d2c1de8ef527e2b + object-keys: ^1.0.12 + checksum: da80dba55d0cd76a5a7ab71ef6ea0ebcb7b941f803793e4e0257b384cb772038faa0c31659d244e82c4342edef841c1a1212580006a05a5068ee48223d787317 languageName: node linkType: hard @@ -3937,6 +4125,20 @@ __metadata: languageName: node linkType: hard +"diff-sequences@npm:^25.2.6": + version: 25.2.6 + resolution: "diff-sequences@npm:25.2.6" + checksum: 082c1eb691cc8bffdeca10e1df561fe85c3786420c135d05d5642fdada7dafbc3f77372a67cc3aff6313c272d76d646df768554873d897cf1d15a63dd232e7aa + languageName: node + linkType: hard + +"diff-sequences@npm:^26.3.0": + version: 26.3.0 + resolution: "diff-sequences@npm:26.3.0" + checksum: b58636dad8d65b964b162b61aa1e8aaaeb6aef2ef93d076960ed05b383282e94ccc7acd74bcea56f8a87d9bbf28ce7e8af765383d0a21fd47a7f0e9071a6b441 + languageName: node + linkType: hard + "diff-sequences@npm:^26.6.2": version: 26.6.2 resolution: "diff-sequences@npm:26.6.2" @@ -3944,10 +4146,10 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^29.0.0": - version: 29.0.0 - resolution: "diff-sequences@npm:29.0.0" - checksum: 2c084a3db03ecde26f649f6f2559974e01e174451debeb301a7e17199e73423a8e8ddeb9a35ae38638c084b4fa51296a4a20fa7f44f3db0c0ba566bdc704ed3d +"diff-sequences@npm:^27.0.6": + version: 27.0.6 + resolution: "diff-sequences@npm:27.0.6" + checksum: f35ad024d426cd1026d6c98a1f604c41966a0e89712b05a38812fc11e645ff0e915ec17bc8f4b6910fed6df0b309b255aa6c7c77728be452c6dbbfa30aa2067b languageName: node linkType: hard @@ -3959,9 +4161,9 @@ __metadata: linkType: hard "diff@npm:^5.0.0": - version: 5.1.0 - resolution: "diff@npm:5.1.0" - checksum: c7bf0df7c9bfbe1cf8a678fd1b2137c4fb11be117a67bc18a0e03ae75105e8533dbfb1cda6b46beb3586ef5aed22143ef9d70713977d5fb1f9114e21455fba90 + version: 5.0.0 + resolution: "diff@npm:5.0.0" + checksum: f19fe29284b633afdb2725c2a8bb7d25761ea54d321d8e67987ac851c5294be4afeab532bd84531e02583a3fe7f4014aa314a3eda84f5590e7a9e6b371ef3b46 languageName: node linkType: hard @@ -3974,12 +4176,13 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^2.1.0": - version: 2.1.0 - resolution: "doctrine@npm:2.1.0" +"doctrine@npm:1.5.0": + version: 1.5.0 + resolution: "doctrine@npm:1.5.0" dependencies: esutils: ^2.0.2 - checksum: a45e277f7feaed309fe658ace1ff286c6e2002ac515af0aaf37145b8baa96e49899638c7cd47dccf84c3d32abfc113246625b3ac8f552d1046072adee13b0dc8 + isarray: ^1.0.0 + checksum: 7ce8102a05cbb9d942d49db5461d2f3dd1208ebfed929bf1c04770a1ef6ef540b792e63c45eae4c51f8b16075e0af4a73581a06bad31c37ceb0988f2e398509b languageName: node linkType: hard @@ -3993,9 +4196,9 @@ __metadata: linkType: hard "dom-walk@npm:^0.1.0": - version: 0.1.2 - resolution: "dom-walk@npm:0.1.2" - checksum: 19eb0ce9c6de39d5e231530685248545d9cd2bd97b2cb3486e0bfc0f2a393a9addddfd5557463a932b52fdfcf68ad2a619020cd2c74a5fe46fbecaa8e80872f3 + version: 0.1.1 + resolution: "dom-walk@npm:0.1.1" + checksum: f55db10d0344b87cca1046a2356915a8e9ddee90fc97d3ebb26c4021e593cce47d24cbef18aac721421787c6a60fa14dd079a0b81f8610c9aeeec52177fd2acf languageName: node linkType: hard @@ -4008,6 +4211,17 @@ __metadata: languageName: node linkType: hard +"drbg.js@npm:^1.0.1": + version: 1.0.1 + resolution: "drbg.js@npm:1.0.1" + dependencies: + browserify-aes: ^1.0.6 + create-hash: ^1.1.2 + create-hmac: ^1.1.4 + checksum: f8df5cdd4fb792e548d6187cbc446fbd0afd8f1ef7fa486e1c286c2adee55a687183ce48ab178e9f24965c2deabb6e2ba7a7ee2d675264b951356480eb042476 + languageName: node + linkType: hard + "ecc-jsbn@npm:~0.1.1": version: 0.1.2 resolution: "ecc-jsbn@npm:0.1.2" @@ -4018,14 +4232,7 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.251": - version: 1.4.264 - resolution: "electron-to-chromium@npm:1.4.264" - checksum: c716e480224164f7340033956adb95593bf2518571733c66ec647b30c9920b070923787ddfd3b1c466cb493c8e85f36c864e224e55a0e28fba1f1bc0fbf95d13 - languageName: node - linkType: hard - -"elliptic@npm:6.5.4, elliptic@npm:^6.5.2, elliptic@npm:^6.5.4": +"elliptic@npm:6.5.4, elliptic@npm:^6.4.0, elliptic@npm:^6.4.1, elliptic@npm:^6.5.2, elliptic@npm:^6.5.4": version: 6.5.4 resolution: "elliptic@npm:6.5.4" dependencies: @@ -4041,9 +4248,9 @@ __metadata: linkType: hard "emittery@npm:^0.7.1": - version: 0.7.2 - resolution: "emittery@npm:0.7.2" - checksum: 908cd933d48a9bcb58ddf39e9a7d4ba1e049de392ccbef010102539a636e03cea2b28218331b7ede41de8165d9ed7f148851c5112ebd2e943117c0f61eff5f10 + version: 0.7.1 + resolution: "emittery@npm:0.7.1" + checksum: ae934ba2bb346267bb01470cd07c48e5b5b2349bc00c94fe7800a954f00d0c4db5f6c748956e440b634c820f2f476d928efbce0d271a49fec47c5865d3ea281b languageName: node linkType: hard @@ -4064,11 +4271,11 @@ __metadata: linkType: hard "end-of-stream@npm:^1.1.0": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" + version: 1.4.1 + resolution: "end-of-stream@npm:1.4.1" dependencies: once: ^1.4.0 - checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b + checksum: ac0f75d57cfcd5569af5bd2d7d005efb21e1a939fcfcc367e3d991c7e3275eeb10c400880aab4b3be72d5cda0406401511e98990d85996e72b2210cfdd4c8f8a languageName: node linkType: hard @@ -4096,17 +4303,17 @@ __metadata: linkType: hard "errno@npm:~0.1.1": - version: 0.1.8 - resolution: "errno@npm:0.1.8" + version: 0.1.7 + resolution: "errno@npm:0.1.7" dependencies: prr: ~1.0.1 bin: - errno: cli.js - checksum: 1271f7b9fbb3bcbec76ffde932485d1e3561856d21d847ec613a9722ee924cdd4e523a62dc71a44174d91e898fe21fdc8d5b50823f4b5e0ce8c35c8271e6ef4a + errno: ./cli.js + checksum: a9e414c24aa9d16c74cee74e46e1b4ff5e5b005552b5b50ca242b14fea448720a21fe515b4e4587172744b1dab9ecf919ba5a950f528d7c8ddb4b660f290db79 languageName: node linkType: hard -"error-ex@npm:^1.3.1": +"error-ex@npm:^1.2.0, error-ex@npm:^1.3.1": version: 1.3.2 resolution: "error-ex@npm:1.3.2" dependencies: @@ -4115,44 +4322,75 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5, es-abstract@npm:^1.20.0": - version: 1.20.3 - resolution: "es-abstract@npm:1.20.3" +"es-abstract@npm:^1.17.0, es-abstract@npm:^1.17.0-next.1, es-abstract@npm:^1.17.5": + version: 1.17.6 + resolution: "es-abstract@npm:1.17.6" + dependencies: + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + has: ^1.0.3 + has-symbols: ^1.0.1 + is-callable: ^1.2.0 + is-regex: ^1.1.0 + object-inspect: ^1.7.0 + object-keys: ^1.1.1 + object.assign: ^4.1.0 + string.prototype.trimend: ^1.0.1 + string.prototype.trimstart: ^1.0.1 + checksum: 3a361ab6b7ce072d451abea18f2ce53375d88c7302bc0054c4316bdd3f95ce4317a2388eec2a21617485ffef1e127943ec0d496452d7e4707e786a45b682f91a + languageName: node + linkType: hard + +"es-abstract@npm:^1.18.5": + version: 1.19.1 + resolution: "es-abstract@npm:1.19.1" dependencies: call-bind: ^1.0.2 es-to-primitive: ^1.2.1 function-bind: ^1.1.1 - function.prototype.name: ^1.1.5 - get-intrinsic: ^1.1.3 + get-intrinsic: ^1.1.1 get-symbol-description: ^1.0.0 has: ^1.0.3 - has-property-descriptors: ^1.0.0 - has-symbols: ^1.0.3 + has-symbols: ^1.0.2 internal-slot: ^1.0.3 - is-callable: ^1.2.6 - is-negative-zero: ^2.0.2 + is-callable: ^1.2.4 + is-negative-zero: ^2.0.1 is-regex: ^1.1.4 - is-shared-array-buffer: ^1.0.2 + is-shared-array-buffer: ^1.0.1 is-string: ^1.0.7 - is-weakref: ^1.0.2 - object-inspect: ^1.12.2 + is-weakref: ^1.0.1 + object-inspect: ^1.11.0 object-keys: ^1.1.1 - object.assign: ^4.1.4 - regexp.prototype.flags: ^1.4.3 - safe-regex-test: ^1.0.0 - string.prototype.trimend: ^1.0.5 - string.prototype.trimstart: ^1.0.5 - unbox-primitive: ^1.0.2 - checksum: 225f24966ed960868bcfa7b39b38c9f4b68d1e0351e4e052a199e3e2fd93838a28b050687a0edf1021c20173d0831d076ff33ec581de77ca8aded67e2e138a80 + object.assign: ^4.1.2 + string.prototype.trimend: ^1.0.4 + string.prototype.trimstart: ^1.0.4 + unbox-primitive: ^1.0.1 + checksum: b6be8410672c5364db3fb01eb786e30c7b4bb32b4af63d381c08840f4382c4a168e7855cd338bf59d4f1a1a1138f4d748d1fd40ec65aaa071876f9e9fbfed949 languageName: node linkType: hard -"es-shim-unscopables@npm:^1.0.0": - version: 1.0.0 - resolution: "es-shim-unscopables@npm:1.0.0" +"es-abstract@npm:^1.5.0": + version: 1.13.0 + resolution: "es-abstract@npm:1.13.0" dependencies: + es-to-primitive: ^1.2.0 + function-bind: ^1.1.1 has: ^1.0.3 - checksum: 83e95cadbb6ee44d3644dfad60dcad7929edbc42c85e66c3e99aefd68a3a5c5665f2686885cddb47dfeabfd77bd5ea5a7060f2092a955a729bbd8834f0d86fa1 + is-callable: ^1.1.4 + is-regex: ^1.0.4 + object-keys: ^1.0.12 + checksum: 804859a857c219947cdd1f64093004fdddae92351808938006e582a00ae236d39c1ea19ea7538c244209533cc48004e5134093f26d14f67dedcfce2510a1c51e + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.2.0": + version: 1.2.0 + resolution: "es-to-primitive@npm:1.2.0" + dependencies: + is-callable: ^1.1.4 + is-date-object: ^1.0.1 + is-symbol: ^1.0.2 + checksum: 6bd427991a876a978d8bac8684ccfda89a1d51014f69b37715ad6f52b1c7e9692a6fa908c7050c8337718df3c23344e68002e528a36dcde9d6d90ae8758d559c languageName: node linkType: hard @@ -4195,19 +4433,12 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 - languageName: node - linkType: hard - -"escodegen@npm:^2.0.0": - version: 2.0.0 - resolution: "escodegen@npm:2.0.0" +"escodegen@npm:^1.14.1": + version: 1.14.3 + resolution: "escodegen@npm:1.14.3" dependencies: esprima: ^4.0.1 - estraverse: ^5.2.0 + estraverse: ^4.2.0 esutils: ^2.0.2 optionator: ^0.8.1 source-map: ~0.6.1 @@ -4217,7 +4448,7 @@ __metadata: bin: escodegen: bin/escodegen.js esgenerate: bin/esgenerate.js - checksum: 5aa6b2966fafe0545e4e77936300cc94ad57cfe4dc4ebff9950492eaba83eef634503f12d7e3cbd644ecc1bab388ad0e92b06fd32222c9281a75d1cf02ec6cef + checksum: 381cdc4767ecdb221206bbbab021b467bbc2a6f5c9a99c9e6353040080bdd3dfe73d7604ad89a47aca6ea7d58bc635f6bd3fbc8da9a1998e9ddfa8372362ccd0 languageName: node linkType: hard @@ -4232,41 +4463,39 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.6": - version: 0.3.6 - resolution: "eslint-import-resolver-node@npm:0.3.6" +"eslint-import-resolver-node@npm:^0.3.4": + version: 0.3.4 + resolution: "eslint-import-resolver-node@npm:0.3.4" dependencies: - debug: ^3.2.7 - resolve: ^1.20.0 - checksum: 6266733af1e112970e855a5bcc2d2058fb5ae16ad2a6d400705a86b29552b36131ffc5581b744c23d550de844206fb55e9193691619ee4dbf225c4bde526b1c8 + debug: ^2.6.9 + resolve: ^1.13.1 + checksum: a0db55ec26c5bb385c8681af6b8d6dee16768d5f27dff72c3113407d0f028f28e56dcb1cc3a4689c79396a5f6a9c24bd0cac9a2c9c588c7d7357d24a42bec876 languageName: node linkType: hard "eslint-import-resolver-typescript@npm:^2.4.0": - version: 2.7.1 - resolution: "eslint-import-resolver-typescript@npm:2.7.1" + version: 2.4.0 + resolution: "eslint-import-resolver-typescript@npm:2.4.0" dependencies: - debug: ^4.3.4 - glob: ^7.2.0 - is-glob: ^4.0.3 - resolve: ^1.22.0 - tsconfig-paths: ^3.14.1 + debug: ^4.1.1 + glob: ^7.1.6 + is-glob: ^4.0.1 + resolve: ^1.17.0 + tsconfig-paths: ^3.9.0 peerDependencies: eslint: "*" eslint-plugin-import: "*" - checksum: 1d81b657b1f73bf95b8f0b745c0305574b91630c1db340318f3ca8918e206fce20a933b95e7c419338cc4452cb80bb2b2d92acaf01b6aa315c78a332d832545c + checksum: 2db0de33531f563bbbeecbdb080e3ff7ac0dbdd01f82ed690ccc9b29f746e431bf639322b1f1384f5c67055104c722cf70d9bf837d3ef70d6f3cf4ec2ba6562d languageName: node linkType: hard -"eslint-module-utils@npm:^2.7.3": - version: 2.7.4 - resolution: "eslint-module-utils@npm:2.7.4" +"eslint-module-utils@npm:^2.6.0": + version: 2.6.0 + resolution: "eslint-module-utils@npm:2.6.0" dependencies: - debug: ^3.2.7 - peerDependenciesMeta: - eslint: - optional: true - checksum: 5da13645daff145a5c922896b258f8bba560722c3767254e458d894ff5fbb505d6dfd945bffa932a5b0ae06714da2379bd41011c4c20d2d59cc83e23895360f7 + debug: ^2.6.9 + pkg-dir: ^2.0.0 + checksum: 489bb82248e1090515701cc9614a6e183dac34805bc1cb205cf411a875b8db756b0c05141f9ddb64395ec1d518a99c7f113ac181929a0e995968b8584d7f5a63 languageName: node linkType: hard @@ -4283,46 +4512,42 @@ __metadata: linkType: hard "eslint-plugin-import@npm:^2.22.1": - version: 2.26.0 - resolution: "eslint-plugin-import@npm:2.26.0" + version: 2.22.1 + resolution: "eslint-plugin-import@npm:2.22.1" dependencies: - array-includes: ^3.1.4 - array.prototype.flat: ^1.2.5 + array-includes: ^3.1.1 + array.prototype.flat: ^1.2.3 + contains-path: ^0.1.0 debug: ^2.6.9 - doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.6 - eslint-module-utils: ^2.7.3 + doctrine: 1.5.0 + eslint-import-resolver-node: ^0.3.4 + eslint-module-utils: ^2.6.0 has: ^1.0.3 - is-core-module: ^2.8.1 - is-glob: ^4.0.3 - minimatch: ^3.1.2 - object.values: ^1.1.5 - resolve: ^1.22.0 - tsconfig-paths: ^3.14.1 + minimatch: ^3.0.4 + object.values: ^1.1.1 + read-pkg-up: ^2.0.0 + resolve: ^1.17.0 + tsconfig-paths: ^3.9.0 peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 0bf77ad80339554481eafa2b1967449e1f816b94c7a6f9614ce33fb4083c4e6c050f10d241dd50b4975d47922880a34de1e42ea9d8e6fd663ebb768baa67e655 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 + checksum: b043d5b67c0130545bfb7695abcd28fd605e4ccac580ec937217d078c5361800d3626a45dec43c2c697431c4c657b83be504e07605da1afb4a2ebc894a661f19 languageName: node linkType: hard "eslint-plugin-jest@npm:^24.1.5": - version: 24.7.0 - resolution: "eslint-plugin-jest@npm:24.7.0" + version: 24.1.5 + resolution: "eslint-plugin-jest@npm:24.1.5" dependencies: "@typescript-eslint/experimental-utils": ^4.0.1 peerDependencies: - "@typescript-eslint/eslint-plugin": ">= 4" eslint: ">=5" - peerDependenciesMeta: - "@typescript-eslint/eslint-plugin": - optional: true - checksum: a4056582825ab3359d2e0e3aae50518f6f867d1cfb3240496605247d3ff9c84b4164f1a7e1f7087d5a2eae1343d738ada1ba74c422b13ad20b737601dc47ae08 + checksum: eec2a4ab2392f64f17b6b9f9de6722501f6b8c91481827cce3e9cc7d9073561b1f78d04d818f59c8069196f47036e17e666a63b9f16fa3dfd11d81fde4941ca0 languageName: node linkType: hard "eslint-plugin-jsdoc@npm:^36.1.0": - version: 36.1.1 - resolution: "eslint-plugin-jsdoc@npm:36.1.1" + version: 36.1.0 + resolution: "eslint-plugin-jsdoc@npm:36.1.0" dependencies: "@es-joy/jsdoccomment": 0.10.8 comment-parser: 1.2.4 @@ -4335,7 +4560,7 @@ __metadata: spdx-expression-parse: ^3.0.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 - checksum: ceaca9f5c39dbbab4cbb2f302e787d1581919273b4a25adca9d1b6d83fbca66a0e58da024bc1f3f21c8710f473745a297cb2a1fe5ed56c9d1f16967995293620 + checksum: 5152a252a1c1fa8773a22aa0a69ab1c52a9334b12f0f3667548c6478d2d9acf970042b55ff2c48fa5165fab008cf20883f18a173fc5d6ba8f813074618b70ece languageName: node linkType: hard @@ -4370,6 +4595,16 @@ __metadata: languageName: node linkType: hard +"eslint-scope@npm:^5.0.0": + version: 5.1.0 + resolution: "eslint-scope@npm:5.1.0" + dependencies: + esrecurse: ^4.1.0 + estraverse: ^4.1.1 + checksum: 701c850429cc26105c8d2324c65b269aed45f33a6ad2f43c3d0d47c8d51ec242800e448a7a591cc6162b75cfcb456f0a63f20dd76887bac332617d4847194057 + languageName: node + linkType: hard + "eslint-scope@npm:^5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" @@ -4408,36 +4643,33 @@ __metadata: linkType: hard "eslint-visitor-keys@npm:^2.0.0": - version: 2.1.0 - resolution: "eslint-visitor-keys@npm:2.1.0" - checksum: e3081d7dd2611a35f0388bbdc2f5da60b3a3c5b8b6e928daffff7391146b434d691577aa95064c8b7faad0b8a680266bcda0a42439c18c717b80e6718d7e267d + version: 2.0.0 + resolution: "eslint-visitor-keys@npm:2.0.0" + checksum: e07e9863fb8c9b1453f5ad1a26f3cc8dd6b349b26605cc06bc0c61215ac5b6f13a4d08c875218e6c0f8ac8fc06ca6e090df769e32c569f0fd2e6a848b8a76c75 languageName: node linkType: hard "eslint@npm:^7.24.0": - version: 7.32.0 - resolution: "eslint@npm:7.32.0" + version: 7.24.0 + resolution: "eslint@npm:7.24.0" dependencies: "@babel/code-frame": 7.12.11 - "@eslint/eslintrc": ^0.4.3 - "@humanwhocodes/config-array": ^0.5.0 + "@eslint/eslintrc": ^0.4.0 ajv: ^6.10.0 chalk: ^4.0.0 cross-spawn: ^7.0.2 debug: ^4.0.1 doctrine: ^3.0.0 enquirer: ^2.3.5 - escape-string-regexp: ^4.0.0 eslint-scope: ^5.1.1 eslint-utils: ^2.1.0 eslint-visitor-keys: ^2.0.0 espree: ^7.3.1 esquery: ^1.4.0 esutils: ^2.0.2 - fast-deep-equal: ^3.1.3 file-entry-cache: ^6.0.1 functional-red-black-tree: ^1.0.1 - glob-parent: ^5.1.2 + glob-parent: ^5.0.0 globals: ^13.6.0 ignore: ^4.0.6 import-fresh: ^3.0.0 @@ -4446,7 +4678,7 @@ __metadata: js-yaml: ^3.13.1 json-stable-stringify-without-jsonify: ^1.0.1 levn: ^0.4.1 - lodash.merge: ^4.6.2 + lodash: ^4.17.21 minimatch: ^3.0.4 natural-compare: ^1.4.0 optionator: ^0.9.1 @@ -4455,12 +4687,12 @@ __metadata: semver: ^7.2.1 strip-ansi: ^6.0.0 strip-json-comments: ^3.1.0 - table: ^6.0.9 + table: ^6.0.4 text-table: ^0.2.0 v8-compile-cache: ^2.0.3 bin: eslint: bin/eslint.js - checksum: cc85af9985a3a11085c011f3d27abe8111006d34cc274291b3c4d7bea51a4e2ff6135780249becd919ba7f6d6d1ecc38a6b73dacb6a7be08d38453b344dc8d37 + checksum: 60558618c68d17573b82d1ecd28ef4ec011d36fb58b05346cee4e56f4fc8ef2f6b9c102c02cdcc02e8ec5f390e4791a02fa2db9fc212e344450e5ca2920b040f languageName: node linkType: hard @@ -4494,7 +4726,7 @@ __metadata: languageName: node linkType: hard -"esrecurse@npm:^4.3.0": +"esrecurse@npm:^4.1.0, esrecurse@npm:^4.3.0": version: 4.3.0 resolution: "esrecurse@npm:4.3.0" dependencies: @@ -4503,7 +4735,7 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^4.1.1": +"estraverse@npm:^4.1.1, estraverse@npm:^4.2.0": version: 4.3.0 resolution: "estraverse@npm:4.3.0" checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 @@ -4511,9 +4743,9 @@ __metadata: linkType: hard "estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": - version: 5.3.0 - resolution: "estraverse@npm:5.3.0" - checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b + version: 5.2.0 + resolution: "estraverse@npm:5.2.0" + checksum: ec11b70d946bf5d7f76f91db38ef6f08109ac1b36cda293a26e678e58df4719f57f67b9ec87042afdd1f0267cee91865be3aa48d2161765a93defab5431be7b8 languageName: node linkType: hard @@ -4644,12 +4876,21 @@ __metadata: languageName: node linkType: hard -"eth-rpc-errors@npm:^4.0.0, eth-rpc-errors@npm:^4.0.2": - version: 4.0.3 - resolution: "eth-rpc-errors@npm:4.0.3" +"eth-rpc-errors@npm:^4.0.0": + version: 4.0.0 + resolution: "eth-rpc-errors@npm:4.0.0" + dependencies: + fast-safe-stringify: ^2.0.6 + checksum: 9caa871a5b927cb22486ee01bbe4e07ea1d653b2f851837d8b4914bee8895730bd308ca2fe93d696c6e7184679a5c96eb8101aad756e71e7051ab952f8be0d2f + languageName: node + linkType: hard + +"eth-rpc-errors@npm:^4.0.2": + version: 4.0.2 + resolution: "eth-rpc-errors@npm:4.0.2" dependencies: fast-safe-stringify: ^2.0.6 - checksum: 5fa31d1a10fdb340733b9a55e38e7687222c501052ca20743cef4d0c911a9bbcc0cad54aa6bf3e4b428604c071ff519803060e1cbc79ddb7c9257c11d407d32a + checksum: 1dbdee8f416090f1d318e17bdee2251d174d73c8faa4286fa364bc51ae9105672045f2d078ec23ca6a2b4b92af7cfbe7fa1ba17ad49e591fc653a363bf8cbab2 languageName: node linkType: hard @@ -4663,7 +4904,21 @@ __metadata: languageName: node linkType: hard -"eth-sig-util@npm:^3.0.0, eth-sig-util@npm:^3.0.1": +"eth-sig-util@npm:^3.0.0": + version: 3.0.0 + resolution: "eth-sig-util@npm:3.0.0" + dependencies: + buffer: ^5.2.1 + elliptic: ^6.4.0 + ethereumjs-abi: 0.6.5 + ethereumjs-util: ^5.1.1 + tweetnacl: ^1.0.0 + tweetnacl-util: ^0.15.0 + checksum: fbe44efb7909737b070e1e1d8c7096da3bdbd1356de242fc3458849e042e39c83a4e2dd1cbce0dc21ff3e5eca1843981751428bc160dcf3a6fcca2f1e8161be4 + languageName: node + linkType: hard + +"eth-sig-util@npm:^3.0.1": version: 3.0.1 resolution: "eth-sig-util@npm:3.0.1" dependencies: @@ -4736,23 +4991,23 @@ __metadata: languageName: node linkType: hard -"ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": +"ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git, ethereumjs-abi@npm:^0.6.8": version: 0.6.8 - resolution: "ethereumjs-abi@https://github.com/ethereumjs/ethereumjs-abi.git#commit=ee3994657fa7a427238e6ba92a84d0b529bbcde0" + resolution: "ethereumjs-abi@https://github.com/ethereumjs/ethereumjs-abi.git#commit=1cfbb13862f90f0b391d8a699544d5fe4dfb8c7b" dependencies: bn.js: ^4.11.8 ethereumjs-util: ^6.0.0 - checksum: ae074be0bb012857ab5d3ae644d1163b908a48dd724b7d2567cfde309dc72222d460438f2411936a70dc949dc604ce1ef7118f7273bd525815579143c907e336 + checksum: b8a99c2b5d4bb852474f9461ce9ea29606acdfe3fbf4d1e67943da600fc594780074241a75b407fd298b2466b4e1f35407561da048205f5f099d57b0c7d1ef81 languageName: node linkType: hard -"ethereumjs-abi@npm:^0.6.8": - version: 0.6.8 - resolution: "ethereumjs-abi@npm:0.6.8" +"ethereumjs-abi@npm:0.6.5": + version: 0.6.5 + resolution: "ethereumjs-abi@npm:0.6.5" dependencies: - bn.js: ^4.11.8 - ethereumjs-util: ^6.0.0 - checksum: cede2a8ae7c7e04eeaec079c2f925601a25b2ef75cf9230e7c5da63b4ea27883b35447365a47e35c1e831af520973a2252af89022c292c18a09a4607821a366b + bn.js: ^4.10.0 + ethereumjs-util: ^4.3.0 + checksum: 3abdc79dc60614d30b1cefb5e6bfbdab3ca8252b4e742330544103f86d6e49a55921d9b8822a0a47fee3efd9dd2493ec93448b1869d82479a4c71a44001e8337 languageName: node linkType: hard @@ -4781,22 +5036,22 @@ __metadata: linkType: hard "ethereumjs-block@npm:~2.2.0": - version: 2.2.2 - resolution: "ethereumjs-block@npm:2.2.2" + version: 2.2.0 + resolution: "ethereumjs-block@npm:2.2.0" dependencies: async: ^2.0.1 - ethereumjs-common: ^1.5.0 - ethereumjs-tx: ^2.1.1 + ethereumjs-common: ^1.1.0 + ethereumjs-tx: ^1.2.2 ethereumjs-util: ^5.0.0 merkle-patricia-tree: ^2.1.2 - checksum: 91f7f60820394e072c9a115da2871a096414644109d2449d4a79b30be67b0080bc848dfa7e2ae7b2ab255de3be4f6736c6cb2b418c29eada794d018cc384e189 + checksum: 2e5c5441bd87250f9e6cfa4b8f58877d1079c3bfd9a9f69aac1cc465104398ec146b241aa4fdee6a83ae993c0403bce2d1d7480f0df41e2db56f209639ffb6ab languageName: node linkType: hard -"ethereumjs-common@npm:^1.1.0, ethereumjs-common@npm:^1.5.0": - version: 1.5.2 - resolution: "ethereumjs-common@npm:1.5.2" - checksum: 3fc64faced268e0c61da50c5db76d18cfd44325d5706792f32ac8c85c0e800d52db284f042c3bd0623daf59b946176ef7dbea476d1b0252492137fa4549a3349 +"ethereumjs-common@npm:^1.1.0": + version: 1.3.1 + resolution: "ethereumjs-common@npm:1.3.1" + checksum: abeb701fef20e36bd2198d6e9dc64d457f559144563f9c52cfb35473e353d17af73bf2e68d8fd8189cef802a71fab884971d7a6ea6079636b3c40888bb2ec379 languageName: node linkType: hard @@ -4810,32 +5065,50 @@ __metadata: languageName: node linkType: hard -"ethereumjs-tx@npm:^2.1.1": - version: 2.1.2 - resolution: "ethereumjs-tx@npm:2.1.2" +"ethereumjs-util@npm:^4.3.0": + version: 4.5.0 + resolution: "ethereumjs-util@npm:4.5.0" dependencies: - ethereumjs-common: ^1.5.0 - ethereumjs-util: ^6.0.0 - checksum: a5b607b4e125ed696d76a9e4db8a95e03a967323c66694912d799619b16fa43985336924221f9e7582dc1b09ff88a62116bf2290ee14d952bf7e6715e5728525 + bn.js: ^4.8.0 + create-hash: ^1.1.2 + keccakjs: ^0.2.0 + rlp: ^2.0.0 + secp256k1: ^3.0.1 + checksum: 3620ebfea63d3c8bd3ee16ceb8b8d5aca6cebd02f4823e973498f5453259ab7fa646cbbf2d26385882af4cf70a63faca926907944748f48925728f79b3945693 languageName: node linkType: hard "ethereumjs-util@npm:^5.0.0, ethereumjs-util@npm:^5.1.1, ethereumjs-util@npm:^5.1.2, ethereumjs-util@npm:^5.1.5": - version: 5.2.1 - resolution: "ethereumjs-util@npm:5.2.1" + version: 5.2.0 + resolution: "ethereumjs-util@npm:5.2.0" dependencies: bn.js: ^4.11.0 create-hash: ^1.1.2 - elliptic: ^6.5.2 - ethereum-cryptography: ^0.1.3 ethjs-util: ^0.1.3 + keccak: ^1.0.2 + rlp: ^2.0.0 + safe-buffer: ^5.1.1 + secp256k1: ^3.0.1 + checksum: 930d1521b2b1266c445e1b95ab0e06c9c0afd0ba9c399faa2b7a306ff37017f3198ab00317e56a0766994b7f8e4634682ffa5a848891a86369bc0355f529feff + languageName: node + linkType: hard + +"ethereumjs-util@npm:^6.0.0": + version: 6.1.0 + resolution: "ethereumjs-util@npm:6.1.0" + dependencies: + bn.js: ^4.11.0 + create-hash: ^1.1.2 + ethjs-util: 0.1.6 + keccak: ^1.0.2 rlp: ^2.0.0 safe-buffer: ^5.1.1 - checksum: 20db6c639d92b35739fd5f7a71e64a92e85442ea0d176b59b5cd5828265b6cf42bd4868cf81a9b20a83738db1ffa7a2f778f1d850d663627a1a5209f7904b44f + secp256k1: ^3.0.1 + checksum: 76c87c2be9e380608e5bed21979483ad4d09c0aa9f9e3c9c913fbeff5610581631b661d6411c390556d8d47e56d7039861ae9c2821a54493cfab7fc88756315c languageName: node linkType: hard -"ethereumjs-util@npm:^6.0.0, ethereumjs-util@npm:^6.2.1": +"ethereumjs-util@npm:^6.2.1": version: 6.2.1 resolution: "ethereumjs-util@npm:6.2.1" dependencies: @@ -4850,7 +5123,62 @@ __metadata: languageName: node linkType: hard -"ethereumjs-util@npm:^7.0.8, ethereumjs-util@npm:^7.0.9, ethereumjs-util@npm:^7.1.2, ethereumjs-util@npm:^7.1.4, ethereumjs-util@npm:^7.1.5": +"ethereumjs-util@npm:^7.0.2": + version: 7.0.8 + resolution: "ethereumjs-util@npm:7.0.8" + dependencies: + "@types/bn.js": ^4.11.3 + bn.js: ^5.1.2 + create-hash: ^1.1.2 + ethereum-cryptography: ^0.1.3 + ethjs-util: 0.1.6 + rlp: ^2.2.4 + checksum: 40f9bbd38bea04318fdfbc70537df6014f0011c898a7c7466850cdfdab2c479d52d46f9fe5a3e6edbda74743b1423d74ae991674e014cf5aa4de1b6b5068d5d2 + languageName: node + linkType: hard + +"ethereumjs-util@npm:^7.0.8": + version: 7.1.3 + resolution: "ethereumjs-util@npm:7.1.3" + dependencies: + "@types/bn.js": ^5.1.0 + bn.js: ^5.1.2 + create-hash: ^1.1.2 + ethereum-cryptography: ^0.1.3 + rlp: ^2.2.4 + checksum: 6de7a32af05c7265c96163ecd15ad97327afab9deb36092ef26250616657a8c0b5df8e698328247c8193e7b87c643c967f64f0b3cff2b2937cafa870ff5fcb41 + languageName: node + linkType: hard + +"ethereumjs-util@npm:^7.0.9": + version: 7.0.10 + resolution: "ethereumjs-util@npm:7.0.10" + dependencies: + "@types/bn.js": ^5.1.0 + bn.js: ^5.1.2 + create-hash: ^1.1.2 + ethereum-cryptography: ^0.1.3 + ethjs-util: 0.1.6 + rlp: ^2.2.4 + checksum: ee11997a463ebd7afbb23ff211723b95f84e2af73322226d5c0d1586fb58969d69bc5181955dbcc018ce6c13be62ba78d5a44c0f3f5f47b6417ff35438ed5495 + languageName: node + linkType: hard + +"ethereumjs-util@npm:^7.1.0": + version: 7.1.0 + resolution: "ethereumjs-util@npm:7.1.0" + dependencies: + "@types/bn.js": ^5.1.0 + bn.js: ^5.1.2 + create-hash: ^1.1.2 + ethereum-cryptography: ^0.1.3 + ethjs-util: 0.1.6 + rlp: ^2.2.4 + checksum: bdbf89021782e921a2e25e868d6a70e8c684616bc4d5b722396773424e406810007235ed0872d27af272b1dede17a9d32415a0f88743dee699762d8de75adde8 + languageName: node + linkType: hard + +"ethereumjs-util@npm:^7.1.4, ethereumjs-util@npm:^7.1.5": version: 7.1.5 resolution: "ethereumjs-util@npm:7.1.5" dependencies: @@ -4883,18 +5211,18 @@ __metadata: linkType: hard "ethereumjs-wallet@npm:^1.0.1": - version: 1.0.2 - resolution: "ethereumjs-wallet@npm:1.0.2" + version: 1.0.1 + resolution: "ethereumjs-wallet@npm:1.0.1" dependencies: - aes-js: ^3.1.2 + aes-js: ^3.1.1 bs58check: ^2.1.2 ethereum-cryptography: ^0.1.3 - ethereumjs-util: ^7.1.2 - randombytes: ^2.1.0 + ethereumjs-util: ^7.0.2 + randombytes: ^2.0.6 scrypt-js: ^3.0.1 utf8: ^3.0.0 - uuid: ^8.3.2 - checksum: 555effe571c633ca9189e08639928e7bfcb601474f5a37653a3d028b06a10fb8577408c32d425ccecb3ac25d7165322cb9786239fa09ce276532d262206feb8c + uuid: ^3.3.2 + checksum: 1b95529e7e03403728a452668a3d95b44eb69def49a5d00ce8a2f01e64f9efeacc1742c8531ddf967612075dcd1843c1fdc160a68d351a121da07732d0112963 languageName: node linkType: hard @@ -5052,9 +5380,9 @@ __metadata: linkType: hard "events@npm:^3.0.0": - version: 3.3.0 - resolution: "events@npm:3.3.0" - checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 + version: 3.0.0 + resolution: "events@npm:3.0.0" + checksum: 25a5117ac67fd2ca6b931a077a309009cc20b79c60da73fd112a479558cd5a5b197c965c13b1e8d0140f65a22860c40d28e3c60e51dbad8faed8b33a042ca753 languageName: node linkType: hard @@ -5070,9 +5398,9 @@ __metadata: linkType: hard "exec-sh@npm:^0.3.2": - version: 0.3.6 - resolution: "exec-sh@npm:0.3.6" - checksum: 0be4f06929c8e4834ea4812f29fe59e2dfcc1bc3fc4b4bb71acb38a500c3b394628a05ef7ba432520bc6c5ec4fadab00cc9c513c4ff6a32104965af302e998e0 + version: 0.3.2 + resolution: "exec-sh@npm:0.3.2" + checksum: 55bef2e5e00c8a5bd17fded36e27564c0ef24511477d5b27eea99ae067a0d09c247d6bfb5ca1f0fa687a95dbcd403c6b9d8c6fb61571ae84619df00d4d472932 languageName: node linkType: hard @@ -5092,8 +5420,8 @@ __metadata: linkType: hard "execa@npm:^4.0.0": - version: 4.1.0 - resolution: "execa@npm:4.1.0" + version: 4.0.3 + resolution: "execa@npm:4.0.3" dependencies: cross-spawn: ^7.0.0 get-stream: ^5.0.0 @@ -5104,7 +5432,7 @@ __metadata: onetime: ^5.1.0 signal-exit: ^3.0.2 strip-final-newline: ^2.0.0 - checksum: e30d298934d9c52f90f3847704fd8224e849a081ab2b517bbc02f5f7732c24e56a21f14cb96a08256deffeb2d12b2b7cb7e2b014a12fb36f8d3357e06417ed55 + checksum: e76102eeab4727bdad930c33df5fd8621fbd77930061e3a815307e132dc8eb1d103631917ea3ed7d2e5257b9c74c7dcf6980b5f7fbcd0d1cf6cbcb83a3bc226f languageName: node linkType: hard @@ -5125,6 +5453,13 @@ __metadata: languageName: node linkType: hard +"exit-on-epipe@npm:~1.0.1": + version: 1.0.1 + resolution: "exit-on-epipe@npm:1.0.1" + checksum: e8ab4940416d19f311b3c9226e3725c6c4c6026fe682266ecc0ff33a455d585fe3e4ee757857c7bf1d0491b478cb232b8e395dfb438e65ac87317eda47304c32 + languageName: node + linkType: hard + "exit@npm:^0.1.2": version: 0.1.2 resolution: "exit@npm:0.1.2" @@ -5147,30 +5482,17 @@ __metadata: languageName: node linkType: hard -"expect@npm:^26.6.2": - version: 26.6.2 - resolution: "expect@npm:26.6.2" +"expect@npm:^26.4.2": + version: 26.4.2 + resolution: "expect@npm:26.4.2" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^26.3.0 ansi-styles: ^4.0.0 jest-get-type: ^26.3.0 - jest-matcher-utils: ^26.6.2 - jest-message-util: ^26.6.2 + jest-matcher-utils: ^26.4.2 + jest-message-util: ^26.3.0 jest-regex-util: ^26.0.0 - checksum: 79a9b888c5c6d37d11f2cb76def6cf1dc8ff098d38662ee20c9f2ee0da67e9a93435f2327854b2e7554732153870621843e7f83e8cefb1250447ee2bc39883a4 - languageName: node - linkType: hard - -"expect@npm:^29.0.0": - version: 29.0.3 - resolution: "expect@npm:29.0.3" - dependencies: - "@jest/expect-utils": ^29.0.3 - jest-get-type: ^29.0.0 - jest-matcher-utils: ^29.0.3 - jest-message-util: ^29.0.3 - jest-util: ^29.0.3 - checksum: 21b7fd346c47896a3de8f1103d7be32dab9409eb3dc170b7a9ff5d8d564b8499bd600b9af6251fe2f46064cf4e2f1456a6c6318da15314b7d74ed6dad723b555 + checksum: bc80ff08da87061597bed19cd83eadd00a764fd94f8ad46f992736ffeb4fd59e7292b6125aaeed5c6347f25fa751548cc70c6486566cc8ce9850af714bf1af7e languageName: node linkType: hard @@ -5216,20 +5538,13 @@ __metadata: languageName: node linkType: hard -"extsprintf@npm:1.3.0": +"extsprintf@npm:1.3.0, extsprintf@npm:^1.2.0": version: 1.3.0 resolution: "extsprintf@npm:1.3.0" checksum: cee7a4a1e34cffeeec18559109de92c27517e5641991ec6bab849aa64e3081022903dd53084f2080d0d2530803aa5ee84f1e9de642c365452f9e67be8f958ce2 languageName: node linkType: hard -"extsprintf@npm:^1.2.0": - version: 1.4.1 - resolution: "extsprintf@npm:1.4.1" - checksum: a2f29b241914a8d2bad64363de684821b6b1609d06ae68d5b539e4de6b28659715b5bea94a7265201603713b7027d35399d10b0548f09071c5513e65e8323d33 - languageName: node - linkType: hard - "fake-merkle-patricia-tree@npm:^1.0.1": version: 1.0.1 resolution: "fake-merkle-patricia-tree@npm:1.0.1" @@ -5253,16 +5568,43 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.9": - version: 3.2.12 - resolution: "fast-glob@npm:3.2.12" +"fast-glob@npm:^3.0.3": + version: 3.2.7 + resolution: "fast-glob@npm:3.2.7" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: 2f4708ff112d2b451888129fdd9a0938db88b105b0ddfd043c064e3c4d3e20eed8d7c7615f7565fee660db34ddcf08a2db1bf0ab3c00b87608e4719694642d78 + languageName: node + linkType: hard + +"fast-glob@npm:^3.1.1": + version: 3.2.4 + resolution: "fast-glob@npm:3.2.4" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.0 + merge2: ^1.3.0 + micromatch: ^4.0.2 + picomatch: ^2.2.1 + checksum: a70ce897b23e85521688b03897115315e8c781f2e5ee5f3b83e8c10df6a464e8be415c800f55c9c40278b41aeccc60883f018f76dde8250b8cf28e7566c13f75 + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.9": + version: 3.2.11 + resolution: "fast-glob@npm:3.2.11" dependencies: "@nodelib/fs.stat": ^2.0.2 "@nodelib/fs.walk": ^1.2.3 glob-parent: ^5.1.2 merge2: ^1.3.0 micromatch: ^4.0.4 - checksum: 0b1990f6ce831c7e28c4d505edcdaad8e27e88ab9fa65eedadb730438cfc7cde4910d6c975d6b7b8dc8a73da4773702ebcfcd6e3518e73938bb1383badfe01c2 + checksum: f473105324a7780a20c06de842e15ddbb41d3cb7e71d1e4fe6e8373204f22245d54f5ab9e2061e6a1c613047345954d29b022e0e76f5c28b1df9858179a0e6d7 languageName: node linkType: hard @@ -5273,7 +5615,7 @@ __metadata: languageName: node linkType: hard -"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.6": +"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.4": version: 2.0.6 resolution: "fast-levenshtein@npm:2.0.6" checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c @@ -5281,27 +5623,27 @@ __metadata: linkType: hard "fast-safe-stringify@npm:^2.0.6": - version: 2.1.1 - resolution: "fast-safe-stringify@npm:2.1.1" - checksum: a851cbddc451745662f8f00ddb622d6766f9bd97642dabfd9a405fb0d646d69fc0b9a1243cbf67f5f18a39f40f6fa821737651ff1bceeba06c9992ca2dc5bd3d + version: 2.0.6 + resolution: "fast-safe-stringify@npm:2.0.6" + checksum: 1b7337bd68664c7cc0cd7bf0e92f474a232d8bdbf49f81522bda1429a7c1b4c69824185fc679cc6f3b3398ba8c73b019d175abd6b43b568b137d9fe4d7879c00 languageName: node linkType: hard "fastq@npm:^1.6.0": - version: 1.13.0 - resolution: "fastq@npm:1.13.0" + version: 1.9.0 + resolution: "fastq@npm:1.9.0" dependencies: reusify: ^1.0.4 - checksum: 32cf15c29afe622af187d12fc9cd93e160a0cb7c31a3bb6ace86b7dea3b28e7b72acde89c882663f307b2184e14782c6c664fa315973c03626c7d4bff070bb0b + checksum: 25fe18fd57459eb02117317646f477e64d3a53b53545b0d834f5c1de51df5db5df7dc4d7c56003a3f59fab233b61e406842cbd68e9c68f4ade9890e8e2f21961 languageName: node linkType: hard "fb-watchman@npm:^2.0.0": - version: 2.0.2 - resolution: "fb-watchman@npm:2.0.2" + version: 2.0.0 + resolution: "fb-watchman@npm:2.0.0" dependencies: - bser: 2.1.1 - checksum: b15a124cef28916fe07b400eb87cbc73ca082c142abf7ca8e8de6af43eca79ca7bd13eb4d4d48240b3bd3136eaac40d16e42d6edf87a8e5d1dd8070626860c78 + bser: ^2.0.0 + checksum: bf87adc30ed4d291d4208ae7a8e629433079b2ce3e5e57e24e4cbf1ab69379d81512bedbed37407c1789c48d3ce9e5a43bfa0da0499a2c70b58ff4f9d2e30d0e languageName: node linkType: hard @@ -5314,6 +5656,13 @@ __metadata: languageName: node linkType: hard +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: b648580bdd893a008c92c7ecc96c3ee57a5e7b6c4c18a9a09b44fb5d36d79146f8e442578bc0e173dc027adf3987e254ba1dfd6e3ec998b7c282873010502144 + languageName: node + linkType: hard + "fill-range@npm:^4.0.0": version: 4.0.0 resolution: "fill-range@npm:4.0.0" @@ -5335,6 +5684,15 @@ __metadata: languageName: node linkType: hard +"find-up@npm:^2.0.0, find-up@npm:^2.1.0": + version: 2.1.0 + resolution: "find-up@npm:2.1.0" + dependencies: + locate-path: ^2.0.0 + checksum: 43284fe4da09f89011f08e3c32cd38401e786b19226ea440b75386c1b12a4cb738c94969808d53a84f564ede22f732c8409e3cfc3f7fb5b5c32378ad0bbf28bd + languageName: node + linkType: hard + "find-up@npm:^4.0.0, find-up@npm:^4.1.0": version: 4.1.0 resolution: "find-up@npm:4.1.0" @@ -5356,9 +5714,9 @@ __metadata: linkType: hard "flatted@npm:^3.1.0": - version: 3.2.7 - resolution: "flatted@npm:3.2.7" - checksum: 427633049d55bdb80201c68f7eb1cbd533e03eac541f97d3aecab8c5526f12a20ccecaeede08b57503e772c769e7f8680b37e8d482d1e5f8d7e2194687f9ea35 + version: 3.1.1 + resolution: "flatted@npm:3.1.1" + checksum: 508935e3366d95444131f0aaa801a4301f24ea5bcb900d12764e7335b46b910730cc1b5bcfcfb8eccb7c8db261ba0671c6a7ca30d10870ff7a7756dc7e731a7a languageName: node linkType: hard @@ -5378,6 +5736,13 @@ __metadata: languageName: node linkType: hard +"foreach@npm:^2.0.5": + version: 2.0.5 + resolution: "foreach@npm:2.0.5" + checksum: dab4fbfef0b40b69ee5eab81bcb9626b8fa8b3469c8cfa26480f3e5e1ee08c40eae07048c9a967c65aeda26e774511ccc70b3f10a604c01753c6ef24361f0fc8 + languageName: node + linkType: hard + "forever-agent@npm:~0.6.1": version: 0.6.1 resolution: "forever-agent@npm:0.6.1" @@ -5385,17 +5750,6 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^3.0.0": - version: 3.0.1 - resolution: "form-data@npm:3.0.1" - dependencies: - asynckit: ^0.4.0 - combined-stream: ^1.0.8 - mime-types: ^2.1.12 - checksum: b019e8d35c8afc14a2bd8a7a92fa4f525a4726b6d5a9740e8d2623c30e308fbb58dc8469f90415a856698933c8479b01646a9dff33c87cc4e76d72aedbbf860d - languageName: node - linkType: hard - "form-data@npm:~2.3.2": version: 2.3.3 resolution: "form-data@npm:2.3.3" @@ -5433,43 +5787,31 @@ __metadata: linkType: hard "fsevents@npm:^2.1.2": - version: 2.3.2 - resolution: "fsevents@npm:2.3.2" + version: 2.1.2 + resolution: "fsevents@npm:2.1.2" dependencies: node-gyp: latest - checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f + checksum: 63fe1ba77b63d5da5dde6112c5f0eb161b9d18a61427a8a49d661eeed080189d99e8f9da11bb6b75ecd5129a69edc5757d60a4eb0bbada6de68d5156c382c5e1 conditions: os=darwin languageName: node linkType: hard "fsevents@patch:fsevents@^2.1.2#~builtin": - version: 2.3.2 - resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=18f3a7" + version: 2.1.2 + resolution: "fsevents@patch:fsevents@npm%3A2.1.2#~builtin::version=2.1.2&hash=18f3a7" dependencies: node-gyp: latest conditions: os=darwin languageName: node linkType: hard -"function-bind@npm:^1.1.1": +"function-bind@npm:^1.0.2, function-bind@npm:^1.1.1": version: 1.1.1 resolution: "function-bind@npm:1.1.1" checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a languageName: node linkType: hard -"function.prototype.name@npm:^1.1.5": - version: 1.1.5 - resolution: "function.prototype.name@npm:1.1.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.0 - functions-have-names: ^1.2.2 - checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 - languageName: node - linkType: hard - "functional-red-black-tree@npm:^1.0.1": version: 1.0.1 resolution: "functional-red-black-tree@npm:1.0.1" @@ -5477,13 +5819,6 @@ __metadata: languageName: node linkType: hard -"functions-have-names@npm:^1.2.2": - version: 1.2.3 - resolution: "functions-have-names@npm:1.2.3" - checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 - languageName: node - linkType: hard - "gauge@npm:^4.0.3": version: 4.0.4 resolution: "gauge@npm:4.0.4" @@ -5516,10 +5851,10 @@ __metadata: languageName: node linkType: hard -"gensync@npm:^1.0.0-beta.2": - version: 1.0.0-beta.2 - resolution: "gensync@npm:1.0.0-beta.2" - checksum: a7437e58c6be12aa6c90f7730eac7fa9833dc78872b4ad2963d2031b00a3367a93f98aec75f9aaac7220848e4026d67a8655e870b24f20a543d103c0d65952ec +"gensync@npm:^1.0.0-beta.1": + version: 1.0.0-beta.1 + resolution: "gensync@npm:1.0.0-beta.1" + checksum: 92686a5445740fb505f68d66318df5ff04fd803d31385c1ea7b432d860d3e098eb2bc03c8c820356e6f71d86abc0a213ba48bec98b9befafb380b302bfa9e0c1 languageName: node linkType: hard @@ -5530,21 +5865,14 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3": - version: 1.1.3 - resolution: "get-intrinsic@npm:1.1.3" +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1": + version: 1.1.1 + resolution: "get-intrinsic@npm:1.1.1" dependencies: function-bind: ^1.1.1 has: ^1.0.3 - has-symbols: ^1.0.3 - checksum: 152d79e87251d536cf880ba75cfc3d6c6c50e12b3a64e1ea960e73a3752b47c69f46034456eae1b0894359ce3bc64c55c186f2811f8a788b75b638b06fab228a - languageName: node - linkType: hard - -"get-package-type@npm:^0.1.0": - version: 0.1.0 - resolution: "get-package-type@npm:0.1.0" - checksum: bba0811116d11e56d702682ddef7c73ba3481f114590e705fc549f4d868972263896af313c57a25c076e3c0d567e11d919a64ba1b30c879be985fc9d44f96148 + has-symbols: ^1.0.1 + checksum: a9fe2ca8fa3f07f9b0d30fb202bcd01f3d9b9b6b732452e79c48e79f7d6d8d003af3f9e38514250e3553fdc83c61650851cb6870832ac89deaaceb08e3721a17 languageName: node linkType: hard @@ -5558,11 +5886,11 @@ __metadata: linkType: hard "get-stream@npm:^5.0.0": - version: 5.2.0 - resolution: "get-stream@npm:5.2.0" + version: 5.1.0 + resolution: "get-stream@npm:5.1.0" dependencies: pump: ^3.0.0 - checksum: 8bc1a23174a06b2b4ce600df38d6c98d2ef6d84e020c1ddad632ad75bac4e092eeb40e4c09e0761c35fc2dbc5e7fff5dab5e763a383582c4a167dd69a905bd12 + checksum: 371e1fb3f3b009edffd379810ed52a1f0a0a621dbb3778bd844e3b002065af0790bfddde845b4a0f05f71da5d99441465f5586281497321b151a8bdd102c885a languageName: node linkType: hard @@ -5606,7 +5934,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.2": +"glob-parent@npm:^5.0.0, glob-parent@npm:^5.1.0, glob-parent@npm:^5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -5615,21 +5943,21 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.0": - version: 7.2.3 - resolution: "glob@npm:7.2.3" +"glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0": + version: 7.2.0 + resolution: "glob@npm:7.2.0" dependencies: fs.realpath: ^1.0.0 inflight: ^1.0.4 inherits: 2 - minimatch: ^3.1.1 + minimatch: ^3.0.4 once: ^1.3.0 path-is-absolute: ^1.0.0 - checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133 + checksum: 78a8ea942331f08ed2e055cb5b9e40fe6f46f579d7fd3d694f3412fe5db23223d29b7fee1575440202e9a7ff9a72ab106a39fee39934c7bedafe5e5f8ae20134 languageName: node linkType: hard -"glob@npm:^8.0.1, glob@npm:^8.0.3": +"glob@npm:^8.0.1": version: 8.0.3 resolution: "glob@npm:8.0.3" dependencies: @@ -5642,13 +5970,13 @@ __metadata: languageName: node linkType: hard -"global@npm:~4.4.0": - version: 4.4.0 - resolution: "global@npm:4.4.0" +"global@npm:~4.3.0": + version: 4.3.2 + resolution: "global@npm:4.3.2" dependencies: min-document: ^2.19.0 - process: ^0.11.10 - checksum: 9c057557c8f5a5bcfbeb9378ba4fe2255d04679452be504608dd5f13b54edf79f7be1db1031ea06a4ec6edd3b9f5f17d2d172fb47e6c69dae57fd84b7e72b77f + process: ~0.5.1 + checksum: aa6ad3fc9dc354cefc88898482df8ca042a69b133789e760c3d7639444860a7592f8f2139c9f096a823e9b0909d6d8531421dee266d59d4aff994d4b497a73f9 languageName: node linkType: hard @@ -5659,12 +5987,21 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.6.0, globals@npm:^13.9.0": - version: 13.17.0 - resolution: "globals@npm:13.17.0" +"globals@npm:^12.1.0": + version: 12.4.0 + resolution: "globals@npm:12.4.0" + dependencies: + type-fest: ^0.8.1 + checksum: 7ae5ee16a96f1e8d71065405f57da0e33267f6b070cd36a5444c7780dd28639b48b92413698ac64f04bf31594f9108878bd8cb158ecdf759c39e05634fefcca6 + languageName: node + linkType: hard + +"globals@npm:^13.6.0": + version: 13.8.0 + resolution: "globals@npm:13.8.0" dependencies: type-fest: ^0.20.2 - checksum: fbaf4112e59b92c9f5575e85ce65e9e17c0b82711196ec5f58beb08599bbd92fd72703d6dfc9b080381fd35b644e1b11dcf25b38cc2341ec21df942594cbc8ce + checksum: acbfcad2b8aeff34d977a2df62bda863d7537e19f5b30cc3452493ce636b5193be9f68da46a53f41875f49052ddd7d550cd2568ecc818ddde3603e30def1fef3 languageName: node linkType: hard @@ -5684,6 +6021,20 @@ __metadata: languageName: node linkType: hard +"globby@npm:^11.0.1": + version: 11.0.1 + resolution: "globby@npm:11.0.1" + dependencies: + array-union: ^2.1.0 + dir-glob: ^3.0.1 + fast-glob: ^3.1.1 + ignore: ^5.1.4 + merge2: ^1.3.0 + slash: ^3.0.0 + checksum: b0b26e580666ef8caf0b0facd585c1da46eb971207ee9f8c7b690c1372d77602dd072f047f26c3ae1c293807fdf8fb6890d9291d37bc6d2602b1f07386f983e5 + languageName: node + linkType: hard + "globby@npm:^11.0.3": version: 11.1.0 resolution: "globby@npm:11.1.0" @@ -5698,9 +6049,23 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.2.3, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": - version: 4.2.10 - resolution: "graceful-fs@npm:4.2.10" +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.2.4": + version: 4.2.4 + resolution: "graceful-fs@npm:4.2.4" + checksum: 9d58c444eb4f391ce30b451aae8a8af2bd675d9f6f624719e97306f571ab89b2bd2b5f9025199bc63a2edfe2e53e7701554012f32a708148d53aa689163728cc + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.3": + version: 4.2.6 + resolution: "graceful-fs@npm:4.2.6" + checksum: 792e64aafda05a151289f83eaa16aff34ef259658cefd65393883d959409f5a2389b0ec9ebf28f3d21f1b0ddc8f594a1162ae9b18e2b507a6799a70706ec573d + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.6": + version: 4.2.10 + resolution: "graceful-fs@npm:4.2.10" checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da languageName: node linkType: hard @@ -5719,20 +6084,20 @@ __metadata: languageName: node linkType: hard -"har-validator@npm:~5.1.3": - version: 5.1.5 - resolution: "har-validator@npm:5.1.5" +"har-validator@npm:~5.1.0, har-validator@npm:~5.1.3": + version: 5.1.3 + resolution: "har-validator@npm:5.1.3" dependencies: - ajv: ^6.12.3 + ajv: ^6.5.5 har-schema: ^2.0.0 - checksum: b998a7269ca560d7f219eedc53e2c664cd87d487e428ae854a6af4573fc94f182fe9d2e3b92ab968249baec7ebaf9ead69cf975c931dc2ab282ec182ee988280 + checksum: 5903ddf55f4403bb102a86dc2da073593716c7aa422863c244cb406b69e006551553c904e30ed5d123788675ae827f977b3b366211dc730b33a2b619f926199f languageName: node linkType: hard -"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": - version: 1.0.2 - resolution: "has-bigints@npm:1.0.2" - checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b +"has-bigints@npm:^1.0.1": + version: 1.0.1 + resolution: "has-bigints@npm:1.0.1" + checksum: 44ab55868174470065d2e0f8f6def1c990d12b82162a8803c679699fa8a39f966e336f2a33c185092fe8aea7e8bf2e85f1c26add5f29d98f2318bd270096b183 languageName: node linkType: hard @@ -5750,19 +6115,24 @@ __metadata: languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.0": +"has-symbols@npm:^1.0.0": version: 1.0.0 - resolution: "has-property-descriptors@npm:1.0.0" - dependencies: - get-intrinsic: ^1.1.1 - checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb + resolution: "has-symbols@npm:1.0.0" + checksum: 9b557a61222b5579273ac93f193e14925a3b0d9631e87cae8f6f774cb7f90eada8218a9f71f075a60d330266dddea3c4e7153b9638e866e3d01d42a614717bc4 languageName: node linkType: hard -"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 +"has-symbols@npm:^1.0.1": + version: 1.0.1 + resolution: "has-symbols@npm:1.0.1" + checksum: 4f09be6682f9fc29855ded1101ad2a0f5d559d7d9ed68f7b68be1ea213c23991216d08d6585bf3ff6fded6f526cc506bda528d276f083602b55d232f132cfa27 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.2": + version: 1.0.2 + resolution: "has-symbols@npm:1.0.2" + checksum: 2309c426071731be792b5be43b3da6fb4ed7cbe8a9a6bcfca1862587709f01b33d575ce8f5c264c1eaad09fca2f9a8208c0a2be156232629daa2dd0c0740976b languageName: node linkType: hard @@ -5821,7 +6191,7 @@ __metadata: languageName: node linkType: hard -"has@npm:^1.0.3": +"has@npm:^1.0.1, has@npm:^1.0.3": version: 1.0.3 resolution: "has@npm:1.0.3" dependencies: @@ -5831,13 +6201,12 @@ __metadata: linkType: hard "hash-base@npm:^3.0.0": - version: 3.1.0 - resolution: "hash-base@npm:3.1.0" + version: 3.0.4 + resolution: "hash-base@npm:3.0.4" dependencies: - inherits: ^2.0.4 - readable-stream: ^3.6.0 - safe-buffer: ^5.2.0 - checksum: 26b7e97ac3de13cb23fc3145e7e3450b0530274a9562144fc2bf5c1e2983afd0e09ed7cc3b20974ba66039fad316db463da80eb452e7373e780cbee9a0d2f2dc + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + checksum: 878465a0dfcc33cce195c2804135352c590d6d10980adc91a9005fd377e77f2011256c2b7cfce472e3f2e92d561d1bf3228d2da06348a9017ce9a258b3b49764 languageName: node linkType: hard @@ -5890,9 +6259,9 @@ __metadata: linkType: hard "html-escaper@npm:^2.0.0": - version: 2.0.2 - resolution: "html-escaper@npm:2.0.2" - checksum: d2df2da3ad40ca9ee3a39c5cc6475ef67c8f83c234475f24d8e9ce0dc80a2c82df8e1d6fa78ddd1e9022a586ea1bd247a615e80a5cd9273d90111ddda7d9e974 + version: 2.0.0 + resolution: "html-escaper@npm:2.0.0" + checksum: 02124d0018e5cdc1cec632a1e8b57dce103fa27c448dd915ddc22b6dffbd697bdce0ee0c23429c36c5036b2c61ea16c63a5132dd51d8e3c75d58e38bbd3c19bf languageName: node linkType: hard @@ -5903,17 +6272,6 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^4.0.1": - version: 4.0.1 - resolution: "http-proxy-agent@npm:4.0.1" - dependencies: - "@tootallnate/once": 1 - agent-base: 6 - debug: 4 - checksum: c6a5da5a1929416b6bbdf77b1aca13888013fe7eb9d59fc292e25d18e041bb154a8dfada58e223fc7b76b9b2d155a87e92e608235201f77d34aa258707963a82 - languageName: node - linkType: hard - "http-proxy-agent@npm:^5.0.0": version: 5.0.0 resolution: "http-proxy-agent@npm:5.0.0" @@ -6003,6 +6361,13 @@ __metadata: languageName: node linkType: hard +"ieee754@npm:^1.1.4": + version: 1.1.13 + resolution: "ieee754@npm:1.1.13" + checksum: 102df1ba662e316e6160f7ce29c7c7fa3e04f2014c288336c5a9ff40bbcc2a27d209fa2a81ebfb33f28b1941021343d30e9ad8ee85a2d61f79f5936c35edc33d + languageName: node + linkType: hard + "ignore@npm:^4.0.6": version: 4.0.6 resolution: "ignore@npm:4.0.6" @@ -6010,7 +6375,14 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.1.1, ignore@npm:^5.1.8, ignore@npm:^5.2.0": +"ignore@npm:^5.1.1, ignore@npm:^5.1.4": + version: 5.1.8 + resolution: "ignore@npm:5.1.8" + checksum: 967abadb61e2cb0e5c5e8c4e1686ab926f91bc1a4680d994b91947d3c65d04c3ae126dcdf67f08e0feeb8ff8407d453e641aeeddcc47a3a3cca359f283cf6121 + languageName: node + linkType: hard + +"ignore@npm:^5.1.8, ignore@npm:^5.2.0": version: 5.2.0 resolution: "ignore@npm:5.2.0" checksum: 6b1f926792d614f64c6c83da3a1f9c83f6196c2839aa41e1e32dd7b8d174cef2e329d75caabb62cb61ce9dc432f75e67d07d122a037312db7caa73166a1bdb77 @@ -6018,20 +6390,30 @@ __metadata: linkType: hard "immediate@npm:^3.2.3": - version: 3.3.0 - resolution: "immediate@npm:3.3.0" - checksum: 634b4305101e2452eba6c07d485bf3e415995e533c94b9c3ffbc37026fa1be34def6e4f2276b0dc2162a3f91628564a4bfb26280278b89d3ee54624e854d2f5f + version: 3.2.3 + resolution: "immediate@npm:3.2.3" + checksum: 9867dc70794f3aa246a90afe8a0166607590b687e8c572839ff2342292ac2da4b1cdfd396d38f7b9e72625d817d601e73c33c2874e9c0b8e0f1d6658b3c03496 languageName: node linkType: hard "immer@npm:^9.0.6": - version: 9.0.15 - resolution: "immer@npm:9.0.15" - checksum: 92e3d63e810e3c3c2bb61b70c45443e37ef983ad12924e3edaf03725ae5979618f5b473439bb3bb4a8c4769f25132f18dec10ea15c40f0b20da5691ff96ff611 + version: 9.0.6 + resolution: "immer@npm:9.0.6" + checksum: 75da22f3b32f3f14604eb389b4f50e84a14f2e42f306f0cbe4d2969aed54ec7fda9a7e9ca42ebae2ba73ec9bb6ec1001fafbac535accaf03860054ab0f7e8388 languageName: node linkType: hard -"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1": +"import-fresh@npm:^3.0.0": + version: 3.2.1 + resolution: "import-fresh@npm:3.2.1" + dependencies: + parent-module: ^1.0.0 + resolve-from: ^4.0.0 + checksum: caef42418a087c3951fb676943a7f21ba8971aa07f9b622dff4af7edcef4160e1b172dccd85a88d7eb109cf41406a4592f70259e6b3b33aeafd042bb61f81d96 + languageName: node + linkType: hard + +"import-fresh@npm:^3.2.1": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: @@ -6042,14 +6424,14 @@ __metadata: linkType: hard "import-local@npm:^3.0.2": - version: 3.1.0 - resolution: "import-local@npm:3.1.0" + version: 3.0.2 + resolution: "import-local@npm:3.0.2" dependencies: pkg-dir: ^4.2.0 resolve-cwd: ^3.0.0 bin: import-local-fixture: fixtures/cli.js - checksum: bfcdb63b5e3c0e245e347f3107564035b128a414c4da1172a20dc67db2504e05ede4ac2eee1252359f78b0bfd7b19ef180aec427c2fce6493ae782d73a04cddd + checksum: c74d9f9484c878cda1de3434613c7ff72d5dadcf20e5482542232d7c2575b713ff88701d6675fcf09a3684cb23fb407c8b333b9cbc59438712723d058d8e976c languageName: node linkType: hard @@ -6102,10 +6484,17 @@ __metadata: languageName: node linkType: hard -"ip@npm:^2.0.0": - version: 2.0.0 - resolution: "ip@npm:2.0.0" - checksum: cfcfac6b873b701996d71ec82a7dd27ba92450afdb421e356f44044ed688df04567344c36cbacea7d01b1c39a4c732dc012570ebe9bebfb06f27314bca625349 +"ip-regex@npm:^2.1.0": + version: 2.1.0 + resolution: "ip-regex@npm:2.1.0" + checksum: 331d95052aa53ce245745ea0fc3a6a1e2e3c8d6da65fa8ea52bf73768c1b22a9ac50629d1d2b08c04e7b3ac4c21b536693c149ce2c2615ee4796030e5b3e3cba + languageName: node + linkType: hard + +"ip@npm:^1.1.5": + version: 1.1.8 + resolution: "ip@npm:1.1.8" + checksum: a2ade53eb339fb0cbe9e69a44caab10d6e3784662285eb5d2677117ee4facc33a64679051c35e0dfdb1a3983a51ce2f5d2cb36446d52e10d01881789b76e28fb languageName: node linkType: hard @@ -6170,10 +6559,24 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.6": - version: 1.2.7 - resolution: "is-callable@npm:1.2.7" - checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac +"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4": + version: 1.1.4 + resolution: "is-callable@npm:1.1.4" + checksum: ad54044fbe114f91da69f89ab3a9b626e80d13398aeb6a541930a52936207d6da4b0f51e5e5dbf2c8dad45623bc302b0e62a0ac9918a0f7d1cd4865929adc0ed + languageName: node + linkType: hard + +"is-callable@npm:^1.2.0": + version: 1.2.0 + resolution: "is-callable@npm:1.2.0" + checksum: 628d786ebb816a28529cd9ee15533e50288715215d374b2c983e6e23b3ae564e55a1cbfed3e3e8935340601584279984d9363b7045458b24f6d7c44249f24cf5 + languageName: node + linkType: hard + +"is-callable@npm:^1.2.4": + version: 1.2.4 + resolution: "is-callable@npm:1.2.4" + checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f languageName: node linkType: hard @@ -6188,12 +6591,21 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.8.1, is-core-module@npm:^2.9.0": - version: 2.10.0 - resolution: "is-core-module@npm:2.10.0" +"is-core-module@npm:^2.1.0": + version: 2.2.0 + resolution: "is-core-module@npm:2.2.0" + dependencies: + has: ^1.0.3 + checksum: 61e2aff4a7db4f8f7d5a97b484808af17290f4197b34a797cd3d3d27b6b448951064f8d3d6ceae4394fa9b7e6cf08aacd2ba7a17ef6352e922fe803580fbde56 + languageName: node + linkType: hard + +"is-core-module@npm:^2.2.0": + version: 2.4.0 + resolution: "is-core-module@npm:2.4.0" dependencies: has: ^1.0.3 - checksum: 0f3f77811f430af3256fa7bbc806f9639534b140f8ee69476f632c3e1eb4e28a38be0b9d1b8ecf596179c841b53576129279df95e7051d694dac4ceb6f967593 + checksum: c498902d4c4d0e8eba3a2e8293ccd442158cfe49a71d7cfad136ccf9902b6a41de34ddaa86cdc95c8b7c22f872e59572d8a5d994cbec04c8ecf27ffe75137119 languageName: node linkType: hard @@ -6216,11 +6628,9 @@ __metadata: linkType: hard "is-date-object@npm:^1.0.1": - version: 1.0.5 - resolution: "is-date-object@npm:1.0.5" - dependencies: - has-tostringtag: ^1.0.0 - checksum: baa9077cdf15eb7b58c79398604ca57379b2fc4cf9aa7a9b9e295278648f628c9b201400c01c5e0f7afae56507d741185730307cbe7cad3b9f90a77e5ee342fc + version: 1.0.1 + resolution: "is-date-object@npm:1.0.1" + checksum: 4ce962ecb46d31e48652a247ba9a31697199308926ec8e330426f5de41007781c28617c7c972f188e9aa2dd3d77f725eaba7755d207cecdd49f32fc0beca4fed languageName: node linkType: hard @@ -6247,11 +6657,11 @@ __metadata: linkType: hard "is-docker@npm:^2.0.0": - version: 2.2.1 - resolution: "is-docker@npm:2.2.1" + version: 2.1.1 + resolution: "is-docker@npm:2.1.1" bin: is-docker: cli.js - checksum: 3fef7ddbf0be25958e8991ad941901bf5922ab2753c46980b60b05c1bf9c9c2402d35e6dc32e4380b980ef5e1970a5d9d5e5aa2e02d77727c3b6b5e918474c56 + checksum: dfa7338b446c13807590f9bd7408a09fd9ef49bc977b94408723c0857b3ba0d49f20b48e23f0d426d6914b52c38066672105f19eb3c970c5f2a25a39275afb64 languageName: node linkType: hard @@ -6294,6 +6704,13 @@ __metadata: languageName: node linkType: hard +"is-fullwidth-code-point@npm:^2.0.0": + version: 2.0.0 + resolution: "is-fullwidth-code-point@npm:2.0.0" + checksum: eef9c6e15f68085fec19ff6a978a6f1b8f48018fd1265035552078ee945573594933b09bbd6f562553e2a241561439f1ef5339276eba68d272001343084cfab8 + languageName: node + linkType: hard + "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -6302,9 +6719,9 @@ __metadata: linkType: hard "is-function@npm:^1.0.1": - version: 1.0.2 - resolution: "is-function@npm:1.0.2" - checksum: 7d564562e07b4b51359547d3ccc10fb93bb392fd1b8177ae2601ee4982a0ece86d952323fc172a9000743a3971f09689495ab78a1d49a9b14fc97a7e28521dc0 + version: 1.0.1 + resolution: "is-function@npm:1.0.1" + checksum: dc07a359b2c999fb6b65310a2f078c3f89e798675f80ffc644982bebe1131564ea484caca74c8b7a6fab566b4a71b41900b5d1f83b1953b4198e2d7236e23ed2 languageName: node linkType: hard @@ -6324,12 +6741,12 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1": + version: 4.0.1 + resolution: "is-glob@npm:4.0.1" dependencies: is-extglob: ^2.1.1 - checksum: d381c1319fcb69d341cc6e6c7cd588e17cd94722d9a32dbd60660b993c4fb7d0f19438674e68dfec686d09b7c73139c9166b47597f846af387450224a8101ab4 + checksum: 84627cad11b4e745f5db5a163f32c47b711585a5ff6e14f8f8d026db87f4cdd3e2c95f6fa1f94ad22e469f36d819ae2814f03f9c668b164422ac3354a94672d3 languageName: node linkType: hard @@ -6357,7 +6774,7 @@ __metadata: languageName: node linkType: hard -"is-negative-zero@npm:^2.0.2": +"is-negative-zero@npm:^2.0.1": version: 2.0.2 resolution: "is-negative-zero@npm:2.0.2" checksum: f3232194c47a549da60c3d509c9a09be442507616b69454716692e37ae9f37c4dea264fb208ad0c9f3efd15a796a46b79df07c7e53c6227c32170608b809149a @@ -6365,11 +6782,11 @@ __metadata: linkType: hard "is-number-object@npm:^1.0.4": - version: 1.0.7 - resolution: "is-number-object@npm:1.0.7" + version: 1.0.6 + resolution: "is-number-object@npm:1.0.6" dependencies: has-tostringtag: ^1.0.0 - checksum: d1e8d01bb0a7134c74649c4e62da0c6118a0bfc6771ea3c560914d52a627873e6920dd0fd0ebc0e12ad2ff4687eac4c308f7e80320b973b2c8a2c8f97a7524f7 + checksum: c697704e8fc2027fc41cb81d29805de4e8b6dc9c3efee93741dbf126a8ecc8443fef85adbc581415ae7e55d325e51d0a942324ae35c829131748cce39cba55f3 languageName: node linkType: hard @@ -6405,10 +6822,28 @@ __metadata: languageName: node linkType: hard -"is-potential-custom-element-name@npm:^1.0.1": - version: 1.0.1 - resolution: "is-potential-custom-element-name@npm:1.0.1" - checksum: ced7bbbb6433a5b684af581872afe0e1767e2d1146b2207ca0068a648fb5cab9d898495d1ac0583524faaf24ca98176a7d9876363097c2d14fee6dd324f3a1ab +"is-potential-custom-element-name@npm:^1.0.0": + version: 1.0.0 + resolution: "is-potential-custom-element-name@npm:1.0.0" + checksum: 39084c1e357f2adf0cb9843cabd3c1ac770c9da14addbfd4e5a0243877eb084d9f3446e40c53970fdb8ea9c07e95659d694a0c4c6c4aa7a3da3f3e108212984f + languageName: node + linkType: hard + +"is-regex@npm:^1.0.4": + version: 1.0.4 + resolution: "is-regex@npm:1.0.4" + dependencies: + has: ^1.0.1 + checksum: 8df3511d4464a22d789502a175decd4d82b5394a424297c92b5ffc11996a239d89a7ff1dd5c721329bd41ed128218b94fe4eeddbf9e2ab2c10fa05b6effc3dd5 + languageName: node + linkType: hard + +"is-regex@npm:^1.1.0": + version: 1.1.1 + resolution: "is-regex@npm:1.1.1" + dependencies: + has-symbols: ^1.0.1 + checksum: af1b307612f4405883ef42dec287884a9d6dc1e504ccc6232bbaf72faf25ee556f60aa62d68abb90487b390b9b83513d429365cd59f5c4362232bfe3b95b81a2 languageName: node linkType: hard @@ -6422,12 +6857,10 @@ __metadata: languageName: node linkType: hard -"is-shared-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "is-shared-array-buffer@npm:1.0.2" - dependencies: - call-bind: ^1.0.2 - checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a +"is-shared-array-buffer@npm:^1.0.1": + version: 1.0.1 + resolution: "is-shared-array-buffer@npm:1.0.1" + checksum: 2ffb92533e64e2876e6cfe6906871d28400b6f1a53130fe652ec8007bc0e5044d05e7af8e31bdc992fbba520bd92938cfbeedd0f286be92f250c7c76191c4d90 languageName: node linkType: hard @@ -6439,13 +6872,20 @@ __metadata: linkType: hard "is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 + version: 2.0.0 + resolution: "is-stream@npm:2.0.0" + checksum: 4dc47738e26bc4f1b3be9070b6b9e39631144f204fc6f87db56961220add87c10a999ba26cf81699f9ef9610426f69cb08a4713feff8deb7d8cadac907826935 + languageName: node + linkType: hard + +"is-string@npm:^1.0.5": + version: 1.0.5 + resolution: "is-string@npm:1.0.5" + checksum: 68d77a991f55592721cc7d5800ff95cdb2c4f242e3a98fdc939c409879f7b8f297b8352184032b6b2183994b4c457f42df8de004c58b5b43655c8b2f3e3ecc17 languageName: node linkType: hard -"is-string@npm:^1.0.5, is-string@npm:^1.0.7": +"is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" dependencies: @@ -6454,7 +6894,16 @@ __metadata: languageName: node linkType: hard -"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": +"is-symbol@npm:^1.0.2": + version: 1.0.2 + resolution: "is-symbol@npm:1.0.2" + dependencies: + has-symbols: ^1.0.0 + checksum: 28a384b4f7a20591c94230ea6e4a45b707395a2cd68a43cd6623c6a444374073c6b9c11b9d3d4b5b472b006cacf1901ca4dd60629f55d534644648954a217169 + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.3": version: 1.0.4 resolution: "is-symbol@npm:1.0.4" dependencies: @@ -6463,16 +6912,16 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.9": - version: 1.1.9 - resolution: "is-typed-array@npm:1.1.9" +"is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.7": + version: 1.1.8 + resolution: "is-typed-array@npm:1.1.8" dependencies: available-typed-arrays: ^1.0.5 call-bind: ^1.0.2 - es-abstract: ^1.20.0 - for-each: ^0.3.3 + es-abstract: ^1.18.5 + foreach: ^2.0.5 has-tostringtag: ^1.0.0 - checksum: 11910f1e58755fef43bf0074e52fa5b932bf101ec65d613e0a83d40e8e4c6e3f2ee142d624ebc7624c091d3bbe921131f8db7d36ecbbb71909f2fe310c1faa65 + checksum: aa0f9f0716e19e2fb8aef69e69e4205479d25ace778e2339fc910948115cde4b0d9aff9d5d1e8b80f09a5664998278e05e54ad3dc9cb12cefcf86db71084ed00 languageName: node linkType: hard @@ -6483,7 +6932,7 @@ __metadata: languageName: node linkType: hard -"is-weakref@npm:^1.0.2": +"is-weakref@npm:^1.0.1": version: 1.0.2 resolution: "is-weakref@npm:1.0.2" dependencies: @@ -6515,7 +6964,7 @@ __metadata: languageName: node linkType: hard -"isarray@npm:1.0.0, isarray@npm:~1.0.0": +"isarray@npm:1.0.0, isarray@npm:^1.0.0, isarray@npm:~1.0.0": version: 1.0.0 resolution: "isarray@npm:1.0.0" checksum: f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab @@ -6562,35 +7011,37 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": - version: 3.2.0 - resolution: "istanbul-lib-coverage@npm:3.2.0" - checksum: a2a545033b9d56da04a8571ed05c8120bf10e9bce01cf8633a3a2b0d1d83dff4ac4fe78d6d5673c27fc29b7f21a41d75f83a36be09f82a61c367b56aa73c1ff9 +"istanbul-lib-coverage@npm:^3.0.0": + version: 3.0.0 + resolution: "istanbul-lib-coverage@npm:3.0.0" + checksum: ea57c2428858cc5d1e04c0e28b362950bbf6415e8ba1235cdd6f4c8dc3c57cb950db8b4e8a4f7e33abc240aa1eb816dba0d7285bdb8b70bda22bb2082492dbfc languageName: node linkType: hard -"istanbul-lib-instrument@npm:^4.0.3": - version: 4.0.3 - resolution: "istanbul-lib-instrument@npm:4.0.3" +"istanbul-lib-instrument@npm:^4.0.0": + version: 4.0.1 + resolution: "istanbul-lib-instrument@npm:4.0.1" dependencies: "@babel/core": ^7.7.5 + "@babel/parser": ^7.7.5 + "@babel/template": ^7.7.4 + "@babel/traverse": ^7.7.4 "@istanbuljs/schema": ^0.1.2 istanbul-lib-coverage: ^3.0.0 semver: ^6.3.0 - checksum: fa1171d3022b1bb8f6a734042620ac5d9ee7dc80f3065a0bb12863e9f0494d0eefa3d86608fcc0254ab2765d29d7dad8bdc42e5f8df2f9a1fbe85ccc59d76cb9 + checksum: 4bc650c9699f29c4295fcc9f5f293a0ea3def064d2dc711f3d0ebf0da0c70505a5d6d62ef0f992f8dddc1f119e38ba0f7c47d9b1b5ebf6911146237baf7283b2 languageName: node linkType: hard -"istanbul-lib-instrument@npm:^5.0.4": - version: 5.2.0 - resolution: "istanbul-lib-instrument@npm:5.2.0" +"istanbul-lib-instrument@npm:^4.0.3": + version: 4.0.3 + resolution: "istanbul-lib-instrument@npm:4.0.3" dependencies: - "@babel/core": ^7.12.3 - "@babel/parser": ^7.14.7 + "@babel/core": ^7.7.5 "@istanbuljs/schema": ^0.1.2 - istanbul-lib-coverage: ^3.2.0 + istanbul-lib-coverage: ^3.0.0 semver: ^6.3.0 - checksum: 7c242ed782b6bf7b655656576afae8b6bd23dcc020e5fdc1472cca3dfb6ddb196a478385206d0df5219b9babf46ac4f21fea5d8ea9a431848b6cca6007012353 + checksum: fa1171d3022b1bb8f6a734042620ac5d9ee7dc80f3065a0bb12863e9f0494d0eefa3d86608fcc0254ab2765d29d7dad8bdc42e5f8df2f9a1fbe85ccc59d76cb9 languageName: node linkType: hard @@ -6606,92 +7057,99 @@ __metadata: linkType: hard "istanbul-lib-source-maps@npm:^4.0.0": - version: 4.0.1 - resolution: "istanbul-lib-source-maps@npm:4.0.1" + version: 4.0.0 + resolution: "istanbul-lib-source-maps@npm:4.0.0" dependencies: debug: ^4.1.1 istanbul-lib-coverage: ^3.0.0 source-map: ^0.6.1 - checksum: 21ad3df45db4b81852b662b8d4161f6446cd250c1ddc70ef96a585e2e85c26ed7cd9c2a396a71533cfb981d1a645508bc9618cae431e55d01a0628e7dec62ef2 + checksum: 292bfb4083e5f8783cdf829a7686b1a377d0c6c2119d4343c8478e948b38146c4827cddc7eee9f57605acd63c291376d67e4a84163d37c5fc78ad0f27f7e2621 languageName: node linkType: hard "istanbul-reports@npm:^3.0.2": - version: 3.1.5 - resolution: "istanbul-reports@npm:3.1.5" + version: 3.0.2 + resolution: "istanbul-reports@npm:3.0.2" dependencies: html-escaper: ^2.0.0 istanbul-lib-report: ^3.0.0 - checksum: 7867228f83ed39477b188ea07e7ccb9b4f5320b6f73d1db93a0981b7414fa4ef72d3f80c4692c442f90fc250d9406e71d8d7ab65bb615cb334e6292b73192b89 + checksum: c5da63f1f4610f47f3015c525a3bc2fb4c87a8791ae452ee3983546d7a2873f0cf5d5fff7c3735ac52943c5b3506f49c294c92f1837df6ec03312625ccd176d7 languageName: node linkType: hard -"jest-changed-files@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-changed-files@npm:26.6.2" +"jest-changed-files@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-changed-files@npm:26.3.0" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^26.3.0 execa: ^4.0.0 throat: ^5.0.0 - checksum: 8c405f5ff905ee69ace9fd39355233206e3e233badf6a3f3b27e45bbf0a46d86943430be2e080d25b1e085f4231b9b3b27c94317aa04116efb40b592184066f4 + checksum: aca97daff4cd9320395945e8142a66e4946361b2e5950316ae2591577391665f4ac7228ebf0a05fef062e1d37936a90ce0914586f0e8de538c00aab9d2f7d626 languageName: node linkType: hard -"jest-cli@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-cli@npm:26.6.3" +"jest-cli@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-cli@npm:26.4.2" dependencies: - "@jest/core": ^26.6.3 - "@jest/test-result": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/core": ^26.4.2 + "@jest/test-result": ^26.3.0 + "@jest/types": ^26.3.0 chalk: ^4.0.0 exit: ^0.1.2 graceful-fs: ^4.2.4 import-local: ^3.0.2 is-ci: ^2.0.0 - jest-config: ^26.6.3 - jest-util: ^26.6.2 - jest-validate: ^26.6.2 + jest-config: ^26.4.2 + jest-util: ^26.3.0 + jest-validate: ^26.4.2 prompts: ^2.0.1 - yargs: ^15.4.1 + yargs: ^15.3.1 bin: jest: bin/jest.js - checksum: c8554147be756f09f5566974f0026485f78742e8642d2723f8fbee5746f50f44fb72b17aad181226655a8446d3ecc8ad8ed0a11a8a55686fa2b9c10d85700121 + checksum: e22c4d652c132a7b28b421562ec069f808336af8c753772e0cd46fd06d648fd737a4b80782c5b2922218a633080fb41c9ece83331c931d5bb844f7dce738905a languageName: node linkType: hard -"jest-config@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-config@npm:26.6.3" +"jest-config@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-config@npm:26.4.2" dependencies: "@babel/core": ^7.1.0 - "@jest/test-sequencer": ^26.6.3 - "@jest/types": ^26.6.2 - babel-jest: ^26.6.3 + "@jest/test-sequencer": ^26.4.2 + "@jest/types": ^26.3.0 + babel-jest: ^26.3.0 chalk: ^4.0.0 deepmerge: ^4.2.2 glob: ^7.1.1 graceful-fs: ^4.2.4 - jest-environment-jsdom: ^26.6.2 - jest-environment-node: ^26.6.2 + jest-environment-jsdom: ^26.3.0 + jest-environment-node: ^26.3.0 jest-get-type: ^26.3.0 - jest-jasmine2: ^26.6.3 + jest-jasmine2: ^26.4.2 jest-regex-util: ^26.0.0 - jest-resolve: ^26.6.2 - jest-util: ^26.6.2 - jest-validate: ^26.6.2 + jest-resolve: ^26.4.0 + jest-util: ^26.3.0 + jest-validate: ^26.4.2 micromatch: ^4.0.2 - pretty-format: ^26.6.2 - peerDependencies: - ts-node: ">=9.0.0" - peerDependenciesMeta: - ts-node: - optional: true - checksum: 303c798582d3c5d4b4e6ab8a4d91a83ded28e4ebbc0bcfc1ad271f9864437ef5409b7c7773010143811bc8176b0695c096717b91419c6484b56dcc032560a74b + pretty-format: ^26.4.2 + checksum: 3c3968e8632ea2f5cd0728b30f5e5fd5bfffe889be1576901eae5353a6f82a51b8db0205c6f4c3f852bc4c360ec39473ae07658968d98554f1744e57c0ed78be + languageName: node + linkType: hard + +"jest-diff@npm:^25.2.1": + version: 25.5.0 + resolution: "jest-diff@npm:25.5.0" + dependencies: + chalk: ^3.0.0 + diff-sequences: ^25.2.6 + jest-get-type: ^25.2.6 + pretty-format: ^25.5.0 + checksum: b7e9739b0fc2ba89a044e6cf4dd5a53f4bb00800a153cbc6eb9b4e91da3241bf0cb2ced007fd220182f41be4bbb7dd645b7c8b9fdb299b2720056209d7d56960 languageName: node linkType: hard -"jest-diff@npm:^26.0.0, jest-diff@npm:^26.6.2": +"jest-diff@npm:^26.0.0": version: 26.6.2 resolution: "jest-diff@npm:26.6.2" dependencies: @@ -6703,15 +7161,27 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-diff@npm:29.0.3" +"jest-diff@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-diff@npm:26.4.2" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^26.3.0 + jest-get-type: ^26.3.0 + pretty-format: ^26.4.2 + checksum: e40c61e1f61a46ce076e200d8a03a6b530bac14dc5e779f39a8e28f3671c02ace824150b3762026e6f0330c82fceb916eef81356cc808b167c277b561ef2f324 + languageName: node + linkType: hard + +"jest-diff@npm:^27.0.0": + version: 27.3.1 + resolution: "jest-diff@npm:27.3.1" dependencies: chalk: ^4.0.0 - diff-sequences: ^29.0.0 - jest-get-type: ^29.0.0 - pretty-format: ^29.0.3 - checksum: 1e12b63ea6254ea25146b6fb19f8b2d1ba334e1b8b635a007767c17dc272728afbdf41ccccce26c2a40cd9c7f3176bcfed53be2572927a3fc7b1ee5fff43eb26 + diff-sequences: ^27.0.6 + jest-get-type: ^27.3.1 + pretty-format: ^27.3.1 + checksum: 49231a4ac4bed1cce8f5135db2a26a83673d5cbe5716bca29900a45ae0ddf237099d9091acac436b9c60ab933b0e7ca086ce8cb71f44411b572b69adbe96128d languageName: node linkType: hard @@ -6724,45 +7194,52 @@ __metadata: languageName: node linkType: hard -"jest-each@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-each@npm:26.6.2" +"jest-each@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-each@npm:26.4.2" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^26.3.0 chalk: ^4.0.0 jest-get-type: ^26.3.0 - jest-util: ^26.6.2 - pretty-format: ^26.6.2 - checksum: 4e00ea4667e4fe015b894dc698cce0ae695cf458e021e5da62d4a5b052cd2c0a878da93f8c97cbdde60bcecf70982e8d3a7a5d63e1588f59531cc797a18c39ef + jest-util: ^26.3.0 + pretty-format: ^26.4.2 + checksum: 0c99b0546f7c5e7c8ebed6bbd76f41dfe3eba0b59f12e3fa6b7d1d7a0458fa1427f181a4db70babeeb16756ca909b5e793e04fb802a8ad1b8d02b424742a991a languageName: node linkType: hard -"jest-environment-jsdom@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-environment-jsdom@npm:26.6.2" +"jest-environment-jsdom@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-environment-jsdom@npm:26.3.0" dependencies: - "@jest/environment": ^26.6.2 - "@jest/fake-timers": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/environment": ^26.3.0 + "@jest/fake-timers": ^26.3.0 + "@jest/types": ^26.3.0 "@types/node": "*" - jest-mock: ^26.6.2 - jest-util: ^26.6.2 - jsdom: ^16.4.0 - checksum: 8af9ffdf1b147362a19032bfe9ed51b709d43c74dc4b1c45e56d721808bf6cabdca8c226855b55a985ea196ce51cdb171bfe420ceec3daa2d13818d5c1915890 + jest-mock: ^26.3.0 + jest-util: ^26.3.0 + jsdom: ^16.2.2 + checksum: a532834a6b0c184aaeda5e2579fd814827bd59767fc4638f95015edf86da3fdec86f68cea28a87f30a7391f0e26ff62c00ef68b988d277190e65abc29513d970 languageName: node linkType: hard -"jest-environment-node@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-environment-node@npm:26.6.2" +"jest-environment-node@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-environment-node@npm:26.3.0" dependencies: - "@jest/environment": ^26.6.2 - "@jest/fake-timers": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/environment": ^26.3.0 + "@jest/fake-timers": ^26.3.0 + "@jest/types": ^26.3.0 "@types/node": "*" - jest-mock: ^26.6.2 - jest-util: ^26.6.2 - checksum: 0b69b481e6d6f2350ed241c2dabc70b0b1f3a00f9a410b7dad97c8ab38e88026acf7445ca663eb314f46ff50acee0133100b1006bf4ebda5298ffb02763a6861 + jest-mock: ^26.3.0 + jest-util: ^26.3.0 + checksum: 6cd9a1f316421f7314adfa2b81c355f72e22e69e71ca11d087faa5d9626ed2ce491501ea1d8c97c500b5ae18854d8bf908b553550eb8d86cde9170fd4ae3fd0e + languageName: node + linkType: hard + +"jest-get-type@npm:^25.2.6": + version: 25.2.6 + resolution: "jest-get-type@npm:25.2.6" + checksum: d1f59027b0baa6b8a6f4b3f900de1a77714647351907981ea57c16340e6a58a9c702b580055331af25ee3872768f1241c0616de9777a63e4eb32fc409dcbf9ac languageName: node linkType: hard @@ -6773,18 +7250,18 @@ __metadata: languageName: node linkType: hard -"jest-get-type@npm:^29.0.0": - version: 29.0.0 - resolution: "jest-get-type@npm:29.0.0" - checksum: 9abdd11d69788963a92fb9d813a7b887654ecc8f3a3c8bf83166d33aaf4d57ed380e74ab8ef106f57565dd235446ca6ebc607679f0c516c4633e6d09f0540a2b +"jest-get-type@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-get-type@npm:27.3.1" + checksum: b0b8db1d770c6332b4189bbf4073184489acbb1095410cf53add033daf911577ee6bd1c4f8d747dd2f3d63de42f7eb15c5527fc7288a2855a046f4a8957cd902 languageName: node linkType: hard -"jest-haste-map@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-haste-map@npm:26.6.2" +"jest-haste-map@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-haste-map@npm:26.3.0" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^26.3.0 "@types/graceful-fs": ^4.1.2 "@types/node": "*" anymatch: ^3.0.3 @@ -6792,120 +7269,90 @@ __metadata: fsevents: ^2.1.2 graceful-fs: ^4.2.4 jest-regex-util: ^26.0.0 - jest-serializer: ^26.6.2 - jest-util: ^26.6.2 - jest-worker: ^26.6.2 + jest-serializer: ^26.3.0 + jest-util: ^26.3.0 + jest-worker: ^26.3.0 micromatch: ^4.0.2 sane: ^4.0.3 walker: ^1.0.7 dependenciesMeta: fsevents: optional: true - checksum: 8ad5236d5646d2388d2bd58a57ea53698923434f43d59ea9ebdc58bce4d0b8544c8de2f7acaa9a6d73171f04460388b2b6d7d6b6c256aea4ebb8780140781596 + checksum: 21241ac33acffc2344c82393730c8cd79d868318531efbc8dec94589ab8f3f6399a45e6008430174f374cb63c867f1033ac47363c0ab64644079a1bbb05835e7 languageName: node linkType: hard -"jest-jasmine2@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-jasmine2@npm:26.6.3" +"jest-jasmine2@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-jasmine2@npm:26.4.2" dependencies: "@babel/traverse": ^7.1.0 - "@jest/environment": ^26.6.2 - "@jest/source-map": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/environment": ^26.3.0 + "@jest/source-map": ^26.3.0 + "@jest/test-result": ^26.3.0 + "@jest/types": ^26.3.0 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 - expect: ^26.6.2 + expect: ^26.4.2 is-generator-fn: ^2.0.0 - jest-each: ^26.6.2 - jest-matcher-utils: ^26.6.2 - jest-message-util: ^26.6.2 - jest-runtime: ^26.6.3 - jest-snapshot: ^26.6.2 - jest-util: ^26.6.2 - pretty-format: ^26.6.2 + jest-each: ^26.4.2 + jest-matcher-utils: ^26.4.2 + jest-message-util: ^26.3.0 + jest-runtime: ^26.4.2 + jest-snapshot: ^26.4.2 + jest-util: ^26.3.0 + pretty-format: ^26.4.2 throat: ^5.0.0 - checksum: 41df0b993ae0cdeb2660fb3d8e88e2dcc83aec6b5c27d85eb233c2d507b546f8dce45fc54898ffbefa48ccc4633f225d0e023fd0979b8f7f2f1626074a69a9a3 + checksum: f37492b03f74f81c6c6df4d0d1afd590b7235c0e1de127edc45ae6990b7f30820db7f987fe6441959ffd9baf970799587e26eb3ae362d31dc5b3ddd7601e8bcb languageName: node linkType: hard -"jest-leak-detector@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-leak-detector@npm:26.6.2" +"jest-leak-detector@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-leak-detector@npm:26.4.2" dependencies: jest-get-type: ^26.3.0 - pretty-format: ^26.6.2 - checksum: 364dd4d021347e26c66ba9c09da8a30477f14a3a8a208d2d7d64e4c396db81b85d8cb6b6834bcfc47a61b5938e274553957d11a7de2255f058c9d55d7f8fdfe7 + pretty-format: ^26.4.2 + checksum: 8e71cbd4d4f12f7bc5d96bd558df95d4107819b02fef788ef58343c234d05cf68705019885d76c5b0311b062f90c5a15d0de2289220adaf586a64b5aa6fbc025 languageName: node linkType: hard -"jest-matcher-utils@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-matcher-utils@npm:26.6.2" +"jest-matcher-utils@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-matcher-utils@npm:26.4.2" dependencies: chalk: ^4.0.0 - jest-diff: ^26.6.2 + jest-diff: ^26.4.2 jest-get-type: ^26.3.0 - pretty-format: ^26.6.2 - checksum: 74d2165c1ac7fe98fe27cd2b5407499478e6b2fe99dd54e26d8ee5c9f5f913bdd7bdc07c7221b9b04df0c15e9be0e866ff3455b03e38cc66c480d9996d6d5405 - languageName: node - linkType: hard - -"jest-matcher-utils@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-matcher-utils@npm:29.0.3" - dependencies: - chalk: ^4.0.0 - jest-diff: ^29.0.3 - jest-get-type: ^29.0.0 - pretty-format: ^29.0.3 - checksum: e39ab74a046ada8fbd75a275bfe54bd5f8ec14a98f77e1162a49d4e1ea82e68c5a4575691767cea0f60dd0b74cb481275012bf3467cd91fdb014311c670b8a83 + pretty-format: ^26.4.2 + checksum: ea16317be4a072b0f2027b9b350711fadb660c00b6745774ad3e60786aa9628c46946b27a3cbb3d682e3f8f1deb4025d05b099bff6de355a1d3e85ea8d641770 languageName: node linkType: hard -"jest-message-util@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-message-util@npm:26.6.2" +"jest-message-util@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-message-util@npm:26.3.0" dependencies: "@babel/code-frame": ^7.0.0 - "@jest/types": ^26.6.2 - "@types/stack-utils": ^2.0.0 + "@jest/types": ^26.3.0 + "@types/stack-utils": ^1.0.1 chalk: ^4.0.0 graceful-fs: ^4.2.4 micromatch: ^4.0.2 - pretty-format: ^26.6.2 slash: ^3.0.0 stack-utils: ^2.0.2 - checksum: ffe5a715591c41240b9ed4092faf10f3eaf9ddfdf25d257a0c9f903aaa8d9eed5baa7e38016d2ec4f610fd29225e0f5231a91153e087a043e62824972c83d015 - languageName: node - linkType: hard - -"jest-message-util@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-message-util@npm:29.0.3" - dependencies: - "@babel/code-frame": ^7.12.13 - "@jest/types": ^29.0.3 - "@types/stack-utils": ^2.0.0 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - micromatch: ^4.0.4 - pretty-format: ^29.0.3 - slash: ^3.0.0 - stack-utils: ^2.0.3 - checksum: 04bee1fee10106f4eb875092e5d06187930d44050a4f99e7aa1d1e42768b18d6d9e5439623d9242202942deb8a1eec08359e0cd19a43ae505d96aeaf243a3f8d + checksum: 2dc780df5ea9e5eec7e2ec30451dcf879a7bac3f7fde0e9457a8993368d17b25f56ec9f42545e0d0bb0adf42e15979a7f1027a8f634e9edf56540af2cceea790 languageName: node linkType: hard -"jest-mock@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-mock@npm:26.6.2" +"jest-mock@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-mock@npm:26.3.0" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^26.3.0 "@types/node": "*" - checksum: 6c0fe028ff0cdc87b5d63b9ca749af04cae6c5577aaab234f602e546cae3f4b932adac9d77e6de2abb24955ee00978e1e5d5a861725654e2f9a42317d91fbc1f + checksum: 9b1708dee86fc6e491f66de841e05c7663b970fcfc1941ea56b0c86dcd36f744d06aceeb06e4e00791aa6eac9644cff75b046d515a82da26b46c583c5655b6e1 languageName: node linkType: hard @@ -6928,133 +7375,131 @@ __metadata: languageName: node linkType: hard -"jest-resolve-dependencies@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-resolve-dependencies@npm:26.6.3" +"jest-resolve-dependencies@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-resolve-dependencies@npm:26.4.2" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^26.3.0 jest-regex-util: ^26.0.0 - jest-snapshot: ^26.6.2 - checksum: 533ea1e271426006ff02c03c9802b108fcd68f2144615b6110ae59f3a0a2cc4a7abb3f44c3c65299c76b3a725d5d8220aaed9c58b79c8c8c508c18699a96e3f7 + jest-snapshot: ^26.4.2 + checksum: 7225d97c92d8ccac8bb2247d7a43fe8494f4477dfa6c422345bf23ca71f17a07657d48384631eab3b9993fbddedde70c5b066756f533b2543d633eba752cd6b7 languageName: node linkType: hard -"jest-resolve@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-resolve@npm:26.6.2" +"jest-resolve@npm:^26.4.0": + version: 26.4.0 + resolution: "jest-resolve@npm:26.4.0" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^26.3.0 chalk: ^4.0.0 graceful-fs: ^4.2.4 jest-pnp-resolver: ^1.2.2 - jest-util: ^26.6.2 + jest-util: ^26.3.0 read-pkg-up: ^7.0.1 - resolve: ^1.18.1 + resolve: ^1.17.0 slash: ^3.0.0 - checksum: d6264d3f39b098753802a237c8c54f3109f5f3b3b7fa6f8d7aec7dca01b357ddf518ce1c33a68454357c15f48fb3c6026a92b9c4f5d72f07e24e80f04bcc8d58 + checksum: 75767edfc07a160a0c5eff5a104142dcc9bb0a8f4156faff2f2adc110f1f7bfee2802598edb1c4e7a63571ba121b3209714740042abd92cac72dc30b5f5d290b languageName: node linkType: hard -"jest-runner@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-runner@npm:26.6.3" +"jest-runner@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-runner@npm:26.4.2" dependencies: - "@jest/console": ^26.6.2 - "@jest/environment": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/console": ^26.3.0 + "@jest/environment": ^26.3.0 + "@jest/test-result": ^26.3.0 + "@jest/types": ^26.3.0 "@types/node": "*" chalk: ^4.0.0 emittery: ^0.7.1 exit: ^0.1.2 graceful-fs: ^4.2.4 - jest-config: ^26.6.3 + jest-config: ^26.4.2 jest-docblock: ^26.0.0 - jest-haste-map: ^26.6.2 - jest-leak-detector: ^26.6.2 - jest-message-util: ^26.6.2 - jest-resolve: ^26.6.2 - jest-runtime: ^26.6.3 - jest-util: ^26.6.2 - jest-worker: ^26.6.2 + jest-haste-map: ^26.3.0 + jest-leak-detector: ^26.4.2 + jest-message-util: ^26.3.0 + jest-resolve: ^26.4.0 + jest-runtime: ^26.4.2 + jest-util: ^26.3.0 + jest-worker: ^26.3.0 source-map-support: ^0.5.6 throat: ^5.0.0 - checksum: ccd69918baa49a5efa45985cf60cfa1fbb1686b32d7a86296b7b55f89684e36d1f08e62598c4b7be7e81f2cf2e245d1a65146ea7bdcaedfa6ed176d3e645d7e2 + checksum: 468185503072642b8175161d4f27bf09f26edc7483a93235e32ad38a014239d8e6906ec4fc1fc6471b9cde17d1949d267f80b06451ac0f9bde30dd275492f96d languageName: node linkType: hard -"jest-runtime@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-runtime@npm:26.6.3" +"jest-runtime@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-runtime@npm:26.4.2" dependencies: - "@jest/console": ^26.6.2 - "@jest/environment": ^26.6.2 - "@jest/fake-timers": ^26.6.2 - "@jest/globals": ^26.6.2 - "@jest/source-map": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/transform": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/console": ^26.3.0 + "@jest/environment": ^26.3.0 + "@jest/fake-timers": ^26.3.0 + "@jest/globals": ^26.4.2 + "@jest/source-map": ^26.3.0 + "@jest/test-result": ^26.3.0 + "@jest/transform": ^26.3.0 + "@jest/types": ^26.3.0 "@types/yargs": ^15.0.0 chalk: ^4.0.0 - cjs-module-lexer: ^0.6.0 collect-v8-coverage: ^1.0.0 exit: ^0.1.2 glob: ^7.1.3 graceful-fs: ^4.2.4 - jest-config: ^26.6.3 - jest-haste-map: ^26.6.2 - jest-message-util: ^26.6.2 - jest-mock: ^26.6.2 + jest-config: ^26.4.2 + jest-haste-map: ^26.3.0 + jest-message-util: ^26.3.0 + jest-mock: ^26.3.0 jest-regex-util: ^26.0.0 - jest-resolve: ^26.6.2 - jest-snapshot: ^26.6.2 - jest-util: ^26.6.2 - jest-validate: ^26.6.2 + jest-resolve: ^26.4.0 + jest-snapshot: ^26.4.2 + jest-util: ^26.3.0 + jest-validate: ^26.4.2 slash: ^3.0.0 strip-bom: ^4.0.0 - yargs: ^15.4.1 + yargs: ^15.3.1 bin: jest-runtime: bin/jest-runtime.js - checksum: 867922b49f9ab4cf2f5f1356ac3d9962c4477c7a2ff696cc841ea4c600ea389e7d6dfcbf945fec6849e606f81980addf31e4f34d63eaa3d3415f4901de2f605a + checksum: d4d93390dcd9d3a8dd70a6f39cb6b6e0f64a7ec2475c919d87231c1a5c9b4a64c42e45c5f226a482d414b2e5bdbb2f7729409228cbe8ff37c661f1582e1a6490 languageName: node linkType: hard -"jest-serializer@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-serializer@npm:26.6.2" +"jest-serializer@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-serializer@npm:26.3.0" dependencies: "@types/node": "*" graceful-fs: ^4.2.4 - checksum: dbecfb0d01462fe486a0932cf1680cf6abb204c059db2a8f72c6c2a7c9842a82f6d256874112774cea700764ed8f38fc9e3db982456c138d87353e3390e746fe + checksum: 0a3c5952232ea73bf3d0e55f8b3d0617e0605003874b3c6b7eb798a1b25d0448f3b6c1e263f7b017c579522d72a9de5e8b090897f1f42ca9be0f7f678d1694d8 languageName: node linkType: hard -"jest-snapshot@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-snapshot@npm:26.6.2" +"jest-snapshot@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-snapshot@npm:26.4.2" dependencies: "@babel/types": ^7.0.0 - "@jest/types": ^26.6.2 - "@types/babel__traverse": ^7.0.4 + "@jest/types": ^26.3.0 "@types/prettier": ^2.0.0 chalk: ^4.0.0 - expect: ^26.6.2 + expect: ^26.4.2 graceful-fs: ^4.2.4 - jest-diff: ^26.6.2 + jest-diff: ^26.4.2 jest-get-type: ^26.3.0 - jest-haste-map: ^26.6.2 - jest-matcher-utils: ^26.6.2 - jest-message-util: ^26.6.2 - jest-resolve: ^26.6.2 + jest-haste-map: ^26.3.0 + jest-matcher-utils: ^26.4.2 + jest-message-util: ^26.3.0 + jest-resolve: ^26.4.0 natural-compare: ^1.4.0 - pretty-format: ^26.6.2 + pretty-format: ^26.4.2 semver: ^7.3.2 - checksum: 53f1de055b1d3840bc6e851fd674d5991b844d4695dadbd07354c93bf191048d8767b8606999847e97c4214a485b9afb45c1d2411772befa1870414ac973b3e2 + checksum: 1460a2ce4d620ef5ea584fbde2a9820fc49244f146487e55f8afba331f76e2bb7fed05b7055f40c93782f65ee02ec1acdb4002b652c1daa90419cd24dae1c52b languageName: node linkType: hard -"jest-util@npm:^26.1.0, jest-util@npm:^26.6.2": +"jest-util@npm:^26.1.0": version: 26.6.2 resolution: "jest-util@npm:26.6.2" dependencies: @@ -7068,79 +7513,79 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-util@npm:29.0.3" +"jest-util@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-util@npm:26.3.0" dependencies: - "@jest/types": ^29.0.3 + "@jest/types": ^26.3.0 "@types/node": "*" chalk: ^4.0.0 - ci-info: ^3.2.0 - graceful-fs: ^4.2.9 - picomatch: ^2.2.3 - checksum: 39c31e75ba5bcb4c3ccdf0895f9fdbb83f839c432e7c6639a688beb414d681b5d50282da017c723ea1f2a7033e74a4938fd33dcff231c3e90f903173919991d5 + graceful-fs: ^4.2.4 + is-ci: ^2.0.0 + micromatch: ^4.0.2 + checksum: c03ad5795880cec327b29f38332570c376f28450561ad00f22749e41895a460c3c7a8875d056bbef1953ce23c120d82ec1d0317bf26af1eb8276be601cea20f2 languageName: node linkType: hard -"jest-validate@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-validate@npm:26.6.2" +"jest-validate@npm:^26.4.2": + version: 26.4.2 + resolution: "jest-validate@npm:26.4.2" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^26.3.0 camelcase: ^6.0.0 chalk: ^4.0.0 jest-get-type: ^26.3.0 leven: ^3.1.0 - pretty-format: ^26.6.2 - checksum: bac11d6586d9b8885328a4a66eec45b692e45ac23034a5c09eb0ee32de324f2d3d52b073e0c34e9c222b3642b083d1152a736cf24c52109e4957537d731ca62b + pretty-format: ^26.4.2 + checksum: f8154fb1c06112dade33130acf0d43cb02fc5ffeaf68f73b890d6b1d9634f05a5c0f417da7316f70742a8c5e8d963d9217856ee6ddbd2cf0615e13d25615d0f0 languageName: node linkType: hard -"jest-watcher@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-watcher@npm:26.6.2" +"jest-watcher@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-watcher@npm:26.3.0" dependencies: - "@jest/test-result": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/test-result": ^26.3.0 + "@jest/types": ^26.3.0 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 - jest-util: ^26.6.2 + jest-util: ^26.3.0 string-length: ^4.0.1 - checksum: 401137f1a73bf23cdf390019ebffb3f6f89c53ca49d48252d1dd6daf17a68787fef75cc55a623de28b63d87d0e8f13d8972d7dd06740f2f64f7b2a0409d119d2 + checksum: be5297f792d821a1e7c1db7bacabe75c97cc082c9e1f09763b7a50695d1b92190bdba82aba9650be5708a52fc20630da0a6f2b3faeb4f22c139c016486bf5df8 languageName: node linkType: hard "jest-when@npm:^3.4.2": - version: 3.5.1 - resolution: "jest-when@npm:3.5.1" + version: 3.4.2 + resolution: "jest-when@npm:3.4.2" peerDependencies: jest: ">= 25" - checksum: 1efb9f497f7c846fe8b0f4125d5f449c4a4d78d5d0afa910d134b301ae4c119ea52c9465db38d2146269d42808afe8f3a4328d1d656878a9a69458ee653f6499 + checksum: 5902628133c3fb1b2e7b89cdf95a2e28388e143fdd30fd30b4e5164b68c14692b29d6d30d8757fd47e8c5c5bf719dcc7001964deb451b386e43eaf36247e7410 languageName: node linkType: hard -"jest-worker@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-worker@npm:26.6.2" +"jest-worker@npm:^26.3.0": + version: 26.3.0 + resolution: "jest-worker@npm:26.3.0" dependencies: "@types/node": "*" merge-stream: ^2.0.0 supports-color: ^7.0.0 - checksum: f9afa3b88e3f12027901e4964ba3ff048285b5783b5225cab28fac25b4058cea8ad54001e9a1577ee2bed125fac3ccf5c80dc507b120300cc1bbcb368796533e + checksum: 6c39cf8e48ea5bdd636222ce8b1b7e4685741c076ece67dfe9458d6bde23ce71997380e658f7c21bd2aa5ef944c024a3224d37c832f9a3e220d7a844e8369106 languageName: node linkType: hard "jest@npm:^26.4.2": - version: 26.6.3 - resolution: "jest@npm:26.6.3" + version: 26.4.2 + resolution: "jest@npm:26.4.2" dependencies: - "@jest/core": ^26.6.3 + "@jest/core": ^26.4.2 import-local: ^3.0.2 - jest-cli: ^26.6.3 + jest-cli: ^26.4.2 bin: jest: bin/jest.js - checksum: 3a9b4c70e9bd5391e7367a0036045c1d3545c2a39e1439a71fb4b59b1748bc34e2ccb324faa1046b99bffc8dc2ed7b3c59016c462255b2646f5fa9300351f914 + checksum: 5cd4bd8b28ab310dadeb434d7e01dbb0ebc60072f0312437e5d07c226931458575b057d75abde360589e63d71c653656fc63594241eb397e4b544795ef664b06 languageName: node linkType: hard @@ -7165,6 +7610,13 @@ __metadata: languageName: node linkType: hard +"js-sha3@npm:^0.6.1": + version: 0.6.1 + resolution: "js-sha3@npm:0.6.1" + checksum: 5d6971c7ea6bff8df5c53708545c520b2e74e5cee2cc078fa81c68c410482435741ac0c895390ace3e1224b0db2adfcacde31f5a9b330d921d60889760388196 + languageName: node + linkType: hard + "js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -7173,14 +7625,14 @@ __metadata: linkType: hard "js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" + version: 3.13.1 + resolution: "js-yaml@npm:3.13.1" dependencies: argparse: ^1.0.7 esprima: ^4.0.0 bin: js-yaml: bin/js-yaml.js - checksum: bef146085f472d44dee30ec34e5cf36bf89164f5d585435a3d3da89e52622dff0b188a580e4ad091c3341889e14cb88cac6e4deb16dc5b1e9623bb0601fc255c + checksum: 7511b764abb66d8aa963379f7d2a404f078457d106552d05a7b556d204f7932384e8477513c124749fa2de52eb328961834562bd09924902c6432e40daa408bc languageName: node linkType: hard @@ -7198,57 +7650,49 @@ __metadata: languageName: node linkType: hard -"jsdoc-type-pratt-parser@npm:1.1.1": +"jsdoc-type-pratt-parser@npm:1.1.1, jsdoc-type-pratt-parser@npm:^1.1.1": version: 1.1.1 resolution: "jsdoc-type-pratt-parser@npm:1.1.1" checksum: 90522d1da193e1280c3e041561de20cb2f580dd823ad60f5c08e8f429dacc2e944259ed682c98c62d32f3fc8148a79becb47a47455a8093cebb5377b1c2ecbf2 languageName: node linkType: hard -"jsdoc-type-pratt-parser@npm:^1.1.1": - version: 1.2.0 - resolution: "jsdoc-type-pratt-parser@npm:1.2.0" - checksum: 8be7a0e1373ad7662edd2e0f804dda462e9c56c9297aa722466ebe4bfd8c96ecdc5ce42ca91e0ca97ff6cc5c7ca730a9f5a0bc6939d7695559f0a8b95e3a2ca2 - languageName: node - linkType: hard - -"jsdom@npm:^16.4.0": - version: 16.7.0 - resolution: "jsdom@npm:16.7.0" +"jsdom@npm:^16.2.2": + version: 16.4.0 + resolution: "jsdom@npm:16.4.0" dependencies: - abab: ^2.0.5 - acorn: ^8.2.4 + abab: ^2.0.3 + acorn: ^7.1.1 acorn-globals: ^6.0.0 cssom: ^0.4.4 - cssstyle: ^2.3.0 + cssstyle: ^2.2.0 data-urls: ^2.0.0 - decimal.js: ^10.2.1 + decimal.js: ^10.2.0 domexception: ^2.0.1 - escodegen: ^2.0.0 - form-data: ^3.0.0 + escodegen: ^1.14.1 html-encoding-sniffer: ^2.0.1 - http-proxy-agent: ^4.0.1 - https-proxy-agent: ^5.0.0 - is-potential-custom-element-name: ^1.0.1 + is-potential-custom-element-name: ^1.0.0 nwsapi: ^2.2.0 - parse5: 6.0.1 - saxes: ^5.0.1 + parse5: 5.1.1 + request: ^2.88.2 + request-promise-native: ^1.0.8 + saxes: ^5.0.0 symbol-tree: ^3.2.4 - tough-cookie: ^4.0.0 + tough-cookie: ^3.0.1 w3c-hr-time: ^1.0.2 w3c-xmlserializer: ^2.0.0 webidl-conversions: ^6.1.0 whatwg-encoding: ^1.0.5 whatwg-mimetype: ^2.3.0 - whatwg-url: ^8.5.0 - ws: ^7.4.6 + whatwg-url: ^8.0.0 + ws: ^7.2.3 xml-name-validator: ^3.0.0 peerDependencies: canvas: ^2.5.0 peerDependenciesMeta: canvas: optional: true - checksum: 454b83371857000763ed31130a049acd1b113e3b927e6dcd75c67ddc30cdd242d7ebcac5c2294b7a1a6428155cb1398709c573b3c6d809218692ea68edd93370 + checksum: a9ca90c0d55bdeebb40a0baba34372141262f776c71793e00fc1ed93dc785a09919e57d2fe2041b9bbb855864bc6d17e722f182c19dc179fa162d253b40dd162 languageName: node linkType: hard @@ -7269,12 +7713,12 @@ __metadata: linkType: hard "json-rpc-engine@npm:^5.3.0": - version: 5.4.0 - resolution: "json-rpc-engine@npm:5.4.0" + version: 5.3.0 + resolution: "json-rpc-engine@npm:5.3.0" dependencies: eth-rpc-errors: ^3.0.0 safe-event-emitter: ^1.0.1 - checksum: 310af9dc256a14e3695f917912046afcab1fe716d6243616702bc2ebcbc7d164e3c2c04a5ff267e3930ef451e4cd8905651b656988bceb96a7034bf144eb8e67 + checksum: 9cbbd9b8a30a14bf0b92f216b59f04bf9fe9de4915c12d360e9da15e1be91b7a3a2c831b35399ecd35a2e85775861492e5ed9ea2d7f323083f7197e350f258b6 languageName: node linkType: hard @@ -7309,10 +7753,10 @@ __metadata: languageName: node linkType: hard -"json-schema@npm:0.4.0": - version: 0.4.0 - resolution: "json-schema@npm:0.4.0" - checksum: 66389434c3469e698da0df2e7ac5a3281bcff75e797a5c127db7c5b56270e01ae13d9afa3c03344f76e32e81678337a8c912bdbb75101c62e487dc3778461d72 +"json-schema@npm:0.2.3": + version: 0.2.3 + resolution: "json-schema@npm:0.2.3" + checksum: bbc2070988fb5f2a2266a31b956f1b5660e03ea7eaa95b33402901274f625feb586ae0c485e1df854fde40a7f0dc679f3b3ca8e5b8d31f8ea07a0d834de785c7 languageName: node linkType: hard @@ -7339,12 +7783,14 @@ __metadata: languageName: node linkType: hard -"json5@npm:2.x, json5@npm:^2.2.1": - version: 2.2.1 - resolution: "json5@npm:2.2.1" +"json5@npm:2.x, json5@npm:^2.1.0": + version: 2.1.0 + resolution: "json5@npm:2.1.0" + dependencies: + minimist: ^1.2.0 bin: json5: lib/cli.js - checksum: 74b8a23b102a6f2bf2d224797ae553a75488b5adbaee9c9b6e5ab8b510a2fc6e38f876d4c77dea672d4014a44b2399e15f2051ac2b37b87f74c0c7602003543b + checksum: ecd42a1d79ac40ae5b236a3a4a14959b4372f9c5915810029c56865904c8cf6e8ae671ff0083a3c381057e35de79635ba719fc1683e0fb350f42baa88a3c64ba languageName: node linkType: hard @@ -7360,9 +7806,9 @@ __metadata: linkType: hard "jsonc-parser@npm:^3.0.0": - version: 3.2.0 - resolution: "jsonc-parser@npm:3.2.0" - checksum: 946dd9a5f326b745aa326d48a7257e3f4a4b62c5e98ec8e49fa2bdd8d96cef7e6febf1399f5c7016114fd1f68a1c62c6138826d5d90bc650448e3cf0951c53c7 + version: 3.0.0 + resolution: "jsonc-parser@npm:3.0.0" + checksum: 1df2326f1f9688de30c70ff19c5b2a83ba3b89a1036160da79821d1361090775e9db502dc57a67c11b56e1186fc1ed70b887f25c5febf9a3ec4f91435836c99d languageName: node linkType: hard @@ -7374,44 +7820,66 @@ __metadata: linkType: hard "jsonschema@npm:^1.2.4": - version: 1.4.1 - resolution: "jsonschema@npm:1.4.1" - checksum: 1ef02a6cd9bc32241ec86bbf1300bdbc3b5f2d8df6eb795517cf7d1cd9909e7beba1e54fdf73990fd66be98a182bda9add9607296b0cb00b1348212988e424b2 + version: 1.2.4 + resolution: "jsonschema@npm:1.2.4" + checksum: fbdae335d3d2fa3c8b2630b1a3a4d547f89d651f772e0f6045c6ab06354899cc01e1f10f0c94ea6a40bdac7f391552fa9fa7a61f40da8567c2e8153c29f509cd languageName: node linkType: hard "jsprim@npm:^1.2.2": - version: 1.4.2 - resolution: "jsprim@npm:1.4.2" + version: 1.4.1 + resolution: "jsprim@npm:1.4.1" dependencies: assert-plus: 1.0.0 extsprintf: 1.3.0 - json-schema: 0.4.0 + json-schema: 0.2.3 verror: 1.10.0 - checksum: 2ad1b9fdcccae8b3d580fa6ced25de930eaa1ad154db21bbf8478a4d30bbbec7925b5f5ff29b933fba9412b16a17bd484a8da4fdb3663b5e27af95dd693bab2a + checksum: 6bcb20ec265ae18bb48e540a6da2c65f9c844f7522712d6dfcb01039527a49414816f4869000493363f1e1ea96cbad00e46188d5ecc78257a19f152467587373 languageName: node linkType: hard "just-extend@npm:^4.0.2": - version: 4.2.1 - resolution: "just-extend@npm:4.2.1" - checksum: ff9fdede240fad313efeeeb68a660b942e5586d99c0058064c78884894a2690dc09bba44c994ad4e077e45d913fef01a9240c14a72c657b53687ac58de53b39c + version: 4.0.2 + resolution: "just-extend@npm:4.0.2" + checksum: 03916980fc6855a0a9bcba164246c46984fcfb85b56f13405a4f244dd9369fddebcd700f33e2636d99780a704a6cec2b5333229eb03c5cbfa897340ecda4c616 + languageName: node + linkType: hard + +"keccak@npm:^1.0.2": + version: 1.4.0 + resolution: "keccak@npm:1.4.0" + dependencies: + bindings: ^1.2.1 + inherits: ^2.0.3 + nan: ^2.2.1 + node-gyp: latest + safe-buffer: ^5.1.0 + checksum: 236ba4183d64e1118566c4f123d812cc8fa5fb0fa477b6743bc398aced42595816f46a322bf0240a6a7589eff932aa1540066a30db2367e4049436d9fa30f537 languageName: node linkType: hard "keccak@npm:^3.0.0": - version: 3.0.2 - resolution: "keccak@npm:3.0.2" + version: 3.0.1 + resolution: "keccak@npm:3.0.1" dependencies: node-addon-api: ^2.0.0 node-gyp: latest node-gyp-build: ^4.2.0 - readable-stream: ^3.6.0 - checksum: 39a7d6128b8ee4cb7dcd186fc7e20c6087cc39f573a0f81b147c323f688f1f7c2b34f62c4ae189fe9b81c6730b2d1228d8a399cdc1f3d8a4c8f030cdc4f20272 + checksum: 1de1b62fbb3e035ee186232b11f154bd5c2c12a2d910bc8ec313dab412b6f39ddc51d3a105618dd8de752875da0ead21abb0eb1d4e7d7b17771a4acbb7159390 languageName: node linkType: hard -"kind-of@npm:^3.0.2, kind-of@npm:^3.0.3, kind-of@npm:^3.2.0": +"keccakjs@npm:^0.2.0": + version: 0.2.3 + resolution: "keccakjs@npm:0.2.3" + dependencies: + browserify-sha3: ^0.0.4 + sha3: ^1.2.2 + checksum: 0dddf11a18596b23d05a18f7d2949f25feec2d9d2d0dbad18d07b4d5fd43a6ee160ce6b227238f79ce1460dab4fdf8a7db74d8bfe7cbcfe47aca17f01d075aee + languageName: node + linkType: hard + +"kind-of@npm:^3.0.2, kind-of@npm:^3.0.3, kind-of@npm:^3.2.0": version: 3.2.2 resolution: "kind-of@npm:3.2.2" dependencies: @@ -7457,16 +7925,7 @@ __metadata: languageName: node linkType: hard -"level-errors@npm:^1.0.3": - version: 1.1.2 - resolution: "level-errors@npm:1.1.2" - dependencies: - errno: ~0.1.1 - checksum: 18c22fd574ff31567642a85d9a306604a32cbe969b8469fee29620c10488214a6b5e6bbf19e3b5e2042859e4b81041af537319c18132a1aaa56d4ed5981157b7 - languageName: node - linkType: hard - -"level-errors@npm:~1.0.3": +"level-errors@npm:^1.0.3, level-errors@npm:~1.0.3": version: 1.0.5 resolution: "level-errors@npm:1.0.5" dependencies: @@ -7540,9 +7999,31 @@ __metadata: linkType: hard "lines-and-columns@npm:^1.1.6": - version: 1.2.4 - resolution: "lines-and-columns@npm:1.2.4" - checksum: 0c37f9f7fa212b38912b7145e1cd16a5f3cd34d782441c3e6ca653485d326f58b3caccda66efce1c5812bde4961bbde3374fae4b0d11bf1226152337f3894aa5 + version: 1.1.6 + resolution: "lines-and-columns@npm:1.1.6" + checksum: 198a5436b1fa5cf703bae719c01c686b076f0ad7e1aafd95a58d626cabff302dc0414822126f2f80b58a8c3d66cda8a7b6da064f27130f87e1d3506d6dfd0d68 + languageName: node + linkType: hard + +"load-json-file@npm:^2.0.0": + version: 2.0.0 + resolution: "load-json-file@npm:2.0.0" + dependencies: + graceful-fs: ^4.1.2 + parse-json: ^2.2.0 + pify: ^2.0.0 + strip-bom: ^3.0.0 + checksum: 7f212bbf08a8c9aab087ead07aa220d1f43d83ec1c4e475a00a8d9bf3014eb29ebe901db8554627dcfb70184c274d05b7379f1e9678fe8297ae74dc495212049 + languageName: node + linkType: hard + +"locate-path@npm:^2.0.0": + version: 2.0.0 + resolution: "locate-path@npm:2.0.0" + dependencies: + p-locate: ^2.0.0 + path-exists: ^3.0.0 + checksum: 02d581edbbbb0fa292e28d96b7de36b5b62c2fa8b5a7e82638ebb33afa74284acf022d3b1e9ae10e3ffb7658fbc49163fcd5e76e7d1baaa7801c3e05a81da755 languageName: node linkType: hard @@ -7555,13 +8036,6 @@ __metadata: languageName: node linkType: hard -"lodash.debounce@npm:^4.0.8": - version: 4.0.8 - resolution: "lodash.debounce@npm:4.0.8" - checksum: a3f527d22c548f43ae31c861ada88b2637eb48ac6aa3eb56e82d44917971b8aa96fbb37aa60efea674dc4ee8c42074f90f7b1f772e9db375435f6c83a19b3bc6 - languageName: node - linkType: hard - "lodash.get@npm:^4.4.2": version: 4.4.2 resolution: "lodash.get@npm:4.4.2" @@ -7569,21 +8043,21 @@ __metadata: languageName: node linkType: hard -"lodash.merge@npm:^4.6.2": - version: 4.6.2 - resolution: "lodash.merge@npm:4.6.2" - checksum: ad580b4bdbb7ca1f7abf7e1bce63a9a0b98e370cf40194b03380a46b4ed799c9573029599caebc1b14e3f24b111aef72b96674a56cfa105e0f5ac70546cdc005 +"lodash.set@npm:^4.3.2": + version: 4.3.2 + resolution: "lodash.set@npm:4.3.2" + checksum: a9122f49eef9f2d0fc9061a33d87f8e5b8c6b23d46e8b9e9ce1529d3588d79741bd1145a3abdfa3b13082703e65af27ff18d8a07bfc22b9be32f3fc36f763f70 languageName: node linkType: hard -"lodash.truncate@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.truncate@npm:4.4.2" - checksum: b463d8a382cfb5f0e71c504dcb6f807a7bd379ff1ea216669aa42c52fc28c54e404bfbd96791aa09e6df0de2c1d7b8f1b7f4b1a61f324d38fe98bc535aeee4f5 +"lodash.sortby@npm:^4.7.0": + version: 4.7.0 + resolution: "lodash.sortby@npm:4.7.0" + checksum: db170c9396d29d11fe9a9f25668c4993e0c1331bcb941ddbd48fb76f492e732add7f2a47cfdf8e9d740fa59ac41bbfaf931d268bc72aab3ab49e9f89354d718c languageName: node linkType: hard -"lodash@npm:4.x, lodash@npm:^4.17.14, lodash@npm:^4.17.21, lodash@npm:^4.7.0": +"lodash@npm:4.x, lodash@npm:^4.17.13, lodash@npm:^4.17.14, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -7600,9 +8074,9 @@ __metadata: linkType: hard "lru-cache@npm:^7.7.1": - version: 7.14.0 - resolution: "lru-cache@npm:7.14.0" - checksum: efdd329f2c1bb790b71d497c6c59272e6bc2d7dd060ba55fc136becd3dd31fc8346edb446275504d94cb60d3c8385dbf5267b79b23789e409b2bdf302d13f0d7 + version: 7.10.1 + resolution: "lru-cache@npm:7.10.1" + checksum: e8b190d71ed0fcd7b29c71a3e9b01f851c92d1ef8865ff06b5581ca991db1e5e006920ed4da8b56da1910664ed51abfd76c46fb55e82ac252ff6c970ff910d72 languageName: node linkType: hard @@ -7621,24 +8095,24 @@ __metadata: linkType: hard "make-dir@npm:^3.0.0": - version: 3.1.0 - resolution: "make-dir@npm:3.1.0" + version: 3.0.2 + resolution: "make-dir@npm:3.0.2" dependencies: semver: ^6.0.0 - checksum: 484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78 + checksum: b7ba1b53455c54fb867589e08e1303faceec23bec1303ccc77eba5c8350aa02fe30a1a13e009cc712f55efa7b2101262f9373c1c887af4de3025e23977cbdd34 languageName: node linkType: hard "make-error@npm:1.x": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 + version: 1.3.5 + resolution: "make-error@npm:1.3.5" + checksum: bb9578cb5f36df27509b2a269fc5fda483130096e2989fff8788c2608ed01be780d1e85ba3653e27c0863a114c560410b410be89e19271cb5ff987c37a17c1fd languageName: node linkType: hard "make-fetch-happen@npm:^10.0.3": - version: 10.2.1 - resolution: "make-fetch-happen@npm:10.2.1" + version: 10.1.7 + resolution: "make-fetch-happen@npm:10.1.7" dependencies: agentkeepalive: ^4.2.1 cacache: ^16.1.0 @@ -7656,16 +8130,16 @@ __metadata: promise-retry: ^2.0.1 socks-proxy-agent: ^7.0.0 ssri: ^9.0.0 - checksum: 2332eb9a8ec96f1ffeeea56ccefabcb4193693597b132cd110734d50f2928842e22b84cfa1508e921b8385cdfd06dda9ad68645fed62b50fff629a580f5fb72c + checksum: 2b7301256e18a2f825c1c3cad14e11492428531ecdea04d846dc12c2d69658d65832746ce965e67c7f98b0d0506115674cf43676c3322709278620bfc886cf4a languageName: node linkType: hard -"makeerror@npm:1.0.12": - version: 1.0.12 - resolution: "makeerror@npm:1.0.12" +"makeerror@npm:1.0.x": + version: 1.0.11 + resolution: "makeerror@npm:1.0.11" dependencies: - tmpl: 1.0.5 - checksum: b38a025a12c8146d6eeea5a7f2bf27d51d8ad6064da8ca9405fcf7bf9b54acd43e3b30ddd7abb9b1bfa4ddb266019133313482570ddb207de568f71ecfcf6060 + tmpl: 1.0.x + checksum: 9a62ec2d9648c5329fdc4bc7d779a7305f32b1e55422a4f14244bc890bb43287fe013eb8d965e92a0cf4c443f3e59265b1fc3125eaedb0c2361e28b1a8de565d languageName: node linkType: hard @@ -7685,12 +8159,12 @@ __metadata: languageName: node linkType: hard -"marked@npm:^4.0.16": - version: 4.1.0 - resolution: "marked@npm:4.1.0" +"marked@npm:^4.0.12": + version: 4.0.14 + resolution: "marked@npm:4.0.14" bin: marked: bin/marked.js - checksum: f0b3732a9d6208c933541342e60eb78029bd046c143a6ade0e76ed80b6174f92b186205a9dfe805e435070806ec475b0e87e62d04348eafd2f761c24281b192a + checksum: 778bc2fc94c51ae4fbafe5a08bc1f3917799c4dd39e9fccd972a97df4e5bc5aa78664b7143d12d4b4969608fb90c6a2de3f19811a2f9ccf6b7f207022f2842ba languageName: node linkType: hard @@ -7770,29 +8244,39 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4": - version: 4.0.5 - resolution: "micromatch@npm:4.0.5" +"micromatch@npm:^4.0.2": + version: 4.0.2 + resolution: "micromatch@npm:4.0.2" + dependencies: + braces: ^3.0.1 + picomatch: ^2.0.5 + checksum: 39590a96d9ffad21f0afac044d0a5af4f33715a16fdd82c53a01c8f5ff6f70832a31b53e52972dac3deff8bf9f0bed0207d1c34e54ab3306a5e4c4efd5f7d249 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4": + version: 4.0.4 + resolution: "micromatch@npm:4.0.4" dependencies: - braces: ^3.0.2 - picomatch: ^2.3.1 - checksum: 02a17b671c06e8fefeeb6ef996119c1e597c942e632a21ef589154f23898c9c6a9858526246abb14f8bca6e77734aa9dcf65476fca47cedfb80d9577d52843fc + braces: ^3.0.1 + picomatch: ^2.2.3 + checksum: ef3d1c88e79e0a68b0e94a03137676f3324ac18a908c245a9e5936f838079fcc108ac7170a5fadc265a9c2596963462e402841406bda1a4bb7b68805601d631c languageName: node linkType: hard -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 0d99a03585f8b39d68182803b12ac601d9c01abfa28ec56204fa330bc9f3d1c5e14beb049bafadb3dbdf646dfb94b87e24d4ec7b31b7279ef906a8ea9b6a513f +"mime-db@npm:1.40.0": + version: 1.40.0 + resolution: "mime-db@npm:1.40.0" + checksum: df6220a51cff688e9bb58f51afc3eda43e39bd1fdb975bc3e013c26676f9e799e3041f93a17c7c651f65fd066616e5947b4b51f0da03591edebaf8821aa00602 languageName: node linkType: hard "mime-types@npm:^2.1.12, mime-types@npm:~2.1.19": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" + version: 2.1.24 + resolution: "mime-types@npm:2.1.24" dependencies: - mime-db: 1.52.0 - checksum: 89a5b7f1def9f3af5dad6496c5ed50191ae4331cc5389d7c521c8ad28d5fdad2d06fd81baf38fed813dc4e46bb55c8145bb0ff406330818c9cf712fb2e9b3836 + mime-db: 1.40.0 + checksum: e54c1e160889270044f78574f72db5f158cd69179a023b6a6dfd8254c675ec6ca2f9670391428eaf74b73735d76d5680d9e5abac0d8e259138072fd9f25e13f5 languageName: node linkType: hard @@ -7826,25 +8310,25 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" +"minimatch@npm:^3.0.4": + version: 3.0.4 + resolution: "minimatch@npm:3.0.4" dependencies: brace-expansion: ^1.1.7 - checksum: c154e566406683e7bcb746e000b84d74465b3a832c45d59912b9b55cd50dee66e5c4b1e5566dba26154040e51672f9aa450a9aef0c97cfc7336b78b7afb9540a + checksum: 66ac295f8a7b59788000ea3749938b0970344c841750abd96694f80269b926ebcafad3deeb3f1da2522978b119e6ae3a5869b63b13a7859a456b3408bd18a078 languageName: node linkType: hard -"minimatch@npm:^5.0.1, minimatch@npm:^5.1.0": - version: 5.1.0 - resolution: "minimatch@npm:5.1.0" +"minimatch@npm:^5.0.1": + version: 5.0.1 + resolution: "minimatch@npm:5.0.1" dependencies: brace-expansion: ^2.0.1 - checksum: 15ce53d31a06361e8b7a629501b5c75491bc2b59712d53e802b1987121d91b433d73fcc5be92974fde66b2b51d8fb28d75a9ae900d249feb792bb1ba2a4f0a90 + checksum: b34b98463da4754bc526b244d680c69d4d6089451ebe512edaf6dd9eeed0279399cfa3edb19233513b8f830bf4bfcad911dddcdf125e75074100d52f724774f0 languageName: node linkType: hard -"minimist@npm:^1.1.1, minimist@npm:^1.2.0, minimist@npm:^1.2.6": +"minimist@npm:^1.1.1, minimist@npm:^1.2.0": version: 1.2.6 resolution: "minimist@npm:1.2.6" checksum: d15428cd1e11eb14e1233bcfb88ae07ed7a147de251441d61158619dfb32c4d7e9061d09cab4825fdee18ecd6fce323228c8c47b5ba7cd20af378ca4048fb3fb @@ -7861,8 +8345,8 @@ __metadata: linkType: hard "minipass-fetch@npm:^2.0.3": - version: 2.1.2 - resolution: "minipass-fetch@npm:2.1.2" + version: 2.1.0 + resolution: "minipass-fetch@npm:2.1.0" dependencies: encoding: ^0.1.13 minipass: ^3.1.6 @@ -7871,7 +8355,7 @@ __metadata: dependenciesMeta: encoding: optional: true - checksum: 3f216be79164e915fc91210cea1850e488793c740534985da017a4cbc7a5ff50506956d0f73bb0cb60e4fe91be08b6b61ef35101706d3ef5da2c8709b5f08f91 + checksum: 1334732859a3f7959ed22589bafd9c40384b885aebb5932328071c33f86b3eb181d54c86919675d1825ab5f1c8e4f328878c863873258d113c29d79a4b0c9c9f languageName: node linkType: hard @@ -7902,12 +8386,21 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": - version: 3.3.5 - resolution: "minipass@npm:3.3.5" +"minipass@npm:^3.0.0": + version: 3.1.3 + resolution: "minipass@npm:3.1.3" dependencies: yallist: ^4.0.0 - checksum: f89f02bcaa0e0e4bb4c44ec796008e69fbca62db0aba6ead1bc57d25bdaefdf42102130f4f9ecb7d9c6b6cd35ff7b0c7b97d001d3435da8e629fb68af3aea57e + checksum: 74b623c1f996caafa66772301b66a1b634b20270f0d1a731ef86195d5a1a5f9984a773a1e88a6cecfd264d6c471c4c0fc8574cd96488f01c8f74c0b600021e55 + languageName: node + linkType: hard + +"minipass@npm:^3.1.1, minipass@npm:^3.1.6": + version: 3.1.6 + resolution: "minipass@npm:3.1.6" + dependencies: + yallist: ^4.0.0 + checksum: 57a04041413a3531a65062452cb5175f93383ef245d6f4a2961d34386eb9aa8ac11ac7f16f791f5e8bbaf1dfb1ef01596870c88e8822215db57aa591a5bb0a77 languageName: node linkType: hard @@ -7947,14 +8440,14 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.2": +"ms@npm:2.1.2, ms@npm:^2.1.1": version: 2.1.2 resolution: "ms@npm:2.1.2" checksum: 673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f languageName: node linkType: hard -"ms@npm:^2.0.0, ms@npm:^2.1.1": +"ms@npm:^2.0.0": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d @@ -7962,18 +8455,36 @@ __metadata: linkType: hard "multiformats@npm:^9.5.2": - version: 9.9.0 - resolution: "multiformats@npm:9.9.0" - checksum: d3e8c1be400c09a014f557ea02251a2710dbc9fca5aa32cc702ff29f636c5471e17979f30bdcb0a9cbb556f162a8591dc2e1219c24fc21394a56115b820bb84e + version: 9.5.2 + resolution: "multiformats@npm:9.5.2" + checksum: fadaad7803b67a39669a3cef4fb8a88ec60f049c8cb1a2c77d243ec4274b364bfa89c49d6b727a66ea6724d404774bef69f3cde48ae41a57dd46fe8350c897e0 + languageName: node + linkType: hard + +"nan@npm:2.13.2": + version: 2.13.2 + resolution: "nan@npm:2.13.2" + dependencies: + node-gyp: latest + checksum: cfe7225ce0480d07c7c01387e510a941775b8ed13d401fad6bdc04ed1ca57140869b8a63608ada016ae5b1fd0529cf887b8408c9316bd57211c912a4a8e5f3f7 + languageName: node + linkType: hard + +"nan@npm:^2.14.0, nan@npm:^2.2.1": + version: 2.14.0 + resolution: "nan@npm:2.14.0" + dependencies: + node-gyp: latest + checksum: 6dfd00d9bf71769898dfab21ef9d2ef278b392c586147616a718b995d6a582f5caa7f2ca0f83ce956fb0def698aca813b2b6fd4598125cd16bdc85924c34a37d languageName: node linkType: hard "nanoid@npm:^3.1.31": - version: 3.3.4 - resolution: "nanoid@npm:3.3.4" + version: 3.1.31 + resolution: "nanoid@npm:3.1.31" bin: nanoid: bin/nanoid.cjs - checksum: 2fddd6dee994b7676f008d3ffa4ab16035a754f4bb586c61df5a22cf8c8c94017aadd360368f47d653829e0569a92b129979152ff97af23a558331e47e37cd9c + checksum: 3e9fddc1619cc8f787f37fa3d26c072049b7105af4d5365dae32adce13250e29dfab2d2b061f3798b2dd3cc0dee663917a63032979df56ef64c15c287748ab99 languageName: node linkType: hard @@ -8018,27 +8529,27 @@ __metadata: linkType: hard "nise@npm:^4.0.4": - version: 4.1.0 - resolution: "nise@npm:4.1.0" + version: 4.0.4 + resolution: "nise@npm:4.0.4" dependencies: "@sinonjs/commons": ^1.7.0 "@sinonjs/fake-timers": ^6.0.0 "@sinonjs/text-encoding": ^0.7.1 just-extend: ^4.0.2 path-to-regexp: ^1.7.0 - checksum: b2ea1c96a41c392adf746509904af565ebd667ad4e40267f6d73be3648f04267945624ba0ce6a991b779f3ae246181f71975152b93b4dafee1f62886fa897c32 + checksum: b03b5608d73ba9401d92f773e5f3a4d361cdb281ee9b0a9c9cb88c9f5aa8323c8876977e879db650c78503033dabbb850f46beef79b356c212c33be7410a967c languageName: node linkType: hard "nock@npm:^13.0.7": - version: 13.2.9 - resolution: "nock@npm:13.2.9" + version: 13.0.7 + resolution: "nock@npm:13.0.7" dependencies: debug: ^4.1.0 json-stringify-safe: ^5.0.1 - lodash: ^4.17.21 + lodash.set: ^4.3.2 propagate: ^2.0.0 - checksum: 04a2dc60b4b55fd1240f28fe34865bbc744088a4570db3781fcf66021644cc3cc9178fd86a0cb0c1f28ea77b83e8f1c9288535f6b39a6d07100059f156ccc23b + checksum: 022f388ab360321a04b5f661dc273001cbdda39d3f87623efaf3672f0e36bd2c771b4a24125717668bda082bbd8ad704ee2d86c26a9260d0facebb378436cc4c languageName: node linkType: hard @@ -8051,7 +8562,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1": +"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" dependencies: @@ -8066,13 +8577,13 @@ __metadata: linkType: hard "node-gyp-build@npm:^4.2.0": - version: 4.5.0 - resolution: "node-gyp-build@npm:4.5.0" + version: 4.2.3 + resolution: "node-gyp-build@npm:4.2.3" bin: node-gyp-build: bin.js node-gyp-build-optional: optional.js node-gyp-build-test: build-test.js - checksum: d888bae0fb88335f69af1b57a2294a931c5042f36e413d8d364c992c9ebfa0b96ffe773179a5a2c8f04b73856e8634e09cce108dbb9804396d3cc8c5455ff2db + checksum: 450d7b2016290d269343f8a33d13f4d7ccd0a38057af0d71a4d714fe06e6051da50b677a411ea9e240706253c4b53eb41e1b050df72d75d796b2e4d91b2757ae languageName: node linkType: hard @@ -8097,8 +8608,8 @@ __metadata: linkType: hard "node-gyp@npm:latest": - version: 9.1.0 - resolution: "node-gyp@npm:9.1.0" + version: 9.0.0 + resolution: "node-gyp@npm:9.0.0" dependencies: env-paths: ^2.2.0 glob: ^7.1.4 @@ -8112,7 +8623,7 @@ __metadata: which: ^2.0.2 bin: node-gyp: bin/node-gyp.js - checksum: 1437fa4a879b5b9010604128e8da8609b57c66034262087539ee04a8b764b8436af2be01bab66f8fc729a3adba2dcc21b10a32b9f552696c3fa8cd657d134fc4 + checksum: 4d8ef8860f7e4f4d86c91db3f519d26ed5cc23b48fe54543e2afd86162b4acbd14f21de42a5db344525efb69a991e021b96a68c70c6e2d5f4a5cb770793da6d3 languageName: node linkType: hard @@ -8123,9 +8634,16 @@ __metadata: languageName: node linkType: hard +"node-modules-regexp@npm:^1.0.0": + version: 1.0.0 + resolution: "node-modules-regexp@npm:1.0.0" + checksum: 99541903536c5ce552786f0fca7f06b88df595e62e423c21fa86a1674ee2363dad1f7482d1bec20b4bd9fa5f262f88e6e5cb788fc56411113f2fe2e97783a3a7 + languageName: node + linkType: hard + "node-notifier@npm:^8.0.0": - version: 8.0.2 - resolution: "node-notifier@npm:8.0.2" + version: 8.0.1 + resolution: "node-notifier@npm:8.0.1" dependencies: growly: ^1.3.0 is-wsl: ^2.2.0 @@ -8133,14 +8651,7 @@ __metadata: shellwords: ^0.1.1 uuid: ^8.3.0 which: ^2.0.2 - checksum: 7db1683003f6aaa4324959dfa663cd56e301ccc0165977a9e7737989ffe3b4763297f9fc85f44d0662b63a4fd85516eda43411b492a4d2fae207afb23773f912 - languageName: node - linkType: hard - -"node-releases@npm:^2.0.6": - version: 2.0.6 - resolution: "node-releases@npm:2.0.6" - checksum: e86a926dc9fbb3b41b4c4a89d998afdf140e20a4e8dbe6c0a807f7b2948b42ea97d7fd3ad4868041487b6e9ee98409829c6e4d84a734a4215dff060a7fbeb4bf + checksum: b84f24060f9f968c6141fcd16d22125caa42eb048fa5867f63e3411384a0bbc22b82d1a64e242ee9a557aaf6a0542a562713c4467f648dbcffea15d6da08f750 languageName: node linkType: hard @@ -8155,7 +8666,7 @@ __metadata: languageName: node linkType: hard -"normalize-package-data@npm:^2.5.0": +"normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0": version: 2.5.0 resolution: "normalize-package-data@npm:2.5.0" dependencies: @@ -8250,9 +8761,9 @@ __metadata: linkType: hard "nwsapi@npm:^2.2.0": - version: 2.2.2 - resolution: "nwsapi@npm:2.2.2" - checksum: 43769106292bc95f776756ca2f3513dab7b4d506a97c67baec32406447841a35f65f29c1f95ab5d42785210fd41668beed33ca16fa058780be43b101ad73e205 + version: 2.2.0 + resolution: "nwsapi@npm:2.2.0" + checksum: 5ef4a9bc0c1a5b7f2e014aa6a4b359a257503b796618ed1ef0eb852098f77e772305bb0e92856e4bbfa3e6c75da48c0113505c76f144555ff38867229c2400a7 languageName: node linkType: hard @@ -8281,10 +8792,17 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.12.2, object-inspect@npm:^1.9.0": - version: 1.12.2 - resolution: "object-inspect@npm:1.12.2" - checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 +"object-inspect@npm:^1.11.0, object-inspect@npm:^1.9.0": + version: 1.12.0 + resolution: "object-inspect@npm:1.12.0" + checksum: 2b36d4001a9c921c6b342e2965734519c9c58c355822243c3207fbf0aac271f8d44d30d2d570d450b2cc6f0f00b72bcdba515c37827d2560e5f22b1899a31cf4 + languageName: node + linkType: hard + +"object-inspect@npm:^1.7.0": + version: 1.8.0 + resolution: "object-inspect@npm:1.8.0" + checksum: 1bb4ed43972ad29537bee9b2b3f543d7e6463ee3b929048ecddcb50f7796c418c679ba2104f2e37cd7fa486782b6278b9d1c9cccb4bbc7ca17cd529f3ae4dc1f languageName: node linkType: hard @@ -8298,7 +8816,7 @@ __metadata: languageName: node linkType: hard -"object-keys@npm:^1.1.1": +"object-keys@npm:^1.0.11, object-keys@npm:^1.0.12, object-keys@npm:^1.1.1": version: 1.1.1 resolution: "object-keys@npm:1.1.1" checksum: b363c5e7644b1e1b04aa507e88dcb8e3a2f52b6ffd0ea801e4c7a62d5aa559affe21c55a07fd4b1fd55fc03a33c610d73426664b20032405d7b92a1414c34d6a @@ -8321,15 +8839,27 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.4": - version: 4.1.4 - resolution: "object.assign@npm:4.1.4" +"object.assign@npm:^4.1.0": + version: 4.1.0 + resolution: "object.assign@npm:4.1.0" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - has-symbols: ^1.0.3 + define-properties: ^1.1.2 + function-bind: ^1.1.1 + has-symbols: ^1.0.0 + object-keys: ^1.0.11 + checksum: 648a9a463580bf48332d9a49a76fede2660ab1ee7104d9459b8a240562246da790b4151c3c073f28fda31c1fdc555d25a1d871e72be403e997e4468c91f4801f + languageName: node + linkType: hard + +"object.assign@npm:^4.1.2": + version: 4.1.2 + resolution: "object.assign@npm:4.1.2" + dependencies: + call-bind: ^1.0.0 + define-properties: ^1.1.3 + has-symbols: ^1.0.1 object-keys: ^1.1.1 - checksum: 76cab513a5999acbfe0ff355f15a6a125e71805fcf53de4e9d4e082e1989bdb81d1e329291e1e4e0ae7719f0e4ef80e88fb2d367ae60500d79d25a6224ac8864 + checksum: d621d832ed7b16ac74027adb87196804a500d80d9aca536fccb7ba48d33a7e9306a75f94c1d29cbfa324bc091bfc530bc24789568efdaee6a47fcfa298993814 languageName: node linkType: hard @@ -8342,14 +8872,15 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.5": - version: 1.1.5 - resolution: "object.values@npm:1.1.5" +"object.values@npm:^1.1.1": + version: 1.1.1 + resolution: "object.values@npm:1.1.1" dependencies: - call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.19.1 - checksum: 0f17e99741ebfbd0fa55ce942f6184743d3070c61bd39221afc929c8422c4907618c8da694c6915bc04a83ab3224260c779ba37fc07bb668bdc5f33b66a902a4 + es-abstract: ^1.17.0-next.1 + function-bind: ^1.1.1 + has: ^1.0.3 + checksum: f1217c09fa3338698bf748514f9d5cd279744fd34e6593920faf2ad0c8eb339b3b783b6ac0b02d9285d6ead53bcf7b1ac0a5aee4717b7e38c451336796ecb8af languageName: node linkType: hard @@ -8374,7 +8905,16 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^5.1.0, onetime@npm:^5.1.2": +"onetime@npm:^5.1.0": + version: 5.1.0 + resolution: "onetime@npm:5.1.0" + dependencies: + mimic-fn: ^2.1.0 + checksum: 426c13de5015249d2e38855e9900276ad34d9d2738f780ed4bf8d1334deab4ca7a45628e36ce8a6c5f679b0508c65bb0907dbbd6f67a6e23bd1187e501834f71 + languageName: node + linkType: hard + +"onetime@npm:^5.1.2": version: 5.1.2 resolution: "onetime@npm:5.1.2" dependencies: @@ -8384,16 +8924,16 @@ __metadata: linkType: hard "optionator@npm:^0.8.1": - version: 0.8.3 - resolution: "optionator@npm:0.8.3" + version: 0.8.2 + resolution: "optionator@npm:0.8.2" dependencies: deep-is: ~0.1.3 - fast-levenshtein: ~2.0.6 + fast-levenshtein: ~2.0.4 levn: ~0.3.0 prelude-ls: ~1.1.2 type-check: ~0.3.2 - word-wrap: ~1.2.3 - checksum: b8695ddf3d593203e25ab0900e265d860038486c943ff8b774f596a310f8ceebdb30c6832407a8198ba3ec9debe1abe1f51d4aad94843612db3b76d690c61d34 + wordwrap: ~1.0.0 + checksum: c1768ca45afc2a29dc2207c53b1e238d0b6ec701e1fab1d25c4f3319e5d26b0e79fe0cc294390a60958fc9e5b1c1a65e5ef88e6a6e8efcfb6b50cd25e406f7eb languageName: node linkType: hard @@ -8412,9 +8952,9 @@ __metadata: linkType: hard "p-each-series@npm:^2.1.0": - version: 2.2.0 - resolution: "p-each-series@npm:2.2.0" - checksum: 5fbe2f1f1966f55833bd401fe36f7afe410707d5e9fb6032c6dde8aa716d50521c3bb201fdb584130569b5941d5e84993e09e0b3f76a474288e0ede8f632983c + version: 2.1.0 + resolution: "p-each-series@npm:2.1.0" + checksum: 072f3ac2639ed3df341d1ce4421949be70a27547a45fbd2ee13328a3977e3190120f35a685a350cf491e5632afdc2f0a2cd7af7f81c3318095481434e8464b01 languageName: node linkType: hard @@ -8425,12 +8965,30 @@ __metadata: languageName: node linkType: hard +"p-limit@npm:^1.1.0": + version: 1.3.0 + resolution: "p-limit@npm:1.3.0" + dependencies: + p-try: ^1.0.0 + checksum: 281c1c0b8c82e1ac9f81acd72a2e35d402bf572e09721ce5520164e9de07d8274451378a3470707179ad13240535558f4b277f02405ad752e08c7d5b0d54fbfd + languageName: node + linkType: hard + "p-limit@npm:^2.2.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" + version: 2.2.2 + resolution: "p-limit@npm:2.2.2" dependencies: p-try: ^2.0.0 - checksum: 84ff17f1a38126c3314e91ecfe56aecbf36430940e2873dadaa773ffe072dc23b7af8e46d4b6485d302a11673fe94c6b67ca2cfbb60c989848b02100d0594ac1 + checksum: 20c395084f4bbcb6330c21ed5408a482c7e03bb68fbf9d4667fb0f49de944a7474f788b214ca087090868dfce3f3fff4a4830b0951c8a979469786635b172fb2 + languageName: node + linkType: hard + +"p-locate@npm:^2.0.0": + version: 2.0.0 + resolution: "p-locate@npm:2.0.0" + dependencies: + p-limit: ^1.1.0 + checksum: e2dceb9b49b96d5513d90f715780f6f4972f46987dc32a0e18bc6c3fc74a1a5d73ec5f81b1398af5e58b99ea1ad03fd41e9181c01fa81b4af2833958696e3081 languageName: node linkType: hard @@ -8452,6 +9010,13 @@ __metadata: languageName: node linkType: hard +"p-try@npm:^1.0.0": + version: 1.0.0 + resolution: "p-try@npm:1.0.0" + checksum: 3b5303f77eb7722144154288bfd96f799f8ff3e2b2b39330efe38db5dd359e4fb27012464cd85cb0a76e9b7edd1b443568cb3192c22e7cffc34989df0bafd605 + languageName: node + linkType: hard + "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -8469,28 +9034,40 @@ __metadata: linkType: hard "parse-headers@npm:^2.0.0": - version: 2.0.5 - resolution: "parse-headers@npm:2.0.5" - checksum: 3e97f01e4c7f960bfbfd0ee489f0bd8d3c72b6c814f1f79b66abec2cca8eaf8e4ecd89deba0b6e61266469aed87350bc932001181c01ff8c29a59e696abe251f + version: 2.0.2 + resolution: "parse-headers@npm:2.0.2" + dependencies: + for-each: ^0.3.3 + string.prototype.trim: ^1.1.2 + checksum: a7049835c55afbf9559b9320445e53c069e17d449572f1743df5b3ee796dea38baf614635481a5dc3b9bff9909da768bbfb0038d254830a6cdc9668eaecbdf11 + languageName: node + linkType: hard + +"parse-json@npm:^2.2.0": + version: 2.2.0 + resolution: "parse-json@npm:2.2.0" + dependencies: + error-ex: ^1.2.0 + checksum: dda78a63e57a47b713a038630868538f718a7ca0cd172a36887b0392ccf544ed0374902eb28f8bf3409e8b71d62b79d17062f8543afccf2745f9b0b2d2bb80ca languageName: node linkType: hard "parse-json@npm:^5.0.0": - version: 5.2.0 - resolution: "parse-json@npm:5.2.0" + version: 5.1.0 + resolution: "parse-json@npm:5.1.0" 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 - checksum: 62085b17d64da57f40f6afc2ac1f4d95def18c4323577e1eced571db75d9ab59b297d1d10582920f84b15985cbfc6b6d450ccbf317644cfa176f3ed982ad87e2 + checksum: 0c0c299347e74b9f5720644abc5a07667e66143114e28b63967468611aad5a4c2216fc990c674f83398cd0c2a176cfd7098f79e279079fcc487dfd5f9b475517 languageName: node linkType: hard -"parse5@npm:6.0.1": - version: 6.0.1 - resolution: "parse5@npm:6.0.1" - checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd +"parse5@npm:5.1.1": + version: 5.1.1 + resolution: "parse5@npm:5.1.1" + checksum: 613a714af4c1101d1cb9f7cece2558e35b9ae8a0c03518223a4a1e35494624d9a9ad5fad4c13eab66a0e0adccd9aa3d522fc8f5f9cc19789e0579f3fa0bdfc65 languageName: node linkType: hard @@ -8501,6 +9078,13 @@ __metadata: languageName: node linkType: hard +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 96e92643aa34b4b28d0de1cd2eba52a1c5313a90c6542d03f62750d82480e20bfa62bc865d5cfc6165f5fcd5aeb0851043c40a39be5989646f223300021bae0a + languageName: node + linkType: hard + "path-exists@npm:^4.0.0": version: 4.0.0 resolution: "path-exists@npm:4.0.0" @@ -8529,7 +9113,7 @@ __metadata: languageName: node linkType: hard -"path-parse@npm:^1.0.7": +"path-parse@npm:^1.0.6": version: 1.0.7 resolution: "path-parse@npm:1.0.7" checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a @@ -8537,11 +9121,20 @@ __metadata: linkType: hard "path-to-regexp@npm:^1.7.0": - version: 1.8.0 - resolution: "path-to-regexp@npm:1.8.0" + version: 1.7.0 + resolution: "path-to-regexp@npm:1.7.0" dependencies: isarray: 0.0.1 - checksum: 709f6f083c0552514ef4780cb2e7e4cf49b0cc89a97439f2b7cc69a608982b7690fb5d1720a7473a59806508fc2dae0be751ba49f495ecf89fd8fbc62abccbcd + checksum: bf5054aa006508b4f9fa9603f091ce90cb448f5a2714ce8b5dfefce761f107ca3a029401c28bf5824e4f38b71a605b3c24bd92e8a284c6436ab3060a497dd7ad + languageName: node + linkType: hard + +"path-type@npm:^2.0.0": + version: 2.0.0 + resolution: "path-type@npm:2.0.0" + dependencies: + pify: ^2.0.0 + checksum: 749dc0c32d4ebe409da155a0022f9be3d08e6fd276adb3dfa27cb2486519ab2aa277d1453b3fde050831e0787e07b0885a75653fefcc82d883753c5b91121b1c languageName: node linkType: hard @@ -8552,16 +9145,29 @@ __metadata: languageName: node linkType: hard -"pbkdf2@npm:^3.0.17, pbkdf2@npm:^3.0.9": - version: 3.1.2 - resolution: "pbkdf2@npm:3.1.2" +"pbkdf2@npm:^3.0.17": + version: 3.1.1 + resolution: "pbkdf2@npm:3.1.1" + dependencies: + create-hash: ^1.1.2 + create-hmac: ^1.1.4 + ripemd160: ^2.0.1 + safe-buffer: ^5.0.1 + sha.js: ^2.4.8 + checksum: c3de26b8eb363180687e31138e1a486c509d407f361ae222e0af4748d9a252326e14e8f3311182945dbc27e7f235b49fb7a578ad340302a83481585bbd3947d3 + languageName: node + linkType: hard + +"pbkdf2@npm:^3.0.9": + version: 3.0.17 + resolution: "pbkdf2@npm:3.0.17" dependencies: create-hash: ^1.1.2 create-hmac: ^1.1.4 ripemd160: ^2.0.1 safe-buffer: ^5.0.1 sha.js: ^2.4.8 - checksum: 2c950a100b1da72123449208e231afc188d980177d021d7121e96a2de7f2abbc96ead2b87d03d8fe5c318face097f203270d7e27908af9f471c165a4e8e69c92 + checksum: 9c9062b4bf300bfc03214a8665ab1c8ede227fca1d5bd8b8d0a9d317a941ff64c80b19810288a8cc0f774d603dce249d4b734e62b68dfc784be4ad1e6c0a81f5 languageName: node linkType: hard @@ -8572,17 +9178,31 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981 +"picomatch@npm:^2.0.4, picomatch@npm:^2.0.5": + version: 2.2.1 + resolution: "picomatch@npm:2.2.1" + checksum: fb9e0cc869f6eca88c80b3cd8b5a990418bc65d0fd172f169891d249224d302529ded35265d9c3e0454fde578d7e1756047ddb135cad3fade73b75151774663a languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 050c865ce81119c4822c45d3c84f1ced46f93a0126febae20737bd05ca20589c564d6e9226977df859ed5e03dc73f02584a2b0faad36e896936238238b0446cf +"picomatch@npm:^2.2.1": + version: 2.2.2 + resolution: "picomatch@npm:2.2.2" + checksum: 897a589f94665b4fd93e075fa94893936afe3f7bbef44250f0e878a8d9d001972a79589cac2856c24f6f5aa3b0abc9c8ba00c98fae4dc22bc0117188864d4181 + languageName: node + linkType: hard + +"picomatch@npm:^2.2.3": + version: 2.3.0 + resolution: "picomatch@npm:2.3.0" + checksum: 16818720ea7c5872b6af110760dee856c8e4cd79aed1c7a006d076b1cc09eff3ae41ca5019966694c33fbd2e1cc6ea617ab10e4adac6df06556168f13be3fca2 + languageName: node + linkType: hard + +"pify@npm:^2.0.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba languageName: node linkType: hard @@ -8601,9 +9221,20 @@ __metadata: linkType: hard "pirates@npm:^4.0.1": - version: 4.0.5 - resolution: "pirates@npm:4.0.5" - checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227 + version: 4.0.1 + resolution: "pirates@npm:4.0.1" + dependencies: + node-modules-regexp: ^1.0.0 + checksum: 091e232aac19f0049a681838fa9fcb4af824b5b1eb0e9325aa07b9d13245bfe3e4fa57a7766b9fdcd19cb89f2c15c688b46023be3047cb288023a0c079d3b2a3 + languageName: node + linkType: hard + +"pkg-dir@npm:^2.0.0": + version: 2.0.0 + resolution: "pkg-dir@npm:2.0.0" + dependencies: + find-up: ^2.1.0 + checksum: 8c72b712305b51e1108f0ffda5ec1525a8307e54a5855db8fb1dcf77561a5ae98e2ba3b4814c9806a679f76b2f7e5dd98bde18d07e594ddd9fdd25e9cf242ea1 languageName: node linkType: hard @@ -8654,22 +9285,34 @@ __metadata: linkType: hard "prettier-plugin-packagejson@npm:^2.2.17": - version: 2.2.18 - resolution: "prettier-plugin-packagejson@npm:2.2.18" + version: 2.2.17 + resolution: "prettier-plugin-packagejson@npm:2.2.17" dependencies: - sort-package-json: 1.57.0 + sort-package-json: 1.55.0 peerDependencies: prettier: ">= 1.16.0" - checksum: aee11632b4a75d357cad0e25e537491580e0d4bd9ee54a1ad68f3363e0e4e0204450fcd405368737ce92edfde568e5ac80108ab5e6a4e415bebc6af816fcf06b + checksum: f8a3a2c53ec1df684c21a7e1177a48d5e8f11e0a055abc281551e32b4edfcb11544c4c30004ea49ef127eb382a7d4447fff74df8519074a1fbfb543d453b67cb languageName: node linkType: hard "prettier@npm:^2.6.2": - version: 2.7.1 - resolution: "prettier@npm:2.7.1" + version: 2.6.2 + resolution: "prettier@npm:2.6.2" bin: prettier: bin-prettier.js - checksum: 55a4409182260866ab31284d929b3cb961e5fdb91fe0d2e099dac92eaecec890f36e524b4c19e6ceae839c99c6d7195817579cdffc8e2c80da0cb794463a748b + checksum: 48d08dde8e9fb1f5bccdd205baa7f192e9fc8bc98f86e1b97d919de804e28c806b0e6cc685e4a88211aa7987fa9668f30baae19580d87ced3ed0f2ec6572106f + languageName: node + linkType: hard + +"pretty-format@npm:^25.2.1, pretty-format@npm:^25.5.0": + version: 25.5.0 + resolution: "pretty-format@npm:25.5.0" + dependencies: + "@jest/types": ^25.5.0 + ansi-regex: ^5.0.0 + ansi-styles: ^4.0.0 + react-is: ^16.12.0 + checksum: 76f022d2c911d9733a961467545f5aef2cae892da289fff92ba6a6868a10df4d8ef79794ff791e353f67f0edfa85765240f1e7d552e27c94029ae6af1c95174b languageName: node linkType: hard @@ -8685,14 +9328,36 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.0.3": - version: 29.0.3 - resolution: "pretty-format@npm:29.0.3" +"pretty-format@npm:^26.4.2": + version: 26.4.2 + resolution: "pretty-format@npm:26.4.2" dependencies: - "@jest/schemas": ^29.0.0 + "@jest/types": ^26.3.0 + ansi-regex: ^5.0.0 + ansi-styles: ^4.0.0 + react-is: ^16.12.0 + checksum: 37908b0cc9e04133f3c76bdf75e15cd5e2541d49f682edfd64b838d3f24d5966bea15f5a47fbf8104472041cb5a98941653890780c596cdfac19531d904710c1 + languageName: node + linkType: hard + +"pretty-format@npm:^27.0.0, pretty-format@npm:^27.3.1": + version: 27.3.1 + resolution: "pretty-format@npm:27.3.1" + dependencies: + "@jest/types": ^27.2.5 + ansi-regex: ^5.0.1 ansi-styles: ^5.0.0 - react-is: ^18.0.0 - checksum: 239aa73b09919b195353e62530908b43883af66e3ba8ecb5fda77578b20f297fd774fcf53abbedcb6cfff72521e8a220052a49e6a0e29418082d06386da27bac + react-is: ^17.0.1 + checksum: 2979eae85a4f7ba1c3946faa8f5c6497cc80dc64ba499ccd5fdada267f82dc664f315a4c1cdd4c0b4b97edbae399a7bf0a957cc1b87feb91cd95f1e436834fed + languageName: node + linkType: hard + +"printj@npm:~1.1.0": + version: 1.1.2 + resolution: "printj@npm:1.1.2" + bin: + printj: ./bin/printj.njs + checksum: 1c0c66844545415e339356ad62009cdc467819817b1e0341aba428087a1414d46b84089edb4e77ef24705829f8aae6349724b9c7bd89d8690302b2de7a89b315 languageName: node linkType: hard @@ -8703,10 +9368,10 @@ __metadata: languageName: node linkType: hard -"process@npm:^0.11.10": - version: 0.11.10 - resolution: "process@npm:0.11.10" - checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3 +"process@npm:~0.5.1": + version: 0.5.2 + resolution: "process@npm:0.5.2" + checksum: 613505ec6d518654fc9c677881c6b8c871179dbf4bfe23f5a7a15defdb58efb1b75bfc96576adc118ba0bca1b76c359687a13f7d43950af0b7d5caa27efbe9e3 languageName: node linkType: hard @@ -8745,12 +9410,12 @@ __metadata: linkType: hard "prompts@npm:^2.0.1": - version: 2.4.2 - resolution: "prompts@npm:2.4.2" + version: 2.2.1 + resolution: "prompts@npm:2.2.1" dependencies: kleur: ^3.0.3 - sisteransi: ^1.0.5 - checksum: d8fd1fe63820be2412c13bfc5d0a01909acc1f0367e32396962e737cb2fc52d004f3302475d5ce7d18a1e8a79985f93ff04ee03007d091029c3f9104bffc007d + sisteransi: ^1.0.3 + checksum: 6aba2fc2fa21bb81feeb55129977e2461169b41ee46861792a14fac852b4541fbd4a1c0682d2fd41d05981731a0a662ff494a666aa6aa0e92df681b311d95a0a languageName: node linkType: hard @@ -8768,10 +9433,17 @@ __metadata: languageName: node linkType: hard -"psl@npm:^1.1.28, psl@npm:^1.1.33": - version: 1.9.0 - resolution: "psl@npm:1.9.0" - checksum: 20c4277f640c93d393130673f392618e9a8044c6c7bf61c53917a0fddb4952790f5f362c6c730a9c32b124813e173733f9895add8d26f566ed0ea0654b2e711d +"psl@npm:^1.1.24": + version: 1.3.0 + resolution: "psl@npm:1.3.0" + checksum: d67aad420a40e4f657cfbfe4f6d032c0cb06597698e956118ff57d180a7af1f3178700fdf620d6c3f928563575ef8cbd22fb5b2de0f17960a5f1eee1f8f2713c + languageName: node + linkType: hard + +"psl@npm:^1.1.28": + version: 1.7.0 + resolution: "psl@npm:1.7.0" + checksum: b2fcfe8500fd31845250a6714ec5e1d8ad66a95207700b5f4ba40b5c0ece15091ce7882cbcd5ac5c0022e178c5fd12a891423ebdd54c5e97cc783821945ae4a4 languageName: node linkType: hard @@ -8792,6 +9464,13 @@ __metadata: languageName: node linkType: hard +"punycode@npm:^1.4.1": + version: 1.4.1 + resolution: "punycode@npm:1.4.1" + checksum: fa6e698cb53db45e4628559e557ddaf554103d2a96a1d62892c8f4032cd3bc8871796cae9eabc1bc700e2b6677611521ce5bb1d9a27700086039965d0cf34518 + languageName: node + linkType: hard + "punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.1.1 resolution: "punycode@npm:2.1.1" @@ -8800,27 +9479,13 @@ __metadata: linkType: hard "qs@npm:~6.5.2": - version: 6.5.3 - resolution: "qs@npm:6.5.3" - checksum: 6f20bf08cabd90c458e50855559539a28d00b2f2e7dddcb66082b16a43188418cb3cb77cbd09268bcef6022935650f0534357b8af9eeb29bf0f27ccb17655692 - languageName: node - linkType: hard - -"querystringify@npm:^2.1.1": - version: 2.2.0 - resolution: "querystringify@npm:2.2.0" - checksum: 5641ea231bad7ef6d64d9998faca95611ed4b11c2591a8cae741e178a974f6a8e0ebde008475259abe1621cb15e692404e6b6626e927f7b849d5c09392604b15 - languageName: node - linkType: hard - -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: b676f8c040cdc5b12723ad2f91414d267605b26419d5c821ff03befa817ddd10e238d22b25d604920340fd73efd8ba795465a0377c4adf45a4a41e4234e42dc4 + version: 6.5.2 + resolution: "qs@npm:6.5.2" + checksum: 24af7b9928ba2141233fba2912876ff100403dba1b08b20c3b490da9ea6c636760445ea2211a079e7dfa882a5cf8f738337b3748c8bdd0f93358fa8881d2db8f languageName: node linkType: hard -"randombytes@npm:^2.0.1, randombytes@npm:^2.1.0": +"randombytes@npm:^2.0.1, randombytes@npm:^2.0.6, randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" dependencies: @@ -8829,6 +9494,13 @@ __metadata: languageName: node linkType: hard +"react-is@npm:^16.12.0": + version: 16.13.0 + resolution: "react-is@npm:16.13.0" + checksum: 9da7d02ebeb5f2bedb781db5427097dbff9a23d7800b06f0a788bd557a47cd863ebf80de21348207edb66d7667c1adbd65a434e81a3b84c3fdae2597bb697ac5 + languageName: node + linkType: hard + "react-is@npm:^17.0.1": version: 17.0.2 resolution: "react-is@npm:17.0.2" @@ -8836,20 +9508,23 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^18.0.0": - version: 18.2.0 - resolution: "react-is@npm:18.2.0" - checksum: e72d0ba81b5922759e4aff17e0252bd29988f9642ed817f56b25a3e217e13eea8a7f2322af99a06edb779da12d5d636e9fda473d620df9a3da0df2a74141d53e - languageName: node - linkType: hard - "read-package-json-fast@npm:^2.0.1": - version: 2.0.3 - resolution: "read-package-json-fast@npm:2.0.3" + version: 2.0.2 + resolution: "read-package-json-fast@npm:2.0.2" dependencies: json-parse-even-better-errors: ^2.3.0 npm-normalize-package-bin: ^1.0.1 - checksum: fca37b3b2160b9dda7c5588b767f6a2b8ce68d03a044000e568208e20bea0cf6dd2de17b90740ce8da8b42ea79c0b3859649dadf29510bbe77224ea65326a903 + checksum: 81a45b0bdbb33b98c98486d77e14e3defb5177b1c43523598c9f8ee3c7020935a1b06fb376b7c05be313a1b0987c2da0c7522904d931daa7f5abf2a25e5d4a07 + languageName: node + linkType: hard + +"read-pkg-up@npm:^2.0.0": + version: 2.0.0 + resolution: "read-pkg-up@npm:2.0.0" + dependencies: + find-up: ^2.0.0 + read-pkg: ^2.0.0 + checksum: 22f9026fb72219ecd165f94f589461c70a88461dc7ea0d439a310ef2a5271ff176a4df4e5edfad087d8ac89b8553945eb209476b671e8ed081c990f30fc40b27 languageName: node linkType: hard @@ -8864,6 +9539,17 @@ __metadata: languageName: node linkType: hard +"read-pkg@npm:^2.0.0": + version: 2.0.0 + resolution: "read-pkg@npm:2.0.0" + dependencies: + load-json-file: ^2.0.0 + normalize-package-data: ^2.3.2 + path-type: ^2.0.0 + checksum: 85c5bf35f2d96acdd756151ba83251831bb2b1040b7d96adce70b2cb119b5320417f34876de0929f2d06c67f3df33ef4636427df3533913876f9ef2487a6f48f + languageName: node + linkType: hard + "read-pkg@npm:^5.2.0": version: 5.2.0 resolution: "read-pkg@npm:5.2.0" @@ -8888,7 +9574,22 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.6, readable-stream@npm:^2.2.2, readable-stream@npm:^2.2.9, readable-stream@npm:~2.3.6": +"readable-stream@npm:^2.0.0, readable-stream@npm:^2.2.2, readable-stream@npm:^2.2.9, readable-stream@npm:~2.3.6": + version: 2.3.6 + resolution: "readable-stream@npm:2.3.6" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.3 + isarray: ~1.0.0 + process-nextick-args: ~2.0.0 + safe-buffer: ~5.1.1 + string_decoder: ~1.1.1 + util-deprecate: ~1.0.1 + checksum: 686bbf9e2300cd24bbd71ba8999202613ef19441da9223bfe2c7da4f0dfab233302e2604846e9b8e814664ccdf365881e593da963ac9e2120abfa21f14f257fb + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.6": version: 2.3.7 resolution: "readable-stream@npm:2.3.7" dependencies: @@ -8933,10 +9634,10 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.13.4": - version: 0.13.9 - resolution: "regenerator-runtime@npm:0.13.9" - checksum: 65ed455fe5afd799e2897baf691ca21c2772e1a969d19bb0c4695757c2d96249eb74ee3553ea34a91062b2a676beedf630b4c1551cc6299afb937be1426ec55e +"regenerator-runtime@npm:^0.13.2": + version: 0.13.3 + resolution: "regenerator-runtime@npm:0.13.3" + checksum: 3d3dd091db39e9d7d1eedec811d8272f1a9b0d52ca047a800ffe9b90e289b002ca3d84bcb09fa849f41c4e8e8178ec246b0fb5f9f999a64cd7247986ea02d3bd languageName: node linkType: hard @@ -8950,21 +9651,10 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.4.3": - version: 1.4.3 - resolution: "regexp.prototype.flags@npm:1.4.3" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - functions-have-names: ^1.2.2 - checksum: 51228bae732592adb3ededd5e15426be25f289e9c4ef15212f4da73f4ec3919b6140806374b8894036a86020d054a8d2657d3fee6bb9b4d35d8939c20030b7a6 - languageName: node - linkType: hard - "regexpp@npm:^3.0.0, regexpp@npm:^3.1.0": - version: 3.2.0 - resolution: "regexpp@npm:3.2.0" - checksum: a78dc5c7158ad9ddcfe01aa9144f46e192ddbfa7b263895a70a5c6c73edd9ce85faf7c0430e59ac38839e1734e275b9c3de5c57ee3ab6edc0e0b1bdebefccef8 + version: 3.1.0 + resolution: "regexpp@npm:3.1.0" + checksum: 63bcb2c98d63274774c79bef256e03f716d25f1fa8427267d0302d1436a83fa0d905f4e8a172fdfa99fb4d84833df2fb3bf7da2a1a868f156e913174c32b1139 languageName: node linkType: hard @@ -8983,9 +9673,9 @@ __metadata: linkType: hard "repeat-element@npm:^1.1.2": - version: 1.1.4 - resolution: "repeat-element@npm:1.1.4" - checksum: 1edd0301b7edad71808baad226f0890ba709443f03a698224c9ee4f2494c317892dc5211b2ba8cbea7194a9ddbcac01e283bd66de0467ab24ee1fc1a3711d8a9 + version: 1.1.3 + resolution: "repeat-element@npm:1.1.3" + checksum: 0743a136b484117016ad587577ede60a3ffe604b74e57bd5d7d0aa041fe2f1c956e6b2f3ff83c86f4db9fac022c3fa2da8e58b9d3618b8b4cb1c3d041bcc422f languageName: node linkType: hard @@ -8996,7 +9686,59 @@ __metadata: languageName: node linkType: hard -"request@npm:^2.85.0, request@npm:^2.88.2": +"request-promise-core@npm:1.1.4": + version: 1.1.4 + resolution: "request-promise-core@npm:1.1.4" + dependencies: + lodash: ^4.17.19 + peerDependencies: + request: ^2.34 + checksum: c798bafd552961e36fbf5023b1d081e81c3995ab390f1bc8ef38a711ba3fe4312eb94dbd61887073d7356c3499b9380947d7f62faa805797c0dc50f039425699 + languageName: node + linkType: hard + +"request-promise-native@npm:^1.0.8": + version: 1.0.9 + resolution: "request-promise-native@npm:1.0.9" + dependencies: + request-promise-core: 1.1.4 + stealthy-require: ^1.1.1 + tough-cookie: ^2.3.3 + peerDependencies: + request: ^2.34 + checksum: 3e2c694eefac88cb20beef8911ad57a275ab3ccbae0c4ca6c679fffb09d5fd502458aab08791f0814ca914b157adab2d4e472597c97a73be702918e41725ed69 + languageName: node + linkType: hard + +"request@npm:^2.85.0": + version: 2.88.0 + resolution: "request@npm:2.88.0" + dependencies: + aws-sign2: ~0.7.0 + aws4: ^1.8.0 + caseless: ~0.12.0 + combined-stream: ~1.0.6 + extend: ~3.0.2 + forever-agent: ~0.6.1 + form-data: ~2.3.2 + har-validator: ~5.1.0 + http-signature: ~1.2.0 + is-typedarray: ~1.0.0 + isstream: ~0.1.2 + json-stringify-safe: ~5.0.1 + mime-types: ~2.1.19 + oauth-sign: ~0.9.0 + performance-now: ^2.1.0 + qs: ~6.5.2 + safe-buffer: ^5.1.2 + tough-cookie: ~2.4.3 + tunnel-agent: ^0.6.0 + uuid: ^3.3.2 + checksum: aecf4f8cdb0ebd5feac5e29b748d6ab376ac5717ddcbc5a6bb24cc3808bde755ff0fa3a8379a2d25f6c4b969ced1ac065d22a615c71747cd305731efa643e30d + languageName: node + linkType: hard + +"request@npm:^2.88.2": version: 2.88.2 resolution: "request@npm:2.88.2" dependencies: @@ -9045,66 +9787,109 @@ __metadata: languageName: node linkType: hard -"requires-port@npm:^1.0.0": - version: 1.0.0 - resolution: "requires-port@npm:1.0.0" - checksum: eee0e303adffb69be55d1a214e415cf42b7441ae858c76dfc5353148644f6fd6e698926fc4643f510d5c126d12a705e7c8ed7e38061113bdf37547ab356797ff - languageName: node - linkType: hard - "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" dependencies: - resolve-from: ^5.0.0 - checksum: 546e0816012d65778e580ad62b29e975a642989108d9a3c5beabfb2304192fa3c9f9146fbdfe213563c6ff51975ae41bac1d3c6e047dd9572c94863a057b4d81 + resolve-from: ^5.0.0 + checksum: 546e0816012d65778e580ad62b29e975a642989108d9a3c5beabfb2304192fa3c9f9146fbdfe213563c6ff51975ae41bac1d3c6e047dd9572c94863a057b4d81 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: f4ba0b8494846a5066328ad33ef8ac173801a51739eb4d63408c847da9a2e1c1de1e6cbbf72699211f3d13f8fc1325648b169bd15eb7da35688e30a5fb0e4a7f + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 4ceeb9113e1b1372d0cd969f3468fa042daa1dd9527b1b6bb88acb6ab55d8b9cd65dbf18819f9f9ddf0db804990901dcdaade80a215e7b2c23daae38e64f5bdf + languageName: node + linkType: hard + +"resolve-url@npm:^0.2.1": + version: 0.2.1 + resolution: "resolve-url@npm:0.2.1" + checksum: 7b7035b9ed6e7bc7d289e90aef1eab5a43834539695dac6416ca6e91f1a94132ae4796bbd173cdacfdc2ade90b5f38a3fb6186bebc1b221cd157777a23b9ad14 + languageName: node + linkType: hard + +"resolve@npm:^1.10.0, resolve@npm:^1.13.1, resolve@npm:^1.17.0": + version: 1.17.0 + resolution: "resolve@npm:1.17.0" + dependencies: + path-parse: ^1.0.6 + checksum: 9ceaf83b3429f2d7ff5d0281b8d8f18a1f05b6ca86efea7633e76b8f76547f33800799dfdd24434942dec4fbd9e651ed3aef577d9a6b5ec87ad89c1060e24759 + languageName: node + linkType: hard + +"resolve@npm:^1.10.1": + version: 1.19.0 + resolution: "resolve@npm:1.19.0" + dependencies: + is-core-module: ^2.1.0 + path-parse: ^1.0.6 + checksum: a05b356e47b85ad3613d9e2a39a824f3c27f4fcad9c9ff6c7cc71a2e314c5904a90ab37481ad0069d03cab9eaaac6eb68aca1bc3355fdb05f1045cd50e2aacea + languageName: node + linkType: hard + +"resolve@npm:^1.20.0": + version: 1.20.0 + resolution: "resolve@npm:1.20.0" + dependencies: + is-core-module: ^2.2.0 + path-parse: ^1.0.6 + checksum: 40cf70b2cde00ef57f99daf2dc63c6a56d6c14a1b7fc51735d06a6f0a3b97cb67b4fb7ef6c747b4e13a7baba83b0ef625d7c4ce92a483cd5af923c3b65fd16fe languageName: node linkType: hard -"resolve-from@npm:^4.0.0": - version: 4.0.0 - resolution: "resolve-from@npm:4.0.0" - checksum: f4ba0b8494846a5066328ad33ef8ac173801a51739eb4d63408c847da9a2e1c1de1e6cbbf72699211f3d13f8fc1325648b169bd15eb7da35688e30a5fb0e4a7f +"resolve@npm:^1.3.2, resolve@npm:^1.8.1": + version: 1.12.0 + resolution: "resolve@npm:1.12.0" + dependencies: + path-parse: ^1.0.6 + checksum: 16582239c4b10b733bbc343b7d80b3438f59566c28d66741d9a92dbcc83a90d847b010ece58b006a5538b2fd23847ff91eb46ee9fccdf236b15b3152461434f4 languageName: node linkType: hard -"resolve-from@npm:^5.0.0": - version: 5.0.0 - resolution: "resolve-from@npm:5.0.0" - checksum: 4ceeb9113e1b1372d0cd969f3468fa042daa1dd9527b1b6bb88acb6ab55d8b9cd65dbf18819f9f9ddf0db804990901dcdaade80a215e7b2c23daae38e64f5bdf +"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.13.1#~builtin, resolve@patch:resolve@^1.17.0#~builtin": + version: 1.17.0 + resolution: "resolve@patch:resolve@npm%3A1.17.0#~builtin::version=1.17.0&hash=07638b" + dependencies: + path-parse: ^1.0.6 + checksum: 6fd799f282ddf078c4bc20ce863e3af01fa8cb218f0658d9162c57161a2dbafe092b13015b9a4c58d0e1e801cf7aa7a4f13115fea9db98c3f9a0c43e429bad6f languageName: node linkType: hard -"resolve-url@npm:^0.2.1": - version: 0.2.1 - resolution: "resolve-url@npm:0.2.1" - checksum: 7b7035b9ed6e7bc7d289e90aef1eab5a43834539695dac6416ca6e91f1a94132ae4796bbd173cdacfdc2ade90b5f38a3fb6186bebc1b221cd157777a23b9ad14 +"resolve@patch:resolve@^1.10.1#~builtin": + version: 1.19.0 + resolution: "resolve@patch:resolve@npm%3A1.19.0#~builtin::version=1.19.0&hash=07638b" + dependencies: + is-core-module: ^2.1.0 + path-parse: ^1.0.6 + checksum: 2443b94d347e6946c87c85faf13071f605e609e0b54784829b0ed2b917d050bfc1cbaf4ecc6453f224cfa7d0c5dcd97cbb273454cd210bee68e4af15c1a5abc9 languageName: node linkType: hard -"resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.18.1, resolve@npm:^1.20.0, resolve@npm:^1.22.0": - version: 1.22.1 - resolution: "resolve@npm:1.22.1" +"resolve@patch:resolve@^1.20.0#~builtin": + version: 1.20.0 + resolution: "resolve@patch:resolve@npm%3A1.20.0#~builtin::version=1.20.0&hash=07638b" dependencies: - is-core-module: ^2.9.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: 07af5fc1e81aa1d866cbc9e9460fbb67318a10fa3c4deadc35c3ad8a898ee9a71a86a65e4755ac3195e0ea0cfbe201eb323ebe655ce90526fd61917313a34e4e + is-core-module: ^2.2.0 + path-parse: ^1.0.6 + checksum: a0dd7d16a8e47af23afa9386df2dff10e3e0debb2c7299a42e581d9d9b04d7ad5d2c53f24f1e043f7b3c250cbdc71150063e53d0b6559683d37f790b7c8c3cd5 languageName: node linkType: hard -"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.10.1#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.18.1#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.0#~builtin": - version: 1.22.1 - resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b" +"resolve@patch:resolve@^1.3.2#~builtin, resolve@patch:resolve@^1.8.1#~builtin": + version: 1.12.0 + resolution: "resolve@patch:resolve@npm%3A1.12.0#~builtin::version=1.12.0&hash=07638b" dependencies: - is-core-module: ^2.9.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: 5656f4d0bedcf8eb52685c1abdf8fbe73a1603bb1160a24d716e27a57f6cecbe2432ff9c89c2bd57542c3a7b9d14b1882b73bfe2e9d7849c9a4c0b8b39f02b8b + path-parse: ^1.0.6 + checksum: 8a532655cc160961463214d2c2522fb4ea8808d13ff15cc48ab9c5193d302782a577c220481055e792fcc3b8a0df039251da903654780d5a7bb364b1f2e6861d languageName: node linkType: hard @@ -9150,7 +9935,19 @@ __metadata: languageName: node linkType: hard -"rlp@npm:^2.0.0, rlp@npm:^2.2.3, rlp@npm:^2.2.4, rlp@npm:^2.2.6": +"rlp@npm:^2.0.0": + version: 2.2.3 + resolution: "rlp@npm:2.2.3" + dependencies: + bn.js: ^4.11.1 + safe-buffer: ^5.1.1 + bin: + rlp: ./bin/rlp + checksum: 2c61ca5bcacd355346f560ecf77225c63bf21df87a76d49101368c54270d3bc21b3329d8d923bfbaf871c2d980ee433be75871abc0c6519324771ce56d72d591 + languageName: node + linkType: hard + +"rlp@npm:^2.2.3, rlp@npm:^2.2.6": version: 2.2.7 resolution: "rlp@npm:2.2.7" dependencies: @@ -9161,6 +9958,17 @@ __metadata: languageName: node linkType: hard +"rlp@npm:^2.2.4": + version: 2.2.6 + resolution: "rlp@npm:2.2.6" + dependencies: + bn.js: ^4.11.1 + bin: + rlp: bin/rlp + checksum: 2601225df0fe7aa3b497b33a12fd9fbaf8fb1d2989ecc5c091918ed93ee77d1c3fab20ddd3891a9ca66a8ba66d993e6079be6fb31f450fcf38ba30873102ca46 + languageName: node + linkType: hard + "rlp@npm:^3.0.0": version: 3.0.0 resolution: "rlp@npm:3.0.0" @@ -9178,11 +9986,9 @@ __metadata: linkType: hard "run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: ^1.2.2 - checksum: cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d + version: 1.1.10 + resolution: "run-parallel@npm:1.1.10" + checksum: 360996d8b7abe586320a01a42093df2edf41699bbb0d493a4191ec52dda4354d0b25954e0608162d3bb304faa5f73a194f85d6d0d4c016154b2a8132f757fa98 languageName: node linkType: hard @@ -9193,20 +9999,27 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1": + version: 5.2.0 + resolution: "safe-buffer@npm:5.2.0" + checksum: 91d50127aeaee9b8cb1ee12c810d719e29813d1ab1ce6d1b4704cd9ca0e0bfa47455e02cf1bb238be90f2db764447f058fbaef1a1018ae8387c692615d72f86c languageName: node linkType: hard -"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": +"safe-buffer@npm:^5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": version: 5.1.2 resolution: "safe-buffer@npm:5.1.2" checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c languageName: node linkType: hard +"safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 + languageName: node + linkType: hard + "safe-event-emitter@npm:^1.0.1": version: 1.0.1 resolution: "safe-event-emitter@npm:1.0.1" @@ -9216,17 +10029,6 @@ __metadata: languageName: node linkType: hard -"safe-regex-test@npm:^1.0.0": - version: 1.0.0 - resolution: "safe-regex-test@npm:1.0.0" - dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.3 - is-regex: ^1.1.4 - checksum: bc566d8beb8b43c01b94e67de3f070fd2781685e835959bbbaaec91cc53381145ca91f69bd837ce6ec244817afa0a5e974fc4e40a2957f0aca68ac3add1ddd34 - languageName: node - linkType: hard - "safe-regex@npm:^1.1.0": version: 1.1.0 resolution: "safe-regex@npm:1.1.0" @@ -9262,7 +10064,7 @@ __metadata: languageName: node linkType: hard -"saxes@npm:^5.0.1": +"saxes@npm:^5.0.0": version: 5.0.1 resolution: "saxes@npm:5.0.1" dependencies: @@ -9278,7 +10080,24 @@ __metadata: languageName: node linkType: hard -"secp256k1@npm:^4.0.0, secp256k1@npm:^4.0.1": +"secp256k1@npm:^3.0.1": + version: 3.7.1 + resolution: "secp256k1@npm:3.7.1" + dependencies: + bindings: ^1.5.0 + bip66: ^1.1.5 + bn.js: ^4.11.8 + create-hash: ^1.2.0 + drbg.js: ^1.0.1 + elliptic: ^6.4.1 + nan: ^2.14.0 + node-gyp: latest + safe-buffer: ^5.1.2 + checksum: fd3b17157c598296602bbb9d75a42d57a17d38f95035e58b08d3d996e232423a1363449cc4d372cb4219d9df0baefdae8711fa05034e054cf0eb523f2f4f5d05 + languageName: node + linkType: hard + +"secp256k1@npm:^4.0.0": version: 4.0.3 resolution: "secp256k1@npm:4.0.3" dependencies: @@ -9290,6 +10109,18 @@ __metadata: languageName: node linkType: hard +"secp256k1@npm:^4.0.1": + version: 4.0.2 + resolution: "secp256k1@npm:4.0.2" + dependencies: + elliptic: ^6.5.2 + node-addon-api: ^2.0.0 + node-gyp: latest + node-gyp-build: ^4.2.0 + checksum: 0d0d42e8033aee5aec5caaaa26d90fcaec4bf5e24dc4652552ddaa60734c2d95e90f7d95697b521fe833363c629d5ff623227961de86686c7a0ed5b5ffc1ebd0 + languageName: node + linkType: hard + "semaphore@npm:>=1.0.1, semaphore@npm:^1.0.3": version: 1.1.0 resolution: "semaphore@npm:1.1.0" @@ -9297,7 +10128,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0": +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.4.1, semver@npm:^5.5.0, semver@npm:^5.5.1": version: 5.7.1 resolution: "semver@npm:5.7.1" bin: @@ -9307,17 +10138,17 @@ __metadata: linkType: hard "semver@npm:7.x, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.5": - version: 7.3.7 - resolution: "semver@npm:7.3.7" + version: 7.3.5 + resolution: "semver@npm:7.3.5" dependencies: lru-cache: ^6.0.0 bin: semver: bin/semver.js - checksum: 2fa3e877568cd6ce769c75c211beaed1f9fce80b28338cadd9d0b6c40f2e2862bafd62c19a6cff42f3d54292b7c623277bcab8816a2b5521cf15210d43e75232 + checksum: 5eafe6102bea2a7439897c1856362e31cc348ccf96efd455c8b5bc2c61e6f7e7b8250dc26b8828c1d76a56f818a7ee907a36ae9fb37a599d3d24609207001d60 languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0": +"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.3.0": version: 6.3.0 resolution: "semver@npm:6.3.0" bin: @@ -9380,6 +10211,16 @@ __metadata: languageName: node linkType: hard +"sha3@npm:^1.2.2": + version: 1.2.6 + resolution: "sha3@npm:1.2.6" + dependencies: + nan: 2.13.2 + node-gyp: latest + checksum: b625be6fb36c1b1fc34f5d133d579dba7469a4544205d25a2a6942b2747aef3e16fe777cb90ac602fcf50345e65b54db2372f22d322f52c21340af1a25495796 + languageName: node + linkType: hard + "shebang-command@npm:^1.2.0": version: 1.2.0 resolution: "shebang-command@npm:1.2.0" @@ -9441,7 +10282,21 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2": + version: 3.0.2 + resolution: "signal-exit@npm:3.0.2" + checksum: ccc08b9ad53644154d274ed147bb5e6cd5fd09c81bc6480a93bbe581f9030a599882907f78b305b81214ea725be7c09ed9182b58c675a148a1fe48cd50e43b2b + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.3": + version: 3.0.3 + resolution: "signal-exit@npm:3.0.3" + checksum: f0169d3f1263d06df32ca072b0bf33b34c6f8f0341a7a1621558a2444dfbe8f5fec76b35537fcc6f0bc4944bdb5336fe0bdcf41a5422c4e45a1dba3f45475e6c + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 @@ -9478,10 +10333,10 @@ __metadata: languageName: node linkType: hard -"sisteransi@npm:^1.0.5": - version: 1.0.5 - resolution: "sisteransi@npm:1.0.5" - checksum: aba6438f46d2bfcef94cf112c835ab395172c75f67453fe05c340c770d3c402363018ae1ab4172a1026a90c47eaccf3af7b6ff6fa749a680c2929bd7fa2b37a4 +"sisteransi@npm:^1.0.3": + version: 1.0.3 + resolution: "sisteransi@npm:1.0.3" + checksum: f123c898688d720f6896feb80273930e0f969e7d7ec4eac89290384256d004cc52b8866c40236dedd59c6213f1ac79fd6e0f40d496ffda76971c4ca7b52d4d2e languageName: node linkType: hard @@ -9558,12 +10413,12 @@ __metadata: linkType: hard "socks@npm:^2.6.2": - version: 2.7.0 - resolution: "socks@npm:2.7.0" + version: 2.6.2 + resolution: "socks@npm:2.6.2" dependencies: - ip: ^2.0.0 + ip: ^1.1.5 smart-buffer: ^4.2.0 - checksum: 0b5d94e2b3c11e7937b40fc5dac1e80d8b92a330e68c51f1d271ce6980c70adca42a3f8cd47c4a5769956bada074823b53374f2dc5f2ea5c2121b222dec6eadf + checksum: dd9194293059d737759d5c69273850ad4149f448426249325c4bea0e340d1cf3d266c3b022694b0dcf5d31f759de23657244c481fc1e8322add80b7985c36b5e languageName: node linkType: hard @@ -9574,9 +10429,9 @@ __metadata: languageName: node linkType: hard -"sort-package-json@npm:1.57.0": - version: 1.57.0 - resolution: "sort-package-json@npm:1.57.0" +"sort-package-json@npm:1.55.0": + version: 1.55.0 + resolution: "sort-package-json@npm:1.55.0" dependencies: detect-indent: ^6.0.0 detect-newline: 3.1.0 @@ -9586,41 +10441,41 @@ __metadata: sort-object-keys: ^1.1.3 bin: sort-package-json: cli.js - checksum: 15758ba6b1033ae136863eabd4b8c8a28e79dd68b71327f6803c2ea740dc149dc9ad708b006d07ee9de56b6dc7cadb7c697801ad50c01348aa91022c6ff6e21d + checksum: 221709f89a045143193839a06e7d7d307b60d62074ff2685a81cf78cb1cc2c47a36d3fda19202b1edf49c241da0ef14e64c5574a87c6f5dd87f1ff88251ce312 languageName: node linkType: hard "source-map-resolve@npm:^0.5.0": - version: 0.5.3 - resolution: "source-map-resolve@npm:0.5.3" + version: 0.5.2 + resolution: "source-map-resolve@npm:0.5.2" dependencies: - atob: ^2.1.2 + atob: ^2.1.1 decode-uri-component: ^0.2.0 resolve-url: ^0.2.1 source-map-url: ^0.4.0 urix: ^0.1.0 - checksum: c73fa44ac00783f025f6ad9e038ab1a2e007cd6a6b86f47fe717c3d0765b4a08d264f6966f3bd7cd9dbcd69e4832783d5472e43247775b2a550d6f2155d24bae + checksum: 14fdb9db10cb010216ffc33a1b3793f8aed56beb76d37fe4edcbb234552c5a91a1071e015546ea7d837e5b37845db73fe65adcafd8c179ea449accf3eecde7de languageName: node linkType: hard "source-map-support@npm:^0.5.6": - version: 0.5.21 - resolution: "source-map-support@npm:0.5.21" + version: 0.5.13 + resolution: "source-map-support@npm:0.5.13" dependencies: buffer-from: ^1.0.0 source-map: ^0.6.0 - checksum: 43e98d700d79af1d36f859bdb7318e601dfc918c7ba2e98456118ebc4c4872b327773e5a1df09b0524e9e5063bb18f0934538eace60cca2710d1fa687645d137 + checksum: 933550047b6c1a2328599a21d8b7666507427c0f5ef5eaadd56b5da0fd9505e239053c66fe181bf1df469a3b7af9d775778eee283cbb7ae16b902ddc09e93a97 languageName: node linkType: hard "source-map-url@npm:^0.4.0": - version: 0.4.1 - resolution: "source-map-url@npm:0.4.1" - checksum: 64c5c2c77aff815a6e61a4120c309ae4cac01298d9bcbb3deb1b46a4dd4c46d4a1eaeda79ec9f684766ae80e8dc86367b89326ce9dd2b89947bd9291fc1ac08c + version: 0.4.0 + resolution: "source-map-url@npm:0.4.0" + checksum: 63ed54045fcd7b4ec7ca17513f48fdc23b573eef679326ecf1a31333e1aaecc0a9c085adaa7d118283b160e65b71cc72da9e1385f2de4ac5ed68294e3920d719 languageName: node linkType: hard -"source-map@npm:^0.5.6": +"source-map@npm:^0.5.0, source-map@npm:^0.5.6": version: 0.5.7 resolution: "source-map@npm:0.5.7" checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d @@ -9635,9 +10490,9 @@ __metadata: linkType: hard "source-map@npm:^0.7.3": - version: 0.7.4 - resolution: "source-map@npm:0.7.4" - checksum: 01cc5a74b1f0e1d626a58d36ad6898ea820567e87f18dfc9d24a9843a351aaa2ec09b87422589906d6ff1deed29693e176194dc88bcae7c9a852dc74b311dbf5 + version: 0.7.3 + resolution: "source-map@npm:0.7.3" + checksum: cd24efb3b8fa69b64bf28e3c1b1a500de77e84260c5b7f2b873f88284df17974157cc88d386ee9b6d081f08fdd8242f3fc05c953685a6ad81aad94c7393dedea languageName: node linkType: hard @@ -9669,9 +10524,9 @@ __metadata: linkType: hard "spdx-license-ids@npm:^3.0.0": - version: 3.0.12 - resolution: "spdx-license-ids@npm:3.0.12" - checksum: 92a4dddce62ce1db6fe54a7a839cf85e06abc308fc83b776a55b44e4f1906f02e7ebd506120847039e976bbbad359ea8bdfafb7925eae5cd7e73255f02e0b7d6 + version: 3.0.5 + resolution: "spdx-license-ids@npm:3.0.5" + checksum: b1ceea3f87407ec375d1de90f6fc7610d6c845ff5f8db21d4d752b3d4e121df563c78113df7c564daff4e8778ad54b9a9024a7e9ea3779f13a43dd0e9128c08e languageName: node linkType: hard @@ -9692,8 +10547,8 @@ __metadata: linkType: hard "sshpk@npm:^1.7.0": - version: 1.17.0 - resolution: "sshpk@npm:1.17.0" + version: 1.16.1 + resolution: "sshpk@npm:1.16.1" dependencies: asn1: ~0.2.3 assert-plus: ^1.0.0 @@ -9708,7 +10563,7 @@ __metadata: sshpk-conv: bin/sshpk-conv sshpk-sign: bin/sshpk-sign sshpk-verify: bin/sshpk-verify - checksum: ba109f65c8e6c35133b8e6ed5576abeff8aa8d614824b7275ec3ca308f081fef483607c28d97780c1e235818b0f93ed8c8b56d0a5968d5a23fd6af57718c7597 + checksum: 5e76afd1cedc780256f688b7c09327a8a650902d18e284dfeac97489a735299b03c3e72c6e8d22af03dbbe4d6f123fdfd5f3c4ed6bedbec72b9529a55051b857 languageName: node linkType: hard @@ -9721,12 +10576,12 @@ __metadata: languageName: node linkType: hard -"stack-utils@npm:^2.0.2, stack-utils@npm:^2.0.3": - version: 2.0.5 - resolution: "stack-utils@npm:2.0.5" +"stack-utils@npm:^2.0.2": + version: 2.0.2 + resolution: "stack-utils@npm:2.0.2" dependencies: escape-string-regexp: ^2.0.0 - checksum: 76b69da0f5b48a34a0f93c98ee2a96544d2c4ca2557f7eef5ddb961d3bdc33870b46f498a84a7c4f4ffb781df639840e7ebf6639164ed4da5e1aeb659615b9c7 + checksum: e767be7ec6db03ae17b078dffe5ed64531a5bf13c28ec6d6f239b1baa440d4d80792a10808d6660fd914dd7564eec151322057560d6187cab6077d662029e64c languageName: node linkType: hard @@ -9740,13 +10595,20 @@ __metadata: languageName: node linkType: hard +"stealthy-require@npm:^1.1.1": + version: 1.1.1 + resolution: "stealthy-require@npm:1.1.1" + checksum: 6805b857a9f3a6a1079fc6652278038b81011f2a5b22cbd559f71a6c02087e6f1df941eb10163e3fdc5391ab5807aa46758d4258547c1f5ede31e6d9bfda8dd3 + languageName: node + linkType: hard + "string-length@npm:^4.0.1": - version: 4.0.2 - resolution: "string-length@npm:4.0.2" + version: 4.0.1 + resolution: "string-length@npm:4.0.1" dependencies: char-regex: ^1.0.2 strip-ansi: ^6.0.0 - checksum: ce85533ef5113fcb7e522bcf9e62cb33871aa99b3729cec5595f4447f660b0cefd542ca6df4150c97a677d58b0cb727a3fe09ac1de94071d05526c73579bf505 + checksum: 7bd3191668ddafa6f574a8b17a1bd1b085737d64ceefa51f72cdd19c45a730422cd70d984eee7584d6e5b5c84b6318633c6d6a720a4bfd7c58769985fa77573e languageName: node linkType: hard @@ -9761,7 +10623,17 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": +"string-width@npm:^1.0.2 || 2": + version: 2.1.1 + resolution: "string-width@npm:2.1.1" + dependencies: + is-fullwidth-code-point: ^2.0.0 + strip-ansi: ^4.0.0 + checksum: d6173abe088c615c8dffaf3861dc5d5906ed3dc2d6fd67ff2bd2e2b5dce7fd683c5240699cf0b1b8aa679a3b3bd6b28b5053c824cb89b813d7f6541d8f89064a + languageName: node + linkType: hard + +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -9772,25 +10644,65 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.5": - version: 1.0.5 - resolution: "string.prototype.trimend@npm:1.0.5" +"string-width@npm:^4.1.0, string-width@npm:^4.2.0": + version: 4.2.0 + resolution: "string-width@npm:4.2.0" + dependencies: + emoji-regex: ^8.0.0 + is-fullwidth-code-point: ^3.0.0 + strip-ansi: ^6.0.0 + checksum: ee2c68df9a3ce4256565d2bdc8490f5706f195f88e799d3d425889264d3eff3d7984fe8b38dfc983dac948e03d8cdc737294b1c81f1528c37c9935d86b67593d + languageName: node + linkType: hard + +"string.prototype.trim@npm:^1.1.2": + version: 1.1.2 + resolution: "string.prototype.trim@npm:1.1.2" + dependencies: + define-properties: ^1.1.2 + es-abstract: ^1.5.0 + function-bind: ^1.0.2 + checksum: 51fb81f1b345015ac72aa043fe9235dcfc5c1fdb8162d9620ac9f27a3687b9339d7009f3095753f0bfb2b22693304c94599184e3188c2bdc942669f90a900fda + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.1": + version: 1.0.1 + resolution: "string.prototype.trimend@npm:1.0.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.5 + checksum: e4e2c21f0145a6fa8c111b1bee6075d509a40702611329bcebd7ffc5cc13562cfa99636faeacccbea306d01c023dc763ce0cf38cf5d7b654705b74847b0f0e57 + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.4": + version: 1.0.4 + resolution: "string.prototype.trimend@npm:1.0.4" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.19.5 - checksum: d44f543833112f57224e79182debadc9f4f3bf9d48a0414d6f0cbd2a86f2b3e8c0ca1f95c3f8e5b32ae83e91554d79d932fc746b411895f03f93d89ed3dfb6bc + define-properties: ^1.1.3 + checksum: 17e5aa45c3983f582693161f972c1c1fa4bbbdf22e70e582b00c91b6575f01680dc34e83005b98e31abe4d5d29e0b21fcc24690239c106c7b2315aade6a898ac languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.5": - version: 1.0.5 - resolution: "string.prototype.trimstart@npm:1.0.5" +"string.prototype.trimstart@npm:^1.0.1": + version: 1.0.1 + resolution: "string.prototype.trimstart@npm:1.0.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.5 + checksum: 0fe3cad8d597a418b058b6ec2d5c48b73172c71cb60089a0a38373eb3c2d501c4d9a00bbfad90e581c2ecf136f10f85a9dc664390e059b805dae9e4707465e0f + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.4": + version: 1.0.4 + resolution: "string.prototype.trimstart@npm:1.0.4" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.19.5 - checksum: a4857c5399ad709d159a77371eeaa8f9cc284469a0b5e1bfe405de16f1fd4166a8ea6f4180e55032f348d1b679b1599fd4301fbc7a8b72bdb3e795e43f7b1048 + define-properties: ^1.1.3 + checksum: 3fb06818d3cccac5fa3f5f9873d984794ca0e9f6616fae6fcc745885d9efed4e17fe15f832515d9af5e16c279857fdbffdfc489ca4ed577811b017721b30302f languageName: node linkType: hard @@ -9828,7 +10740,25 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": +"strip-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-ansi@npm:4.0.0" + dependencies: + ansi-regex: ^3.0.0 + checksum: d9186e6c0cf78f25274f6750ee5e4a5725fb91b70fdd79aa5fe648eab092a0ec5b9621b22d69d4534a56319f75d8944efbd84e3afa8d4ad1b9a9491f12c84eca + languageName: node + linkType: hard + +"strip-ansi@npm:^6.0.0": + version: 6.0.0 + resolution: "strip-ansi@npm:6.0.0" + dependencies: + ansi-regex: ^5.0.0 + checksum: 04c3239ede44c4d195b0e66c0ad58b932f08bec7d05290416d361ff908ad282ecdaf5d9731e322c84f151d427436bde01f05b7422c3ec26dd927586736b0e5d0 + languageName: node + linkType: hard + +"strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" dependencies: @@ -9891,28 +10821,21 @@ __metadata: linkType: hard "supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" + version: 7.1.0 + resolution: "supports-color@npm:7.1.0" dependencies: has-flag: ^4.0.0 - checksum: 3dda818de06ebbe5b9653e07842d9479f3555ebc77e9a0280caf5a14fb877ffee9ed57007c3b78f5a6324b8dbeec648d9e97a24e2ed9fdb81ddc69ea07100f4a + checksum: 899480ac858a650abcca4a02ae655555270e6ace833b15a74e4a2d3456f54cd19b6b12ce14e9bac997c18dd69a0596ee65b95ba013f209dd0f99ebfe87783e41 languageName: node linkType: hard "supports-hyperlinks@npm:^2.0.0": - version: 2.3.0 - resolution: "supports-hyperlinks@npm:2.3.0" + version: 2.1.0 + resolution: "supports-hyperlinks@npm:2.1.0" dependencies: has-flag: ^4.0.0 supports-color: ^7.0.0 - checksum: 9ee0de3c8ce919d453511b2b1588a8205bd429d98af94a01df87411391010fe22ca463f268c84b2ce2abad019dfff8452aa02806eeb5c905a8d7ad5c4f4c52b8 - languageName: node - linkType: hard - -"supports-preserve-symlinks-flag@npm:^1.0.0": - version: 1.0.0 - resolution: "supports-preserve-symlinks-flag@npm:1.0.0" - checksum: 53b1e247e68e05db7b3808b99b892bd36fb096e6fba213a06da7fab22045e97597db425c724f2bbd6c99a3c295e1e73f3e4de78592289f38431049e1277ca0ae + checksum: e4f430c870a258c9854b8bd7f166a9c1e76e3b851da84d4399d6a8f1d4a485e4ec36c16455dde80acf06c86e7c0a6df76ed22b6a4644a6ae3eced8616b3f21b5 languageName: node linkType: hard @@ -9923,16 +10846,15 @@ __metadata: languageName: node linkType: hard -"table@npm:^6.0.9": - version: 6.8.0 - resolution: "table@npm:6.8.0" +"table@npm:^6.0.4": + version: 6.0.7 + resolution: "table@npm:6.0.7" dependencies: - ajv: ^8.0.1 - lodash.truncate: ^4.4.2 + ajv: ^7.0.2 + lodash: ^4.17.20 slice-ansi: ^4.0.0 - string-width: ^4.2.3 - strip-ansi: ^6.0.1 - checksum: 5b07fe462ee03d2e1fac02cbb578efd2e0b55ac07e3d3db2e950aa9570ade5a4a2b8d3c15e9f25c89e4e50b646bc4269934601ee1eef4ca7968ad31960977690 + string-width: ^4.2.0 + checksum: 5a981ff05b5a404bcddf1aae40b26951aaf4e77ce22348d2e9c86a681c32ff6ae4ac4da7e6496780a3b2feb7fb8b302c1dfb6c88e025bff913a2d380b24f847d languageName: node linkType: hard @@ -9995,7 +10917,7 @@ __metadata: languageName: node linkType: hard -"tmpl@npm:1.0.5": +"tmpl@npm:1.0.x": version: 1.0.5 resolution: "tmpl@npm:1.0.5" checksum: cd922d9b853c00fe414c5a774817be65b058d54a2d01ebb415840960406c669a0fc632f66df885e24cb022ec812739199ccbdb8d1164c3e513f85bfca5ab2873 @@ -10049,15 +10971,24 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.0.0": - version: 4.1.2 - resolution: "tough-cookie@npm:4.1.2" +"tough-cookie@npm:^2.3.3, tough-cookie@npm:~2.4.3": + version: 2.4.3 + resolution: "tough-cookie@npm:2.4.3" + dependencies: + psl: ^1.1.24 + punycode: ^1.4.1 + checksum: af5c7b03f22fc60b7a03339414d7e5b4d68aea84bcc591b4bfab73d85f71e218ff9ebdf94042205051faf980bdb2eeec5c8cf6ea5368fd9f878d2c3f718640b7 + languageName: node + linkType: hard + +"tough-cookie@npm:^3.0.1": + version: 3.0.1 + resolution: "tough-cookie@npm:3.0.1" dependencies: - psl: ^1.1.33 + ip-regex: ^2.1.0 + psl: ^1.1.28 punycode: ^2.1.1 - universalify: ^0.2.0 - url-parse: ^1.5.3 - checksum: a7359e9a3e875121a84d6ba40cc184dec5784af84f67f3a56d1d2ae39b87c0e004e6ba7c7331f9622a7d2c88609032473488b28fe9f59a1fec115674589de39a + checksum: 796f6239bce5674a1267b19f41972a2602a2a23715817237b5922b0dc2343512512eea7d41d29210a4ec545f8ef32173bbbf01277dd8ec3ae3841b19cbe69f67 languageName: node linkType: hard @@ -10071,12 +11002,12 @@ __metadata: languageName: node linkType: hard -"tr46@npm:^2.1.0": - version: 2.1.0 - resolution: "tr46@npm:2.1.0" +"tr46@npm:^2.0.2": + version: 2.0.2 + resolution: "tr46@npm:2.0.2" dependencies: punycode: ^2.1.1 - checksum: ffe6049b9dca3ae329b059aada7f515b0f0064c611b39b51ff6b53897e954650f6f63d9319c6c008d36ead477c7b55e5f64c9dc60588ddc91ff720d64eb710b3 + checksum: 2b2b3dfa6bc65d027b2fac729fba0fb5b9d98af7b69ad6876c0f088ebf127f2d53e5a4d4464e5de40380cf721f392262c9183d2a05cea4967a890e8801c842f6 languageName: node linkType: hard @@ -10087,10 +11018,18 @@ __metadata: languageName: node linkType: hard +"trim-right@npm:^1.0.1": + version: 1.0.1 + resolution: "trim-right@npm:1.0.1" + checksum: 9120af534e006a7424a4f9358710e6e707887b6ccf7ea69e50d6ac6464db1fe22268400def01752f09769025d480395159778153fb98d4a2f6f40d4cf5d4f3b6 + languageName: node + linkType: hard + "ts-jest@npm:^26.5.2": - version: 26.5.6 - resolution: "ts-jest@npm:26.5.6" + version: 26.5.2 + resolution: "ts-jest@npm:26.5.2" dependencies: + "@types/jest": 26.x bs-logger: 0.x buffer-from: 1.x fast-json-stable-stringify: 2.x @@ -10106,33 +11045,51 @@ __metadata: typescript: ">=3.8 <5.0" bin: ts-jest: cli.js - checksum: 6f65ad4fe67ab3f0fd4c7f9954acbee863af05b2b3f88dd0f490bbcdc58002960fac908b2cb9f009ec14da6fe13cb00a39e291260d6e555abe72448d1c0a017f + checksum: 3469c264a6beea372c799e7e9510fa9f51bdb576368bb51557006cbce33c5a8dfd71b8ca49012fe3667ad92d36b0b61636ff39d66fc69740b032b2d2a76d6d34 languageName: node linkType: hard -"tsconfig-paths@npm:^3.14.1": - version: 3.14.1 - resolution: "tsconfig-paths@npm:3.14.1" +"tsconfig-paths@npm:^3.9.0": + version: 3.9.0 + resolution: "tsconfig-paths@npm:3.9.0" dependencies: "@types/json5": ^0.0.29 json5: ^1.0.1 - minimist: ^1.2.6 + minimist: ^1.2.0 strip-bom: ^3.0.0 - checksum: 8afa01c673ebb4782ba53d3a12df97fa837ce524f8ad38ee4e2b2fd57f5ac79abc21c574e9e9eb014d93efe7fe8214001b96233b5c6ea75bd1ea82afe17a4c6d + checksum: 243b3b098c76a4ca90ea0431683f3755a4ff175c6123bcba5f7b4bd80fe2ef8fa9bdc8f4d525148a1e71ade7f3e037e7c0313ae177fd12398ab68f05c2c7f25d languageName: node linkType: hard "tslib@npm:^1.8.1": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd + version: 1.10.0 + resolution: "tslib@npm:1.10.0" + checksum: 1d0450dc6f64b918b14acaf3b956ebe1c72d7401c632adce932a60e3cd8d2a70f6040ceef6a7c3561146c3f29bcf584c41c2e09a5d20a27d6c3057f0d5f2a836 languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.3.0": - version: 2.4.0 - resolution: "tslib@npm:2.4.0" - checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113 +"tslib@npm:^2.0.0": + version: 2.1.0 + resolution: "tslib@npm:2.1.0" + checksum: aa189c8179de0427b0906da30926fd53c59d96ec239dff87d6e6bc831f608df0cbd6f77c61dabc074408bd0aa0b9ae4ec35cb2c15f729e32f37274db5730cb78 + languageName: node + linkType: hard + +"tslib@npm:^2.3.0": + version: 2.3.1 + resolution: "tslib@npm:2.3.1" + checksum: de17a98d4614481f7fcb5cd53ffc1aaf8654313be0291e1bfaee4b4bb31a20494b7d218ff2e15017883e8ea9626599b3b0e0229c18383ba9dce89da2adf15cb9 + languageName: node + linkType: hard + +"tsutils@npm:^3.17.1": + version: 3.17.1 + resolution: "tsutils@npm:3.17.1" + dependencies: + tslib: ^1.8.1 + peerDependencies: + typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + checksum: 0dd8c29b2f554d71179dfdd7c3a55b973c0d21ba2b28868ca2acc0bda7469e2ae94f7f454c0f342934b3a653ed4424bfa9c12fa84dac0e126408d6fcd9271510 languageName: node linkType: hard @@ -10156,7 +11113,14 @@ __metadata: languageName: node linkType: hard -"tweetnacl-util@npm:^0.15.0, tweetnacl-util@npm:^0.15.1": +"tweetnacl-util@npm:^0.15.0": + version: 0.15.0 + resolution: "tweetnacl-util@npm:0.15.0" + checksum: 4f57555fab3f09414a163d65692b5173bc83fd3561150c9076fe3003ed2b08bb93be75ac9a6763bdf78162bdd835a6fc89631f6543b99602a579bd3171b98206 + languageName: node + linkType: hard + +"tweetnacl-util@npm:^0.15.1": version: 0.15.1 resolution: "tweetnacl-util@npm:0.15.1" checksum: ae6aa8a52cdd21a95103a4cc10657d6a2040b36c7a6da7b9d3ab811c6750a2d5db77e8c36969e75fdee11f511aa2b91c552496c6e8e989b6e490e54aca2864fc @@ -10170,6 +11134,13 @@ __metadata: languageName: node linkType: hard +"tweetnacl@npm:^1.0.0": + version: 1.0.1 + resolution: "tweetnacl@npm:1.0.1" + checksum: 89926931a3d42369d64292474245dd5847163f66f0650075c68d4c583cb30f8c0f04f2ce13a56529f1775d181ea68006bf10e8329ae5da62139164aa90c4b419 + languageName: node + linkType: hard + "tweetnacl@npm:^1.0.3": version: 1.0.3 resolution: "tweetnacl@npm:1.0.3" @@ -10202,6 +11173,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^0.11.0": + version: 0.11.0 + resolution: "type-fest@npm:0.11.0" + checksum: 8e7589e1eb5ced6c8e1d3051553b59b9f525c41e58baa898229915781c7bf55db8cb2f74e56d8031f6af5af2eecc7cb8da9ca3af7e5b80b49d8ca5a81891f3f9 + languageName: node + linkType: hard + "type-fest@npm:^0.20.2": version: 0.20.2 resolution: "type-fest@npm:0.20.2" @@ -10209,13 +11187,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.21.3": - version: 0.21.3 - resolution: "type-fest@npm:0.21.3" - checksum: e6b32a3b3877f04339bae01c193b273c62ba7bfc9e325b8703c4ee1b32dc8fe4ef5dfa54bf78265e069f7667d058e360ae0f37be5af9f153b22382cd55a9afe0 - languageName: node - linkType: hard - "type-fest@npm:^0.6.0": version: 0.6.0 resolution: "type-fest@npm:0.6.0" @@ -10249,51 +11220,51 @@ __metadata: linkType: hard "typedoc@npm:^0.22.15": - version: 0.22.18 - resolution: "typedoc@npm:0.22.18" + version: 0.22.15 + resolution: "typedoc@npm:0.22.15" dependencies: - glob: ^8.0.3 + glob: ^7.2.0 lunr: ^2.3.9 - marked: ^4.0.16 - minimatch: ^5.1.0 + marked: ^4.0.12 + minimatch: ^5.0.1 shiki: ^0.10.1 peerDependencies: - typescript: 4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x || 4.5.x || 4.6.x || 4.7.x + typescript: 4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x || 4.5.x || 4.6.x bin: typedoc: bin/typedoc - checksum: b813d8129682f6ed5a4e96bacaf019e4da1d2744ca89fef850d6bb4c034616567ce67e6a7f5cfc5f00aac573f0b45d44b1427aafa262ab88dce6b460cb9e744c + checksum: 3f5f1cb9288bf811f42df59750c7062a026a23257b38dfe227515a30007a28e3d8139187949fcd19300fd6b2ef76bcdc4cf54549100bff3e000e61bb19958fb2 languageName: node linkType: hard "typescript@npm:~4.6.3": - version: 4.6.4 - resolution: "typescript@npm:4.6.4" + version: 4.6.3 + resolution: "typescript@npm:4.6.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: e7bfcc39cd4571a63a54e5ea21f16b8445268b9900bf55aee0e02ad981be576acc140eba24f1af5e3c1457767c96cea6d12861768fb386cf3ffb34013718631a + checksum: 255bb26c8cb846ca689dd1c3a56587af4f69055907aa2c154796ea28ee0dea871535b1c78f85a6212c77f2657843a269c3a742d09d81495b97b914bf7920415b languageName: node linkType: hard "typescript@patch:typescript@~4.6.3#~builtin": - version: 4.6.4 - resolution: "typescript@patch:typescript@npm%3A4.6.4#~builtin::version=4.6.4&hash=7ad353" + version: 4.6.3 + resolution: "typescript@patch:typescript@npm%3A4.6.3#~builtin::version=4.6.3&hash=7ad353" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 1cb434fbc637d347be90e3a0c6cd05e33c38f941713c8786d3031faf1842c2c148ba91d2fac01e7276b0ae3249b8633f1660e32686cc7a8c6a8fd5361dc52c66 + checksum: 6bf45caf847062420592e711bc9c28bf5f9a9a7fa8245343b81493e4ededae33f1774009d1234d911422d1646a2c839f44e1a23ecb111b40a60ac2ea4c1482a8 languageName: node linkType: hard -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" +"unbox-primitive@npm:^1.0.1": + version: 1.0.1 + resolution: "unbox-primitive@npm:1.0.1" dependencies: - call-bind: ^1.0.2 - has-bigints: ^1.0.2 - has-symbols: ^1.0.3 + function-bind: ^1.1.1 + has-bigints: ^1.0.1 + has-symbols: ^1.0.2 which-boxed-primitive: ^1.0.2 - checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9 + checksum: 89d950e18fb45672bc6b3c961f1e72c07beb9640c7ceed847b571ba6f7d2af570ae1a2584cfee268b9d9ea1e3293f7e33e0bc29eaeb9f8e8a0bab057ff9e6bba languageName: node linkType: hard @@ -10309,28 +11280,21 @@ __metadata: languageName: node linkType: hard -"unique-filename@npm:^2.0.0": - version: 2.0.1 - resolution: "unique-filename@npm:2.0.1" +"unique-filename@npm:^1.1.1": + version: 1.1.1 + resolution: "unique-filename@npm:1.1.1" dependencies: - unique-slug: ^3.0.0 - checksum: 807acf3381aff319086b64dc7125a9a37c09c44af7620bd4f7f3247fcd5565660ac12d8b80534dcbfd067e6fe88a67e621386dd796a8af828d1337a8420a255f + unique-slug: ^2.0.0 + checksum: cf4998c9228cc7647ba7814e255dec51be43673903897b1786eff2ac2d670f54d4d733357eb08dea969aa5e6875d0e1bd391d668fbdb5a179744e7c7551a6f80 languageName: node linkType: hard -"unique-slug@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-slug@npm:3.0.0" +"unique-slug@npm:^2.0.0": + version: 2.0.2 + resolution: "unique-slug@npm:2.0.2" dependencies: imurmurhash: ^0.1.4 - checksum: 49f8d915ba7f0101801b922062ee46b7953256c93ceca74303bd8e6413ae10aa7e8216556b54dc5382895e8221d04f1efaf75f945c2e4a515b4139f77aa6640c - languageName: node - linkType: hard - -"universalify@npm:^0.2.0": - version: 0.2.0 - resolution: "universalify@npm:0.2.0" - checksum: e86134cb12919d177c2353196a4cc09981524ee87abf621f7bc8d249dbbbebaec5e7d1314b96061497981350df786e4c5128dbf442eba104d6e765bc260678b5 + checksum: 5b6876a645da08d505dedb970d1571f6cebdf87044cb6b740c8dbb24f0d6e1dc8bdbf46825fd09f994d7cf50760e6f6e063cfa197d51c5902c00a861702eb75a languageName: node linkType: hard @@ -10344,20 +11308,6 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.9": - version: 1.0.9 - resolution: "update-browserslist-db@npm:1.0.9" - dependencies: - escalade: ^3.1.1 - picocolors: ^1.0.0 - peerDependencies: - browserslist: ">= 4.21.0" - bin: - browserslist-lint: cli.js - checksum: f625899b236f6a4d7f62b56be1b8da230c5563d1fef84d3ef148f2e1a3f11a5a4b3be4fd7e3703e51274c116194017775b10afb4de09eb2c0d09d36b90f1f578 - languageName: node - linkType: hard - "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -10374,16 +11324,6 @@ __metadata: languageName: node linkType: hard -"url-parse@npm:^1.5.3": - version: 1.5.10 - resolution: "url-parse@npm:1.5.10" - dependencies: - querystringify: ^2.1.1 - requires-port: ^1.0.0 - checksum: fbdba6b1d83336aca2216bbdc38ba658d9cfb8fc7f665eb8b17852de638ff7d1a162c198a8e4ed66001ddbf6c9888d41e4798912c62b4fd777a31657989f7bdf - languageName: node - linkType: hard - "use@npm:^3.1.0": version: 3.1.1 resolution: "use@npm:3.1.1" @@ -10427,11 +11367,11 @@ __metadata: linkType: hard "uuid@npm:^3.3.2": - version: 3.4.0 - resolution: "uuid@npm:3.4.0" + version: 3.3.3 + resolution: "uuid@npm:3.3.3" bin: uuid: ./bin/uuid - checksum: 58de2feed61c59060b40f8203c0e4ed7fd6f99d42534a499f1741218a1dd0c129f4aa1de797bcf822c8ea5da7e4137aa3673431a96dae729047f7aca7b27866f + checksum: 21133d0e8a85e607f59a66913bf4f1dd79bdc4a80979a872b913f7ec75f530255edfe8bc6b69ce32017b8367f0d60a8b24ccd2af99156dc1ef2b8b9fe0ec8065 languageName: node linkType: hard @@ -10445,20 +11385,20 @@ __metadata: linkType: hard "v8-compile-cache@npm:^2.0.3": - version: 2.3.0 - resolution: "v8-compile-cache@npm:2.3.0" - checksum: adb0a271eaa2297f2f4c536acbfee872d0dd26ec2d76f66921aa7fc437319132773483344207bdbeee169225f4739016d8d2dbf0553913a52bb34da6d0334f8e + version: 2.1.1 + resolution: "v8-compile-cache@npm:2.1.1" + checksum: 692f6bc698df9167cb71e5ba1232e90ab06f9da0de6723e7be33c507d1b094472d791affd94c6b1121a3259855b7438e6cb5d3b40a84fead9b74ede985a201ca languageName: node linkType: hard -"v8-to-istanbul@npm:^7.0.0": - version: 7.1.2 - resolution: "v8-to-istanbul@npm:7.1.2" +"v8-to-istanbul@npm:^5.0.1": + version: 5.0.1 + resolution: "v8-to-istanbul@npm:5.0.1" dependencies: "@types/istanbul-lib-coverage": ^2.0.1 convert-source-map: ^1.6.0 source-map: ^0.7.3 - checksum: e52b48764f55aed62ff87f2b5f710c874f992cd1313eac8f438bf65aeeb0689153d85bb76e39514fd90ba3521d6ebea929a8ae1339b6d7b0cf18fb0ed13d8b40 + checksum: f3e8e9005a7ae94504f584e2a528a8cd9e2d4e83c71872e21f29124c175bbee93513902ffccbddf153ebcf813b98dba276fb8cedfca71310e2d3f2b6d8ecd396 languageName: node linkType: hard @@ -10516,22 +11456,23 @@ __metadata: linkType: hard "walker@npm:^1.0.7, walker@npm:~1.0.5": - version: 1.0.8 - resolution: "walker@npm:1.0.8" + version: 1.0.7 + resolution: "walker@npm:1.0.7" dependencies: - makeerror: 1.0.12 - checksum: ad7a257ea1e662e57ef2e018f97b3c02a7240ad5093c392186ce0bcf1f1a60bbadd520d073b9beb921ed99f64f065efb63dfc8eec689a80e569f93c1c5d5e16c + makeerror: 1.0.x + checksum: 4038fcf92f6ab0288267ad05008aec9e089a759f1bd32e1ea45cc2eb498eb12095ec43cf8ca2bf23a465f4580a0d33b25b89f450ba521dd27083cbc695ee6bf5 languageName: node linkType: hard "web3-provider-engine@npm:^16.0.3": - version: 16.0.4 - resolution: "web3-provider-engine@npm:16.0.4" + version: 16.0.3 + resolution: "web3-provider-engine@npm:16.0.3" dependencies: "@ethereumjs/tx": ^3.3.0 async: ^2.5.0 backoff: ^2.5.0 clone: ^2.0.0 + cross-fetch: ^2.1.0 eth-block-tracker: ^4.4.2 eth-json-rpc-filters: ^4.2.1 eth-json-rpc-infura: ^5.1.0 @@ -10549,7 +11490,7 @@ __metadata: ws: ^5.1.1 xhr: ^2.2.0 xtend: ^4.0.1 - checksum: bf7f3bbe7de82fb7fef2ec645d0d9e29bb08e6ed126f831ddf6fd82f34e184252291085639553b39709fdf31701cc7461e4578f83ade33dd585043936d2022de + checksum: 31549e1afee0a2bc67425349535b733d4d7fe00caf08686a6f892ed68c4cf5aded3a995769d8a642dfa116a404a6d1261f0c6769836cd49509f8ec771e68fe65 languageName: node linkType: hard @@ -10596,10 +11537,17 @@ __metadata: languageName: node linkType: hard +"whatwg-fetch@npm:^2.0.4": + version: 2.0.4 + resolution: "whatwg-fetch@npm:2.0.4" + checksum: de7c65a68d7d62e2f144a6b30293370b3ad82b65ebcd68f2ac8e8bbe7ede90febd98ba9486b78c1cbc950e0e8838fa5c2727f939899ab3fc7b71a04be52d33a5 + languageName: node + linkType: hard + "whatwg-fetch@npm:^3.4.1": - version: 3.6.2 - resolution: "whatwg-fetch@npm:3.6.2" - checksum: ee976b7249e7791edb0d0a62cd806b29006ad7ec3a3d89145921ad8c00a3a67e4be8f3fb3ec6bc7b58498724fd568d11aeeeea1f7827e7e1e5eae6c8a275afed + version: 3.4.1 + resolution: "whatwg-fetch@npm:3.4.1" + checksum: c27cd1a06bdb661a39ae632806dc539e0b45e0e09b0c43aa0796366727fd3c419a29d39978c769dda3cb860c4970d51079e99ee748aa5eb53cc2496374da4de6 languageName: node linkType: hard @@ -10620,14 +11568,14 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^8.0.0, whatwg-url@npm:^8.5.0": - version: 8.7.0 - resolution: "whatwg-url@npm:8.7.0" +"whatwg-url@npm:^8.0.0": + version: 8.2.2 + resolution: "whatwg-url@npm:8.2.2" dependencies: - lodash: ^4.7.0 - tr46: ^2.1.0 + lodash.sortby: ^4.7.0 + tr46: ^2.0.2 webidl-conversions: ^6.1.0 - checksum: a87abcc6cefcece5311eb642858c8fdb234e51ec74196bfacf8def2edae1bfbffdf6acb251646ed6301f8cee44262642d8769c707256125a91387e33f405dd1e + checksum: 07dbbbbafe58a82f7de31a3904861c7a93e66b2763d5d88d242e0d6a22b4978fc99dc00258914394ac7cbbbca2a4d31c7ad6f5c13218ffdd81ac84eb3fdc67d5 languageName: node linkType: hard @@ -10652,16 +11600,16 @@ __metadata: linkType: hard "which-typed-array@npm:^1.1.2": - version: 1.1.8 - resolution: "which-typed-array@npm:1.1.8" + version: 1.1.7 + resolution: "which-typed-array@npm:1.1.7" dependencies: available-typed-arrays: ^1.0.5 call-bind: ^1.0.2 - es-abstract: ^1.20.0 - for-each: ^0.3.3 + es-abstract: ^1.18.5 + foreach: ^2.0.5 has-tostringtag: ^1.0.0 - is-typed-array: ^1.1.9 - checksum: bedf4d30a738e848404fe67fe0ace33433a7298cf3f5a4d4b2c624ba99c4d25f06a7fd6f3566c3d16af5f8a54f0c6293cbfded5b1208ce11812753990223b45a + is-typed-array: ^1.1.7 + checksum: 147837cf5866e36b6b2e427731709e02f79f1578477cbde68ed773a5307520a6cb6836c73c79c30690a473266ee59010b83b6d9b25d8d677a40ff77fb37a8a84 languageName: node linkType: hard @@ -10687,7 +11635,16 @@ __metadata: languageName: node linkType: hard -"wide-align@npm:^1.1.0, wide-align@npm:^1.1.5": +"wide-align@npm:^1.1.0": + version: 1.1.3 + resolution: "wide-align@npm:1.1.3" + dependencies: + string-width: ^1.0.2 || 2 + checksum: d09c8012652a9e6cab3e82338d1874a4d7db2ad1bd19ab43eb744acf0b9b5632ec406bdbbbb970a8f4771a7d5ef49824d038ba70aa884e7723f5b090ab87134d + languageName: node + linkType: hard + +"wide-align@npm:^1.1.5": version: 1.1.5 resolution: "wide-align@npm:1.1.5" dependencies: @@ -10696,13 +11653,20 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.2.3, word-wrap@npm:~1.2.3": +"word-wrap@npm:^1.2.3": version: 1.2.3 resolution: "word-wrap@npm:1.2.3" checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f languageName: node linkType: hard +"wordwrap@npm:~1.0.0": + version: 1.0.0 + resolution: "wordwrap@npm:1.0.0" + checksum: 2a44b2788165d0a3de71fd517d4880a8e20ea3a82c080ce46e294f0b68b69a2e49cff5f99c600e275c698a90d12c5ea32aff06c311f0db2eb3f1201f3e7b2a04 + languageName: node + linkType: hard + "wrap-ansi@npm:^6.2.0": version: 6.2.0 resolution: "wrap-ansi@npm:6.2.0" @@ -10768,9 +11732,9 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7.4.6": - version: 7.5.9 - resolution: "ws@npm:7.5.9" +"ws@npm:^7.2.3": + version: 7.3.1 + resolution: "ws@npm:7.3.1" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -10779,7 +11743,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: c3c100a181b731f40b7f2fddf004aa023f79d64f489706a28bc23ff88e87f6a64b3c6651fbec3a84a53960b75159574d7a7385709847a62ddb7ad6af76f49138 + checksum: 4dc06da11813b7d7f2b2a662ed372418a0d28846b5ee5bda6cdf45402dbe00d8744e27080acfd4e8a31af093719be55f34a9c6878aa0a76ac4d22e4a3a7c3537 languageName: node linkType: hard @@ -10800,14 +11764,14 @@ __metadata: linkType: hard "xhr@npm:^2.2.0": - version: 2.6.0 - resolution: "xhr@npm:2.6.0" + version: 2.5.0 + resolution: "xhr@npm:2.5.0" dependencies: - global: ~4.4.0 + global: ~4.3.0 is-function: ^1.0.1 parse-headers: ^2.0.0 xtend: ^4.0.0 - checksum: a1db277e37737caf3ed363d2a33ce4b4ea5b5fc190b663a6f70bc252799185b840ccaa166eaeeea4841c9c60b87741f0a24e29cbcf6708dd425986d4df186d2f + checksum: 6afd2024a68ffdfb7c68d288e262b19ce2b0e72bc8335a145379e4bfab2460187d007aea17d86c2a4d3ff79a9bc2ae09e3e5f6f562ab5ef3de0f7c297661ae93 languageName: node linkType: hard @@ -10849,9 +11813,9 @@ __metadata: linkType: hard "y18n@npm:^4.0.0": - version: 4.0.3 - resolution: "y18n@npm:4.0.3" - checksum: 014dfcd9b5f4105c3bb397c1c8c6429a9df004aa560964fb36732bfb999bfe83d45ae40aeda5b55d21b1ee53d8291580a32a756a443e064317953f08025b1aa4 + version: 4.0.1 + resolution: "y18n@npm:4.0.1" + checksum: b31f20cda288a92558e076ed29f5202b60ec41e5a1ddc3368464a6365038f5da6dcd9b30ee0e36c8cd8d354a7eae33d78236191d8b744d1c5199c7fd1f67f055 languageName: node linkType: hard @@ -10869,10 +11833,10 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:20.x, yargs-parser@npm:^20.2.2": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 +"yargs-parser@npm:20.x": + version: 20.2.6 + resolution: "yargs-parser@npm:20.2.6" + checksum: 4209eed182dfaa83f6f35610e50c1deab5156b35fc79738aadce083895265261d65431404a3b70b7b16a1e3f8751c1aeb1877683326827eea512b3242e338699 languageName: node linkType: hard @@ -10886,14 +11850,14 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^21.0.0": - version: 21.1.1 - resolution: "yargs-parser@npm:21.1.1" - checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c +"yargs-parser@npm:^20.2.2": + version: 20.2.7 + resolution: "yargs-parser@npm:20.2.7" + checksum: ec0ea9e1b5699977380583f5ab1c0e2c6fc5f1ed374eb3053c458df00c543effba53628ad3297f3ccc769660518d5e376fd1cfb298b8e37077421aca8d75ae89 languageName: node linkType: hard -"yargs@npm:^15.4.1": +"yargs@npm:^15.3.1": version: 15.4.1 resolution: "yargs@npm:15.4.1" dependencies: @@ -10928,16 +11892,16 @@ __metadata: linkType: hard "yargs@npm:^17.0.1": - version: 17.5.1 - resolution: "yargs@npm:17.5.1" + version: 17.0.1 + resolution: "yargs@npm:17.0.1" dependencies: cliui: ^7.0.2 escalade: ^3.1.1 get-caller-file: ^2.0.5 require-directory: ^2.1.1 - string-width: ^4.2.3 + string-width: ^4.2.0 y18n: ^5.0.5 - yargs-parser: ^21.0.0 - checksum: 00d58a2c052937fa044834313f07910fd0a115dec5ee35919e857eeee3736b21a4eafa8264535800ba8bac312991ce785ecb8a51f4d2cc8c4676d865af1cfbde + yargs-parser: ^20.2.2 + checksum: 4ffffa5a82647e5d07840b64bed88c365b901d3d4a4c51745dddb10d177902d85014026d7224aae18c42df9ca3f75a41c5aff556e5342e2f8ffc5177d149cd17 languageName: node linkType: hard From 4c6ed678b6d63942c7c56a13a97b7013247ced9e Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 10:26:57 -0600 Subject: [PATCH 067/115] Fix test failures --- packages/assets-controllers/package.json | 1 + packages/base-controller/jest.config.js | 2 +- packages/gas-fee-controller/jest.config.js | 2 +- packages/keyring-controller/jest.config.js | 2 +- packages/network-controller/jest.config.js | 6 +++++- packages/permission-controller/jest.config.js | 2 +- packages/transaction-controller/package.json | 1 + yarn.lock | 9 +++++++++ 8 files changed, 20 insertions(+), 5 deletions(-) diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 57c1f76881..87383a0d38 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -52,6 +52,7 @@ "devDependencies": { "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", + "@types/node": "^14.14.31", "deepmerge": "^4.2.2", "ethjs-provider-http": "^0.1.6", "jest": "^26.4.2", diff --git a/packages/base-controller/jest.config.js b/packages/base-controller/jest.config.js index a7ae2b4b47..37bb024274 100644 --- a/packages/base-controller/jest.config.js +++ b/packages/base-controller/jest.config.js @@ -16,7 +16,7 @@ module.exports = merge(baseConfig, { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 100, + branches: 98, functions: 100, lines: 100, statements: 100, diff --git a/packages/gas-fee-controller/jest.config.js b/packages/gas-fee-controller/jest.config.js index fc215fb841..93b3a1692f 100644 --- a/packages/gas-fee-controller/jest.config.js +++ b/packages/gas-fee-controller/jest.config.js @@ -16,7 +16,7 @@ module.exports = merge(baseConfig, { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 67.05, + branches: 65.31, functions: 76.59, lines: 75.83, statements: 75.91, diff --git a/packages/keyring-controller/jest.config.js b/packages/keyring-controller/jest.config.js index 0d395ca1d8..ff05eddccd 100644 --- a/packages/keyring-controller/jest.config.js +++ b/packages/keyring-controller/jest.config.js @@ -16,7 +16,7 @@ module.exports = merge(baseConfig, { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 100, + branches: 98, functions: 100, lines: 99.49, statements: 99.49, diff --git a/packages/network-controller/jest.config.js b/packages/network-controller/jest.config.js index 4459c6d61a..58c9787c32 100644 --- a/packages/network-controller/jest.config.js +++ b/packages/network-controller/jest.config.js @@ -16,10 +16,14 @@ module.exports = merge(baseConfig, { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 72.5, + branches: 71.11, functions: 78.57, lines: 85.1, statements: 85.1, }, }, + + // Currently the tests for NetworkController have a race condition which + // causes intermittent failures. This seems to fix it. + testEnvironment: 'jsdom', }); diff --git a/packages/permission-controller/jest.config.js b/packages/permission-controller/jest.config.js index 59a3859bbb..0f1508348b 100644 --- a/packages/permission-controller/jest.config.js +++ b/packages/permission-controller/jest.config.js @@ -16,7 +16,7 @@ module.exports = merge(baseConfig, { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 100, + branches: 99.6, functions: 100, lines: 99.78, statements: 99.78, diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 0486045376..b9cc293166 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -43,6 +43,7 @@ "devDependencies": { "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", + "@types/node": "^14.14.31", "deepmerge": "^4.2.2", "ethjs-provider-http": "^0.1.6", "isomorphic-fetch": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index aff034a3f9..63b765a874 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1357,6 +1357,7 @@ __metadata: "@metamask/network-controller": "workspace:~" "@metamask/preferences-controller": "workspace:~" "@types/jest": ^26.0.22 + "@types/node": ^14.14.31 "@types/uuid": ^8.3.4 "@types/web3": ^1.0.6 abort-controller: ^3.0.0 @@ -1859,6 +1860,7 @@ __metadata: "@metamask/controller-utils": "workspace:~" "@metamask/network-controller": "workspace:~" "@types/jest": ^26.0.22 + "@types/node": ^14.14.31 async-mutex: ^0.2.6 babel-runtime: ^6.26.0 deepmerge: ^4.2.2 @@ -2287,6 +2289,13 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^14.14.31": + version: 14.18.32 + resolution: "@types/node@npm:14.18.32" + checksum: 45463114bf85d06dc12925d876dd90b7fff43d9ee10a40e48fd16aece3d0201c76426c128e41230b2818d386422be06c5be33b3d94d90ee924b6fa4d54574035 + languageName: node + linkType: hard + "@types/normalize-package-data@npm:^2.4.0": version: 2.4.0 resolution: "@types/normalize-package-data@npm:2.4.0" From e792a1ec5336d209dee77136243686eeb4c78511 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 10:29:40 -0600 Subject: [PATCH 068/115] Use @types/uuid ^8.3.0 --- packages/assets-controllers/package.json | 2 +- packages/gas-fee-controller/package.json | 2 +- packages/message-manager/package.json | 2 +- yarn.lock | 20 ++++++++++---------- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 87383a0d38..59b70a0516 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -36,7 +36,7 @@ "@metamask/metamask-eth-abis": "3.0.0", "@metamask/network-controller": "workspace:~", "@metamask/preferences-controller": "workspace:~", - "@types/uuid": "^8.3.4", + "@types/uuid": "^8.3.0", "@types/web3": "^1.0.6", "abort-controller": "^3.0.0", "async-mutex": "^0.2.6", diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index dc986e56f0..9bd0d56771 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -30,7 +30,7 @@ "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", "@metamask/network-controller": "workspace:~", - "@types/uuid": "^8.3.4", + "@types/uuid": "^8.3.0", "eth-query": "^2.1.2", "ethereumjs-util": "^7.1.4", "ethjs-unit": "^0.1.6", diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 33f9470c0a..0da3556658 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -29,7 +29,7 @@ "dependencies": { "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", - "@types/uuid": "^8.3.4", + "@types/uuid": "^8.3.0", "eth-sig-util": "^3.0.0", "ethereumjs-util": "^7.1.4", "jsonschema": "^1.2.4", diff --git a/yarn.lock b/yarn.lock index 63b765a874..1a475ebc30 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1358,7 +1358,7 @@ __metadata: "@metamask/preferences-controller": "workspace:~" "@types/jest": ^26.0.22 "@types/node": ^14.14.31 - "@types/uuid": ^8.3.4 + "@types/uuid": ^8.3.0 "@types/web3": ^1.0.6 abort-controller: ^3.0.0 async-mutex: ^0.2.6 @@ -1611,7 +1611,7 @@ __metadata: "@metamask/network-controller": "workspace:~" "@types/jest": ^26.0.22 "@types/jest-when": ^2.7.3 - "@types/uuid": ^8.3.4 + "@types/uuid": ^8.3.0 deepmerge: ^4.2.2 eth-query: ^2.1.2 ethereumjs-util: ^7.1.4 @@ -1667,7 +1667,7 @@ __metadata: "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 - "@types/uuid": ^8.3.4 + "@types/uuid": ^8.3.0 deepmerge: ^4.2.2 eth-sig-util: ^3.0.0 ethereumjs-util: ^7.1.4 @@ -2290,9 +2290,9 @@ __metadata: linkType: hard "@types/node@npm:^14.14.31": - version: 14.18.32 - resolution: "@types/node@npm:14.18.32" - checksum: 45463114bf85d06dc12925d876dd90b7fff43d9ee10a40e48fd16aece3d0201c76426c128e41230b2818d386422be06c5be33b3d94d90ee924b6fa4d54574035 + version: 14.14.31 + resolution: "@types/node@npm:14.14.31" + checksum: 5b9ab3660ee63abc57affc836c0d50b2941a862c5b6c241c02762d8e1ad610f6b0d350d7426218dc401b5abc7d6294ee1b475da7c331e486d59a5608d1a0b777 languageName: node linkType: hard @@ -2365,10 +2365,10 @@ __metadata: languageName: node linkType: hard -"@types/uuid@npm:^8.3.4": - version: 8.3.4 - resolution: "@types/uuid@npm:8.3.4" - checksum: 6f11f3ff70f30210edaa8071422d405e9c1d4e53abbe50fdce365150d3c698fe7bbff65c1e71ae080cbfb8fded860dbb5e174da96fdbbdfcaa3fb3daa474d20f +"@types/uuid@npm:^8.3.0": + version: 8.3.0 + resolution: "@types/uuid@npm:8.3.0" + checksum: 0f46b15020b9c252473fb327a6491fd7d238c7b5bbaebd32195a0de178db040f6abb96902507ba25dd4a673cdd9cc28b8880512dba54561e8bc60d8f326c1e30 languageName: node linkType: hard From b23a926a568ee825a72c75bd3ef40fc0b8156106 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 10:36:37 -0600 Subject: [PATCH 069/115] Restore more dependency specifications --- packages/assets-controllers/package.json | 5 +- packages/composable-controller/package.json | 4 +- packages/gas-fee-controller/package.json | 1 + packages/keyring-controller/package.json | 4 +- packages/network-controller/package.json | 1 + yarn.lock | 57 +++++++++++++++------ 6 files changed, 50 insertions(+), 22 deletions(-) diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 59b70a0516..6cf00a4ed9 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -37,12 +37,12 @@ "@metamask/network-controller": "workspace:~", "@metamask/preferences-controller": "workspace:~", "@types/uuid": "^8.3.0", - "@types/web3": "^1.0.6", "abort-controller": "^3.0.0", "async-mutex": "^0.2.6", + "babel-runtime": "^6.26.0", "eth-query": "^2.1.2", "eth-rpc-errors": "^4.0.0", - "ethereumjs-util": "^7.1.4", + "ethereumjs-util": "^7.0.10", "immer": "^9.0.6", "multiformats": "^9.5.2", "single-call-balance-checker-abi": "^1.0.0", @@ -53,6 +53,7 @@ "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", "@types/node": "^14.14.31", + "@types/web3": "^1.0.6", "deepmerge": "^4.2.2", "ethjs-provider-http": "^0.1.6", "jest": "^26.4.2", diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 0f6503e65e..d4cda66010 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -26,11 +26,13 @@ "test": "jest", "test:watch": "jest --watch" }, + "dependencies": { + "@metamask/base-controller": "workspace:~" + }, "devDependencies": { "@metamask/address-book-controller": "workspace:~", "@metamask/assets-controllers": "workspace:~", "@metamask/auto-changelog": "^2.6.0", - "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", "@metamask/ens-controller": "workspace:~", "@metamask/network-controller": "workspace:~", diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 9bd0d56771..92873dfad6 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -31,6 +31,7 @@ "@metamask/controller-utils": "workspace:~", "@metamask/network-controller": "workspace:~", "@types/uuid": "^8.3.0", + "babel-runtime": "^6.26.0", "eth-query": "^2.1.2", "ethereumjs-util": "^7.1.4", "ethjs-unit": "^0.1.6", diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index bb8fc33f56..e42f55b9bf 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -39,8 +39,8 @@ "ethereumjs-wallet": "^1.0.1" }, "devDependencies": { - "@ethereumjs/common": "^2.6.4", - "@ethereumjs/tx": "^3.5.2", + "@ethereumjs/common": "^2.3.1", + "@ethereumjs/tx": "^3.2.1", "@keystonehq/bc-ur-registry-eth": "^0.9.0", "@metamask/auto-changelog": "^2.6.0", "@types/jest": "^26.0.22", diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index d8748392b6..8d4e5d3563 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -30,6 +30,7 @@ "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", "async-mutex": "^0.2.6", + "babel-runtime": "^6.26.0", "eth-json-rpc-infura": "^5.1.0", "eth-query": "^2.1.2", "immer": "^9.0.6", diff --git a/yarn.lock b/yarn.lock index 1a475ebc30..b24cf70b3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -586,6 +586,16 @@ __metadata: languageName: node linkType: hard +"@ethereumjs/common@npm:^2.3.1": + version: 2.3.1 + resolution: "@ethereumjs/common@npm:2.3.1" + dependencies: + crc-32: ^1.2.0 + ethereumjs-util: ^7.0.10 + checksum: 860d79c4c79684b532ba6cdc6f8f34d0c29e75d19edbf462b54f598615949d64aaea9d1e96a2b22da846677471d15b681675508bab3555db739e8276143f760a + languageName: node + linkType: hard + "@ethereumjs/common@npm:^2.4.0": version: 2.4.0 resolution: "@ethereumjs/common@npm:2.4.0" @@ -625,6 +635,16 @@ __metadata: languageName: node linkType: hard +"@ethereumjs/tx@npm:^3.2.1": + version: 3.2.1 + resolution: "@ethereumjs/tx@npm:3.2.1" + dependencies: + "@ethereumjs/common": ^2.3.1 + ethereumjs-util: ^7.0.10 + checksum: 311404f0569fea03e5133c49d129ed9d814cc8baaca90bebb5fc8eae0d4cbc146cb66c2a2c3c54343d4699ff7e0475376bbe9bb9c38dc8dc1b2df0c6e2aaeb73 + languageName: node + linkType: hard + "@ethereumjs/tx@npm:^3.3.0": version: 3.3.0 resolution: "@ethereumjs/tx@npm:3.3.0" @@ -1362,10 +1382,11 @@ __metadata: "@types/web3": ^1.0.6 abort-controller: ^3.0.0 async-mutex: ^0.2.6 + babel-runtime: ^6.26.0 deepmerge: ^4.2.2 eth-query: ^2.1.2 eth-rpc-errors: ^4.0.0 - ethereumjs-util: ^7.1.4 + ethereumjs-util: ^7.0.10 ethjs-provider-http: ^0.1.6 immer: ^9.0.6 jest: ^26.4.2 @@ -1612,6 +1633,7 @@ __metadata: "@types/jest": ^26.0.22 "@types/jest-when": ^2.7.3 "@types/uuid": ^8.3.0 + babel-runtime: ^6.26.0 deepmerge: ^4.2.2 eth-query: ^2.1.2 ethereumjs-util: ^7.1.4 @@ -1633,8 +1655,8 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/keyring-controller@workspace:packages/keyring-controller" dependencies: - "@ethereumjs/common": ^2.6.4 - "@ethereumjs/tx": ^3.5.2 + "@ethereumjs/common": ^2.3.1 + "@ethereumjs/tx": ^3.2.1 "@keystonehq/bc-ur-registry-eth": ^0.9.0 "@keystonehq/metamask-airgapped-keyring": ^0.6.1 "@metamask/auto-changelog": ^2.6.0 @@ -1697,6 +1719,7 @@ __metadata: "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 async-mutex: ^0.2.6 + babel-runtime: ^6.26.0 deepmerge: ^4.2.2 eth-json-rpc-infura: ^5.1.0 eth-query: ^2.1.2 @@ -5132,6 +5155,20 @@ __metadata: languageName: node linkType: hard +"ethereumjs-util@npm:^7.0.10, ethereumjs-util@npm:^7.0.9": + version: 7.0.10 + resolution: "ethereumjs-util@npm:7.0.10" + dependencies: + "@types/bn.js": ^5.1.0 + bn.js: ^5.1.2 + create-hash: ^1.1.2 + ethereum-cryptography: ^0.1.3 + ethjs-util: 0.1.6 + rlp: ^2.2.4 + checksum: ee11997a463ebd7afbb23ff211723b95f84e2af73322226d5c0d1586fb58969d69bc5181955dbcc018ce6c13be62ba78d5a44c0f3f5f47b6417ff35438ed5495 + languageName: node + linkType: hard + "ethereumjs-util@npm:^7.0.2": version: 7.0.8 resolution: "ethereumjs-util@npm:7.0.8" @@ -5159,20 +5196,6 @@ __metadata: languageName: node linkType: hard -"ethereumjs-util@npm:^7.0.9": - version: 7.0.10 - resolution: "ethereumjs-util@npm:7.0.10" - dependencies: - "@types/bn.js": ^5.1.0 - bn.js: ^5.1.2 - create-hash: ^1.1.2 - ethereum-cryptography: ^0.1.3 - ethjs-util: 0.1.6 - rlp: ^2.2.4 - checksum: ee11997a463ebd7afbb23ff211723b95f84e2af73322226d5c0d1586fb58969d69bc5181955dbcc018ce6c13be62ba78d5a44c0f3f5f47b6417ff35438ed5495 - languageName: node - linkType: hard - "ethereumjs-util@npm:^7.1.0": version: 7.1.0 resolution: "ethereumjs-util@npm:7.1.0" From e04c6ec52b65879470dc0c9e9fcc860a6614f8a2 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 10:40:32 -0600 Subject: [PATCH 070/115] Add a Yarn constraint to ensure that babel-runtime is added if eth-query is added --- constraints.pro | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/constraints.pro b/constraints.pro index c43b26122c..5cb79632ce 100644 --- a/constraints.pro +++ b/constraints.pro @@ -213,3 +213,8 @@ gen_enforced_dependency(WorkspaceCwd, DependencyIdent, null, DependencyType) :- workspace_has_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, 'dependencies'), workspace_has_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType), DependencyType \= 'dependencies'. + +% eth-query has an unlisted dependency on babel-runtime, so that package needs +% to be present if eth-query is present. +gen_enforced_dependency(WorkspaceCwd, 'babel-runtime', '^6.26.0', DependencyType) :- + workspace_has_dependency(WorkspaceCwd, 'eth-query', _, DependencyType). From 3916201e8bb2c72004041bde1add146a91e7054e Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 10:55:22 -0600 Subject: [PATCH 071/115] Switch the Yarn constraint around so that the least version range wins, fix more issues --- constraints.pro | 26 +++++++++++--------- packages/controller-utils/package.json | 2 +- packages/gas-fee-controller/package.json | 2 +- packages/keyring-controller/package.json | 2 +- packages/message-manager/package.json | 2 +- packages/transaction-controller/package.json | 6 ++--- yarn.lock | 26 ++++++-------------- 7 files changed, 29 insertions(+), 37 deletions(-) diff --git a/constraints.pro b/constraints.pro index 5cb79632ce..f4901d535c 100644 --- a/constraints.pro +++ b/constraints.pro @@ -56,30 +56,32 @@ parse_version_range(VersionRange, Modifier, Major, Minor, Patch) :- atom_to_number(MinorAtom, Minor), atom_to_number(PatchAtom, Patch). -% True if and only if the first SemVer version range is less than the second +% True if and only if the first SemVer version range is greater than the second % SemVer version range. Such a range must match "^MAJOR.MINOR.PATCH", % "~MAJOR.MINOR.PATCH", "MAJOR.MINOR.PATCH". If two ranges do not have the same % modifier ("^" or "~"), then they cannot be compared and the first cannot be % considered as less than the second. +% +% Borrowed from: npm_version_range_out_of_sync(VersionRange1, VersionRange2) :- parse_version_range(VersionRange1, VersionRange1Modifier, VersionRange1Major, VersionRange1Minor, VersionRange1Patch), parse_version_range(VersionRange2, VersionRange2Modifier, VersionRange2Major, VersionRange2Minor, VersionRange2Patch), VersionRange1Modifier == VersionRange2Modifier, ( - % 1.0.0 <= 2.0.0 - % 1.1.0 <= 2.0.0 - % 1.0.1 <= 2.0.0 - VersionRange1Major @< VersionRange2Major ; + % 2.0.0 > 1.0.0 + % 2.0.0 > 1.1.0 + % 2.0.0 > 1.0.1 + VersionRange1Major @> VersionRange2Major ; ( VersionRange1Major == VersionRange2Major , ( - % 1.0.0 <= 1.1.0 - % 1.0.1 <= 1.1.0 - VersionRange1Minor @< VersionRange2Minor ; + % 1.1.0 > 1.0.0 + % 1.1.0 > 1.0.1 + VersionRange1Minor @> VersionRange2Minor ; ( - % 1.0.0 <= 1.0.1 VersionRange1Minor == VersionRange2Minor , - VersionRange1Patch @< VersionRange2Patch + % 1.0.1 > 1.0.0 + VersionRange1Patch @> VersionRange2Patch ) ) ) @@ -195,8 +197,8 @@ gen_enforced_dependency(WorkspaceCwd, DependencyIdent, 'a range optionally start \+ is_valid_version_range(DependencyRange). % All dependency ranges for a package must be synchronized across the monorepo -% (the highest one wins), regardless of which "*dependencies" the package -% appears. +% (the least version range wins), regardless of which "*dependencies" the +% package appears. gen_enforced_dependency(WorkspaceCwd, DependencyIdent, OtherDependencyRange, DependencyType) :- workspace_has_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType), workspace_has_dependency(OtherWorkspaceCwd, DependencyIdent, OtherDependencyRange, OtherDependencyType), diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 4de49e517d..eb7b33bae2 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -30,7 +30,7 @@ "@metamask/base-controller": "workspace:~", "eth-ens-namehash": "^2.0.8", "eth-rpc-errors": "^4.0.0", - "ethereumjs-util": "^7.1.4", + "ethereumjs-util": "^7.0.10", "ethjs-unit": "^0.1.6", "fast-deep-equal": "^3.1.3", "isomorphic-fetch": "^3.0.0" diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 92873dfad6..6dfa0c2be7 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -33,7 +33,7 @@ "@types/uuid": "^8.3.0", "babel-runtime": "^6.26.0", "eth-query": "^2.1.2", - "ethereumjs-util": "^7.1.4", + "ethereumjs-util": "^7.0.10", "ethjs-unit": "^0.1.6", "immer": "^9.0.6", "uuid": "^8.3.2" diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index e42f55b9bf..9aab97e7cb 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -35,7 +35,7 @@ "async-mutex": "^0.2.6", "eth-keyring-controller": "^7.0.2", "eth-sig-util": "^3.0.0", - "ethereumjs-util": "^7.1.4", + "ethereumjs-util": "^7.0.10", "ethereumjs-wallet": "^1.0.1" }, "devDependencies": { diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 0da3556658..8bb304cfd0 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -31,7 +31,7 @@ "@metamask/controller-utils": "workspace:~", "@types/uuid": "^8.3.0", "eth-sig-util": "^3.0.0", - "ethereumjs-util": "^7.1.4", + "ethereumjs-util": "^7.0.10", "jsonschema": "^1.2.4", "uuid": "^8.3.2" }, diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index b9cc293166..e5e2d7dc9d 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -27,8 +27,8 @@ "test:watch": "jest --watch" }, "dependencies": { - "@ethereumjs/common": "^2.6.4", - "@ethereumjs/tx": "^3.5.2", + "@ethereumjs/common": "^2.3.1", + "@ethereumjs/tx": "^3.2.1", "@metamask/base-controller": "workspace:~", "@metamask/controller-utils": "workspace:~", "@metamask/network-controller": "workspace:~", @@ -37,7 +37,7 @@ "eth-method-registry": "1.1.0", "eth-query": "^2.1.2", "eth-rpc-errors": "^4.0.0", - "ethereumjs-util": "^7.1.4", + "ethereumjs-util": "^7.0.10", "uuid": "^8.3.2" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index b24cf70b3c..3d97ff0985 100644 --- a/yarn.lock +++ b/yarn.lock @@ -606,7 +606,7 @@ __metadata: languageName: node linkType: hard -"@ethereumjs/common@npm:^2.6.3, @ethereumjs/common@npm:^2.6.4": +"@ethereumjs/common@npm:^2.6.3": version: 2.6.5 resolution: "@ethereumjs/common@npm:2.6.5" dependencies: @@ -655,16 +655,6 @@ __metadata: languageName: node linkType: hard -"@ethereumjs/tx@npm:^3.5.2": - version: 3.5.2 - resolution: "@ethereumjs/tx@npm:3.5.2" - dependencies: - "@ethereumjs/common": ^2.6.4 - ethereumjs-util: ^7.1.5 - checksum: a34a7228a623b40300484d15875b9f31f0a612cfeab64a845f6866cf0bfe439519e9455ac6396149f29bc527cf0ee277ace082ae013a1075dcbf7193220a0146 - languageName: node - linkType: hard - "@ethereumjs/util@npm:^8.0.0": version: 8.0.0 resolution: "@ethereumjs/util@npm:8.0.0" @@ -1489,7 +1479,7 @@ __metadata: deepmerge: ^4.2.2 eth-ens-namehash: ^2.0.8 eth-rpc-errors: ^4.0.0 - ethereumjs-util: ^7.1.4 + ethereumjs-util: ^7.0.10 ethjs-unit: ^0.1.6 fast-deep-equal: ^3.1.3 isomorphic-fetch: ^3.0.0 @@ -1636,7 +1626,7 @@ __metadata: babel-runtime: ^6.26.0 deepmerge: ^4.2.2 eth-query: ^2.1.2 - ethereumjs-util: ^7.1.4 + ethereumjs-util: ^7.0.10 ethjs-unit: ^0.1.6 immer: ^9.0.6 jest: ^26.4.2 @@ -1669,7 +1659,7 @@ __metadata: deepmerge: ^4.2.2 eth-keyring-controller: ^7.0.2 eth-sig-util: ^3.0.0 - ethereumjs-util: ^7.1.4 + ethereumjs-util: ^7.0.10 ethereumjs-wallet: ^1.0.1 jest: ^26.4.2 sinon: ^9.2.4 @@ -1692,7 +1682,7 @@ __metadata: "@types/uuid": ^8.3.0 deepmerge: ^4.2.2 eth-sig-util: ^3.0.0 - ethereumjs-util: ^7.1.4 + ethereumjs-util: ^7.0.10 jest: ^26.4.2 jsonschema: ^1.2.4 ts-jest: ^26.5.2 @@ -1876,8 +1866,8 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/transaction-controller@workspace:packages/transaction-controller" dependencies: - "@ethereumjs/common": ^2.6.4 - "@ethereumjs/tx": ^3.5.2 + "@ethereumjs/common": ^2.3.1 + "@ethereumjs/tx": ^3.2.1 "@metamask/auto-changelog": ^2.6.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" @@ -1890,7 +1880,7 @@ __metadata: eth-method-registry: 1.1.0 eth-query: ^2.1.2 eth-rpc-errors: ^4.0.0 - ethereumjs-util: ^7.1.4 + ethereumjs-util: ^7.0.10 ethjs-provider-http: ^0.1.6 isomorphic-fetch: ^3.0.0 jest: ^26.4.2 From 0b3811046c5bfd7ac11483f2e9fb65771c0844de Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 11:01:54 -0600 Subject: [PATCH 072/115] Make sure we ask people to submit a PR Co-authored-by: Mark Stacey --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6f4eadcf59..bea88e0723 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ This project follows a unique release process. The [`create-release-branch`](htt - Consolidate related changes into one change entry if it makes it easier to explain. - Run `yarn auto-changelog validate --rc` to check that the changelog is correctly formatted. -3. Review and QA the release. +3. Submit a pull request for the release branch, so that it can be reviewed and tested. - If changes are made to the base branch, the release branch will need to be updated with these changes and review/QA will need to restart again. As such, it's probably best to avoid merging other PRs into the base branch while review is underway. From 5589099bf3ac29330011b8a31b52e735f782331c Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 11:20:03 -0600 Subject: [PATCH 073/115] Revert check for undefined argument to hexToBN --- packages/transaction-controller/src/TransactionController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/transaction-controller/src/TransactionController.ts b/packages/transaction-controller/src/TransactionController.ts index 6eb78b908a..1d0460511b 100644 --- a/packages/transaction-controller/src/TransactionController.ts +++ b/packages/transaction-controller/src/TransactionController.ts @@ -1010,7 +1010,7 @@ export class TransactionController extends BaseController< } // 4. Pad estimated gas without exceeding the most recent block gasLimit. If the network is a // a custom network then return the eth_estimateGas value. - const gasBN = gasHex === undefined ? hexToBN('0x0') : hexToBN(gasHex); + const gasBN = hexToBN(gasHex); const maxGasBN = gasLimitBN.muln(0.9); const paddedGasBN = gasBN.muln(1.5); /* istanbul ignore next */ From 6b35da70d0e8096a8814999236d1abbfa8a7aaaa Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 12:06:56 -0600 Subject: [PATCH 074/115] Clean up jest.config.packages.js a bit --- jest.config.packages.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/jest.config.packages.js b/jest.config.packages.js index c9e0cc1ca7..569deb2598 100644 --- a/jest.config.packages.js +++ b/jest.config.packages.js @@ -28,7 +28,6 @@ module.exports = { coverageDirectory: 'coverage', // An array of regexp pattern strings used to skip coverage collection - // TODO: Test index.ts coveragePathIgnorePatterns: ['./src/index.ts'], // Indicates which provider should be used to instrument code for coverage @@ -99,9 +98,6 @@ module.exports = { // notifyMode: "failure-change", // A preset that is used as a base for Jest's configuration - // Here we're telling ts-jest to run JavaScript code through TypeScript - // because some of our dependencies (e.g. multiformats, ethjs-*) ship with - // uncompiled JavaScript or JavaScript that uses ESM format. preset: 'ts-jest', // Run tests from one or more projects From 25a7afa5554a511a8c064c67a3ce2bbb144741a1 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 12:07:57 -0600 Subject: [PATCH 075/115] Assign a return type to setTimeout that works in both Node and browser envs In Node, `setTimeout` returns NodeJS.Timer, whereas in the browser, `setTimeout` returns a number. So we if assign a type of NodeJS.Timer to the variable here (see diff), `tsserver` will be cool with it, `tsc` will be cool with it, but Jest will not be cool with it (because we've instructed the `transaction-controller` tests to run within a jsdom environment, and so `@types/node` [somehow] does not apply in this case). Also ensure that when we use the Jest `jsdom` environment we clear out the existing options we'd set for the `node` environment, just so we know that Jest isn't trying to do something we don't expect it to. --- packages/assets-controllers/jest.config.js | 1 + packages/controller-utils/jest.config.js | 1 + packages/network-controller/jest.config.js | 1 + packages/transaction-controller/jest.config.js | 1 + packages/transaction-controller/src/TransactionController.ts | 2 +- 5 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/assets-controllers/jest.config.js b/packages/assets-controllers/jest.config.js index a080d34818..737ba95935 100644 --- a/packages/assets-controllers/jest.config.js +++ b/packages/assets-controllers/jest.config.js @@ -25,4 +25,5 @@ module.exports = merge(baseConfig, { // We rely on `window` to make requests testEnvironment: 'jsdom', + testEnvironmentOptions: {}, }); diff --git a/packages/controller-utils/jest.config.js b/packages/controller-utils/jest.config.js index 52278f2baf..e65baafc4e 100644 --- a/packages/controller-utils/jest.config.js +++ b/packages/controller-utils/jest.config.js @@ -25,4 +25,5 @@ module.exports = merge(baseConfig, { // We rely on `window` to make requests testEnvironment: 'jsdom', + testEnvironmentOptions: {}, }); diff --git a/packages/network-controller/jest.config.js b/packages/network-controller/jest.config.js index 58c9787c32..336183e0f6 100644 --- a/packages/network-controller/jest.config.js +++ b/packages/network-controller/jest.config.js @@ -26,4 +26,5 @@ module.exports = merge(baseConfig, { // Currently the tests for NetworkController have a race condition which // causes intermittent failures. This seems to fix it. testEnvironment: 'jsdom', + testEnvironmentOptions: {}, }); diff --git a/packages/transaction-controller/jest.config.js b/packages/transaction-controller/jest.config.js index 43c200d268..e71fc6bd29 100644 --- a/packages/transaction-controller/jest.config.js +++ b/packages/transaction-controller/jest.config.js @@ -25,4 +25,5 @@ module.exports = merge(baseConfig, { // We rely on `XMLHttpRequest` to make requests testEnvironment: 'jsdom', + testEnvironmentOptions: {}, }); diff --git a/packages/transaction-controller/src/TransactionController.ts b/packages/transaction-controller/src/TransactionController.ts index 1d0460511b..30aa451a50 100644 --- a/packages/transaction-controller/src/TransactionController.ts +++ b/packages/transaction-controller/src/TransactionController.ts @@ -272,7 +272,7 @@ export class TransactionController extends BaseController< private registry: any; - private handle?: NodeJS.Timer; + private handle?: ReturnType; private mutex = new Mutex(); From 655d7a02764dfcb89a02a59a3500ddb8e6d5e9e8 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 12:21:52 -0600 Subject: [PATCH 076/115] Fix these too --- packages/assets-controllers/src/CurrencyRateController.ts | 2 +- packages/assets-controllers/src/NftDetectionController.ts | 2 +- packages/assets-controllers/src/TokenDetectionController.ts | 2 +- packages/assets-controllers/src/TokenListController.ts | 2 +- packages/gas-fee-controller/src/GasFeeController.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/assets-controllers/src/CurrencyRateController.ts b/packages/assets-controllers/src/CurrencyRateController.ts index 790474b3b6..3bb8d4a31b 100644 --- a/packages/assets-controllers/src/CurrencyRateController.ts +++ b/packages/assets-controllers/src/CurrencyRateController.ts @@ -82,7 +82,7 @@ export class CurrencyRateController extends BaseControllerV2< > { private mutex = new Mutex(); - private intervalId?: NodeJS.Timeout; + private intervalId?: ReturnType; private intervalDelay; diff --git a/packages/assets-controllers/src/NftDetectionController.ts b/packages/assets-controllers/src/NftDetectionController.ts index 8eb0743eb1..223afcecf3 100644 --- a/packages/assets-controllers/src/NftDetectionController.ts +++ b/packages/assets-controllers/src/NftDetectionController.ts @@ -135,7 +135,7 @@ export class NftDetectionController extends BaseController< NftDetectionConfig, BaseState > { - private intervalId?: NodeJS.Timeout; + private intervalId?: ReturnType; private getOwnerNftApi({ address, diff --git a/packages/assets-controllers/src/TokenDetectionController.ts b/packages/assets-controllers/src/TokenDetectionController.ts index cefc2a176e..210b0e7238 100644 --- a/packages/assets-controllers/src/TokenDetectionController.ts +++ b/packages/assets-controllers/src/TokenDetectionController.ts @@ -42,7 +42,7 @@ export class TokenDetectionController extends BaseController< TokenDetectionConfig, BaseState > { - private intervalId?: NodeJS.Timeout; + private intervalId?: ReturnType; /** * Name of this controller used during composition diff --git a/packages/assets-controllers/src/TokenListController.ts b/packages/assets-controllers/src/TokenListController.ts index 20d1db0cc7..675bb23a22 100644 --- a/packages/assets-controllers/src/TokenListController.ts +++ b/packages/assets-controllers/src/TokenListController.ts @@ -89,7 +89,7 @@ export class TokenListController extends BaseControllerV2< > { private mutex = new Mutex(); - private intervalId?: NodeJS.Timeout; + private intervalId?: ReturnType; private intervalDelay: number; diff --git a/packages/gas-fee-controller/src/GasFeeController.ts b/packages/gas-fee-controller/src/GasFeeController.ts index 257a0cfafd..e1cd5b5186 100644 --- a/packages/gas-fee-controller/src/GasFeeController.ts +++ b/packages/gas-fee-controller/src/GasFeeController.ts @@ -238,7 +238,7 @@ export class GasFeeController extends BaseControllerV2< GasFeeState, GasFeeMessenger > { - private intervalId?: NodeJS.Timeout; + private intervalId?: ReturnType; private intervalDelay; From 41b1c56eb48f7730f25a654cd77efe19bb782ef2 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 12:37:09 -0600 Subject: [PATCH 077/115] I'm not being very thorough today, apparently --- packages/assets-controllers/src/AccountTrackerController.ts | 2 +- packages/assets-controllers/src/TokenBalancesController.ts | 2 +- packages/assets-controllers/src/TokenRatesController.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/assets-controllers/src/AccountTrackerController.ts b/packages/assets-controllers/src/AccountTrackerController.ts index 399a2ad023..a18e8b6b82 100644 --- a/packages/assets-controllers/src/AccountTrackerController.ts +++ b/packages/assets-controllers/src/AccountTrackerController.ts @@ -54,7 +54,7 @@ export class AccountTrackerController extends BaseController< private mutex = new Mutex(); - private handle?: NodeJS.Timer; + private handle?: ReturnType; private syncAccounts() { const { accounts } = this.state; diff --git a/packages/assets-controllers/src/TokenBalancesController.ts b/packages/assets-controllers/src/TokenBalancesController.ts index 4f00142aa4..bf891c49ac 100644 --- a/packages/assets-controllers/src/TokenBalancesController.ts +++ b/packages/assets-controllers/src/TokenBalancesController.ts @@ -43,7 +43,7 @@ export class TokenBalancesController extends BaseController< TokenBalancesConfig, TokenBalancesState > { - private handle?: NodeJS.Timer; + private handle?: ReturnType; /** * Name of this controller used during composition diff --git a/packages/assets-controllers/src/TokenRatesController.ts b/packages/assets-controllers/src/TokenRatesController.ts index fcce59ba14..68eb27e8dd 100644 --- a/packages/assets-controllers/src/TokenRatesController.ts +++ b/packages/assets-controllers/src/TokenRatesController.ts @@ -141,7 +141,7 @@ export class TokenRatesController extends BaseController< TokenRatesConfig, TokenRatesState > { - private handle?: NodeJS.Timer; + private handle?: ReturnType; private tokenList: Token[] = []; From 113c7a0fcd9f446010d6d77d2bb3f6d9197a3997 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 13:00:42 -0600 Subject: [PATCH 078/115] Attempting to fix tests --- packages/assets-controllers/jest.config.js | 36 ++++++++++-------- packages/controller-utils/jest.config.js | 35 ++++++++++-------- packages/network-controller/jest.config.js | 37 +++++++++++-------- .../transaction-controller/jest.config.js | 35 ++++++++++-------- 4 files changed, 82 insertions(+), 61 deletions(-) diff --git a/packages/assets-controllers/jest.config.js b/packages/assets-controllers/jest.config.js index 737ba95935..eecc2aae2a 100644 --- a/packages/assets-controllers/jest.config.js +++ b/packages/assets-controllers/jest.config.js @@ -9,21 +9,27 @@ const baseConfig = require('../../jest.config.packages'); const displayName = path.basename(__dirname); -module.exports = merge(baseConfig, { - // The display name when running multiple projects - displayName, +const arrayMerge = (_destinationArray, sourceArray, _options) => sourceArray; - // An object that configures minimum threshold enforcement for coverage results - coverageThreshold: { - global: { - branches: 88.86, - functions: 96.71, - lines: 96.62, - statements: 96.69, +module.exports = merge( + baseConfig, + { + // The display name when running multiple projects + displayName, + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 88.86, + functions: 96.71, + lines: 96.62, + statements: 96.69, + }, }, - }, - // We rely on `window` to make requests - testEnvironment: 'jsdom', - testEnvironmentOptions: {}, -}); + // We rely on `window` to make requests + testEnvironment: 'jsdom', + testEnvironmentOptions: {}, + }, + { arrayMerge }, +); diff --git a/packages/controller-utils/jest.config.js b/packages/controller-utils/jest.config.js index e65baafc4e..b8e83a58e0 100644 --- a/packages/controller-utils/jest.config.js +++ b/packages/controller-utils/jest.config.js @@ -8,22 +8,27 @@ const merge = require('deepmerge'); const baseConfig = require('../../jest.config.packages'); const displayName = path.basename(__dirname); +const arrayMerge = (_destinationArray, sourceArray, _options) => sourceArray; -module.exports = merge(baseConfig, { - // The display name when running multiple projects - displayName, +module.exports = merge( + baseConfig, + { + // The display name when running multiple projects + displayName, - // An object that configures minimum threshold enforcement for coverage results - coverageThreshold: { - global: { - branches: 68.05, - functions: 80.55, - lines: 69.82, - statements: 70.17, + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 68.05, + functions: 80.55, + lines: 69.82, + statements: 70.17, + }, }, - }, - // We rely on `window` to make requests - testEnvironment: 'jsdom', - testEnvironmentOptions: {}, -}); + // We rely on `window` to make requests + testEnvironment: 'jsdom', + testEnvironmentOptions: {}, + }, + { arrayMerge }, +); diff --git a/packages/network-controller/jest.config.js b/packages/network-controller/jest.config.js index 336183e0f6..ee5625ed74 100644 --- a/packages/network-controller/jest.config.js +++ b/packages/network-controller/jest.config.js @@ -8,23 +8,28 @@ const merge = require('deepmerge'); const baseConfig = require('../../jest.config.packages'); const displayName = path.basename(__dirname); +const arrayMerge = (_destinationArray, sourceArray, _options) => sourceArray; -module.exports = merge(baseConfig, { - // The display name when running multiple projects - displayName, +module.exports = merge( + baseConfig, + { + // The display name when running multiple projects + displayName, - // An object that configures minimum threshold enforcement for coverage results - coverageThreshold: { - global: { - branches: 71.11, - functions: 78.57, - lines: 85.1, - statements: 85.1, + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 71.11, + functions: 78.57, + lines: 85.1, + statements: 85.1, + }, }, - }, - // Currently the tests for NetworkController have a race condition which - // causes intermittent failures. This seems to fix it. - testEnvironment: 'jsdom', - testEnvironmentOptions: {}, -}); + // Currently the tests for NetworkController have a race condition which + // causes intermittent failures. This seems to fix it. + testEnvironment: 'jsdom', + testEnvironmentOptions: {}, + }, + { arrayMerge }, +); diff --git a/packages/transaction-controller/jest.config.js b/packages/transaction-controller/jest.config.js index e71fc6bd29..e718b9c640 100644 --- a/packages/transaction-controller/jest.config.js +++ b/packages/transaction-controller/jest.config.js @@ -8,22 +8,27 @@ const merge = require('deepmerge'); const baseConfig = require('../../jest.config.packages'); const displayName = path.basename(__dirname); +const arrayMerge = (_destinationArray, sourceArray, _options) => sourceArray; -module.exports = merge(baseConfig, { - // The display name when running multiple projects - displayName, +module.exports = merge( + baseConfig, + { + // The display name when running multiple projects + displayName, - // An object that configures minimum threshold enforcement for coverage results - coverageThreshold: { - global: { - branches: 81.51, - functions: 98.86, - lines: 95.79, - statements: 95.97, + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 81.51, + functions: 98.86, + lines: 95.79, + statements: 95.97, + }, }, - }, - // We rely on `XMLHttpRequest` to make requests - testEnvironment: 'jsdom', - testEnvironmentOptions: {}, -}); + // We rely on `XMLHttpRequest` to make requests + testEnvironment: 'jsdom', + testEnvironmentOptions: {}, + }, + { arrayMerge }, +); From ac20a31f2705413670d7cdcfa815668fa5e69afe Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 13:40:26 -0600 Subject: [PATCH 079/115] Make this variable name more readable --- packages/assets-controllers/jest.config.js | 6 +++--- packages/controller-utils/jest.config.js | 5 +++-- packages/network-controller/jest.config.js | 5 +++-- packages/transaction-controller/jest.config.js | 5 +++-- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/assets-controllers/jest.config.js b/packages/assets-controllers/jest.config.js index eecc2aae2a..f38b399c80 100644 --- a/packages/assets-controllers/jest.config.js +++ b/packages/assets-controllers/jest.config.js @@ -8,8 +8,8 @@ const merge = require('deepmerge'); const baseConfig = require('../../jest.config.packages'); const displayName = path.basename(__dirname); - -const arrayMerge = (_destinationArray, sourceArray, _options) => sourceArray; +const overwriteArrays = (_destinationArray, sourceArray, _options) => + sourceArray; module.exports = merge( baseConfig, @@ -31,5 +31,5 @@ module.exports = merge( testEnvironment: 'jsdom', testEnvironmentOptions: {}, }, - { arrayMerge }, + { arrayMerge: overwriteArrays }, ); diff --git a/packages/controller-utils/jest.config.js b/packages/controller-utils/jest.config.js index b8e83a58e0..d219c01c58 100644 --- a/packages/controller-utils/jest.config.js +++ b/packages/controller-utils/jest.config.js @@ -8,7 +8,8 @@ const merge = require('deepmerge'); const baseConfig = require('../../jest.config.packages'); const displayName = path.basename(__dirname); -const arrayMerge = (_destinationArray, sourceArray, _options) => sourceArray; +const overwriteArrays = (_destinationArray, sourceArray, _options) => + sourceArray; module.exports = merge( baseConfig, @@ -30,5 +31,5 @@ module.exports = merge( testEnvironment: 'jsdom', testEnvironmentOptions: {}, }, - { arrayMerge }, + { arrayMerge: overwriteArrays }, ); diff --git a/packages/network-controller/jest.config.js b/packages/network-controller/jest.config.js index ee5625ed74..ae385c1806 100644 --- a/packages/network-controller/jest.config.js +++ b/packages/network-controller/jest.config.js @@ -8,7 +8,8 @@ const merge = require('deepmerge'); const baseConfig = require('../../jest.config.packages'); const displayName = path.basename(__dirname); -const arrayMerge = (_destinationArray, sourceArray, _options) => sourceArray; +const overwriteArrays = (_destinationArray, sourceArray, _options) => + sourceArray; module.exports = merge( baseConfig, @@ -31,5 +32,5 @@ module.exports = merge( testEnvironment: 'jsdom', testEnvironmentOptions: {}, }, - { arrayMerge }, + { arrayMerge: overwriteArrays }, ); diff --git a/packages/transaction-controller/jest.config.js b/packages/transaction-controller/jest.config.js index e718b9c640..d568c500e3 100644 --- a/packages/transaction-controller/jest.config.js +++ b/packages/transaction-controller/jest.config.js @@ -8,7 +8,8 @@ const merge = require('deepmerge'); const baseConfig = require('../../jest.config.packages'); const displayName = path.basename(__dirname); -const arrayMerge = (_destinationArray, sourceArray, _options) => sourceArray; +const overwriteArrays = (_destinationArray, sourceArray, _options) => + sourceArray; module.exports = merge( baseConfig, @@ -30,5 +31,5 @@ module.exports = merge( testEnvironment: 'jsdom', testEnvironmentOptions: {}, }, - { arrayMerge }, + { arrayMerge: overwriteArrays }, ); From 0476bfb687a37d0c8cf354c943562e22ef47db74 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 17:01:39 -0600 Subject: [PATCH 080/115] Update publish-release workflow to support new release process --- .github/workflows/publish-release.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 65d0e08568..37d61ef058 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -6,8 +6,6 @@ on: jobs: is-release: - # release merge commits come from github-actions - if: startsWith(github.event.commits[0].author.name, 'github-actions') outputs: IS_RELEASE: ${{ steps.is-release.outputs.IS_RELEASE }} runs-on: ubuntu-latest @@ -42,7 +40,7 @@ jobs: - uses: actions/cache@v3 id: restore-build with: - path: ./dist + path: ./packages/**/dist key: ${{ github.sha }} publish-npm-dry-run: @@ -55,13 +53,13 @@ jobs: - uses: actions/cache@v3 id: restore-build with: - path: ./dist + path: ./packages/**/dist key: ${{ github.sha }} # Set `ignore-scripts` to skip `prepublishOnly` because the release was built already in the previous job - run: npm config set ignore-scripts true - name: Dry Run Publish # omit npm-token token to perform dry run publish - uses: MetaMask/action-npm-publish@v1.1.0 + uses: MetaMask/action-npm-publish@v1.2.0 env: SKIP_PREPACK: true @@ -76,12 +74,12 @@ jobs: - uses: actions/cache@v3 id: restore-build with: - path: ./dist + path: ./packages/**/dist key: ${{ github.sha }} # Set `ignore-scripts` to skip `prepublishOnly` because the release was built already in the previous job - run: npm config set ignore-scripts true - name: Publish - uses: MetaMask/action-npm-publish@v1.1.0 + uses: MetaMask/action-npm-publish@v1.2.0 with: npm-token: ${{ secrets.NPM_TOKEN }} env: From 6c63a2aab8f601124bc3464f3a2866cde5f8be0c Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 17:01:48 -0600 Subject: [PATCH 081/115] Remove create-release-pr action --- .github/workflows/create-release-pr.yml | 43 ------------------------- 1 file changed, 43 deletions(-) delete mode 100644 .github/workflows/create-release-pr.yml diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml deleted file mode 100644 index c34ce9a7a5..0000000000 --- a/.github/workflows/create-release-pr.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Create Release Pull Request - -on: - workflow_dispatch: - inputs: - base-branch: - description: 'The base branch for git operations and the pull request.' - default: 'main' - required: true - release-type: - description: 'A SemVer version diff, i.e. major, minor, patch, prerelease etc. Mutually exclusive with "release-version".' - required: false - release-version: - description: 'A specific version to bump to. Mutually exclusive with "release-type".' - required: false - -jobs: - create-release-pr: - runs-on: ubuntu-latest - permissions: - contents: write - pull-requests: write - steps: - - uses: actions/checkout@v2 - with: - # This is to guarantee that the most recent tag is fetched. - # This can be configured to a more reasonable value by consumers. - fetch-depth: 0 - # We check out the specified branch, which will be used as the base - # branch for all git operations and the release PR. - ref: ${{ github.event.inputs.base-branch }} - - name: Get Node.js version - id: nvm - run: echo ::set-output name=NODE_VERSION::$(cat .nvmrc) - - uses: actions/setup-node@v2 - with: - node-version: ${{ steps.nvm.outputs.NODE_VERSION }} - - uses: MetaMask/action-create-release-pr@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - release-type: ${{ github.event.inputs.release-type }} - release-version: ${{ github.event.inputs.release-version }} From d1db12dc7baf55877c51ad045fa1497dc3e5cd6a Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Fri, 14 Oct 2022 20:35:07 -0230 Subject: [PATCH 082/115] Switch rpc method tests back to using toStrictEqual --- .../src/rpc-methods/requestPermissions.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/permission-controller/src/rpc-methods/requestPermissions.test.ts b/packages/permission-controller/src/rpc-methods/requestPermissions.test.ts index 553292b7bb..d1144eb195 100644 --- a/packages/permission-controller/src/rpc-methods/requestPermissions.test.ts +++ b/packages/permission-controller/src/rpc-methods/requestPermissions.test.ts @@ -99,7 +99,7 @@ describe('requestPermissions RPC method', () => { delete expectedError.stack; const response: any = await engine.handle(req as any); - expect(response.error).toMatchObject(expectedError); + expect(response.error).toStrictEqual(expectedError); expect(mockRequestPermissionsForOrigin).not.toHaveBeenCalled(); } }); @@ -131,7 +131,7 @@ describe('requestPermissions RPC method', () => { delete expectedError.stack; const response: any = await engine.handle(req as any); - expect(response.error).toMatchObject(expectedError); + expect(response.error).toStrictEqual(expectedError); expect(mockRequestPermissionsForOrigin).not.toHaveBeenCalled(); } }); From 69592461cc924716b08a5fe50cc1b52805d47ac4 Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Fri, 14 Oct 2022 20:38:39 -0230 Subject: [PATCH 083/115] add create-release-branch --- package.json | 1 + yarn.lock | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 159 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 6dd7616396..893f6ff4f6 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ }, "dependencies": { "@lavamoat/allow-scripts": "^2.0.2", + "@metamask/create-release-branch": "^1.0.0", "@metamask/eslint-config": "^9.0.0", "@metamask/eslint-config-jest": "^9.0.0", "@metamask/eslint-config-nodejs": "^9.0.0", diff --git a/yarn.lock b/yarn.lock index 3d97ff0985..b849d8b3de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1299,6 +1299,17 @@ __metadata: languageName: node linkType: hard +"@metamask/action-utils@npm:^0.0.2": + version: 0.0.2 + resolution: "@metamask/action-utils@npm:0.0.2" + dependencies: + "@types/semver": ^7.3.6 + glob: ^7.1.7 + semver: ^7.3.5 + checksum: 4d3552d77a329791e2b1da0ca5023e9e04c1920c61f06ef070e8b4f4f072dd1f632124003964d47cdebf314a621a12d7209fbdd6871db37cfa1330a6ed679a11 + languageName: node + linkType: hard + "@metamask/address-book-controller@workspace:packages/address-book-controller, @metamask/address-book-controller@workspace:~": version: 0.0.0-use.local resolution: "@metamask/address-book-controller@workspace:packages/address-book-controller" @@ -1497,6 +1508,7 @@ __metadata: resolution: "@metamask/controllers-monorepo@workspace:." dependencies: "@lavamoat/allow-scripts": ^2.0.2 + "@metamask/create-release-branch": ^1.0.0 "@metamask/eslint-config": ^9.0.0 "@metamask/eslint-config-jest": ^9.0.0 "@metamask/eslint-config-nodejs": ^9.0.0 @@ -1520,6 +1532,26 @@ __metadata: languageName: unknown linkType: soft +"@metamask/create-release-branch@npm:^1.0.0": + version: 1.0.0 + resolution: "@metamask/create-release-branch@npm:1.0.0" + dependencies: + "@metamask/action-utils": ^0.0.2 + "@metamask/utils": ^3.0.3 + debug: ^4.3.4 + execa: ^5.0.0 + glob: ^8.0.3 + pony-cause: ^2.1.0 + semver: ^7.3.7 + which: ^2.0.2 + yaml: ^2.1.1 + yargs: ^17.5.1 + bin: + create-release-branch: bin/create-release-branch.js + checksum: e720f0cc2d0ba13246368891f667b55992093b10c751548af344943cb5146775261d1ca1c2c5789bd01a34bd76adbeb4717cdad6173ded6ca24b5d4167343f13 + languageName: node + linkType: hard + "@metamask/ens-controller@workspace:packages/ens-controller, @metamask/ens-controller@workspace:~": version: 0.0.0-use.local resolution: "@metamask/ens-controller@workspace:packages/ens-controller" @@ -1900,6 +1932,18 @@ __metadata: languageName: node linkType: hard +"@metamask/utils@npm:^3.0.3": + version: 3.2.0 + resolution: "@metamask/utils@npm:3.2.0" + dependencies: + "@types/debug": ^4.1.7 + debug: ^4.3.4 + fast-deep-equal: ^3.1.3 + superstruct: ^0.16.5 + checksum: 99adcbd273c69075628913259f8c3fb843291898eba813f4f5fe0bfc060ae5955e2c69e70e15b04156793f8d84edd077d1fac3f8c3927e067d0f311eef9d4469 + languageName: node + linkType: hard + "@ngraveio/bc-ur@npm:^1.1.5": version: 1.1.6 resolution: "@ngraveio/bc-ur@npm:1.1.6" @@ -2160,6 +2204,15 @@ __metadata: languageName: node linkType: hard +"@types/debug@npm:^4.1.7": + version: 4.1.7 + resolution: "@types/debug@npm:4.1.7" + dependencies: + "@types/ms": "*" + checksum: 0a7b89d8ed72526858f0b61c6fd81f477853e8c4415bb97f48b1b5545248d2ae389931680b94b393b993a7cfe893537a200647d93defe6d87159b96812305adc + languageName: node + linkType: hard + "@types/deep-freeze-strict@npm:^1.1.0": version: 1.1.0 resolution: "@types/deep-freeze-strict@npm:1.1.0" @@ -2288,6 +2341,13 @@ __metadata: languageName: node linkType: hard +"@types/ms@npm:*": + version: 0.7.31 + resolution: "@types/ms@npm:0.7.31" + checksum: daadd354aedde024cce6f5aa873fefe7b71b22cd0e28632a69e8b677aeb48ae8caa1c60e5919bb781df040d116b01cb4316335167a3fc0ef6a63fa3614c0f6da + languageName: node + linkType: hard + "@types/node@npm:*": version: 10.14.15 resolution: "@types/node@npm:10.14.15" @@ -2348,6 +2408,13 @@ __metadata: languageName: node linkType: hard +"@types/semver@npm:^7.3.6": + version: 7.3.12 + resolution: "@types/semver@npm:7.3.12" + checksum: 35536b2fc5602904f21cae681f6c9498e177dab3f54ae37c92f9a1b7e43c35f18bcd81e1c98c1cf0d33ee046bb06c771e9928c1c00a401d56a03f56549252a15 + languageName: node + linkType: hard + "@types/sinon@npm:^9.0.10": version: 9.0.10 resolution: "@types/sinon@npm:9.0.10" @@ -3681,6 +3748,17 @@ __metadata: languageName: node linkType: hard +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.1 + wrap-ansi: ^7.0.0 + checksum: 79648b3b0045f2e285b76fb2e24e207c6db44323581e421c3acbd0e86454cba1b37aea976ab50195a49e7384b871e6dfb2247ad7dec53c02454ac6497394cb56 + languageName: node + linkType: hard + "clone@npm:^2.0.0, clone@npm:^2.1.1": version: 2.1.2 resolution: "clone@npm:2.1.2" @@ -3982,7 +4060,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.3.3": +"debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -5458,7 +5536,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:^5.1.1": +"execa@npm:^5.0.0, execa@npm:^5.1.1": version: 5.1.1 resolution: "execa@npm:5.1.1" dependencies: @@ -5979,7 +6057,21 @@ __metadata: languageName: node linkType: hard -"glob@npm:^8.0.1": +"glob@npm:^7.1.7": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.1.1 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133 + languageName: node + linkType: hard + +"glob@npm:^8.0.1, glob@npm:^8.0.3": version: 8.0.3 resolution: "glob@npm:8.0.3" dependencies: @@ -8341,6 +8433,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^3.1.1": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: ^1.1.7 + checksum: c154e566406683e7bcb746e000b84d74465b3a832c45d59912b9b55cd50dee66e5c4b1e5566dba26154040e51672f9aa450a9aef0c97cfc7336b78b7afb9540a + languageName: node + linkType: hard + "minimatch@npm:^5.0.1": version: 5.0.1 resolution: "minimatch@npm:5.0.1" @@ -9269,6 +9370,13 @@ __metadata: languageName: node linkType: hard +"pony-cause@npm:^2.1.0": + version: 2.1.4 + resolution: "pony-cause@npm:2.1.4" + checksum: 390b182b89421f642de2b60224c136db8aa494a9067c5c66f05308d2088c1fc51883e7d5033adafbc712db99dcdc1d297f144d7a660f334d399a4e4e5724b180 + languageName: node + linkType: hard + "posix-character-classes@npm:^0.1.0": version: 0.1.1 resolution: "posix-character-classes@npm:0.1.1" @@ -10179,6 +10287,17 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.3.7": + version: 7.3.8 + resolution: "semver@npm:7.3.8" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: ba9c7cbbf2b7884696523450a61fee1a09930d888b7a8d7579025ad93d459b2d1949ee5bbfeb188b2be5f4ac163544c5e98491ad6152df34154feebc2cc337c1 + languageName: node + linkType: hard + "semver@npm:~5.4.1": version: 5.4.1 resolution: "semver@npm:5.4.1" @@ -10833,6 +10952,13 @@ __metadata: languageName: node linkType: hard +"superstruct@npm:^0.16.5": + version: 0.16.5 + resolution: "superstruct@npm:0.16.5" + checksum: 9f843c38695b584a605ae9b028629de18a85bd0dca0e9449b4ab98bb7b9ac3d82599870acbab9fbd2ee454c6b187af7e61562e252dfadabd974191ab4ab2e3ce + languageName: node + linkType: hard + "supports-color@npm:^5.3.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -11855,6 +11981,13 @@ __metadata: languageName: node linkType: hard +"yaml@npm:^2.1.1": + version: 2.1.3 + resolution: "yaml@npm:2.1.3" + checksum: 91316062324a93f9cb547469092392e7d004ff8f70c40fecb420f042a4870b2181557350da56c92f07bd44b8f7a252b0be26e6ade1f548e1f4351bdd01c9d3c7 + languageName: node + linkType: hard + "yargs-parser@npm:20.x": version: 20.2.6 resolution: "yargs-parser@npm:20.2.6" @@ -11879,6 +12012,13 @@ __metadata: languageName: node linkType: hard +"yargs-parser@npm:^21.0.0": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c + languageName: node + linkType: hard + "yargs@npm:^15.3.1": version: 15.4.1 resolution: "yargs@npm:15.4.1" @@ -11927,3 +12067,18 @@ __metadata: checksum: 4ffffa5a82647e5d07840b64bed88c365b901d3d4a4c51745dddb10d177902d85014026d7224aae18c42df9ca3f75a41c5aff556e5342e2f8ffc5177d149cd17 languageName: node linkType: hard + +"yargs@npm:^17.5.1": + version: 17.6.0 + resolution: "yargs@npm:17.6.0" + 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.0.0 + checksum: 604bdb4a6395a870540d2f3fea083c8e28441f12da8fd05b172b1e68480f00ed73d76be4a05fac19de9bf55ec7729b41e81cf555cccaed700aa192e4fff64872 + languageName: node + linkType: hard From ee323bda7085f04e0d6fb7589dc5fd801981ecab Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 18:01:17 -0600 Subject: [PATCH 084/115] COLLECTIBLE -> NFT Co-authored-by: Mark Stacey --- packages/controller-utils/src/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/controller-utils/src/constants.ts b/packages/controller-utils/src/constants.ts index 3fd56351ff..24c4dfb0ba 100644 --- a/packages/controller-utils/src/constants.ts +++ b/packages/controller-utils/src/constants.ts @@ -29,7 +29,7 @@ export const GWEI = 'gwei'; export const ASSET_TYPES = { NATIVE: 'NATIVE', TOKEN: 'TOKEN', - COLLECTIBLE: 'COLLECTIBLE', + NFT: 'NFT', UNKNOWN: 'UNKNOWN', }; From b6d186d05b632083b311a04ed895f483a73d4942 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 14 Oct 2022 18:07:25 -0600 Subject: [PATCH 085/115] PermissionController: Link to Arch document from README, fix name in JSDocs --- packages/permission-controller/README.md | 4 ++++ packages/permission-controller/src/PermissionController.ts | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/permission-controller/README.md b/packages/permission-controller/README.md index 571d72993a..7a80f930fc 100644 --- a/packages/permission-controller/README.md +++ b/packages/permission-controller/README.md @@ -10,6 +10,10 @@ or `npm install @metamask/permission-controller` +## Understanding + +Please read the [Architecture][./ARCHITECTURE.md] document for more on how PermissionController works and how to use it. + ## Contributing This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). diff --git a/packages/permission-controller/src/PermissionController.ts b/packages/permission-controller/src/PermissionController.ts index 5c003b131c..659413e5ba 100644 --- a/packages/permission-controller/src/PermissionController.ts +++ b/packages/permission-controller/src/PermissionController.ts @@ -460,7 +460,8 @@ export type PermissionControllerOptions< }; /** - * The permission controller. See [the README](../ARCHITECTURE.md) for details. + * The permission controller. See the [Architecture](../ARCHITECTURE.md) + * document for details. * * Assumes the existence of an {@link ApprovalController} reachable via the * {@link ControllerMessenger}. From 2e36aa90f6fba2709bfa3aa720285cfe24c1b917 Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Mon, 31 Oct 2022 20:04:26 -0230 Subject: [PATCH 086/115] Fix README lint error --- packages/permission-controller/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/permission-controller/README.md b/packages/permission-controller/README.md index 7a80f930fc..432df6f398 100644 --- a/packages/permission-controller/README.md +++ b/packages/permission-controller/README.md @@ -12,7 +12,7 @@ or ## Understanding -Please read the [Architecture][./ARCHITECTURE.md] document for more on how PermissionController works and how to use it. +Please read the [Architecture][./architecture.md] document for more on how PermissionController works and how to use it. ## Contributing From 77a4b241df3882764297b0cb662f60a7797759e5 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 8 Nov 2022 15:01:24 -0700 Subject: [PATCH 087/115] Make links to main README in per-package READMEs absolute --- packages/address-book-controller/README.md | 2 +- packages/announcement-controller/README.md | 2 +- packages/approval-controller/README.md | 2 +- packages/assets-controllers/README.md | 2 +- packages/base-controller/README.md | 2 +- packages/composable-controller/README.md | 2 +- packages/controller-utils/README.md | 2 +- packages/ens-controller/README.md | 2 +- packages/gas-fee-controller/README.md | 2 +- packages/keyring-controller/README.md | 2 +- packages/message-manager/README.md | 2 +- packages/network-controller/README.md | 2 +- packages/notification-controller/README.md | 2 +- packages/permission-controller/README.md | 2 +- packages/phishing-controller/README.md | 2 +- packages/preferences-controller/README.md | 2 +- packages/rate-limit-controller/README.md | 2 +- packages/subject-metadata-controller/README.md | 2 +- packages/transaction-controller/README.md | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/packages/address-book-controller/README.md b/packages/address-book-controller/README.md index 136c713f11..dbb6108c73 100644 --- a/packages/address-book-controller/README.md +++ b/packages/address-book-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/announcement-controller/README.md b/packages/announcement-controller/README.md index 58444ec147..8cfc38dabb 100644 --- a/packages/announcement-controller/README.md +++ b/packages/announcement-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/approval-controller/README.md b/packages/approval-controller/README.md index 41b480b859..90ab2f6728 100644 --- a/packages/approval-controller/README.md +++ b/packages/approval-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/assets-controllers/README.md b/packages/assets-controllers/README.md index 9b514eabd9..cac5b35e8e 100644 --- a/packages/assets-controllers/README.md +++ b/packages/assets-controllers/README.md @@ -27,4 +27,4 @@ This package features the following controllers: ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/base-controller/README.md b/packages/base-controller/README.md index 3e8c11e0af..bf251a0363 100644 --- a/packages/base-controller/README.md +++ b/packages/base-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/composable-controller/README.md b/packages/composable-controller/README.md index ae1fd5dad7..a195b1e644 100644 --- a/packages/composable-controller/README.md +++ b/packages/composable-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/controller-utils/README.md b/packages/controller-utils/README.md index 976b1b3888..0d9ed16334 100644 --- a/packages/controller-utils/README.md +++ b/packages/controller-utils/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/ens-controller/README.md b/packages/ens-controller/README.md index 758685d1dd..68a5b8ed3e 100644 --- a/packages/ens-controller/README.md +++ b/packages/ens-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/gas-fee-controller/README.md b/packages/gas-fee-controller/README.md index 0180ca23b7..45b45d71ec 100644 --- a/packages/gas-fee-controller/README.md +++ b/packages/gas-fee-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/keyring-controller/README.md b/packages/keyring-controller/README.md index 48873b1baa..0f932bc7ca 100644 --- a/packages/keyring-controller/README.md +++ b/packages/keyring-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/message-manager/README.md b/packages/message-manager/README.md index 866292506e..fd18756a58 100644 --- a/packages/message-manager/README.md +++ b/packages/message-manager/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/network-controller/README.md b/packages/network-controller/README.md index 5073c314fc..09b69ee910 100644 --- a/packages/network-controller/README.md +++ b/packages/network-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/notification-controller/README.md b/packages/notification-controller/README.md index a86b4417d7..a893285678 100644 --- a/packages/notification-controller/README.md +++ b/packages/notification-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/permission-controller/README.md b/packages/permission-controller/README.md index 432df6f398..e3a5f17e5d 100644 --- a/packages/permission-controller/README.md +++ b/packages/permission-controller/README.md @@ -16,4 +16,4 @@ Please read the [Architecture][./architecture.md] document for more on how Permi ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/phishing-controller/README.md b/packages/phishing-controller/README.md index 87c8678803..575686ec46 100644 --- a/packages/phishing-controller/README.md +++ b/packages/phishing-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/preferences-controller/README.md b/packages/preferences-controller/README.md index 1d5c440191..3ac749db59 100644 --- a/packages/preferences-controller/README.md +++ b/packages/preferences-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/rate-limit-controller/README.md b/packages/rate-limit-controller/README.md index ca76250757..3190239e4f 100644 --- a/packages/rate-limit-controller/README.md +++ b/packages/rate-limit-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/subject-metadata-controller/README.md b/packages/subject-metadata-controller/README.md index b039c609f3..b977286b06 100644 --- a/packages/subject-metadata-controller/README.md +++ b/packages/subject-metadata-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). diff --git a/packages/transaction-controller/README.md b/packages/transaction-controller/README.md index 12d8756a72..2f43447fa7 100644 --- a/packages/transaction-controller/README.md +++ b/packages/transaction-controller/README.md @@ -12,4 +12,4 @@ or ## Contributing -This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](../../#readme). +This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/controllers#readme). From a08ab7e306fe48f2c6768f7fb0acb04215ed617c Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 8 Nov 2022 17:40:31 -0700 Subject: [PATCH 088/115] Fix changelog validation on release branches --- constraints.pro | 18 +++++++- packages/address-book-controller/package.json | 4 +- packages/announcement-controller/package.json | 4 +- packages/approval-controller/package.json | 4 +- packages/assets-controllers/package.json | 4 +- packages/base-controller/package.json | 4 +- packages/composable-controller/package.json | 4 +- packages/controller-utils/package.json | 4 +- packages/ens-controller/package.json | 4 +- packages/gas-fee-controller/package.json | 4 +- packages/keyring-controller/package.json | 4 +- packages/message-manager/package.json | 4 +- packages/network-controller/package.json | 4 +- packages/notification-controller/package.json | 4 +- packages/permission-controller/package.json | 4 +- packages/phishing-controller/package.json | 4 +- packages/preferences-controller/package.json | 4 +- packages/rate-limit-controller/package.json | 4 +- .../subject-metadata-controller/package.json | 4 +- packages/transaction-controller/package.json | 4 +- scripts/validate-changelog.sh | 15 ++++-- yarn.lock | 46 +++++++++---------- 22 files changed, 89 insertions(+), 66 deletions(-) diff --git a/constraints.pro b/constraints.pro index f4901d535c..e4e69b68f3 100644 --- a/constraints.pro +++ b/constraints.pro @@ -93,6 +93,14 @@ workspace_basename(WorkspaceCwd, WorkspaceBasename) :- atomic_list_concat(Parts, '/', WorkspaceCwd), last(Parts, WorkspaceBasename). +% True if and only if WorkspacePackageName can unify with the name of the +% package which the workspace represents (which comes from the directory where +% the package is located). Assumes that the package is not in a sub-workspace +% and is not private. +workspace_package_name(WorkspaceCwd, WorkspacePackageName) :- + workspace_basename(WorkspaceCwd, WorkspaceBasename), + atom_concat('@metamask/', WorkspaceBasename, WorkspacePackageName). + %%%%% % Constraints %%%%% @@ -105,8 +113,7 @@ workspace_basename(WorkspaceCwd, WorkspaceBasename) :- % must be called "@metamask/foo"). gen_enforced_field(WorkspaceCwd, 'name', WorkspacePackageName) :- \+ workspace_field(WorkspaceCwd, 'private', true), - workspace_basename(WorkspaceCwd, WorkspaceBasename), - atom_concat('@metamask/', WorkspaceBasename, WorkspacePackageName). + workspace_package_name(WorkspaceCwd, WorkspacePackageName). % "description" is required for all packages. \+ gen_enforced_field(WorkspaceCwd, 'description', null). @@ -191,6 +198,13 @@ gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', 'https://registry.npm gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', null) :- workspace_field(WorkspaceCwd, 'private', true). +% The "changelog:validate" script for each package must follow a specific +% format. +gen_enforced_field(WorkspaceCwd, 'scripts.changelog:validate', ProperChangelogValidationScript) :- + \+ workspace_field(WorkspaceCwd, 'private', true), + workspace_package_name(WorkspaceCwd, WorkspacePackageName), + atomic_list_concat(['../../scripts/validate-changelog.sh ', WorkspacePackageName], ProperChangelogValidationScript). + % All dependency ranges must be recognizable. gen_enforced_dependency(WorkspaceCwd, DependencyIdent, 'a range optionally starting with ^ or ~', DependencyType) :- workspace_has_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType), diff --git a/packages/address-book-controller/package.json b/packages/address-book-controller/package.json index 8b7dbc227e..e395f6af4c 100644 --- a/packages/address-book-controller/package.json +++ b/packages/address-book-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/address-book-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -31,7 +31,7 @@ "@metamask/controller-utils": "workspace:~" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index 404966ffdf..a0a45d1bcf 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/announcement-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -30,7 +30,7 @@ "@metamask/base-controller": "workspace:~" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index adb8b27f3a..46d9073b9b 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/approval-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -33,7 +33,7 @@ "nanoid": "^3.1.31" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 6cf00a4ed9..8d082e2123 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/assets-controllers", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -50,7 +50,7 @@ "web3": "^0.20.7" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "@types/node": "^14.14.31", "@types/web3": "^1.0.6", diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index e1865fd1ee..21b0496bf7 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/base-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -30,7 +30,7 @@ "immer": "^9.0.6" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "@types/sinon": "^9.0.10", "deepmerge": "^4.2.2", diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index d4cda66010..08d98d20a9 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/composable-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -32,7 +32,7 @@ "devDependencies": { "@metamask/address-book-controller": "workspace:~", "@metamask/assets-controllers": "workspace:~", - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@metamask/controller-utils": "workspace:~", "@metamask/ens-controller": "workspace:~", "@metamask/network-controller": "workspace:~", diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index eb7b33bae2..c9f33ce234 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/controller-utils", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -36,7 +36,7 @@ "isomorphic-fetch": "^3.0.0" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "abort-controller": "^3.0.0", "deepmerge": "^4.2.2", diff --git a/packages/ens-controller/package.json b/packages/ens-controller/package.json index ccf4da8516..11cd0a4321 100644 --- a/packages/ens-controller/package.json +++ b/packages/ens-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/ens-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -31,7 +31,7 @@ "@metamask/controller-utils": "workspace:~" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 6dfa0c2be7..8d31b28311 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/gas-fee-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -39,7 +39,7 @@ "uuid": "^8.3.2" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "@types/jest-when": "^2.7.3", "deepmerge": "^4.2.2", diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 9aab97e7cb..af5eae9399 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/keyring-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -42,7 +42,7 @@ "@ethereumjs/common": "^2.3.1", "@ethereumjs/tx": "^3.2.1", "@keystonehq/bc-ur-registry-eth": "^0.9.0", - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 8bb304cfd0..b341a28a97 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/message-manager", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -36,7 +36,7 @@ "uuid": "^8.3.2" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 8d4e5d3563..0963168f29 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/network-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -37,7 +37,7 @@ "web3-provider-engine": "^16.0.3" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index f972640d36..0bc033504b 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/notification-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -33,7 +33,7 @@ "nanoid": "^3.1.31" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 3c509f1f94..7b739a4c59 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/permission-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -39,7 +39,7 @@ "nanoid": "^3.1.31" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/phishing-controller/package.json b/packages/phishing-controller/package.json index 6e20ab51ad..d26a5ad847 100644 --- a/packages/phishing-controller/package.json +++ b/packages/phishing-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/phishing-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -35,7 +35,7 @@ "punycode": "^2.1.1" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/preferences-controller/package.json b/packages/preferences-controller/package.json index d0cd9b7632..f927b7de65 100644 --- a/packages/preferences-controller/package.json +++ b/packages/preferences-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/preferences-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -31,7 +31,7 @@ "@metamask/controller-utils": "workspace:~" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index ea974175ed..1aac095f3b 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/rate-limit-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -32,7 +32,7 @@ "immer": "^9.0.6" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index e2750048ad..722d819808 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/subject-metadata-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -33,7 +33,7 @@ "immer": "^9.0.6" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "deepmerge": "^4.2.2", "jest": "^26.4.2", diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index e5e2d7dc9d..bc60806c2f 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -21,7 +21,7 @@ "dist/" ], "scripts": { - "changelog:validate": "../../scripts/validate-changelog.sh", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/transaction-controller", "doc": "../../scripts/doc.sh", "test": "jest", "test:watch": "jest --watch" @@ -41,7 +41,7 @@ "uuid": "^8.3.2" }, "devDependencies": { - "@metamask/auto-changelog": "^2.6.0", + "@metamask/auto-changelog": "^3.0.0", "@types/jest": "^26.0.22", "@types/node": "^14.14.31", "deepmerge": "^4.2.2", diff --git a/scripts/validate-changelog.sh b/scripts/validate-changelog.sh index fe6142a71e..7d5f0c11b8 100755 --- a/scripts/validate-changelog.sh +++ b/scripts/validate-changelog.sh @@ -1,7 +1,16 @@ #!/usr/bin/env bash -if [[ "$GITHUB_REF" =~ '^release/' ]]; then - auto-changelog validate --rc +set -euo pipefail + +if [[ $# -eq 0 ]]; then + echo "Missing package name." + exit 1 +fi + +package_name="$1" + +if [[ "${GITHUB_REF:-}" =~ '^release/' ]]; then + yarn auto-changelog validate --tag-prefix "${package_name}@" --rc else - auto-changelog validate + yarn auto-changelog validate --tag-prefix "${package_name}@" fi diff --git a/yarn.lock b/yarn.lock index b849d8b3de..3167c4c8dc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1314,7 +1314,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/address-book-controller@workspace:packages/address-book-controller" dependencies: - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 @@ -1331,7 +1331,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/announcement-controller@workspace:packages/announcement-controller" dependencies: - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@types/jest": ^26.0.22 deepmerge: ^4.2.2 @@ -1347,7 +1347,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/approval-controller@workspace:packages/approval-controller" dependencies: - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@types/jest": ^26.0.22 deepmerge: ^4.2.2 @@ -1370,7 +1370,7 @@ __metadata: "@ethersproject/abi": ^5.7.0 "@ethersproject/contracts": ^5.7.0 "@ethersproject/providers": ^5.7.0 - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@metamask/contract-metadata": ^1.35.0 "@metamask/controller-utils": "workspace:~" @@ -1404,9 +1404,9 @@ __metadata: languageName: unknown linkType: soft -"@metamask/auto-changelog@npm:^2.6.0": - version: 2.6.0 - resolution: "@metamask/auto-changelog@npm:2.6.0" +"@metamask/auto-changelog@npm:^3.0.0": + version: 3.0.0 + resolution: "@metamask/auto-changelog@npm:3.0.0" dependencies: diff: ^5.0.0 execa: ^5.1.1 @@ -1414,7 +1414,7 @@ __metadata: yargs: ^17.0.1 bin: auto-changelog: dist/cli.js - checksum: f01ae6a1aef85c277b155a0b0bbfb1d8f4d17a3e93888e7c60780e1fd5f7b2a1730b3ba3247487a91fb4beb9ddfb0fe9d3ba61f4b84391dc5bde2d4607c575c8 + checksum: ee6f41b466e8f0deb8bc454936513602c4767b7be94f704da3579e3100154c92779dcfde542076158138d5fcfb64ce491ab7fc30248ae097c7d903be0cad9fb4 languageName: node linkType: hard @@ -1422,7 +1422,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/base-controller@workspace:packages/base-controller" dependencies: - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@types/jest": ^26.0.22 "@types/sinon": ^9.0.10 deepmerge: ^4.2.2 @@ -1454,7 +1454,7 @@ __metadata: dependencies: "@metamask/address-book-controller": "workspace:~" "@metamask/assets-controllers": "workspace:~" - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@metamask/ens-controller": "workspace:~" @@ -1483,7 +1483,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/controller-utils@workspace:packages/controller-utils" dependencies: - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@types/jest": ^26.0.22 abort-controller: ^3.0.0 @@ -1556,7 +1556,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/ens-controller@workspace:packages/ens-controller" dependencies: - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 @@ -1648,7 +1648,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/gas-fee-controller@workspace:packages/gas-fee-controller" dependencies: - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@metamask/network-controller": "workspace:~" @@ -1681,7 +1681,7 @@ __metadata: "@ethereumjs/tx": ^3.2.1 "@keystonehq/bc-ur-registry-eth": ^0.9.0 "@keystonehq/metamask-airgapped-keyring": ^0.6.1 - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@metamask/message-manager": "workspace:~" @@ -1707,7 +1707,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/message-manager@workspace:packages/message-manager" dependencies: - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 @@ -1736,7 +1736,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/network-controller@workspace:packages/network-controller" dependencies: - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 @@ -1760,7 +1760,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/notification-controller@workspace:packages/notification-controller" dependencies: - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 @@ -1790,7 +1790,7 @@ __metadata: resolution: "@metamask/permission-controller@workspace:packages/permission-controller" dependencies: "@metamask/approval-controller": "workspace:~" - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@metamask/types": ^1.1.0 @@ -1814,7 +1814,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/phishing-controller@workspace:packages/phishing-controller" dependencies: - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 @@ -1837,7 +1837,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/preferences-controller@workspace:packages/preferences-controller" dependencies: - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@types/jest": ^26.0.22 @@ -1854,7 +1854,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/rate-limit-controller@workspace:packages/rate-limit-controller" dependencies: - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@types/jest": ^26.0.22 deepmerge: ^4.2.2 @@ -1879,7 +1879,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/subject-metadata-controller@workspace:packages/subject-metadata-controller" dependencies: - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@metamask/permission-controller": "workspace:~" "@metamask/types": ^1.1.0 @@ -1900,7 +1900,7 @@ __metadata: dependencies: "@ethereumjs/common": ^2.3.1 "@ethereumjs/tx": ^3.2.1 - "@metamask/auto-changelog": ^2.6.0 + "@metamask/auto-changelog": ^3.0.0 "@metamask/base-controller": "workspace:~" "@metamask/controller-utils": "workspace:~" "@metamask/network-controller": "workspace:~" From 3de137deb75ccb026266874801771c65417275ef Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 8 Nov 2022 17:41:42 -0700 Subject: [PATCH 089/115] Bump action-publish-release --- .github/workflows/publish-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index b66a6bcaeb..e138beeb79 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -30,7 +30,7 @@ jobs: uses: actions/setup-node@v3 with: node-version: ${{ steps.nvm.outputs.NODE_VERSION }} - - uses: MetaMask/action-publish-release@v2 + - uses: MetaMask/action-publish-release@b0b8a39e72e6746bbc3e372d25e55a5f6295842c env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Get Yarn cache directory From 4a0d96c1f7fc663e48d328d40e57040c8a3642b6 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Tue, 8 Nov 2022 17:42:04 -0700 Subject: [PATCH 090/115] Fix publish-release workflow to restore compiled JS --- .github/workflows/publish-release.yml | 42 +++++++++++++++++---------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index e138beeb79..ca75414753 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -19,17 +19,17 @@ jobs: if: needs.is-release.outputs.IS_RELEASE == 'true' runs-on: ubuntu-latest needs: is-release + outputs: + YARN_CACHE_DIR: ${{ steps.yarn-cache-dir.outputs.YARN_CACHE_DIR }} + YARN_VERSION: ${{ steps.yarn-version.outputs.YARN_VERSION }} steps: - uses: actions/checkout@v3 with: ref: ${{ github.sha }} - - name: Get Node.js version - id: nvm - run: echo "NODE_VERSION=$(cat .nvmrc)" >> $GITHUB_OUTPUT - name: Setup Node uses: actions/setup-node@v3 with: - node-version: ${{ steps.nvm.outputs.NODE_VERSION }} + node-version-file: '.nvmrc' - uses: MetaMask/action-publish-release@b0b8a39e72e6746bbc3e372d25e55a5f6295842c env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -39,18 +39,18 @@ jobs: - name: Get Yarn version run: echo "YARN_VERSION=$(yarn --version)" >> $GITHUB_OUTPUT id: yarn-version - - name: Cache yarn dependencies + - name: Cache Yarn dependencies uses: actions/cache@v3 with: path: ${{ steps.yarn-cache-dir.outputs.YARN_CACHE_DIR }} key: yarn-cache-${{ runner.os }}-${{ steps.yarn-version.outputs.YARN_VERSION }}-${{ hashFiles('yarn.lock') }} - - run: yarn --immutable - - run: yarn build - - uses: actions/cache@v3 - id: restore-build + - name: Cache compiled JavaScript + uses: actions/cache@v3 with: path: ./packages/**/dist key: ${{ github.sha }} + - run: yarn --immutable + - run: yarn build publish-npm-dry-run: runs-on: ubuntu-latest @@ -59,13 +59,19 @@ jobs: - uses: actions/checkout@v3 with: ref: ${{ github.sha }} - - uses: actions/cache@v3 - id: restore-build + - name: Restore Yarn dependencies + uses: actions/cache@v3 + with: + path: ${{ needs.publish-release.outputs.YARN_CACHE_DIR }} + key: yarn-cache-${{ runner.os }}-${{ needs.publish-release.outputs.YARN_VERSION }}-${{ hashFiles('yarn.lock') }} + - name: Restore compiled JavaScript + uses: actions/cache@v3 with: path: ./packages/**/dist key: ${{ github.sha }} + - name: Configure NPM to skip prepublishOnly # Set `ignore-scripts` to skip `prepublishOnly` because the release was built already in the previous job - - run: npm config set ignore-scripts true + run: npm config set ignore-scripts true - name: Dry Run Publish # omit npm-token token to perform dry run publish uses: MetaMask/action-npm-publish@v1 @@ -80,13 +86,19 @@ jobs: - uses: actions/checkout@v3 with: ref: ${{ github.sha }} - - uses: actions/cache@v3 - id: restore-build + - name: Restore Yarn dependencies + uses: actions/cache@v3 + with: + path: ${{ needs.publish-release.outputs.YARN_CACHE_DIR }} + key: yarn-cache-${{ runner.os }}-${{ needs.publish-release.outputs.YARN_VERSION }}-${{ hashFiles('yarn.lock') }} + - name: Restore compiled JavaScript + uses: actions/cache@v3 with: path: ./packages/**/dist key: ${{ github.sha }} + - name: Configure NPM to skip prepublishOnly # Set `ignore-scripts` to skip `prepublishOnly` because the release was built already in the previous job - - run: npm config set ignore-scripts true + run: npm config set ignore-scripts true - name: Publish uses: MetaMask/action-npm-publish@v1 with: From 3c824fdc8505297312d2bac0365e462710e91b95 Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Thu, 10 Nov 2022 10:16:10 -0330 Subject: [PATCH 091/115] Update to 'action-npm-publish@v2 --- .github/workflows/publish-release.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index ca75414753..97d24227a3 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -47,7 +47,9 @@ jobs: - name: Cache compiled JavaScript uses: actions/cache@v3 with: - path: ./packages/**/dist + path: | + ./packages/**/dist + ./node_modules/.yarn-state.yml key: ${{ github.sha }} - run: yarn --immutable - run: yarn build @@ -67,14 +69,13 @@ jobs: - name: Restore compiled JavaScript uses: actions/cache@v3 with: - path: ./packages/**/dist + path: | + ./packages/**/dist + ./node_modules/.yarn-state.yml key: ${{ github.sha }} - - name: Configure NPM to skip prepublishOnly - # Set `ignore-scripts` to skip `prepublishOnly` because the release was built already in the previous job - run: npm config set ignore-scripts true - name: Dry Run Publish # omit npm-token token to perform dry run publish - uses: MetaMask/action-npm-publish@v1 + uses: MetaMask/action-npm-publish@v2 env: SKIP_PREPACK: true @@ -94,13 +95,12 @@ jobs: - name: Restore compiled JavaScript uses: actions/cache@v3 with: - path: ./packages/**/dist + path: | + ./packages/**/dist + ./node_modules/.yarn-state.yml key: ${{ github.sha }} - - name: Configure NPM to skip prepublishOnly - # Set `ignore-scripts` to skip `prepublishOnly` because the release was built already in the previous job - run: npm config set ignore-scripts true - name: Publish - uses: MetaMask/action-npm-publish@v1 + uses: MetaMask/action-npm-publish@v2 with: npm-token: ${{ secrets.NPM_TOKEN }} env: From cc9bdbb00dd0a5fc547273372dfb8fc2e5c60185 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 10 Nov 2022 08:48:00 -0700 Subject: [PATCH 092/115] Update workflows * Add actionlint, which must pass before other jobs can run * Only run release workflow after lint/build/test passes --- .github/workflows/lint-build-test.yml | 34 +++++++------------- .github/workflows/main.yml | 45 +++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 23 deletions(-) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index 0b7854200a..8d27276730 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -1,14 +1,12 @@ name: Lint, Build, and Test on: - push: - branches: [main] - pull_request: + workflow_call: jobs: lint-build-test: - name: Lint, Build, and Test - runs-on: ubuntu-20.04 + name: Lint, build, and test + runs-on: ubuntu-latest strategy: matrix: node-version: [14.x, 16.x] @@ -18,26 +16,16 @@ jobs: uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - - name: Get Yarn cache directory - run: echo "YARN_CACHE_DIR=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT - id: yarn-cache-dir - - name: Get Yarn version - run: echo "YARN_VERSION=$(yarn --version)" >> $GITHUB_OUTPUT - id: yarn-version - - name: Cache yarn dependencies - uses: actions/cache@v3 - with: - path: ${{ steps.yarn-cache-dir.outputs.YARN_CACHE_DIR }} - key: yarn-cache-${{ runner.os }}-${{ steps.yarn-version.outputs.YARN_VERSION }}-${{ hashFiles('yarn.lock') }} + cache: yarn - run: yarn --immutable - run: yarn lint - run: yarn changelog:validate - run: yarn build - run: yarn test --maxWorkers=1 - all-jobs-pass: - name: All jobs pass - runs-on: ubuntu-20.04 - needs: - - lint-build-test - steps: - - run: echo "Great success!" + - name: Require clean working directory + shell: bash + run: | + if ! git diff --exit-code; then + echo "Working tree dirty at end of job" + exit 1 + fi diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000000..7f0f1c6a24 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,45 @@ +name: Main + +on: + push: + branches: [main] + pull_request: + +jobs: + check-workflows: + name: Check workflows + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Download actionlint + id: download-actionlint + run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/7fdc9630cc360ea1a469eed64ac6d78caeda1234/scripts/download-actionlint.bash) 1.6.22 + shell: bash + - name: Check workflow files + run: ${{ steps.download-actionlint.outputs.executable }} -color + shell: bash + + lint-build-test: + name: Lint, build, and test + needs: check-workflows + uses: ./.github/workflows/lint-build-test.yml + + is-release: + name: Determine whether this is a release merge commit + needs: build-lint-test + # release merge commits come from github-actions + if: startsWith(github.event.commits[0].author.name, 'github-actions') + runs-on: ubuntu-latest + outputs: + IS_RELEASE: ${{ steps.is-release.outputs.IS_RELEASE }} + steps: + - uses: MetaMask/action-is-release@v1 + id: is-release + + publish-release: + name: Publish release + needs: is-release + if: needs.is-release.outputs.IS_RELEASE == 'true' + permissions: + contents: write + uses: ./.github/workflows/publish-release.yml From 6c2cad83fb81cdb08f7b241f5e01bc2fc183708f Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 10 Nov 2022 08:54:34 -0700 Subject: [PATCH 093/115] Clean up publish-release workflow --- .github/workflows/publish-release.yml | 59 ++++++++------------------- 1 file changed, 16 insertions(+), 43 deletions(-) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 97d24227a3..26e484241e 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -1,27 +1,13 @@ name: Publish Release on: - push: - branches: [main] + workflow_call: jobs: - is-release: - outputs: - IS_RELEASE: ${{ steps.is-release.outputs.IS_RELEASE }} - runs-on: ubuntu-latest - steps: - - uses: MetaMask/action-is-release@v1 - id: is-release - publish-release: permissions: contents: write - if: needs.is-release.outputs.IS_RELEASE == 'true' runs-on: ubuntu-latest - needs: is-release - outputs: - YARN_CACHE_DIR: ${{ steps.yarn-cache-dir.outputs.YARN_CACHE_DIR }} - YARN_VERSION: ${{ steps.yarn-version.outputs.YARN_VERSION }} steps: - uses: actions/checkout@v3 with: @@ -30,27 +16,16 @@ jobs: uses: actions/setup-node@v3 with: node-version-file: '.nvmrc' - - uses: MetaMask/action-publish-release@b0b8a39e72e6746bbc3e372d25e55a5f6295842c - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Get Yarn cache directory - run: echo "YARN_CACHE_DIR=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT - id: yarn-cache-dir - - name: Get Yarn version - run: echo "YARN_VERSION=$(yarn --version)" >> $GITHUB_OUTPUT - id: yarn-version - - name: Cache Yarn dependencies - uses: actions/cache@v3 - with: - path: ${{ steps.yarn-cache-dir.outputs.YARN_CACHE_DIR }} - key: yarn-cache-${{ runner.os }}-${{ steps.yarn-version.outputs.YARN_VERSION }}-${{ hashFiles('yarn.lock') }} - - name: Cache compiled JavaScript - uses: actions/cache@v3 + cache: yarn + - uses: actions/cache@v3 with: path: | ./packages/**/dist ./node_modules/.yarn-state.yml key: ${{ github.sha }} + - uses: MetaMask/action-publish-release@b0b8a39e72e6746bbc3e372d25e55a5f6295842c + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: yarn --immutable - run: yarn build @@ -61,13 +36,12 @@ jobs: - uses: actions/checkout@v3 with: ref: ${{ github.sha }} - - name: Restore Yarn dependencies - uses: actions/cache@v3 + - name: Setup Node + uses: actions/setup-node@v3 with: - path: ${{ needs.publish-release.outputs.YARN_CACHE_DIR }} - key: yarn-cache-${{ runner.os }}-${{ needs.publish-release.outputs.YARN_VERSION }}-${{ hashFiles('yarn.lock') }} - - name: Restore compiled JavaScript - uses: actions/cache@v3 + node-version-file: '.nvmrc' + cache: yarn + - uses: actions/cache@v3 with: path: | ./packages/**/dist @@ -87,13 +61,12 @@ jobs: - uses: actions/checkout@v3 with: ref: ${{ github.sha }} - - name: Restore Yarn dependencies - uses: actions/cache@v3 + - name: Setup Node + uses: actions/setup-node@v3 with: - path: ${{ needs.publish-release.outputs.YARN_CACHE_DIR }} - key: yarn-cache-${{ runner.os }}-${{ needs.publish-release.outputs.YARN_VERSION }}-${{ hashFiles('yarn.lock') }} - - name: Restore compiled JavaScript - uses: actions/cache@v3 + node-version-file: '.nvmrc' + cache: yarn + - uses: actions/cache@v3 with: path: | ./packages/**/dist From 75cfcb4d60b1adad09bf996d337e901f4a0b071c Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 10 Nov 2022 09:02:17 -0700 Subject: [PATCH 094/115] Fix main workflow --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7f0f1c6a24..533695e5e3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,7 +26,7 @@ jobs: is-release: name: Determine whether this is a release merge commit - needs: build-lint-test + needs: lint-build-test # release merge commits come from github-actions if: startsWith(github.event.commits[0].author.name, 'github-actions') runs-on: ubuntu-latest From 407a17f9be97d3afdd596f781d4e4d5e111d134c Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 10 Nov 2022 09:15:40 -0700 Subject: [PATCH 095/115] Run tests in parallel --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 261410114f..143f89ba88 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "lint:misc": "prettier '**/*.json' '**/*.md' '!**/CHANGELOG.md' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore", "prepack": "./scripts/prepack.sh", "setup": "yarn install", - "test": "yarn workspaces foreach --verbose run test" + "test": "yarn workspaces foreach --parallel --verbose run test" }, "simple-git-hooks": { "pre-push": "yarn lint" From e43457a2f55a148299f1805d4f7738985bf410e9 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 10 Nov 2022 09:15:52 -0700 Subject: [PATCH 096/115] Clean up workflows still --- .github/workflows/lint-build-test.yml | 1 - .github/workflows/main.yml | 7 +------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index 8d27276730..c4e151e1cc 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -5,7 +5,6 @@ on: jobs: lint-build-test: - name: Lint, build, and test runs-on: ubuntu-latest strategy: matrix: diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 533695e5e3..c6d6d4891e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -27,14 +27,9 @@ jobs: is-release: name: Determine whether this is a release merge commit needs: lint-build-test - # release merge commits come from github-actions if: startsWith(github.event.commits[0].author.name, 'github-actions') runs-on: ubuntu-latest - outputs: - IS_RELEASE: ${{ steps.is-release.outputs.IS_RELEASE }} - steps: - - uses: MetaMask/action-is-release@v1 - id: is-release + uses: MetaMask/action-is-release@v1 publish-release: name: Publish release From b65b4aeb8da39e9e7c21fc237fb87144df753eb7 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 10 Nov 2022 09:17:28 -0700 Subject: [PATCH 097/115] Fix workflow --- .github/workflows/main.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c6d6d4891e..3e9c48cac0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,7 +29,11 @@ jobs: needs: lint-build-test if: startsWith(github.event.commits[0].author.name, 'github-actions') runs-on: ubuntu-latest - uses: MetaMask/action-is-release@v1 + outputs: + IS_RELEASE: ${{ steps.is-release.outputs.IS_RELEASE }} + steps: + - uses: MetaMask/action-is-release@v1 + id: is-release publish-release: name: Publish release From eb2670ed070f6bdf7206706ea648348d31241ad7 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 10 Nov 2022 14:38:20 -0700 Subject: [PATCH 098/115] Run more workflow jobs in parallel to match the module template --- .github/workflows/lint-build-test.yml | 53 ++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index c4e151e1cc..ed763842e4 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -4,7 +4,8 @@ on: workflow_call: jobs: - lint-build-test: + prepare: + name: Prepare runs-on: ubuntu-latest strategy: matrix: @@ -17,9 +18,59 @@ jobs: node-version: ${{ matrix.node-version }} cache: yarn - run: yarn --immutable + + lint: + name: Lint + runs-on: ubuntu-latest + needs: prepare + strategy: + matrix: + node-version: [14.x, 16.x] + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: yarn - run: yarn lint - run: yarn changelog:validate + - name: Require clean working directory + shell: bash + run: | + if ! git diff --exit-code; then + echo "Working tree dirty at end of job" + exit 1 + fi + + build: + name: Build + runs-on: ubuntu-latest + needs: prepare + strategy: + matrix: + node-version: [14.x, 16.x] + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: yarn - run: yarn build + - name: Require clean working directory + shell: bash + run: | + if ! git diff --exit-code; then + echo "Working tree dirty at end of job" + exit 1 + fi + + test: + name: Build + runs-on: ubuntu-latest + needs: prepare + steps: - run: yarn test --maxWorkers=1 - name: Require clean working directory shell: bash From 259f7b12edef82d8790bf2745b89a21ec23dbdbe Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 10 Nov 2022 14:48:12 -0700 Subject: [PATCH 099/115] Fix workflow --- .github/workflows/lint-build-test.yml | 31 ++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index ed763842e4..95c0786639 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -17,6 +17,11 @@ jobs: with: node-version: ${{ matrix.node-version }} cache: yarn + - uses: actions/cache@v3 + with: + path: | + ./node_modules/.yarn-state.yml + key: ${{ github.sha }} - run: yarn --immutable lint: @@ -33,6 +38,11 @@ jobs: with: node-version: ${{ matrix.node-version }} cache: yarn + - uses: actions/cache@v3 + with: + path: | + ./node_modules/.yarn-state.yml + key: ${{ github.sha }} - run: yarn lint - run: yarn changelog:validate - name: Require clean working directory @@ -57,6 +67,11 @@ jobs: with: node-version: ${{ matrix.node-version }} cache: yarn + - uses: actions/cache@v3 + with: + path: | + ./node_modules/.yarn-state.yml + key: ${{ github.sha }} - run: yarn build - name: Require clean working directory shell: bash @@ -67,10 +82,24 @@ jobs: fi test: - name: Build + name: Test runs-on: ubuntu-latest needs: prepare + strategy: + matrix: + node-version: [14.x, 16.x] steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: yarn + - uses: actions/cache@v3 + with: + path: | + ./node_modules/.yarn-state.yml + key: ${{ github.sha }} - run: yarn test --maxWorkers=1 - name: Require clean working directory shell: bash From 40a3e1e8bd02d883808b09bb16a2869618da9071 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 10 Nov 2022 14:51:52 -0700 Subject: [PATCH 100/115] Fix workflow --- .github/workflows/lint-build-test.yml | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index 95c0786639..8fc72749da 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -17,11 +17,6 @@ jobs: with: node-version: ${{ matrix.node-version }} cache: yarn - - uses: actions/cache@v3 - with: - path: | - ./node_modules/.yarn-state.yml - key: ${{ github.sha }} - run: yarn --immutable lint: @@ -38,11 +33,7 @@ jobs: with: node-version: ${{ matrix.node-version }} cache: yarn - - uses: actions/cache@v3 - with: - path: | - ./node_modules/.yarn-state.yml - key: ${{ github.sha }} + - run: yarn --immutable - run: yarn lint - run: yarn changelog:validate - name: Require clean working directory @@ -67,11 +58,7 @@ jobs: with: node-version: ${{ matrix.node-version }} cache: yarn - - uses: actions/cache@v3 - with: - path: | - ./node_modules/.yarn-state.yml - key: ${{ github.sha }} + - run: yarn --immutable - run: yarn build - name: Require clean working directory shell: bash @@ -95,11 +82,7 @@ jobs: with: node-version: ${{ matrix.node-version }} cache: yarn - - uses: actions/cache@v3 - with: - path: | - ./node_modules/.yarn-state.yml - key: ${{ github.sha }} + - run: yarn --immutable - run: yarn test --maxWorkers=1 - name: Require clean working directory shell: bash From 743f4343dc635bfd638266862e58e6bb660b4a71 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 10 Nov 2022 14:53:24 -0700 Subject: [PATCH 101/115] Change action-publish-release back to v2 --- .github/workflows/publish-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 26e484241e..17d3ab6847 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -23,7 +23,7 @@ jobs: ./packages/**/dist ./node_modules/.yarn-state.yml key: ${{ github.sha }} - - uses: MetaMask/action-publish-release@b0b8a39e72e6746bbc3e372d25e55a5f6295842c + - uses: MetaMask/action-publish-release@v2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: yarn --immutable From c9f960a8134deb995918a583bea86891699b0598 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 10 Nov 2022 14:58:01 -0700 Subject: [PATCH 102/115] Remove --maxWorkers=1 from 'yarn test' --- .github/workflows/lint-build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index 8fc72749da..e3724d352a 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -83,7 +83,7 @@ jobs: node-version: ${{ matrix.node-version }} cache: yarn - run: yarn --immutable - - run: yarn test --maxWorkers=1 + - run: yarn test - name: Require clean working directory shell: bash run: | From 853e460047637fca1728ffad46e5c9c9d5047696 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Thu, 10 Nov 2022 15:08:30 -0700 Subject: [PATCH 103/115] Add back all-jobs-pass --- .github/workflows/main.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3e9c48cac0..01d15bdb6e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -42,3 +42,10 @@ jobs: permissions: contents: write uses: ./.github/workflows/publish-release.yml + + all-jobs-pass: + name: All jobs pass + runs-on: ubuntu-latest + needs: lint-build-test + steps: + - run: echo "Great success!" From 31cf5146fcace99336ea4657073993deb619c225 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 11 Nov 2022 09:05:03 -0700 Subject: [PATCH 104/115] Test on Node 18.x and 19.x --- .github/workflows/lint-build-test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index e3724d352a..71a94143ca 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [14.x, 16.x] + node-version: [14.x, 16.x, 18.x, 19.x] steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} @@ -25,7 +25,7 @@ jobs: needs: prepare strategy: matrix: - node-version: [14.x, 16.x] + node-version: [14.x, 16.x, 18.x, 19.x] steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} @@ -50,7 +50,7 @@ jobs: needs: prepare strategy: matrix: - node-version: [14.x, 16.x] + node-version: [14.x, 16.x, 18.x, 19.x] steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} @@ -74,7 +74,7 @@ jobs: needs: prepare strategy: matrix: - node-version: [14.x, 16.x] + node-version: [14.x, 16.x, 18.x, 19.x] steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} From 43ca97e716973831c9adff5bb41e4bfa64a7104e Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 11 Nov 2022 09:24:40 -0700 Subject: [PATCH 105/115] Fix JSDoc for ContactEntry interface Co-authored-by: Maarten Zuidhoorn --- packages/preferences-controller/src/PreferencesController.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/preferences-controller/src/PreferencesController.ts b/packages/preferences-controller/src/PreferencesController.ts index f9541d18b5..c902bd0232 100644 --- a/packages/preferences-controller/src/PreferencesController.ts +++ b/packages/preferences-controller/src/PreferencesController.ts @@ -6,9 +6,8 @@ import { import { toChecksumHexAddress } from '@metamask/controller-utils'; /** - * @type ContactEntry + * ContactEntry representation. * - * ContactEntry representation * @property address - Hex address of a recipient account * @property name - Nickname associated with this address * @property importTime - Data time when an account as created/imported From 1b24bc7fe4d12f09e6ba521383d23f723c9dc006 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 11 Nov 2022 09:15:21 -0700 Subject: [PATCH 106/115] Remove testEnvironmentOptions override and custom arrayMerge option in jest configs --- packages/assets-controllers/jest.config.js | 35 +++++++----------- packages/controller-utils/jest.config.js | 35 +++++++----------- packages/network-controller/jest.config.js | 37 ++++++++----------- .../transaction-controller/jest.config.js | 35 +++++++----------- 4 files changed, 57 insertions(+), 85 deletions(-) diff --git a/packages/assets-controllers/jest.config.js b/packages/assets-controllers/jest.config.js index f38b399c80..a080d34818 100644 --- a/packages/assets-controllers/jest.config.js +++ b/packages/assets-controllers/jest.config.js @@ -8,28 +8,21 @@ const merge = require('deepmerge'); const baseConfig = require('../../jest.config.packages'); const displayName = path.basename(__dirname); -const overwriteArrays = (_destinationArray, sourceArray, _options) => - sourceArray; -module.exports = merge( - baseConfig, - { - // The display name when running multiple projects - displayName, +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, - // An object that configures minimum threshold enforcement for coverage results - coverageThreshold: { - global: { - branches: 88.86, - functions: 96.71, - lines: 96.62, - statements: 96.69, - }, + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 88.86, + functions: 96.71, + lines: 96.62, + statements: 96.69, }, - - // We rely on `window` to make requests - testEnvironment: 'jsdom', - testEnvironmentOptions: {}, }, - { arrayMerge: overwriteArrays }, -); + + // We rely on `window` to make requests + testEnvironment: 'jsdom', +}); diff --git a/packages/controller-utils/jest.config.js b/packages/controller-utils/jest.config.js index d219c01c58..52278f2baf 100644 --- a/packages/controller-utils/jest.config.js +++ b/packages/controller-utils/jest.config.js @@ -8,28 +8,21 @@ const merge = require('deepmerge'); const baseConfig = require('../../jest.config.packages'); const displayName = path.basename(__dirname); -const overwriteArrays = (_destinationArray, sourceArray, _options) => - sourceArray; -module.exports = merge( - baseConfig, - { - // The display name when running multiple projects - displayName, +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, - // An object that configures minimum threshold enforcement for coverage results - coverageThreshold: { - global: { - branches: 68.05, - functions: 80.55, - lines: 69.82, - statements: 70.17, - }, + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 68.05, + functions: 80.55, + lines: 69.82, + statements: 70.17, }, - - // We rely on `window` to make requests - testEnvironment: 'jsdom', - testEnvironmentOptions: {}, }, - { arrayMerge: overwriteArrays }, -); + + // We rely on `window` to make requests + testEnvironment: 'jsdom', +}); diff --git a/packages/network-controller/jest.config.js b/packages/network-controller/jest.config.js index ae385c1806..58c9787c32 100644 --- a/packages/network-controller/jest.config.js +++ b/packages/network-controller/jest.config.js @@ -8,29 +8,22 @@ const merge = require('deepmerge'); const baseConfig = require('../../jest.config.packages'); const displayName = path.basename(__dirname); -const overwriteArrays = (_destinationArray, sourceArray, _options) => - sourceArray; -module.exports = merge( - baseConfig, - { - // The display name when running multiple projects - displayName, +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, - // An object that configures minimum threshold enforcement for coverage results - coverageThreshold: { - global: { - branches: 71.11, - functions: 78.57, - lines: 85.1, - statements: 85.1, - }, + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 71.11, + functions: 78.57, + lines: 85.1, + statements: 85.1, }, - - // Currently the tests for NetworkController have a race condition which - // causes intermittent failures. This seems to fix it. - testEnvironment: 'jsdom', - testEnvironmentOptions: {}, }, - { arrayMerge: overwriteArrays }, -); + + // Currently the tests for NetworkController have a race condition which + // causes intermittent failures. This seems to fix it. + testEnvironment: 'jsdom', +}); diff --git a/packages/transaction-controller/jest.config.js b/packages/transaction-controller/jest.config.js index d568c500e3..43c200d268 100644 --- a/packages/transaction-controller/jest.config.js +++ b/packages/transaction-controller/jest.config.js @@ -8,28 +8,21 @@ const merge = require('deepmerge'); const baseConfig = require('../../jest.config.packages'); const displayName = path.basename(__dirname); -const overwriteArrays = (_destinationArray, sourceArray, _options) => - sourceArray; -module.exports = merge( - baseConfig, - { - // The display name when running multiple projects - displayName, +module.exports = merge(baseConfig, { + // The display name when running multiple projects + displayName, - // An object that configures minimum threshold enforcement for coverage results - coverageThreshold: { - global: { - branches: 81.51, - functions: 98.86, - lines: 95.79, - statements: 95.97, - }, + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 81.51, + functions: 98.86, + lines: 95.79, + statements: 95.97, }, - - // We rely on `XMLHttpRequest` to make requests - testEnvironment: 'jsdom', - testEnvironmentOptions: {}, }, - { arrayMerge: overwriteArrays }, -); + + // We rely on `XMLHttpRequest` to make requests + testEnvironment: 'jsdom', +}); From 47144296e353654116cc3174b6db323b54570721 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 11 Nov 2022 09:15:29 -0700 Subject: [PATCH 107/115] Revert "Test on Node 18.x and 19.x" This reverts commit 31cf5146fcace99336ea4657073993deb619c225. --- .github/workflows/lint-build-test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index 71a94143ca..e3724d352a 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [14.x, 16.x, 18.x, 19.x] + node-version: [14.x, 16.x] steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} @@ -25,7 +25,7 @@ jobs: needs: prepare strategy: matrix: - node-version: [14.x, 16.x, 18.x, 19.x] + node-version: [14.x, 16.x] steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} @@ -50,7 +50,7 @@ jobs: needs: prepare strategy: matrix: - node-version: [14.x, 16.x, 18.x, 19.x] + node-version: [14.x, 16.x] steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} @@ -74,7 +74,7 @@ jobs: needs: prepare strategy: matrix: - node-version: [14.x, 16.x, 18.x, 19.x] + node-version: [14.x, 16.x] steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} From 750ac803401580113f4378a1d0289da6fae55e88 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 11 Nov 2022 09:31:30 -0700 Subject: [PATCH 108/115] Simplify doc script, add doc:clean --- constraints.pro | 50 ++++++++++++------- package.json | 1 + packages/address-book-controller/package.json | 5 +- packages/announcement-controller/package.json | 5 +- packages/approval-controller/package.json | 5 +- packages/assets-controllers/package.json | 5 +- packages/base-controller/package.json | 5 +- packages/composable-controller/package.json | 5 +- packages/controller-utils/package.json | 5 +- packages/ens-controller/package.json | 5 +- packages/gas-fee-controller/package.json | 5 +- packages/keyring-controller/package.json | 5 +- packages/message-manager/package.json | 5 +- packages/network-controller/package.json | 5 +- packages/notification-controller/package.json | 5 +- packages/permission-controller/package.json | 5 +- packages/phishing-controller/package.json | 5 +- packages/preferences-controller/package.json | 5 +- packages/rate-limit-controller/package.json | 5 +- .../subject-metadata-controller/package.json | 5 +- packages/transaction-controller/package.json | 5 +- scripts/doc.sh | 3 -- 22 files changed, 91 insertions(+), 58 deletions(-) delete mode 100755 scripts/doc.sh diff --git a/constraints.pro b/constraints.pro index e4e69b68f3..d4e4e0f83e 100644 --- a/constraints.pro +++ b/constraints.pro @@ -181,23 +181,6 @@ gen_enforced_field(WorkspaceCwd, 'files', ['dist/']) :- gen_enforced_field(WorkspaceCwd, 'files', null) :- workspace_field(WorkspaceCwd, 'private', true). -% "engines.node" must be ">=14.0.0" for all packages. -gen_enforced_field(WorkspaceCwd, 'engines.node', '>=14.0.0'). - -% "publishConfig.access" must be "public" for workspace packages and unset -% for the root. -gen_enforced_field(WorkspaceCwd, 'publishConfig.access', 'public') :- - \+ workspace_field(WorkspaceCwd, 'private', true). -gen_enforced_field(WorkspaceCwd, 'publishConfig.access', null) :- - workspace_field(WorkspaceCwd, 'private', true). - -% "publishConfig.registry" must be "https://registry.npmjs.org" for all -% workspace packages and unset for the root. -gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', 'https://registry.npmjs.org/') :- - \+ workspace_field(WorkspaceCwd, 'private', true). -gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', null) :- - workspace_field(WorkspaceCwd, 'private', true). - % The "changelog:validate" script for each package must follow a specific % format. gen_enforced_field(WorkspaceCwd, 'scripts.changelog:validate', ProperChangelogValidationScript) :- @@ -205,6 +188,22 @@ gen_enforced_field(WorkspaceCwd, 'scripts.changelog:validate', ProperChangelogVa workspace_package_name(WorkspaceCwd, WorkspacePackageName), atomic_list_concat(['../../scripts/validate-changelog.sh ', WorkspacePackageName], ProperChangelogValidationScript). +% All workspace packages must have the same "doc" script. +gen_enforced_field(WorkspaceCwd, 'scripts.doc', 'typedoc') :- + \+ workspace_field(WorkspaceCwd, 'private', true). + +% All workspace packages must have the same "doc:clean" script. +gen_enforced_field(WorkspaceCwd, 'scripts.doc:clean', 'rimraf docs') :- + \+ workspace_field(WorkspaceCwd, 'private', true). + +% All workspace packages must have the same "test" script. +gen_enforced_field(WorkspaceCwd, 'scripts.test', 'jest') :- + \+ workspace_field(WorkspaceCwd, 'private', true). + +% All workspace packages must have the same "test:watch" script. +gen_enforced_field(WorkspaceCwd, 'scripts.test:watch', 'jest --watch') :- + \+ workspace_field(WorkspaceCwd, 'private', true). + % All dependency ranges must be recognizable. gen_enforced_dependency(WorkspaceCwd, DependencyIdent, 'a range optionally starting with ^ or ~', DependencyType) :- workspace_has_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType), @@ -234,3 +233,20 @@ gen_enforced_dependency(WorkspaceCwd, DependencyIdent, null, DependencyType) :- % to be present if eth-query is present. gen_enforced_dependency(WorkspaceCwd, 'babel-runtime', '^6.26.0', DependencyType) :- workspace_has_dependency(WorkspaceCwd, 'eth-query', _, DependencyType). + +% "engines.node" must be ">=14.0.0" for all packages. +gen_enforced_field(WorkspaceCwd, 'engines.node', '>=14.0.0'). + +% "publishConfig.access" must be "public" for workspace packages and unset +% for the root. +gen_enforced_field(WorkspaceCwd, 'publishConfig.access', 'public') :- + \+ workspace_field(WorkspaceCwd, 'private', true). +gen_enforced_field(WorkspaceCwd, 'publishConfig.access', null) :- + workspace_field(WorkspaceCwd, 'private', true). + +% "publishConfig.registry" must be "https://registry.npmjs.org" for all +% workspace packages and unset for the root. +gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', 'https://registry.npmjs.org/') :- + \+ workspace_field(WorkspaceCwd, 'private', true). +gen_enforced_field(WorkspaceCwd, 'publishConfig.registry', null) :- + workspace_field(WorkspaceCwd, 'private', true). diff --git a/package.json b/package.json index 143f89ba88..687680a8f0 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "build:watch": "yarn run build --watch", "changelog:validate": "yarn workspaces foreach --parallel --interlaced --verbose run changelog:validate", "doc": "yarn workspaces foreach --parallel --interlaced --verbose run doc", + "doc:clean": "yarn workspaces foreach --parallel --interlaced --verbose run doc:clean", "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints", "lint:eslint": "eslint . --cache --ext js,ts", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix", diff --git a/packages/address-book-controller/package.json b/packages/address-book-controller/package.json index e395f6af4c..c459a942ef 100644 --- a/packages/address-book-controller/package.json +++ b/packages/address-book-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/address-book-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index a0a45d1bcf..d9f8b0ddc2 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/announcement-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/base-controller": "workspace:~" diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index 46d9073b9b..aa8e0c77f1 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/approval-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 8d082e2123..8780c8e512 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/assets-controllers", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@ethersproject/abi": "^5.7.0", diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index 21b0496bf7..adc4cccc7e 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/base-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "immer": "^9.0.6" diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 08d98d20a9..44daacb6a8 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/composable-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/base-controller": "workspace:~" diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index c9f33ce234..2e8f222346 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/controller-utils", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/ens-controller/package.json b/packages/ens-controller/package.json index 11cd0a4321..1503173a57 100644 --- a/packages/ens-controller/package.json +++ b/packages/ens-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/ens-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 8d31b28311..99ae8582b4 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/gas-fee-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index af5eae9399..439cf0e87c 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/keyring-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@keystonehq/metamask-airgapped-keyring": "^0.6.1", diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index b341a28a97..33f1cea271 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/message-manager", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 0963168f29..c71093d4d1 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/network-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index 0bc033504b..8b7711f260 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/notification-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 7b739a4c59..75d0269293 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/permission-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/approval-controller": "workspace:~", diff --git a/packages/phishing-controller/package.json b/packages/phishing-controller/package.json index d26a5ad847..7e92868264 100644 --- a/packages/phishing-controller/package.json +++ b/packages/phishing-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/phishing-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/preferences-controller/package.json b/packages/preferences-controller/package.json index f927b7de65..2c73e23299 100644 --- a/packages/preferences-controller/package.json +++ b/packages/preferences-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/preferences-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index 1aac095f3b..ce7578a42a 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/rate-limit-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index 722d819808..0430e5c3d9 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/subject-metadata-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index bc60806c2f..0b916cd1ff 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -22,9 +22,10 @@ ], "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/transaction-controller", - "doc": "../../scripts/doc.sh", + "doc": "typedoc", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "doc:clean": "rimraf docs" }, "dependencies": { "@ethereumjs/common": "^2.3.1", diff --git a/scripts/doc.sh b/scripts/doc.sh deleted file mode 100755 index 3ab5ad5377..0000000000 --- a/scripts/doc.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -typedoc && touch docs/.nojekyll From 06912063bf4f91fd58d87c7130a41defa4c88e0f Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 11 Nov 2022 09:33:45 -0700 Subject: [PATCH 109/115] Use ES2017 instead of ES2020 --- tsconfig.packages.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig.packages.json b/tsconfig.packages.json index 2ab65285f8..cb223deaae 100644 --- a/tsconfig.packages.json +++ b/tsconfig.packages.json @@ -2,7 +2,7 @@ "compilerOptions": { "composite": true, "esModuleInterop": true, - "lib": ["ES2020", "DOM"], + "lib": ["ES2017", "DOM"], "module": "CommonJS", "moduleResolution": "node", /** From ca16296bcab943ea2eeb863f40a1575f79999658 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 11 Nov 2022 09:33:47 -0700 Subject: [PATCH 110/115] Fix lint --- packages/address-book-controller/package.json | 4 ++-- packages/announcement-controller/package.json | 4 ++-- packages/approval-controller/package.json | 4 ++-- packages/assets-controllers/package.json | 4 ++-- packages/base-controller/package.json | 4 ++-- packages/composable-controller/package.json | 4 ++-- packages/controller-utils/package.json | 4 ++-- packages/ens-controller/package.json | 4 ++-- packages/gas-fee-controller/package.json | 4 ++-- packages/keyring-controller/package.json | 4 ++-- packages/message-manager/package.json | 4 ++-- packages/network-controller/package.json | 4 ++-- packages/notification-controller/package.json | 4 ++-- packages/permission-controller/package.json | 4 ++-- packages/phishing-controller/package.json | 4 ++-- packages/preferences-controller/package.json | 4 ++-- packages/rate-limit-controller/package.json | 4 ++-- packages/subject-metadata-controller/package.json | 4 ++-- packages/transaction-controller/package.json | 4 ++-- 19 files changed, 38 insertions(+), 38 deletions(-) diff --git a/packages/address-book-controller/package.json b/packages/address-book-controller/package.json index c459a942ef..c2e5311485 100644 --- a/packages/address-book-controller/package.json +++ b/packages/address-book-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/address-book-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index d9f8b0ddc2..a68a791ebe 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/announcement-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~" diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index aa8e0c77f1..1920567cf9 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/approval-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 8780c8e512..d00ef47024 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/assets-controllers", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@ethersproject/abi": "^5.7.0", diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index adc4cccc7e..ede1b346ee 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/base-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "immer": "^9.0.6" diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 44daacb6a8..606d1af2da 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/composable-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~" diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 2e8f222346..c2dd2b522b 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/controller-utils", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/ens-controller/package.json b/packages/ens-controller/package.json index 1503173a57..d9ee3a725c 100644 --- a/packages/ens-controller/package.json +++ b/packages/ens-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/ens-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 99ae8582b4..4ca4284f0b 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/gas-fee-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 439cf0e87c..1d01a6b844 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/keyring-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@keystonehq/metamask-airgapped-keyring": "^0.6.1", diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 33f1cea271..5bcf16e5a6 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/message-manager", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index c71093d4d1..ed0f51f416 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/network-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index 8b7711f260..07055bc2a0 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/notification-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 75d0269293..34483d26c8 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/permission-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/approval-controller": "workspace:~", diff --git a/packages/phishing-controller/package.json b/packages/phishing-controller/package.json index 7e92868264..3897d001f0 100644 --- a/packages/phishing-controller/package.json +++ b/packages/phishing-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/phishing-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/preferences-controller/package.json b/packages/preferences-controller/package.json index 2c73e23299..bb5145710f 100644 --- a/packages/preferences-controller/package.json +++ b/packages/preferences-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/preferences-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index ce7578a42a..37ab133e83 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/rate-limit-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index 0430e5c3d9..ac3e052d72 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/subject-metadata-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@metamask/base-controller": "workspace:~", diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 0b916cd1ff..15b47e62b9 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -23,9 +23,9 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/transaction-controller", "doc": "typedoc", + "doc:clean": "rimraf docs", "test": "jest", - "test:watch": "jest --watch", - "doc:clean": "rimraf docs" + "test:watch": "jest --watch" }, "dependencies": { "@ethereumjs/common": "^2.3.1", From a015279fed5bb52b1e06abd340fe42dfa3a6fc43 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 11 Nov 2022 12:43:09 -0700 Subject: [PATCH 111/115] Remove doc:clean --- constraints.pro | 4 ---- package.json | 1 - packages/address-book-controller/package.json | 1 - packages/announcement-controller/package.json | 1 - packages/approval-controller/package.json | 1 - packages/assets-controllers/package.json | 1 - packages/base-controller/package.json | 1 - packages/composable-controller/package.json | 1 - packages/controller-utils/package.json | 1 - packages/ens-controller/package.json | 1 - packages/gas-fee-controller/package.json | 1 - packages/keyring-controller/package.json | 1 - packages/message-manager/package.json | 1 - packages/network-controller/package.json | 1 - packages/notification-controller/package.json | 1 - packages/permission-controller/package.json | 1 - packages/phishing-controller/package.json | 1 - packages/preferences-controller/package.json | 1 - packages/rate-limit-controller/package.json | 1 - packages/subject-metadata-controller/package.json | 1 - packages/transaction-controller/package.json | 1 - 21 files changed, 24 deletions(-) diff --git a/constraints.pro b/constraints.pro index d4e4e0f83e..14feddc22f 100644 --- a/constraints.pro +++ b/constraints.pro @@ -192,10 +192,6 @@ gen_enforced_field(WorkspaceCwd, 'scripts.changelog:validate', ProperChangelogVa gen_enforced_field(WorkspaceCwd, 'scripts.doc', 'typedoc') :- \+ workspace_field(WorkspaceCwd, 'private', true). -% All workspace packages must have the same "doc:clean" script. -gen_enforced_field(WorkspaceCwd, 'scripts.doc:clean', 'rimraf docs') :- - \+ workspace_field(WorkspaceCwd, 'private', true). - % All workspace packages must have the same "test" script. gen_enforced_field(WorkspaceCwd, 'scripts.test', 'jest') :- \+ workspace_field(WorkspaceCwd, 'private', true). diff --git a/package.json b/package.json index 687680a8f0..143f89ba88 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,6 @@ "build:watch": "yarn run build --watch", "changelog:validate": "yarn workspaces foreach --parallel --interlaced --verbose run changelog:validate", "doc": "yarn workspaces foreach --parallel --interlaced --verbose run doc", - "doc:clean": "yarn workspaces foreach --parallel --interlaced --verbose run doc:clean", "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints", "lint:eslint": "eslint . --cache --ext js,ts", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix", diff --git a/packages/address-book-controller/package.json b/packages/address-book-controller/package.json index c2e5311485..0ea8b21d2f 100644 --- a/packages/address-book-controller/package.json +++ b/packages/address-book-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/address-book-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index a68a791ebe..c01bb8cfb2 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/announcement-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index 1920567cf9..9fb8f8a02a 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/approval-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index d00ef47024..77a9c4c158 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/assets-controllers", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index ede1b346ee..35798af656 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/base-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 606d1af2da..ca06d828f9 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/composable-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index c2dd2b522b..285d8ed0be 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/controller-utils", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/ens-controller/package.json b/packages/ens-controller/package.json index d9ee3a725c..17a72328b8 100644 --- a/packages/ens-controller/package.json +++ b/packages/ens-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/ens-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 4ca4284f0b..61987c68c6 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/gas-fee-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 1d01a6b844..38ba7242f8 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/keyring-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 5bcf16e5a6..132c8fbb71 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/message-manager", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index ed0f51f416..eb59107172 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/network-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index 07055bc2a0..5fa7f2f03a 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/notification-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 34483d26c8..e1b8bcc243 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/permission-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/phishing-controller/package.json b/packages/phishing-controller/package.json index 3897d001f0..0b17cb9239 100644 --- a/packages/phishing-controller/package.json +++ b/packages/phishing-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/phishing-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/preferences-controller/package.json b/packages/preferences-controller/package.json index bb5145710f..78fa216ab5 100644 --- a/packages/preferences-controller/package.json +++ b/packages/preferences-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/preferences-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index 37ab133e83..baf1724b32 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/rate-limit-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index ac3e052d72..b472f31b85 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/subject-metadata-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 15b47e62b9..e411bef0eb 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -23,7 +23,6 @@ "scripts": { "changelog:validate": "../../scripts/validate-changelog.sh @metamask/transaction-controller", "doc": "typedoc", - "doc:clean": "rimraf docs", "test": "jest", "test:watch": "jest --watch" }, From 3bf612091194a0b42807a87ce8fac2e038b7d171 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 11 Nov 2022 12:45:22 -0700 Subject: [PATCH 112/115] Better align scripts to module template --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 143f89ba88..a7c577686b 100644 --- a/package.json +++ b/package.json @@ -12,10 +12,10 @@ ], "scripts": { "build": "tsc --build tsconfig.build.json --verbose", - "build:clean": "rimraf './**/*.tsbuildinfo' './dist'", + "build:clean": "rimraf dist '**/*.tsbuildinfo' && yarn build", "build:watch": "yarn run build --watch", + "build:docs": "yarn workspaces foreach --parallel --interlaced --verbose run doc", "changelog:validate": "yarn workspaces foreach --parallel --interlaced --verbose run changelog:validate", - "doc": "yarn workspaces foreach --parallel --interlaced --verbose run doc", "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints", "lint:eslint": "eslint . --cache --ext js,ts", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix", From 3a3b749afda9bcde4c607d9a859783dd1e271bde Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 11 Nov 2022 12:47:19 -0700 Subject: [PATCH 113/115] Fix lint --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a7c577686b..eac54229a4 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,8 @@ "scripts": { "build": "tsc --build tsconfig.build.json --verbose", "build:clean": "rimraf dist '**/*.tsbuildinfo' && yarn build", - "build:watch": "yarn run build --watch", "build:docs": "yarn workspaces foreach --parallel --interlaced --verbose run doc", + "build:watch": "yarn run build --watch", "changelog:validate": "yarn workspaces foreach --parallel --interlaced --verbose run changelog:validate", "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints", "lint:eslint": "eslint . --cache --ext js,ts", From 0b957f89978edfa7b40483a557526a19ffca79a0 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 11 Nov 2022 13:30:49 -0700 Subject: [PATCH 114/115] Rename doc to build:docs for each package too --- constraints.pro | 8 ++++---- package.json | 2 +- packages/address-book-controller/package.json | 2 +- packages/announcement-controller/package.json | 2 +- packages/approval-controller/package.json | 2 +- packages/assets-controllers/package.json | 2 +- packages/base-controller/package.json | 2 +- packages/composable-controller/package.json | 2 +- packages/controller-utils/package.json | 2 +- packages/ens-controller/package.json | 2 +- packages/gas-fee-controller/package.json | 2 +- packages/keyring-controller/package.json | 2 +- packages/message-manager/package.json | 2 +- packages/network-controller/package.json | 2 +- packages/notification-controller/package.json | 2 +- packages/permission-controller/package.json | 2 +- packages/phishing-controller/package.json | 2 +- packages/preferences-controller/package.json | 2 +- packages/rate-limit-controller/package.json | 2 +- packages/subject-metadata-controller/package.json | 2 +- packages/transaction-controller/package.json | 2 +- 21 files changed, 24 insertions(+), 24 deletions(-) diff --git a/constraints.pro b/constraints.pro index 14feddc22f..3e20e004c8 100644 --- a/constraints.pro +++ b/constraints.pro @@ -181,6 +181,10 @@ gen_enforced_field(WorkspaceCwd, 'files', ['dist/']) :- gen_enforced_field(WorkspaceCwd, 'files', null) :- workspace_field(WorkspaceCwd, 'private', true). +% All workspace packages must have the same "build:docs" script. +gen_enforced_field(WorkspaceCwd, 'scripts.build:docs', 'typedoc') :- + \+ workspace_field(WorkspaceCwd, 'private', true). + % The "changelog:validate" script for each package must follow a specific % format. gen_enforced_field(WorkspaceCwd, 'scripts.changelog:validate', ProperChangelogValidationScript) :- @@ -188,10 +192,6 @@ gen_enforced_field(WorkspaceCwd, 'scripts.changelog:validate', ProperChangelogVa workspace_package_name(WorkspaceCwd, WorkspacePackageName), atomic_list_concat(['../../scripts/validate-changelog.sh ', WorkspacePackageName], ProperChangelogValidationScript). -% All workspace packages must have the same "doc" script. -gen_enforced_field(WorkspaceCwd, 'scripts.doc', 'typedoc') :- - \+ workspace_field(WorkspaceCwd, 'private', true). - % All workspace packages must have the same "test" script. gen_enforced_field(WorkspaceCwd, 'scripts.test', 'jest') :- \+ workspace_field(WorkspaceCwd, 'private', true). diff --git a/package.json b/package.json index eac54229a4..534824c278 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "scripts": { "build": "tsc --build tsconfig.build.json --verbose", "build:clean": "rimraf dist '**/*.tsbuildinfo' && yarn build", - "build:docs": "yarn workspaces foreach --parallel --interlaced --verbose run doc", + "build:docs": "yarn workspaces foreach --parallel --interlaced --verbose run build:docs", "build:watch": "yarn run build --watch", "changelog:validate": "yarn workspaces foreach --parallel --interlaced --verbose run changelog:validate", "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints", diff --git a/packages/address-book-controller/package.json b/packages/address-book-controller/package.json index 0ea8b21d2f..169e0a6f3d 100644 --- a/packages/address-book-controller/package.json +++ b/packages/address-book-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/address-book-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index c01bb8cfb2..695ccea1a1 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/announcement-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index 9fb8f8a02a..2526cd2e8e 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/approval-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 77a9c4c158..0d4db1c52a 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/assets-controllers", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index 35798af656..db02c2c365 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/base-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index ca06d828f9..20c0e57699 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/composable-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 285d8ed0be..8594283223 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/controller-utils", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/ens-controller/package.json b/packages/ens-controller/package.json index 17a72328b8..20731fb348 100644 --- a/packages/ens-controller/package.json +++ b/packages/ens-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/ens-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index 61987c68c6..fdc3839819 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/gas-fee-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 38ba7242f8..d636d7b6d4 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/keyring-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 132c8fbb71..523a630493 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/message-manager", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index eb59107172..61555bfbea 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/network-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index 5fa7f2f03a..7344098c47 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/notification-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index e1b8bcc243..26bf7584ce 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/permission-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/phishing-controller/package.json b/packages/phishing-controller/package.json index 0b17cb9239..b4d4ff6996 100644 --- a/packages/phishing-controller/package.json +++ b/packages/phishing-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/phishing-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/preferences-controller/package.json b/packages/preferences-controller/package.json index 78fa216ab5..1576e43289 100644 --- a/packages/preferences-controller/package.json +++ b/packages/preferences-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/preferences-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index baf1724b32..d752020328 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/rate-limit-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/subject-metadata-controller/package.json b/packages/subject-metadata-controller/package.json index b472f31b85..a128681099 100644 --- a/packages/subject-metadata-controller/package.json +++ b/packages/subject-metadata-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/subject-metadata-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index e411bef0eb..22074b11c0 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -21,8 +21,8 @@ "dist/" ], "scripts": { + "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/transaction-controller", - "doc": "typedoc", "test": "jest", "test:watch": "jest --watch" }, From b7c1fbe5302a9e5ab9ec6da416dd442c49b13575 Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Fri, 11 Nov 2022 13:33:15 -0700 Subject: [PATCH 115/115] No need to install node for npm-publish jobs --- .github/workflows/publish-release.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 17d3ab6847..4dad7bc993 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -36,11 +36,6 @@ jobs: - uses: actions/checkout@v3 with: ref: ${{ github.sha }} - - name: Setup Node - uses: actions/setup-node@v3 - with: - node-version-file: '.nvmrc' - cache: yarn - uses: actions/cache@v3 with: path: | @@ -61,11 +56,6 @@ jobs: - uses: actions/checkout@v3 with: ref: ${{ github.sha }} - - name: Setup Node - uses: actions/setup-node@v3 - with: - node-version-file: '.nvmrc' - cache: yarn - uses: actions/cache@v3 with: path: |